diff --git a/samples/README.md b/samples/README.md index 9e2a53a1da4..0458415e615 100644 --- a/samples/README.md +++ b/samples/README.md @@ -1,38 +1 @@ -# Samples - -This directory contains a set of samples demonstrating how one can work with Kotlin/Native. The samples can be -built using Gradle build tool. See `README.md` in sample directories to learn more about specific samples and -the building process. - - * `androidNativeActivity` - Android Native Activity rendering 3D graphics using OpenGLES - * `calculator` - iOS Swift application, using Kotlin/Native code compiled into the framework - * `cocoapods` - A Kotlin/Native application using the `AFNetworking` library from CocoaPods. - * `csvparser` - simple CSV file parser and analyzer - * `echoServer` - TCP/IP echo server - * `gitchurn` - program interoperating with `libgit2` for GIT repository analysis - * `gtk` - GTK3 interoperability example - * `html5Canvas` - WebAssembly example - * `libcurl` - using of FTP/HTTP/HTTPS client library `libcurl` - * `nonBlockingEchoServer` - multi-client TCP/IP echo server using co-routines - * `objc` - AppKit Objective-C interoperability example for macOS - * `opengl` - OpenGL/GLUT teapot example - * `python_extension` - Python extension written in Kotlin/Native - * `tensorflow` - simple client for TensorFlow Machine Intelligence library - * `tetris` - Tetris game implementation (using SDL2 for rendering) - * `uikit` - UIKit Objective-C interoperability example for iOS - * `videoplayer` - SDL and FFMPEG-based video and audio player - * `win32` - trivial Win32 GUI application - * `workers` - example of using workers API - - -**Note**: If the samples are built from a source tree (not from a distribution archive) the compiler built from -the sources is used. So you must build the compiler and the necessary platform libraries by running -`./gradlew bundle` from the Kotlin/Native root directory before building samples (see -[README.md](https://github.com/JetBrains/kotlin-native/blob/master/README.md) for details). - -Alternatively you may remove a line `kotlin.native.home=<...>` from all `gradle.properties` files. -In this case the Gradle plugin downloads and uses a default compiler for this plugin version. - -One may also build all the samples with one command. To build them using Gradle run: - - ./gradlew buildAllSamples +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/androidNativeActivity/README.md b/samples/androidNativeActivity/README.md index 8ac2551781c..0458415e615 100644 --- a/samples/androidNativeActivity/README.md +++ b/samples/androidNativeActivity/README.md @@ -1,22 +1 @@ -# Android Native Activity - -This example shows how to build an Android Native Activity. Also, we provide an example -bridging mechanism for the Java APIs, callable from Native side. - -The example will render a textured dodecahedron using OpenGL ES library. It can be rotated with fingers. -Please make sure that Android SDK version 28 is installed, using Android SDK manager in Android Studio. -See https://developer.android.com/studio/index.html for more details on Android Studio or -`$ANDROID_HOME/tools/bin/sdkmanager "platforms;android-28" "build-tools;28.0.3"` from command line. -We use JniBridge to call vibration service on the Java side for short tremble on startup. - -To build use `ANDROID_HOME= ../gradlew assemble`. - -Run `$ANDROID_HOME/platform-tools/adb install -r build/outputs/apk/debug/androidNativeActivity-debug.apk` -to deploy the apk on the Android device or emulator. - -Note that "Emulated Performance - Graphics" in AVD manager must be set to "Software - GLES 2.0". - -Note: If you are importing project to IDEA for the first time, you might need to put `local.properties` file -with the following content: - - sdk.dir= +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/androidNativeActivity/build.gradle.kts b/samples/androidNativeActivity/build.gradle.kts deleted file mode 100644 index 44308ae2d40..00000000000 --- a/samples/androidNativeActivity/build.gradle.kts +++ /dev/null @@ -1,110 +0,0 @@ -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetPreset -import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType - -repositories { - google() - jcenter() - mavenCentral() - maven("https://dl.bintray.com/kotlin/kotlin-dev") - maven("https://dl.bintray.com/kotlin/kotlin-eap") -} - -plugins { - kotlin("multiplatform") - id("com.android.application") version("3.6.0") -} - -val appDir = buildDir.resolve("Polyhedron") -val libsDir = appDir.resolve("libs") -// Set to true to build only for the simulator. -val simulatorOnly = true - -val androidPresets = mapOf( - "arm32" to ("androidNativeArm32" to "$libsDir/armeabi-v7a"), - "arm64" to ("androidNativeArm64" to "$libsDir/arm64-v8a"), - "x86" to ("androidNativeX86" to "$libsDir/x86"), - "x64" to ("androidNativeX64" to "$libsDir/x86_64") -) - -android { - compileSdkVersion(28) - - defaultConfig { - applicationId = "com.jetbrains.konan_activity2" - minSdkVersion(9) - targetSdkVersion(28) - - ndk { - abiFilters("armeabi-v7a", "arm64-v8a", "x86", "x86_64") - } - } - - sourceSets { - val main by getting { - setRoot("src/x86Main") - jniLibs.srcDir(libsDir) - } - } -} - -kotlin { - androidPresets.forEach { (targetName, presetInfo) -> - val (presetName, _) = presetInfo - val preset = kotlin.presets[presetName] as KotlinNativeTargetPreset - targetFromPreset(preset, targetName) { - binaries { - executable { - entryPoint = "sample.androidnative.main" - } - } - compilations["main"].cinterops { - val bmpformat by creating - } - } - } - - android() - - sourceSets { - val x86Main by getting - if (!simulatorOnly) { - val x64Main by getting - val arm32Main by getting - val arm64Main by getting - arm32Main.dependsOn(x86Main) - arm64Main.dependsOn(x86Main) - x64Main.dependsOn(x86Main) - } - } -} - -// Disable generating Kotlin metadata. -tasks.compileKotlinMetadata { - enabled = false -} - -afterEvaluate { - androidPresets.forEach { (targetName, presetInfo) -> - val target = kotlin.targets[targetName] as KotlinNativeTarget - val (_, libDir) = presetInfo - - NativeBuildType.values().forEach { - val executable = target.binaries.getExecutable(it) - val linkTask = executable.linkTask - val binaryFile = executable.outputFile - - linkTask.doLast { - copy { - from(binaryFile) - into(libDir) - rename { "libpoly.so" } - } - } - - tasks.preBuild { - dependsOn(linkTask) - } - } - } -} diff --git a/samples/androidNativeActivity/build.sh b/samples/androidNativeActivity/build.sh deleted file mode 100755 index a26f890f026..00000000000 --- a/samples/androidNativeActivity/build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd ) - -$DIR/../gradlew -p $DIR assemble diff --git a/samples/androidNativeActivity/gradle.properties b/samples/androidNativeActivity/gradle.properties deleted file mode 100644 index 6aec5a1bc10..00000000000 --- a/samples/androidNativeActivity/gradle.properties +++ /dev/null @@ -1,15 +0,0 @@ -kotlin.code.style=official - -# Run parallel builds in Gradle: -org.gradle.parallel=true -org.gradle.workers.max=4 - -# Pin Kotlin version: -# CHANGE_VERSION_WITH_RELEASE -kotlin_version=1.4.30 - -# Use custom Kotlin/Native home: -kotlin.native.home=../../dist - -# Increase memory for in-process compiler execution. -org.gradle.jvmargs=-Xmx3g diff --git a/samples/androidNativeActivity/gradle/wrapper/gradle-wrapper.jar b/samples/androidNativeActivity/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c023e..00000000000 Binary files a/samples/androidNativeActivity/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/samples/androidNativeActivity/gradle/wrapper/gradle-wrapper.properties b/samples/androidNativeActivity/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index be52383ef49..00000000000 --- a/samples/androidNativeActivity/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/samples/androidNativeActivity/gradlew b/samples/androidNativeActivity/gradlew deleted file mode 100755 index 4f906e0c811..00000000000 --- a/samples/androidNativeActivity/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/samples/androidNativeActivity/gradlew.bat b/samples/androidNativeActivity/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/samples/androidNativeActivity/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/samples/androidNativeActivity/settings.gradle.kts b/samples/androidNativeActivity/settings.gradle.kts deleted file mode 100644 index 1e84ed7b3ec..00000000000 --- a/samples/androidNativeActivity/settings.gradle.kts +++ /dev/null @@ -1,22 +0,0 @@ -pluginManagement { - val kotlin_version: String by settings - resolutionStrategy { - eachPlugin { - if (requested.id.id == "org.jetbrains.kotlin.multiplatform") { - useModule("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") - } - if (requested.id.id == "com.android.application") { - useModule("com.android.tools.build:gradle:${requested.version}") - } - } - } - - repositories { - gradlePluginPortal() - google() - jcenter() - mavenCentral() - maven("https://dl.bintray.com/kotlin/kotlin-dev") - maven("https://dl.bintray.com/kotlin/kotlin-eap") - } -} diff --git a/samples/androidNativeActivity/src/nativeInterop/cinterop/bmpformat.def b/samples/androidNativeActivity/src/nativeInterop/cinterop/bmpformat.def deleted file mode 100644 index 2d661b1bcf4..00000000000 --- a/samples/androidNativeActivity/src/nativeInterop/cinterop/bmpformat.def +++ /dev/null @@ -1,16 +0,0 @@ -package = sample.androidnative.bmpformat - ---- -#include - -typedef struct __attribute__((packed)) { - uint16_t magic; - uint32_t size; - uint32_t zero; - uint8_t padding1[8]; - int32_t width; - int32_t height; - uint8_t padding2[2]; - uint16_t bits; - uint8_t padding3[24]; -} BMPHeader; diff --git a/samples/androidNativeActivity/src/x86Main/AndroidManifest.xml b/samples/androidNativeActivity/src/x86Main/AndroidManifest.xml deleted file mode 100644 index 2b7d60ee29b..00000000000 --- a/samples/androidNativeActivity/src/x86Main/AndroidManifest.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/androidNativeActivity/src/x86Main/assets/kotlin_logo.bmp b/samples/androidNativeActivity/src/x86Main/assets/kotlin_logo.bmp deleted file mode 100644 index 3311764c70d..00000000000 Binary files a/samples/androidNativeActivity/src/x86Main/assets/kotlin_logo.bmp and /dev/null differ diff --git a/samples/androidNativeActivity/src/x86Main/kotlin/BMPHeader.kt b/samples/androidNativeActivity/src/x86Main/kotlin/BMPHeader.kt deleted file mode 100644 index 34ae36f3e24..00000000000 --- a/samples/androidNativeActivity/src/x86Main/kotlin/BMPHeader.kt +++ /dev/null @@ -1,7 +0,0 @@ -package sample.androidnative - -import kotlinx.cinterop.* -import sample.androidnative.bmpformat.BMPHeader - -val BMPHeader.data - get() = (ptr.reinterpret() + sizeOf()) as CArrayPointer diff --git a/samples/androidNativeActivity/src/x86Main/kotlin/Disposable.kt b/samples/androidNativeActivity/src/x86Main/kotlin/Disposable.kt deleted file mode 100644 index b1076bde043..00000000000 --- a/samples/androidNativeActivity/src/x86Main/kotlin/Disposable.kt +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.androidnative - -import kotlinx.cinterop.* - -/** - * Disposable class manages and owns all its native resources. It allocates some resources - * during construction and may allocate some additional resources during operation. - * It must free all its resource once [dispose] is invoked. "Disposed" is a final state of the disposable - * class. It is not supposed to be used after being disposed. - */ -interface Disposable { - /** - * Disposes all native resources owned by this class. This function must be invoked - * exactly once as the last operation on the corresponding class. - */ - fun dispose() -} - -/** - * Helper class to implement [Disposable] interface. It contains an [arena] for native - * memory allocations and a number of helper methods to simplify management of other - * kinds of native resources. - * - * It is important to wrap all potentially exception-throwing code in the class constructor - * into [tryConstruct] invocation, because, when object construction fails with exception, - * it ensures that all the resource that were allocated so far will get freed. - */ -abstract class DisposableContainer : Disposable { - val arena = Arena() - - override fun dispose() { - arena.clear() - } - - inline fun tryConstruct(init: () -> T): T = - try { init() } - catch (e: Throwable) { - dispose() - throw e - } - - inline fun disposable( - message: String = "disposable", - create: () -> T?, - crossinline dispose: (T) -> Unit - ): T = - tryConstruct { - create()?.also { - arena.defer { dispose(it) } - } ?: throw Error(message) - } - - inline fun disposable(create: () -> T): T = - disposable( - create = create, - dispose = { it.dispose() }) -} diff --git a/samples/androidNativeActivity/src/x86Main/kotlin/Engine.kt b/samples/androidNativeActivity/src/x86Main/kotlin/Engine.kt deleted file mode 100644 index e082bb980d7..00000000000 --- a/samples/androidNativeActivity/src/x86Main/kotlin/Engine.kt +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.androidnative - -import kotlinx.cinterop.* -import platform.android.* -import platform.posix.* -import platform.gles3.* -import platform.linux.* - -fun logError(message: String) { - __android_log_write(ANDROID_LOG_ERROR.convert(), "KonanActivity", message) -} - -fun logInfo(message: String) { - __android_log_write(ANDROID_LOG_INFO.convert(), "KonanActivity", message) -} - -private fun getUnixError() = strerror(posix_errno())!!.toKString() - -const val LOOPER_ID_INPUT = 2 - -inline fun CPointer<*>?.dereferenceAs(): T = this!!.reinterpret().pointed - -class Engine(val state: NativeActivityState) : DisposableContainer() { - private val renderer = Renderer(this, state.activity!!.pointed, state.savedState) - private var queue: CPointer? = null - private var rendererState: COpaquePointer? = null - - private var currentPoint = Vector2.Zero - private var startPoint = Vector2.Zero - private var startTime = 0.0f - private var animationEndTime = 0.0f - private var velocity = Vector2.Zero - private var acceleration = Vector2.Zero - - private var needRedraw = true - private var animating = false - private val pointerSize = CPointerVar.size - - private val now = arena.alloc() - private val eventPointer = arena.alloc() - private val inputEvent = arena.alloc>() - - fun mainLoop() { - callToManagedAPI() - - val fd = arena.alloc() - while (true) { - // Process events. - eventLoop@ while (true) { - val id = ALooper_pollAll(if (needRedraw || animating) 0 else -1, fd.ptr, null, null) - if (id < 0) break@eventLoop - when (id) { - LOOPER_ID_SYS -> if (!processSysEvent(fd)) return // An error occured. - LOOPER_ID_INPUT -> processUserInput() - else -> logError("Unprocessed event: $id") - } - } - when { - animating -> { - val elapsed = getTime() - startTime - if (elapsed >= animationEndTime) { - animating = false - } else { - move(startPoint + velocity * elapsed + acceleration * (elapsed * elapsed * 0.5f)) - renderer.draw() - } - } - - needRedraw -> renderer.draw() - } - } - } - - override fun dispose() { - renderer.destroy() - super.dispose() - } - - private val jniBrigde = JniBridge(state.activity!!.pointed.vm!!) - - private fun callToManagedAPI() = jniBrigde.withLocalFrame { - // Actually, this is a context pointer. - val context = JniObject(state.activity!!.pointed.clazz!!) - - val contextClass = FindClass("android/content/Context") - val getSystemServiceMethod = GetMethodID( - contextClass, "getSystemService", "(Ljava/lang/String;)Ljava/lang/Object;")!! - val vibrator = CallObjectMethod(context, getSystemServiceMethod, "vibrator") - if (vibrator != null) { - val vibratorClass = FindClass("android/os/Vibrator") - val vibrateMethod = GetMethodID(vibratorClass, "vibrate", "(J)V")!! - CallVoidMethod(vibrator, vibrateMethod, 500L) - } - } - - private fun processSysEvent(fd: IntVar): Boolean { - val readBytes = read(fd.value, eventPointer.ptr, pointerSize.convert()).toLong() - if (readBytes != pointerSize.toLong()) { - logError("Failure reading event, $readBytes read: ${getUnixError()}") - return true - } - try { - val event = eventPointer.value.dereferenceAs() - println("got ${event.eventKind}") - when (event.eventKind) { - NativeActivityEventKind.START -> { - logInfo("Activity started") - renderer.start() - } - - NativeActivityEventKind.STOP -> { - renderer.stop() - } - - NativeActivityEventKind.DESTROY -> { - rendererState?.let { - free(it) - rendererState = null - } - return false - } - - NativeActivityEventKind.NATIVE_WINDOW_CREATED -> { - val windowEvent = eventPointer.value.dereferenceAs() - if (!renderer.initialize(windowEvent.window!!)) - return false - logInfo("Renderer initialized") - renderer.draw() - } - - NativeActivityEventKind.INPUT_QUEUE_CREATED -> { - val queueEvent = eventPointer.value.dereferenceAs() - if (queue != null) - AInputQueue_detachLooper(queue) - queue = queueEvent.queue - AInputQueue_attachLooper(queue, state.looper, LOOPER_ID_INPUT, null, null) - } - - NativeActivityEventKind.INPUT_QUEUE_DESTROYED -> { - val queueEvent = eventPointer.value.dereferenceAs() - AInputQueue_detachLooper(queueEvent.queue) - } - - NativeActivityEventKind.NATIVE_WINDOW_DESTROYED -> { - renderer.destroy() - } - - NativeActivityEventKind.SAVE_INSTANCE_STATE -> { - val saveStateEvent = eventPointer.value.dereferenceAs() - val state = renderer.getState() - val dataSize = state.second - rendererState = realloc(rendererState, dataSize.convert()) - memcpy(rendererState, state.first, dataSize.convert()) - logInfo("Saving instance state to $rendererState: $dataSize bytes") - saveStateEvent.savedState = rendererState - saveStateEvent.savedStateSize = dataSize.convert() - } - } - } finally { - notifySysEventProcessed() - } - return true - } - - private fun getTime(): Float { - clock_gettime(CLOCK_MONOTONIC, now.ptr) - return now.tv_sec + now.tv_nsec / 1_000_000_000.0f - } - - private fun getEventPoint(event: CPointer?, i: Int) = - Vector2(AMotionEvent_getRawX(event, i.convert()), AMotionEvent_getRawY(event, i.convert())) - - private fun getEventTime(event: CPointer?) = - AMotionEvent_getEventTime(event) / 1_000_000_000.0f - - private fun processUserInput(): Unit { - if (AInputQueue_getEvent(queue, inputEvent.ptr) < 0) { - logError("Failure reading input event") - return - } - val event = inputEvent.value - val eventType = AInputEvent_getType(event) - if (eventType.toUInt() == AINPUT_EVENT_TYPE_MOTION) { - val action = AKeyEvent_getAction(event).toUInt() and AMOTION_EVENT_ACTION_MASK - when (action) { - AMOTION_EVENT_ACTION_DOWN -> { - animating = false - currentPoint = getEventPoint(event, 0) - startTime = getEventTime(event) - startPoint = currentPoint - } - - AMOTION_EVENT_ACTION_UP -> { - val endPoint = getEventPoint(event, 0) - val endTime = getEventTime(event) - animating = true - velocity = (endPoint - startPoint) / (endTime - startTime + 1e-9f) - if (velocity.length > renderer.screen.length) - velocity = velocity * (renderer.screen.length / velocity.length) - acceleration = velocity.normalized() * (-renderer.screen.length * 0.5f) - animationEndTime = velocity.length / acceleration.length - startPoint = endPoint - startTime = endTime - move(endPoint) - } - - AMOTION_EVENT_ACTION_MOVE -> { - val numberOfPointers = AMotionEvent_getPointerCount(event).toInt() - for (i in 0 until numberOfPointers) - move(getEventPoint(event, i)) - } - } - } - AInputQueue_finishEvent(queue, event, 1) - } - - private fun move(newPoint: Vector2) { - renderer.rotateBy(newPoint - currentPoint) - currentPoint = newPoint - } -} diff --git a/samples/androidNativeActivity/src/x86Main/kotlin/JniBridge.kt b/samples/androidNativeActivity/src/x86Main/kotlin/JniBridge.kt deleted file mode 100644 index b8cc8d1b243..00000000000 --- a/samples/androidNativeActivity/src/x86Main/kotlin/JniBridge.kt +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.androidnative - -import kotlinx.cinterop.* -import platform.android.* - -data class JniClass(val jclass: jclass) -data class JniObject(val jobject: jobject) -data class JniMethod(val jmethod: jmethodID) - -fun asJniClass(jclass: jclass?) = - if (jclass != null) JniClass(jclass) else null - -fun asJniObject(jobject: jobject?) = - if (jobject != null) JniObject(jobject) else null - -fun asJniMethod(jmethodID: jmethodID?) = - if (jmethodID != null) JniMethod(jmethodID) else null - -class JniBridge(val vm: CPointer) { - private val vmFunctions: JNIInvokeInterface = vm.pointed.pointed!! - val jniEnv = memScoped { - val envStorage = alloc>() - if (vmFunctions.AttachCurrentThreadAsDaemon!!(vm, envStorage.ptr, null) != 0) - throw Error("Cannot attach thread to the VM") - envStorage.value!! - } - private val envFunctions: JNINativeInterface = jniEnv.pointed.pointed!! - - // JNI operations. - private val fNewStringUTF = envFunctions.NewStringUTF!! - private val fFindClass = envFunctions.FindClass!! - private val fGetMethodID = envFunctions.GetMethodID!! - private val fCallVoidMethodA = envFunctions.CallVoidMethodA!! - private val fCallObjectMethodA = envFunctions.CallObjectMethodA!! - private val fExceptionCheck = envFunctions.ExceptionCheck!! - private val fExceptionDescribe = envFunctions.ExceptionDescribe!! - private val fExceptionClear = envFunctions.ExceptionClear!! - val fPushLocalFrame = envFunctions.PushLocalFrame!! - val fPopLocalFrame = envFunctions.PopLocalFrame!! - - private fun check() { - if (fExceptionCheck(jniEnv) != 0.toUByte()) { - fExceptionDescribe(jniEnv) - fExceptionClear(jniEnv) - throw Error("JVM exception thrown") - } - } - - fun toJString(string: String) = memScoped { - val result = asJniObject(fNewStringUTF(jniEnv, string.cstr.ptr)) - check() - result - } - - fun toJValues(arguments: Array, scope: MemScope): CPointer? { - val result = scope.allocArray(arguments.size) - arguments.mapIndexed { index, it -> - when (it) { - null -> result[index].l = null - is JniObject -> result[index].l = it.jobject - is String -> result[index].l = toJString(it)?.jobject - is Int -> result[index].i = it - is Long -> result[index].j = it - else -> throw Error("Unsupported conversion for ${it::class.simpleName}") - } - } - return result - } - - fun FindClass(name: String) = memScoped { - val result = asJniClass(fFindClass(jniEnv, name.cstr.ptr)) - check() - result - } - - fun GetMethodID(clazz: JniClass?, name: String, signature: String) = memScoped { - val result = asJniMethod(fGetMethodID(jniEnv, clazz?.jclass, name.cstr.ptr, signature.cstr.ptr)) - check() - result - } - - fun CallVoidMethod(receiver: JniObject?, method: JniMethod, vararg arguments: Any?) = memScoped { - fCallVoidMethodA(jniEnv, receiver?.jobject, method.jmethod, - toJValues(arguments, this@memScoped)) - check() - } - - fun CallObjectMethod(receiver: JniObject?, method: JniMethod, vararg arguments: Any?) = memScoped { - val result = asJniObject(fCallObjectMethodA(jniEnv, receiver?.jobject, method.jmethod, - toJValues(arguments, this@memScoped))) - check() - result - } - - // Usually, use this - inline fun withLocalFrame(block: JniBridge.() -> T): T { - if (fPushLocalFrame(jniEnv, 0) < 0) - throw Error("Cannot push new local frame") - try { - return block() - } finally { - fPopLocalFrame(jniEnv, null) - } - } -} diff --git a/samples/androidNativeActivity/src/x86Main/kotlin/Polyhedra.kt b/samples/androidNativeActivity/src/x86Main/kotlin/Polyhedra.kt deleted file mode 100644 index 1a16c1cea46..00000000000 --- a/samples/androidNativeActivity/src/x86Main/kotlin/Polyhedra.kt +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.androidnative - -const val Zero = 0.0f -const val DodeA = 0.93417235896f // (Sqrt(5) + 1) / (2 * Sqrt(3)) -const val DodeB = 0.35682208977f // (Sqrt(5) - 1) / (2 * Sqrt(3)) -const val DodeC = 0.57735026919f // 1 / Sqrt(3) -const val IcosA = 0.52573111212f // Sqrt(5 - Sqrt(5)) / Sqrt(10) -const val IcosB = 0.85065080835f // Sqrt(5 + Sqrt(5)) / Sqrt(10) - -enum class RegularPolyhedra(val vertices: Array, val faces: Array) { - Dodecahedron( - arrayOf( - Vector3(-DodeA, Zero, DodeB), Vector3(-DodeA, Zero, -DodeB), Vector3(DodeA, Zero, -DodeB), - Vector3(DodeA, Zero, DodeB), Vector3(DodeB, -DodeA, Zero), Vector3(-DodeB, -DodeA, Zero), - Vector3(-DodeB, DodeA, Zero), Vector3(DodeB, DodeA, Zero), Vector3(Zero, DodeB, -DodeA), - Vector3(Zero, -DodeB, -DodeA), Vector3(Zero, -DodeB, DodeA), Vector3(Zero, DodeB, DodeA), - Vector3(-DodeC, -DodeC, DodeC), Vector3(-DodeC, -DodeC, -DodeC), Vector3(DodeC, -DodeC, -DodeC), - Vector3(DodeC, -DodeC, DodeC), Vector3(-DodeC, DodeC, DodeC), Vector3(-DodeC, DodeC, -DodeC), - Vector3(DodeC, DodeC, -DodeC), Vector3(DodeC, DodeC, DodeC) - ), - arrayOf( - byteArrayOf(0, 12, 10, 11, 16), byteArrayOf(1, 17, 8, 9, 13), byteArrayOf(2, 14, 9, 8, 18), - byteArrayOf(3, 19, 11, 10, 15), byteArrayOf(4, 14, 2, 3, 15), byteArrayOf(5, 12, 0, 1, 13), - byteArrayOf(6, 17, 1, 0, 16), byteArrayOf(7, 19, 3, 2, 18), byteArrayOf(8, 17, 6, 7, 18), - byteArrayOf(9, 14, 4, 5, 13), byteArrayOf(10, 12, 5, 4, 15), byteArrayOf(11, 19, 7, 6, 16) - )), - Icosahedron( - arrayOf( - Vector3(-IcosA, Zero, IcosB), Vector3(IcosA, Zero, IcosB), Vector3(-IcosA, Zero, -IcosB), - Vector3(IcosA, Zero, -IcosB), Vector3(Zero, IcosB, IcosA), Vector3(Zero, IcosB, -IcosA), - Vector3(Zero, -IcosB, IcosA), Vector3(Zero, -IcosB, -IcosA), Vector3(IcosB, IcosA, Zero), - Vector3(-IcosB, IcosA, Zero), Vector3(IcosB, -IcosA, Zero), Vector3(-IcosB, -IcosA, Zero) - ), - arrayOf( - byteArrayOf(1, 4, 0), byteArrayOf(4, 9, 0), byteArrayOf(4, 5, 9), byteArrayOf(8, 5, 4), - byteArrayOf(1, 8, 4), byteArrayOf(1, 10, 8), byteArrayOf(10, 3, 8), byteArrayOf(8, 3, 5), - byteArrayOf(3, 2, 5), byteArrayOf(3, 7, 2), byteArrayOf(3, 10, 7), byteArrayOf(10, 6, 7), - byteArrayOf(6, 11, 7), byteArrayOf(6, 0, 11), byteArrayOf(6, 1, 0), byteArrayOf(10, 1, 6), - byteArrayOf(11, 0, 9), byteArrayOf(2, 11, 9), byteArrayOf(5, 2, 9), byteArrayOf(11, 2, 7) - ) - ); - - val verticesPerFace get() = faces[0].size -} \ No newline at end of file diff --git a/samples/androidNativeActivity/src/x86Main/kotlin/Renderer.kt b/samples/androidNativeActivity/src/x86Main/kotlin/Renderer.kt deleted file mode 100644 index cbc485783bf..00000000000 --- a/samples/androidNativeActivity/src/x86Main/kotlin/Renderer.kt +++ /dev/null @@ -1,302 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.androidnative - -import kotlinx.cinterop.* -import platform.android.* -import platform.egl.* -import platform.posix.* -import platform.gles.* -import sample.androidnative.bmpformat.BMPHeader - -class Renderer(val container: DisposableContainer, - val nativeActivity: ANativeActivity, - val savedMatrix: COpaquePointer?) { - private var display: EGLDisplay? = null - private var surface: EGLSurface? = null - private var context: EGLContext? = null - private var initialized = false - - var screen = Vector2.Zero - - private val matrix = container.arena.allocArray(16) - - init { - if (savedMatrix != null) { - memcpy(matrix, savedMatrix, 16 * 4) - } else { - for (i in 0..3) - for (j in 0..3) - matrix[i * 4 + j] = if (i == j) 1.0f else 0.0f - } - } - - fun initialize(window: CPointer): Boolean { - with(container.arena) { - logInfo("Initializing context..") - display = eglGetDisplay(null) - if (display == null) { - logError("eglGetDisplay() returned error ${eglGetError()}") - return false - } - if (eglInitialize(display, null, null) == 0u) { - logError("eglInitialize() returned error ${eglGetError()}") - return false - } - - val attribs = cValuesOf( - EGL_SURFACE_TYPE, EGL_WINDOW_BIT, - EGL_BLUE_SIZE, 8, - EGL_GREEN_SIZE, 8, - EGL_RED_SIZE, 8, - EGL_NONE - ) - val numConfigs = alloc() - if (eglChooseConfig(display, attribs, null, 0, numConfigs.ptr) == 0u) { - throw Error("eglChooseConfig()#1 returned error ${eglGetError()}") - } - val supportedConfigs = allocArray(numConfigs.value) - if (eglChooseConfig(display, attribs, supportedConfigs, numConfigs.value, numConfigs.ptr) == 0u) { - throw Error("eglChooseConfig()#2 returned error ${eglGetError()}") - } - var configIndex = 0 - while (configIndex < numConfigs.value) { - val r = alloc() - val g = alloc() - val b = alloc() - val d = alloc() - if (eglGetConfigAttrib(display, supportedConfigs[configIndex], EGL_RED_SIZE, r.ptr) != 0u && - eglGetConfigAttrib (display, supportedConfigs[configIndex], EGL_GREEN_SIZE, g.ptr) != 0u && - eglGetConfigAttrib(display, supportedConfigs[configIndex], EGL_BLUE_SIZE, b.ptr) != 0u && - eglGetConfigAttrib(display, supportedConfigs[configIndex], EGL_DEPTH_SIZE, d.ptr) != 0u && - r.value == 8 && g.value == 8 && b.value == 8 && d.value == 0) break - ++configIndex - } - if (configIndex >= numConfigs.value) - configIndex = 0 - - surface = eglCreateWindowSurface(display, supportedConfigs[configIndex], window, null) - if (surface == null) { - throw Error("eglCreateWindowSurface() returned error ${eglGetError()}") - } - - context = eglCreateContext(display, supportedConfigs[configIndex], null, null) - if (context == null) { - throw Error("eglCreateContext() returned error ${eglGetError()}") - } - - if (eglMakeCurrent(display, surface, surface, context) == 0u) { - throw Error("eglMakeCurrent() returned error ${eglGetError()}") - } - - val width = alloc() - val height = alloc() - if (eglQuerySurface(display, surface, EGL_WIDTH, width.ptr) == 0u - || eglQuerySurface (display, surface, EGL_HEIGHT, height.ptr) == 0u) { - throw Error("eglQuerySurface() returned error ${eglGetError()}") - } - - this@Renderer.screen = Vector2(width.value.toFloat(), height.value.toFloat()) - - glDisable(GL_DITHER) - glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST) - glClearColor(0.0f, 0.0f, 0.0f, 0.0f) - glEnable(GL_CULL_FACE) - glShadeModel(GL_SMOOTH) - glEnable(GL_DEPTH_TEST) - - glViewport(0, 0, width.value, height.value) - - val ratio = width.value.toFloat() / height.value - glMatrixMode(GL_PROJECTION) - checkErrors() - glLoadIdentity() - glFrustumf(-ratio, ratio, -1.0f, 1.0f, 1.0f, 10.0f) - - glMatrixMode(GL_MODELVIEW) - checkErrors() - glTranslatef(0.0f, 0.0f, -2.0f) - glLightfv(GL_LIGHT0, GL_POSITION, cValuesOf(1.25f, 1.25f, -2.0f, 0.0f)) - glEnable(GL_LIGHTING) - glEnable(GL_LIGHT0) - glEnable(GL_TEXTURE_2D) - glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, cValuesOf(0.0f, 1.0f, 1.0f, 1.0f)) - glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, cValuesOf(0.3f, 0.3f, 0.3f, 1.0f)) - glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 30.0f) - - loadTexture("kotlin_logo.bmp") - - initialized = true - return true - } - } - - fun checkErrors() { - val error = glGetError() - if (error.toInt() != GL_NO_ERROR) - throw Error("OpenGL error 0x${error.toInt().toString(16)}") - } - - fun getState() = matrix to 16 * 4 - - fun rotateBy(vector: Vector2) { - if (!initialized) return - - val length = vector.length - if (length < 1e-9f) return - val angle = 180 * length / screen.length - val x = -vector.y / length - val y = -vector.x / length - - glPushMatrix() - glMatrixMode(GL_MODELVIEW) - checkErrors() - glLoadIdentity() - glRotatef(angle, x, y, 0.0f) - glMultMatrixf(matrix) - glGetFloatv(GL_MODELVIEW_MATRIX, matrix) - glPopMatrix() - } - - - private fun loadTexture(assetName: String): Unit = memScoped { - val asset = AAssetManager_open(nativeActivity.assetManager, assetName, AASSET_MODE_BUFFER.convert()) - ?: throw Error("Error opening asset $assetName") - println("loading texture $assetName") - try { - val length = AAsset_getLength(asset) - val buffer = allocArray(length) - if (AAsset_read(asset, buffer, length.convert()) != length.toInt()) { - throw Error("Error reading asset") - } - - with(buffer.reinterpret().pointed) { - if (magic != 0x4d42.toUShort() || zero != 0u || size != length.toUInt() || bits != 24.toUShort()) { - throw Error("Error parsing texture file") - } - val numberOfBytes = width * height * 3 - // Swap BGR in bitmap to RGB. - for (i in 0 until numberOfBytes step 3) { - val t = data[i] - data[i] = data[i + 2] - data[i + 2] = t - } - println("loaded texture ${width}x${height}") - glBindTexture(GL_TEXTURE_2D, 1) - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR) - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND.toFloat()) - glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, cValuesOf(1.0f, 1.0f, 1.0f, 1.0f)) - glPixelStorei(GL_UNPACK_ALIGNMENT, 1) - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data) - - } - } finally { - AAsset_close(asset) - } - } - - private val texturePoints = arrayOf( - Vector2(0.0f, 0.2f), Vector2(0.0f, 0.8f), Vector2(0.6f, 1.0f), Vector2(1.0f, 0.5f), Vector2(0.8f, 0.0f) - ) - - private val scale = 1.25f - - fun draw(): Unit { - if (!initialized) return - - glPushMatrix() - glMatrixMode(GL_MODELVIEW) - checkErrors() - - glMultMatrixf(matrix) - - glClear((GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT).toUInt()) - - glEnableClientState(GL_VERTEX_ARRAY) - glEnableClientState(GL_NORMAL_ARRAY) - glEnableClientState(GL_TEXTURE_COORD_ARRAY) - - val polygon = RegularPolyhedra.Dodecahedron - val vertices = mutableListOf() - val texCoords = mutableListOf() - val triangles = mutableListOf() - val normals = mutableListOf() - for (face in polygon.faces) { - val u = polygon.vertices[face[2].toInt()] - polygon.vertices[face[1].toInt()] - val v = polygon.vertices[face[0].toInt()] - polygon.vertices[face[1].toInt()] - val normal = u.crossProduct(v).normalized() - - val copiedFace = ByteArray(face.size) - for (j in face.indices) { - copiedFace[j] = (vertices.size / 4).toByte() - polygon.vertices[face[j].toInt()].copyCoordinatesTo(vertices) - vertices.add(scale) - normal.copyCoordinatesTo(normals) - texturePoints[j].copyCoordinatesTo(texCoords) - } - - for (j in 1..face.size - 2) { - triangles.add(copiedFace[0]) - triangles.add(copiedFace[j]) - triangles.add(copiedFace[j + 1]) - } - } - - memScoped { - glFrontFace(GL_CW) - glVertexPointer(4, GL_FLOAT, 0, vertices.toFloatArray().toCValues().ptr) - glTexCoordPointer(2, GL_FLOAT, 0, texCoords.toFloatArray().toCValues().ptr) - glNormalPointer(GL_FLOAT, 0, normals.toFloatArray().toCValues().ptr) - glDrawElements(GL_TRIANGLES, triangles.size, GL_UNSIGNED_BYTE, triangles.toByteArray().toCValues().ptr) - } - - glPopMatrix() - - if (eglSwapBuffers(display, surface) == 0u) { - val error = eglGetError() - if (error != EGL_BAD_SURFACE) - throw Error("eglSwapBuffers() returned error $error") - else { - if (eglMakeCurrent(display, surface, surface, context) == 0u) { - throw Error("Reinit eglMakeCurrent() returned error ${eglGetError()}") - } - if (eglSwapBuffers(display, surface) == 0u) - throw Error("Bad eglSwapBuffers() after surface reinit: ${eglGetError()}") - } - } - } - - fun start() { - logInfo("Starting renderer.") - if (initialized) { - if (eglMakeCurrent(display, surface, surface, context) == 0u) { - throw Error("eglMakeCurrent() returned error ${eglGetError()}") - } - } - } - - fun stop() { - logInfo("Stopping renderer..") - eglMakeCurrent(display, null, null, null) - } - - fun destroy() { - if (!initialized) return - - logInfo("Destroying renderer..") - eglMakeCurrent(display, null, null, null) - - context?.let { eglDestroyContext(display, it) } - surface?.let { eglDestroySurface(display, it) } - display?.let { eglTerminate(display) } - - display = null - surface = null - context = null - initialized = false - } -} diff --git a/samples/androidNativeActivity/src/x86Main/kotlin/Vectors.kt b/samples/androidNativeActivity/src/x86Main/kotlin/Vectors.kt deleted file mode 100644 index f86c077362c..00000000000 --- a/samples/androidNativeActivity/src/x86Main/kotlin/Vectors.kt +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.androidnative - -import kotlinx.cinterop.* -import platform.android.* -import platform.posix.* - -class Vector2(val x: Float, val y: Float) { - val length by lazy { sqrtf(x * x + y * y) } - - fun normalized(): Vector2 { - val len = length - return Vector2(x / len, y / len) - } - - fun copyCoordinatesTo(arr: MutableList) { - arr.add(x) - arr.add(y) - } - - operator fun minus(other: Vector2) = Vector2(x - other.x, y - other.y) - operator fun plus(other: Vector2) = Vector2(x + other.x, y + other.y) - operator fun times(other: Float) = Vector2(x * other, y * other) - operator fun div(other: Float) = Vector2(x / other, y / other) - - companion object { - val Zero = Vector2(0.0f, 0.0f) - } -} - -class Vector3(val x: Float, val y: Float, val z: Float) { - val length by lazy { sqrtf(x * x + y * y + z * z) } - - fun crossProduct(other: Vector3): Vector3 = - Vector3(y * other.z - z * other.y, z * other.x - x * other.z, x * other.y - y * other.x) - - fun normalized(): Vector3 { - val len = length - return Vector3(x / len, y / len, z / len) - } - - fun copyCoordinatesTo(arr: MutableList) { - arr.add(x) - arr.add(y) - arr.add(z) - } - - operator fun minus(other: Vector3) = Vector3(x - other.x, y - other.y, z - other.z) - operator fun plus(other: Vector3) = Vector3(x + other.x, y + other.y, z + other.z) -} - diff --git a/samples/androidNativeActivity/src/x86Main/kotlin/main.kt b/samples/androidNativeActivity/src/x86Main/kotlin/main.kt deleted file mode 100644 index dc558f08937..00000000000 --- a/samples/androidNativeActivity/src/x86Main/kotlin/main.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.androidnative - -import kotlinx.cinterop.* -import platform.android.* - -fun main() { - logInfo("Entering main().") - memScoped { - val state = alloc() - getNativeActivityState(state.ptr) - val engine = Engine(state) - try { - engine.mainLoop() - } finally { - engine.dispose() - } - } - kotlin.system.exitProcess(0) -} diff --git a/samples/androidNativeActivity/src/x86Main/res/mipmap-hdpi/konan_activity.png b/samples/androidNativeActivity/src/x86Main/res/mipmap-hdpi/konan_activity.png deleted file mode 100755 index deb3f79d059..00000000000 Binary files a/samples/androidNativeActivity/src/x86Main/res/mipmap-hdpi/konan_activity.png and /dev/null differ diff --git a/samples/androidNativeActivity/src/x86Main/res/mipmap-mdpi/konan_activity.png b/samples/androidNativeActivity/src/x86Main/res/mipmap-mdpi/konan_activity.png deleted file mode 100755 index 63a53c0b2f8..00000000000 Binary files a/samples/androidNativeActivity/src/x86Main/res/mipmap-mdpi/konan_activity.png and /dev/null differ diff --git a/samples/androidNativeActivity/src/x86Main/res/mipmap-xhdpi/konan_activity.png b/samples/androidNativeActivity/src/x86Main/res/mipmap-xhdpi/konan_activity.png deleted file mode 100755 index cb7cfc14d03..00000000000 Binary files a/samples/androidNativeActivity/src/x86Main/res/mipmap-xhdpi/konan_activity.png and /dev/null differ diff --git a/samples/androidNativeActivity/src/x86Main/res/mipmap-xxhdpi/konan_activity.png b/samples/androidNativeActivity/src/x86Main/res/mipmap-xxhdpi/konan_activity.png deleted file mode 100755 index 8d427824430..00000000000 Binary files a/samples/androidNativeActivity/src/x86Main/res/mipmap-xxhdpi/konan_activity.png and /dev/null differ diff --git a/samples/androidNativeActivity/src/x86Main/res/values/strings.xml b/samples/androidNativeActivity/src/x86Main/res/values/strings.xml deleted file mode 100644 index e1033450618..00000000000 --- a/samples/androidNativeActivity/src/x86Main/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - KonanActivity - diff --git a/samples/build.gradle.kts b/samples/build.gradle.kts deleted file mode 100644 index 8dad36331b5..00000000000 --- a/samples/build.gradle.kts +++ /dev/null @@ -1,80 +0,0 @@ -buildscript { - repositories { - mavenCentral() - maven("https://dl.bintray.com/kotlin/kotlin-dev") - maven("https://dl.bintray.com/kotlin/kotlin-eap") - - val kotlinCompilerRepo: String? by rootProject - kotlinCompilerRepo?.let { maven(it) } - } - - val kotlin_version: String by rootProject - dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") - } -} - -allprojects { - repositories { - mavenCentral() - maven("https://dl.bintray.com/kotlin/kotlin-dev") - maven("https://dl.bintray.com/kotlin/kotlin-eap") - - val kotlinCompilerRepo: String? by rootProject - kotlinCompilerRepo?.let { maven(it) } - } -} - -val hostOs = System.getProperty("os.name") -val isMacos = hostOs == "Mac OS X" -val isLinux = hostOs == "Linux" -val isWindows = hostOs.startsWith("Windows") - -val localRepo = rootProject.file("build/.m2-local") - -val clean by tasks.creating(Delete::class) { - delete(localRepo) -} - -val buildSh by tasks.creating(Exec::class) { - errorOutput = System.out - isIgnoreExitValue = true - workingDir = projectDir - enabled = !isWindows - if (isLinux || isMacos) { - commandLine = listOf(projectDir.resolve("build.sh").toString()) - } -} - -val buildSamplesWithPlatformLibs by tasks.creating { - dependsOn(":csvparser:assemble") - dependsOn(":curl:assemble") - dependsOn(":echoServer:assemble") - dependsOn(":globalState:assemble") - dependsOn(":html5Canvas:assemble") - dependsOn(":workers:assemble") - - if (isMacos || isLinux) { - dependsOn(":nonBlockingEchoServer:assemble") - dependsOn(":tensorflow:assemble") - } - - if (isMacos) { - dependsOn(":objc:assemble") - dependsOn(":opengl:assemble") - dependsOn(":uikit:assemble") - dependsOn(":coverage:assemble") - dependsOn(":watchos:assemble") - } - - if (isWindows) { - dependsOn(":win32:assemble") - } -} - -val buildAllSamples by tasks.creating { - subprojects.forEach { - dependsOn("${it.path}:assemble") - } - finalizedBy(buildSh) -} diff --git a/samples/build.sh b/samples/build.sh deleted file mode 100755 index 68e23e48676..00000000000 --- a/samples/build.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash -EXCLUDE=() -BUILD_SCRIPT="build.sh" - -function isExcluded() { - CHECKED="${1}" - for VALUE in $EXCLUDE; do - if [ "x$CHECKED" == "x$VALUE" ]; then - return 0 - fi - done - return -1 -} - -for SAMPLE_DIR in *; do - if [ -d "$SAMPLE_DIR" ] && [ -e "$SAMPLE_DIR/$BUILD_SCRIPT" ]; then - echo - echo "======================================================" - date - echo "Building a sample: $SAMPLE_DIR." - if ! isExcluded "$SAMPLE_DIR"; then - bash "$SAMPLE_DIR/$BUILD_SCRIPT" || (echo "Cannot build a sample: $SAMPLE_DIR. See log for details." && exit 1) - else - echo "The sample excluded." - fi - fi -done diff --git a/samples/calculator/.gitignore b/samples/calculator/.gitignore deleted file mode 100644 index 9bce6af399b..00000000000 --- a/samples/calculator/.gitignore +++ /dev/null @@ -1 +0,0 @@ -xcuserdata diff --git a/samples/calculator/README.md b/samples/calculator/README.md index 6b14b91f4cf..0458415e615 100644 --- a/samples/calculator/README.md +++ b/samples/calculator/README.md @@ -1,55 +1 @@ -# Calculator sample - -This example shows how to use Kotlin common module (located in [arithmeticParser](arithmeticParser/)) in different environments. -Currently for -* Android (see [androidApp](androidApp/)) -* iOS (see [iosApp](iosApp/)) -* plain JVM (cli) (see [cliApp](cliApp/)) - -## Common - -Common Kotlin module contains arithmetic expressions parser. - -## Android App -The common module may be used in an Android application. - -Please make sure that Android SDK version 28 is installed, using Android SDK manager in Android Studio. -See https://developer.android.com/studio/index.html for more details on Android Studio or -`$ANDROID_HOME/tools/bin/sdkmanager "platforms;android-28" "build-tools;28.0.3"` from command line. - -To build use `ANDROID_HOME= ../gradlew assemble`. - -Run `$ANDROID_HOME/platform-tools/adb install -r androidApp/build/outputs/apk/debug/androidApp-debug.apk` -to deploy the apk on the Android device or emulator. - -Note: If you are importing project to IDEA for the first time, you might need to put `local.properties` file -with the following content: - - sdk.dir= - -## iOS -The iOS project compiles Kotlin module to a framework (see [iosApp](iosApp/)). The framework can be easily included in an existing iOS project (e.g. written in Swift or Objective-C) - -To build and run the iOS sample do the following: - -1. Open `iosApp/calculator.xcodeproj` with Xcode. -2. Open the project's target through project navigator, go to tab 'General'. - In 'Identity' section change the bundle ID to the unique string in - reverse-DNS format. Then select the team in 'Signing' section. - - See the - [Xcode documentation](https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html#//apple_ref/doc/uid/TP40012582-CH28-SW2) - for more info. -3. Now build and run the application with Xcode. - -The iOS application is written in Swift. It uses Kotlin module as a library. -Kotlin module is built into Objective-C framework by invoking Gradle -from custom "Run Script" build phase, and this framework is imported into -the Xcode project. - -## Plain JVM -The common module can also be used in JVM application built by Kotlin/JVM compiler with Gradle. -To build and run it, go to [cliApp](cliApp/) directory and use -``` -../gradlew runProgram -``` +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/calculator/androidApp/build.gradle b/samples/calculator/androidApp/build.gradle deleted file mode 100644 index 211a555cb9a..00000000000 --- a/samples/calculator/androidApp/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -apply plugin: 'org.jetbrains.kotlin.multiplatform' -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android-extensions' - -android { - compileSdkVersion 28 - - defaultConfig { - applicationId 'org.konan.calculator' - minSdkVersion 21 - targetSdkVersion 28 - } -} - -dependencies { - api 'com.android.support:appcompat-v7:28.0.0' - api 'com.android.support.constraint:constraint-layout:1.1.3' - implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation project(':arithmeticParser') -} - -kotlin { - android() -} diff --git a/samples/calculator/androidApp/gradle.properties b/samples/calculator/androidApp/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/calculator/androidApp/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/calculator/androidApp/src/main/AndroidManifest.xml b/samples/calculator/androidApp/src/main/AndroidManifest.xml deleted file mode 100644 index a224235bfd7..00000000000 --- a/samples/calculator/androidApp/src/main/AndroidManifest.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/samples/calculator/androidApp/src/main/kotlin/MainActivity.kt b/samples/calculator/androidApp/src/main/kotlin/MainActivity.kt deleted file mode 100644 index b21f0de3060..00000000000 --- a/samples/calculator/androidApp/src/main/kotlin/MainActivity.kt +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.calculator.android - -import android.os.Bundle -import android.support.v7.app.AppCompatActivity -import android.widget.EditText -import android.widget.TextView -import sample.calculator.arithmeticparser.parseAndCompute - -class MainActivity : AppCompatActivity() { - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) - - val resultView = findViewById(R.id.computed_result) - - val input = findViewById(R.id.input) - input.setOnEditorActionListener { input, _, _ -> - val inputText = input.text.toString() - val result = parseAndCompute(inputText).expression - with(resultView) { - text = if (result != null) inputText + " = " + result.toString() else "Unable to parse $inputText" - } - true - } - } - -} \ No newline at end of file diff --git a/samples/calculator/androidApp/src/main/res/drawable-v24/ic_launcher_foreground.xml b/samples/calculator/androidApp/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index c7bd21dbd86..00000000000 --- a/samples/calculator/androidApp/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - diff --git a/samples/calculator/androidApp/src/main/res/drawable/ic_launcher_background.xml b/samples/calculator/androidApp/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index d5fccc538c1..00000000000 --- a/samples/calculator/androidApp/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/calculator/androidApp/src/main/res/layout/activity_main.xml b/samples/calculator/androidApp/src/main/res/layout/activity_main.xml deleted file mode 100644 index 73b2810335c..00000000000 --- a/samples/calculator/androidApp/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - diff --git a/samples/calculator/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/samples/calculator/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index eca70cfe52e..00000000000 --- a/samples/calculator/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/samples/calculator/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/samples/calculator/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index eca70cfe52e..00000000000 --- a/samples/calculator/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/samples/calculator/androidApp/src/main/res/mipmap-hdpi/ic_launcher.png b/samples/calculator/androidApp/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index a2f5908281d..00000000000 Binary files a/samples/calculator/androidApp/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/samples/calculator/androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.png b/samples/calculator/androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index 1b523998081..00000000000 Binary files a/samples/calculator/androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ diff --git a/samples/calculator/androidApp/src/main/res/mipmap-mdpi/ic_launcher.png b/samples/calculator/androidApp/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index ff10afd6e18..00000000000 Binary files a/samples/calculator/androidApp/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/samples/calculator/androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.png b/samples/calculator/androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 115a4c768a2..00000000000 Binary files a/samples/calculator/androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ diff --git a/samples/calculator/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.png b/samples/calculator/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index dcd3cd80833..00000000000 Binary files a/samples/calculator/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/samples/calculator/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/samples/calculator/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 459ca609d3a..00000000000 Binary files a/samples/calculator/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ diff --git a/samples/calculator/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.png b/samples/calculator/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 8ca12fe024b..00000000000 Binary files a/samples/calculator/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/samples/calculator/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/samples/calculator/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index 8e19b410a1b..00000000000 Binary files a/samples/calculator/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/samples/calculator/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/samples/calculator/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index b824ebdd48d..00000000000 Binary files a/samples/calculator/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/samples/calculator/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/samples/calculator/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index 4c19a13c239..00000000000 Binary files a/samples/calculator/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/samples/calculator/androidApp/src/main/res/values/colors.xml b/samples/calculator/androidApp/src/main/res/values/colors.xml deleted file mode 100644 index 3ab3e9cbce0..00000000000 --- a/samples/calculator/androidApp/src/main/res/values/colors.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - #3F51B5 - #303F9F - #FF4081 - diff --git a/samples/calculator/androidApp/src/main/res/values/strings.xml b/samples/calculator/androidApp/src/main/res/values/strings.xml deleted file mode 100644 index add2d6a43d2..00000000000 --- a/samples/calculator/androidApp/src/main/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - Konan Calculator - Enter mathematical expression: - diff --git a/samples/calculator/androidApp/src/main/res/values/styles.xml b/samples/calculator/androidApp/src/main/res/values/styles.xml deleted file mode 100644 index 0eb88fe3350..00000000000 --- a/samples/calculator/androidApp/src/main/res/values/styles.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/samples/calculator/arithmeticParser/Info.plist b/samples/calculator/arithmeticParser/Info.plist deleted file mode 100644 index b5dc715d4fe..00000000000 --- a/samples/calculator/arithmeticParser/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/samples/calculator/arithmeticParser/build.gradle b/samples/calculator/arithmeticParser/build.gradle deleted file mode 100644 index 8a14ecff1c5..00000000000 --- a/samples/calculator/arithmeticParser/build.gradle +++ /dev/null @@ -1,81 +0,0 @@ -apply plugin: 'org.jetbrains.kotlin.multiplatform' - -kotlin { - targets { - fromPreset(determineIosPreset(), 'ios') { - binaries { - framework() - } - } - - fromPreset(presets.jvm, 'jvm') - } - - sourceSets { - commonMain { - dependencies { - api 'org.jetbrains.kotlin:kotlin-stdlib-common' - } - } - jvmMain { - dependencies { - api 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' - } - } - } -} - -// Workaround for https://youtrack.jetbrains.com/issue/KT-27170 -configurations { - compileClasspath -} - -// If custom preset specified in 'calculator.preset.name' property, then use it for building. -// Otherwise build for iPhone simulator (by default). -def determineIosPreset() { - String presetName = project.hasProperty('calculator.preset.name') ? project.properties['calculator.preset.name'] : 'iosX64' - def preset = project.kotlin.presets[presetName] - println("$project has been configured for $presetName platform.") - preset -} - -// Special Gradle task that is called from Xcode. -// Two Gradle properties must be specified for this task: -// - calculator.configuration.name=[Release|Debug] -// - calculator.framework.location -task buildFrameworkForXcode { - - if (isCalledFromXcode()) { - dependsOn kotlin.targets.ios.binaries.getFramework(getBuildTypeForXcode()).linkTask - } - - doLast { - if (!isCalledFromXcode()) { - throw new Exception("Please run 'buildFrameworkForXcode' task with all necessary properties!") - } - - def frameworkDir = kotlin.targets.ios.binaries.getFramework(getBuildTypeForXcode()).outputFile - - println("from: ${frameworkDir.parentFile}") - println("into: ${getXcodeConfigurationBuildDir()}") - - copy { - from frameworkDir.parentFile - into getXcodeConfigurationBuildDir() - include "${frameworkDir.name}/**" - include "${frameworkDir.name}.dSYM/**" - } - } -} - -private boolean isCalledFromXcode() { - project.hasProperty('calculator.configuration.name') && project.hasProperty('calculator.framework.location') -} - -private String getBuildTypeForXcode() { - project.properties['calculator.configuration.name'] as String -} - -private String getXcodeConfigurationBuildDir() { - project.properties['calculator.framework.location'] as String -} diff --git a/samples/calculator/arithmeticParser/gradle.properties b/samples/calculator/arithmeticParser/gradle.properties deleted file mode 100644 index 7fc6f1ff272..00000000000 --- a/samples/calculator/arithmeticParser/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -kotlin.code.style=official diff --git a/samples/calculator/arithmeticParser/src/commonMain/kotlin/Parser.kt b/samples/calculator/arithmeticParser/src/commonMain/kotlin/Parser.kt deleted file mode 100644 index b44bb7182c8..00000000000 --- a/samples/calculator/arithmeticParser/src/commonMain/kotlin/Parser.kt +++ /dev/null @@ -1,284 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.calculator.arithmeticparser - -fun parseAndCompute(expression: String): PartialParser.Result = - PartialParser(Calculator(), PartialRenderer()).parseWithPartial(expression) - -class Calculator : ExpressionComposer { - override fun number(value: Double) = value - override fun plus(left: Double, right: Double) = left + right - override fun minus(left: Double, right: Double) = left - right - override fun mult(left: Double, right: Double) = left * right - override fun div(left: Double, right: Double) = left / right -} - -class PartialRenderer : PartialExpressionComposer { - override fun missing() = "..." - - override fun ending(expression: Double) = "$expression ..." - - override fun plus(left: Double, partialRight: String) = "$left + $partialRight" - override fun minus(left: Double, partialRight: String) = "$left - $partialRight" - override fun mult(left: Double, partialRight: String) = "$left * $partialRight" - override fun div(left: Double, partialRight: String) = "$left / $partialRight" - override fun leftParenthesized(partialExpression: String) = "($partialExpression" -} - -interface ExpressionComposer { - fun number(value: Double): E - fun plus(left: E, right: E): E - fun minus(left: E, right: E): E - fun mult(left: E, right: E): E - fun div(left: E, right: E): E -} - -open class Parser(private val composer: ExpressionComposer) { - fun parse(expression: String): E? { - val tokenizer = Tokenizer(expression) - val prefix = parseAsPrefix(tokenizer) - - if (prefix is EndedWithExpression && !tokenizer.hasNext()) { - val reduced = prefix.reduced() - if (reduced.prefix is Empty) { - return reduced.expression - } - } - - return null - } - - internal fun parseAsPrefix(tokenizer: Tokenizer): ExpressionPrefix = - generateSequence>(Empty) { - it.tryExtend(tokenizer) - }.last() - - private fun ExpressionPrefix.tryExtend(tokenizer: Tokenizer): ExpressionPrefix? = when (this) { - is ContinuableWithExpression -> { - val number = tokenizer.tryReadNumber() - when { - number != null -> this.with(composer.number(number)) - tokenizer.tryReadLeftParenthesis() -> this.withLeftParenthesis() - else -> null - } - } - - is EndedWithExpression -> { - val operator = tokenizer.tryReadBinaryOperator() - if (operator != null) { - this.extendedWithOperator(operator) - } else { - val reduced = this.reduced() - if (reduced.prefix is EndedWithLeftParenthesis && tokenizer.tryReadRightParenthesis()) { - // Drop parens: - reduced.prefix.prefix.with(reduced.expression) - } else { - null - } - } - } - } - - private tailrec fun EndedWithExpression.extendedWithOperator(operator: BinaryOperator): EndedWithOperator = - if (this.prefix is EndedWithOperator && this.prefix.operator.precedence >= operator.precedence) { - // Apply the operator - this.prefix - .withOperatorApplied(this.expression) - .extendedWithOperator(operator) - } else { - EndedWithOperator(this.prefix, this.expression, operator) - } - - internal tailrec fun EndedWithExpression.reduced(): EndedWithExpression = when (this.prefix) { - Empty, is EndedWithLeftParenthesis -> this - - is EndedWithOperator -> - this.prefix - .withOperatorApplied(this.expression) - .reduced() - } - - private fun EndedWithOperator.withOperatorApplied(rightOperand: E) = - this.prefix.with(composer.compose(this.operator, this.leftOperand, rightOperand)) - - private fun ExpressionComposer.compose( - binaryOperator: BinaryOperator, left: E, right: E - ): E = when (binaryOperator) { - BinaryOperator.PLUS -> plus(left, right) - BinaryOperator.MINUS -> minus(left, right) - BinaryOperator.MULT -> mult(left, right) - BinaryOperator.DIV -> div(left, right) - } - -} - -interface PartialExpressionComposer { - fun missing(): PE - fun ending(expression: E): PE - - fun plus(left: E, partialRight: PE): PE - fun minus(left: E, partialRight: PE): PE - fun mult(left: E, partialRight: PE): PE - fun div(left: E, partialRight: PE): PE - - fun leftParenthesized(partialExpression: PE): PE -} - -class PartialParser( - composer: ExpressionComposer, - private val partialComposer: PartialExpressionComposer -) : Parser(composer) { - - data class Result(val expression: E?, val partialExpression: PE, val remainder: String?) - - fun parseWithPartial(expression: String): Result { - val tokenizer = Tokenizer(expression) - val prefix = parseAsPrefix(tokenizer) - - val remainder = tokenizer.getRemainder() - - return Result( - if (remainder != null) null else tryReduce(prefix), - prefix.toPartialExpression(), - remainder - ) - } - - private fun tryReduce(prefix: ExpressionPrefix): E? { - if (prefix is EndedWithExpression) { - val reduced = prefix.reduced() - if (reduced.prefix is Empty) { - return reduced.expression - } - } - - return null - } - - private fun ExpressionPrefix.toPartialExpression(): PE = when (this) { - is EndedWithExpression -> this.prefix.toPartialExpressionWith( - ending = partialComposer.ending(this.expression) - ) - is ContinuableWithExpression -> this.toPartialExpressionWith(ending = partialComposer.missing()) - } - - private tailrec fun ContinuableWithExpression.toPartialExpressionWith( - ending: PE - ): PE = when (this) { - Empty -> ending - - is EndedWithLeftParenthesis -> this.prefix.toPartialExpressionWith( - ending = partialComposer.leftParenthesized(ending) - ) - - is EndedWithOperator -> this.prefix.toPartialExpressionWith( - ending = partialComposer.compose(this.operator, this.leftOperand, ending) - ) - } - - private fun PartialExpressionComposer.compose( - binaryOperator: BinaryOperator, - left: E, - right: PE - ): PE = when (binaryOperator) { - BinaryOperator.PLUS -> plus(left, right) - BinaryOperator.MINUS -> minus(left, right) - BinaryOperator.MULT -> mult(left, right) - BinaryOperator.DIV -> div(left, right) - } -} - -/** - * Immutable prefix of expression partially parsed to combination of abstractly represented expressions. - * The prefix representation can be thought as "almost AST", i.e. AST with unfinished rightmost leaf - * (referenced by this object), and its nodes contain links to parent and (if needed) left child. - * - * @param E abstract representation of expression, e.g. its value, AST etc. - */ -internal sealed class ExpressionPrefix - -internal data class EndedWithExpression( - val prefix: ContinuableWithExpression, - val expression: E -) : ExpressionPrefix() - -internal sealed class ContinuableWithExpression : ExpressionPrefix() - -private fun ContinuableWithExpression.with(expression: E) = - EndedWithExpression(this, expression) - -private object Empty : ContinuableWithExpression() - -private data class EndedWithLeftParenthesis( - val prefix: ContinuableWithExpression -) : ContinuableWithExpression() - -private fun ContinuableWithExpression.withLeftParenthesis() = - EndedWithLeftParenthesis(this) - -private data class EndedWithOperator( - val prefix: ContinuableWithExpression, - val leftOperand: E, - val operator: BinaryOperator -) : ContinuableWithExpression() - -internal enum class BinaryOperator(val sign: Char, val precedence: Int) { - PLUS('+', 2), - MINUS('-', 2), - MULT('*', 3), - DIV('/', 3) -} - -internal class Tokenizer(private val expression: String) { - private var index = 0 - - init { - skipSpaces() - } - - fun hasNext(): Boolean = (index < expression.length) - - fun getRemainder(): String? = if (this.hasNext()) { - expression.substring(index) - } else { - null - } - - fun tryReadNumber(): Double? { - var endIndex = index - while (expression.getOrNull(endIndex)?.isNumberChar() == true) { - ++endIndex - } - - return expression.substring(index, endIndex).toDoubleOrNull()?.also { - index = endIndex - skipSpaces() - } - } - - private fun Char.isNumberChar(): Boolean = this in '0'..'9' || this == '.' - - fun tryReadBinaryOperator(): BinaryOperator? = BinaryOperator.values().firstOrNull { tryRead(it.sign) } - - fun tryReadLeftParenthesis(): Boolean = tryRead('(') - - fun tryReadRightParenthesis(): Boolean = tryRead(')') - - - private fun tryRead(char: Char): Boolean = if (hasNext() && expression[index] == char) { - ++index - skipSpaces() - true - } else { - false - } - - private fun skipSpaces() { - while (expression.getOrNull(index)?.isWhitespace() == true) { - ++index - } - } -} diff --git a/samples/calculator/build.gradle b/samples/calculator/build.gradle deleted file mode 100644 index 2364b5baedb..00000000000 --- a/samples/calculator/build.gradle +++ /dev/null @@ -1,30 +0,0 @@ -buildscript { - repositories { - google() - jcenter() - mavenCentral() - maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } - maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' } - if (project.hasProperty("kotlinCompilerRepo")) { - maven { setUrl(project.property("kotlinCompilerRepo")) } - } - } - - dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'com.android.tools.build:gradle:3.5.0' - } -} - -allprojects { - repositories { - google() - jcenter() - mavenCentral() - maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } - maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' } - if (project.hasProperty("kotlinCompilerRepo")) { - maven { setUrl(project.property("kotlinCompilerRepo")) } - } - } -} diff --git a/samples/calculator/build.sh b/samples/calculator/build.sh deleted file mode 100755 index a26f890f026..00000000000 --- a/samples/calculator/build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd ) - -$DIR/../gradlew -p $DIR assemble diff --git a/samples/calculator/cliApp/build.gradle b/samples/calculator/cliApp/build.gradle deleted file mode 100644 index cbd2cd14391..00000000000 --- a/samples/calculator/cliApp/build.gradle +++ /dev/null @@ -1,22 +0,0 @@ -apply plugin: 'org.jetbrains.kotlin.multiplatform' - -kotlin { - targets { - jvm() - } - - sourceSets { - jvmMain { - dependencies { - implementation project(':arithmeticParser') - } - } - } -} - -task runProgram(type: JavaExec) { - dependsOn assemble - main = 'sample.calculator.jvm.JvmCli' - classpath = files(kotlin.targets.jvm.compilations.main.output) + kotlin.targets.jvm.compilations.main.runtimeDependencyFiles - args '2 + 3' -} diff --git a/samples/calculator/cliApp/gradle.properties b/samples/calculator/cliApp/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/calculator/cliApp/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/calculator/cliApp/src/jvmMain/kotlin/JvmCli.kt b/samples/calculator/cliApp/src/jvmMain/kotlin/JvmCli.kt deleted file mode 100644 index f3554b27666..00000000000 --- a/samples/calculator/cliApp/src/jvmMain/kotlin/JvmCli.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ -@file:JvmName("JvmCli") - -package sample.calculator.jvm - -import sample.calculator.arithmeticparser.parseAndCompute - -fun main(args: Array) { - val expression = if (args.isNotEmpty()) { - args.first().also { - print(it) - } - } else { - println("Enter an expression:") - readLine()!! - } - - val result = parseAndCompute(expression) - val computed = result.expression - if (computed != null) { - println(" = $computed") - } else { - println(" = ${result.partialExpression}") - result.remainder?.let { - println("Unable to parse suffix: $it") - } - } -} diff --git a/samples/calculator/gradle.properties b/samples/calculator/gradle.properties deleted file mode 100644 index 1d0ddea90b5..00000000000 --- a/samples/calculator/gradle.properties +++ /dev/null @@ -1,18 +0,0 @@ -kotlin.code.style=official - -# Run parallel builds in Gradle: -org.gradle.parallel=true -org.gradle.workers.max=4 - -# Pin Kotlin version: -# CHANGE_VERSION_WITH_RELEASE -kotlin_version=1.4.30 - -# Sets maven path for the kotlin version other than release -#kotlinCompilerRepo= - -# Use custom Kotlin/Native home: -kotlin.native.home=../../../dist - -# Increase memory for in-process compiler execution. -org.gradle.jvmargs=-Xmx3g diff --git a/samples/calculator/gradle/wrapper/gradle-wrapper.jar b/samples/calculator/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c023e..00000000000 Binary files a/samples/calculator/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/samples/calculator/gradle/wrapper/gradle-wrapper.properties b/samples/calculator/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index be52383ef49..00000000000 --- a/samples/calculator/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/samples/calculator/gradlew b/samples/calculator/gradlew deleted file mode 100755 index 4f906e0c811..00000000000 --- a/samples/calculator/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/samples/calculator/gradlew.bat b/samples/calculator/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/samples/calculator/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/samples/calculator/iosApp/calculator.xcodeproj/project.pbxproj b/samples/calculator/iosApp/calculator.xcodeproj/project.pbxproj deleted file mode 100644 index 7f85ccaa88e..00000000000 --- a/samples/calculator/iosApp/calculator.xcodeproj/project.pbxproj +++ /dev/null @@ -1,519 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 48; - objects = { - -/* Begin PBXBuildFile section */ - 2C3F38451FD1738300151601 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C3F38441FD1738300151601 /* AppDelegate.swift */; }; - 2C3F38471FD1738300151601 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C3F38461FD1738300151601 /* ViewController.swift */; }; - 2C3F384A1FD1738300151601 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2C3F38481FD1738300151601 /* Main.storyboard */; }; - 2C3F384C1FD1738300151601 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2C3F384B1FD1738300151601 /* Assets.xcassets */; }; - 2C3F384F1FD1738300151601 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2C3F384D1FD1738300151601 /* LaunchScreen.storyboard */; }; - 7FE128BF205854BA0064CE74 /* arithmeticParser.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7FF94AD92058464C00590D0D /* arithmeticParser.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 7FF94AE32058483900590D0D /* arithmeticParser.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FF94AD92058464C00590D0D /* arithmeticParser.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 2C10D2172521E5AA001EB717 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 2C3F38391FD1738300151601 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 7FF94AD82058464C00590D0D; - remoteInfo = arithmeticParser; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 7FE128BE2058549E0064CE74 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 7FE128BF205854BA0064CE74 /* arithmeticParser.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 2C3F38411FD1738300151601 /* KotlinCalculator.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KotlinCalculator.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 2C3F38441FD1738300151601 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 2C3F38461FD1738300151601 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 2C3F38491FD1738300151601 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 2C3F384B1FD1738300151601 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 2C3F384E1FD1738300151601 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 2C3F38501FD1738300151601 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 7FF94AD92058464C00590D0D /* arithmeticParser.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = arithmeticParser.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7FF94AEA2058485300590D0D /* Parser.kt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Parser.kt; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 2C3F383E1FD1738300151601 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 7FF94AE32058483900590D0D /* arithmeticParser.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 2C3F38381FD1738300151601 = { - isa = PBXGroup; - children = ( - 2C3F38431FD1738300151601 /* calculator */, - 7FF94ADA2058464C00590D0D /* arithmeticParser */, - 2C3F38421FD1738300151601 /* Products */, - 7FF94AE22058483900590D0D /* Frameworks */, - ); - sourceTree = ""; - }; - 2C3F38421FD1738300151601 /* Products */ = { - isa = PBXGroup; - children = ( - 2C3F38411FD1738300151601 /* KotlinCalculator.app */, - 7FF94AD92058464C00590D0D /* arithmeticParser.framework */, - ); - name = Products; - sourceTree = ""; - }; - 2C3F38431FD1738300151601 /* calculator */ = { - isa = PBXGroup; - children = ( - 2C3F38441FD1738300151601 /* AppDelegate.swift */, - 2C3F38461FD1738300151601 /* ViewController.swift */, - 2C3F38481FD1738300151601 /* Main.storyboard */, - 2C3F384B1FD1738300151601 /* Assets.xcassets */, - 2C3F384D1FD1738300151601 /* LaunchScreen.storyboard */, - 2C3F38501FD1738300151601 /* Info.plist */, - ); - path = calculator; - sourceTree = ""; - }; - 7FF94ADA2058464C00590D0D /* arithmeticParser */ = { - isa = PBXGroup; - children = ( - 7FF94AE42058485300590D0D /* src */, - ); - name = arithmeticParser; - sourceTree = ""; - }; - 7FF94AE22058483900590D0D /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; - 7FF94AE42058485300590D0D /* src */ = { - isa = PBXGroup; - children = ( - 7FF94AE52058485300590D0D /* commonMain */, - ); - name = src; - path = ../arithmeticParser/src; - sourceTree = SOURCE_ROOT; - }; - 7FF94AE52058485300590D0D /* commonMain */ = { - isa = PBXGroup; - children = ( - 7FF94AE62058485300590D0D /* kotlin */, - ); - path = commonMain; - sourceTree = ""; - }; - 7FF94AE62058485300590D0D /* kotlin */ = { - isa = PBXGroup; - children = ( - 7FF94AEA2058485300590D0D /* Parser.kt */, - ); - path = kotlin; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 2C3F38401FD1738300151601 /* KotlinCalculator */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2C3F38531FD1738300151601 /* Build configuration list for PBXNativeTarget "KotlinCalculator" */; - buildPhases = ( - 2C3F383D1FD1738300151601 /* Sources */, - 2C3F383E1FD1738300151601 /* Frameworks */, - 2C3F383F1FD1738300151601 /* Resources */, - 7FE128BE2058549E0064CE74 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 2C10D2182521E5AA001EB717 /* PBXTargetDependency */, - ); - name = KotlinCalculator; - productName = calculator; - productReference = 2C3F38411FD1738300151601 /* KotlinCalculator.app */; - productType = "com.apple.product-type.application"; - }; - 7FF94AD82058464C00590D0D /* arithmeticParser */ = { - isa = PBXNativeTarget; - buildConfigurationList = 7FF94ADE2058464C00590D0D /* Build configuration list for PBXNativeTarget "arithmeticParser" */; - buildPhases = ( - 7FF94AE12058466D00590D0D /* Compile Kotlin/Native */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = arithmeticParser; - productName = arithmeticParser; - productReference = 7FF94AD92058464C00590D0D /* arithmeticParser.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 2C3F38391FD1738300151601 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0900; - LastUpgradeCheck = 0900; - ORGANIZATIONNAME = JetBrains; - TargetAttributes = { - 2C3F38401FD1738300151601 = { - CreatedOnToolsVersion = 9.0; - ProvisioningStyle = Automatic; - }; - 7FF94AD82058464C00590D0D = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Automatic; - }; - }; - }; - buildConfigurationList = 2C3F383C1FD1738300151601 /* Build configuration list for PBXProject "calculator" */; - compatibilityVersion = "Xcode 8.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 2C3F38381FD1738300151601; - productRefGroup = 2C3F38421FD1738300151601 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 2C3F38401FD1738300151601 /* KotlinCalculator */, - 7FF94AD82058464C00590D0D /* arithmeticParser */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 2C3F383F1FD1738300151601 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2C3F384F1FD1738300151601 /* LaunchScreen.storyboard in Resources */, - 2C3F384C1FD1738300151601 /* Assets.xcassets in Resources */, - 2C3F384A1FD1738300151601 /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 7FF94AE12058466D00590D0D /* Compile Kotlin/Native */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Compile Kotlin/Native"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$SRCROOT/../gradlew\" -p \"$SRCROOT/..\" buildFrameworkForXcode \\\n-Pcalculator.preset.name=\"$KOTLIN_NATIVE_PRESET\" \\\n-Pcalculator.configuration.name=\"$CONFIGURATION\" \\\n-Pcalculator.framework.location=\"$CONFIGURATION_BUILD_DIR\"\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 2C3F383D1FD1738300151601 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2C3F38471FD1738300151601 /* ViewController.swift in Sources */, - 2C3F38451FD1738300151601 /* AppDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 2C10D2182521E5AA001EB717 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 7FF94AD82058464C00590D0D /* arithmeticParser */; - targetProxy = 2C10D2172521E5AA001EB717 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 2C3F38481FD1738300151601 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 2C3F38491FD1738300151601 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 2C3F384D1FD1738300151601 /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 2C3F384E1FD1738300151601 /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 2C3F38511FD1738300151601 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 2C3F38521FD1738300151601 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 2C3F38541FD1738300151601 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = $BUILT_PRODUCTS_DIR; - INFOPLIST_FILE = calculator/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = org.jetbrains.konan.calculator; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 2C3F38551FD1738300151601 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = $BUILT_PRODUCTS_DIR; - INFOPLIST_FILE = calculator/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = org.jetbrains.konan.calculator; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 7FF94ADF2058464C00590D0D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/../arithmeticParser/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - "KOTLIN_NATIVE_PRESET[sdk=iphoneos*]" = iosArm64; - "KOTLIN_NATIVE_PRESET[sdk=iphonesimulator*]" = iosX64; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = JetBrains.arithmeticParser; - PRODUCT_MODULE_NAME = "_$(PRODUCT_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = arm64; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 7FF94AE02058464C00590D0D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/../arithmeticParser/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - "KOTLIN_NATIVE_PRESET[sdk=iphoneos*]" = iosArm64; - "KOTLIN_NATIVE_PRESET[sdk=iphonesimulator*]" = iosX64; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = JetBrains.arithmeticParser; - PRODUCT_MODULE_NAME = "_$(PRODUCT_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = arm64; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 2C3F383C1FD1738300151601 /* Build configuration list for PBXProject "calculator" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2C3F38511FD1738300151601 /* Debug */, - 2C3F38521FD1738300151601 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2C3F38531FD1738300151601 /* Build configuration list for PBXNativeTarget "KotlinCalculator" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2C3F38541FD1738300151601 /* Debug */, - 2C3F38551FD1738300151601 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 7FF94ADE2058464C00590D0D /* Build configuration list for PBXNativeTarget "arithmeticParser" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 7FF94ADF2058464C00590D0D /* Debug */, - 7FF94AE02058464C00590D0D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 2C3F38391FD1738300151601 /* Project object */; -} diff --git a/samples/calculator/iosApp/calculator.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/samples/calculator/iosApp/calculator.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 7527b6e65d4..00000000000 --- a/samples/calculator/iosApp/calculator.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/samples/calculator/iosApp/calculator.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/samples/calculator/iosApp/calculator.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d6..00000000000 --- a/samples/calculator/iosApp/calculator.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/samples/calculator/iosApp/calculator/AppDelegate.swift b/samples/calculator/iosApp/calculator/AppDelegate.swift deleted file mode 100644 index b813994f762..00000000000 --- a/samples/calculator/iosApp/calculator/AppDelegate.swift +++ /dev/null @@ -1,43 +0,0 @@ -// -// Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license -// that can be found in the license/LICENSE.txt file. -// - -import UIKit - -@UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate { - - var window: UIWindow? - - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. - return true - } - - func applicationWillResignActive(_ application: UIApplication) { - // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. - } - - func applicationDidEnterBackground(_ application: UIApplication) { - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. - } - - func applicationWillEnterForeground(_ application: UIApplication) { - // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. - } - - func applicationDidBecomeActive(_ application: UIApplication) { - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. - } - - func applicationWillTerminate(_ application: UIApplication) { - // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. - } - - -} - diff --git a/samples/calculator/iosApp/calculator/Assets.xcassets/AppIcon.appiconset/Contents.json b/samples/calculator/iosApp/calculator/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d8db8d65fd7..00000000000 --- a/samples/calculator/iosApp/calculator/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "83.5x83.5", - "scale" : "2x" - }, - { - "idiom" : "ios-marketing", - "size" : "1024x1024", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/samples/calculator/iosApp/calculator/Base.lproj/LaunchScreen.storyboard b/samples/calculator/iosApp/calculator/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f83f6fd5810..00000000000 --- a/samples/calculator/iosApp/calculator/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/calculator/iosApp/calculator/Base.lproj/Main.storyboard b/samples/calculator/iosApp/calculator/Base.lproj/Main.storyboard deleted file mode 100644 index b06d278fdd1..00000000000 --- a/samples/calculator/iosApp/calculator/Base.lproj/Main.storyboard +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/calculator/iosApp/calculator/Info.plist b/samples/calculator/iosApp/calculator/Info.plist deleted file mode 100644 index 88282c39cb6..00000000000 --- a/samples/calculator/iosApp/calculator/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - KotlinCalc - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/samples/calculator/iosApp/calculator/ViewController.swift b/samples/calculator/iosApp/calculator/ViewController.swift deleted file mode 100644 index 8e15fbfc2cf..00000000000 --- a/samples/calculator/iosApp/calculator/ViewController.swift +++ /dev/null @@ -1,154 +0,0 @@ -// -// Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license -// that can be found in the license/LICENSE.txt file. -// - -import UIKit -import arithmeticParser - -class ViewController: UIViewController, UITextViewDelegate, UICollectionViewDataSource { - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view, typically from a nib. - numpad.dataSource = self - self.input.delegate = self - inputDidChange() - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - @IBOutlet var partialResult: UILabel! - @IBOutlet var result: UILabel! - @IBOutlet var input: UITextView! - @IBOutlet var numpad: UICollectionView! - - private let parser = PartialParser( - composer: Calculator(), - partialComposer: PartialRenderer() - ) - - @IBAction func numpadButtonPressed(_ sender: UIButton) { - let title = sender.currentTitle! - if title == "" { - return - } - - if title == "⌫" { - if !input.text.isEmpty { - input.text.removeLast() - } - } else { - input.text.append(title) - } - - inputDidChange() - } - - func textViewDidChange(_ textView: UITextView) { - if textView === input { - inputDidChange() - } - } - - override func touchesBegan(_ touches: Set, with event: UIEvent?) { - self.input.endEditing(true) - } - - private func inputDidChange() { - let parsed = parser.parseWithPartial(expression: input.text) - if let resultValue = parsed.expression { - result.text = "= \(resultValue)" - } else { - result.text = "" - } - - let attributedText = parsed.partialExpression - - if let remainder = parsed.remainder { - partialResult.attributedText = attributedText + - NSAttributedString(string: " ") + - NSAttributedString(string: remainder, attributes: - [.foregroundColor: UIColor.red, - .font: UIFont.boldSystemFont(ofSize: partialResult.font.pointSize)]) - } else { - partialResult.attributedText = attributedText - } - } - - private let buttons = [ - "7", "8", "9", "/", - "4", "5", "6", "*", - "1", "2", "3", "-", - ".", "0", "", "+", - "(", ")", "", "⌫" - ] - - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return buttons.count - } - - func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "buttonCell", for: indexPath) - - (cell.viewWithTag(1) as! UIButton).setTitle(buttons[indexPath.item],for: .normal) - - return cell - } -} - -private func +(left: NSAttributedString, right: NSAttributedString) -> NSAttributedString { - let result = NSMutableAttributedString(attributedString: left) - result.append(right) - return result -} - -private extension String { - func toAttributed() -> NSAttributedString { - return NSAttributedString(string: self) - } -} - -private class PartialRenderer: NSObject, PartialExpressionComposer { - func missing() -> Any { - return "... ".toAttributed() - } - - func ending(expression: Any) -> Any { - return "\(formatDouble(expression))... ".toAttributed() - } - - func plus(left: Any, partialRight: Any) -> Any { - return compose("+", left, partialRight) - } - - func minus(left: Any, partialRight: Any) -> Any { - return compose("-", left, partialRight) - } - - func mult(left: Any, partialRight: Any) -> Any { - return compose("*", left, partialRight) - } - - func div(left: Any, partialRight: Any) -> Any { - return compose("/", left, partialRight) - } - - func leftParenthesized(partialExpression: Any) -> Any { - let suffix = NSAttributedString(string: ")", attributes: [.foregroundColor: UIColor.lightGray]) - return "(".toAttributed() + (partialExpression as! NSAttributedString) + suffix - } - - private func formatDouble(_ value: Any) -> String { - let rounded = round(1000 * (value as! Double)) / 1000 - return "\(rounded as NSNumber)" - } - - private func compose(_ op: String, _ left: Any, _ partialRight: Any) -> Any { - return "\(formatDouble(left)) \(op) ".toAttributed() + (partialRight as! NSAttributedString) - } - -} diff --git a/samples/calculator/settings.gradle b/samples/calculator/settings.gradle deleted file mode 100644 index fe07c42cef4..00000000000 --- a/samples/calculator/settings.gradle +++ /dev/null @@ -1,16 +0,0 @@ -include ':arithmeticParser' -include ':cliApp' - -boolean sdkDirPropertySpecified = false -File localPropertiesFile = file("${rootProject.projectDir}/local.properties") -if (localPropertiesFile.isFile()) { - Properties properties = new Properties() - localPropertiesFile.withInputStream { inputStream -> properties.load(inputStream) } - sdkDirPropertySpecified = properties.containsKey('sdk.dir') -} - - -// Don't create Android tasks if a user has no Android SDK. -if (sdkDirPropertySpecified || System.getenv('ANDROID_HOME') != null) { - include ':androidApp' -} diff --git a/samples/cocoapods/.gitignore b/samples/cocoapods/.gitignore deleted file mode 100644 index 6492779ad8b..00000000000 --- a/samples/cocoapods/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -ios-app/Pods -Podfile.lock -kotlin-library/kotlin_library.podspec -ios-app/ios-app.xcodeproj/xcuserdata -ios-app/ios-app.xcworkspace/xcuserdata -ios-app/ios-app.xcodeproj/project.xcworkspace/xcuserdata -ios-app/ios-app.xcworkspace/contents.xcworkspacedata -ios-app/ios-app.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist \ No newline at end of file diff --git a/samples/cocoapods/README.md b/samples/cocoapods/README.md index f69aa1c894f..0458415e615 100644 --- a/samples/cocoapods/README.md +++ b/samples/cocoapods/README.md @@ -1,24 +1 @@ -# Using CocoaPods - -This sample demonstrates how to use a CocoaPods library from Kotlin/Native. It uses the the -[AFNetworking](https://cocoapods.org/pods/AFNetworking) library to retrieve a web-page by a -given URL. - -## Configuring the project -1. [Install](https://guides.cocoapods.org/using/getting-started.html#installation) CocoaPods. - It's recommended to use CocoaPods 1.6.1 or higher. - -2. Navigate to the [kotlin-library](kotlin-library) directory and run - ``` - ./gradlew podspec - ``` - A [podspec](https://guides.cocoapods.org/syntax/podspec.html#specification) file for the - Kotlin/Native library will be generated. - -3. Navigate to the [ios-app](ios-app) directory and install the dependencies. The generated - podspec is already added to the Podfile, so just run - ``` - pod install - ``` - -4. Open [ios-app.xcworkspace](ios-app/ios-app.xcworkspace) in Xcode and run the build. \ No newline at end of file +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/cocoapods/build.sh b/samples/cocoapods/build.sh deleted file mode 100755 index b45ef89fac5..00000000000 --- a/samples/cocoapods/build.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash - -DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd ) - -KOTLIN_DIR="$DIR/kotlin-library" -IOS_DIR="$DIR/ios-app" - -#Check CocoaPods version. -REQUIRED_POD_VERSION="1.6.1" -POD_VERSION=`pod --version` -EARLIER_VERSION=`echo "$POD_VERSION $REQUIRED_POD_VERSION" | tr " " "\n" | sort -V | head -1` - -if [ "$EARLIER_VERSION" != "$REQUIRED_POD_VERSION" ]; then - echo "ERROR: This version of CocoaPods is unsupported. Current version is $POD_VERSION. Minimal required version is $REQUIRED_POD_VERSION." - echo "See update instructions at https://guides.cocoapods.org/using/getting-started.html#updating-cocoapods" - exit 1 -fi - -# Prepare Kotlin/Native project to be consumed by CocoaPods. -"$KOTLIN_DIR/gradlew" -p "$KOTLIN_DIR" podspec - -# Run CocoaPods to configure the Xcode project. -pod --project-directory="$IOS_DIR" install - -# Run Xcode to build the app. -xcodebuild -sdk iphonesimulator -arch x86_64 -configuration Release -workspace "$IOS_DIR/ios-app.xcworkspace" -scheme ios-app diff --git a/samples/cocoapods/ios-app/Podfile b/samples/cocoapods/ios-app/Podfile deleted file mode 100644 index 5e3e6081186..00000000000 --- a/samples/cocoapods/ios-app/Podfile +++ /dev/null @@ -1,8 +0,0 @@ -# Either use_frameworks! or use_modular_headers! must be specified. -use_frameworks! - -platform :ios, '9.0' - -target 'ios-app' do - pod 'kotlin_library', :path => '../kotlin-library' -end \ No newline at end of file diff --git a/samples/cocoapods/ios-app/ios-app.xcodeproj/project.pbxproj b/samples/cocoapods/ios-app/ios-app.xcodeproj/project.pbxproj deleted file mode 100644 index fb3aa55d900..00000000000 --- a/samples/cocoapods/ios-app/ios-app.xcodeproj/project.pbxproj +++ /dev/null @@ -1,419 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 2C11BACF224B4DCB00D1CC3C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C11BACE224B4DCB00D1CC3C /* AppDelegate.swift */; }; - 2C11BAD1224B4DCB00D1CC3C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C11BAD0224B4DCB00D1CC3C /* ViewController.swift */; }; - 2C11BAD4224B4DCB00D1CC3C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2C11BAD2224B4DCB00D1CC3C /* Main.storyboard */; }; - 2C11BAD6224B4DCD00D1CC3C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2C11BAD5224B4DCD00D1CC3C /* Assets.xcassets */; }; - 2C11BAD9224B4DCD00D1CC3C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2C11BAD7224B4DCD00D1CC3C /* LaunchScreen.storyboard */; }; - 7AEB35573DF5ECC0B96C877C /* Pods_ios_app.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06FDB564DA981DADB5693C07 /* Pods_ios_app.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 06FDB564DA981DADB5693C07 /* Pods_ios_app.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ios_app.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2C11BACB224B4DCB00D1CC3C /* ios-app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ios-app.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2C11BACE224B4DCB00D1CC3C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 2C11BAD0224B4DCB00D1CC3C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 2C11BAD3224B4DCB00D1CC3C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 2C11BAD5224B4DCD00D1CC3C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 2C11BAD8224B4DCD00D1CC3C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 2C11BADA224B4DCD00D1CC3C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 2C11BAE0224B65DE00D1CC3C /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - 44888DA7148EA4EB17DF765D /* Pods-ios-app.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ios-app.debug.xcconfig"; path = "Target Support Files/Pods-ios-app/Pods-ios-app.debug.xcconfig"; sourceTree = ""; }; - A063F818143EBBCD07EA19D4 /* Pods-ios-app.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ios-app.release.xcconfig"; path = "Target Support Files/Pods-ios-app/Pods-ios-app.release.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 2C11BAC8224B4DCB00D1CC3C /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 7AEB35573DF5ECC0B96C877C /* Pods_ios_app.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 2C11BAC2224B4DCB00D1CC3C = { - isa = PBXGroup; - children = ( - 2C11BACD224B4DCB00D1CC3C /* ios-app */, - 2C11BACC224B4DCB00D1CC3C /* Products */, - 9C1A5E5C1B80F794B7154EE0 /* Pods */, - B404E0DEAC80D8DB556F0E49 /* Frameworks */, - ); - sourceTree = ""; - }; - 2C11BACC224B4DCB00D1CC3C /* Products */ = { - isa = PBXGroup; - children = ( - 2C11BACB224B4DCB00D1CC3C /* ios-app.app */, - ); - name = Products; - sourceTree = ""; - }; - 2C11BACD224B4DCB00D1CC3C /* ios-app */ = { - isa = PBXGroup; - children = ( - 2C11BACE224B4DCB00D1CC3C /* AppDelegate.swift */, - 2C11BAD0224B4DCB00D1CC3C /* ViewController.swift */, - 2C11BAD2224B4DCB00D1CC3C /* Main.storyboard */, - 2C11BAD5224B4DCD00D1CC3C /* Assets.xcassets */, - 2C11BAD7224B4DCD00D1CC3C /* LaunchScreen.storyboard */, - 2C11BADA224B4DCD00D1CC3C /* Info.plist */, - ); - path = "ios-app"; - sourceTree = ""; - }; - 9C1A5E5C1B80F794B7154EE0 /* Pods */ = { - isa = PBXGroup; - children = ( - 44888DA7148EA4EB17DF765D /* Pods-ios-app.debug.xcconfig */, - A063F818143EBBCD07EA19D4 /* Pods-ios-app.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - B404E0DEAC80D8DB556F0E49 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 2C11BAE0224B65DE00D1CC3C /* WebKit.framework */, - 06FDB564DA981DADB5693C07 /* Pods_ios_app.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 2C11BACA224B4DCB00D1CC3C /* ios-app */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2C11BADD224B4DCD00D1CC3C /* Build configuration list for PBXNativeTarget "ios-app" */; - buildPhases = ( - F305A4DC70C8B21755898707 /* [CP] Check Pods Manifest.lock */, - 2C11BAC7224B4DCB00D1CC3C /* Sources */, - 2C11BAC8224B4DCB00D1CC3C /* Frameworks */, - 2C11BAC9224B4DCB00D1CC3C /* Resources */, - 042B85E17AFECF20FF11D591 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "ios-app"; - productName = "ios-app"; - productReference = 2C11BACB224B4DCB00D1CC3C /* ios-app.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 2C11BAC3224B4DCB00D1CC3C /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1010; - LastUpgradeCheck = 1010; - TargetAttributes = { - 2C11BACA224B4DCB00D1CC3C = { - CreatedOnToolsVersion = 10.1; - }; - }; - }; - buildConfigurationList = 2C11BAC6224B4DCB00D1CC3C /* Build configuration list for PBXProject "ios-app" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 2C11BAC2224B4DCB00D1CC3C; - productRefGroup = 2C11BACC224B4DCB00D1CC3C /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 2C11BACA224B4DCB00D1CC3C /* ios-app */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 2C11BAC9224B4DCB00D1CC3C /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2C11BAD9224B4DCD00D1CC3C /* LaunchScreen.storyboard in Resources */, - 2C11BAD6224B4DCD00D1CC3C /* Assets.xcassets in Resources */, - 2C11BAD4224B4DCB00D1CC3C /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 042B85E17AFECF20FF11D591 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-ios-app/Pods-ios-app-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - ); - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ios-app/Pods-ios-app-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - F305A4DC70C8B21755898707 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ios-app-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 2C11BAC7224B4DCB00D1CC3C /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2C11BAD1224B4DCB00D1CC3C /* ViewController.swift in Sources */, - 2C11BACF224B4DCB00D1CC3C /* AppDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 2C11BAD2224B4DCB00D1CC3C /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 2C11BAD3224B4DCB00D1CC3C /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 2C11BAD7224B4DCD00D1CC3C /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 2C11BAD8224B4DCD00D1CC3C /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 2C11BADB224B4DCD00D1CC3C /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 2C11BADC224B4DCD00D1CC3C /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 2C11BADE224B4DCD00D1CC3C /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 44888DA7148EA4EB17DF765D /* Pods-ios-app.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = "ios-app/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.jetbrains.konan.ios-app"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 2C11BADF224B4DCD00D1CC3C /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A063F818143EBBCD07EA19D4 /* Pods-ios-app.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = "ios-app/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.jetbrains.konan.ios-app"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 2C11BAC6224B4DCB00D1CC3C /* Build configuration list for PBXProject "ios-app" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2C11BADB224B4DCD00D1CC3C /* Debug */, - 2C11BADC224B4DCD00D1CC3C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2C11BADD224B4DCD00D1CC3C /* Build configuration list for PBXNativeTarget "ios-app" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2C11BADE224B4DCD00D1CC3C /* Debug */, - 2C11BADF224B4DCD00D1CC3C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 2C11BAC3224B4DCB00D1CC3C /* Project object */; -} diff --git a/samples/cocoapods/ios-app/ios-app.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/samples/cocoapods/ios-app/ios-app.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 136ada05267..00000000000 --- a/samples/cocoapods/ios-app/ios-app.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/samples/cocoapods/ios-app/ios-app.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/samples/cocoapods/ios-app/ios-app.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d6..00000000000 --- a/samples/cocoapods/ios-app/ios-app.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/samples/cocoapods/ios-app/ios-app/AppDelegate.swift b/samples/cocoapods/ios-app/ios-app/AppDelegate.swift deleted file mode 100644 index 849f883d23e..00000000000 --- a/samples/cocoapods/ios-app/ios-app/AppDelegate.swift +++ /dev/null @@ -1,38 +0,0 @@ -import UIKit - -@UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate { - - var window: UIWindow? - - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. - return true - } - - func applicationWillResignActive(_ application: UIApplication) { - // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. - } - - func applicationDidEnterBackground(_ application: UIApplication) { - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. - } - - func applicationWillEnterForeground(_ application: UIApplication) { - // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. - } - - func applicationDidBecomeActive(_ application: UIApplication) { - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. - } - - func applicationWillTerminate(_ application: UIApplication) { - // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. - } - - -} - diff --git a/samples/cocoapods/ios-app/ios-app/Assets.xcassets/AppIcon.appiconset/Contents.json b/samples/cocoapods/ios-app/ios-app/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d8db8d65fd7..00000000000 --- a/samples/cocoapods/ios-app/ios-app/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "83.5x83.5", - "scale" : "2x" - }, - { - "idiom" : "ios-marketing", - "size" : "1024x1024", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/samples/cocoapods/ios-app/ios-app/Assets.xcassets/Contents.json b/samples/cocoapods/ios-app/ios-app/Assets.xcassets/Contents.json deleted file mode 100644 index da4a164c918..00000000000 --- a/samples/cocoapods/ios-app/ios-app/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/samples/cocoapods/ios-app/ios-app/Base.lproj/LaunchScreen.storyboard b/samples/cocoapods/ios-app/ios-app/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index bfa36129419..00000000000 --- a/samples/cocoapods/ios-app/ios-app/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/cocoapods/ios-app/ios-app/Base.lproj/Main.storyboard b/samples/cocoapods/ios-app/ios-app/Base.lproj/Main.storyboard deleted file mode 100644 index 29d14b9fb3a..00000000000 --- a/samples/cocoapods/ios-app/ios-app/Base.lproj/Main.storyboard +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/cocoapods/ios-app/ios-app/Info.plist b/samples/cocoapods/ios-app/ios-app/Info.plist deleted file mode 100644 index 16be3b68112..00000000000 --- a/samples/cocoapods/ios-app/ios-app/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/samples/cocoapods/ios-app/ios-app/ViewController.swift b/samples/cocoapods/ios-app/ios-app/ViewController.swift deleted file mode 100644 index 7325dd25b40..00000000000 --- a/samples/cocoapods/ios-app/ios-app/ViewController.swift +++ /dev/null @@ -1,21 +0,0 @@ -import UIKit -import kotlin_library - -class ViewController: UIViewController { - - @IBOutlet weak var goButton: UIButton! - @IBOutlet weak var urlField: UITextField! - @IBOutlet weak var contentTextView: UITextView! - - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view, typically from a nib. - } - - @IBAction func onGoTouch(_ sender: Any) { - let url = urlField.text! - KotlinLibKt.getAndShow(url: url, contentView: contentTextView) - } -} - diff --git a/samples/cocoapods/kotlin-library/build.gradle.kts b/samples/cocoapods/kotlin-library/build.gradle.kts deleted file mode 100644 index 291c2faba00..00000000000 --- a/samples/cocoapods/kotlin-library/build.gradle.kts +++ /dev/null @@ -1,37 +0,0 @@ -plugins { - id("org.jetbrains.kotlin.multiplatform") - id("org.jetbrains.kotlin.native.cocoapods") -} - -repositories { - jcenter() - maven { setUrl("https://dl.bintray.com/kotlin/kotlin-dev") } - maven { setUrl("https://dl.bintray.com/kotlin/kotlin-eap") } -} - -group = "org.jetbrains.kotlin.sample.native" -version = "1.0" - -kotlin { - // Add a platform switching to have an IDE support. - val buildForDevice = project.findProperty("kotlin.native.cocoapods.target") == "ios_arm" - if (buildForDevice) { - iosArm64("iOS64") - iosArm32("iOS32") - - val iOSMain by sourceSets.creating - sourceSets["iOS64Main"].dependsOn(iOSMain) - sourceSets["iOS32Main"].dependsOn(iOSMain) - } else { - iosX64("iOS") - } - - cocoapods { - // Configure fields required by CocoaPods. - summary = "Working with AFNetworking from Kotlin/Native using CocoaPods" - homepage = "https://github.com/JetBrains/kotlin-native" - - // Configure a dependency on AFNetworking. It will be added in all macOS and iOS targets. - pod("AFNetworking", "~> 3.2.0") - } -} diff --git a/samples/cocoapods/kotlin-library/gradle.properties b/samples/cocoapods/kotlin-library/gradle.properties deleted file mode 100644 index 62d1c647c26..00000000000 --- a/samples/cocoapods/kotlin-library/gradle.properties +++ /dev/null @@ -1,15 +0,0 @@ -kotlin.code.style=official - -# Run parallel builds in Gradle: -org.gradle.parallel=true -org.gradle.workers.max=4 - -# Pin Kotlin version: -# CHANGE_VERSION_WITH_RELEASE -kotlin_version=1.4.30 - -# Use custom Kotlin/Native home: -kotlin.native.home=../../../dist - -# Increase memory for in-process compiler execution. -org.gradle.jvmargs=-Xmx3g diff --git a/samples/cocoapods/kotlin-library/gradle/wrapper/gradle-wrapper.jar b/samples/cocoapods/kotlin-library/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c023e..00000000000 Binary files a/samples/cocoapods/kotlin-library/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/samples/cocoapods/kotlin-library/gradle/wrapper/gradle-wrapper.properties b/samples/cocoapods/kotlin-library/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index be52383ef49..00000000000 --- a/samples/cocoapods/kotlin-library/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/samples/cocoapods/kotlin-library/gradlew b/samples/cocoapods/kotlin-library/gradlew deleted file mode 100755 index 4f906e0c811..00000000000 --- a/samples/cocoapods/kotlin-library/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/samples/cocoapods/kotlin-library/gradlew.bat b/samples/cocoapods/kotlin-library/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/samples/cocoapods/kotlin-library/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/samples/cocoapods/kotlin-library/settings.gradle.kts b/samples/cocoapods/kotlin-library/settings.gradle.kts deleted file mode 100644 index 7e3308930c6..00000000000 --- a/samples/cocoapods/kotlin-library/settings.gradle.kts +++ /dev/null @@ -1,20 +0,0 @@ -pluginManagement { - repositories { - jcenter() - maven { setUrl("https://dl.bintray.com/kotlin/kotlin-dev") } - maven { setUrl("https://dl.bintray.com/kotlin/kotlin-eap") } - } - - resolutionStrategy { - val kotlin_version: String by settings - eachPlugin { - when { - requested.id.id == "org.jetbrains.kotlin.native.cocoapods" || - requested.id.id == "kotlin-native-cocoapods" -> - useModule("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") - requested.id.id.startsWith("org.jetbrains.kotlin") -> - useVersion(kotlin_version) - } - } - } -} \ No newline at end of file diff --git a/samples/cocoapods/kotlin-library/src/iOSMain/kotlin/KotlinLib.kt b/samples/cocoapods/kotlin-library/src/iOSMain/kotlin/KotlinLib.kt deleted file mode 100644 index 3c35250e9b9..00000000000 --- a/samples/cocoapods/kotlin-library/src/iOSMain/kotlin/KotlinLib.kt +++ /dev/null @@ -1,34 +0,0 @@ -import cocoapods.AFNetworking.AFHTTPResponseSerializer -import cocoapods.AFNetworking.AFHTTPSessionManager -import platform.Foundation.* -import platform.UIKit.NSDocumentTypeDocumentAttribute -import platform.UIKit.NSHTMLTextDocumentType -import platform.UIKit.UITextView -import platform.UIKit.create -import kotlin.Any -import kotlin.String -import kotlin.to -import kotlin.toString - -/** - * Retrieves the content by the given URL and shows it at the given WebKitView - */ -fun getAndShow(url: String, contentView: UITextView) { - val manager = AFHTTPSessionManager() - manager.responseSerializer = AFHTTPResponseSerializer() - val onSuccess = { _: NSURLSessionDataTask?, response: Any? -> - val html = NSAttributedString.create( - data = response as NSData, - options = mapOf(NSDocumentTypeDocumentAttribute as Any? to NSHTMLTextDocumentType), - documentAttributes = null, - error = null - )!! - contentView.attributedText = html - } - val onError = { _: NSURLSessionDataTask?, error: NSError? -> - NSLog("Cannot get ${url}.") - NSLog(error.toString()) - } - - manager.GET(url, null, onSuccess, onError) -} \ No newline at end of file diff --git a/samples/coverage/README.md b/samples/coverage/README.md index f9c97dc6b17..0458415e615 100644 --- a/samples/coverage/README.md +++ b/samples/coverage/README.md @@ -1,11 +1 @@ -# Code Coverage usage sample - -This example shows how to collect coverage information during execution of the test suite. -Please note that this functionality will be incorporated into Gradle plugin so you won't need to do it by hand in the nearest future. - -### Prerequisites -`createCoverageReport` task requires `llvm-profdata` and `llvm-cov` to be added to the `$PATH`. -In case of macOS, use tools from Xcode (`/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin`). -For Windows and Linux, use the ones from Kotlin/Native LLVM distribution (e.g. `$HOME/.konan/dependencies/clang-llvm-8.0.0-linux-x86-64/bin`). -### Usage -Just run `createCoverageReport` task. +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/coverage/build.gradle.kts b/samples/coverage/build.gradle.kts deleted file mode 100644 index 8ce4b4da2db..00000000000 --- a/samples/coverage/build.gradle.kts +++ /dev/null @@ -1,49 +0,0 @@ -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget - -plugins { - kotlin("multiplatform") -} - -kotlin { - // Determine host preset. - val hostOs = System.getProperty("os.name") - val isMingwX64 = hostOs.startsWith("Windows") - - // Create a target for the host platform. - val hostTarget = when { - hostOs == "Mac OS X" -> macosX64("coverage") - hostOs == "Linux" -> linuxX64("coverage") - isMingwX64 -> mingwX64("coverage") - else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") - } - - hostTarget.apply { - binaries { - executable(listOf(DEBUG)) - } - binaries.getTest("DEBUG").apply { - freeCompilerArgs += listOf("-Xlibrary-to-cover=${compilations["main"].output.classesDirs.singleFile.absolutePath}") - } - } - - sourceSets { - val coverageMain by getting - val coverageTest by getting - } -} - -tasks.create("createCoverageReport") { - dependsOn("coverageTest") - - description = "Create coverage report" - - doLast { - val testDebugBinary = kotlin.targets["coverage"].let { it as KotlinNativeTarget }.binaries.getTest("DEBUG").outputFile - exec { - commandLine("llvm-profdata", "merge", "$testDebugBinary.profraw", "-o", "$testDebugBinary.profdata") - } - exec { - commandLine("llvm-cov", "show", "$testDebugBinary", "-instr-profile", "$testDebugBinary.profdata") - } - } -} \ No newline at end of file diff --git a/samples/coverage/gradle.properties b/samples/coverage/gradle.properties deleted file mode 100644 index 29e08e8ca88..00000000000 --- a/samples/coverage/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -kotlin.code.style=official \ No newline at end of file diff --git a/samples/coverage/src/coverageMain/kotlin/bar.kt b/samples/coverage/src/coverageMain/kotlin/bar.kt deleted file mode 100644 index c15d0ce71bc..00000000000 --- a/samples/coverage/src/coverageMain/kotlin/bar.kt +++ /dev/null @@ -1,17 +0,0 @@ -fun baz(args: Array) { - if (args.size > 4) { - println("Too many") - } else { - println("Fine") - } -} - -class A { - init { - println("A::init") - } - - fun f() { - println("A::f") - } -} \ No newline at end of file diff --git a/samples/coverage/src/coverageMain/kotlin/main.kt b/samples/coverage/src/coverageMain/kotlin/main.kt deleted file mode 100644 index 546840df5bc..00000000000 --- a/samples/coverage/src/coverageMain/kotlin/main.kt +++ /dev/null @@ -1,3 +0,0 @@ -fun main() { - baz(arrayOf("abc")) -} \ No newline at end of file diff --git a/samples/coverage/src/coverageTest/kotlin/Tests.kt b/samples/coverage/src/coverageTest/kotlin/Tests.kt deleted file mode 100644 index fd7d78c0bdb..00000000000 --- a/samples/coverage/src/coverageTest/kotlin/Tests.kt +++ /dev/null @@ -1,15 +0,0 @@ -import kotlin.test.Test -import kotlin.test.assertTrue - -class CoverageTests { - @Test - fun testHello() { - main() - } - - @Test - fun testA() { - val a = A() - a.f() - } -} \ No newline at end of file diff --git a/samples/csvparser/European_Mammals_Red_List_Nov_2009.csv b/samples/csvparser/European_Mammals_Red_List_Nov_2009.csv deleted file mode 100644 index bea206c0eb7..00000000000 --- a/samples/csvparser/European_Mammals_Red_List_Nov_2009.csv +++ /dev/null @@ -1,262 +0,0 @@ -Kingdom,Phylum,Class,Order,Family,Scientific Name,Taxonomic Notes,Endemic to Europe,Endemic to EU25,European regional Red List Category,European regional Red List Criteria,EU25 regional Red List Category,EU25 regional Red List Criteria,Rationale of the Red List Category,Conservation status analysis,Range,Population,Habitat,Threats,Conservation Actions,Red List Assessors -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,CANIDAE,Alopex lagopus,"""The Arctic fox is sometimes placed in a subgenus of Vulpes and sometimes in Canis. However, the species is still most often placed in Alopex. The most closely related species are swift fox (Vulpes velox) and kit fox (V. macrotis), neither of which occurs in the tundra."" (Sillero-Zubiri et al. 2004).",No,No,LC,,CR,"D1, C2a(i)","European regional assessment: Least Concern (LC)EU 25 regional assessment: Critically Endangered (CR)At the regional level, the species is Least Concern (there are large populations of >10,000 mature individuals, occupying a large area, and populations are generally stable). However, there may nevertheless be cause for concern in north-western mainland Russia, where population densities apparently are low and have failed to recover despite a decrease in hunting pressure. Little is known about the arctic fox in this region, and more information (and action) is urgently needed.Within the EU, the arctic fox is found only in Sweden and Finland, where its total population numbers at most 50-70 animals. In Sweden the population is very small but appears to have stabilized, whereas in Finland no breeding has been recorded since 2000 and the population can be assumed to be decreasing. Fennoscandian populations are all tiny and highly fragmented, so no rescue effect should be expected from outside the EU. Consequently the species qualifies as Critically Endangered (D1, C2a(i)).Arctic foxes in Fennoscandia are isolated from other populations, and thus can be described as a subpopulation (according to global Red List guidelines). Within that subpopulation there are a number of further isolated subpopulations, each numbering less than 50 individuals. The Fennoscandian subpopulation is assessed as Critically Endangered under Criterion C2a(i), as it numbers <250 mature individuals, and there are ongoing declines (although populations in Norway and Sweden are relatively stable, the Finnish population is declining).",Unfavourable,"Arctic foxes have a circumpolar distribution (Corbet 1978, Hall 1981, Ginsberg and Macdonald 1990, Pulliainen 1999, Wilson and Ruff 1999), occurring in three distinct ecological situations. Arctic foxes are found throughout the area of continental tundra that covers the northern coasts of Alaska, Canada and Siberia. They occur on most of the arctic islands including all islands of the Canadian high arctic, Greenland, Iceland, Svalbard, Jan Mayen, Bjørnøya, Novaya Zemlja, Wrangel Island, and the Komandor Islands (in addition, they have been introduced to some of the Aleutian Islands: Bailey 1992). Thirdly, they occur on the alpine tundra that occurs on the mountain ranges found along the spine of the Scandinavian peninsula (including the Kola region). Arctic foxes are also observed in the open drift ice. In a pan-European context arctic foxes occur in four geographic areas that represent all three ecological situations – continental tundra in western Siberia (Russia), arctic islands in Svalbard (Norway) and Iceland, and alpine tundra in Fennoscandia (Norway, Sweden, Finland and the Kola peninsula of Russia). Southern and altitudinal limitations on its global distribution is most probably set by intraguild competition with the larger red fox (Hersteinsson and Macdonald 1992). In Europe Arctic foxes occur from sea level to 1,500 m (N.E. Eide pers. comm. 2007).","The world population of arctic foxes is in the order of several hundred thousand animals (see Sillero-Zubiri et al. 2004 for specific details). Most populations fluctuate widely in numbers between years in response to varying lemming numbers. The species is common in the tundra areas of Russia, Canada, coastal Alaska, Greenland and Iceland. Exceptions are Fennoscandia, Mednyi Island (Komandor Islands, Russia) and the Pribilof Islands, where populations are at critically low levels (Sillero-Zubiri et al. 2004). The situation in Europe varies between areas. It is most realistic to consider the four geographic areas of occurrence separately:Western Siberia (from the White Sea to Novaya Zemlya). There are no reliable data about arctic fox numbers from this region, although Sillero-Zubiri et al. (2004) estimate that the total Russian population (including eastern Siberia) could potentially be in the order of 200,000-800,000 animals. In general in Western Russia, the species is sparse on the mainland but common on the Novaya Zemlya archipelago, where some thousands of animals can be estimated on the each island (A. Tikhonov pers. comm. 2006). Although the hunting pressure on this species is now very low all over Russia, mainland populations may not have recovered from historical overhunting (A. Tikhonov pers. comm. 2006).Svalbard. There has been no total census of arctic foxes on this archipelago, but the population is known to be numerous and stable. The arctic fox went extinct on the island Bjørnøya (part of the Svalbard archipelago) and on Jan Mayen (an isolated island further south between Svalbard and Iceland). The two populations were severely depleted following early 20th century extermination efforts (Fuglei et al. 1998). On Bjørnøya the arctic fox population has re-established by immigration over sea ice in recent years, and breeding is again documented, while no foxes have been observed on Jan Mayen since before 1998 (E. Fuglei pers. comm. 2007). Iceland. Numbers of arctic foxes on Iceland have fluctuated as a result of differing management practices. From a low point in the 1970s of around 1,300 individuals, the population reached 8,000 individuals in 2003 and is still increasing (Hersteinsson 2006).Fennoscandia. Arctic foxes were once very abundant throughout the alpine tundra habitats of Fennoscandia, but were greatly reduced due to over-harvesting in the late 19th and early 20th centuries. They have basically never recovered, despite having been protected for over 75 years (Østbye et al. 1978, Hersteinsson et al. 1989, Linnell et al. 1999, Kaikusalo et al. 2000). The most recent estimate is 120 adults in Norway, Sweden and Finland, around 50 of which are found in Sweden (Angerbjörn et al. 1995, Sillero-Zubiri et al. 2004, Angerbjörn et al. 2005), 50 in Norway (Frafjord and Rofstad 1998, Linnell et al. 1999), and 5-15 in Finland (Kaikusalo et al. 2000, Angerbjörn et al. 2005). The population on the Kola peninsula has not been accurately censused. Estimates range from c.40 individuals (Angerbjörn et al. 2005), and less than 100 individuals (A. Tikhonov pers. comm. 2006), to 1,000-2,000 animals (Potansky 1993). The latter figure is considered likely to be an overestimate (Sillero-Zubiri et al. 2004). Genetic research showed that the Arctic fox in Scandinavia presently is subdivided into four subpopulations, and that the Kola Peninsula and northwest Russia together form a large fifth subpopulation. Current dispersal between the subpopulations seems to be very low (Dalén et al. 2006). The population trend in Norway and Sweden is stable, but in Finland the population can be assumed to be decreasing as there has been no breeding documented since 2000 (H. Henttonen pers. comm. 2006).","The species is confined to arctic and alpine tundra, above or north of the treeline. The arctic fox is an opportunistic predator and scavenger, but in most inland areas the species is heavily dependent on fluctuating rodent populations. In Fennoscandia, the Norwegian lemming Lemmus lemmus was the main prey in summer (85% frequency of occurrence in faeces) followed by birds and reindeer (Rangifer tarandus) (Frafjord 1995, Elmhagen et al. 2000). Changes in fox populations have been observed to follow those of their main prey in three- to five-year cycles (Angerbjörn et al. 1995, Angerbjörn et al. 1999). The typical response to lemming peak-years is an increase in both the number of litters and litter size (Tannerfeldt and Angerbjörn 1996). Foxes living near ice-free coasts have access to both inland prey and sea birds, seal carcasses, fish and invertebrates connected to the marine environment, leading to relatively stable food availability and a more generalist strategy especially in areas without cyclic rodent populations (Hersteinsson and Macdonald 1996, Dalerum and Angerbjörn 2000, Eide et al. 2005). In Iceland, lamb carcasses frequently are found among prey remains at dens resulting in the species being considered a pest. Although individual foxes may indeed prey on lambs, it is more likely that a large proportion of the lambs have been scavenged (Hersteinsson 1996). Arctic foxes are known to prey on wildfowl (Eide et al. 2005) and occasionally kill reindeer calves (Prestrud 1992a). Foxes reach sexual maturity at 10 months, and the average lifespan for animals that reach adulthood is approximately three years (Angerbjörn et al. 2004). In more stable coastal environments the average age is probably higher (Prestrud 1992a). Arctic fox life history traits reflect adaptations to differing constraints in resource availability. Arctic foxes in unstable environments (e.g., habitats dominated by cyclic prey) have higher litter size but do not reproduce every year, whereas arctic foxes in stable environments (e.g., coastal habitats with bird cliffs), have a smaller litter size but reproduce every year (Tannerfeldt and Angerbjörn 1996, Angerbjörn et al. 2004). Social organization (home range size and territoriality) and hence local density of arctic fox is also highly influenced by resource availability; home range sizes range from 10 km2 in stable coastal habitats up to 52 km2 in more fluctuating environments (Angerbjörn et al. 1997, Strand et al. 2000, Eide et al. 2004). Hence predictable coastal habitats support a denser population of foxes compared to more unpredictable habitats. Arctic foxes tend to be territorial, with a mated pair occupying a common territory (Hersteinsson and Macdonald 1986, Prestrud 1992b, Landa et al. 1998, Tannerfeldt and Angerbjörn 1996, Eide et al. 2004). Additional, but non-reproductive adults may also be present within the territory even though their function as “helpers” may be somewhat limited. In some rare cases it has been observed that two adult females will reproduce within the same territory (Strand et al. 2000, Angerbjörn et al. 2004, Bodil Elmhagen pers. comm.). As a result of these home range sizes and territorial social organisation typical densities can vary from 20 adults per 100 km2 to 2-4 per 100 km2. A noticeable feature of arctic fox ecology is dependence on and year round use of dens. These dens are normally excavated in sandy soil and can reach a considerable size (Østbye et al. 1978, Dalerum et al. 2002, Frafjord 2003). After several decades, or even centuries, of use they can acquire many tens of openings. In areas without sandy deposits foxes use crevices in cliffs or moraines as dens (Prestrud 1992b).","Globally the large populations on the continental tundra of Alaska, Canada and Siberia (except Kola) and the island of Greenland are all harvested by trapping or shooting. The main motivation is for fur, although they are killed around settlements in parts of Greenland to reduce the risk of rabies being spread to sled dogs and humans. There is nothing that indicates that these populations are currently threatened by overharvest. The small population on the Komandor islands is threatened by a form of mange (Otodectes cynotis: Goltsman et al. 1996).In Europe the threats vary between regions.The animals occupying western Siberia are exposed to trapping, but nothing indicates that this is representing an immediate threat. There is no other information available about threats to this population.On Svalbard arctic foxes are trapped, but the extent of this trapping is limited to areas close to settlements, and it is therefore not regarded as a threat (Fuglei et al. 1998). Possible threats include accumulation of long distance transported pollutants and climate change, which may influence sea ice conditions in the future. The arctic fox on Svalbard (Norway) has higher levels of persistent organic pollutants (POPs) than foxes in other parts of the arctic (Norheim 1978, Wang-Andersen et al. 1993, Fuglei et al. 2007). The levels are similar to those found in polar bears from Svalbard and Greenland (Verreault et al. 2005). Such high concentrations of contaminants may have possible toxic health effects. The island Bjørnøya holds a small, recently re-established population of arctic foxes, while no foxes have been reported on Jan Mayen since before 1998 (E. Fuglei pers comm. 2007). Arctic foxes on these islands are protected and the main threat appears to be lack of influx of new animals and the extremely small population size. These islands were part of the Svalbard metapopulation, as sea ice allowed connectivity. Climate change through reduction in the extent of the sea ice might in fact explain why the arctic fox has not re-established on Jan Mayen (E. Fuglei pers comm. 2007).On Iceland the status of arctic fox has changed. Historically they were heavily persecuted because of the belief that they were involved in depredation on livestock. Recent legislation has restricted harvest and the population is increasing (Hersteinsson 2006), although in many areas they are still hunted year round.In Fennoscandia arctic foxes are scattered along the peninsula in very small populations that are relatively isolated from each other. The alpine tundra habitat is naturally fragmented, but the degree of population fragmentation has increased due to the extinction of local populations. The populations have not increased despite over 75 years of protection. Overexploitation due to hunting and trapping was most probably the originate threat and the reason behind the dramatic decline of arctic foxes in Fennoscandia (Østbye et al. 1978, Hersteinsson et al. 1989, Angerbjörn et al. 1995, Linnell et al. 1999, Kaikusalo et al. 2000). The value of arctic fox fur together with high grants for killing foxes gave motivation for this strong persecution. In 1924 Norwegian trappers could get 25% more than an average year's salary for a peasant for only one skin (Østbye and Pedersen 1990). Establishment of the fox farm industry at the beginning of 1900 probably also forced the decline further. Live trapping of foxes also continued also after protection. Arctic fox den sites are easy to spot and several dens were dug out during the sixties to catch cubs to bring in to fur farms (Østbye et al. 1978). The exact reason why the population in not responding to protection is not understood, but a range of factors are believed to be involved, including:Intraguild competition with red foxes. Red fox populations have increased and expanded in range throughout the 20th century, both in the boreal region and above the treeline to alpine tundra habitat (Selås and Vik 2006, Elmhagen et al. 2007). It is known that they have occupied former arctic fox dens in the most productive, low lying areas (Østbye et al. 1978, Linnell et al. 1999, Frafjord 2003, Tannerfeldt et al. 2002, Kaikusalo et al. 2000). Red foxes occupy the same niche and eat the same prey as arctic foxes (Elmhagen et al. 2002), they can kill arctic fox pups and adults (Frafjord et al. 1989, Tannerfeldt et al. 2002), and arctic foxes avoid breeding close to red foxes (Tannerfeldt et al. 2002). Therefore the potential for a negative effect is clearly present.Genetics. The remaining arctic fox populations are all very small and relatively isolated from each other. Today the population consists of four genetically distinct subpopulations with very little exchange of dispersing animals (Dalén et al. 2002, Dalén et al. 2006). Therefore the potential for inbreeding is high. So far there are no obvious signs of inbreeding depression but individual genetic variation was negatively associated with fitness (Dalén et al. unpublished). Although there is still a surprisingly high degree of variation, by comparison with historical samples it is clear that 25% of the variation has been lost (Nyström et al. 2006). Hybridization with arctic foxes that have escaped from fur farms has also been documented. Genetic mapping revealed hybridization of genotypes originating from escaped farm foxes (Norén et al. 2005), mixing in haplotypes not found in the wild Fennoscandian arctic fox (Dalén et al. 2005). The amount of reported escapes of farm foxes has increased in recent years and even breeding has been observed (N.E. Eide pers. comm. 2006). However at present demographic stochasticity probably remains a greater threat than inbreeding.Small population size. The small size of populations directly increases their individual risks of extinction, especially when they occupy a fluctuating environment with strong year to year variation in the probability of reproducing (Linnell et al. 1999, Loison et al. 2001). Extinction risk is further increased by fragmentation, which reduces the chance of rescue effects occurring (Dalén et al. 2006).Climate change. Projected climate change would intensify fragmentation of the Fennoscandian mountain plateau even further, and may exclude the arctic fox from lower lying alpine tundra areas. For a review of the potential impacts of climate change on arctic foxes see Ims and Fuglei (2005).","Occurrence in protected areasGood information is available for Norway, Sweden and Finland. For Iceland, Arctic foxes could potentially appear in most protected areas (Sillero-Zubiri et al. 2004). Norway: The National Parks Blåfjell-Skjækerfjella, Børgefjell, Saltfjellet, Øvre Dividal, Reisa. On Svalbard Arctic foxes are found in most protected areas.Sweden: The National Parks Sarek, Padjelanta, and Stora Sjöfallet, in the county of Norrbotten; the Nature Reserves Vindelfjällen, Marsfjället, and Gitsfjället, in the county of Västerbotten; the Nature Reserves Hamrafjället, Henvålen-Aloppan, Vålådalen, Gråberget-Hotagsfjällen, Frostvikenfjällen, Sösjöfjällen and Skäckerfjällen, in the county of Jämtland.Finland: Malla, Käsivarren erämaa, Iiton palsasuot, Saanan luonnonsuojelualue, Muotkatunturin erämaa, Hanhijänkä Pierkivaaran jänka, Pieran Marin jänkä, Kevo, Kaldoaivin erämaa, Paistunturin erämaa, Pulmankijärvi.There appear to be no significant protected areas in the the Kola peninsula that contain arctic foxes.LegislationIt is strictly protected under the Bern Convention (Appendix II), and is listed on Annex II* and Annes IV of the EU Habitats & Species Directive. In most of its range, the arctic fox is not protected under national legislation. However, the species and its dens have had total legal protection in Sweden since 1928, in Norway since 1930, and in Finland since 1940. In Europe, the arctic fox is a priority species under the Actions by the Community relating to the Environment (ACE). Conservation measures takenAction plans based on status reports have been developed for arctic foxes in Sweden (Löfgren and Angerbjörn 1998) and Norway (Direktoratet for Naturforvaltning 2003), and a status report has also been published for Finland (Kaikusalo et al. 2000). In Sweden and Finland, a species-specific conservation project has been completed (SEFALO), and a second is under way (SEFALO+), the latter also involving work in Norway (Angerbjörn et al. 2005). Measures taken include den monitoring (and protection of den sites by excluding ptarmigan hunting in Sweden only), supplementary feeding, red fox control, disease research, as well as building public awareness and education work (Angerbjörn et al. 2005). In Norway a captive breeding programme on arctic foxes was started in 2000 and extended in 2007. The first successful captive reproduction and release of foxes happened in 2006 (A. Landa pers. comm. 2006). A research programme on red fox control was started in northern Norway in 2004. Programmes to build public awareness have also been started in Norway by non-governmental organizations (www.fjellrev.no). A number of research projects on the arctic fox are underway, of which further details can be found in Sillero-Zubiri et al. (2004).","P. Hersteinsson, A. Landa, N.E. Eide, J.D.C. Linnell, H. Henttonnen, A. Tikhonov, A. Angerbjörn." -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,CANIDAE,Canis aureus,,No,No,LC,,NT,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Near Threatened (NT)In Europe as a whole, the population trend is stable to increasing. The golden jackal is patchily distributed over a wide area, locally common, and faces no major threats. Hence it is listed as Least Concern.Within the EU 25 it is only found in Greece and Hungary, with vagrants in Italy, Austria, Slovenia and Slovakia. The distribution is patchy and fragmented, and each subpopulation consists of fewer than 1,000 mature adults. There has been more than a 50% population reduction in the past 20 years in Greece, but its population has expanded rapidly in Hungary during that same period. Overall, there is believed to have been a small population decline in the EU 25 over the last 18 years (3 generations), and the net population trend is believed to be slightly decreasing at present. Therefore it qualifies as Vulnerable under Criterion C2a(i). However, as it is a mobile species that readily colonises new areas, there is likely to be a rescue effect from expanding jackal populations in parts of Europe outside the EU 25. Consequently the assessment is downgraded by one category to Near Threatened.",Unfavourable,"The golden jackal has a large global distribution extending from north and east Africa and south-eastern and central Europe eastwards through the Middle East, the Caucasus and central and and southern Asia to Burma and Thailand (Sillero-Zubiri et al. 2004). It is the only jackal species that occurs outside subsaharan Africa. In Europe, it is resident in the Balkans and, since recent times, in Hungary and southwestern Ukraine. It has a very patchy distribution in Europe. It is regularly found as a vagrant in Austria, Slovakia, Slovenia and northeastern Italy (Kryštufek 1999). It is generally found between sea level and 600 m, and occasionally up to 1,000 m in the Peloponnese (Greece) (G. Giannatos pers. comm. 2006).","In Europe, the jackal occurs in small and scattered populations, mainly along the Mediterranean and Black Sea coast of the Balkan Peninsula and in southern parts of Hungary. Over the last century, its distributional border has fluctuated, and there have been both local colonisations and extinctions (Kryštufek 1999). In Greece, one of its European strongholds, its range and population have declined over the last 25 years, and it is by far the most rare canid species (Giannatos 2004, Giannatos et al. 2005). It is now stable in northeastern Greece (and may even be increasing) but in parts of southern Greece is still declining. The largest population in Europe is found in Bulgaria where the species has increased 33-fold in the last 20-30 years (Kryštufek and Tvrtkovic 1990). In Hungary, the jackal went extinct in 1942, but it has naturally recolonised over the last few decades, and now has a rapidly expanding population of c.1,000 individuals (Heltai et al. 2000, Heltai et al. 2004). Other population estimates for the jackal include 5,000 individuals (Bulgaria), >1,000 adults and sub-adults (Greece), and 40-50 animals in 7-8 groups (Ukraine) (Giannatos 2004, Giannatos et al. 2005). The global population is large, with a minimum of 80,000 individuals estimated for the Indian sub-continent (population estimates for Africa are not available), but it may be declining as a result of agricultural intensification and urbanisation (Sillero-Zubiri et al. 2004).","Globally, it occupies a wide range of habitats, from the Sahel desert to the evergreen forests of south-east Asia (Sillero-Zubiri et al. 2004). In Europe, it prefers cultivated areas and wetlands in lower elevations, with adequate cover to be used for hiding and breeding. Dense continuous forests and large intensively cultivated areas without cover are not suitable. Moderate human activity may benefit the jackal, as it tends to increase availability of food (carrion, refuse, and animal dung) (Giannatos 2004). In Central Europe (Hungary) the dominant food of golden jackal is small mammals, and the trophic niche overlap with red foxes is usually high, although the jackal seems to be more carnivorous and more specialist than the fox (Lanski and Heltai 2002, Lanski et al. 2006).","In Greece, population declines have been linked to loss of suitable habitat caused by changes in agricultural practices (intensification), specifically the loss of scrubby patches used as cover (Giannatos 2004). Changes in animal husbandry may have reduced the food base. Throughout its range, the species is widely persecuted as a pest.","The jackal is not considered a priority species for the European Union (it is included in the Annex V of the Habitats Directive, 92/43 EC). In Bulgaria, Croatia and Hungary it is a game species, and in Greece it is not classified. An Action Plan has recently been produced for jackals in Greece (Giannatos 2004), which suggested the following conservation measures: preservation and restoration of safe and good quality habitat; scientific research and monitoring to develop a database in order to improve management decisions for jackal conservation and promote co-operation of the jackal hosting countries in the region; legislation improvement; and public awareness, education and information to improve the animal's public image.","Giorgos Giannatos, Boris Kryštufek" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,CANIDAE,Canis lupus,"All European wolves are Canis lupus. Only two subspecies are recognized: C. l. signatus (Iberia) and C. l. italicus (Italy, France and Switzerland)",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)Following the bottleneck of the 1960s and 1970s, the European wolf population is generally increasing in number and expanding the distribution range. The total number of wolves in the EU 25 is likely to be in the order of 4-5,000, and the number of wolves in geographic Europe is likely to exceed 10,000. Consequently the species qualifies as Least Concern at the European and EU 25 level. 1. IberiaNear Threatened. The Iberian population is large (about 2,500 wolves) and expanding toward south and east. It does not qualify for the category Vulnerable and it is maintained in category Near Threatened because of the fragmentation in management regimes, the lack of a population level management plan, the occurrence of largely unpredictable events of human reaction against wolves (poison, shooting, etc.) that may threaten the population at local level. The small population of Sierra Morena is far from the main population in the North and should be classified as Critically Endangered (D). 2. Western-Central AlpsEndangered (D). The Alpine population is the recent outgrowth of the Italian wolf population and it is still numerically small. Though it is increasing fast, it is currently estimated to be 100-120 animals, and it has limited genetic and demographic contacts with the adjacent population of the Apennines (less than one successful migrant per year, meaning that it qualifies as a subpopulation under IUCN Red List guidelines). Its small size justifies the assessment in category Endangered.3. Italian peninsulaVulnerable (D1). The Italian wolf population is estimated to be 500-800 individuals distributed along the Apennines. The shape of the range is narrow and elongated, restricted to the Apennines. The population has limited exchanges with the population of the Western Alps and recent genetic evidence indicates a flux of genes only in the direction toward the Alps. In spite of the recent increase in numbers and range, the Italian wolf population is still highly vulnerable to local extermination from human pressures (poison, shooting, car accidents) and the stochastic nature of these events suggest to maintain a cautionary assessment. The population does not qualify for the category Endangered, but it may easily reverse its current favourable status. 4. Dinaric-BalkanLeast Concern. This large wolf population (c.5,000 animals) appears to be in favourable conservation status mainly due to the limited management caused by the recent political instability of large areas of the region. However, the more marginal parts of the range may be subject to excessive pressure from human disturbance (Slovenia, southern Greece) and ad-hoc management actions should be implemented. 5. CarpathianLeast Concern. This large wolf population (c.5,000 animals) appears to be in favourable conservation status mainly due to the conservation implemented in Romania. However, some of the marginal areas of the range may be subject to excessive pressure (southern Poland, Slovakia) and may require ad-hoc conservation measures. Those marginal areas are also critical because of completely different management regimes implemented in neighboring countries (Ukraine, Poland and Slovakia). To ensure viability of those marginal parts of the Carpathian population international common decisions are important. 6. BalticLeast Concern. The relatively large number of wolves and the continuity of the range into Russia support its assessment in the category of Least Concern. However, the small portions of the population in Poland and some of the Baltic States may require conservation measures to ensure their long term persistence. 7. KareliaNear Threatened. The total population in Finland and Russian Karelia is not known, but is considered likely to number less than 10,000, and it may be declining as a result of persecution. The degree of fragmentation is not known. Consequently it is assessed precautionarily as Vulnerable (C2a(i)). The Karelian population is generally considered to be in contact with the large Russian population, and there would potentially be a rescue effect, so the assessment is downgraded by one step to Near Threatened. Very little information is currently available on the status of the wolf in Russian Karelia, and this population should be reassessed if any new relevant data becomes available.8. ScandinaviaEndangered (D). The number of mature individuals is estimated to be less than 250. The population has low genetic variability and has had no genetic exchange with the Finnish population since 1991.9. Germany/western PolandCritically Endangered (D). The population is tiny, fragmented and isolated.",Possibly Favourable,"Originally, the wolf was the world's most widely distributed mammal, living throughout the northern hemisphere north of 15°N latitude in North America and 12°N in India. It is distributed worldwide under domestication (as the domestic dog Canis familiaris). It has become extinct in much of Western Europe (Boitani 1995), in Mexico and much of the USA (Mech 1970). Present distribution is more restricted; wolves occur primarily in wilderness and remote areas, especially in Canada, Alaska and northern USA, Europe, and Asia from about 75°N to 12°N (Sillero-Zubiri et al. 2004). In Europe wolves are found from sea level to 2,400 m, although in central and southern areas they tend to occur in mountainous areas above 600 m, as a result of persecution (Sulkava and Pulliainen 1999). The European wolf population is a large metapopulation with several distinct fragments, which can be described as follows (LCIE 2007):1. Iberia Wolves are found in the north-western quadrant of Iberia including the western Basque country. Not in the Pyrenees, but south as far as Ávila. A very small number of wolves is isolated in the Sierra Morena mountains in southern Spain (Blanco and Cortés 2002, Álvares 2005).2. Western-Central AlpsThe population occupies an area that includes most of the Western Alps in France and Italy, many wolf packs territories being transboundary along the French-Italian border south of Valle d’Aosta. Isolated animals are dispersing regularly into Switzerland as far as Grisons but failed, until now, to establish a permanent pack (Boitani 2003, Marucco et al. 2005, Tropini et al. 2005). 3. Italian peninsulaWolves occur in the whole Apennines range from Liguria to Calabria (Aspromonte) and extending into northern Lazio and central western Tuscany (provinces of Siena, Grosseto and Pisa) (Ciucci and Boitani 1998, Corsi et al. 1999, Boitani 2003).4. Dinaric-BalkanThe population cover a vast area from Slovenia to north-central Greece and it includes the whole Dinaric mountain range through Croatia, Bosnia-Herzegovina, western Serbia and Kosovo, Montenegro, F.Y.R.O. Macedonia, Albania, western and southern Bulgaria. 5. CarpathianThe central Carpathian mountains in Romania are home of one of the healthiest and more numerous wolf population in Europe. This population extends across several countries, from Northern Bulgaria to Eastern Serbia, Romania, south-western Ukraine, Slovakia and southern Poland. Wolves are rarely reported in the Czech Republic.6. BalticThis population covers eastern Poland, Lithuania, Latvia, Estonia, Belarus, northern Ukraine and the Russian oblasts of Kaliningrad, Lenningrad, Novgorod, Pskov, Tver, Smolensk, Bryansk, Moscow, Kursk, Belgorod and Orel.7. KareliaWolves occur in Finland (mainly in the south) and Russian Karelia. The Finnish wolf population is a fringe population of a large Russian population.8. ScandinaviaThe distribution range of the population is in central Sweden and, to a lesser extent, in south-eastern Norway. It is spreading slowly toward southern and northern Sweden and into southern Norway.9. Germany/western PolandThis population consists of scattered packs living in eastern Germany (Saxony) and western Poland.","Because of the diversity in climate, topography, vegetation, human settlement and development of wolf range, wolf populations in various parts of the original range vary from extinct to relatively pristine. Wolf densities vary from about one per 12 km² to one per 120 km². Sillero et al. (2004) provide details, for each range country in the world, on subspecies present, population status, approximate numbers, the percentage of former range occupied at present, main prey (where known), legal status, and cause of decline. The European wolf population is a large metapopulation with several distinct fragments, although dispersal could theoretically connect almost all fragments. Following the bottleneck of the 1960s and 1970s, the European wolf population is generally increasing in number and expanding the distribution range. However, most European populations are still small and only a few have more than 1,000 animals (see below for specific details). Dispersing animals can be found anywhere in Europe. The total number of wolves in the EU 25 is likely to be in the order of 4-5,000; some of the populations are in continuity with wolf populations living in countries not yet part of the EU. The number of wolves in geographic Europe is likely to exceed 10,000.1. IberiaPopulation size: 2,500 wolves (including c.50 in the Sierra Morena). The Iberian wolf (Canis lupus signatus) may be a distinct subspecies. After the population reduction up to the 1960s, it is currently increasing in numbers and expanding its range across central Spain. The northwestern population is expanding, having recently crossed the Duero river in Spain. There are three distinct population segments within this population. The largest is that north of the river Duero in both countries. South of the Duero in Portugal there is a small segment of around 50 wolves which has only limited exchange of animals with the segments north of the Duero in Portugal and east to the Spanish segment south of the Duero. The isolated population in the Sierra Morena numbers c.50 individuals and appears to be stable. The nearest wolf population is in the Western Alps and connections between the two are nonexistent or limited to exceptional cases. In Cataluña, there are currently 2-3 wolves that have been genetically identified as members of the Alpine population from where they are assumed to have dispersed naturally (Blanco and Cortés 2002, Álvares 2005). 2. Western-Central AlpsPopulation size: 100-120 wolves. This population is of Italian origin and all wolves share the same Italian genetic haplotype. Individual wolves dispersing from the Apennines first colonized the Alps in 1992 and succeeded in establishing a permanent and expanding population which shows a highly dynamic spatial pattern spreading towards the west and north. The total number is estimated to be 100-120 wolves, increasing on average by 10% per year. The genetic continuity with the Apennines population has been recently assessed at 2.5 individuals per generation, all of them moving from the Apennines to the Alpine population. In 2005, a young radio-marked wolf dispersed more than 1000 km from Parma to Nice, providing evidence of the natural dispersal along the northern Apennines range. In spite of the continuity between the two populations, their ecological and socio-economic contexts are sufficiently different to justify a separation for management purposes (Boitani 2003, Marucco et al. 2005, Tropini et al. 2005, LCIE 2007).3. Italian peninsulaPopulation size: 500-800 wolves. The population has been described in 1921 (Altobello 1921) and confirmed in 1999 (Nowak 1999) as a distinct subspecies (Canis lupus italicus). It is genetically recognized by the presence of a unique mtDNA haplotype. After the population bottleneck of the 1960s, when total numbers were estimated to be about 100 animals, the population has steadily recovered and expanded into the western Alps. In 2006, the population was estimated to be 500-800 wolves. The nearest population (apart that in the Western Alps, see above) is in Slovenia (Dinaric-Balkan population). However, a large portion of the central Alps and the agricultural Po river valley effectively separate the Italian and the Dinaric populations (Ciucci and Boitani 1998, Corsi et al. 1999, Boitani 2003).4. Dinaric-BalkanPopulation size: 5,000 wolves.There is continuity of the population and suitable habitats throughout the range although the population might be significantly structured within the elongated range. The population is estimated to number c.5,000 individuals, although locally the densities may vary greatly and its overall demographic trend is unknown. In Croatia and Slovenia, the population has recovered significantly following active management started in the 1990s. To the north, the population has no contact with the nearest population in Italy, although dispersing animals are reported in Austria and eastern Italy. To the east, the population may exchange individuals with the large wolf population of the Carpathians which extends into northern Bulgaria (Iliopoulos 1999, Kusak et al. 2005, Štrbenac et al. 2005).5. CarpathianThis population is estimated to number c.5,000 animals, the majority of them living in Romania and Ukraine. Slovakia hosts about 400-500 wolves and southern Poland contributes with good wolf habitat in the areas along the south-eastern borders (wolf population in Polish Carpathians is about 180-220 individuals). In the past, there was natural continuity with wolves living in northern Poland and Belarus but the link is now constrained by large areas where wolves have been exterminated. Nevertheless, it is likely that some level of genetic exchange still occurs with the Dinaric-Balkan population in western Bulgaria and with the Belarusian population in eastern-central Poland (Okarma 1993, CLCP 1997-98, 2000, 2001, 2002; Smietana and Wajda 1997, Okarma et al. 2000). 6. BalticPopulation size: 3,600 wolves. The trend throughout the region appears to have been very consistent. At the start of the 20th century populations were reduced, but still widely present, these increased during and after World War 1. In the period between the wars, populations were greatly reduced again, but recovered to peak levels during and after Word War 2, only to be heavily persecuted in the 1950s such that they again reached very low levels in the 1960s and early 1970s. The populations appear to have then increased, peaking in the early 1990s – before being shot down again in the late 1990s. There are about 1,000 wolves in Poland and the Baltic States, about 1,000 in Belarus and 1,600 in the neighbouring Russian oblasts. This population is the westernmost portion of the large Russian population and it connects with the wolf range of Russian Karelia. In Poland, although the distribution is not continuous, it is highly likely that dispersal is still possible between the northern and southern populations (Carpathian), and dispersal towards west (Germany) is still observed (Bluzma 2000, Ozolins and Andersone 2001, Valdmann 2001, Sidorovich et al. 2003, Linnell et al. 2006). 7. KareliaPopulation size: 750 wolves. Following widespread control of the population in the first part of 20th century, the population recovered after the 1980s and 1990s. The current estimates are based on counts of family groups in Finland (about 200 wolves in Finland) and the population is expanding. In Karelia wolf numbers appear to be stable.8. ScandinaviaPopulation size: 130-150 wolves. The population derives from a pair that immigrated from Finland and first reproduced in Sweden in 1983. A third immigrant in 1991 boosted the reproduction and the population is now estimated to be 130-150 wolves (about 20% in Norway), with as many as 15 litters produced in 2006. The population has been steadily increasing from 1983-2001, then slightly decreased in 2002-3, and is currently increasing again. There is evidence of no genetic exchanges with the Finnish/Russian wolf population after 1991. Immigration from Finland is the only possible mechanism to increase the genetic variability of the population.9. Germany/western PolandPopulation size: <50 wolves. Wolves were exterminated in Germany during the 19th century, but individuals that were dispersing from Poland were shot occasionally throughout the 20th century. In the mid 1990s a pack began breeding in Saxony, and there are currently two packs breeding regularly. Wolves in western Poland have had a dynamic history, but presently there are only a few widely scattered packs throughout the region. This population is extremely fragmented internally. Potential connections exist to both the Baltic and Carpathian populations, but the distances are in the order of several hundred kilometers.","Wolves live in diverse habitat types and their broad distribution ranges show the species' adaptability to the most extreme habitat conditions. The wolf's habitat has been described as everywhere where humans do not kill it and where there is something to eat. Where wolves depend on wild ungulate prey, their habitat is that of their prey. Habitat quality should thus be interpreted in terms of human disturbance, prey densities and range size. In general, large forest areas are particularly suitable for wolves in Europe, although wolves are not primarily a forest species. The wolf has a very diversified diet and is a true generalist that feeds opportunistically on what is most available in its habitat. The wolf diet may include large prey, such as moose, deer and wild boar, or small vertebrates, invertebrates, vegetables and carcasses. Diet composition throughout the geographic range and seasonal variations depends on the relative abundance of potential prey, as well as accessibility and availability. A wolf typically requires 3-5 kg of meat per day, although it can fast for several days when food is not readily available.","Human intolerance is perhaps the greatest threat facing wolves in Europe today. Fear, misunderstanding and the fact that wolves do kill livestock have prompted an uneasy relationship with people in many areas, leading to direct conflict and persecution. In some countries unrestricted hunting of wolves poses a threat, while in others, licenses for killing wolves are issued irrespective of biological understanding. Poaching is widespread and probably represents the most important mortality factor for the wolf in Europe. Wolves preying on domestic animals have been a problem since man progressed from hunter/gatherer to farmer, and although the numbers of sheep or cattle taken are, as a percentage very low, livestock depredation remains the primary reason for exterminating wolves. Human encroachment is the most significant threat to wolf habitat. Wolves can live close to humans but they require safe areas in which to retreat. This is not considered in land planning in wolf areas and the small, fragmented populations in Western Europe can result in animals moving into unsuitable habitat. Specific threats to different European wolf populations are as follows:1. IberiaIllegal killing is still common (estimated to account for 50% of the total mortality) and poison baits are used (Blanco and Cortés 2002, Álvares 2005). 2. Western-Central AlpsDocumented causes of mortality include primarily car or train accidents and poaching events. Several cases of illegal killings have been reported in France and Italy, and conflicts with hunters and farmers are constantly reported. Both France and the Regional Government of Piemonte have been carrying out extensive and continuous research and monitoring of the wolf population and the damages to livestock and excellent data is available for management purposes. The number of livestock depredations in the Italian Alps is decreasing, despite the increase in wolf numbers, due to the high efforts in the implementation of preventive practices promoted by the Regional Government of Piemonte. Also if the wolf presence is still far from being accepted by local farmers and livestock breeders, the general attitude is improving (Boitani 2003, Marucco et al. 2005, Tropini et al. 2005).3. Italian peninsulaThe population is protected on paper but the law is poorly enforced and unpersecuted illegal killing is very common throughout the range. Poison baits are increasingly used against dogs, foxes and wolves. Hybridization with dogs has been found and it appears to account for at least 5% of the total wolf population (Ciucci and Boitani 1998, Corsi et al. 1999, Boitani 2003, Verardi et al. 2006). 4. Dinaric-BalkanLegal hunting and illegal killing are taking an unknown number of wolves throughout most of the range. Other pressures are commonly reported: widespread use of poisons, habitat fragmentation due to construction of fenced highways and shortage of wild preys (Huber et al. 2002, Iliopoulos 2005).5. CarpathianPoison baits and illegal killing are widespread throughout the range. In Ukraine, wolves are often treated as a pest species.6. BalticThe Latvian population appears to be on the way to being divided into two, with the area south of Riga starting to appears as a carnivore free area. This development will greatly increase the vulnerability of carnivore populations in western Latvia. 7. KareliaThe main threat to wolves in this region is killing by humans. In Finland, wolves cause very limited damage to livestock; predation on domestic dogs is the most frequent damage that cause strong resentment from the public. 8. ScandinaviaThe inbreeding coefficient is very high, on average higher than for full siblings mating (Liberg et al. 2005). Predation on domestic dogs, sheep and reindeer are the most frequent damages that cause continuing debate on wolf conservation.9. Germany/western PolandThe main risk for this population is its very small size, highly fragmented internal structure, and long distance from any other source. Coordination between Germany and western Poland is crucial. A single litter of wolf-dog hybrid pups was born in 2003.","The species is strictly protected by the Bern Convention (Appendix II) and is in Appendix II of CITES. In the European Union the species is protected by the Habitats Directive but there are several exceptions:1) in Spain, wolves north of the Duero river are not protected2) in Greece, wolves north of 39°N are not protected3) in Finland, wolves occurring in the reindeer herding area in northern Finland fall under Annex V of the Habitats Directive; wolves outside the reindeer herding area fall under Annex IV4) in the Baltic States (Estonia, Latvia and Lithuania) wolves are harvested (HD Appendix V)In general, habitat restoration is required in key areas to increase a healthy prey base and encourage wolves to move back into their former territory where appropriate. Corridors of land between small populations need to be established to allow movement of animals and prevent local extinctions. Conflict with humans needs to be addressed by involving local people in wolf management plans and through education programmes to increase people' s understanding of wolf biology and behaviour. Problems resulting from wolves preying on domestic animals need to be tackled by livestock protection schemes and compensation systems. Details of specific conservation measures for European wolf populations are given below: 1. IberiaWolves are fully protected in Portugal and south of the Duero river in Spain. North of the Duero, wolves are game species under various management regimes depending on legislation of 8 autonomous regional governments. Asturias has a wolf management plan and Galicia and Castilla y León are about to approve their plans. The autonomous regions are gradually approving their action plans. However, management coordination among the regional governments and between Spain and Portugal is very limited. The sub-population of Sierra Morena require ad-hoc management to ensure its viability (Blanco and Cortés 2002, Álvares 2005).2. Western-Central AlpsThe population is fully protected under the French, Italian and Swiss law. In France and Switzerland the national Action Plans include provisions for legal take of few wolves under strict conditions of damages on livestock. The three countries have recently (2006) signed a formal agreement of cooperation for the management of the entire population, marking an innovative procedure based on the recognition that the biological population needs to be managed through a common and accepted approach. 3. Italian peninsulaFully protected by a national law, while damage compensation is provided by 14 different regional laws. Compensation paid per wolf has been estimated to be the highest among European countries, but the effectiveness of compensation programs has never been assessed and it is increasingly questioned. Apart from formal protection the population is not actively managed. The species occur in several protected areas throughout its range but the size of these areas is far too small to protect a viable population. In spite of formal protection, illegal killings are estimated to take a substantial portion of the population every year (up to 15-20%). A national Action Plan sets the broad strategic ground for management but is not being implemented by the national and regional governments (Ciucci and Boitani 1998, Corsi et al. 1999, Boitani 2003). 4. Dinaric-BalkanManagement is fragmented by several national laws. It is a game species in almost all countries, except for Slovenia, Croatia and Greece south of 39° latitude where wolves are fully protected. In Croatia, an effective Action Plan is in place and implemented (Štrbenac et al. 2005). In general, law enforcement is weak or totally absent even in protected populations.5. CarpathianIn Slovakia wolves are game species with hunting season 1.11-15.1 and no quotas per season; in the Czech Republic they are protected game species, but hunting is prohibited; in Poland they are protected and in Romania they are protected game species with hunting quotas decided yearly; in Ukraine wolves are not game species nor protected (often treated as “pest” species, with bounties of c.20 Euro per individual) (Salvatori et al. 2002). 6. BalticThe standard management practice for most of the 20th century was open harvest, often with bounty incentives, all with the view of exterminating wolves, or at least seriously reducing their numbers. This situation persisted until the 1990s, when restrictions on their harvest gradually came into place in all countries They are currently protected in Poland, but harvested in the three Baltic States (EU Habitats & Species Directive Appendix V) and in Belorussia and Ukraine. The sub-population of western Poland and Germany requires ad-hoc management to ensure its viability. There is an action plan for the conservation of the wolf in Latvia (Ozolins and Andersone 2001).7. KareliaIn Finland, wolves occurring in the reindeer herding area fall under Annex V of the Habitats Directive; those outside the reindeer herding area fall under Annex IV. Finland has recently approved a National Management Plan that include removal of some wolves under controlled circumstances. In Russian Karelia, wolves are killed throughout the range and at any time. In spite of the small number of wolves, Finland has approved a plan to maintain the population within the current size (Ministry of Agriculture and Forestry 2006). Discontinuous flow of dispersing wolves from Russia allow a reasonable but cautiously positive forecast on the conservation of this population.8. Scandinaviait is fully protected in Sweden and Norway; however, Norway applies a zoning system that includes culling of wolf numbers in the areas where damages are considered unacceptable. Both Norway and Sweden provide full compensation of damages; Sweden applies a preventive compensation system to reindeer breeders that operate in areas where wolves live.9. Germany/western PolandWolves are protected in both countries, but the extent to which protection is enforced in western Poland is questionable.",Large Carnivore Initiative for Europe -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,CANIDAE,Vulpes corsac,"Canis corsac Linnaeus, 1768:223. Type locality: “in campismagi deserti ab Jaco fluvio verus Irtim”; restricted by Ognev (1935) as “USSR, N. Kazakhstan, steppes between Ural and Irtysh rivers, near Petropavlovsk” (in Honacki et al. 1982). It has been suggested that Canis eckloni described by Przhevalski (1883) from Northern Tibet is a subspecies of the corsac (Ellerman and Morrison-Scott 1951). However, Canis eckloni is in fact a junior synonym for Vulpes ferrilata (Geptner et al. 1967). This confusion probably originated from earlier work by Przhevalski referring to the latter as “corsac”. Chromosome number: 2n=36, FN=72 (Aristov and Baryshnikov 2001).",No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)The corsac is found in central Asia, ranging into Mongolia and northeastern China. Populations fluctuate significantly. Population decreases are dramatic, caused by catastrophic climatic events, and numbers can drop tenfold within the space of a single year. Corsac foxes have the ability to forego water and food for extended periods of time. They are well adapted to a hot and dry climate. Current population status, and the nature of major threats, is unknown in most regions. However, the species is not considered threatened at present.",-,"Narrower than the historical range and includes two parts. The first covers the Middle Asian republics of Turkmenistan, Uzbekistan, Tajikistan and Kazakhstan, as well as steppe and forest-steppe areas of Russia, including the southern region of Western Siberia. In Europe its range reaches the Samara Region, Tatarstan to the North and northern Caucasia to the South. The second, much smaller area lies in southern Transbaikalye representing the northern periphery of the Mongolian and Manchurian section of the species area. Outside Russia the species area includes the steppe part of north-eastern China, including Manchuria, Inner Mongolia, and the region between Argun and Big Khingan, the entire Mongolian republic except for its forested and mountain regions, Dgungaria, Kashgaria, Afghanistan (probably only northern) and north-eastern Iran. Southern limit of distribution is unknown, but possibly it reaches to the mountain ridges separating the Tibet Highland from the North. Thus, the two ranges (western and eastern) are connected by a relatively narrow neck in the Dgungar Gate and Zaisan Basin region. In recent years a westward area expansion has been recorded, particularly into the Voronezh region following active recovery of baibak (Marmota bobak) populations. Occasionally, the species is recorded from the Ukrainian steppe (as far as Pavlodar to the West), eastern Transcaucasia (Azerbaijan) and, probably, western Kyrgyzstan.","Corsac populations fluctuate significantly. Population decreases are dramatic, caused by catastrophic climatic events, and numbers can drop tenfold within the space of a single year. On the other hand, in favourable years numbers can increase by the same margin and more within a three to four year period. Corsac foxes have the ability to forego water and food for extended periods of time. They are well adapted to a hot and dry climate. Current population status is unknown in most regions. Dramatic population changes were reported during the last century in PredKavkazie, between Kuma and Terek rivers and in Kuma-Manich Channel region. A drastic population decline was reported at the beginning of the last century (Dinnik 1914). Numbers had recovered by 1924 to 1925; one hunter during that time could take up to 15–30 corsac foxes in one season (Ognev 1931). By 1931 numbers decreased again with a subsequent increase in 1951 (Verezhagin 1959). In the Ural region during particular years up to 5,500 animals were taken by trappers, and up to 1,700 in the Gurievskaya region. To the south, in Mangishlak and Ustyurt, the corsac is widespread and in some years abundant. In Russia the corsac is rare in most regions, but common in West Siberia and Transbaikalie. It sometimes occurs in northern parts of West Siberia's forested steppes, but in low numbers. The species is common everywhere between the Volga and Ural rivers. In Turkmenistan, Kazakhstan, Mongolia and northern China, the corsac is common or abundant, although in Tajikistan and Uzbekistan the species is usually rare. Population status in Afghanistan and Iran is unknown.","The corsac typically inhabits steppes, semi-deserts and deserts, avoiding mountains, forested areas and dense bush. In the western part of the range they occur in low-grass steppe, avoiding dense and tall grass steppes. In Kaspyi Sea region the steppes and tarragon-cereal semi-deserts are favoured. It also occurs in fixed-sand habitats (Nogaiskaya Steppe). In Volgo-Ural watershed the corsac inhabits most usual habitats, but prefers semi-deserts. To the east of the Ural Mountains, the species inhabits steppes and in favourable years occurs even in forested steppes. In Kazakhstan typical habitats are low grass steppes and semi-deserts, often inhabiting low hills, but avoiding low mountains. In Middle-Asia it inhabits semi-deserts and ephemeral-deserts, avoiding drifting sands. One limiting factor is snow height in winter, and this species avoids areas where the depth of snow exceeds 150 mm, preferring areas where the snow is either shallower or highly compressed.Corsac foxes appear to depend on distribution of ground squirrels and marmots for food and shelter (the burrows being enlarged and used for refuge).","Development in Kazakhstan in the mid-1850s caused a significant reduction of corsac numbers in previously undisturbed habitats. In the 20th century several catastrophic population declines were recorded. During such crashes hunting on corsac foxes in the former Soviet Union was banned. For example, hunting of corsac foxes was stopped within the entire Kazakhstan territory from 1928 to 1938. Current population status, and the nature of major threats, is unknown in most regions. The western part of the range populations are recovering and their range expanding. In Kalmikiya large desert areas are changing into grass steppes, less suitable for corsac foxes. In Middle Asia and Kazakhstan a dramatic decrease of livestock during the last decade influenced many ecosystems and wildlife populations. However, the exact influence of this process on corsac populations remains unknown.Corsac pelts have been intensively traded. In general, over much of Russia during the 19th century, as many as 40,000–50,000 corsac pelts were traded in some years. For the time being, corsac pelts are not as highly appreciated as red fox pelts, and corsac foxes are usually trapped only incidentally.","Corsac foxes are protected in strict nature reserves (the highest protection status for the territory) and in national parks in China, Russia, Turkmenistan, Uzbekistan and Mongolia.Not listed on CITES Appendices.Listed in some regional Red books in Russia: Bashkir (Volga tribute) and Buryat (Transbaikalia region) with category III status (species with declining populations).Hunting of corsac foxes is regulated by special national legislation, in which the species is considered a fur-bearer species (Russia, Kazakhstan, Turkmenistan, Uzbekistan, Mongolia). Trapping/hunting is allowed only from November through March in Russia, Kazakhstan, and Turkmenistan. Certain methods of hunting are prohibited, such as digging or smoking animals out of dens, den flooding, and poisoning.No special conservation programmes have been carried out. Outside of protected areas, the corsac has the status of game species.Corsac foxes breed well in captivity, and there are some 29 animals currently listed in ISIS. In Moscow Zoo during 1960s one pair of corsac foxes produced six litters during the time that they remained together. Corsac foxes are easily habituated to humans.There are several aspects of this species' biology that require investigation, including social organization and behaviour, population structure, current distribution and population status in different regions, current levels of trapping/hunting impact, and other threats to the species.","Global assessment by A. Poyarkov and N. Ovsyanikov, regional assessment by European Mammal Assessment team" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,CANIDAE,Vulpes vulpes,,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A very widespread and extremely abundant species that is highly adaptable to man-made habitats. It faces no major threats. It thus qualifies as Least Concern.,Possibly Favourable,"The red fox has an extremely large range. It is distributed throughout the northern hemisphere, from the Arctic Circle to North Africa, Central America, and the Asiatic steppes. It is absent from Iceland, the Arctic islands, some parts of Siberia, and it avoids desert areas. It occurs throughout the whole of Europe, with the exception of Iceland, Svalbard, Crete, and some of the smaller Mediterranean and North Sea islands (Hall 1981, Ginsberg and Macdonald 1990, Abe 1994, Stubbe 1999, Wilson and Ruff 1999, Abe et al. 2005). European subspecies were introduced to the eastern states of the US (e.g. Virginia) in the 17th Century, mixed with local subspecies, and then moved southwards with forest clearance. The species was also introduced to Australia in 1800s. Elsewhere introduced to the Falkland Islands (Malvinas) and to the Isle of Man (UK), although it may subsequently have disappeared there (Sillero-Zubiri et al. 2004). It occurs from sea level to 3,000 m (Stubbe 1999).","It is the most widespread and abundant wild carnivore in the world (Larivière and Pasitschniak-Arts 1996) and there are stable populations throughout Europe. In central Europe, populations are increasing owing to the oral immunisation of foxes against rabies (Stubbe 1999). In Germany 500,000 are killed every year by hunting (M. Stubbe pers. comm. 2006). In the UK the population was recently estimated to number approximately a quarter of a million animals (Battersby 2005).","In Europe it is found in a very wide variety of habitats including all types of forest and open landscapes. It is well adapted to many anthropogenic habitats including farmland and suburban and urban areas (Larivière and Pasitschniak-Arts 1996, Stubbe 1999). Red foxes are adaptable and opportunistic omnivores, with a diet ranging from invertebrates (e.g. earthworms and beetles) to mammals and birds (including game birds), and fruit. They also scavenge in rural areas (e.g. in Europe and Canada on deer and sheep carcasses which may be the major food source in upland areas inwinter), and in urban areas (on bird tables, compost heaps and refuse) (Sillero-Zubiri et al. 2004).","It is hunted for sport, and is persecuted as a pest (Stubbe 1999). However, this is not a threat to the survival of the species.","It is present in most protected areas in temperate and subarctic regions, with the exception of some inaccessible islands. It is widely regarded as a pest and is not protected, although most range states where trapping or hunting occurs have regulated closed versus open seasons and restrictions on methods of capture. In the European Union, trapping methods are regulated under an agreement on international trapping standards that was signed in 1997 (Sillero-Zubiri et al. 2004). Controlling red foxes may be necessary where rare species, or threatened populations, are at risk from red fox predation (Sillero-Zubiri et al. 2004). For example, nest predation by foxes has completely prevented recruitment to an internationally important sandwich tern colony in a number of consecutive years (Musgrave 1993).","Andreas Kranz, Alexei Tikhonov, Jim Conroy, Paulo Cavallini, Juan Herrero, Michael Stubbe, Tiit Maran, Margarida Fernandes" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,FELIDAE,Felis chaus,"Includes six subspecies, only the nominate occurs in Europe.",No,No,NA,,NE,,"European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Evaluated (NE)In Europe and the Caucasus Felis chaus is declining rapidly and only a small number of mature individuals survive in the wild. It is listed in the Red Books of the Russian Federation, Armenia, Azerbaijan and Georgia. At the European regional level the species is considered Not Applicable because only a very small proportion (much less than 1%) of the global population occurs within the region. This listing should not detract from the fact that population declines in this species are a major cause for concern.",-,"The jungle cat has a very broad range, from Southeast Asia west through India, Southwest and Central Asia, the Arabian Peninsula, and finally into Africa along the Nile River Delta.","It is a relatively common species throughout much of the range. In Europe, it is of marginal occurrence, with small populations in Cis-Caspian region and the Caucasus along the Caspian Sea. The European population has been rapidly declining since the 1960s. There have been no records of this species in Astrakhan State Reserve (Russian Federation) since the 1980s. Marked population fluctuations are characteristic of this species, probably because of absence of adaptations to cold winters. Despite these fluctuations the long-term trend in Europe is of decline in both population and area of occupancy. Data from Russia suggest that there are about 500 animals left in the wild (Prisazhnyuk and Belousova 2007). A very small population persists in Georgia (I. Macharashvili pers. comm. to K. Tsysulina 2007).","The jungle cat, despite its name, is not strongly associated with closed forest, but rather with water and dense vegetative cover, especially reed swamps, marsh, and littoral and riparian environments. It is able to satisfy these requirements in a variety of habitats, from desert to scrub woodland and dry deciduous forest, as well as cleared areas in moist forest (Nowell and Jackson 1996).","Jungle cats do well in cultivated landscapes (especially those that lead to increased numbers of rodents) and artificial wetlands. However, reclamation and destruction of natural wetlands, ongoing throughout its range but particularly in the arid areas, still pose a threat to the species, as density in natural wetlands is generally higher (Nowell and Jackson 1996). Thousands of jungle cat furs have been confiscated in illegal trade in India (Mukherjee 1998). In Europe, population and range declines since the 1960s have been attributed to illegal hunting and artificial landscape change.","Included on CITES Appendix II. Hunting is prohibited in Bangladesh, China, India, Israel, Myanmar, Pakistan, Tajikistan, Thailand and Turkey (Nowell and Jackson 1996). This species is considered threatened in a number of range states in Europe and the Caucasus, and is included in the Red Books of the Russian Federation, Armenia, Azerbaijan and Georgia. It is considered possibly extinct in Georgia.","Global assessment by IUCN SSC Cat Specialist Group, regional assessment by European Mammal Assessment team" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,FELIDAE,Felis silvestris,"Populations of wildcats occur on Crete, Corsica, Sardinia, and the Balearic Islands. Some authorities consider these populations to be discrete subspecies, related most closely to the lybica group, and among the most endangered populations in Europe (see Nowell and Jackson 1996 for references). Vigne (1992), Hemmer (1999) and Gippoliti and Amori (2006) on the other hand, consider them to be feral forms of domestic cats introduced centuries before by humans. The Sardinian wildcat has been assigned to the libyca group on the basis of both morphological and genetic evidence (Ragni 1981, Ragni and Randi 1986, Ragni and Possenti 1996, Randi et al. 2001); and a similar case could be made for the Corsican wildcat (Salotti 1993) and that of Crete (Ragni et al. 1999). However, the wildcat of Sicily is generally considered to be an autochthonous population of F. s. silvestris, and may warrant the status of a conservation unit, given its genetic distinctness from the mainland Italian population (Randi and Ragni 1991, Randi et al. 2001, Gippoliti and Amori 2006).",No,No,LC,,NT,,"European: Least Concern, given that there are large and stable populations in the eastern portion of the region. The category “Least Concern” can be misleading, for although the wildcat is probably the most widespread and numerous felid in the region, it is seriously threatened in some areas by genetic loss through hybridization with domestic cats. EU 25: Near Threatened (approaching A4e). It is expected that hybridization with domestic cats will cause population declines approaching 30% over 15 years (3 generations) including both the past and the future. It is unlikely that there would be a rescue effect from the eastern populations because of increasing habitat fragmentation. There is particular concern for the wildcat population north of the Alps. It is clearly adapted to the cold climate, and if conservation fails it could not be replaced by animals from the Mediterranean. The Scottish wildcat is scarce and declining, and is currently listed as Vulnerable on the IUCN Red List of Threatened Species. It may warrant uplisting to a higher category of threat.The Iberian subpopulation is suspected to be declining at a rate of >30% over 3 generations in the past or future, and should be listed as Vulnerable.Other isolated subpopulations (France/Germany, Italy, some Mediterranean island populations) face a greater level of threat than the species as a whole. These subpopulations are significant units for conservation, and thus it might be helpful to carry out separate subpopulation Red List assessments in the future; listing in a threatened category (e.g., Vulnerable, Endangered, or Critically Endangered) would be the likely outcome.",Unfavourable,"The wildcat has a very wide distribution stretching across Europe (F. silvestris, silvestris group), South West and Central Asia (F. silvestris, ornata group), and Africa (F. silvestris, lybica group) (Nowell and Jackson 1996). In Europe it was formerly very widely distributed and absent only from Fennoscandia. Severe declines and local extirpations occurred in Europe between the late 1700s and mid 1900s, resulting in a fragmented relict distribution (Stahl and Artois 1991, Nowell and Jackson 1996, Peichocki 2001). Previously considered extinct in the Netherlands (Nowell and Jackson 1996), but it may be recolonizing from populations in the Eifel or Ardennes forests (Canters et al. 2005). It was considered regionally extinct in Austria (Spitzenberger 2005), but vagrants still occur and the Italian population is spreading northwards into Austria (Lapini and Molinari 2006). It is possibly extinct in the Czech Republic (EMA Workshop 2006). Wildcats (silvestris group) occur on Sicily, and populations of cats assigned to the libyca group occur on Crete, Corsica, Sardinia, and the Balearic Islands. Feral domestic cats are also found on numerous other small Mediterranean islands. It occurs from sea level to 2,250 m in the Pyrenees (Palomo and Gisbert 2002). In some parts of the wildcat's distribution (e.g. Scotland, Stromberg in Germany) it is possible that, as a result of hybridization with the domestic cat, very few genetically pure wildcats remain (Macdonald et al. 2004, Battersby 2005, Herrmann and Vogel 2005).","One of the major barriers to the effective conservation of the wildcat in Europe is the lack of information regarding its current status and population trends (Macdonald et al. 2004). There have been no recent large-scale surveys or European regional reviews of the status of the species (Macdonald et al. 2004). During the European Mammal Assessment process, information (ranging from detailed national surveys to expert opinion) was collated for a number of European range states and is presented here, but this is by no means a comprehensive review. A review of the status of the wildcat in Europe in the 1980s and early-mid 1990s can be found in Stahl and Artois (1991) and Nowell and Jackson (1996).Scotland (UK): Recent estimates have varied between 1,000 and 4,000 (compared to 1.2 million feral cats in Britain), but as few as 400 cats with classical wildcat pelage may survive, and it is possible that very few genetically pure wildcats remain (Macdonald et al. 2004, Battersby 2005). If so, this putative subspecies would be Critically Endangered (Kitchener et al. 2005). Surveys show that 30% of populations have declined, whilst only 8% are increasing (Battersby 2005). The Scottish wildcat is currently listed as Vulnerable on the IUCN Red List of Threatened Species.Portugal: The population is suspected to be decreasing (M. Fernandes pers. comm. 2006). Considered Vulnerable at the national level, on the basis of suspected declines reaching 30% over three generations in the past or future (Cabral et al. 2005).Spain: In some places it is increasing and others decreasing (J. Herrero pers. comm. 2006). Considered Vulnerable at the national level, on the basis of suspected declines of over 30% over the last three generations (Palomo and Gisbert 2002).Belgium: Evidence from wild cats found dead on roads indicated that the species is gradually expanding its range to the north and west. There are no data on population size (Libois 2006).Germany: The population was recently estimated at 1,700-5,000 individuals (Knapp et al. 2000). The population is increasing and occupying new areas (M. Stubbe pers. comm. 2006). Switzerland: The wildcat persists in the Jura Mountains in northwestern Switzerland, adjacent to the French population. It was very rare in the 1970s, but records started to increase in the late 1980s (Doetterer andBernhart 1996) and are now reported on a low, but regular frequency over the whole of the Swiss Jura Mountains. No population estimation available. Italy: The estimated number of wildcats is between 750 and 1000 individuals (Ragni 1981, Ragni et al. 2001), which remains unchanged due to the slight range expansion in the middle and north-east, accompanied by extinction in the north-western peninsula (Ragni 2006). Slovenia: The population is estimated (on the basis of density and habitat suitability) at no more than 2,000; it is stable. Recently expanded highways possibly pose some threat in south-east part of its high density range. (B. Kryštufek pers. comm. 2006)Poland: Estimated number of wildcats in Poland is between 100 and 150 individuals, estimated density is 1-1.3 per 1000 ha (Okarma et al. 2002). The current distribution of wildcat in the Polish Carpathians, mainly along the borders with Slovakia and Ukraine, shows that the Polish population forms a continuum with Slovak and Ukrainian populations. Together they constitute the northernmost part of the larger Carpathian population of this species. The species is decreasing and is considered endangered (EN) in Red Data Book of Poland (Wolsan et al. 2001).Slovakia: The estimate of the Slovakian population in 2000 was about 1,500 individuals (unpublished data of the Slovak Environmental Agency: A. Olszanska pers. comm. 2006). Serbia: There are large populations along the southern Danube (EMA Workshop 2006).Macedonia: The species is widespread (EMA Workshop 2006).Greece: The wild cat is widespread in continental Greece with sightings in all forested areas and many wetlands. There are apparently more sightings in north and north-east Greece, where the population density seems to be higher. The population trend has not been quantified but is believed to be stable. On Crete it occurs at low densities (G. Giannatos pers. comm. 2006).Romania: The population is estimated to number c.10,000 individuals, but this is not based on quantitative data (Red Data Book of Romania). Bulgaria: There are no quantitative data, but the species is considered relatively abundant (Spassov et al. 1997).European Russia: The population size and trend have not been quantified, but there are thought to be large, relatively stable populations (EMA Workshop 2006).In Scotland, 88% of wild-living cats may be hybrids or feral domestic cats (Kitchener et al. 2005), and in Italy and Hungary the proportion of hybrids is estimated at 8% and 25-31% respectively (using genetic nethods: Pierpaoli et al. 2003, Lecis et al. 2006). On the basis of museum specimens, the proportion of hybrids in Bulgaria was estimated at 8-10% (Spassov et al. 1997), but the extent of hybridization may have increased since specimens were collected. Wild cats of mixed origin have also been found in Belgium, Portugal, Germany (only one animal) and Switzerland (Pierpaoli et al. 2003). In general the genetic distance to the domestic cat is larger in the north of the range than in the south (Pierpaoli et al. 2003). Eastern European populations are generally considered to be relatively pure (Nowell and Jackson 1996). Assessing the status of the wildcat is difficult, becuse it is a cryptic species and, moreover, because it may be difficult for some experts to distinguish between specimens of European wildcat and domestic cat (Nowell and Jackson 1996). Morphological critera established by Kitchener et al. (2005) should help to resolve these problems.","European wildcats are primarily associated with forest and are found in highest numbers in broad-leaved or mixed forests with low densities of humans. They are also found in Mediterranean maquis scrubland, riparian forest, marsh boundaries and along sea coasts. Areas of intensive cultivation are avoided (Nowell and Jackson 1996). As with other wildcats, rodents are the staple of the diet of European wildcats across much of their range (Nowell and Jackson 1996, Biro et al. 2005) However, rabbits are a major prey where they occur (Nowell and Jackson 1996, Lozano et al. 2006). Birds (both passerine and ground-dwelling) are of secondary importance (Biro et al. 2005). The composition of the diet shows only minor seasonal variations: rabbits or rodents are the major year-round food items. In Italy, historical (1968-1983) and recent (1994-2004) diets of wildcats show highly significant differences in composition, with an overwhelming occurrence of arthropods, reptiles and murines in the most recent period; the change appeared to be directly correlated to the expansion of wood vegetation and growth of atmospheric temperature over the last twenty years (Ragni 2006). Wildcats will also scavenge food and cache their kills, especially in winter (Nowell and Jackson 1996). The overlap in trophic niche between wildcats and feral domestic cats is large (Biro et al. 2005), indicating the potential for competition between these two taxa. Age at sexual maturity is 10-12 months for females and 9-10 months for males, interbirth interval is typically one year (although females may exceptionally breed twice in a year if the first litter is lost), and longevity is exceptionally up to 15 years, but more typically up to 5-6 years (Nowell and Jackson 1996, Macdonald et al. 2004).","Habitat loss and persecution by humans caused the dramatic decline of this species in Europe in the 18th to mid 20th centuries. Today, the main threats are hybridization, disease transmission, and competition with feral domestic cats. There is ongoing habitat loss, fragmentation and degradation in some areas (e.g., Mediterranean bushland); although in some other parts of Europe forest cover is increasing as a result of abandonment of extensive agricultural land. The fact that wildcats have failed to recover across much of their former European range, despite decades of strict legal protection, indicates that although persecution has largely ceased, other factors are now limiting populations of this species.European wildcats suffer from hybridization with domestic cats, which descend from African wildcats. The process of domestication began thousands of years ago in North Africa and Southwest Asia, and domestic cats are now found in large numbers throughout the world, living in peoples' homes as well as feral in the wild. Feral cats compete with wildcats for prey and space, and there is also interbreeding or hybridization, which is leading to a strong decline in genetically pure wildcats in some areas. There is also a high potential for disease transmission between domestic cats and wildcats (Nowell and Jackson 1996, Fromont et al. 1998, Daniels et al. 1999), with some infections being maintained permanently in wildcat populations by transmission from domestic cats, when otherwise the diseases would die out (Fromont et al. 1998). A further risk is presented by the selective resistance of silvestris x catus hybrids to viral disease infection (Ragni and Possenti 1991, Ragni 1993). Other threats include significant human-caused mortality, especially road kills (Nowell and Jackson 1996, Lüps et al. 2002, Schulenberg 2005). The species is still considered a pest in Scotland and is illegally persecuted. Predator control measures in a number of European countries may result in this species being killed as bycatch. In Europe at least, the species has never been commercially exploited for its fur (Palomo and Gisbert 2002). Introduced feral domestic cats cause serious harm to native species in many parts of the world, and there have been suggestions that virus-vectored immunocontraception should be developed as a control method (Courchamp and Cornell 2000). Any such development should take into account potential risks to wildcats. In recent years there have been a number of cases of people taking young wildcats from the wild in the mistaken belief that they would make good pets (8 cases in two years in two areas in Germany, and another cat that was introduced from France into the Netherlands: Canters et al. 2005, Simon et al. 2005).","Included on CITES Appendix II. The species is fully protected across most of its range in Europe and eastern areas of Central Asia, but is only protected in part of its African range (Nowell and Jackson 1996). It is listed on the EU Habitats & Species Directive (Annex IV) and the Bern Convention (Appendix II). It is classed as threatened at the national level in many European range states.","Mathias Herrmann, Andrew Kitchener, Holger Meinig, Michael Stubbe, Margarida Fernandes, Jim Conroy, Giorgos Giannatos, Juan Herrero, Andreas Kranz, Agnieszka Olszanska" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,FELIDAE,Lynx lynx,,No,No,LC,,NT,,"European: The species has a wide range in Europe, and remains abundant in the eastern part of the range. Although population trends in European Russia have not been quantified, they are not believed to approach the threshold for the population decline criterion of the IUCN Red List (30% over 10 years or 3 generations). Consequently the species is classed as Least Concern at the European level.EU 25: The lynx was driven extinct in much of western and central Europe over the last few centuries. However, over the past few decades, as a result of conservation action, the status of the species has improved. Reintroductions have restored it to some areas of its former range, although many of these reintroduced populations remain fragmented and extremely small. However, the lynx population within the EU remains small (below the population size threshold for Vulnerable under Criterion C, although it does not currently meet the subcriteria). If ongoing conservation action ceased, it is expected that the species would quickly start to decline again, and could meet Criterion C1 in the near future. Consequently it is assessed as Near Threatened. Continued protection is required to ensure the continuing recovery of this species.1. JuraEndangered (D). This population results from reintroductions in 1974/75. It now numbers c.80 individuals, and the range is expanding. Consequently it qualifies as Endangered under Criterion D (very small population). Although potential corridors to neighbouring lynx populations (Alps, Vosges-Palatinian and Black Forest) exist, there are barriers to dispersal. Furthermore, these neighbouring lynx populations are small and threatened, so no rescue effect can be expected; consequently the Red List category is not adjusted.2. Vosges-Palatinian.Critically Endangered (C2a(ii), D). According to the current estimations, about 30-40 lynx exist in the area of the Vosges Mts.-Palatinian Forest. Whereas the most recent tendencies indicate a slight expansion of the range in the south, it has been decreasing in the north, and an overall decline is suspected. Although there are other lynx populations in relatively close proximity, there are significant barriers to dispersal and neighbouring populations are small and threatened, so no rescue effect is anticipated. Consequently the Red List category is not adjusted.3. Alpine.Overall the Alpine population of c.120 individuals is Endangered (D). If assessed separately, the Western Alps population (80 lynx) is Endangered (D) and the Eastern Alps population is Critically Endangered (D). It is not expected that either population would experience any significant rescue effect from neighbouring populations which are fragmented and tiny. Consequently the Red List category is not adjusted. 4. Bohemian-Bavarian.Critically Endangered (C2a(i)). The current estimate is around 75 animals. Whereas the population was increasing and expanding until the mid 1990s (the population was then estimated to be 70-100), since 1999 a marked decrease has been noticed. All individuals are part of the same subpopulation. Neighbouring lynx populations are small and threatened, and there are barriers to dispersal, consequently no rescue effect from them can be expected and the Red List category is not adjusted.5. Dinaric.Endangered (D). The Dinaric lynx population bases from re-introductions in Slovenia in 1973 where the animals reproduced well and spread quickly southwards. The current size is estimated to be about 130 animals with a stable to slightly decreasing trend, however sound monitoring has only been established recently (except for Bosnia-Herzegovina), and the long-term trend is therefore difficult to assess. The population extends over a continuous area of occupancy of about 24,000 km2, but due to the small population size has to be regarded as Endangered. Although there are other lynx populations in relatively close proximity, there are significant barriers to dispersal and neighbouring populations are small and threatened, so no rescue effect is anticipated. Consequently the Red List category is not adjusted.6. Carpathian.Least Concern. The Carpathians host one of the largest continuous lynx populations in Europe (area of occupancy about 100,000 km2). The overall number is about 2,500 lynx and is stable. An range expansion towards the south (Serbia) was noticed since 2000. For these reasons the population qualifies as Least Concern.7. Scandinavian.Least Concern. In the past few years, the increase of the Scandinavian population came to a halt. This occurred because, owing to conflicts with livestock breeders, lynx were strictly controlled. The population size seems to be more or less stable, with around 2,000 indiviuals occupyng around 650,000 km2 (area of occupancy). Consequently it qualifies as Least Concern. PVA results indicate that this population has low chance of extinction. The merging of the Finish (Karelian population) and Scandinavian distribution areas is recent, but a rescue effect could potentially be expected.8. Karelian.Least Concern. In Finland, there were no animals left by 1950, before recolonisation from Russia started. Since then, the population has been increasing and expanding, especially during the past two decades. The estimation in Finland was 1050-1100 animals in 2004 with an increasing and expanding trend. The 2005 estimate for Karelia oblast was 510 and appears to be stable. Although the Karelian population is relatively small (potentially close to 1,000 mature individuals), it is in continuity with large neighbouring populations, and there would be likely to be a significant rescue effect if this population were to decline. For all these reasons, the Karelian population is assessed Least Concern.9. Baltic.Least Concern. The population consists of around 3,400 lynx, of which 1,600 are found in the Russian portion. Although there was some reduction in numbers in Estonia and Latvia during the 1990s, numbers appear to have stabilised following the adjustment of hunting quotas. The numbers in Russia appear to be stable. The highly fragmented distribution of animals throughout Lithuania, northern and western Belarus and northeastern Poland is, however, a cause for concern. This population is connected to the Karelian population and the large Asian Russian population.10. Balkan.Critically Endangered CR(C2a(i)). The total size of the population is estimated to be about 100 individuals at best, distributed over different patches, indicating a strong population fragmentation. It is impossible to assess the recent trend in population size or distribution, however local experts indicated a decrease for both 1990-1995 as well as 1996-2001.",Unfavourable,"The Eurasian lynx is one of the widest ranging of all cat species. It was once distributed throughout Russia, central Asia and Europe. It was probably absent from some of the larger islands such as Ireland and Sicily and from countries with few forests. It was also absent from the Iberian Peninsula, where the smaller Iberian lynx Lynx pardinus occurs. From this extensive distribution, lynx were exterminated from almost all of western Europe. In western and central Europe, they survived only in the Carpathian Mountains, the southern Dinaric Mountains in Macedonia and Albania, and parts of Fennoscandia and the Baltic (where populations were heavily reduced), although larger populations persisted in European Russia. Human activities reduced the lynx to its minimum numbers in the 1950s. Lynx have been released in several areas of Europe in an effort to reintroduce this elusive predator, including in Switzerland, Slovenia, Czech Republic, Austria, Germany and France. Lynx occurring in Europe can be viewed as belonging to a number of distinct populations (LCIE 2007):1. Jura.Countries: France and Switzerland. Description: This population stretches across the Jura Mountains from central-eastern France north of the Rhone to western Switzerland between Geneva and Basel.2. Vosges-Palatinian.Countries: France and Germany. Description: Distributed along the French Vosges Mountains and in the German Palatinian Forest and its surroundings.3. Alpine (comprising two segments - Western Alps and Eastern Alps).Countries: Switzerland, Slovenia, France, Italy, Austria. Description: Two main extant populations can be identified: One in the western to central Swiss Alps (mainly in the cantons of Valais, Vaud, Fribourg and Berne), stretching into the French Alps, and the western Alps in Austria (Vorarlberg); the other one in the western part of Slovenia (west of the Jesenice-Ljubljana-Triest highway), stretching into the adjacent regions of Italy (Tarvisiano) and Austria (Carinthia). Outside these two sub-populations, a more scattered distribution with no permanent lynx presence exists in France (south-east of the country, from the lake of Geneva as far south as to the department of Hautes-Alpes), eastern Italy (Friuli VG, Veneto (Bellunese), and Austria (northern Kalkalpen, Upper Carinthia, Niedere Tauern).4. Bohemian-Bavarian.Countries: Czech Republic, Germany, Austria. Description: The population stretches in the triangle of the three range countries: in the western Czech Republic (Sumava Mts., NW-part of the Cesky les Mts. = Oberpfälzerwald, the Sumava foothills, S-Novohradske Mts.; in the north more isolated, small but constant occurrence in the Brdy highlands in connection with the core population), eastern Germany (Bayerischer and Oberpfälzer Forest, Fichtelgebirge, Frankenwald), and northern Austria (Böhmerwald, Mühlviertel, Waldviertel).5. Dinaric.Countries: Slovenia, Croatia, Bosnia-Herzegovina. Description: From central-southern Slovenia (S and SE of the Jesenice-Ljubljana-Triest highway) over Croatia (Gorski Kotar and Lika) up to West Bosnia (no data available for sporadically present areas).6. Carpathian.Countries: Romania, Slovakia, Poland, Ukraine, Czech Republic, Hungary, Serbia, Bulgaria. Description: The distribution area covers at present almost the entire mountain chain of the Carpathians, and is further expanding into Serbia, and most probably south into Bulgaria.7. Scandinavian.Countries: Sweden, Norway. Description: Lynx occur from central-south to north-east Norway and almost all over Sweden. 8. Karelian.Countries: Finland, Russia. Description: The population stretches from the Republic of Karelia over to Finland where it is only permanently present in the south-east of the country. The occasional presence in northern Finland is consistent with the situation in Murmanskaya Oblast, where indications are also much more scarce compared to Karelia. 9. Baltic.Countries: Estonia, Latvia, Belarus, Poland, Lithuania, Ukraine, Russia. Description: In the north (Estonia, north-eastern Latvia, and northern Belarus) the distribution is coherent with Russia. The rest of the range (southern Latvia, Lithuania, main parts of Belarus, Poland, the Ukraine, and Kaliningrad) is highly fragmented.10. Balkan.Countries: Albania, FYR Macedonia, Serbia, Montenegro, potentially Greece. Description: Scattered distribution. Lynx occurs in the Albanian Alps and central-central east Albania, in western FYR Macedonia (mainly in the areas in and between the national parks Mavrovo, Galicica and Pelister, but most probably also in the Shar Planina Mts. bordering with Kosovo), as well as in Serbia (Kosovo and Metohija province) and Montenegro. From time to time single, unconfirmed observations in the border regions of Greece with FYR Macedonia and Albania.","Lynx in Europe were widely extirpated within the past several hundred years, reaching a nadir in the 1950s. Populations were reintroduced from the late 1970s onward, and the total number of lynx in Europe (excluding European Russia) is c.8,000. Populations in central and southern Europe remain very small and fragmented, although there are larger populations in Fennoscandia, the Baltic states, and European Russia (Breitenmoser et al. 2000). The lynx's stronghold is a broad strip of southern Siberian woodland stretching through eastern Russia from the Ural mountains to the Pacific. There is little information on population status and trends from the lynx's wide Asian range (Nowell and Jackson 1996, Cat Specialist Group 2002). For the European populations, detailed status and trend information can be found on ELOIS - the Eurasian Lynx Online Information System for Europe (http://www.kora.unibe.ch/en/proj/elois/online/index.html).","Throughout Europe and Siberia, lynx are associated primarily with forested areas which have good ungulate populations (Nowell and Jackson 1996). In Central Asia they occur in more open, thinly wooded areas. Small ungulates are the lynx's primary prey (Nowell and Jackson 1996, Cat Specialist Group 2002). In Europe, the lynx's preferred diet includes roe deer and chamois. Lynx will also take larger ungulates such as red deer, moose, or wild boar occasionally. Where ungulates are not available, birds, hares and rodents form important prey. In Norway, Sweden and Finland, lynx also kill significant numbers of semi-domesticated reindeer. Depredation on sheep is also a problem in some countries.","Lynx are vulnerable to destruction of their ungulate prey base. Hunting pressure may also play a role in lynx population declines. Habitat destruction through clear-cutting can have a negative effect on lynx abundance. There is no information beyond harvest reports on which to base an assessment of the biological impact of commercial trapping for furs, and thus its significance as a threat is difficult to judge (Nowell and Jackson 1996, Cat Specialist Group 2002). The lynx's disappearance in lowland Europe was due to human persecution, deforestation, loss of prey species, expansion of agriculture and an increase in human populations. Although the lynx is not endangered, these threats still affect it today throughout Europe. Habitat loss, loss of prey due to logging and hunting, and human population pressures have serious negative impacts. Humans still present a major threat to the lynx, particularly to small or reintroduced populations. These groups can be devastated by traffic accidents or by unsustainable hunting and poaching. In Norway in 1998, licensed hunters killed 112 lynxes out of a total population of just 400-500. This scale of hunting may be unsustainable, particularly when compounded by illegal hunting. Threats to specific European populations are detailed below:1. JuraIllegal killing, traffic accidents, limited dispersal.2. Vosges-Palatinian.Illegal killing in the Vosges Mts., in general small population size with a rather limited potential to expand.3. Alpine.Threats include illegal killing, infrastructure development (especially road constructions), vehicle and train collisions, and limited dispersal. A potential threat for the population in the Alps is the narrow genetic base: all of the relatively few founder animals came from the same region and some of them were probably closely related. First genetic analysis indicated that the Alpine population has a reduced allelic diversity compared to the Carpathian source population, and that it has today the smallest level of heterozygosity of all European lynx populations.4. Bohemian-Bavarian.Illegal killing, habitat fragmentation due to road constructions.5. Dinaric.Legal and illegal shooting, collisions with vehicles/trains, limited prey base.6. Carpathian.Potentially illegal killing and habitat fragmentation due to infrastructure developments and wood cutting.7. Scandinavian.Illegal killing, potentially legal harvest.8. Karelian.Potentially harvest.9. Baltic.Population fragmentation (in the south-west of the range), potentially illegal killing.10. Balkan.Small population number, limited prey base and habitat degradation (especially in Albania), probably illegal killing.","Included on CITES Appendix II, protected under the Bern Convention (Appendix III) and strictly protected under the EU Habitats & Species Directive (Annexes II and IV). Conservation measures in place and recommended for the European populations are as follows:1. Jura.Lynx is legally protected in both countries. Stock-raiding animals can however be removed. For this, similar criteria have been established in France and Switzerland. In practice, depredation is much more pronounced in the French than in the Swiss Jura. The Ministries of Environment are responsible for the management of the species. There is co-operation on scientific and administrative level, but no systematic common monitoring and no common management plan for the entire population. Most important conservation measures needed: Continuation and improvement of monitoring, genetic surveillance of the population, law enforcement, improve connectivity to other lynx populations or occurrences.2. Vosges-Palatinian.In France as well as in Germany, lynx is fully protected by law. Most important conservation measures needed: Improve potential corridors, mitigate the problem of illegal killings, continue monitoring and cross-border co-operation.3. Alpine. Lynx is at present protected in all Alpine countries. In Switzerland, Slovenia, and France lynx causing too much damage to livestock can be removed. With the exception of Austria, national environmental agencies have the authority for lynx management. In Austria, the owners of the hunting grounds are responsible for the management of the species, but are supervised by the states (Bundesländer), which have the legal power. With the exception of Switzerland, national management plans are lacking. Current management practices: In the early 1990s, scientists from all Alpine countries formed an expert group to survey the status of and co-ordinate actions for the Alpine lynx population. The SCALP (Status and Conservation of the Alpine Lynx Population) defined common standards to interpret the monitoring data collected, and has developed a Pan-Alpine Conservation Strategy (PACS, Molinari et al. 2003), which was adopted by the Standing Committee of the Bern Convention. Most important conservation measures needed: Promote the expansion of the area occupied, improve law enforcement, continue monitoring of demographic and genetic parameters, increase acceptance of lynx by local people. To prevent genetic problems, conservation priority should be given not only the expansion of the range (fusion of the two subpopulations), but also the genetic exchange of individuals between different populations, e.g. between all reintroduced populations and the source population.4. Bohemian-Bavarian.Lynx of the Bohemian-Bavarian population are fully protected by law. Co-operation and exchange of information amongst scientists has started some years ago, and the establishment of a discussion platform for management issues was suggested (CELTIC – Conservation of the European Lynx: Management and International Cooperation). However, there is no common management approach yet. In Germany and Austria, wildlife management is in the responsibilities of the federal states (Bundesländer), and as there are no national management strategies for lynx, it is difficult to implement international co-operation. Most important conservation measures needed: Find solutions against the widespread illegal killing, improve connectivity first within the population, but then also to neighbouring occurrences, get a clear commitment and a more strenuous involvement of the authorities.5. Dinaric.Lynx was granted legal protection in Croatia in 1998. By becoming a member state of the European Union in 2004, Slovenia has ratified the EU Habitats Directive and hence legally protected lynx. In Bosnia-Herzegovina, no proper legislation exists. National management plans are in place in Croatia (since 2005) and in preparation in Slovenia, however a coherent strategy for the entire population is missing. Most important conservation measures needed: Develop a cross-border conservation strategy (including defining the legislation in Bosnia-Herzegovina), improve and continue the monitoring of lynx and prey, increase prey base. A specific survey in southern Bosnia-Herzegovina is required to clarify whether there is a connection between the Dinaric and the Balkan population. This knowledge would be of great importance for the assessment of the Balkan lynx, which might be considered a different subspecies.6. Carpathian.In all countries but Romania, lynx is completely protected by law, though since only recently in Slovakia (2001). Until 2000, the annual legal harvest was almost 15 animals in Slovakia and considered a threat to the population. In Poland, lynx received full protection in 1995. Of the Carpathian population, Romania is therefore the only country left were lynx is legally hunted. Yet the number of lynx shot has been very modest compared to the number of lynx estimated and the potential quota set per year. It is however assumed that there is no control over the real extent of hunting, as numbers differ in the literature found. The 2003 Carpathian Workshop on Large Carnivore Conservation aimed to start the elaboration of a Carpathian Action Plan for large carnivores, a measure recommended by the Standing Committee of the Bern Convention. According to this action plan the countries are then requested to draft and implement national action plans. Most important conservation measures needed: Improve the monitoring and census systems, habitat conservation, public education, conduct field research in different parts of the Carpathians to find out more about the species' biology in this region, develop a general strategy for the lynx in the entire Carpathians.7. Scandinavian.The Nordic countries apply more or less the same census methods and management regime, namely the controlled hunting of the species in certain areas where livestock depredation is considered too high. As a matter of fact, depredation is intense: Up to 10,000 sheep and several ten thousands of reindeer have yearly been killed by lynx from 1996-2001 in the area of the Nordic population. Whereas in Norway, sheep depredation is the most extensive, reindeer is the species mainly affected in Sweden. In both countries, the state pays for domestic animals killed. Sweden has implemented a management plan in 2000, Norway a government white paper in 1997, which sets the management guidelines (a new edition is in place since 2004). The harvest numbers in each of the two countries were around 90 lynx per year in 1996-2001. Most important conservation measures needed: Change sheep husbandry in Norway, set the hunting quotas at sustainable level.8. Karelian.The lynx is protected in Finland since 1995. Complete protection can however be derogated in accordance with article 16 of the EU Habitat Directive (resulting in a kind of quota hunting). Finland maintained the same level of harvest throughout the 1990s, with no change after 1995. The level (59 lynx annually in 1996-2001) is however considered sustainable. A management plan has been implemented in Finland in 1996. In Russia, lynx is a game species. Most important conservation measures needed: Establish a monitoring system in Russia, find solutions to mitigate human-livestock-carnivore conflicts in Finland, set the annual quotas on the basis of good census data, establish co-operation between the countries.9. Baltic.Lynx is only hunted in Estonia and Latvia (reservation for including the lynx in Annex II of the EU Habitats Directive) as well as in Russia, in all other countries the species is fully protected. Legislation has in most of the countries strongly improved in the past few years due to harmonizing national laws with requirements of the European Union during the process of accession. Both Estonia and Latvia have prepared and implemented a lynx management plan. Such a plan is also planned for Lithuania. Furthermore, a cross-border network of researchers, conservationists, state officials and other stakeholder representatives from Estonia, Latvia and Lithuania was created in 2000 under the umbrella of the Large Carnivore Initiative for Europe LCIE: the Baltic Large Carnivore Initiative. A report on the status of the large carnivore conservation in the Baltic States including an action plan for the Initiative for 2001-2005 has been published. The report focuses on how the national management plans fulfil the guidelines and recommendations in the European Action Plan. There is however no such framework and strategy yet that would include all countries sharing the population. Most important conservation measures needed: Expand the population towards the south (southern half of Latvia and Lithuania), improve the connectivity within the population in the south-western part and create a broad corridor towards the occurrences in north-eastern Poland across Lithuania along the border with Belarus, improve and coordinate the monitoring of the species, develop a comprehensive conservation strategy based on a metapopulation concept and considering habitat quality and connectivity, continue with the Baltic Large Carnivore Initiative.10. Balkan.The species is fully protected by law in all range countries. No national management plans exist, however it is one of the aims of an ongoing cross-border conservation project to develop a recovery strategy for the Balkan lynx from which national actions can be derived. Most important conservation measures needed: Conduct a systematic field survey covering the whole potential distribution area, establish a standardised monitoring of lynx and prey species, research the ecology and life history of the Balkan lynx, define taxonomic status, raise public awareness, law enforcement, habitat and prey base enhancement.",Manuela von Arx (Large Carnivore Initiative for Europe / Cat Specialist Group) -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,FELIDAE,Lynx pardinus,"Previously considered conspecific with Lynx lynx by some authorities, now accepted as a distinct species on the basis of both genetics (Johnson et al. 2006, Eizirik et al. 2008) and morphology (Werdelin 1981, Wozencraft 2005).",Yes,No,CR,C2a(i),CR,C2a(i),"The Iberian Lynx occurs only in isolated pockets of southwestern Spain, and its continued survival in Portugal is uncertain. There are only two known breeding populations in Spain, and the latest survey results suggest a minimum of 84 and a maximum of 143 adults surviving in two breeding populations (in the Coto Doñana and near Andújar-Cardeña in the eastern Sierra Morena). The Doñana population numbers 24-33 adults and the Sierra Morena is the stronghold of the species with an estimated 60-110 adults. These populations are isolated from one another making them even more vulnerable. None of the remaining potential populations in East Montes de Toledo, West Sistema Central and some areas of central and western Sierra Morena is thought to include animals that breed regularly. Current numbers are not sufficient for the survival of the species in the long term and experts agree the cat is now on the brink of extinction (IUCN 2007).With a total population of 84-143 adults, the Iberian Lynx qualifies as Critically Endangered under C2a(i). There has been a continuing decline due to severe depletion of its primary prey, the European rabbit, by disease and over-hunting, with additional threats of high rates of non-natural lynx mortality and habitat destruction and fragmentation. The effective population size of the largest subpopulation (Sierra Morena) is likely less than 50 mature breeding individuals, based on the general measure for felids (the proportion of the adult population contributing to the gene pool through successful raising and recruitment of offspring is 50%: Nowell et al. 2007).",Unfavourable,"The Iberian lynx is restricted to the Iberian peninsula, confined to scattered groups in the southwestern quadrant of the Iberian peninsula as a result of the fragmentation of their natural habitat by agricultural and industrial development. Only two or three groups in Spain are considered to have populations which could be viable in the long term. It is possibly extinct in Portugal (IUCN 2007).","The Iberian lynx occurs only in isolated pockets of Spain and possibly Portugal. The latest survey results from Spain suggest a minimum of 84 and a maximum of 143 adults surviving in two breeding populations: iin the Coto Doñana and near Andújar in the eastern Sierra Morena. The Doñana population numbers 24-33 adults and the Sierra Morena is the stronghold of the species with an estimated 60-110 adults. These populations are isolated from one another making them even more vulnerable. None of the remaining potential populations in East Montes de Toledo, West Sistema Central and some areas of central and western Sierra Morena is thought to include animals that breed regularly. Current numbers are not sufficient for the survival of the species in the long term and experts agree the cat is now on the brink of extinction. The latest population estimates represent a Spanish decline of more than 80 per cent since the last survey (1987-1988) suggested as many as 1,136 lynxes. A similar decline of 80 per cent was estimated in Spain for the period 1960-1978 (IUCN 2007). In Portugal a sign search, camera trapping and box trapping survey conducted in 2002 by the Instituto da Conservacao da Natureza failed to detect a single lynx (Sarmento et al. 2004). The most recent evidence of the presence of lynx in Portugal comes from the discovery of a scat in the Guadiana area in 2001, which was identified by molecular analysis (Pires and Fernandes 2003). During the 1990s, a national survey based on personal interviews and dead animal records suggested a population of about 40 lynxes fragmented in small subpopulations in five different areas: Algarve mountains, Sado Valley, Guadiana, S. Mamede and Malcata. However, further local field surveys indicated the absence of resident animals, pointing to a pre-extinction scenario (Pinto 2000, Fernandes et al. 2001, Sarmento et al. 2004)","The Iberian lynx occurs in Mediterranean woodland and maquis thicket. It favours a mosaic of dense scrub for shelter and open pasture for hunting rabbits (ICONA 1992). Palomares et al. (1991) examined habitat preferences of lynx in the Coto Doñana area of south-western Spain, including the national park and environs. Lynx were generally absent from cropland and exotic tree plantations (eucalyptus and pine), where rabbits were also scarce. In the park, radiotelemetry showed that more than 90% of daytime resting spots used by lynx were located in thick heather scrub (Beltrán et al. 1987). The Iberian lynx is a specialised feeder, with rabbits (Oryctolagus cuniculus) accounting for 80-100 per cent of its diet. Other species occasionally taken include rodents, hares, partridges, ducks, geese, juvenile deer, and fallow deer, but these do not form an important part of the lynx's diet. Lynx often kill other carnivore species, including those regarded as pests by humans, such as feral cats and foxes, but do not eat them. The lynx's highly specialised diet makes it a naturally vulnerable species and the rapid decline in rabbit populations since the 1950s has had a direct impact on lynx numbers (IUCN 2007).","The Iberian Lynx is a naturally vulnerable species because of its dependence on only one prey species, the rabbit, and its narrow habitat spectrum. The dramatic decline in rabbit populations, caused by habitat changes and myxomatosis since the 1950s and Rabbit Haemorrhagic Disease (RHD) since the late 1980s, has therefore had a direct impact on lynx numbers. Over-hunting of rabbits and other human activities have further compounded the problems of prey scarcity. In recent years, prey scarcity has been compounded by high rates of non-natural mortality and habitat destruction and fragmentation. Habitat destruction, deterioration and alteration have impacted negatively on the lynx for centuries. Notable examples since the middle of the 20th century include the planting of Mediterranean scrublands with pines and eucalyptus and more recently the over stocking of deer and livestock on private estates and the opening up of roads and forest tracks in previously remote areas. The lynx's preferred habitat mosaic has also suffered at the hands of afforestation and scrub clearance schemes, road building, dam construction, and the building of holiday homes. New infrastructure projects continued to fragment lynx populations and created new barriers in corridor areas between the remaining populations in the 1960s. More than forty separate lynx populations in Spain and Portugal appear to have collapsed since the early 1980s. WWF Spain/Adena has identified 53 different public works that will affect important areas for the Iberian lynx. Heavier and faster traffic is also taking an unacceptably high toll on lynx each year as juveniles venture away from their areas of birth in search of new habitats. This high mortality has been an important factor in the decline of the species, particularly in the areas surrounding Doñana National Park. The Iberian Lynx received protection against hunting in the early 1970s and since then hunting has dropped off. However, some lynxes are still shot and killed in traps and snares set for smaller predators, particularly on commercial hunting and shooting estates (IUCN 2007).","Lynx pardinus is currently listed on CITES Appendix I, and on Appendix II of the Bern Convention and Annexes II* and IV of the EU Habitats and Species Directive. It is also fully protected under national law in Spain and Portugal, and is classed as Critically Endangered on the national Red Lists of both countries (Palomo and Gisbert 2002, Cabral et al. 2005). Public awareness and education programs have helped change attitudes towards the lynx particularly among private landowners in lynx areas. Two international seminars have been held, in 2002 and 2004, to establish a coordinated strategy to save the Iberian lynx from extinction (Olszanska and Breitenmoser 2004). A captive breeding programme has been started in Spain. In Portugal, the National Action Plan foresees a re-introduction programme. The construction of facilities for breeding and reintroduction has been prepared (ICN 2003, Sarmento et al. 2004).In the short term, in situ conservation efforts must concentrate on preserving the last two breeding populations in Coto Doñana and Andújar-Cardeña. Priority must also be given to maintaining several large areas (of at least 500 km²) of suitable habitat to harbour new lynx populations. The central and western regions of Sierra Morena and the Toledo Mountains, as well as other areas in Spain and Portugal naturally rich in rabbits, will be vital for this purpose. All lynx habitat must be strictly protected from further destructive infrastructure projects. Captive breeding is of critical importance for lynx recovery. In addition to providing a vital gene bank for the survival of the species, captive lynxes will be needed to recolonise the many areas where populations have collapsed. Efforts to stimulate rabbit recovery must also be intensified. Without sufficient prey density, lynx populations will continue to decline and reintroductions will not be feasible (in spite of recent rabbit conservation measures in Doñana National Park, such as restocking, protection of burrows and vegetation management, rabbit numbers remain low). An adaptive conservation process based on careful monitoring of the last populations and the results of the measures implemented is necessary to facilitate the survival of the Iberian lynx. Recovery plans in all regions where the lynx has occurred over the past decade also need to be rapidly implemented (IUCN 2007).","von Arx, M. & Breitenmoser-Wursten, C" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,HERPESTIDAE,Herpestes ichneumon,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species is generally assumed to have been introduced to Europe, perhaps a long time ago. Although there is little evidence regarding the exact date of introduction, it is considered likely to have been before 1500. The species is widespread and common in at least part of its range. There appear to have been some range and population increases in recent years, but this may be due to better observation.",Possibly Favourable,"This species is found mainly in sub-Saharan Africa, from Senegal and Gambia to East Africa, then southwards in Angola, Zambia, Malawi and Mozambique. It is absent from much of southern Africa, but present in NE Namibia, N Botswana, N and E Zimbabwe and the extreme eastern parts of South Africa (Palomares in press). In North Africa, ranges in a narrow coastal strip from Western Sahara to Tunisia, and also from N and E Egypt southwards to Ethiopia (Palomares in press). It is also found from the Sinai Peninsula to the south of Turkey, and the Iberian Peninsula (Delibes 1999). More specifically, in Europe this species is found in southern and central Portugal (Borralho et al. 1995) and south-western Spain (Delibes 1999). At the beginning of the 20th century, it was also present in the northwestern part of the Iberian Peninsula (Delibes 1999). An individual was recently recorded near Leon (Castile and Leon, Spain) (Palomo and Gisbert 2002). It is generally considered to have been introduced to Europe, on a zoogeographical basis (Delibes 1999) and on the grounds that the species is absent from the European fossil record although late Pleistocene and Holocene fossils are known from North Africa (Dobson 1998). It has been speculated that the introduction occurred ""perhaps a long time ago"" (Delibes 1999). It has been reported to 3,000 m asl in the Ethiopian highlands (Yalden et al. 1996).","In the 19th century it regularly occurred in the north-west of the Iberian peninsula, but it subsequently became restricted to the south-west. In recent years, there have again been records from the north-west (Palomo and Gisbert 2002). “The status of its population in Europe is unknown, but numbers and probably range have increased in the last 20 years, in both Portugal and Spain (Delibes 1999).” Abundance increases from north to the south, reaching densities of 1.2 individual per square kilometer in southern Spain (Delibes 1999).","Mainly associated with habitats with understorey vegetation in coastal, lacustrine and riparian (streams, rivers, marsh, swamps) habitats (Palomares in press). This species avoids humid forests and extreme deserts (Delibes 1999, Palomares in press). In tropical Africa, the Egyptian mongoose occurs where there are termitaries, which Kingdon (1977) suggested could satisfy a need for secure shelter. In Europe, “it is found in Mediterranean maquis, with a clear preference for humid and riparian habitats (Delibes 1999).” Egyptian mongooses have home ranges of about 3 square kilometers, and are diurnal and omnivorous (Delibes 1999).","There are no major threats to this species. Incidental poisoning by rodenticides is a localized threat, and trapping with boxes is legal in Portugal (F. Palomares pers. comm. 2007). Deliberate illegal poisoning of carnivores sometimes occurs (European Mammal Assessment Workshop 2006). “It is considered a pest by hunters, because of its presumed impact on small game species"" (Delibes 1999). The range of this species in south-western Europe has experienced reductions due to increased agricultural production, yet increases in range have also occurred due to the reduction of its natural predators (Delibes 1999).","This species is present in many protected areas across its range. It is listed on Appendix III of the Bern Convention, and Annex V of the EU Habitats and Species Directive (Delibes 1999).","Juan Herrero, Paolo Cavallini, Francisco Palomares" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Gulo gulo,,No,No,VU,A2cd,VU,D1,"European: Vulnerable (A2cd). The European population is very small (ca. 2,260 individuals), and although the Fennoscandian part of the regional range is stable, there have been sharp declines in the (much larger) Russian area over the past 30 years owing to overharvesting and decline in prey populations (reindeer). It is not anticipated that there would be a rescue effect from populations in Asian Russia, as these are suspected to be declining too.EU 25: Vulnerable (D1). Wolverine numbers in Sweden and Finland are stable, but the total population is very small. Outside the EU, the Russian wolverine population is sharply declining, and the Norwegian wolverine population is very small, so it is not expected that there would be any significant rescue effect and the Red List category is not adjusted.1. Scandinavian wolverine populationVulnerable (D1). The Scandinavian part of the geographical European range is stable, but the population is very small (750 wolverines). The Scandinavian population is only narrowly connected with the Karelian population and genetic analyses have shown that these two populations are clearly distinct, consequently it is assumed that there would not be a significant rescue effect and the Red List assessment is not adjusted.2. Karelian wolverine populationEndangered (C2a(ii)). The population in Karelia is very small (450 wolverines, of which 60 in Finland and 390 in Russia). Although the population trend in the Finnish part of the range is slowly increasing, the trend in the much larger Russian population is believed to be decreasing (although it is poorly known). The population trend in Karelia is suspected to be declining overall. All individuals are part of the same subpopulation. In Russia in general there have been sharp declines in wolverine populations over the past 30 years owing to overharvesting and decline in prey populations (reindeer). Consequently, although the Karelian population is connected to populations further east in Russia, it is not expected that there would be a significant rescue effect because the populations are declining.",Unfavourable,"In addition to their circumpolar distribution across Siberia and North America, wolverines once occurred throughout the European part of Russia, Norway, Sweden, Finland, the Baltic states, and north-east Poland. During the 19th century, wolverines disappeared from the southernmost of these areas in Europe mainly due to persecution, but also due to deforestation and other human impacts. In Europe the species is now found in Norway, Sweden, Finland and European part of Russia. Within these countries wolverines are mainly found north of 60ºN. According to the Guidelines for Population Level Management Plans for Large Carnivores (LCIE 2007) two populations are recognized in Scandinavia and Karelia:1. Scandinavian wolverine populationThis population is distributed mainly along the border of Norway and Sweden, with extensions into the southern Norwegian mountains, and the northern Norwegian county of Finnmark and adjacent areas of northwest Finland (the region of Lappland). Within this range there are three population segments, the south Norwegian, the central population segment along the Norwegian/Swedish border, and a few animals breeding in the boreal forest areas of eastern Sweden.2. Karelian wolverine populationThis population extends across southern and central Finland (all Finland excluding Lappland) and the Russian oblasts of Murmansk and Karelia. The main distribution appears to be continuous, but there is a relatively isolated population segment in western Finland.","The European population of Gulo gulo is currently estimated to be approximately 2,300 individuals. The European distribution is connected to the Asian Russian population along the Urals. The overall European population forms a more or less continuous distribution with a few geographically and genetically distinct units, and constitutes a smaller fraction of the large Eurasian population. During the last decades, there has been a increase in population numbers and distribution of wolverines in the Fennoscandian countries, but decreasing trends in Russia.1. Scandinavian wolverine populationPopulation size: 750 wolverines. Genetic surveys for the Scandinavian population have shown a low genetic variability and subdivision among populations indicating that the wolverine in Scandinavia has potentially lost variation due to a previous bottleneck event and that the current populations are the result of a recent common genetic background. The southern part of the population seems to form a sink with a few individuals emigrating from the northern continuous population. The southern Norwegian population segment was naturally re-established during the late 1970s and was a result of protective legislation. This population segment has recently increased in numbers and distribution, but seems to have stabilized at around 100 individuals. Genetic surveys have shown that the southern Norwegian population segment is genetically distinct from the northern population segments (about 220 individuals in Norway), but the geographic gap between the southern population and the main population to the north and east has decreased from 100-200 km by the early 1990s to virtually connectivity by 2006. There are an estimated 380 individuals of 1 year and older in the Swedish portion of the central population segment. Recently, during the 1990s a small and distinct reproducing population became established in the southern boreal region of the country. Population data for the past 9 years (1996-2004) suggest a fairly stable over all population trend, with a slight increase during the past 5 years.2. Karelian wolverine populationPopulation size: 450 wolverines.","Wolverines inhabit a variety of habitats in the alpine, tundra, taiga, and boreal forest zones. They are found in coniferous, mixed, and deciduous woodlands, bogs, and open mountain and tundra habitats. Sometimes known as “hyaenas of the north”, wolverines have evolved to scavenge from the kills of wild ungulates abandoned by more efficient predators such as wolves and lynx, as well as victims of accidents and disease. However, wolverines also prey on hares, rodents and occasionally animals as large as moose given certain snow conditions. They can also prey heavily on domestic sheep and semidomesticated reindeer. The wolverine has vast home-ranges (Landa et al. 1998a) and good dispersal abilities. Faecal DNA sampling has detected dispersal distances of more than 500 kilometres (Flagstad 2005, Flagstad et al. 2006).","Wolverines are scarce in Europe today. Their continued survival is threatened due to their small and fragmented distribution, and the potential for their future survival may be weakened by the likelihood of low genetic diversity. Habitat loss per se is not a substantial threat to wolverine conservation. Large areas of Norway, Sweden and Finland are still covered by forests and mountains that offer a suitable prey base and habitat for wolverines. The problem is that these are not wilderness areas, and wolverines come into conflict with a low, but crucial, number of human land uses. The fact that there are no large areas within their distribution where there is no conflict potential with sheep or semidomestic reindeer means that human tolerance for wolverines is low. This results in a difficult situation for wildlife managers who are forced to try and balance wolverine conservation with the conflicts they create with livestock. In Norway, farmers no longer use traditional sheep-herding methods that once deterred depredation, so wolverines are often controlled in an effort to protect livestock. Poaching also occurs. In Russia, overharvesting and declines in key prey species are major threats.1. Scandinavian wolverine populationHigh levels of depredation on domestic sheep in Norway, and on semi-domestic reindeer in Norway, Sweden and Finland, generate large conflicts. These lead to pressure for population reduction through both legal and illegal killing. Finding ways to reduce depredation on sheep is crucial. It is unclear if the existing levels of harvest, especially in Norway, are sustainable. With respect to depredation on semi-domestic reindeer solutions are harder to find as wolverines depend heavily on semi-domestic reindeer for food.2. Karelian wolverine populationThe Russian economic depression during the 1990s is believed to have led to widespread poaching of ungulate game species. Furthermore, there has been a reduction of the semi-domestic reindeer herding industry due to large calf/breeding losses. This is believed to have indirectly negatively affected wolverine populations in western Russia. The wolverine's main prey base (wild and domestic reindeer) became less abundant and the population has faced a decrease in numbers and distribution during the last decades.","The wolverine is listed on Appendix II of the Bern Convention and Annex II* and Annex IV of the EU Habitats and Species Directive. European range states have different monitoring and management regimes. The species is strictly protected in Finland and Sweden, but is subject to licensed harvest and control measures in Norway.1. Scandinavian wolverine populationWolverines are subject to both de facto hunting and government organised lethal control activities in Norway. The Norwegian national goal is to control the total population within the limits of 39 yearly active natal dens. Control measurements, killing of family groups in early spring and licensed harvest is used as a management tool to restrict wolverine predation on unattended sheep during summer and domestic reindeer all year around. The national goal in Sweden is to reach a minimum of 90 annual reproductions which equals approximately 550 individuals. Wolverines in Sweden are protected, although there is some limited use of lethal control following acute depredation events. The Norwegian and Swedish population is monitored through annual den inventories and there is cooperation and data exchange between the two national programmes. In Finland the species is monitored through a national fauna monitoring programme based on tracks crossing fixed 4x4+4 km triangles. 2. Karelian wolverine populationWolverines are protected in Finland and Russian Karelia.",Arild Landa (Large Carnivore Initiative for Europe) -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Lutra lutra,"Some authors considered Japanese otters as a distinct species (Lutra nippon) (see Wilson and Reeder 2005 and references therein), however they are maintained here as a distinct population of Lutra lutra.",No,No,NT,,NT,,"European regional assessment: Near Threatened (NT)EU 25 regional assessment: Near Threatened (NT)In both cases, the species is listed as Near Threatened because it has undergone historical declines but is now recovering across most of Europe (although declines are ongoing in some areas). However, if conservation actions for the species were stopped or reduced, the species would very quickly move back into a threatened category. Hence the Near Threatened listing is a precautionary one based on Criterion A3 and A4, as it is suspected that if conservation measures ceased, declines over a 12 year (=3 generation) period in the future, or including both the past and the future, might approach 30%.",Unfavourable,"The Eurasian otter has the widest distribution of all otter species. Its range covers parts of three continents: Europe, Asia and Africa. Originally the species was widespread throughout Europe, but it declined dramatically in the 1960s and 1970s, and has disappeared from parts of central and northern Europe (it is probably extinct in Liechtenstein, the Netherlands, and Switzerland: Prigioni 1999). It is not found on most of the Mediterranean islands due to the lack of appropriate habitat, although it is found on Corfu (Greece). Little is known about the original distribution in Africa and Asia. Otters have been found in brackish waters below sea level in the Netherlands, and up to 2,400 m in the Pyrenees. Outside Europe they have been recorded up to 4,120 m in Tibet (Reuther and Hilton-Taylor 2004).","Expanding throughout most of its European range following historic declines up until the 1960s, 1970s and 1980s; although in the European part of Russia there have been recent marked declines, and isolated populations in countries like Turkey, Italy, Georgia, Armenia are still declining. The UK population started to recover in the 1960s (Battersby 2005). The population in Portugal is stable and did not show much decrease historically (Cabral et al. 2005). In Norway, although the range is increasing on the south-western coast, the population appears to have declined again since the mid 1990s (T. Heggberget pers. comm. 2006).","It is known from a wide variety of aquatic habitats, including highland and lowland lakes, rivers, streams, marshes, swamp forests and coastal areas. It is very adaptable, using saltwater as well as freshwater habitats, and even sewerage systems in urban areas. In most parts of its range otter distribution is correlated with presence of riverbank vegetation. Otters in different regions may depend upon different features of the habitat, but the important component of otter habitat, for breeding purposes, is the presence of holes in the river bank, including cavities among tree roots, piles of rock, wood or debris. The Eurasian otter avoids deep water. Their distribution in coastal areas is strongly correlated with the presence of freshwater. The location of breeding holts is not confined to river banks; there is evidence to indicate that sometimes the species breeds well away from water and the pups are moved to holts on the river banks once they are a few months old (Reuther and Hilton-Taylor 2004).","The aquatic habitats of otters are extremely vulnerable to man-made changes. Canalisation of rivers, removal of bank side vegetation, dam construction, abstraction of water for irrigation, draining of wetlands, agricultural activities and associated man-made impacts on aquatic systems are all unfavourable to otter populations. Pollution is major threat to the otters in western and central Europe, the main pollutants posing a danger to otters are the organochlorines dieldrin (HEOD) and DDT/DDE, polychlorinated biphenyls (PCBs) and the heavy metal mercury. Coastal populations are particularly vulnerable to oil spills. Acidification of rivers and lakes results in the decline of fish biomass and reduces the food resources of the otters. The same effects are known to result from organic pollution by nitrate fertilisers, untreated sewage, or farm slurry. In addition, major causes of mortality from several countries are drowning, road kills, and poaching. Fyke nets set for eels and other fish as well as creels set for marine crustaceans are very attractive to otters, and many that try to enter these traps are entangled and drowned. A further potential threat is strangulation by transparent, monofilament drift net. A potential risk comes from traps designed to kill other species, especially underwater cages constructed to drown muskrats. Illegal hunting is still a problem in many parts of their distribution range. In several European countries political pressure especially by fishermen has resulted in granting of licenses for killing otters (Reuther and Hilton-Taylor 2004). Illegal killing for the trade of pelts is on the increase in Ukraine and Danube Delta, and probably in the eastern parts of its global range (European Mammal Assessment Workshop 2006).","It is strictly protected under international legislation and conventions: CITES Appendix I (Reservation by Russian Federation), Bern Convention Appendix II, EU Habitats and Species Directive Annexes II and IV, and EC 338/97 Annex A. Additionally it is protected under national law in many range states. A European Breeding Programme (EEP) for self-sustaining captive populations was started in 1985. Monitoring programmes have been established in many range states in Europe. Road barriers and tunnels under roads are required to reduce the impact of road kills (especially in countries like Germany where road kills are the main threat). Much more monitoring is required, but also better survey techniques are required. For example, the population on the Shetlands is well-surveyed, and survey results show no indications of decline, but evidence from other sources (breeding holts, changes in diet, etc.) indicate that declines are in fact happening (J. Conroy pers. comm. 2006).","Jim Conroy, Andreas Kranz, Paulo Cavallini, Margarida Fernandes, Alexei Tikhonov, Juan Herrero, Michael Stubbe, Tiit Maran" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Martes foina,"Some of the island populations are taxonomically quite distinct, although the significance of this is not yet clear (see Krystufek 2004a, 2004b). In addition, they may be threatened, as they would meet Red List criteria on range alone (W. Duckworth in litt. 2006).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species is listed as Least Concern in view of its wide distribution, its large population, its occurrence in a number of protected areas, and because it is unlikely to be declining at nearly the rate required to qualify for listing in a threatened category.",Possibly Favourable,"The stone marten is widespread, occurring throughout much of Europe and central Asia. It is found from Spain and Portugal in the west, through central and southern Europe, the Middle East, and central Asia, extending as far east as the Altai and Tien Shan mountains and north-west China. In Europe, it is absent from the United Kingdom, the Scandinavian peninsula, Finland, the northern Baltic, Ireland and northern European Russia. At the end of 20th century the species extended to the north and east in European Russia, as far as the Moscow Province in the north and across the Volga River in the east (Abramov et al. 2006). The species occurs in Afghanistan, Pakistan, India, Nepal and Bhutan. It was recently found in northern Myanmar (Rabinowitz and Khaing 1998). The species was introduced to Ibiza, Balaeric Islands (Spain) but failed. It was also introduced to Wisconsin, U.S.A. (Long 1995). It is found from sea level to 3,400 m in Kazakhstan and 4,200m in Nepal.",It is common in at least parts of its range (Macdonald and Barrett 1993). Populations in western and central Europe have increased since the 1960s and 1970s. The beech marten is recolonising areas in the Netherlands from which it had disappeared.,"The stone marten prefers more open areas than other martens (Sachhi and Meriggi 1995). Its habitat preferences vary in different parts of its range. It is typically found in deciduous forest, forest edge, and open rocky hillsides (sometimes above the tree line). However, in Switzerland, Austria, north-east France, and southern Germany, it is very common in suburban and urban areas, often building its nest in house attics, outhouses, barns, garages, or even car engine spaces. In some areas they are common in towns and rare in woods. Commensal beech martens may cause damage to roofs, insulation, and electrical wiring and pipes in houses and cars (Broekhuizen 1999).",This species has no major threats. It is sometimes persecuted as a pest. The species is hunted for its fur in India and Russia; and is also hunted for food in some parts of its global range (not in Europe).,"It is listed on Appendix III of the Bern Convention. It occurs in many protected areas. The Indian population is listed in Appendix III of CITES, as Martes foina intermedia (A. Abramov pers. comm. 2006).","Alexei Tikhonov, Paulo Cavallini, Tiit Maran, Andreas Kranz, Juan Herrero, Giorgos Giannatos, Michael Stubbe, Roland Libois, Margarida Fernandes, Alexei Abramov, Chris Wozencraft" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Martes martes,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species is listed as Least Concern in view of its wide distribution, large population, occurrence in a number of protected areas, tolerance to some degree of habitat modification, and because it is unlikely to be declining at nearly the rate required to qualify for listing in a threatened category. The population is stable to increasing.",Possibly Favourable,"The pine marten has a wide distribution in the Palaearctic, being found throughout most of Europe, Asia Minor, northern Iraq and Iran, the Caucasus, and in westernmost parts of Asian Russia (Western Siberia). It is widespread in continental Europe, with the exception of most of Iberia and Greece, and parts of Belgium and the Netherlands (Bright 1999, Matos and Santos-Reis 2003). It is found on the Mediterranean islands of Corsica, Sardinia, and Sicily (Bright 1999). It was introduced historically to the Balearics (S. Roy pers. comm. 2006). It was formerly widespread in the British Isles, but is now restricted to northern Britain and Ireland, where it is still locally common (Battersby 2005, S. Roy pers. comm. 2006). Altitude ranges from sea-level to the timber line (2,300 m in the Pyrenees: Palomo and Gisbert 2002).","In the more northern and eastern parts of its range it remains widespread, and it is fairly abundant owing to its large range. Population declines and range contractions occurred in many parts of its distribution, yet it was difficult to quantify these population declines because historical data were lacking for many range states. Hunting bags in Russia were 80% lower in the late 20th century than they were in the 1920s (Grakov 1993), and Russia constitutes a large part of the species' range. The pine marten has also declined in the Netherlands (Bright 1999), and has become extinct in many parts of the British Isles where it formerly occurred (Battersby 2005). In northern and central Europe, this species declined from the 1950s to the 1980s, but has since stabilized and is now regionally increasing due to implementation of hunting controls. Since 1990, in the Russian Federation the population has been increasing again in forested areas; in 1999 the number was estimated as 170,000 (A.Abramov pers. comm. 2006). In the United Kingdom, the species' range has increased in Scotland in recent years, but the population trend has not been quantified (Battersby 2005).","It inhabits deciduous, mixed, and coniferous woodlands, as well as scrub. Optimal habitat appears to be woodlands with an incomplete canopy and dense understorey vegetation. Pine martens have a predominantly carnivorous diet, consuming voles, mice, squirrels, rabbits, birds, and amphibians. Carrion is a major food source in the winter. Bee nests, mushrooms, and berries are also sometimes eaten. Solitary, but not highly territorial. The home ranges very often overlap partially or even totally. Female may mate with several males while on heat. There is delayed implantation after 165-210 days. In the eastern parts of distribution area (Ural Mts) it can hybridize with sympatrically distributed sable M. zibellina (A. Abramov pers. comm. 2006).","Threats to the pine marten include unsustainable hunting and trapping, incidental poisoning, and the loss and fragmentation of woodland habitats. The marten is still hunted and trapped for its fur in some parts of its range. Its decline in Britain was due to persecution, and the species is still subject to persecution even in some countries in which it is protected. Efforts to control other carnivore species sometimes result in pine marten deaths.","It is listed on Appendix III of the Bern Convention and Annex V of the Habitats Directive, and it occurs in a number of protected areas throughout its range. In The United Kingdom it is listed under the Wildlife and Countryside Act. Hunting controls need to be implemented and enforced across its range.","Andreas Kranz, Alexei Tikhonov, Jim Conroy, Paulo Cavallini, Juan Herrero, Michael Stubbe, Tiit Maran" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Martes zibellina,,No,No,NA,,NE,,European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Evaluated (NE)This species is listed as Not Applicable at the European regional level because it is of marginal occurrence in the region.,-,"This species is found in ""China (Xinjiang to then northeast), Japan (Hokkaido); Mongolia, DPR Korea, Russia (Ural Mountains to Siberia, Kamchatka, Sakhalin, Kunashiri, and Etorofu)"" (Abe 2005, Wilson and Reeder 2005). This species is of marginal occurrence in Europe, where it is found only in the Ural mountains.","The species' population was fragmented due to hunting and has since recovered and is now such that the species is now fairly abundant in Siberia and the Far East (Monakhov 2001). In 1990-1999 the numbers of sable in Russia were estimated as 800-1,100 (A. Abramov pers. comm. 2006).","The species is primarily found in dense coniferous forests, but can tolerate other types of forests. It feeds on small rodents, voles, squirrels, pikas, doves and berries. For this species in the Ob region of Russia, Monakhov (2001) found that young animals tended to live near floodplains (lowland forest), while adult animals lived on watersheds (upland forest).","This species is still commercially hunted, and logging of primary dense coniferous habitat in Siberia and the Far East is a threat. The species is heavily farmed for fur (A. Abramov pers. comm. 2006). In Japan, introduced Japanese marten Martes melampus can be a competitor of the endemic subspecies Martes zibellina brachyura (T. Murakami pers. comm. 2006).","Studies are needed on the effects of hunting on this species, in order to develop methods to control its populations and use them commercially without decreasing annual population growth (Monakhov 2001).","Global assessment by Alexei Abramov, regional assessment by European Mammal Assessment team" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Meles meles,"Previously the genus Meles was considered as monotypic. According to recent morphological and genetic studies the genus has been split into three different species: M. meles, M. leucurus and M. anakuma (Abramov 2002, 2003, Abramov and Puzachenko 2005; see also Wilson and Reeder 2005).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species is listed as Least Concern in view of its wide distribution, relatively large population, occurrence in a number of protected areas, and because it is unlikely to be declining at nearly the rate required to qualify for listing in a threatened category.",Possibly Favourable,"According to Wilson and Reeder (2005) this species is found in “Afghanistan, Albania, Austria, Belgium, Bosnia and Herzegovina, Bulgaria, China (Xinjiang), Crete, Croatia, Czech Republic, Denmark, Estonia, Finland, France, Germany, Great Britain, Greece, Hungary, Iran, Iraq, Ireland, Israel, Italy, Latvia, Lithuania, Luxembourg, Macedonia, Moldova, Netherlands, Norway, Poland, Portugal, Romania, Russia (eastward up to Volga River), Serbia and Montenegro, Slovakia, Slovenia, Spain, Sweden, Switzerland, and the Ukraine.” It occurs from sea level to 3,300 m in Pamir Mountains, up to 2,500m in the Caucsasus (A.V. Abramov pers. comm. 2006), and up to 2,200 m in the Alps (Spitzenberger 2002).The boundary between the distribution ranges of the European M. meles and Asian badger M. leucurus is the Volga River (up to the Middle Volga). M. meles is distributed west of the Volga River, M. leucurus is distributed from the Volga River to the east. The European badger M. meles was found in the Nizhnii Novgorod Province (on both sides of Volga River). M. meles is distributed in the west and north districts of Kirov Province, the east and south of Kirov Province are inhabited by M. leucurus. The sympatric zone between these species is the country between the Volga and Kama rivers (Abramov et al. 2003).","The species is abundant throughout its range, and populations are generally stable or increasing. Densities of this species have increased in Europe during recent decades (Holmala and Kauhala 2006). In central Europe the population is increasing due to the reduction of rabies, in western Ukraine the population has increased, and in the United Kingdom there was a 77% increase in the total population size from the 1980s to the 1990s (Battersby 2005). There are large differences in population densities across its range (Prigioni 1999). In Finland, near the northern limit of its distribution, the population density is low at about 0.2 to 0.25 individuals per km2 (Kauhala in litt. 2006), whereas in the UK densities of up to 19.7 individuals per km2 have been recorded (Prigioni 1999).","It prefers deciduous woods with clearings, or open pastureland with small patches of woodland. It is also found in mixed and coniferous woodland, scrub, suburban areas and urban parks (Prigioni 1999). It is an opportunistic forager with an omnivorous diet, including fruit, nuts, bulbs, tubers, acorns, and cereal crops. It also consumes a variety of invertebrates (especially earthworms), wasp and bee nests, birds' eggs, carrion, and live vertebrate prey such as hedgehogs, moles, and rabbits. In the northern parts of its range the species hibernates during the winter months. The home ranges of this species in Finland are very large, with a mean of about 15 km2 (Kauhala et al. 2006), and their social system is peculiar, with large overlapping home ranges without any communal den (K. Kauhala in litt. 2006). In Finland, it does not reproduce every year, and the litter size is small (Kauhala et al. 2006).","It is sometimes persecuted as a pest. In central Europe the population was formerly severely reduced by rabies, but that threat has now decreased with rabies controls. In the United Kingdom and Ireland the species is associated with bovine TB, which is used as a pretext to eradicate the species. During hunting for foxes or raccoons the badger is often killed as bycatch. In the Russian Federation the species is sometimes hunted for its meat and fat which is used as a medicine. The species is sensitive to habitat fragmentation and the size of the remaining patch is important for the continued survival of the species. In Germany, the species is hunted annually. It is possible that the introduced raccoon dog (Nyctereutes procyonoides) competes with the badger in parts of its range, and a project in Finland is looking into this possible threat (K. Kauhala in litt. 2006). Badgers are heavily hunted in Finland, the annual harvest has increased in recent years, being about 10,000 badgers now (K. Kauhala in litt. 2006). The hunting season in Finland is the whole year, with the exception of females with young being protected in May, June, and July (K. Kauhala in litt. 2006).","It is listed on Appendix III of the Bern Convention. It is protected under national legislation in a number of range states: e.g. Schedule 6 of the UK Wildlife and Countryside Act, the Protection of Badgers Act (UK), and Schedule 5 of the Irish Wildlife Acts. In Albania it is considered Endangered. The species is found in many protected areas.","Andreas Kranz, Alexei Tikhonov, Jim Conroy, Paulo Cavallini, Juan Herrero, Michael Stubbe, Tiit Maran, Margarida Fernades, Alexei Abramov, Chris Wozencraft" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Mustela erminea,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This is a widespread and abundant species with no significant major threats, hence it is listed as Least Concern.",Possibly Favourable,"The stoat has a very large circumboreal range, inhabiting central and northern Eurasia, northern North America and north-eastern Greenland. It has been introduced to New Zealand. In Europe, it is present as far south as 41ºN in Portugal (Santos Reis 1983), and is found on most islands with the exception of Iceland, Svalbard, and some small North Atlantic islands; it does not occur on Mediterranean islands. In Japan, it is present in central mountains (northern and central Japan Alps) to northern part of Honshu (primarily above 1,200 m) and Hokkaido (Abe et al. 2005). Its vertical range is from sea level to 3,000 m (Pulliainen 1999).","The density and structure of populations of this species are unstable, due to short life spans and high reproductive capacity; populations are greatly influenced by fluctuations in prey supply (especially small mammals) (King 1983, Pulliainen 1999). Population fluctuations of stoats and their prey tend to increase in magnitude at more northerly latitudes (Pulliainen 1999), although fluctuations have also been recorded in Spain (Blanco 1998, Palomo and Gisbert 2002). In France, it was declining, but now has stabilized as a result of full protection (EMA Workshop 2006). In Spain it has been speculated that the population may be declining as a results of declines in the southern water vole Arvicola sapidus (Palomo and Gisbert 2002), but the population trend has not been quantified in Spain or Portugal (Palomo and Gisbert 2002, Cabral et al. 2005). Despite population fluctuations, it is a widespread and abundant species.","Stoats occupy a wide range of habitats. They are often found in successional or forest-edge habitats, in scrub, alpine meadows, marshes, riparian woodlands, hedgerows, and riverbanks that have high densities of small mammals, especially Microtus and Arvicola species (King 1983). Pulliainen (1999) states that coniferous and mixed woodlands are preferred, but that many other habitats are used including tundra and the summits of fells and mountains. Dense forests and deserts are avoided (King 1983). This species is a specialist predator of small mammals, but will occasionally feed on fruit, earthworms, insects, eggs, and birds (King 1983). Its local distribution is typically related to that of small rodents and lagomorphs (King 1983, Pulliainen 1999). Estimates for home range size range from 4 to 200 hectares for males, most often falling between 10 to 40 hectares (King 1983).","In the Iberian Peninsula the species is dependent on two Arvicola species, and these are declining, so loss of prey base may be a threat (Palomo and Gisbert 2002). Habitat loss (e.g. as a result of urbanization: Pulliainen 1999) is also a problem in parts of the range. The species is commonly hunted in Russia, where there is also a limited fur trade (R. McDonald pers. comm. 2006). In western and central Europe, the stoat was frequently hunted for its white winter fur up until at least the 1930s (with c.30,000 pelts sold in Finland alone during that decade) (Pulliainen 1999). Availability of prey is the principal factor controlling population density (King 1983, Pulliainen 1999), but disease, parasites and other pressures can also contribute.","It is listed on Appendix III of the Bern Convention. It occurs in many protected areas across its range. Monitoring of exploitation is required by the Bern Convention (R. McDonald pers. comm. 2006). The species is protected under national legislation in some range states (e.g. Spain), although this is not necessarily enforced (Palomo and Gisbert 2002). However, in many parts of its global range the species is not protected and trapping is quite legal (R. McDonald pers. comm. 2006).","Margarida Fernandes, Tiit Maran, Alexei Tikhonov, Jim Conroy, Paulo Cavallini, Andreas Kranz, Juan Hererreo, Michael Stubbe, Giorgos Giannatos" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Mustela eversmanii,,No,No,LC,,EN,C2a(i),"European: Least Concern as it has a wider distribution range, is more common and does not appear to be declining as much as in the western parts of the range. The range is more continuous eastwards.EU 25: Endangered C2a(i). The population in the European Union is very small (probably less than 1,000 mature individuals) and is undergoing continuing decline and is severely fragmented with each subpopulation containing < 250 mature individuals. There is unlikely to be a rescue effect from the eastern populations, hence the assessment is not adjusted.",Unfavourable,"The steppe polecat occurs from central and eastern Europe in the west through southern Russia, northern Georgia, Kazakhstan, Turkmenistan, Uzbekistan, Tajikistan, and Kyrgyzstan to Mongolia and northern and western China. Wilson and Reeder (2005) list the following countries of occurrence for this species: Austria, Bulgaria, China, Czech Republic, Georgia, Hungary, Kazakhstan, Kyrgyzstan, Moldova, Mongolia, Poland, Romania, Russia, Serbia and Montenegro, Slovakia, Tajikistan, Turkmenistan, Ukraine, and Uzbekistan. According to Wolsan (1999), in Europe this species is represented by two major populations that are separated by the Carpathians. The western of these two major populations (subspecies Mustela eversmanii hungarica) is found in the Czech Republic, eastern Austria, southern Slovakia, Ukraine south of the Carpathians, Hungary, northern Serbia, and western Romania; and the eastern (nominate subspecies) is restricted to northern Bulgaria, southern Romania, Moldova, Ukraine east and north of the Carpathians, southeastern Poland, southern European Russia, and Kazakhstan (Wolsan 1999). It occurs up to 800 m in Europe and to 2,600 m in central Asia.","This species is still numerous in Europe, particularly in southern European Russia. However it is unevenly distributed across its range, and especially in the western parts of its range (e.g. in the EU) it is scarce and patchily distributed. Population densities vary spatially and temporally, with fluctuations linked to the abundance of prey species. It is capable of spreading and colonizing new areas rapidly (Wolsan 1999). There has been no evidence for any decline in Europe (except in Austria and the Czech Republic). However ground squirrels are declining and this is an important prey species, so this could have an impact on the population in Europe. It is widespread and common in Central Asia and Siberia.","It inhabits a variety of relatively dry habitats including steppes, semi-deserts, pastures, and cultivated fields (Wolsan 1999). Its diet consists mainly of rodents, including sousliks, marmots, hamsters, pikas, gerbils and voles. It avoids forests, and is primarily nocturnal.",In western Europe it is seldom intentionally hunted (although it may be taken as bycatch) but is heavily impacted by persecution (EMA Workshop 2006). However in at least parts of its range (e.g. Russia) it is commonly hunted for its fur.,It is protected under Appendix II of the Bern Convention (Wolsan 1999). It occurs in many protected areas. There is a need to address the hunting and persecution issues for this species. It is listed as Vulnerable in the Red Data Book of Ukraine.,"Alexei Tikhonov, Paulo Cavallini, Tiit Maran, Andreas Kranz, Michael Stubbe, Boris Kryštufek, Alexei Abramov, Chris Wozencraft" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Mustela lutreola,"The species occasionally hybridizes with Mustela putorius (Tumanov and Abramov 2002). Genetic studies have shown that the western populations (Spain and France) have very low genetic variability and southern populations show moderate genetic variability, whilst the eastern populations have the greatest variability (Lode 1999; Davidson et al. 2000; Michaux et al. 2004, 2005).",No,No,EN,A2ce,CR,A2ce,"European: There has been considerable reduction in the population of this species across most of its historic range. However, there is considerable uncertainty about current population size and rate of decline, which makes it difficult to determine what the true status of this species should be (given better data a Critically Endangered listing might be warranted). There has certainly been more than a 50% population reduction in the past ten years. This decline is likely to continue given the current threats, but it is hard to say if criteria A3 and A4 should be used under Endangered or even Critically Endangered.EU 25: Critically Endangered (A2ce). This assessment refers only to the isolated population in Spain and France. The French population is declining rapidly. In Spain the overall number of European mink is decreasing, and the species is disappearing from rivers in the north and centre of its range, although a concurrent slight extention of the range to the east has been observed (Palomo and Gisbert 2002). The rate of decline has not been quantified, but an 80% reduction in the past ten years seems reasonable. The species could well become extinct in France in the near future, but probably not in the next ten years.",Unfavourable,"Mustela lutreola is largely restricted to Europe. A century ago it was widespread throughout the continent, with a distribution extending from northern Spain in the west to the river Ob (just east of the Urals) in the east, and from the Archangelsk region in the north to the northern Caucasus in the south (Youngman 1990). However, over the last 150 years it has severely declined and been extirpated or greatly reduced over most of its former range (Maran 1999). The current range includes an isolated population in northern Spain and western France, which is widely disjunct from the main range in Eastern Europe (Latvia, Estonia, Belarus, Ukraine, central regions of European Russia and the Danube delta in Romania). It occurs from sea level to 1,120 m (Palazon et al. 2003).","Since the mid-19th century, this species has undergone dramatic declines throughout its range, and is now extinct in most European countries. It now occupies less than 20% of its original range, and the remaining population is small and fragmented and continues to decline (Maran 1999). Recent population estimates include 500-1,000 individuals in Spain (Palazon et al. 2003), several hundred individuals in France (Fournier and Maizeret 2003, Stephane Aulagnier and Roland Libois pers. comm. 2006), and <1,000 individuals in the Danube Delta (A. Kranz pers. comm. 2006). In Ukraine, at the beginning of the 21st century, the population was estimated at 350-400 individuals, with the majority of those found in the Danube Delta (>200 individuals) (Volokh 2004). The most viable population in western Europe is that of the Danube Delta, but even this population may be rapidly declining: in 250 trap nights (2006) only one animal was caught, compared to one in 20 nights in 2003 (A. Kranz pers. comm. 2006). Other viable populations are found in the northeastern part of European Russia.The current European mink range in Russia consists of isolated distant habitats of different size. These fragmented populations are scattered across western Russia, the Urals, and the northern Caucasus. The only parts of the range where the American mink is absent are rivers in the Archangelsk Region and Komi. Everywhere else populations of European mink are vanishing or becoming increasingly fragmented and localised, and in a greater part of historical range in Russian the European mink is not met any more. The Russian population of European mink has been estimated at c.20,000 (Tumanov 2003, 2006), but this is not based on quantitative data as no large-scale census has been done. Hunting bags suggest that the European mink is rapidly becoming less abundant by comparison with the American mink: for instance, in Vologda and Kostroma regions the proportion of European mink skins in the hunting bag of the two mink species decreased from 50-70% to 1-10% within the last 5-7 years (to 2006). For the whole of Russia, recent records refer only to the capture of single individuals or to local populations consisting of some ten of individuals (Skmatov and Saveljev 2006).","European mink have specialised habitat requirements. They are semi-aquatic, inhabiting densely vegetated banks of lakeshores, rivers, streams and marshlands, and are rarely found more than 100 meters away from fresh water. They forage at night, hunting both on land and in water for a wide range of animal prey including small mammals, birds, frogs, molluscs, crabs, fish and insects (Youngman 1990, Maran 1999, Palomo and Gisbert 2002). Females become mature at 19 months (Youngman 1990).","Habitat loss and degradation is a serious threat to the European mink. Ongoing destruction and degradation of freshwater and associated terrestrial habitats is caused by by inter alia hydroelectric developments, channelisation and water pollution. Accidental trapping is also a threat, even though the fur of the European mink is less valuable than that of the American mink Neovison vison. In France, secondary poisoning and trapping of European mink has occurred as a result of efforts to control coypu (Myocastor coypus) and small carnivores (e.g. polecat). Accidental mortality through vehicle collisions is a problem in some areas, and small remnant populations may be driven extinct by threats such as predation by feral dogs and accidental mortality in fish traps (T. Maran pers. comm. 2006). Competition and direct aggression from the American mink is a further threat to depleted remnant populations (Maran 1999). The Aleutian disease could also have an impact, but diseased animals have not yet been found. In Spain and France, hybridization with Mustela putorius may be a threat (Davidson et al. 2000).","Legally protected in all range states (Schreiber et al. 1989) including the Russian Federation (Alexei Tikhonov pers. comm 2006). At least part of the population occurs within protected areas. Studies have been undertaken to determine the mink's ecological requirements, to analyse the causes of its decline, and to assess the genetic variability of western populations. In Spain and France programmes have been started to control the American mink population. A captive breeding programme was launched in 1992 by the European Zoo Association (the Catalonian Government's captive breeding programme is part of this European initiative). Efforts are being made to reintroduce European mink to areas where they formerly occurred in Germany and the Russian Federation. An introduction programme is underway on the island of Hiiumaa (to Estonia) in the Baltic, where the American species has been excluded. In France a national action plan for the conservation of the European mink was initiated by the Ministry of Environment and has been coordinated by the SFEPM (French Mammal Society). Conservation needs vary throughout Europe, and include the following:·National and regional authorities need to increase attention and allocate sufficient resources for European mink conservation. Otherwise this species will disappear soon.·There is a need for large-scale efforts to secure the survival of the last small remaining populations in different areas inside of the historical range of the species, but also restoration and/or establishment of new populations is required. ·For remaining in situ populations, the maintenance or restoration of sufficiently large areas of suitable habitats has to be secured by designation of new protected areas and improvement of management of existing protected areas. ·The impact of the American mink on local European mink populations has to be monitored and controlled, and whenever possible and feasible the alien mink populations should be removed. Local authorities have to pay more attention to the effects of the American mink on the local fauna, including the European mink. They should support further studies and actions to mitigate the effect of alien mink to the native mink species. ·Aleutian diseases and other pathologies must be monitored in all remaining in situ populations of the European mink. ·For French and Spanish wild populations which appear to be highly inbred further research needs to be carried out to identify whether these seemingly genetically highly uniform populations suffer from inbreeding depression. The introduction of individuals from ex situ stock from genetically diverse eastern populations has to be considered as a potential conservation measure, if further research confirms the need for this. In addition to genetic studies, comparative studies on ecology and behavior of the disjunct mink populations (Spanish/French, Romanian and eastern European) should also be conducted to support the findings of genetic studies. ·The ex situ conservation breeding program has to be enhanced and promoted, as it guarantees the survival of the species in case in situ efforts fail. It also provides opportunities for the restoration of already vanished wild populations and reinforcement of existing populations whenever needed. ·There is a need for developing an all-European conservation breeding program with secured long-term funding.·Further studies are needed about the current the status of the European mink in Romania, Ukraine and elsewhere in eastern part of Europe.","Tiit Maran, Stéphane Aulagnier, Roland Libois, Andreas Kranz, Alexei Abramov, Chris Wozencraft" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Mustela nivalis,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The weasel is a widespread species that is locally abundant in at least parts of its range. Although declines have been observed in the UK and are suspected in other parts of Europe, it is not thought that these approach the threshold for the population decline criterion of the IUCN Red List (30% in ten years or three generations). Monitoring is required, and if new evidence emerges suggesting that declines are of a greater magnitude than is presently thought, the species should be reassessed.",Unknown,"The weasel has a very large circumboreal distribution, taking in much of Europe and North Africa, Asia and northern North America. An introduced population exists in New Zealand. It is found throughout Europe and on many islands, including the Azores, Britain (but not Ireland), and all major Mediterranean islands. The populations on the Azores and many Mediterranean islands are widely considered introduced (Dobson 1998, R. McDonald pers. comm. 2006). It occurs from sea level to at least 3,860 m. It is also found on Honshu, Hokkaido, Kunashiri, Etorofu, and Sakhalin Islands (Abe et al. 2005).","In the European part of its range, there are documented population declines in some areas (e.g. Britain: Battersby 2005), and suspected declines in others. Although it has a wide distribution, it is considered rare in North America (Sheffield and King 1994). In Eurasia, it is relatively common, but not often seen (Sheffield and King 1994). Local densities of 0.2 to 1.0 individuals per hectare can occur in favored habitats when prey are abundant (Sheffield and King 1994). However, over wider areas, the average density may be as low as 1 to 7 per 100 hectares (Goszczynski 1977). Populations fluctuate both seasonally and annually, sometimes involving large increases of up to 10-fold, concurrently or within 9 months of a population peak of small rodents, and lasting 6 to 18 months (Sheffield and King 1994).","Weasels tolerate a wide range of habitats, including forests, farmlands and cultivated fields, grassy fields and meadows, riparian woodlands, hedgerows, alpine meadows and forests, scrub, steppe and semi-deserts, prairies, and coastal dunes (Sheffield and King 1994, Pulliainen 1999). This species is a specialist predator of small mammals (especially rodents), although it will also occasionally feed on birds’ eggs, lizards, frogs, salamanders, fish, worms, and carrion (Sheffield and King 1994). Habitat selection is usually determined by local distribution of rodents. Foraging individuals avoid open spaces, where they are most vulnerable to predation by raptors (Sheffield and King 1994). They prefer dense, rank grassland where microtines (voles and lemmings) are abundant (R. McDonald pers. comm. 2006).","Threats include incidental poisoning with rodenticides (Sheffield and King 1994) and persecution. The weasel prefers open agricultural habitats, which are declining owing to changes in agricultural practices (rural abandonment) in parts of Europe, as open fields undergo succession.","This species is found in many protected areas. It is listed on Appendix III of the Bern Convention (Pulliainen 1999), and is protected under national and sub-national legislation in a number of range states (e.g. Sichuan, China: Yi-Ming et al. 2000). Monitoring is required to quantify the population trend in Europe.","Alexei Tikhonov, Paulo Cavallini, Tiit Maran, Andreas Kranz, Juan Herrero, Giorgos Giannatos, Michael Stubbe, Jim Conroy, Boris Kryštufek, Alexei Abramov, Chris Wozencraft, Robbie McDonald" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Mustela putorius,"The origin of the Moroccan population has been debated; some authors contend that it is a feral population of M. putorius ‘furo’, although fossil remains found in 2001 and ascribed to M. putorius suggest that the species may be native to Africa (see Griffiths and Cuzin in press, and references therein).",No,No,LC,,NT,,"European: Least Concern. The species has a wide range extending to the Urals. Certainly in the northern and eastern parts of its range it appears to be common, widespread and under no major threat despite hunting pressures.EU 25: Near Threatened. There are declines in parts of the range, especially in central Europe and the situation is not clear in Portugal and Spain. There are concerns about loss of prey, persecution, loss of suitable habitat, etc. Hence the species is listed as Near Threatened as it almost qualifies under Criterion A4. The assessment is not adjusted because it is difficult to say if there would be a rescue effect or not and likewise it is unknown if the European population is a sink or not.",Unfavourable,"Mustela putorius is widespread in the western Palaearctic up to the Ural Mountains in the Russian Federation (absent from Ireland, northern Scandinavia, and much of the Balkans and eastern Adriatic coast). The species occurs only marginally in northern Greece. It is found in Morocco in the Rif Mountains from sea level to 2,400 m (Griffiths and Cuzin in press). Feral populations of the domesticated form M. putorius 'furo' (ferret) have become established in a number of areas including northern Britain, the Isle of Man (United Kingdom), Texel (Netherlands), some Mediterranean islands, the Azores, and New Zealand (Birks 1999, Clapperton 2001, W. Duckworth in litt. 2006).","The species is common in forested areas of European Russia. In western Europe, the species is scarce, typically occurring at densities of about 1 individual per 1000 hectares, and rarely exceeding 5-10 individuals per 1,000 hectares even in optimal habitat (Birks 1999). The population appears to be stable in the eastern parts of its range, but there are reports of recent declines from a number of countries in western Europe (e.g. Switzerland, Germany and Denmark: Birks 1999). In Portugal population numbers and trend have not been quantified, but a declining trend is possible related to the decrease in rabbit numbers (Cabral et al. 2005). In Morocco, Griffiths and Cuzin (in press) suggests that populations may be decreasing. In central Europe, a main prey item (the common hamster Cricetus cricetus) has declined and thus polecat numbers may also be decreasing (EMA Workshop 2006). Populations in the United Kingdom and Estonia are now increasing (Battersby 2005, Tiit Maran pers. comm. 2006). This increase in the United Kingdom follows a major persecution driven decline from the 1800s to 1920s, which nearly led to the extinction of the species there (Birks 1999, Battersby 2005).","A generalist, it is found in almost every type of lowland habitat. It is often found in lowland woods in riparian zones, and in areas close to farms and villages in the winter; but it also uses wooded steppe, sand dunes, marshes and river valleys, agricultural land, forest edge and mosaic habitats (Birks 1999, Cabral et al. 2005). Mountainous areas are avoided. It feeds on live rodents (voles, mice, hamsters) and other vertebrates, also sometimes on invertebrates and carrion. In wetland areas it often feeds on amphibians (Birks 1999).","In western and central Europe, it was formerly widely hunted for sport and fur and persecuted as a pest, although this threat has become less serious as the species is now protected in a number of range states and rates of hunting have greatly reduced (Birks 1999). Accidental mortality in car collisions and via secondary rodenticide poisoning is a problem (Birks 1999, Battersby 2005). Declines in prey species, e.g. hamsters (Nechay 2000) and rabbits in southern Iberia (Cabral et al. 2005) may contributing to declines in parts of the range. In European Russia, the species is commonly hunted (A. Abramov pers. comm. 2006). Hybridisation with the ferret is a possible threat in the United Kingdom (Battersby 2005). Possible competition with the American mink may also be a problem. In Morocco, the species may be captured in some areas for hunting.","It is listed on Appendix III of the Bern Convention and Annex V of the EU Habitats Directive. It is listed on Schedule 6 of the WildLife Countryside Act (UK). It occurs in a number of protected areas across its range. Better monitoring of the species is needed, and measures should be taken to reduce hunting pressure where this is excessive. There is also a need to control release of ferrets into the wild.","Margarida Fernandes, Tiit Maran, Alexei Tikhonov, Jim Conroy, Paulo Cavallini, Andreas Kranz, Juan Herrero, Michael Stubbe, Alexei Abramov, Chris Wozencraft" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Mustela sibirica,,No,No,NA,,NE,,European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Evaluated (NE)This species is listed as Not Applicable at the European regional level because it is of marginal occurrence in the region.,-,"This species is found in northern Myanmar, China, Japan (Tushima, introduced to western Honshu, Kyushu, and Shikoku), North Korea, South Korea, Pakistan, Russia (from Kirov Province, Tataria and western Ural Mountains throughout Siberia to Far East), Taiwan, and northern Thailand (Wilson and Reeder 2005). There is also a historical record from Thailand (Lekagul and McNeely 1977). In Japan, it has been introduced to Honshu, Shikoku, and Kyushu Islands (Abe 2005). It is native on the islands of Sakhalin, Kamishima, and Quelpart (Abe 2005). The distribution in southeast Asia is poorly known (A. Abramov pers. comm. 2006). The species was recorded in two locations in national parks in Thailand (Kanchanasaka, pers. comm.) and in one location in Nakai-Nam Theun National Biodiversity Conservation Area in 1996 in Laos (Duckworth 1997). It occurs from sea level to over 3,000 m in Nepal and to 5,000 m in China (GMA Small Carnivore Workshop 2006). This species is of marginal occurrence in Europe, where it is found only in the Ural mountains.","The species is widespread and abundant in Siberia and China (A. Abramov pers. comm. 2006). It is also common in northern central Korea as well, where few other mammals other than rats and squirrels are easily seen (W. Duckworth in litt. 2006).","The species occurs in primary and secondary deciduous, coniferous and mixed forests, as well as open areas with small patches of forest enclaves and forest steppe. It is also found along river valleys. It feeds on small mammals, such as voles, squirrels, mice and pikas, amphibians, fish, and carrion, and occasionally on vegetative matter (e.g. pine nuts) (Global Mammal Assessment Small Carnivore Workshop 2006).",There are no major threats known to this species (Global Mammal Assessment Small Carnivore Workshop 2006). It is legally hunted in Russia for its fur (A. Abramov pers. comm. 2006).,"This species is listed on CITES Appendix III (Tibet) (Yi-ming et al. 2000). There is a large, legal harvest of pelts of this species, which is apparently sustainable (W. Duckworth pers. comm. 2006).","Global assessment by Alexei Abramov and Will Duckworth, regional assessment by European Mammal Assessment team" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,MUSTELIDAE,Vormela peregusna,The infra-specific taxonomy is not clear and further work on this is required (most of the work so far has been done on pelts). The nominate subspecies is found in Europe.,No,No,VU,A2c,NA,,"European: Listed as Vulnerable under criterion A2c. It seems reasonable to infer at least a 30% reduction in the population in the last ten years due to the loss of steppe habitat. This reduction may continue into the future but it is difficult to say if it would be at the same rate. The assessment was not adjusted as there is unlikely to be any rescue effect and the European population is unlikely to be a sink. EU 25: Of the EU 25 countries, it occurs only in Greece, where there are few records. Less than 1% of the global population is estimated to occur in the EU 25, so the species is classed as Not Applicable in this region as it is of marginal occurrence.",-,"The marbled polecat has a distribution extending from south-east Europe, through Asia Minor, the Middle East, the Caucasus, and Central Asia, to northern China and Mongolia. In Europe, it is found in Serbia and Montenegro, Macedonia, Greece, Romania, Bulgaria, Turkish Thrace, and parts of Ukraine (the polecat has disappeared from most of this country and is now present only in the east) and the Russian Federation and the northern Caucasus (the steppe areas, not the mountains). It is also known to be widespread throughout the Middle East, having been recorded from just across the Sinai eastern border in Gaza (Harrison 1968), in Israel/Palestine, Jordan, Lebanon, Syria, and northern Iraq and northern Saudi Arabia (Ellerman and Morrison-Scott 1951, Harrison 1968, Nader 1991). Saleh and Basuony (1998) report the first records of this species from Egypt, as it was recorded from two localities on the northern part of the Sinai Peninsula (southeast of Bir El Abd and just north of Gabal El Maghara). It occurs from sea level up to 3,000 m in the Tien Shan mountains.","It is rare throughout much of its range, and is classed as 'Rare' in the Russian Federation. Its northerly range is receding in the Balkans and Ukraine (Rozhnov 1999), and in European Russia. It has declined substantially in Europe in line with the loss of steppe habitats. Declines are also suspected in central Asia. It is less rare in central Asia than elsewhere, but not common there. The species has always been naturally rare in most areas, although it appears to be common throughout northern Sinai, and well known to the local Bedouins there (Saleh and Basuony 1998). The largest population in the Middle East is reported to be in Israel (Michael Stubbe pers. comm. 2006).","It inhabits desert, semi-desert and steppe habitats. It is a specialized predator, feeding mainly on desert and steppe rodents such as gerbils, ground squirrels, and birds. It is the most fossorial of all weasels.","The major threat to this species is the loss of natural steppe and desert habitats. Steppe habitats are declining in Europe as they are converted to cultivated farmland. Secondary poisoning by rodenticides may also be a threat, as are population declines in key prey species (a number of steppe rodent species are declining in Europe). In China, desertification is the major threat to the species.","It is strictly protected under Appendix II of the Bern Convention and Annexes II and IV of the EU Habitats Directive. Hunting for this species is prohibited in most countries across its range. It occurs in a number of protected areas across its range, but there is a need to increase the size of these. There is an urgent need to protect the remaining steppe habitat of this species. It is a flagship species for the steppe. A number of animals are in captivity, but a breeding program is not necessary. Russia's and China's Red Lists note the species as Vulnerable.","Alexei Tikhonov, Paulo Cavallini, Tiit Maran, Andreas Kranz, Juan Herrero, Giorgos Giannatos, Michael Stubbe, Jim Conroy, Boris Krystufek, Alexei Abramov, Chris Wozencraft" -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,ODOBENIDAE,Odobenus rosmarus,"Three recognized subspecies: rosmarus: Atlantic Walrus; divergens: Pacific Walrus (Illiger, 1811); and, laptevi: Laptev Walrus (Chapskii, 1940)",No,No,NA,,NA,,"This species is a vagrant in the marine region covered by the European Mammal Assessment, consequently it is classed as Not Applicable.",-,"Walruses have a discontinuous circumpolar Arctic and sub-Arctic distribution. The Pacific subspecies is found in the Bering and Chukchi Seas to the East Siberian Sea in the west and the western Beaufort Sea in the east. The Atlantic subspecies occurs in numerous subpopulations from the Eastern Canadian Arctic to the western Kara Sea, including the Barents and White Seas, and Svalbard and Franz Josef Land. Vagrants have been reported from Iceland, and from Norway south to the Bay of Biscay. The Laptev walrus is confined to the Laptev Sea north of central Russia. All three subspecies of walruses are found in relatively shallow continental shelf areas, and rarely occur in deeper waters (Scheffer 1958, Fay 1982, Rice 1998, Kastelein 2002).","The Pacific walrus population recovered from a depleted state in 1950 to historical high levels in the 1980s (Fay et al. 1997). The population was estimated at over 230,000 in 1985 (Gilbert 1989), and 201,000 in 1990 (Gilbert et al. 1992). However, difficulties with associated with conducting these surveys greatly reduced the precision of these estimates (Gilbert 1999). The current population level is unknown (Angliss and Lodge 2004). The Atlantic walrus has been extirpated from some areas but estimates are that between 10,000 and 19,000 animals occur from the eastern Canadian Arctic to the Kara Sea (Born et al. 1995, Kastelein 2002). The Laptev population was estimated at 4,000-5,000 animals according to a report cited in Fay (1982), and the current status is unknown. The walrus is a vagrant in the marine region covered by the European Mammal Assessment.","Walruses are highly gregarious animals and are frequently found in close knit groups that regularly number in the tens to many hundreds, and aggregations of animals including many groups of these sizes can number in the low thousands. Walruses also haul out on ice floes and beaches on islands or remote stretches of mainland coastlines forming dense groups of animals lying pressed together and on top of one another. At sea, walruses can be found alone or in large aggregations.Courtship and mating occurs in the winter. It is believed that walruses are polygynous, the males forming a type of lek, or establishing small aquatic territories where they vigorously vocalize and display adjacent to females hauled-out on ice floes. Males have an unusual adaptation for producing bell-like sounds underwater. A pair of elastic pharyngeal pouches in the neck can be inflated with air to serve as resonance chambers that make this unique sound. There is also intense male-male fighting at this time. Tusks are used for interspecific aggression, defense against predators, which include polar bears and killer whales, and for aids in hauling-out on ice, but not for digging up food. Walruses are one of the largest pinnipeds. Males reach about 3.6 m and 880-1560 kg, females about 3 m and 580-1039 kg. Newborns are 1-1.4 m and weigh 33-85 kg. Although females can ovulate at four years of age, the majority do not give birth until they are 7-8 years old and usually only produce one calf every three years. Gestation lasts 15 months, including a delay of implantation time of 3-3.5 months. The period of calf dependency is long, regularly taking two years, and can extend longer if a female does not give birth every three years. Males become sexually mature between 7-10 years old, but are not physically and socially mature enough to successfully compete for breeding opportunities until they are approximately 15 years old. Longevity is approximately 40 years (Fay 1981).Walruses are primarily bottom feeders and shallow divers. Most prey taken is found in the upper few centimeters of sediment, or on or just above the bottom. A wide variety of benthic invertebrates, with several species of clams, make up the majority of food for most animals. Their diet also includes other species of mollusks, and many species of worms, snails, soft shell crabs, amphipods, shrimp, sea cucumbers, tunicates, and slow-moving fish. Some individuals regularly prey on seals, small whales, and seabirds, and occasionally scavenge marine mammal carcasses (Fay 1982).","All three walrus populations were severely depleted by episodic commercial hunting that was heaviest from the 18th through the mid-20th centuries. Native people of the Arctic have depended on walruses for food, hides, ivory, and bones since first contact, and subsistence harvests of all three subspecies continue today in most parts of their ranges. Direct conflicts with fisheries are low; however trawl fisheries can disturb important benthic feeding area (Born 2003). Human disturbance at land-based haul-out sites, low-level aircraft over-flights, and near-shore passage of vessels can have serious effects on walruses out of the water, as they are highly susceptible to disturbance, and easily panicked into stampedes. Fay and Kelly (1980) documented an instance of a mass mortality of approximately 1,000 animals from a stampede event at Saint Lawrence Island. The cause of the stampede is unknown; however this mass mortality event underscores the risks of any source of disturbance to aggregations of hauled-out walruses. Global warming and any associated reduction in the extent, timing, and characteristics of seasonal sea ice cover could negatively effect walrus populations. Declining sea ice reduces suitable strata for pupping and breeding aggregation, and limits access to offshore feeding areas (Tynan and DeMaster 1997, Moore 2005). In contrast Stirling and Derocher (1993) suggest that climatic warming could result in more favorable conditions for bearded, harp, and harbor seals and walruses if it causes sea ice to become less consolidated in winter, and the summer open water period to lengthen. Reduction in sea ice could also lead to the addition of commercial sea lanes in rarely visited portions of the walruses’ range, with increased risk of spills and discharge of pollutants, disturbance, and coastal development (Reijnders et al. 1993, Tynan and Demaster 1997, Moore 2005).","Coastal Alaska Natives have hunted walruses for subsistence purposes in the United States under an exemption from the Marine Mammal Protection Act since 1972. No quotas or limits have been established, but all animals taken are required to be harvested in a non-wasteful manner. Quotas on harvest have been imposed in Canada and in the Russian Federation. Walrus hunting in east Greenland has been banned and is regulated in other areas of Greenland. In the Laptev Sea, only natives and members of scientific expeditions are allowed to kill walruses (Reijnders et al. 1993).",European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,PHOCIDAE,Cystophora cristata,,No,No,NA,,NA,,"This species is a vagrant in the marine region covered by the European Mammal Assessment, consequently it is classed as Not Applicable.",-,"Hooded seals are found in the Arctic Ocean and in high latitudes of the North Atlantic. They breed on pack ice and are associated with it for most of their lives, shifting their distribution with seasonal fluctuations in ice cover (Sergeant 1974). There are four major pupping areas: near the Magdalen Islands in the Gulf of St. Lawrence, north of Newfoundland and east of Labrador in an area known as the “Front”, the Davis Strait, and near Jan Mayen (Reeves and Ling 1981). Hooded seals wander widely, and animals have beached as far south as Portugal and the Canary Islands in Europe, and from New England south to several islands in the Caribbean, in the Americas. Since the mid 1990s large numbers of wandering vagrants have been found away from the Arctic in some years, and the numbers of these sightings are increasing for unknown reasons (Mignucci-Giannoni and Haddow 2002).","The current worldwide population of hooded seals is unknown. From the 1950s to the 1980s various estimates were published giving a population from 300,000-600,000 animals. However, the methods used to generate these past estimates are poorly documented and the estimates are considered unreliable (Kovacs and Lavigne 1986). Counts of pups born in the western Atlantic breeding areas have been used to extrapolate an estimate of approximately 400,000-450,000 animals for the Front and Gulf of Saint Lawrence herds (Waring et al. 2005). Using similar methods, the Jan Mayen stock has been estimated at 200,000 animals (Reijnders et al. 1993).","Hooded seals are markedly sexually dimorphic pinnipeds. Adult male hooded seals average 2.5 m in length and 300 kg (Kovacs and Lavigne 1986), with very large animals reaching over 400 kg (Kovacs 2002). Adult females are smaller, averaging 2.2 m and 160 kg (Kovacs and Lavigne 1986), but can reach 300 kg (Reeves and Ling 1981). Pups are born at approximately 1 m in length and 25 kg (Kovacs 2002).Hooded seals pup on pack ice in March and early April. The breeding season for this polygynous species is very short, usually lasting about two weeks, and mating takes place in the water (Boness et al. 1988). This species has the shortest lactation period for any mammal, with most pups being weaned in four days at an average weight of 42.6 kg (Bowen et al. 1985). Most animals congregate in the Denmark Strait or north of Jan Mayen for a post-breeding molt in early summer, followed by dispersal in the North Atlantic (Kovacs and Lavigne 1986). With the exception of the breeding and molting periods where they form short-lived, loose aggregations in specific areas, hooded seals live solitary lives that can last 25-30 years (Kovacs 2002).Hooded seals are capable divers and spend approximately 90% of their time at sea submerged. The majority of dives are from 100-600 m in depth and last 5-25 minutes, however, very deep dives to over 1,000 m and others lasting almost an hour have been recorded (Lavigne and Kovacs 2002). Although their diet is not well known, hooded seals have been reported to feed on a wide variety of fish and invertebrates, including species that occur throughout the water column. Examples of typical prey are Greenland halibut, cods such as polar and Atlantic cod, redfishes (Sebastes spp.), herring, capelin, squid, and shrimp (Reeves and Ling 1981, Kovacs and Lavigne 1986). Polar bears, killer whales, and Greenland sharks are known hooded seal predators (Lavigne and Kovacs 1988).","Hooded seals were subjected to episodes of intense commercial hunting in the 19th and 20th centuries. Harvests were often conducted in association with harp seal harvests and commercial fisheries for Greenland sharks. Norway, the Soviet Union, Canada, and Greenland have been principally involved in the commercial harvests. Following World War II this was primarily focused on newborns, because of their highly prized blue-back pelt, however, many adults females were taken when defending their pups. Annual harvests of hooded seals continue in Canada and Greenland (Lavigne and Kovacs 2002). In 1985 a permanent import ban on hooded seal pelts by the European Union ended most of the commercial harvesting of this species, although Canada took approximately 26,000 as recently as 1996. Hooded seals are also taken by Native People of Greenland and Canada for subsistence purposes every year (Kovacs 2002). Bycatch of hooded seals in coastal net fisheries has been reported from the United States, from trawl fisheries off Norway and Newfoundland, and salmon drift nets used off Greenland (Reeves et al. 1992, Waring et al. 2005, Woodley and Lavigne 1991). Competition for food with commercial fisheries and other predators has been suggested as a factor that may limit population growth or lead to declines (Reijnders et al. 1993).Impacts of oil spills on hooded seals have not been reported; however as an ice breeding species, they might be at risk of mortality from spills during the pupping season when newborn and newly weaned pups could be fouled (St. Aubin 1990). Hooded seals did not suffer fatalities during the mass die-off of harbour seals in European waters from phocine distemper virus in 1998 and 2002. Subsequent testing of a variety of Arctic seals revealed antibodies to the virus in 18-24% percent of the hooded seals sampled indicating exposure and transmission of the virus (Harkonen et al. 2006). The hooded seal is an Arctic pack ice species dependent on ice as a substrate for pupping, molting, and resting, and as such is vulnerable to reduction in extent or timing of pack ice formation and retreat. The productivity of the ice edge ecosystem is also dependent on the dynamics and seasonality of Arctic ice, and alteration of the cycle of formation and retreat could have negative effects on important hooded seal prey such as Arctic cod (Tynan and DeMaster 1997). Decreases in sea ice cover could also lead to more shipping and development of extraction based industries in the Arctic which in turn could negatively affect hooded seals through increased exposure to contaminants and pollution, increased disturbance, and increased risk of shipping accidents and spills (Pagnan 2000).","Numerous conservation measures, international management plans, harvest quotas, and agreements and treaties, have been developed for the conservation of hooded seals dating back to the 1870s. Molting seals in the Denmark Strait have received complete protection since 1961. Harvest quotas at Jan Mayen began in 1971, hunting was banned from the Gulf of Saint Lawrence in 1972, and quotas were placed on the rest of the Canadian harvest beginning in 1974. A European Economic Community ban on importation of all seal products in 1985 reduced the harvest of blue-back hooded seals through loss of the primary market for the furs (Reeves et al. 1992). In addition to establishing quotas, several countries place observers on commercial fishing boats, and monitor subsistence harvests.",European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,PHOCIDAE,Erignathus barbatus,,No,No,NA,,NA,,"This species is a vagrant in the marine region covered by the European Mammal Assessment, consequently it is classed as Not Applicable.",-,"Bearded seals have a circumpolar distribution in the Arctic and sub-Arctic south of 85 degrees North, usually in water less than 200 m deep (Kelly 1988). A disjunct population inhabits the Sea of Okhotsk, ranging south to Hokkaido, Japan (Rice 1998). They reach the southern Bering Sea and Bristol Bay to the limit of seasonally ice covered waters (Kelly 1988). They also occupy all of Hudson Bay, and range south to Southern Labrador, and northern Iceland and Norway (Kovacs 2002).Bearded seal vagrants have been reported from many locations outside the Arctic including Portugal in the eastern North Atlantic (van Bree 2000), the Gulf of Saint Lawrence, northern Newfoundland, and Cape Cod, Massachusetts in the western North Atlantic (Gosselin and Boily 1994).The ranges of the two subspecies are divided near the central Canadian Arctic in the Western Hemisphere, and Laptev Sea in the Eastern Hemisphere, with the Atlantic subspecies barbatus occurring from the central Canadian Arctic east to the central Eurasian Arctic, and Pacific subspecies nauticus occurring from the Laptev Sea east to the central Canadian Arctic, including animals in the Sea of Okhotsk (Rice 1998).","The worldwide population of bearded seals is unknown (Kovacs 2002). Portions of the range have the following abundance estimates: 200,000-250,000 in the Sea of Okhotsk, including 60,000-75,000 off eastern Sakhalin Island for the period 1968 to 1990, and 250,000-300,000 in the Bering Sea, including 83,000-87,000 in the western Bering Sea (Fedoseev 2000). A minimum estimate for Canadian waters of 190,000 animals was suggested by Cleator (1996), based on data collected over a 35-year period. Angliss and Outlaw (2005) state that there are no current reliable population estimates for the Bering Chukchi stock of bearded seals. No estimates exist for the population in the Atlantic Ocean (Reijnders et al. 1993), or Barents to Chukchi seas area.","Bearded seals are the largest phocids in the Arctic. Adults reach lengths of 2-2.5m and weights of 250-300 kg (Andersen et al. 1999) with females typically being slightly larger than males (Kovacs 2002). In the Bering Sea, males have been recorded to reach 390 kg and females 361 kg (Kelly 1988). Sexual maturity is reached at 3-6 years in females, with 80% of females having had a pup by age 6. Males reach sexual maturity at 6-7 years (Kelly 1988). Physical maturity occurs at approximately 9-10 years (McLaren 1958), and they can live 20-25 years (Kovacs 2002). Bearded seal pups are born on the sea ice, but they swim within hours of birth (Kovacs 2002), and before they are weaned they are spending about half their time in the water. Bearded seals primarily feed on or near the bottom, and most diving is to depths of less than 100m (Kovacs 2002). Therefore they live primarily in waters overlying the continental shelf, like much of the relatively shallow Bering Sea when it is seasonally covered with ice (Burns 1981). Adults have been recorded to dive to nearly 300 m, and young pups to over 488 m (Kovacs 2002).Ice is also a determinant of habitat. Bearded seals are typically found away from shore-fast ice and unbroken heavily covered ice fields, preferring areas with moving ice where ice movement, currents, weather and land features interact to create broken ice fields, leads, polynas, and other open areas (Burns 1981). They rarely haul out more than a body length from water (Kovacs 2002). Bearded seals are typically solitary animals, but will form loose aggregations when ice availability is low (Kovacs et al. 2004). The diet of bearded seals varies by age, location, season, and possibly changes in prey availability in marine communities over long time periods (Kelly 1988). Their primary foods live on or near the bottom, but also include some infauna and schooling and demersal fish (Burns 1981). At Svalbard, bearded seals took a wide variety of prey and over half of the stomachs examined had 5 or more species. Arctic cod, found in 44% of the animals, sculpins (Cottidae spp.) in 44%, spider crab (Hyas araneus) in 59%, and the crustaceans Sabinea sptemcarinatus 59% and Sclerocrangon boreas 46%, were the most frequently found prey items (Hjelset et al. 1999).In June, following the pupping and breeding season, bearded seals undergo their annual molt. During the molt they spend much of their time hauled out, and are reluctant to enter the water (Kovacs et al. 2004). Animals can be found molting from April to August with a peak in May to June (Burns 1981). Bearded seals usually haul out on ice when it is available, but will haul out on land in the summer in the Sea of Okhotsk, along the Laptev, White, and Kara Sea coastlines (Burns 1981), and at Svalbard (Kovacs et al. 2004).Important natural predators of bearded seals include polar bears (Burns 1981), as well as killer whales, walruses, and Greenland sharks (Kovacs 2002).","Native Peoples of the Arctic have hunted bearded seals for subsistence for thousands of years, a practice that continues today (Burns 1981). Overall levels of subsistence harvest are not well known. The former Soviet Union had commercial harvests in the Sea of Okhotsk, and the Bering, Chukchi, Barents, and White Seas historically, and harvest levels were at times high. Harvest levels grew from 9,000 to 13,000 from 1957 to 1964, and were 8,000 to 10,000 per year for the Bering and Okhotsk Seas combined from 1964-1967 (Reeves et al. 1992). This commercial over-harvesting probably depleted the population (Kelly 1988). Bearded seals are now harvested more on a subsistence basis for local use in Russia, although some seals are killed as food for fur-farm animals (Kelly 1988), and are primarily taken from the Bering Sea where harvests of 1,881 and 1,418 were reported for 1988 and 1989 respectively (Reeves et al. 1992).Fisheries interactions appear to be low. Logbooks indicate 14 bearded seals killed and 31 injured in 1991 in the Bristol Bay, Alaska salmon drift net fishery. There were several incidents of incidental take, serious injury, or mortality each in the Alaskan Bering Sea/Aleutian Islands flatfish and pollock trawl fisheries respectively from 1999-2003, when annual mortality was estimated at 1.58 seals (Angliss and Outlaw 2005). Oil spills from offshore extraction and transportation could negatively affect bearded seals through direct contact with oil, and damage to foraging areas and stocks of prey, particularly benthic invertebrates, which respond poorly to oil contamination (Kelly 1988).Arctic climate change that is currently leading to reduction in the extent and duration of sea ice cover is a threat to many species of marine mammals. Patterns of Arctic primary productivity and population levels of prey species important to Arctic marine mammals may be altered as a consequence of Arctic warming and changes in sea ice. Pinnipeds, such as the bearded seal that are dependant on sea ice for pupping, molting, resting, and access to foraging areas, may be especially vulnerable to such changes (Tynan and DeMaster 1997). In contrast, Stirling and Derocher (1993) suggest that climatic warming could result in more favorable conditions for bearded, harp, and harbor seals, and walruses if it causes sea ice to become less consolidated in winter, and the summer open water period to lengthen.An increase in human-created noise in the Arctic environment could cause marine mammals, including bearded seals which are very vocal during their breeding season, to abandon areas of habitat (Tynan and DeMaster 1997). A reduction in sea ice cover would likely lead to increased human activity in the Arctic in the form of shipping and extractive industries, and an associated greater threat of marine accidents and disturbance of marine mammals (Pagnan 2000). Harp seals, hooded seals, and ringed seals from the Canadian Arctic, where they share habitat with bearded seals, were all determined to carry antibodies to phocine distemper virus (PDV), with harp seals constituting the population with the largest percentage (83%) of positive tests. Although the disease has not been identified in bearded seals, the opportunity for exposure exists (Duignan et al. 1997).","Bearded seals are protected by various laws in their range countries and by treaties internationally. Subsistence hunting by Native People of the Arctic is generally for personal use and not regulated, for example, as in Canada and the United States (Cleator 1996, Angliss and Outlaw 2005).Vessel-based commercial hunting in the former Soviet Union ended in 1975 and the harvest continues at much lower levels, more like a subsistence harvest. Prior to the end of commercial harvesting, the Soviet Union used a system of quotas to regulate the take in an attempt to manage the population (Kelly 1988). Licensed hunters can take bearded seals in Svalbard, but not in nature reserves or during the breeding season (Kovacs et al. 2004).",European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,PHOCIDAE,Halichoerus grypus,,No,No,LC,,LC,,"This species is widespread and abundant, and European populations are stable or increasing. Consequently it is classed as Least Concern.",Possibly Favourable,"Grey seals have a cold temperate to sub-Arctic distribution in the North Atlantic waters over the continental shelf (Hall 2002). There are three populations isolated both geographically and by timing of reproduction (Bonner 1981). In the western Atlantic, the population is centered in northeastern North America from the Gulf of Maine to southern Labrador, including the Gulf of St. Lawrence. The eastern Atlantic population is found at Iceland, the Faroe Islands, from the Kola Peninsula south to southern Norway, around most of the United Kingdom and Ireland, and in Brittany in France. The Baltic Sea stock is entirely confined to the Baltic Sea (Bonner 1981, Hall 2002). Vagrants are known from as far south as New Jersey in the western Atlantic and Portugal in the eastern Atlantic (Rice 1998).","Grey seal numbers are increasing at some locations while declining in others. The total world population is not completely known. Canada’s Department of Fisheries and Oceans estimates its present population at 250,000 divided into in two herds, mainly in the southern Gulf of St Lawrence, and at Sable Island (Anon. 2006). Aerial surveys in 1997 provided an abundance estimate for the Gulf of Saint Lawrence and Sable Island populations at 195,000 animals. The Sable Island population is increasing by 13% per year. The Gulf of St. Lawrence population is decreasing by and unspecified amount. There are approximately 7,300 gray seals in United States waters, where its numbers are increasing (Waring et al. 2005). The population estimates for areas in the eastern North Atlantic are: Iceland, 11,600 (Hauksson 1987), Norway, a minimum of 3,100 (Wiig 1986), Ireland 2,000, the White Sea 1,000-2,000, and the United Kingdom 110,000 and increasing at 6% per year (Hall 2002). The Baltic Sea population is given as 17,640 (ICES 2005).","Grey seals are large sexually dimorphic phocids. In the United Kingdom, adult males are on average 2.07 m long and weigh an average 233 kg, with a maximum of 310 kg. Adult females are smaller, averaging 1.79 m and 155 kg. At birth, pups are 90-105 cm, with male pups averaging 15.8 kg and female pups averaging 14.8 kg in weight (Bonner 1981). Adults in the western Atlantic are larger, with males averaging 2.25 m and 300-350 kg, and females averaging 2 m and 150-200 kg (Mansfield 1988), with males reaching a maximum of over 400 kg and females over 250 kg (Hall 2002).Pupping occurs from September to March with peak dates differing significantly between populations: in the western Atlantic, January; eastern Atlantic, September-December; and in the Baltic Sea, late February to early March, which probably reproductively isolates each group (Bonner 1981). Pups are born on ice or land in the western North Atlantic, land in the eastern North Atlantic, and ice in the Baltic (Bonner 1981). Pups are born with a woolly lanugo that is molted several weeks after weaning. The pup stays on land from birth until the molt is finished, losing up to 25% of its body weight from fasting (Mansfield 1988). In the United Kingdom, pups molt before weaning; adult females molt from mid-January to mid-February, and males molt from mid-February to early April (Bonner 1981).Grey seals not known for being long-distance migrants. In one study, they spent 43% of their time within 10 km of frequently used haul-out sites, traveling to sandy areas, or gravel sea-bed sediments, the preferred habitat of sandeels, an important part of the grey seal’s diet. Short trips away averaged 2.3 days (McConnell et al. 1999). In Canada, tagging revealed that some animals travel 350-800 km, and in the United Kingdom, they took short-range trips. Occasionally, long treks of up to 2,100 km were made, crossing deep water from northern England to the Shetlands or Orkneys, and from the Faroes into the North Sea. In the Baltic Sea, grey seals make short trips, spending roughly 75% of their time within 50 km of haul-out sites (Sjoberg and Ball 2000).Grey seals' diet varies by location, though they are largely demersal or benthic feeders (Hall 2002). In some areas, the food consumed can be over 70% sandeels (Ammodytes sp.). In the United Kingdom, sandeels, cod and Dover sole accounted for 56% of the diet by weight (Prime and Hammond 1990).","Grey seals have been important in subsistence harvests throughout the history of their contact with humans. They have been hunted by peoples of the Baltic Sea coast for more than 10,000 years (Harkonen et al. 2005). Commercial harvesting has been ongoing in many areas for hundreds of year, and at times grey seals have been important to local economies (Mansfield 1988). Overharvesting in the Baltic in the early 20th century led to a large decline, from a population that once numbered an estimated 30,000 to perhaps as high as 200,000 to a low of 1,500-2,000 by the early 1980s (Kokko et al. 1999).Government culls, bounties, and licensed kills for harvest and protection of fishing gear have been put into effect in many countries, and continue to be used in some in efforts to control grey seal numbers and reduce their impact on commercially important fisheries. Grey seals feed on a number of commercial species, and by damaging nets and traps, they are in direct conflict with fisheries. Indirectly, grey seals are a vector for seal worm, also known as cod worm, a destructive parasite of Atlantic cod (Mansfield 1988, ICES 2005). Entanglement in commercial fishing nets causes bycatch mortality in most parts of the grey seals’ range (Woodley and Lavigne, 1991). Bycatch levels are approximately 300 per year in Swedish fisheries in the Baltic (ICES 2005). Of 528 deaths of tagged seals in the United Kingdom, 148 were attributable to fishing nets. However, this may overestimate the rate of entanglement-related mortality due to the high rate of tag returns from fisheries. It was also estimated that 1-2% of animals less than a year old die in fishing gear (Woodley and Lavigne 1991). Grey seals are known carriers of the morbillivirus known as phocine distemper virus (PDV), in all populations (Ross et al. 1992, Duignan et al. 1995, Harkonen et al. 2006). However, they have suffered almost no mortality from the disease. Harkonen et al. (2006) report grey seal mortality of approximately 230 (equal to 1% of the harbour seal mortality) in the 1988 epizootic in Europe, and the death of 30 gray seal pups in the Baltic were attributed to PDV. Because grey seals haul out with harbour seals in the Wadden Sea, and are known to travel more widely than the sedentary harbour seal, it is presumed that they had a role in the outbreak and spread of the 2002 epizootic of PDV in harbour seals.As a coastal species, grey seals are exposed to and ingest industrial and agricultural pollutants through the food chain. PCBs and DDT contaminant loads are extremely high in Baltic gray seals, despite the fact that tissue burdens have declined since the 1970s. Analysis of samples collected from 1996 to 1998 indicated that gray seals still have a very heavy load of contaminants when compared to other seals outside the Baltic (ICES 2005). Health effects on grey seals have been suggested to be linked to very high exposures of PCBs and DDT. Baltic grey seals have a relatively high rate of colonic ulcers, sometimes fatal, associated with hookworm infestations. This condition occurs in Baltic ringed seals as well, but essentially not found elsewhere in either species (ICES 2005). Uterine stenosis and a range of pathologies in other organs have been attributed to long-term exposure to environmental toxins, particularly in older Baltic gray seals. These are specifically linked to reproductive and population declines for this subspecies, and are conditions not seen in other populations (Bergman et al. 2001). However, no negative effects have been attributed to heavy metal contaminants in Baltic gray seals (Bergman et al. 2001, ICES 2005).Grey seals are generalist predators, and their population has increased in recent decades during periods of declines of some commercial fish stocks that are important grey seal prey. The risks of overfishing or climate-induced declines of fish stocks on grey seals are unclear at this time. One potential threat is the risk of a demand for larger culls and control of grey seal populations to help rebuild fisheries stocks that are affected by, or are presumed to be affected by, grey seals. This would be similar to the efforts to manage harp seals after the collapse of the Atlantic cod fishery, as discussed by DeMaster et al. (2001). Despite the fact that the collapse of the cod fishery is probably not attributable to seal predation, there has been ongoing pressure to cull the populations of harp seals and gray seals (Yodzis 2001).The potential effects of climate change, either warming or cooling, on gray seals are not well known. Although not a high Arctic species, some grey seals pup on ice and are seasonally associated with ice in parts of their range (Bonner 1981). It is unknown how decreases in sea-ice cover might affect gray seals, although Learmonth et al. (2006) identify the gray seal as a species that will probably undergo a decrease in range because of climate change.None of the above is thought to be a major threat to the species as a whole at present.","Numerous countries have invoked protective measures to limit grey seal harvests, culls, disturbance, and by-catch (Bonner 1981, ICES 2005). Pollutant loads in Baltic gray seals have declined in step with regulations banning of the use and/or discharge of toxic pollutants such as DDT and PCBs beginning in the 1970s, and the reproductive health of female grey seals has improved as has the population level in the Baltic (Bergman et al. 2001). Establishment of coastal marine reserves for seals in Norway have been more effective in protecting harbor seals than grey seals because the latter are more likely to travel outside the areas closed to fisheries and become entangled in nets (Bjore et al. 2002).",European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,PHOCIDAE,Monachus monachus,,No,No,CR,C2a(ii),CR,C2a(ii),"The Mediterranean monk seal has a very small population (<250 mature individuals) in the European Mammal Assessment area. There is only one breeding population remaining in the region, so it is presumed that all animals belong to the same subpopulation. There are ongoing declines as a result of fisheries bycatch, persecution, human disturbance, and other threats. Consequently the species is assessed as Critically Endangered.",Unfavourable,"Mediterranean monk seals were once widely and continuously distributed in the Mediterranean, Black and adjacent seas, in North Atlantic waters off northwest Africa south to Cap Blanc, and possibly Senegal and Gambia. They also were found at the Cape Verde Islands, Canary Islands, Madeira Islands and Azores, and north as vagrants to Portugal (Ronald and Healey 1982), and Atlantic France (Israels 1992). Today the distribution is wide but extremely fragmented with three surviving small breeding populations located at opposite ends of the historic range. In the Mediterranean, the stronghold for the species is on islands in the Ionian and Aegean Seas, and along the coasts of Greece and western Turkey. The two surviving colonies in the southeastern North Atlantic are at Cabo Blanco (also known as Cap Blanc or Ras Nouadhibou) on the border of Mauritania and Western Sahara, and the small colony at the Desertas Islands in the Madeira Islands group (Gilmartin and Forcada 2002). Many locations where seals are infrequently or regularly seen, or were seen in the recent or historic past, are reported in the literature and cataloged in reviews and status updates, see Sergeant et al. (1978), Israels (1992), UNEP/MAP (2005).","The Mediterranean monk seal is the most threatened pinniped species in the world, with an estimated population of 350-450 animals. The largest remaining population is that of the eastern Mediterranean, with 250-300 individuals, of which c.100 occur in Turkish waters (Güçlüsoy 2004). Approximately 100 to 130 seals are found at Cabo Blanco in Western Sahara and Mauritania, and approximately 20-23 at Desertas Island, Madeira (Pires and Neves 2001, Gilmartin and Forcada 2002, UNEP/MAP 2005). The population at Cabo Blanco was estimated at 317 seals before the loss of an estimated 70% in a mass mortality event in 1997 (Forcada 2000). Following this event, 24 pups were born at Cabo Blanco in 1997, comparable to the rate of births in 2004 and 2005, but this number rose significantly in 2006 to 46 births (Cedenilla and de Laminoa 2006). A recent review of monk seal occurrences reported at all other locations and countries from 1999-2005 yielded a minimum of 14 additional seals, with 10 of the 14 in Algeria, plus an unspecified number of vagrants (UNEP/MAP 2005).","Mediterranean monk seals are medium-sized phocids that reach 2.3-2.8 m (Gilmartin and Forcada 2002). Adults weigh from 240-300 kg, and newborns 15-26 kg (Boulva 1979, Gilmartin and Forcada 2002), with records of a male reaching 400 kg and a pregnant female reaching 302 kg (Sergeant et al. 1978). Mediterranean monk seals once hauled out on open beaches, but this is now rare, and throughout their range they use caves with sea entrances for hauling out and pupping (Gilmartin and Forcada 2002). Sea caves used by seals often have submerged entrances or some other barrier to provide protection from waves. In a study that covered 250 km of coastline inhabited by monk seals in the Cilician Basin region of southern Turkey, 282 caves were searched. Of these, 39 showed evidence of monk seals, including 3 that were used for pupping and 16 that were actively being used. Use of these caves increased in October coincident with the autumn pupping season in Turkey (Gucu et al. 2004). The maximum number of seals from this small Turkish population found in a cave in at one time was 3 (Gucu et al. 2004). Sea caves are also used extensively at Cabo Blanco, particularly northwest of the cape. Two caves separated by 1.1 km accounted for 84% of the births in the area from 1993-1997 (Gazo et al. 1999). In contrast to the situation in Turkey, counts at one cave in the Las Cuevecillas section of the Cabo Blanco colony recorded up to 89 seals hauled out at one time, and never less than 5 animals present (Gonzalez et al. 1997).Female Mediterranean monk seals probably become sexually mature at three to four years. One female at Cabo Blanco became pregnant at 2.5 years and gave birth at 3.7 years, the youngest age known for this species (Gazo et al. 2000b). Females can give birth in successive years. The annual reproductive rate in Mediterranean monk seals is very low at 0.3-0.43 pups to each sexually mature female (Gazo et al. 1999). Pup survival is low (Gazo et al. 2000a). Mediterranean monk seals take a wide variety of prey primarily from shallow water habitats (Sergeant et al. 1978, Kenyon 1981). In the eastern Mediterranean, they have been reported to take a variety of fish, octopus and loggerhead sea turtles (Caretta caretta) (Margaritoulis et al. 1996). Examination of two seals from the Aegean Sea yielded five species of prey. By weight 94% of the contents were cephalopods including musky octopus (Eledone moschata) and globose octopus (Bathypolypus sponsalis) (Salman et al. 2001).","Mediterranean monk seals have a long history of interaction with humans that includes exploitation for subsistence needs, commercial harvest, and persecution as a competitor for fisheries resources. Once abundant, monk seals were written about and illustrated in the literature and depictions of classical antiquity. They became the target of a commercial harvest for skins and oil by the Portuguese as early as the 15th century along the coast of northwest Africa (Israels 1992).Reasons given for the recent population decline include increased human population displacing seals from their habitat, mortality due to fisheries bycatch and persecution, and the possible effects of toxics and pollutants (Boulva 1979). Exacerbating these factors are political instability and wars, the challenge of implementing effective conservation for a species in a complex multi-national environment, weak enforcement of agreements and international laws, diseases, genetic consequences of inbreeding, and other catastrophes such as oil spills and collapse of occupied pupping caves (Israels 1992).Interactions with fisheries are of great conservation concern, particularly for the population in the eastern Mediterranean, where seals are killed through net entanglement and deliberately killings by fishermen. They possibly suffer from depletion of fish stocks, anti-seal methods designed to protect aquaculture facilities, and illegal dynamite fishing (Güçlüsoy 2004). Monk seals have been entangled in a wide variety of fisheries gear including set-net, trawl net, and long-line. They seem most vulnerable to set-nets placed on the bottom, and can also become entangled in abandoned and discarded nets (Tudela 2004).The deaths of 130 seals over a 10-year period ending in 1999 highlighted the significance of deliberate killing as a source of mortality (Tudela 2004). Deliberate killing of monk seals by humans was attributed to 1/3 of all mortalities of 79 stranded animals in Greece, and is considered the single most important source of mortality (Androukaki et al. 1999).The genetic diversity of Mediterranean monk seals is amongst the lowest found in pinnipeds. Only Hawaiian monk seals and northern elephant seals have lower diversity. The consequences of mating between closely-related individuals include congenital defects leading to stillborn pups and a decreased reproductive rate, both of which have been documented in the Cabo Blanco colony. Additionally, low fitness and increased susceptibility to disease may be a problem (Pastor et al. 2004). Morbillivirus was isolated from Mediterranean monk seals after the mass mortality at Cabo Blanco in 1997. The virus most closely resembled dolphin morbillivirus (DMV) that was previously implicated in the 1991 mass mortality of striped dolphins in the Mediterranean Sea (Osterhaus et al. 1992, Van de Bildt et al. 1999). Although this virus was already circulating in monk seals prior to the mass mortality, there is doubt that it caused the deaths. Dinoflagellate-produced saxitoxins were found in tissues from animals that died during the 1997 event, and the suddenness of death of the animals and other symptoms suggest that the cause of death was from the toxins rather than an epidemic of morbillivirus. Additionally, toxic algal blooms (red tides) are favored by oceanographic conditions near Cabo Blanco, and were reported from nearby Morocco the southeastern North Atlantic during a 25-year period leading up to the mass mortality. Canine distemper virus is present in stray dog populations in Aegean Turkey at a level of approximately 9% in the population. This may be a source for future infections of wild carnivores, including monk seals through contacts in harbors and along shorelines (Gencay et al. 2004).Contaminant burdens have always been suspected to be a threat to the Mediterranean monk seal, and should be investigated and routinely monitored (Boulva 1979, Reijnders et al. 1993). Tissues collected during the 1997 mass mortality and analyzed for PCBs and DDT detected levels of pollutants comparable to those found in other marine mammals not believed to be experiencing contaminant related health or reproductive effects (UNEP 2005).Mediterranean monk seals are at an unknown but suspected high level of risk from oil tanker and other ship accidents, spills and groundings. Animals could be oiled or coated in fuels and lubricants, exposed to other toxic or environment-altering chemicals or products, and experience disturbance at haul outs or coastal feeding areas. Mauritania is planning to explore offshore oilfields which would lead to increased vessel traffic in the area, and greater chance for accidents, disturbance, and collisions near important habitat. Three accidents or spills have occurred near monk seal habitat in the recent past, including a supertanker that spilled oil off of Morocco in 1989 (Israels 1992), an oil spill in the Madeira Islands in 1994 (UNEP 2005), and the grounding of a bulk carrier near Cabo Blanco in 2003 (UNEP 2005). None of these spills or accidents had any known impacts on monk seals, but they underscore the threat of significant impacts from a major maritime accident near an important monk seal site (UNEP 2005).Human disturbance has been identified as a primary factor in the decline in numbers of monk seals through displacement of animals from habitat. Traditionally, this was the result of expanding human populations and coastal development. Since the 1970s, a new threat has emerged in the form of people seeking out monk seals to view at the few remaining locations. Tourism has grown to become one of the most significant hazards faced by monk seals, particularly in the eastern Mediterranean (Johnson and Lavigne 1999). Besides disturbance, tourist activities increase the risk of vessel accidents, spills, transmission of disease, and the discharge of pollutants and waste near the seals.","The Mediterranean monk seal is protected throughout its range. Two protected areas have been established for monk seals, the Desertas Islands in the Madeira archipelago, and the Northern Sporades Islands national marine park in Greece. There are future plans to set up nature reserves to protect more habitat for monk seals in the region.Numerous agreements, conventions, and treaties are in force to protect monk seals internationally, and many workshops and conferences have brought together scientists and managers to discuss monk seal conservation issues and problems. Israels (1992) summarizes 30 years of this conservation history, and provides details on accomplishments and failures to meet objectives. Other measures in place include Action Plans completed in 1978 and 1988 for the conservation and management of monk seals, and the 2005 plan for the recovery of the monk seal in the eastern Atlantic.Many actions have been taken on a local scale including outreach and education programs, restrictions on gear and location for fisheries, development of monitoring programs and protocols, and increasing the capability to rehabilitate sick and injured animals (Gonzalez 2004).",European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,PHOCIDAE,Pagophilus groenlandicus,,No,No,NA,,NA,,"This species is a vagrant in the marine region covered by the European Mammal Assessment, consequently it is classed as Not Applicable.",-,"Harp seals are widespread in the North Atlantic and the adjacent Arctic Ocean. Their range extends from northern Hudson Bay and the Foxe Basin, Baffin Island, and the Davis Strait, and the Gulf of Saint Lawrence and Newfoundland in the western north Atlantic, east to somewhat south of Greenland, continuing east to Iceland and from there to Northern Norway, the White Sea and all of the Barents and Kara Seas. The northern limit in the eastern North Atlantic is at least to Franz Joseph Land and Svalbard and may continue to between 82-85 degrees north depending on ice conditions (Lavigne and Kovacs 1988, Rice 1998, Lavigne 2002). Harp seals often wander south outside this range and vagrants have reached the United Kingdom (Ronald and Healy 1981), the Faroe Islands, Denmark, Germany, France, and Spain (Heptner 1976, Van Bree 1997, Bloch et al. 2000).","The population level in 2000 for the animals breeding in Canadian waters of the western North Atlantic, on “the Front” off Newfoundland and Labrador and in Gulf of St. Lawrence, was estimated to be 5.2 million animals (95% CI 4.0-6.5 million). Canada’s Department of Fisheries and Oceans claims the population has recovered in the past from an estimated low of around 1.8 million in the early 1970s to more than 5 million today (Anon. 2005). The breeding group on the West Ice near Jan Mayen was estimated at 296,000 in 1994. The White Sea breeding group is made up of approximately 1.5-2.0 million animals as of 1999 (Lavigne 2002). Totaling the figures from Lavigne and each area estimate gives a world population of 5.8-8.8 million, making harp seals the most abundant pinniped in the Northern Hemisphere.","Harp seals are medium-sized phocids, with adult males averaging lengths of 1.83 m and weights of 135 kg. Females are slightly smaller at 1.79 m, weighing 120 kg. Females in the northwest Atlantic mature at about 4-5 years, compared to males at 5-8 years. The Jan Mayen and White Sea breeding groups reach maturity about a year earlier (Ronald and Healey 1981). The maximum life span of a harp seal is approximately 30 years, and it is not unusual for them to reach over 20 years of age. Both males and females are sexually active until their 20s, and females may give birth every year until they are at least 16 years old (Ronald and Healey 1981).Harp seals are migratory, and after breeding, Canadian seals follow the pack ice up the coast of Labrador, with small numbers into Hudson Bay, to Baffin Island, and both sides of the Davis Strait, to Greenland. The Jan Mayen and White Sea groups migrate and mix in the Barents Sea. The Jan Mayen group reaches the high Arctic, up to 85 degrees north.Harp seals consume a wide range of prey that varies along the migration route. Their diet, according to Lavigne (2002), consists of 67 species of fish and 70 species of invertebrates. Pups and juveniles take euphausiids (Thyanoessa spp.) and amphipods (Parathemisto spp.) (Nilssen et al. 2001), whereas adults take pelagic crustaceans and a variety of fish (Kapel 2000).","Harp seals have been harvested for thousands of years by native peoples of the Atlantic Arctic, including coastal Northern Europeans (Stora and Ericson 2004). Basque whalers began taking harp seals in the 1500s. By the mid-1600s, French settlers began the hunt in the Gulf of St. Lawrence, developing land-based netting techniques on the St. Lawrence River in the 1700s. The French Canadians exported 500 tons of oil per year by the mid-1700s, based on an estimated take of 6,000 seals per year. In Newfoundland, English settlers hunted harp seals on a larger scale that accounted for an estimated 7,000-12,800 seals per year for most of the 1700s, including 50,000 whitecoats (juvenile harp seals) killed in 1773. By the 1800s, schooner-based sealing developed, and the number of seals harvested rose dramatically; from 1803-1816 the average annual was 117,000. The peak of sealing in the northwest Atlantic occurred between 1818 and 1862, when 500,000 seals were harvested in many years, reaching a maximum of 640,000-740,000 in single years. During that time, it is estimated that 18.3 million harp seals, mostly whitecoats, were killed for oil. The records show somewhat lower figures for the northeast Atlantic. At Jan Mayen, the catch began falling in the late 1850s, attributed to overhavesting. From 1860 to 1900, an estimated 12.8 million seals were harvested there (Lavigne and Kovacs 1988). The 20th century saw the advent of steel-hulled ships, and the hunt continued, though harp seals became more valued for their pelts than their oil. 143,000 seals were taken in 1917. This number fell during the war years, then rose again in the 1950s, when it averaged 312,000 seals per year. In 1960, Canada became concerned about the large numbers of adults being killed, so it placed limits on the length of the hunting season. During the 1960s, an average of 284,000 seals were taken per year. In 1964 observers sent by humane organizations described the clubbing of whitecoats, and the subsequent public outcry led to seal protection regulations controlling the methods of the kill, and the types of vessels used. Adult females were protected on the breeding grounds, and Norway was excluded from sealing in Canadian waters. In 1971 a quota management program was set up, and from 1970 to 1987 the quotas varied, from 127,000 per year to 245,000 per year, but the actual harvest was often much lower (Lavigne and Kovacs 1988).In 1983, the European Economic Community imposed an import ban on all whitecoat (juvenile harp seal) products, and the average annual harvest in Canadian waters fell to 52,000 seals from 1983-1995. By 1987, Canada outlawed the killing of whitecoats, and the focus of the hunted switched to beaters (post-weaning to 13 months of age) (Anon. 2006a). From 1999-2003, the estimated annual mortality of harp seals in the northwest Atlantic was 453,962, broken down into an average of 232,915 taken in the commercial harvest by Canada, 83,010 taken from 1999-2002 in Greenland, and 4,881 taken in the Canadian high Arctic, plus a bycatch of 18,566 in the Newfoundland lumpfish fishery, with an average annual struck and loss rate of 119,430 from all harvests (Waring et al. 2005). Since the late 1970s large numbers of harp seals have been leaving the Barents Sea, and possibly the Greenland Sea, to forage along the coast of Norway, resulting in the deaths of thousands of seals in shore-based net fisheries. Bycatch mortality from nets was estimated to be 56,647 (perhaps up to 100,000) in 1987, and 21,474 in 1988 (Haug et al. 1991, Woodley and Lavigne 1991). Another threat to harp seals is the overharvesting of their prey, including herring and capelin. There have also been calls for an increased cull of harp seals to protect the Atlantic cod fishery, for some years in a steep decline (Lavigne 2002). Oil spills in the northwest Atlantic off the east coast of Canada remain a threat to seals. There is a concern about the impacts of tanker traffic, particularly in places like Lancaster Sound in the eastern Canadian Arctic, which is an important harp seal summering area (Reijinders et al. 1993). Additionally, harp seals have been found to carry significant loads of contaminants including heavy metals, organochlorines and PCBs (Ronald et al. 1984a,b). Phocine distemper virus (PDV) was first found in harp seals from the West Ice off Jan Mayen in 1987 and 1989. It is widespread in harp seals, but it is not known if there are significant health effects or mortality from the infection. The harp seals may have been carriers infecting harbor seals, which did experience a mass mortality in Europe in 1988 (Markussen and Have 1992).","Canada has in place sealing regulations pursuant to the 1993 Marine Mammal Regulations that require annual quotas, referred to as “Total Allowable Catches,” hunting licenses, and official observers of the commercial hunt (Anon. 2005). In the northeast Atlantic, quotas for sealing are based on recommendations made by the International Council for Exploration of the Sea (ICES) and the Northwest Atlantic Fisheries Organisation (NAFO). Russia is responsible for managing seals in the southeast part of the Barents Sea, while Norway is responsible for managing stocks in the Greenland Sea by Jan Mayen (Anon. 2006b).",European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,PHOCIDAE,Phoca vitulina,,No,No,LC,,LC,,"This species is widespread and abundant. Population size well exceeds the threshold for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers). Population trend has not been quantified, but it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, the harbour seal is evaluated as Least Concern at the European level. There is concern, however, for the Baltic Sea and Svalbard populations.",Unknown,"Harbour seals are one of the most widespread of the pinnipeds. They are confined to coastal areas of the Northern Hemisphere, from temperate to polar regions. Five subspecies are recognized: P. v. vitulina occurs in the eastern Atlantic from northern Portugal to the Barents Sea in northwestern Russia, and north to Svalbard; P. v. concolor occurs in the western Atlantic from the mid-Atlantic United States to the Canadian Arctic and east to Greenland and Iceland; P. v. mellonae only lives in several lakes and rivers in Quebec, Canada that drain into Hudson and James Bays; P. v. richardii is found in the eastern Pacific from central Baja California, Mexico to the end of the Alaskan Peninsula, and possibly to the eastern Aleutian Islands, and P. v. stejnegeri ranges from either the end of the Alaskan Peninsula or the eastern Aleutians to the Commander Islands, Kamchatka, and through the Kuril Islands to Hokkaido in the western Pacific.","Combining recent estimates yield a world-wide population of 350,000 to 500,000 animals. P. v. stejnegeri of the western Pacific (approximately 7,000), and P. v. mellonae (120-600), of the seal lakes of the Ungava Peninsula, Canada, may be the subspecies most at risk due to low population numbers. Populations in Svalbard and the Baltic Sea, both in the hundreds, are also dangerously low, although they are not considered to be separate subspecies from P. v. vitulina.","Harbour seals are mainly found in the coastal waters of the continental shelf and slope, and are also commonly found in bays, rivers, estuaries, and intertidal areas. Although generally considered non-migratory species with a high degree of site fidelity to a haul out, juvenile dispersal, emigration, and establishment of new haul out sites are all possible reasons for long range movements of harbor seals (Burns 2002).Harbour seals are generalist feeders taking a wide variety of fish, cephalopods, and crustaceans obtained from surface, mid-water, and benthic habitats. Generally, a few species dominate the diet at any one location and time of year. Harbour seals also take many commercially important fish species such as Atlantic cod, many kinds of salmon, herring, and flatfishes, and this aspect of their foraging puts them into conflict with coastal fisheries. Although primarily coastal, dives to over 500 m have been recorded (Burns 2002).Male harbour seals become sexually mature when four to five years old. Longevity is typically 35 years for females and 25 years for males.","Harbour seals live in coastal areas in some of the most heavily fished waters on earth, and as a result there are significant entanglement and by-catch issues, as well as effects on the food chains they depend on for their prey. Historically there have been organized population reduction programs and bounties for taking seals in many parts of their range, and licenses, permits, and legal allowances are also available in a number of countries today to commercial fishermen to take animals that depredate nets, traps, and lines. Harbor seals may still be taken by subsistence hunters in Canada, Greenland, and the United States. Mass die-offs from viral outbreaks have claimed thousands of harbor seals. In 1988 and 1989 more than 18,000 harbor seals are estimated to have died from a phocine distemper virus (morbillivirus) epidemic in European waters. Other disease outbreaks occurred both before and after this large epidemic in both Europe and the western North Atlantic, but resulted in much smaller levels of mortality. Because many harbor seals live and feed in close proximity to large populations of humans they are exposed to and can accumulate high levels of industrial and agricultural pollutants. Immunosuppression is one effect regularly attributed to exposure to high levels of certain organochlorines, and these and other contaminants probably contribute to poor condition and overall fitness of a number of animals in some areas. Both chronic oil spills and discharges, and episodic large scale spills cause direct mortality, and have long term impacts on harbor seal health and their environment.","Hunting of subspecies P. v. vitulina is currently only permitted in Norway and Iceland, where there may be an annual catch of 5,000-7,000. In the United Kingdom, shooting licenses may be issued in order to protect fishing activities. In the United States the harbour seal is protected from all but subsistence hunting by the Marine Mammal Protection Act of 1972, which also prohibits importation of parts or products from all seals. Coastal reserves in Norway which exclude commercial fishing have been shown to reduce harbour seal mortality. Hunting is now prohibited in the Wadden Sea area (Netherlands, Germany, Denmark, and Sweden) (Reijnders et al. 1993).",European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,PHOCIDAE,Pusa hispida,Five recognized subspecies: hispida; botnica; ladogensis; saimensis; and ochotensis.,No,No,LC,,LC,,"The only subspecies of ringed seal that occurs regularly in the marine area covered by the European Mammal Assessment is the Baltic ringed seal, P.h. botnica. Consequently the European regional assessment refers to this subspecies only. Although this subspecies was severely depleted by overharvesting in the past, it is now recovering. Whilst the number of mature individuals is still less than 10,000, the Bothnian Bay population, which constitutes c.75% of the total, is increasing at approximately 4.5% per year, and has done so consistently for more than ten years. As the regional population is expanding at a steady rate overall, it is classed as Least Concern, even though numbers remain low and there is serious concern for seals in some parts of the Baltic (e.g. the Gulf of Finland and the Gulf of Riga). Ongoing conservation efforts are necessary to ensure that the population continues to recover. The Saimaa ringed seal P.h. saimensis qualifies as Endangered under Criterion D as it has a very small population (<250 mature individuals) but it is not declining at present.The Ladoga ringed seal P.h. ladogensis qualifies as Vulnerable under Criterion D2 owing to its very restricted range.",Possibly Favourable,"Ringed seals have a circumpolar distribution throughout the Arctic basin including near the North Pole (Rice 1998), and range widely into adjacent seas. They are found in the Bering Sea, Canadian Arctic Archipelago, Hudson Bay and Straits, Davis Strait, and Greenland, Barents, Kara, Laptev and East Siberian seas. Separate populations occur in the Baltic Sea, Lake Ladoga in the Russian Federation, Lake Saimaa in Finland, and the Sea of Okhotsk south to northern Japan (Frost and Lowry 1981, Reeves 1998). Vagrants have been recorded south to Portugal and the Azores in Europe, southern California and New Jersey in the United States, and Zhejiang in China (Rice 1998). Ringed seals are distributed in waters of nearly any depth, and their distribution is strongly correlated with seasonally and permanently ice-covered waters, and food availability (Frost and Lowry 1981, Reeves 1998). Shore-fast ice is considered to be the most important habitat for pupping, although the importance of pack ice is not well known (Reeves 1998).","The world-wide population of ringed seals is not known. Citing many factors such as vast geographic area occupied by the species, highly variable densities found within areas that have been surveyed, the unknown relationship between the numbers of seals observed versus those not seen, and other factors, Frost and Lowry (1981) state that it is “unwise to attempt an estimate of the world population of this subspecies” (P. h. hispida). Despite numerous surveys conducted since, Reeves (1998) believes that “this conclusion remains appropriate.” Nevertheless, published world-wide population estimates exist including 6-7 million (Stirling and Calvert 1979), and 2.5 million for the most widespread subspecies, P. h. hispida (Miyazaki 2002). The population of P. h. botnica is estimated at 5,000 to 8,000 (Reeves 1998), and in excess of 6,000 (Harkonen et al. 1998). P. h. ladogensis and P. h. saimensis have been estimated to number 10,500-12,500 (Reeves 1998) and about 5,000 (Sipila and Hyvarinen 1998) for the former, and <200 (Reeves 1998) or about 200 (Sipila and Hyvarinen 1998) for the latter.","Ringed seals are usually found singly or in small groups, and when inhabiting sea ice, can be difficult to find. They swim in leads among floes, and maintain breathing holes with their claws, excavate snow lairs, and utilize naturally occurring cracks and cavities within pressure ridges when seas freeze (Smith and Stirling 1975, Frost and Lowry 1981, Kelly 1988).Sexual maturity is usually attained between 4-7 years for females and 5-7 years for males. Physical maturity is reached between 8 and 10 years old. Maximum ages of 43 years (McLaren 1958), and 46 years (Reijnders et al. 1993) have been reported.A single pup, rarely twins, is born from March to May, with most pups born in early April (Frost and Lowry 1981). Most births occur in lairs excavated under snow that accumulates upwind and downwind of ice ridges (Smith and Stirling 1975), or in cavities occurring between blocks of ice in pressure ridges (Mclaren 1958, Kelly 1988). Lairs are believed to provide protection from a variety of predators and periods of very cold air temperatures and high wind chill (Smith and Stirling 1975, Kelly 1988). Ringed seals take a wide variety of fish and invertebrate prey and show variation in diet between seasons and in different geographic areas. The most important species and groups include Arctic cod (Boreogadus saida) and saffron cod (Eleginus navaga), and a variety of crustaceans including amphipods, euphausiids, mysids, and shrimps (Lowry et al. 1980, Kelly 1988). Saimaa and Ladoga ringed seals are confined to freshwater lakes where they prey on a wide variety of fish and some invertebrates, especially smelt (Osmerus eperlanus), vendace (Coregonus albula), burbot (Lota lota), perch (Perca fluviatalis), roach (Rutilus rutilus), and whitefish (Coreogonus lavaretus) (Sipila and Hyvarinen 1998).","Ringed seals are very important to northern communities, and many thousands are taken annually in subsistence harvests. Reeves (1998) reports an annual quota for shore-based hunters in the Sea of Okhotsk of 7,500, and a combined estimate of 10,000 taken per year from the Bering, Chukchi, and Western Beaufort Sea by Russians and native Americans. Reeves et al. (1998) estimate that the annual removal of ringed seals in the Canadian Arctic is in the “high tens of thousands” at present, and that in 1980s, including animals killed and lost, the harvest was between 60,000 and 80,000, and may have exceeded 100,000 in some years. Another substantial annual harvest occurs in Greenland with nearly 100,000 taken per year in the 1970s, and approximately 70,000 taken annually in the early 1990s (Teilmann and Kapel 1998). The species is not currently harvested in the marine region covered by the European Mammal Assessment.Commercial harvests of ringed seals in the early to mid 20th century were sometimes large, and probably had significant local impacts on certain populations. Annual harvests of 72,000 from 1955 to 1965 in the Sea of Okhotsk, 20,000 in the Baltic Sea (Reeves 1998), and commercial and reduction harvests in Lakes Ladoga and Saimaa (Sipila and Hyvarinen 1998) are examples of the negative effect of localized overharvesting on ringed seal populations.Ringed seals carry loads of organochlorine and heavy metal contaminants from human industry and agriculture. Chlorinated hydrocarbons have been implicated in uterine pathology in Baltic ringed seals (Bergman and Olsson 1986), and high concentrations of mercury in Saimaa ringed seals is thought to have reduced pup production in the 1960s and 1970s (Sipila and Hyvarinen 1998).Vessel traffic and noise, and the effect of noise from offshore oil and gas exploration or construction can affect ringed seals and cause mortality, abandonment of breathing holes and lairs, and a decrease in abundance near the activity (Smith 1987, Reeves 1998). Manipulation of water levels, recreational snow machine operation, net fishing, boating, tourism, and development of cottages on the shoreline at Lake Saimaa, and industrial pollution, net fishing and poaching on Lake Ladoga have been implicated in past or present mortalities, population impacts, or disturbance to their respective ringed seal populations (Reijnders et al. 1993, Sipila and Hyvarinen 1998). Global warming may pose the greatest threat to ringed seals if it leads to large losses of stable shore-fast ice habitat used for pupping and foraging (Tynan and DeMaster 1997). Also, changes in precipitation and weather patterns could negatively effect ringed seal populations if there is insufficient snow cover to protect pups in lairs in the spring (Stirling and Derocher 1993, Ferguson et al. 2005). Climate change could be particularly acute for ringed seals living in restricted habitats such as the Ladoga and Saimaa Lake populations (Learmonth et al. 2006), and possibly in the Okhotsk and Baltic seas. An increase in human created noise in the Arctic environment could cause marine mammals, including ringed seals, to abandon areas of habitat (Tynan and DeMaster 1997). Reductions in sea ice cover would likely lead to increased human activity in the Arctic in the form of shipping and extractive industries, and an associated greater threat of marine accidents and pollution discharge (Pagnan 2000). However, Moulton et al. (2005) found no more than slight effect on ringed seals from construction, drilling, and operation of the Northstar offshore island oil production facility in the Beaufort Sea.","Ringed seals are protected by numerous laws and quotas in different parts of their range. The population in Lake Saimaa has been protected since 1955, and additional protection has resulted from establishment of two national parks at the lake, and regulation of shoreline development. Similarly, the hunting of seals in Lake Ladoga was prohibited in 1980 (Sipila and Hyvarinen 1998). In the United States ringed seals can only be harvested for subsistence purposes by Alaskan Native Subsistence Hunters, and they have been protected by the Marine Mammal Protection Act of 1972, the implementation of which reduced annual mortality by eliminating all hunting by non-native people (Angliss and Outlaw 2005). Quotas and licensing of hunting have been in place in various parts of the Russian Federation/former Soviet Union for decades and have led to protection of Sea of Okhotsk, Barents and White seas, and Lake Ladoga ringed seals (Belikov and Boltunov 1998, Reeves 1998). Baltic ringed seals were protected from all killing by the Soviet Union in 1980, by Sweden in 1986, and by Finland in 1988 (Harkonen et al. 1998). State Nature Reserves at Franz Josef Land and in the White and Kara seas protect large areas of ringed seal habitat in the western Russian Arctic (Belikov and Boltunov 1998).",European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,URSIDAE,Ursus arctos,,No,No,LC,,NT,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Near Threatened (NT)The European bear population (including western Russia) is relatively large (c.55,000 individuals) and occupies a large range. Overall, the population trend is believed to be stable. Consequently it is classed as Least Concern.In the EU 25 there are fewer than 10,000 mature bears. The species was formerly widespread and abundant, but it was driven extinct in much of western and central Europe over the last few centuries. Many remnant populations are tiny and fragmented. If ongoing conservation action ceased, it is expected that the species would decline at such a rate that it would meet Criterion C1 in the near future. Consequently it is assessed as Near Threatened. Continued protection is required to ensure the continuing recovery of this species.1. CantabrianThe two Cantabrian nuclei are assessed separately as there is apparently very little or no interchange between them (there are major barriers to dispersal, and the two nuclei are genetically distict). In both cases the population may number less than 50 mature individuals. Consequently these two nuclei are assessed as Critically Endangered (D).2. PyreneesThe population in the Pyrenees is tiny and isolated. Although it has increased in number in the last decade as a result of translocations from Slovenia, it remains highly vulnerable. Classed as Critically Endangered (D).3. AlpsThe population is tiny and qualifies as Critically Endangered under Criterion D.4. Appenine MountainsThe population is tiny and qualifies as Critically Endangered under Criterion D.5. Dinara-PindosThis population is small (<2,500 mature individuals). It has a structure such that each subpopulation contains fewer than 1,000 individuals. Population trends are poorly known, and although the population seems more or less stable, it is possible that there is a slight continuing decline. Consequently it is classed as Vulnerable (C2a(i)). The assessment is not adjusted because there is little interchange with other populations, and adjacent populations are also threatened. If better information shows that the overall trend is stable or increasing, reassessment should be considered.6. CarpathianThe population is small (<10,000 mature individuals), and all individuals are part of the same subpopulation. The population has been stable in the recent past, although there are concerns that it may be declining slightly at present as a result of infrastructure developments and other threats. Classed as Vulnerable (C2a(ii)).7. BalkanThis population is very small (<1,000 mature individuals) and qualifies as Vulnerable under Criterion D1.8. ScandinaviaThis population is small (potentially less than 2,500 mature individuals). Although there is controlled harvesting, the population is nevertheless growing at a steady and relatively rapid rate. Consequently, as there is no ongoing decline, this population cannot qualify as threatened under Criterion C, even though its population size is small. It is classed as Least Concern.9. Northeastern EuropeThis population is relatively large (c.38,000 individuals) and occupies a large range. Overall, the population trend is believed to be stable. Consequently it is classed as Least Concern.",Unfavourable,"The brown bear is the most widely distributed ursid. It once ranged across a large portion of North America, including Mexico, throughout Europe, Asia, and even into several countries in north Africa. It presently ranges across parts of North America, Europe, and Asia, with the largest numbers in Russia, Alaska, and Canada. Populations in Europe are highly fragmented, and some are extremely small and isolated. Details of the European populations are given below (following LCIE 2007):1. CantabrianPresently there are two bear nuclei in the Cantabrian Mountains in Spain. They are defined as the western and eastern portions.2. PyreneesWestern Pyrenees (9 bears): The Western Pyrenean brown bear subpopulation is found in a 1,000 km2 area located on both sides of the national border between France and Spain in the western portion of the Pyrenees Mountain Range. However, only about one half of this area is used regularly.Central Pyrenees (8 bears): The Central Pyrenean brown bear subpopulation is on both sides of the national border between France and Spain in the central portion of the Pyrenees Mountain Range including Andorra.3. AlpsPresently there are three bear nuclei in the Alps. In Central Austria there is a small nucleus originated from three bears released in 1989-1993, into an area with a naturally occurring male bear. Another nucleus is located in the Central Italian Alps, centered in the province of Trento. This nucleus (20-25 individuals, all originated from the animals translocated in the 1999-2003 period) occupies an area of about 1,500 km2, of which only 240 km2 is used regularly. A third nucleus of bears is present in the Eastern Alps, and originated from individuals that arrived naturally from the Slovenian population. Vagrants from the Dinara-Pindos population are frequently present in the Alps of Slovenia along the border with Austria.4. Appenine MountainsThe population is located in Abruzzo National Park and the surrounding area in the Apennine Mountains in Italy.5. Dinara-PindosThis population consists of brown bears in the forested areas extending from the Dinara range in Slovenia in the north through Pindos Mountains in Greece in the south. The countries involved are Slovenia, Croatia, Bosnia and Herzegovina, Serbia, Montenegro, FYR Macedonia, Albania, and Greece. The forested areas in these countries are less contiguous than in the Carpathian area, separating to some degree the functional habitat into more or less isolated sub areas, although there are corridors.6. CarpathianThe Carpathian population includes the brown bears in Slovakia, Poland, Ukraine, Serbia and Romania. The Carpathian Mountains population is the second largest in Europe. The bears are widely distributed within the entire Romanian Carpathian Mountains range, starting from hilly areas and extending to sub-alpine habitats. Bears in Romania occur permanently or sporadically across a total area of 62,000 square kilometers, of which about 44,000 square kilometers are forested.7. BalkanThe Rila-Rhodope area is located in south-western Bulgaria and north-eastern Greece. It includes the three connected populations in the Bulgarian Rila Mountains and Pirin Mountains and the population in the western Rhodope Mountains on both sides of the national border. Of the total population of about 520 bears, only 25-30 are found in Greece. The connection between the bears in Greece and Bulgaria is likely to consist of dispersing males from Bulgaria, as well as of family groups seasonally dispersing from Greece into Bulgaria. The Stara Planina population is located from Kotlenska mountain in the east to Zlatitsa-Teteven in the west, along a 120 km stretch of the Stara Planina Mountains (Balkan Range). The western end extends into Serbia and a few bears are shared over the border. The Stara Planina population was believed to be isolated from the populations to the south and west but there is recent evidence of bears in the corridors to the south towards Rila-Rhodopean Mountains, including family groups.8. ScandinaviaThe population is shared between Sweden and Norway, but much more than 95% of the individuals are in Sweden. In Norway the bears are found mostly along the Swedish border and most individuals are dispersing young males from Sweden. The delineation is along the Swedish-Finnish border, and further north through Norway. Bears in Norway east of this line are in Northeastern Europe population. The area between the Scandinavian and Northeastern Europe populations is very sparsely inhabited by bears.9. Northeastern EuropeThe North-eastern European population is the largest continuous brown bear population in Europe. Its range stretches from the Ural Mountains in the east (continuous with the bears on the east side of the mountains making it the largest brown bear population in the world) to the west coast of Finland and the Baltic. It ranges from 53° N in the south to 69° N in the north. This population includes bears in north-easternmost Norway, Finland, Estonia, Latvia and Belarus.","Brown bears originally occurred throughout Europe (except from the largest islands such as Ireland, Iceland, Gotland, Corsica and Sardinia), but later disappeared from most areas as the human population grew, suitable habitat was lost due to deforestation and agriculture, and the species was persecuted by humans. Today the total number of brown bears in Europe is about 55,000 bears (c. 15,000-20,000 outside Russia) which occur within an area of more than 2.5 million km² (800,000 km² outside Russia). These bears are found in two large (>5,000), three medium (500-2,500), one small (100-500), and six very small (<100) populations. 1. Cantabrian. The two Cantabrian populations apparently have been separated since the beginning of the century and now show genetic differences. Today, they are separated by 30-50 km of mountainous terrain and interchange between the populations is thought to be unlikely, mainly due to unsuitable habitat and a high speed railway and motorway. In the Western Cantabrian Mountains the population seems to be stable or increasing in the last decade and is distributed over an area of 2,600 km2. The most recent estimate using genetic methods (García-Garitagoitia et al. 2004) calculated 85-143 bears for the western nucleus, with an average number of 107. In the Eastern Cantabrian Mountains (20 bears) the population shows less potential for recovery, unless the corridor with the western portion is reestablished. The total population for both Cantabrian nuclei may be approximately 100-150 bears; not all of these are mature individuals. 2. PyreneesThe autochthonous western population was estimated to be 3 individuals. The last documented reproductions occurred in 1995 and 1998. In 2006 the reintroduction action provided 5 (4F, 1M) bears from Slovenia mostly to central area. The autochthonous central population was gone before the last decade of 20th century. In 1996-1997 three bears were reintroduced from Slovenia. There was subsequent reproduction, including one male dispersal to Western Pyrenees. Until recently the Western and Central Pyrenees were treated as separate units. With the dispersal of one male bear from the central to the west portion the connectivity is now reastablished. The local bears have been totally isolated for over one century and had low genetic diversity. The recent reintroductions have resulted in the influx of new genes.3. AlpsThe Central Austrian subpopulation now consists of about <10 bears. After increases following reintroductions and local reproductions, in recent years numbers have declined again. No more than 4 autochthonous bears survived in north-eastern Italy until 10 were reintroduced from Slovenia in 1999-2003. With subsequent reproduction the population has exceeded 20 bears, and continues to grow; in 2006 a population of about 6-7 adults and 16-17 sub-adults and cubs was recorded. At least three individuals from the Trentino nuclei dispersed into Austria, Switzerland and Germany. None of them became established, but this demonstrated the connectivity of the habitat within the Alps and the potential for recolonization. One bear was legally shot in Germany in July 2006 because of the potential threat it posed to human safety (the bear repeatedly entered villages and broke into barns), whereas the other two bears disappeared without leaving any tracks. Occasionally individuals dispersing from the Eastern Alpine nucleus have reached the Central Italian Alps, confirming a potential connectivity among all the alpine nuclei.4. Appenine MountainsAn estimate yielded a figure of 70-80 bears in 1985. However, since then there has probably been a population decrease and 40-50 bears may be a more realistic estimate. Some expect this population to increase as poaching has been reduced in recent years, and areas surrounding Abruzzo National Park have been protected to secure suitable habitats. However, this population exists within a densely human populated area and there are potential conflicts between bear conservation and development and recreation activities.5. Dinara-PindosThe population seems to be genetically very close to the remnant bears in the Alps. The population overall has been more or less stable in recent years. However, trends vary in different areas, with steady growth in Slovenia and Croatia, a marked drop in Bosnia and Herzegovina in the 1990s due to the war, and probably stable or slightly decreasing trends in the south of the Dinarids, whereas in Pindos range it is characterized as stable (150-200) with locally positive trends and recolonization of former range. The population size estimate of 2,800 is based on weak supporting evidence. Approximately half (1,400) of these individuals are mature. The population trend data is likewise based on little quantitative data and it is possible that the trend is declining rather than stable. In countries with bear hunting there might be a political tendency for overestimation to justify higher quotas. In Slovenia in the north this population is close to that of the Alps. There is not a continuous distribution of female bears in the Alps, but there is movement of male bears. In Greece in the south the nearest bears are those of the Rila-Rhodope portion of the Balkan population along the border of Greece and Bulgaria, but there is no evidence of connection.6. CarpathianThe Carpathian Mountains population is estimated at about 8,100 bears and is the second largest in Europe. The Slovakian and Polish bear population was recently reconnected with that of Ukraine. This range expansion occurred rapidly, about 200 km in less than 20 years. Recent estimates of the Romanian population indicate that in Romania about 6,000 bears occur, the population trend being stable. The highest bear densities are found in the areas of Brasov, Harghita, Covasna, Mures, Bistrita, Arges, Vrancea and Sibiu counties (central part of the Romanian Carpathians). During the last 50 years, the Romanian bear population recovered from less than 1,000 individuals to about 6,000 individuals. This recovery process was influenced by both habitat conditions and wildlife management. However, recent developments (e.g. infrastructure developments) have had negative impacts on bears. Problems include behavioral changes (habituated bears), habitat fragmentation and reproductive isolation. Several areas (corridor between Apuseni Mountains and the main ridge of Carpathians, Prahova Valley, southern part of Carpathians - close to Danube) have started to be affected by isolation processes, but there is still connectivity within the entire Romanian Carpathian population. Some dispersers from this population have entered the Czech Republic and Hungary. The next closest population is in northern Bulgaria and north-eastern Serbia, but the migration of individual bears may be very restricted, as the Danube is a major physical barrier.7. BalkanIt consists of two segments: Rila-Rhodope Mountains (520 bears) and Stara Planina Mountains (200 bears). Little is known about genetic structure. The connections between subpopulations were recently proven, and there may be signs of recolonisation. In the early eighties Carpathian bears were released in Rhodope and Stara Planina Mountains. The numbers are not known since there is restricted access to this data. 8. ScandinaviaAfter heavy persecution in both countries, the once numerous brown bear population in Scandinavia was reduced to about 130 individuals in four areas where they have survived since 1930. The population has increased to about 2,550 in Sweden, with approximately 50 bears in Norway. Male bears may disperse between neighbouring female core areas, but when considering demographic viability they should be considered separated. This population consists of three subpopulations. In Sweden, the distribution of bears now resembles that of 1800, with bears occurring in 67% or more of the country. The population is one of the most productive in the world and is increasing at a rate of about 5.5% annually. This population is viable, both genetically and demographically, but low gene flow has been identified between the southernmost subpopulation and the other subpopulations. The population is connected with the North-eastern European population through dispersing males, but probably not by dispersing females. 9. Northeastern EuropeDensities are generally low, with the highest densities in the south-eastern part of the range and the lowest densities in the north and southwest. The total population size occurring west of 35 degrees east is estimated at c. 38,000 individuals. This population is connected with the Scandinavian one.","The original distribution of the brown bear in Europe illustrates its adaptability to different environmental conditions. With little or no human interference, brown bears occupied not only forests, but also steppes and tundra. Today, most of the bear' s former range is no longer suitable habitat due to human habitat alteration and human presence. Components of habitat can be grouped into three main categories: food, escape cover, and den sites. Bear movements and habitat use are strongly affected by availability of food. Furthermore, population density is positively associated with food availability. Areas with a high availability of preferred foods, such as berries, fruits, hard mast, colonial Hymenoptera, and ungulates, are of special importance to brown bears.1. CantabrianThe Cantabrian population inhabits the Cantabrian Mountains, which are partly covered with mixed deciduous forest.2. PyreneesMixed forests and pastures, depending on slope and elevation. 3. AlpsHabitat is predominately Alpine with steep slopes covered mostly by conifers. Human settlements and infrastructure in the valleys contribute to habitat fragmentation. 4. Appenine MountainsMountain habitat in the central Appenines; partly covered by deciduous forest (dominated by beech). 5. Dinara-PindosThe landscape is mountainous, dominated by mixed beech and spruce forest.6. CarpathianThe habitat is mainly the mixed forests in the Carpathian Mountain range. 7. BalkanMostly mountains with deciduous secondary forests.8. ScandinaviaThe habitat is dominated by intensively exploited boreal forest. 9. Northeastern EuropeThe habitat is dominated by intensively exploited boreal forest.","Bears have a low reproductive rate and are vulnerable to human-related mortality. They require large habitats that make them vulnerable to changes in land use. In Eastern Europe, land use once under centralised state administration has reverted to private ownership, often with no knowledge of wildlife management. Land use developments have tended to follow western examples with more intensive use of productive areas. The best bear habitat has already disappeared in Europe through logging and forest clearance. The planting of exotic conifers has seriously altered local ecosystems in some places. Habitat fragmentation, particularly as a result of road construction, presents serious problems for a species requiring such large areas. Mortality caused by high-speed road and rail networks through bear habitat is a major threat in some areas including Greece and Croatia. Poaching remains a threat to many, but not all populations, and takes place irrespective of population size. Females with cubs, as well as males, are liable to be killed. Poaching has probably worsened in countries such as Bulgaria, Bosnia and Herzegovina, the Yugoslav Federation, and FYR Macedonia as a result of declining economic and social conditions. Poaching in Russia, to supply the lucrative market for bear parts in Asian countries, is a particular problem. Five very small, isolated bear populations in southern and western Europe (located in France, Spain and Italy), are highly threatened by their small population size. They could easily become extinct as a result of random fluctuations.1. CantabrianThe main pressure is the loss of adult individuals due to human induced mortality. 2. PyreneesThe main pressure is the loss of adult individuals due to killing by humans. 3. AlpsDamages done by bears have the potential to reduce the public acceptance of this species, and of trouble-making individuals in particular. Intensive management of all bear related problems is under way. Despite the constant increase of the Central Italian nucleus, the limited numbers of individuals characterizing all the alpine nuclei show that all these are Critically Endangered. The loss of more than 15 bears from the central Austrian bear population and 2 dispersers from Italy suggest an unnatural high mortality rate of bears in the Alps. Unfortunately, illegal removals seems to be the most likely explanation.4. Appenine MountainsThe main pressure is the loss of adult individuals due to human induced mortality. The population is critically endangered. The bear population has been totally isolated for over a century, thus there may be genetic problems.5. Dinara-PindosPolitical instability and the lack of financial instruments represent a pressure in the central part of the range. 6. CarpathianThe socio-economic developments in Romania have an influence on bear population on medium and long term and it is considered that the Romanian bear population is vulnerable. 7. BalkanPresently in Bulgaria there is liberal (poorly functioning) system of declaring the problem individuals assigned for removal, as well as poorly controlled poaching. 8. ScandinaviaThe major pressure in Norway is related to damages on unguarded free-ranging sheep. 9. Northeastern EuropeDue to a large total size and large area the population is in favorable conservation status.","Since 1992, all brown bear populations have been listed on either Appendix I or Appendix II of CITES. In the EU, all populations are listed in Annex A of the European Union Council Regulation (EC) No. 338/97, that implements CITES in the member states (Knapp 2006). The brown bear is included on Appendix II of the Bern Convention and Annex II* (except Finnish and Swedish populations) and Annex IV of the EU Habitats & Species Directive. Most European range states have national brown bear management plans. General conservation recommendations include the following: Key bear areas and corridors need to be sufficiently managed and protected. Farmers need to be encouraged to use traditional livestock guarding techniques to reduce conflict arising from livestock depredation. Public awareness and education is also needed to inform people in bear areas about bear behaviour and ecology. International and national legislation protecting bears from poaching should be enforced. More research into population dynamics, genetics and bear habitat is also required to carry out work in bear action plans.1. CantabrianThe Cantabrian population is strictly protected but occasional losses due to poaching or other human related accidents do occur (snares set by poachers for wild boars). 2. PyreneesIt is strictly protected but occasional losses due to poaching or other human related accidents do occur.3. AlpsThe Italian and Austrian bear nuclei are under strict protection; in Slovenia a regulated harvest policy is in place. The removal of the bear in Germany caused a great public outcry and quite a controversy between different national and international GOs and NGOs. Fortunately the case also raised awareness for the need of a bear management on the population level. Initiatives to coordinate and harmonize bear management between Italy, Switzerland, Austria and Germany are underway.4. Appenine MountainsIt is strictly protected but occasional losses due to poaching or other human related accidents do occur.5. Dinara-PindosIn the largest part of this population's range (Slovenia, Croatia, Bosnia and Herzegovina, Serbia and Macedonia) the bear is a game species. In Slovenia the brown bear is hunted under protected status. In Albania and Greece it is strictly protected. Additionally in Greece it is considered as a priority species under the EU Habitat Directive 92/43.6. CarpathianWhereas in Romania and Slovakia bears are a hunted species, in other countries they are harvested under various regimes, mostly related to the damage control system. Annually, in Romania up to 250 bears are hunted (about 4% of the estimated population). In 2005 a national bear management plan was approved by the authorities, its implementation being started by the Ministry of Environment and Water Management together with the Ministry of Agriculture, Forests and Rural Development. One of the first initiated actions was related to population surveys of larger areas (geographical criteria) and setting up hunting quotas based on the analysis at the national level. Compensation for damages caused by bears is paid by the game administrators, and it is foreseen that in areas where bears are not hunted these compensations will be paid by the Ministry of Environment and Water Management (the authority for protected species).7. BalkanBears in Bulgaria are under protected status that allows the removal of problem individuals. The Greek portion is strictly protected, as well as are the few specimens in Serbia.8. ScandinaviaThere is a quota hunting regime in Sweden. The harvest rate allows the further and steady population growth. In Norway only damage causing bears are removed, but such a reduction is technically sustainable only due to influx of individuals from Sweden.9. Northeastern EuropeBears are game animals in most of this population range under various quota systems.",Djuro Huber (Large Carnivore Initiative for Europe / Bear Specialist Group) -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,URSIDAE,Ursus maritimus,"Phipps (1774) first described the polar bear as a distinct species and named it Ursus maritimus. Other names were suggested including Thalassarctos, Thalarctos and Thalatarctos ultimately settling on Ursus (Thalarctos) maritimus Erdbrink (1953) and Thenius (1953) based on interbreeding between brown bears (U. arctos) and polar bears in zoos. Based on the fossil record and evolution Kurtén (1964) recommended the Phipps (1774) name Ursus maritimus, which was promoted by Harrington (1966), Manning (1971) and Wilson (1976) and is used today (see DeMaster and Stirling 1988, Wilson and Reeder 2005, Amstrup 2003 for review and references).",No,No,VU,A3c,NE,,"European regional assessment: Vulnerable (VU)EU 25 regional assessment: Not Evaluated (NE)The polar bear qualifies as Vulnerable at the European regional level. This assessment is based on a suspected population reduction of >30% within three generations (45 years) due to decline in area of occupancy (AOO), extent of occurrence (EOO) and habitat quality. Polar bears rely almost entirely on the marine sea ice environment for their survival so that large scale changes in their habitat will impact the population (Derocher et al. 2004). Global climate change posses a substantial threat to the habitat of polar bears. Recent modeling of the trends for sea ice extent, thickness and timing of coverage predicts dramatic reductions in sea ice coverage over the next 50-100 years (Hassol 2004). Sea ice has declined considerably over the past half century. Additional declines of roughly 10-50% of annual sea ice are predicted by 2100. The summer sea ice is projected to decrease by 50-100% during the same period. In addition the quality of the remaining ice will decline. This change may also have a negative effect on the population size (Derocher et al. 2004). The effects of sea ice change are likely to show large differences and variability by geographic location and periods of time, although the long term trends clearly reveal substantial global reductions of the extent of ice coverage in the Arctic and the annual time frames when ice is present. The winter ice over the continental shelf in the European Arctic will probably disappear completely over the next 100 years (Furevik et al. 2002).While all bear species have shown adaptability in coping with their surroundings and environment, polar bears are highly specialized for life in the Arctic marine environment. Polar bears exhibit low reproductive rates with long generational spans. These factors make facultative adaptation by polar bears to significantly reduced ice coverage scenarios unlikely. Polar Bears did adapt to warmer climate periods of the past. Due to their long generation time and the current greater speed of global warming, it seems unlikely that polar bears will be able to adapt to the current warming trend in the Arctic. If climatic trends continue polar bears may become extirpated from most of their range within 100 years. There is little doubt that polar bears in the European Arctic will have a lesser AOO, EOO and habitat quality in the future. However, no direct relation exists between these measures and the abundance of Polar Bears. While some have speculated that polar bears might become extinct within 100 years from now, which would indicate a population decrease of >50% in 45 years based on a precautionary approach due to data uncertainty. A more realistic evaluation of the risk involved in the assessment makes it fair to suspect population reduction of >30%. Other population stress factors that may also operate to impact recruitment or survival include toxic contaminants, shipping, recreational viewing, and oil and gas exploration and development.",-,"Polar bears live throughout the ice-covered waters of the circumpolar Arctic, in Canada (Manitoba, Newfoundland, Labrador, Nunavut, Northwest Territories, Quebec, Yukon Territory, Ontario), Greenland (to Denmark), Norway, Russian Federation (North European Russia, Siberia, Chukotka), and the United States (Alaska). Some vagrants occasionally reach Iceland. Their range is limited by the southern extent of sea ice. Although some occur in the permanent multi-year pack ice of the central Arctic basin, they are most common in the annual ice over the continental shelf and inter-island archipelagos that surround the polar basin. Polar bears that have continuous access to sea ice are able to hunt throughout the year. However, in those areas where the sea ice melts completely each summer, polar bears are forced to spend several months on land fasting on stored fat reserves until freeze-up. Use of land by polar bears during the ice-free season appears to be increasing in certain locations (Schliebe et al. 2006). Polar bears typically occur at low altitudes (on the sea ice and up to ca. 200 m in coastal areas), although exceptionally they may range far inland, and have been recorded at altitudes of 1,000 m above sea level in Svalbard (O. Wiig and A. Derocher pers. comm. 2006).","There are 19 hypothesized subpopulations or stocks which number in total 20,000 to 25,000 bears. Considerable overlap of putative subpopulations occurs and genetic differences among them are small (Schliebe et al. 2006). In Europe, the Barents sea subpopulation (Norway and the Russian Federation) is estimated at ca. 3,000 individuals (Aars et al. in press).","Polar bears occur at low densities throughout their range and are most abundant in shallow water areas near shore or where currents or upwellings increase biological productivity near ice areas associated with open water, polynyas or lead systems. Polar bears are not as abundant in the high central arctic over deeper waters of the polar basin. Seasonally, in the summer open water season in the Canadian arctic islands and Svalbard, and in recent years during the fall in northern Alaska and Russian Chukotka, polar bears may be found on land in higher densities. Breeding occurs in March to May, implantation is delayed until autumn, and birth is generally thought to occur from late November to mid-January. Although some cubs are born in earth dens, most births occur in snow dens that may be occupied between 5-6 months during the maternal event. In Alaska the maternal dens are located on the offshore sea ice. Only pregnant female polar bears den for this protracted period of time, during which time they rely on fat stores for energy and sustenance. The average litter size is less than two. Cubs are dependent upon mothers until after the start of their third year of life. Age of first reproduction is normally 5-6 years for females. These factors contribute to the low reproductive potential for the species (Schliebe et al. 2006).","The Intergovernmental Panel on Climate Change and the Arctic Climate Impact Assessment have both predicted that the Arctic is extremely vulnerable to projected climate change. Polar bears will likely be shifted pole-ward if the sea ice retreats. According to new scenarios presented by the Nansen Environmental and Remote Sensing Centre and others, the polar ice cap will disappear almost entirely during summer in the next 100 years. The winter ice over the continental shelf in the European Arctic will probably also disappear (Furevik et al. 2002). The increasing changes in the sea ice that affect access to prey will have a negative effect on the bears. With less food, polar bears will fail to reproduce more often and give birth to smaller young that have higher mortality rates. Polar bears may be forced on shore for extended periods and rely on fat reserves deposited the previous spring for survival. In such a situation they will be increasingly vulnerable to unregulated hunting. If these periods become excessively long, mortality will increase. Sea ice is also used for access to den areas and if ice patterns change, existing den areas may be unreachable. Warmer temperatures and higher winds may reduce ice thickness and increase ice drift. Because polar bears must walk against the moving ice (like walking the wrong way on an escalator) increased ice movements will increase energy use and reduce growth and reproduction (Schliebe et al. 2006). Polar bears are the apex predator and are exposed to high levels of pollutants that are magnified with each step higher in the food web. A key characteristic of the pollutants is that they tend to persist in the environment and resist degradation. Many of the organochlorine pollutants are lipophilic or ""fat loving"" and bond tightly to fat molecules. Polar bears are particularly vulnerable to organochlorines because they eat a fat rich diet. Ringed, bearded, and harp seals comprise the main food of polar bears and the blubber layer is preferentially eaten by the bears and subsequently, the intake of pollutants is high (Schliebe et al. 2006). Certain areas of the Arctic, such as north-east Greenland, the Barents Sea and the Kara Sea, have higher levels of pollutants. Based on studies in other species, it is reasonable to believe that the pollutant load of polar bears in some areas are negatively affecting the immune system, hormone regulation, growth patterns, reproduction, and survival rates of polar bears (Derocher et al. 2002). Recent studies have suggested that the immune system is weaker in polar bears with higher levels of PCBs. A major concern with polar bears pertains to their reproductive system. There are suggestions that species with delayed implantation are more vulnerable to the effects of pollution through endocrine (hormone) disruption. Further, female polar bears are food deprived during gestation their pollution loads increase because as they use their fat stores, where pollutants are stored, for energy. Because the cubs are nursed on fat rich milk, the cubs are exposed to very high pollution loads from their mother (Schliebe et al. 2006). Recent studies have indicated that high loads of organochlorines may cause reduction in the size of sexual organs of polar bears in certain areas, thus theoretically impairing reproduction (Sonne et al. 2006).Oil development in the Arctic poses a wide range of threats to polar bears ranging from oil spills to increased human-bear interactions (Derocher et al. 2002). It is probable that an oil spill in sea ice habitat would result in oil being concentrated in leads and between ice floes resulting in both polar bears and their main prey (ringed and bearded seals) being directly exposed to oil. Another concern is that seals covered in oil may be a major source of oil to polar bears. Other studies suggest that Polar Bears are sensitive to disturbance at maternity den sites. Disturbance could occur both when a pregnant female is selecting a den site and during the winter-spring after the cubs are born. If exploration or development occurred sufficiently close to a den, the mother may abandon the den prematurely or abandon her offspring (Schliebe et al. 2006).","Conservation actions vary by jurisdiction. The International Agreement on the Conservation of Polar Bears provides guidance, and Article II of the Agreement states that each contracting party ""shall manage polar bear populations in accordance with sound conservation practices based on the best available scientific information,"" and according to Article VII, ""The Contracting Parties shall conduct national research programs on Polar Bears"" and ""..consult with each other on the management of migrating polar bear populations"". These articles have been important for stimulating governments to support applied research to answer management questions regarding polar bears throughout their range. This work is coordinated through the IUCN SSC Polar Bear Specialist Group (PBSG). Resolutions from the PBSG are developed and directed toward ensuring that the terms and intentions of the Agreement are being met. Coordinated research is ongoing, management actions are reviewed for consistency, and legislation to effect bilateral management for internationally shared populations such as between the US-Russia is being pursued. Additional cooperative management agreements between Canada and Greenland are desirable and currently being developed (Schliebe et al. 2006). Additional details of the Global Status and Management of Polar Bears are contained in the IUCN ""Status Survey and Conservation Action Plan: Bears"" (Servheen et al. 1999) and at the PBSG website (http://pbsg.npolar.no/). The polar bear is listed on Appendix II of the Bern Convention, and Appendix II of CITES.","Wiig, Ø., Aars, J., Belikov, S.E. and Boltunov, A." -ANIMALIA,CHORDATA,MAMMALIA,CARNIVORA,VIVERRIDAE,Genetta genetta,"There is a high degree of intraspecific variation in this species, which has resulted in many described subspecies; the validity of many of these is unknown, while others may actually represent distinct species (Gaubert et al. 2004, 2005).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species was introduced to Europe before 1500, and thus it is considered as part of the naturalised regional fauna for the purposes of this assessment. The genet has a fairly large European range, including a number of protected areas, and the population trend is stable. Consequently it is classed as Least Concern.",Possibly Favourable,"A widespread species, occurring on the northern Saharan fringe (Morocco, Algeria, Tunisia and Libya), and then in open and dry savannah zones throughout Sub-Saharan Africa in three large blocks, corresponding roughly to West Africa, East Africa and southern Africa (Delibes and Gaubert in press). For Europe, Delibes (1999) lists this species as occurring in all of continental Portugal and Spain, and much of France (mainly south of Loire River and west of the Rhone River). It is also found on the Mediterranean islands of Majora, Ibiza, and Cabrera (Balearic Islands) (Delibes 1999). There are also scattered records from Belgium, Switzerland, Germany, and northwest Italy (Delibes 1999). This species is generally considered to have been introduced to Europe; the date of introduction is unknown, but remains have been found dating from the Middle Ages (Dobson 1998, Delibes 1999). It has been recorded to at least 3,000m asl in the Ethiopian Highlands (Admasu et al. 2004).","One of the most common small carnivores in its native range, though detailed data on density in Africa are scarce; in Serengeti, Waser (1980) estimated a density of 1.5 + 0.37 individuals per km2. In Europe, this species is moderately abundant, with increasing populations in France, and densities of 0.3 to 0.7 individuals per km2 in Spain (Delibes 1999). The genet is common in suitable habitat throughout the Iberian peninsula (Palomo and Gisbert 2002). Populations are either stable or slowly increasing (J. Herrero pers. comm. 2006). On Ibiza, habitat is declining and becoming more fragmented, thus this species is suspected to be declining.","The genet tends to prefer all types of wooded habitats (deciduous and evergreen), where it is often associated with rivers and brooks, but it is a generalist and can be found in other habitats where there is suitable prey. It avoids open habitats, but may occur even in small fragments of woodland in farmland or near villages, and usually is absent from rainforests, dense woodlands and woodland-moist savannah mosaics (e.g. miombo woodland in Angola) (Delibes and Gaubert in press). The common genet is not uncommonly found in proximity to people and human buildings (e.g. Admasu et al. 2004). It feeds mainly on small mammals, but will also take birds, other small vertebrates, insects, and fruit (Delibes and Gaubert in press).","There are no major threats. They are occasionally eaten by people in some localities, and body parts are used for medicinal purposes while skins may be used for the manufacture of karosses in southern Africa (Delibes and Gaubert in press). In Europe, the genet used to be trapped for its fur (Delibes 1999). In Portugal genets are illegally killed in predator trapping for hunting management. On Ibiza, the genet is threatened by the loss and fragmentation of habitat caused by urbanization and infrastructure and tourism development. The ability of genets to live close to humans and their domestic animals could have implications for disease transmission (Admasu et al. 2004).","It is present in many protected areas across its range. This species is listed on Appendix III of the Bern Convention, as well as EU Habitats and Species Directive, Annex V (Delibes 1999). In Ibiza, it is recommended that semi-natural habitats are protected, and that development takes place in such a way that fragmentation of remaining habitat is minimized.","Juan Herrero, Paolo Cavallini" -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BALAENIDAE,Balaena mysticetus,"The taxonomy is not in doubt. There are five traditionally recognised geographical populations. The species was once commonly known in the North Atlantic and adjacent Arctic as the Greenland right whale. However, the common name bowhead whale is now used almost exclusively for the species.",No,No,NA,,NA,,This species is assessed as Not Applicable as it is of marginal occurrence in the European Mammal Assessment region.,-,"Bowhead whales are found only in Arctic and subarctic regions. They spend much of their lives in and near the pack ice, migrating to the high arctic in summer, and retreating southward in winter with the advancing ice edge (Moore and Reeves 1993). The IWC recognises five stocks: Bering-Chukchi-Beaufort Sea; Hudson Bay-Fox Basin; Davis Strait-Baffin Bay; Spitsbergen; and the Okhotsk Sea (Rugh et al. 2003). The Spitsbergen stock extends from the east coast of Greenland across the Greenland Sea, the Barents Sea and the Kara Sea as far as Severnaya Zemlya, and going as far south as the ice front, exceptionally reaching Iceland and the coast of Finnmark (Norway).","Current population sizeThe range-wide abundance is not known with precision but numbers over 10,000 individuals, with 10,500 (8,200-13,500) (in 2001) in the Bering-Chukchi-Beaufort Seas (Zeh and Punt 2005), and a provisional estimate of 7,300 (3,100-16,900) for a part of the range of the Hudson Bay-Foxe Basin and Baffin Bay-Davis Strait stocks (Cosens et al. 2006). There are no reliable abundance estimates for the small Okhotsk Sea and Spitsbergen stocks.Population trendsThe Bering-Chukchi-Beaufort (BCB) population has been monitored for more than 30 years and has been increasing over this period at an estimated rate of 3.4% (1.7%-5%) per year in the presence of subsistence hunting (Zeh and Punt 2005). No quantitative estimates of trends in the other bowhead populations are available, but Inuit hunters and elders report that they are observing more bowheads in the eastern Canadian Arctic than they did in the 1960s-1970s, and that the geographic distribution of the whales has expanded in recent years. No estimates of population trend are available for the Svalbard-Barents Sea and Okhotsk Sea stocks.Pre-whaling population sizesAll bowhead populations were severely depleted by commercial whaling, which was established in the north-eastern Atlantic by 1611 (Ross 1993). Basque whalers took bowheads in the north-west Atlantic (Labrador) in the 16th century, but ambiguities over the species identity of whales taken in early commercial whaling make pre-1600 catch records difficult to interpret. Minimum pre-whaling stock sizes are estimated to have been 24,000 for the Svalbard-Barents Sea stock, 12,000 for the Hudson Bay-Foxe Basin and Baffin Bay-Davis Strait stocks, and 3,000 for the Okhotsk Sea stock (Woodby and Botkin 1993). The Spitsbergen and Okhotsk Sea stocks are at a small fraction of their pre-whaling levels.Demographic parametersA high longevity (>100 years) is suggested by biochemical methods and the finding of old-fashioned stone harpoon heads in harvested animals (George et al. 1999). If this high longevity is confirmed, it would be among the longest known for a mammal.","The seasonal distribution is strongly influenced by pack ice (Moore and Reeves 1993). During the winter they occur in areas near the ice edge, in polynyas, and in areas of unconsolidated pack ice. During the spring these whales use leads and cracks in the ice to penetrate areas that were inaccessible during the winter due to heavy ice coverage. During the summer and autumn they concentrate in areas where zooplankton production is high or where large-scale biophysical processes create local concentrations of calanoid copepods (Finley 1990, Finley et al. 1998). Small to medium-sized crustaceans, especially krill and copepods, form the bulk of the bowhead's diet (Lowry et al. 2004). They also feed on mysids and gammarid amphipods, and the diet includes at least 60 species. Bowheads skim feed at the surface and feed in the water column. It has recently been suggested that they also feed near the bottom, but probably do not directly ingest sediments as gray whales routinely do. During surface skim feeding, coordinated group patterns have been observed, including whales feeding in echelon (V-shaped) formation.","Heavy commercial hunting, beginning in the 1500s, depleted all populations of bowheads. The Bering-Chukchi-Beaufort Sea stock has recovered substantially since the end of commercial hunting in the early 20th century to around 10,000 animals, while recent provisional estimates of the Hudson Bay-Foxe Basin and Baffin Bay-Davis Strait stocks suggest that a significant recovery has probably occurred. There is no reliable evidence of recovery of the Svalbard-Barents Sea and Okhotsk Sea stocks. Limited aboriginal subsistence whaling on the BCB stock (by native peoples of Alaska and Chukotka) is permitted by the IWC on the basis of advice from its Scientific Committee (most recently under its new aboriginal subsistence whaling management procedure). These takes have not impeded the recovery of the stock. Very small takes by indigenous hunters are allowed in Canadian waters, so far too few to seriously impede recovery of the stocks, but there will be pressure to increase these takes given the recent, higher population estimates for the eastern Canadian Arctic. There has been concern since the 1970s that disturbance from oil and gas exploration and extraction activities in the Arctic region might affect bowhead whales. There is also evidence of incidental mortality and serious injury caused by entanglement in fishing gear and ship strikes (Philo et al. 1992, 1993; Finley 2000). Environmental threats, such as pollution (Bratton et al. 1993), and disturbance from tourist traffic (Finley 2000) may affect bowhead whales but the impacts have not yet been well characterized or quantified. During this century, a profound reduction in the extent of sea ice in the Arctic is expected, and possibly a complete disappearance in summer, as mean Arctic temperatures rise faster than the global average (Anonymous 2005). The implications of this for bowhead whales are unclear but warrant monitoring.",The International Whaling Commission has protected bowhead whales from commercial whaling since its inception in 1946. All range states except Canada are members of the IWC. Limited aboriginal subsistence whaling is allowed by the IWC on bowhead whales from the BCB stock on the basis of scientific advice. Indigenous hunting in Canada is co-managed by the national government and regional bodies created under land-claim agreements.,Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BALAENIDAE,Eubalaena glacialis,"The taxonomy follows the view of the IWC Scientific Committee which now recognises right whales in the North Atlantic, North Pacific and Southern Hemisphere as three distinct species in the genus Eubalaena, namely E. glacialis (North Atlantic right whale), E. japonica (North Pacific right whale) and E. australis (southern right whale) (IWC 2004), based mainly on the findings of Rosenbaum et al. (2000).The North Atlantic right whale was included in previous Red Lists together with North Pacific right whales under the common species name E. glacialis (Baillie and Groombridge 1996).Rice (1998) classifies right whales in the North Atlantic, North Pacific and Southern Hemisphere as the single species Balaena glacialis, in the genus Balaena along with B. mysticetus, the bowhead whale. While not all cetologists accept that the three right whale taxa qualify as full species, their clear geographical separation ensures that no practical problem arises from treating them as distinct species.The species was formerly known as the black right whale to distinguish it from the Greenland right whale, Balaena mysticetus, which is now called the bowhead whale. The term “right whale” is acceptable for specimens of any of three Eubalaena species, when the species in question is implicit from the geographical context.",No,No,CR,D,CR,D,The eastern North Atlantic population is clearly extremely small (fewer than 50 mature individuals) (IWC 2001a); it is classified as Critically Endangered (CR).,Unfavourable,"The right whale in the past was common on both sides of the North Atlantic. It appears to be effectively extinct in the eastern North Atlantic, but in the past probably ranged from a calving ground in the Golfo de Cintra (23°N) off the western Sahara, through the Azores, Bay of Biscay, western British Isles, and the Norwegian Sea to the North Cape (hence the Dutch name Noordkaper). In the western North Atlantic the species migrates from a calving ground off Florida and Georgia along the eastern seaboard of North America, to summering grounds in the Gulf of Maine, Bay of Fundy, and Scotian Shelf, with some individuals reaching the Gulf of St Lawrence, the Davis and Denmark Straits and occasionally Iceland and Norway. It is unclear whether in the past the animals in the northern part of the range (off Iceland and Norway) belonged mainly to the western or eastern breeding stocks.","Northwest AtlanticHistoricIt is not clear when Basque whaling began in the northwestern North Atlantic, but it had been established by no later than 1530. An estimated 25,000-40,000 right whales were taken off Labrador and Newfoundland between 1530 and 1610 (Aguilar 1986) although recent genetic data have suggested that many of these were bowheads (Reeves 2001, Rastogi et al. 2004). Shore-based whaling along the US east coast began in the mid 17th century, with an estimated 2,000-3,800 taken during 1696-1734. Whaling continued sporadically over the next two centuries, with a few hundred taken in total until the last catch in 1935 (Reeves et al. 1999).CurrentThe current population is of about 300–350 individuals off the east coast of North America. IWC (2001a) obtained a minimum estimate of 263 in 1996 from identified animals known to be alive at that time, and indicated that the true population is probably not much higher. Kraus et al. (2001) provided a minimum estimate of 299 in 1998 based on animals presumed to be alive at that time (and not missing for more than 5 years). Preliminary analysis of more recent data have yielded estimates similar to those above. The whales are regularly surveyed in the winter calving ground off Florida and Georgia, and in spring/summer feeding grounds in Cape Cod Bay, the Great South Channel off Massachusetts, the Gulf of Maine, the Scotian Shelf, and the Bay of Fundy, but not all the whales using the wintering ground are seen in these major summering areas (IWC 2001a). There have been a few sightings in recent years in the Gulf of St Lawrence, two off Iceland in 2003, and one in the former whaling ground off Cape Farewell in 2004 (IWC 2005). A sighting off Norway in 1999 was identified as a well-known animal from the western North Atlantic population (IWC 2001a). Northeast Atlantic HistoricThe first records of Basque whaling in the Bay of Biscay are from the 11th century. At least dozens of whales were taken each year in the Bay of Biscay until a marked decline was evident by 1650; whaling continued there until the 18th century. Basque whalers arrived in Iceland as early as 1412, and participated in the right whale fishery around the British Isles and Norway from the 14th to the 18th century, but probably many more whales were taken by Dutch, Danish, British and Norwegian whalers. Quantitative estimates of catches are not available. Historic right whale catches as far north as Iceland and Norway appear to have been mainly E. glacialis, with Balaena mysticetus (bowhead) being the main species only in the far north (Greenland and Svalbard) (Aguilar 1986). Smith et al. (2006) document extensive whaling for E. glacialis in the North Cape area (northern Norway) in the 17th century. Right whaling seems to have declined from the mid-17th century and disappeared by the mid-18th century, but there was a brief period of right whale catches by modern whalers operating from shore stations in the British Isles and off Iceland, where at least 120 right whales were taken during 1881-1924 (Collett 1909, Brown 1986). The last recorded catch was a cow-calf pair off Madeira in 1967, accompanied by a third individual which escaped.CurrentIt is not clear whether there is a remnant Northeast Atlantic population or whether the animals seen here in modern times are strays from the west. There have been only eight confirmed sightings from 1960 to 1999, including the animal sighted in Norway in 1999 which was matched with the western north Atlantic population (IWC 2001a). A possible right whale was sighted in the Bay of Biscay in 1977 (Aguilar 1981) and a cow-calf pair was sighted off Cape Vincent, Portugal in 1995 (Martin and Walker 1997). A recent survey of the former Cintra Bay calving ground off the Western Sahara failed to locate any right whales (Notarbartolo di Sciara et al. 1998), although survey conditions were often poor.","Right whales are often encountered as singles or pairs, with larger groups or aggregations observed socializing, mating or feeding. They can be aerially active and generally raise their flukes before a deep dive. Right whales can be individually identified by the patterns of callosities on the head, as well as by scars (Kraus et al. 1986). The mating system appears to involve sperm competition (males competing to inseminate females, not so much by physical aggression, as by delivering large loads of sperm, thereby displacing that of other males). Young are born in winter and spring in calving areas in low temperate or subtropical latitudes.Right whales feed on calanoid copepods and other small invertebrates (smaller copepods, krill, pteropods, and larval barnacles), generally by slowly skimming through patches of concentrated prey at or below the surface. The most common prey species is the copepod Calanus finmarchicus.","Right whales in the North Atlantic are no longer hunted, and the most serious current threats are deaths and injuries from entanglements in fishing gear and collisions with ships off the eastern coast of North America (Knowlton and Kraus 2001). During 1999-2003, the recorded human-caused mortality and serious injury averaged 2.6 animals per year, of which 1.6 per year were fishery entanglements and 1.0 vessel collisions. A further 11 deaths (8 ship strikes, 1 entanglement and two of unknown cause) were reported between 2004 and the end of 2006. Based on scarring from fishing gear it is estimated that at least 72% of the right whale population had been involved in an entanglement event at some point in their lives, and that 10-30% of the population are entangled each year (Clapham 2005). Because some anthropogenic mortalities probably pass undetected, reported rates are likely minima.Hypotheses that have been advanced to explain the low reproductive rates observed for several years include: genetic factors, poor nutrition, chemical contaminants, biotoxins, disease (IWC 2001b, Reeves et al. 2001). However, reproduction in recent years has increased; whether this rate will continue is unknown.","The right whale has been protected from hunting by the IWC and its predecessor since 1935, and is also protected in Canada, a non-member of the IWC. Efforts are underway in both the US and Canada aimed at limiting deaths and injuries due to ship strikes and entanglements. In both countries, recovery plans have been developed involving collaboration between the various stakeholders. Regulations are in place in the US requiring modifications to fishing gear and restrictions on certain types of such gear in areas and times where right whales are common (Clapham 2005). A Mandatory Ship Reporting Scheme has been in place since 1999 in two areas in the right whale calving and summering grounds to enable vessels to be warned of right whales in the area. Regulations specify minimum approach distances for whale-watching and other vessels. Shipping lanes in the Bay of Fundy have been moved, with the approval of the International Maritime Organization (IMO), to take them away from the major summer concentrations of right whales. A regulatory proposal to enforce maximum transit speeds on vessels passing through right whale habitats off the US east coast was still under review in 2007.There is as yet no indication of a decrease in the rate of anthropogenic mortalities, hence it is unclear whether the measures taken to date are sufficient.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BALAENOPTERIDAE,Balaenoptera acutorostrata,"Until the 1990s, only one species of minke whale was recognised, the Antarctic minke whale B. bonaerensis being regarded as conspecific with B. acutorostrata. Most of the scientific literature prior to the late 1990s uses the name B. acutorostrata for all minke whales including Antarctic minke whales. Since 2000, the International Whaling Commission (IWC) Scientific Committee (SC) recognizes Antarctic minke whales as the separate species B. bonaerensis, and provisionally groups all Northern Hemisphere minke whales and all Southern Hemisphere “dwarf” minke whales under the single species B. acutorostrata (IWC 2001). This has been followed by management agencies, such as CITES. B. acutorostrata is known as the dwarf minke whale in the Southern Hemisphere. It was described there by Best (1985) and Arnold et al. (1987) in terms of its differences from the Antarctic minke whale, which was regarded as the “ordinary” minke whale. Subsequent genetic analyses (Wada 1991, Pastene et al. 1994) revealed that the dwarf minke whale is closely related to the “ordinary” minke whale of the Northern Hemisphere, while the Antarctic minke whale is a separate species.",No,No,LC,,LC,,"The Northeast Atlantic stock is estimated to number c.80,000 individuals, well above the thresholds for a threatened category. There is no indication that the population has declined to an extent that would qualify for a threatened category. Consequently this species is assessed as Least Concern at the European regional level.",Unknown,"The common minke whale is a cosmopolitan species found in all oceans and in virtually all latitudes, from 65°S to 80°N. In parts of its range it is very abundant, in other parts much less so. Its migration patterns are poorly known. It occurs in the North Atlantic, North Pacific, and the Southern Hemisphere, but is not known in the northern Indian Ocean.North AtlanticIn summer, minke whales are common throughout the northern North Atlantic as far north as Baffin Bay, Greenland Sea, Svalbard, Franz Josef Land and Novaya Zemlya, and as far south as 40°N (New Jersey) on the US east coast (Anon. 2005), and as far south as the Hebrides (northwest British Isles) and the central North Sea in the east. In mid-Atlantic the southern limit of summer abundance is at least as far south as 50°N (Sigurjónsson et al. 1991). It is likely that at least a part of the minke whale population overwinters in the summer range, but there has been very little observation effort in winter to confirm this.Minke whales also occur south of this range in the southeastern North Atlantic, but with no obvious seasonality, and are not common, with the exception of the Canary Islands, where they appear to be frequent year-round (van Waerebeek et al. 1999). There have been occasional sightings (Aguilar et al. 1983) and strandings (van Waerebeek et al. 1999) off Spain and Portugal, Western Sahara, Mauritania and Senegal. Minke whales are rare in the Azores and not recorded from Madeira. The minke whale is considered a “visitor species” in the Mediterranean (average <1 record per year) with one vagrant recorded in the Black Sea (Reeves and Notabartolo di Sciara 2006). There are very few winter records, but a summary by Mitchell (1991) indicates that they do occur in winter near Bermuda, the Bahamas and the Antilles, and the US coast south of 40°N. Ten strandings have been recorded in the Gulf of Mexico (Jefferson and Schiro 1997) but hardly any live sightings. A Norwegian winter expedition sent to the tropical Atlantic in 1989/90 to “find the breeding grounds of the minke whale” encountered just two minke whales, at 20°N and 10°N off West Africa in December (Folklow and Blix 1991).","North AtlanticThe IWC recognizes four stocks of minke whales in the North Atlantic: Northeast Atlantic, Central North Atlantic, West Greenland, and Canadian East Coast. The latter includes the US east coast. Population estimates were last reviewed by the IWC SC in 2003 (IWC 2004), but a new estimate for West Greenland was accepted in 2006 (IWC 2007). The best/most recent available estimates for the whole North Atlantic total about 182,000, and the Northeast Atlantic stock was estimated at c.80,000 individuals.Minke whales have been exploited in the North Atlantic, mainly since the 1940s, and recorded catches total about 140,000 (IWC 2006). The largest catches have been by Norwegian “small-type” whalers who have taken about 120,000 since 1948, mainly in the Northeast Atlantic. Annual catches peaked at over 4,000 in the late 1950s, declining to about 2,000 annually in the early 1980s. Catches were phased out from 1984 to 1987. Commercial minke whaling resumed in 1993 at a lower level and continues to the present. About 4,000 minke whales were taken off Iceland during 1941-85, but recent abundance estimates imply that this would have had no discernible effect on the population. About 8,000 common minke whales have been caught by small-type whaling off West Greenland, mainly since 1960. The present catch limits (up to 175 annually for the years 2003-7) were set by the IWC in the absence of advice from its Scientific Committee. Some concerns have been expressed by the IWC Scientific Committee over the sustainability of the catch levels given the uncertainty over the size of the population available to the hunters off West Greenland (IWC 2007) although sex ratio information suggests that the population may not have been significantly impacted by the catches (Witting 2006).Generation timeNo satisfactory method of age determination has been developed for this species to date. Therefore the value of Taylor et al. (2007) was used. Unlike Antarctic minke whales, common minke whales tend not to develop ear plugs with readable layering (Lockyer 1984). A method based on layer counts in tympanic bullae (Christensen 1981) could not be reproduced by later workers. Other aging methods are being researched, but none is yet at the stage where it can be reliably applied to this species (Olsen and Øien 2002).","The common minke whale occurs in both coastal and offshore waters and exploits a variety of prey species in different areas according to availability. In the Northern Hemisphere some populations migrate to higher latitudes in summer, but it is also found year-round in some areas. With the exception of the Sea of Japan – Yellow Sea- East China Sea population, conception and birth occur in winter. Most animals occur singly, and few in groups of more than two. In the North Atlantic, studies in the Barents and Norwegian Seas show that minke whale diet varies greatly between areas and years, being dominated by krill in the northern areas, but by herring or capelin in other areas according to what is most abundant that year, with gadoids being taken when herring and capelin were scarce (Lindstrøm and Haug 2002). In the North Sea the diet consisted almost exclusively of sandeel (data from one year only). Minke whales taken off Iceland in 2003-04 contained mainly sandeel, with some capelin and gadoids (Víkingsson et al. 2006). Minke whales caught off Newfoundland during 1966-72 contained mainly capelin (Mallotus villotus) (Mitchell 1974).The overlap of the diet of this species with the targets of commercial fisheries poses difficult questions in ecosystem management. The question of whether minke whales should be culled to reduce their fish consumption is a particularly controversial issue.","Whaling on this species has been intensive in the Northeast Atlantic, and reduced the population over the period 1952-83. Catches were phased out by 1987, but whaling resumed, at a lower level, in 1993. Norway sets national catch limits based on the IWC’s Revised Management Procedure, a formula for setting safe catch limits (Hammond and Donovan in press). In presenting the RMP to the IWC for approval, the IWC SC offered three variants that it believed were acceptable and the IWC chose the most conservative option. Up until 2000, Norway used this option to set its national catch limits. It is now using the least conservative option presented by the SC. The national catch limit for 2006 was 1,052 whales, but only 521 were taken.Coastal catches averaging about 200 per year were taken off Iceland until 1985 when the IWC moratorium on commercial whaling came into effect. Small (a total of 100 expected for the period 2003-2006) experimental catches resumed in 2003. Catches off West Greenland continue, under an IWC catch limit of 175 whales annually, valid through 2007. As discussed above the IWC Scientific Committee has expressed concern at its inability to provide scientific advice on an appropriate catch limit (IWC 2007).Minke whales are subject to some level of incidental catch in fishing gear throughout much of their range, but in most areas the numbers involved are probably not significant.","Catch limits for all commercial whaling have been set at zero by the IWC since 1986. However, this moratorium does not apply to Iceland, Norway or the Russian Federation which have objected to this provision. IWC members are allowed to issue permits for whaling for scientific research. Limited aboriginal subsistence whaling is permitted by the IWC for common minke whales off Greenland. Takes of dwarf minke whales have been excluded from the Japanese scientific whaling programme in the Antarctic (JARPA) since summer 1992/93 (Nishiwaki et al. 2005). Minke whales, including B. acutorostrata, are listed on Appendix I of CITES, with the exception of the population from Greenland which is included in Appendix II. This implies prohibition of commercial international trade in its products, but that does not apply to Iceland, Norway or Japan, who hold reservations on the species. Common minke whales benefit from national protection measures implemented in several range countries.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BALAENOPTERIDAE,Balaenoptera borealis,"The sei whale is a recognized species, but phylogenetically it falls within the Bryde's whale clade (Wada et al. 2003). Older catch and sightings records of sei whales, particularly prior to 1972, tended to include Bryde's whales in areas where the latter occur. Tomilin (1957) proposed two subspecies, B. b. borealis in the northern hemisphere and B. b. schlegeli (Flower 1884) in the southern hemisphere, but these are not widely recognized.",No,No,EN,D,EN,D,"Sei whales are virtually absent in the eastern North Atlantic: Norwegian surveys of northeast Atlantic waters in 1987, 1989, and annually from 1995-2005 yielded only one sei whale sighting in the Eastern stock area. Small numbers of sei whales were caught during 1957-80 off northwestern Spain, mainly in late summer/autumn (Aguilar and Sanpera 1982). It seems reasonable to assume that the total number of mature individuals in the European Mammal Assessment region is less than 250. Consequently the regional assessment is Endangered.",Unfavourable,"The sei whale is a cosmopolitan species, with a mainly offshore distribution, occurring in the North Atlantic, North Pacific and Southern Hemisphere, but probably not in the Northern Indian Ocean (Rice 1998). It is an occasional visitor to the Mediterranean (Reeves and Notabartolo di Sciara 2006). Sei whales undertake migrations between tropical and subtropical latitudes in winter to temperate and subpolar latitudes in summer, mainly in water temperatures of 8°-18°C, and tend not to penetrate to such high latitudes as other rorquals. Their winter distribution seems to be widely dispersed and is not fully mapped (Horwood 1987, 2002).In the North Atlantic the summer distribution seems to be quite variable from year to year; however, sei whales typically occur north of an arc running from south of Nova Scotia in the west, to the northwest British Isles and on to Trondheim in Norway, as far as the Davis Strait and the northern end of the Denmark Strait in the north. Occasional incursions into other areas have been noted (e.g. the Gulf of Maine, Schilling et al. 1993). Peaks of catch rates in early and late summer suggested a northward and southward migration through the former Nova Scotia whaling ground (Mitchell 1975). Sei whales have been scarce in Norwegian waters in recent years despite significant catches there in the past. Sei whales were caught in limited numbers, mainly in late summer, off northwestern Spain (Aguilar and Sanpera 1982), and have been recorded in winter as far south as the Caribbean and Cap Blanc, Mauritania (Rice 1998).","North AtlanticThe IWC recognizes three stock divisions for sei whales in the North Atlantic: Nova Scotia; Iceland-Denmark Strait; and Eastern (including the waters of Spain, Portugal, British Isles, Faeroes and Norway), but the divisions were chosen on largely arbitrary grounds (Donovan 1991). About 14,000 sei whales are recorded caught by modern whaling in the North Atlantic. In addition, an unknown proportion of the approximately 30,000 unspecified large whales caught in the North Atlantic in the late 19th and early 20th century were sei whales. Sei whales appear to have been depleted in the eastern North Atlantic, with over 7,500 recorded taken in Norwegian and British waters prior to WWII (not counting the unspecified whales), but fewer than 200 since then. The species seems to be virtually absent there now: Norwegian surveys of northeast Atlantic waters in 1987, 1989, and annually from 1995-2005 have yielded only one sei whale sighting in the Eastern stock area. Small numbers of sei whales were caught during 1957-80 off northwestern Spain, mainly in late summer/autumn (Aguilar and Sanpera 1982); the stock identity of these animals is unclear.By contrast, sei whales are still abundant in the central North Atlantic (Iceland-Denmark Strait IWC stock area), especially southwest of Iceland south to 50°N in summer. The only survey with reasonably complete coverage, designed specifically for the purpose of estimating sei whale abundance, was in 1989, and yielded a population estimate of 10,300 whales (CV 0.27) (Cattanach et al. 1993). Areas of sei whale abundance seems to shift markedly between years relative to the northern extent of the distribution, more so than for other baleen whale species (Gunnlaugsson et al. 2004).No recent abundance estimates are available for the western North Atlantic. The population size during 1966-69 was estimated at 2,078 (Mitchell and Chapman 1977) from sightings surveys, using strip transect methodology. About 1,200 sei whales were taken off Nova Scotia during 1962-72.Generation timeThe default value of 23.3 years for generation time given in Taylor et al. (2007) was considered appropriate, given an absence of any indications to the contrary from available biological information for the species.","Sei whales exhibit a greater variety in diet than, say, blue whales, but tend to feed on only one type of prey at a time. Of 21,713 stomachs examined in the North Pacific, 82.7% contained copepods only, and 12.6% contained euphausiids only; of 31,494 stomachs examined in the Southern Hemisphere, 54.3% contained euphausiids only, 30.5% contained copepods only, and 14.4% contained amphipods only (Nemoto and Kawamura 1977). Sei whale stomachs examined in the Northeast Atlantic contained copepods and euphausiids (Jonsgård and Darling 1977). Sei whale stomachs analysed in the North Pacific off California contained euphausiids and anchovies (Rice 1977). Sei whales are noted for their erratic appearance in specific feeding grounds, being plentiful in some years and absent (sometimes for years or even decades) in others (Horwood 1987).","Sei whale exploitation by modern whalers was particularly intensive in the Southern Hemisphere and the North Pacific from the late 1950s to the mid 1970s, following the depletion of the larger blue, fin and humpback whales. Sei whale stocks were seriously depleted during this period. Exploitation in the North Atlantic occurred over a longer period and was less intensive, except in the eastern North Atlantic, where the population appears not to have recovered from early modern whaling. Commercial exploitation ceased in the North Pacific in 1975, in the Southern Hemisphere in 1979 and in the North Atlantic in 1989. Catches by Japan under scientific permit resumed in the North Pacific in 2002: since 2004, the annual take has been 100 animals.Reports of other human-caused mortalities of sei whales are rare. Two fatal ship strikes (sei whales found dead on the bows of ships) have been reported on the US East Coast during 2000-2004 (Cole et al. 2006). It is hard to extrapolate from known cases to an estimated total, but sei whales appear to be at relatively low risk of human impacts, probably because of their largely offshore distribution.Rice (1961, 1974) reported a pathological condition in several North Pacific sei whales which resulted in deterioration or loss of baleen; however, the current frequency of this condition, and its impact (if any) on the population, are unknown.","Sei whales have been specifically protected from commercial whaling by the International Whaling Commission since 1975 in the North Pacific and 1979 in the Southern Hemisphere. They have also been protected by the general moratorium on commercial whaling since 1986, although this does not cover catches taken under scientific permit. No other specific conservation measures for sei whales are reported, but the species benefits from general whale protection laws in several countries.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BALAENOPTERIDAE,Balaenoptera musculus,,No,No,EN,D,EN,D,"It is not possible to derive a quantitative population size or trend estimate for this species in the European Mammal Assessment region because there have been so few sightings in recent decades. However, based on the very small number of records it seems reasonable to assume that the population is smaller than 250 mature individuals. Consequently the regional assessment is Endangered. Before commercial whaling the species was much more abundant in the region.",Unfavourable,"The blue whale is a cosmopolitan species, found in all oceans except the Arctic, but absent from some regional seas such as the Mediterranean, Okhotsk and Bering seas. In the North Atlantic the summer distribution of blue whales extends in the west from the Scotian Shelf to the Davis Strait (NMFS 1998). Blue whales occur in the Denmark Strait, around Iceland and north to the ice edge, and in the northeast to Svalbard. Historically, blue whales were commonly caught along the coasts of North and West Norway, the Faeroes and the NW British Isles. They also occur in low numbers off NW Spain (Bérubé and Aguilar 1998) and in the past near the Strait of Gibraltar, but not in the Mediterranean (Reeves and Notabartolo di Sciara 2006). The winter distribution is poorly known but it appears that in the past blue whales were widely distributed in the southern half of the North Atlantic in winter (Reeves et al. 2004).","North AtlanticIn the North Atlantic, about 400 whales have been photo-identified in the Gulf of St Lawrence (Ramp et al. 2006) and Pike et al. (2004) estimate 1,000-2,000 in the central North Atlantic (Iceland, Denmark Strait, East Greenland, Jan Mayen, Faeroes and the British Isles). Sightings of blue whales are still very rare off Norway, Svalbard and the British Isles despite substantial past catches, especially in northern Norway (Christensen et al. 1992, Norwegian sighting surveys 1995-2006). Approximately 8,000 blue whales are specifically recorded caught in whaling statistics since the start of modern whaling in northern Norway in 1868, but an additional 30,000 unspecified large whales were recorded caught in the late 19th and early 20th centuries, of which perhaps as much as 25% could have been blue whales (IWC 2006). However, only about 1,600 blue whales were caught after 1917, hence the main decline occurred primarily before this time. The population is estimated to have been recovering at 5.2% p.a. (SE 1.1%) in the Iceland/Denmark Strait area during 1969-88, after catching had ceased (Sigurjónsson and Gunnlaugsson 1990). Taken together this all suggests that the North Atlantic population was very low when whaling ceased in the mid 1960s (apart from a very few pirate whaling catches up to 1978), and may now be at or above the 1911 level, but still well below the pre-whaling level.Generation time. The default value of 32 years for generation time given in Taylor et al. (2007) was considered appropriate, given an absence of any indications to the contrary from available biological information for the species.","Blue whales feed almost exclusively on euphausiids (krill), with a variety of species being taken by different blue whale populations, such as Euphausia superba in the Antarctic, Nyctiphanes australis off southern Australia (Gill 2002), Euphausia recurva off Western Australia (Bannister pers comm.) and Nyctiphanes simplex off the Galapagos (Palacios 1999). They feed both at the surface and also at depth, following the diurnal vertical migrations of their prey to at least 100m (Sears 1999). The migration patterns of blue whales are not well understood, but appear to be highly diverse. Some populations appear to be resident year-round in habitats of year-round high productivity, while others undertake long migrations to high-latitude feeding grounds (see above), but the extent of migrations and the components of the populations that undertake them are poorly known.","The main threat in the past was direct exploitation, which only became possible in the modern era using deck-mounted harpoon cannons. Blue whale hunting started in the North Atlantic in 1868 and spread to other regions around 1900 after the northeastern Atlantic populations had been severely reduced. The Antarctic and North Atlantic populations were probably depleted to the low hundreds by the time whaling ceased, but are increasing. Blue whales have been protected worldwide since 1966, although they continued to be caught illegally by USSR fleets until 1972. The last recorded deliberate catches were off Spain in 1978 (IWC, 2006). Blue whales are subject to some ship strikes and entanglements (NMFS 1998) but reported cases are few. The remote distribution of some blue whale populations probably makes them less vulnerable to human impacts than some other cetacean species, but local populations that inhabit waters with significant levels of human activity may be subject to some threat, such as disturbance from vessel traffic, including ship noise (e.g. Gulf of St Lawrence population, NMFS 1998). Globally, there appear to be no major threats to blue whales at present.","The International Whaling Commission had granted protection to blue whales by 1966. Catch limits for all commercial whaling have been set at zero by the IWC since 1986. However, this moratorium does not apply to Iceland, Norway or the Russian Federation which have objected to this provision. No blue whales have been recorded deliberately caught since 1978. They are protected by national regulations in many range states. Local measures may be required to protect the habitat of specific local populations in order to ensure their long-term viability in the face of increasing human impacts, e.g. see Hucke-Gaete et al. (2005).",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BALAENOPTERIDAE,Balaenoptera physalus,"The subspecific phylogeny of fin whales has not yet been fully elucidated, but some authors recognize a Northern Hemisphere subspecies B. p. physalus, and a Southern Hemisphere subspecies B. p. quoyi which has a larger body size. Clarke (2004) proposed a pygmy subspecies B. p. patachonica Burmeister 1865, but this is not widely accepted and no genetic analysis has been performed.",No,No,NT,,NT,,"European regional assessment: Near Threatened (approaching A1d). The population and range are large enough that Criteria B and D do not apply. Does not meet Criterion C (even at Near Threatened) because although the number of mature individuals is fairly low, there is no evidence of continuing decline. Generally in the North Atlantic populations are either stable or increasing, or there is no quantitative data. There are no estimates of historical or pre-exploitation abundance for the marine area covered by the European Mammal Assessment, but populations were undoubtedly depleted by commercial whaling. It is suspected that, by comparison with population levels 81 years (3 generations) ago, the population is currently 30-49% lower. This is a precautionary assessment that is not based on quantitative data, and it is strongly recommended that further surveys and modelling studies are carried out to better determine current and historic population size and trends.The Mediterranean population of the fin whale was assessed in 2006 as Data Deficient (Reeves and Notarbartolo di Sciara 2006).",Unfavourable,"Fin whales occur worldwide, mainly but not exclusively further offshore. They are rare in the tropics, except in certain cooler-water areas such as off Peru. North AtlanticIn the North Atlantic, the fin whale's range extends as far as Svalbard in the northeast (but rarely far into the Barents Sea), to the Davis Strait and Baffin Bay in the northwest (but rarely into the inner Canadian Arctic), to the Canary Islands in the southeast, and to the Antilles in the southwest (Rice 1998, Perry et al. 1999), but it is rare in the Caribbean and Gulf of Mexico (Ward et al. 2001). Their main summer range in the northwest Atlantic extends from Cape Hatteras (39°N) northward (Anon. 2005). In former times, fin whales were caught year-round near the Straits of Gibraltar. While there may be some north-south migration between summer and winter, it does not necessarily involve the entire population, and North Atlantic fin whales may occur to some extent throughout the year in all of their range, as suggested by acoustic data (Clark 1995).MediterraneanThere is a resident population in the central and western Mediterranean which is genetically distinct from that of the North Atlantic (Bérubé et al. 1998). The species also occurs, but rarely, in the eastern Mediterranean (Reeves and Notarbartolo di Sciara 2006).","North AtlanticNorth Atlantic fin whales were comprehensively assessed by the IWC Scientific Committee in 1991 (IWC 1992), and an update for the northern part of the region was undertaken in 2006 in a joint workshop with NAMMCO (IWC 2007). North Atlantic fin whale stocks had previously been assessed by the IWC Scientific Committee in 1976 (IWC 1977). Based mainly on past whaling operations, the IWC recognizes seven management areas in the North Atlantic: Nova Scotia; Newfoundland-Labrador; West Greenland; East Greenland-Iceland; North Norway; West Norway-Faeroe Islands; British Isles-Spain-Portugal. Based on genetic evidence, it is now considered more likely that there are from two to four breeding stocks, which utilize these seven management areas in different proportions (IWC 2007).The best available estimates of recent abundance accepted by the IWC Scientific Committee (IWC 2007) are: 25,800 (CV 0.125) in 2001 for the central North Atlantic (East Greenland-Iceland, Jan Mayen and the Faeroes); 4,100 (CV 0.21) in 1996-2001 for the northeastern North Atlantic (North and West Norway); and 17,355 (CV 0.27) in 1989 for the Spain-Portugal-British Isles area (Buckland et al. 1992). The only accepted estimate for West Greenland is 1,046 (CV 0.35) in 1988 (IWC 1992); a newer estimate from a 2005 survey could not be accepted due to methodological problems. There are no complete estimates for the western North Atlantic Northwest Atlantic, but partial estimates are 1,013 (95% CI 459-2,654) for Newfoundland in 2003-3 (IWC 2007), and 2,814 (CV 0.21) for the east coast of North America from the Gulf of St Lawrence southward (Anon. 2005). No significant trends were found in the total abundance for any of the above areas, but when the area west and southwest of Iceland was singled out, a significant increasing trend was found (IWC 2007).Fin whales were heavily exploited in the late 19th and early 20th centuries, starting in 1876, particularly off Norway, Iceland, the Faeroes and British Isles. Whaling then spread to Spain, Greenland and eastern Canada, and exploitation continued at a lower level until the 1980s. Catch statistics for the early years are probably incomplete, and a large number of whales were killed but lost, due to lines breaking, etc., perhaps up to one-half in the first 20-25 years and one-third in the next 15-20 years (Tønnessen 1967). The IWC Scientific Committee added 50% to recorded catches up to 1915 to allow for this (IWC 2007): recorded catches up to 1915 total 15,315 fin whales plus 29,024 unspecified whales of which about half may have been fin whales, thus the total kill may have been about 45,000 up to 1915. The total recorded catch post-1915 has been about 55,000 fin whales. The approximate figures by area are: Canada 12,000; Norway 10,000; Iceland 10,000; Faeroes 5,000; Greenland 1,000; British Isles 3,000; Spain and Portugal 11,000; and pelagic operations 3,000. The behaviour evident for the various North Atlantic fin whale populations following earlier reductions through whaling differs. It ranges from clear evidence of recovery to no firm indications of any increase. An estimated 14,000 fin whales were killed off North Norway during 1876-1904, and a further 1,500 during 1948-71, but fin whales are rare there now (although quite abundant off western Spitsbergen, where about 1,500 whales had been killed during 1904-11) (Øien 2003, 2004). An estimated 12,000 fin whales were killed off Iceland during 1890-1915, until whaling was suspended partly due to concerns about the reductions in the stocks, but the modern abundance data suggest that the there has been a recovery in the population that may still be continuing, particularly west of Iceland, despite catches during 1948-89 averaging about 220 per year (Branch and Butterworth 2006). An estimated 10,000 fin whales were taken from the Faeroes, but about 25% of these were actually caught off eastern Iceland (IWC 2007). Whaling from the Faeroes and West Norway petered out during the 1960s as whales became scarce (IWC 1977), but catches had apparently been mainly of migrating whales rather than local populations. MediterraneanCatches of about 7,000 fin whales taken near the Straits of Gibraltar in the 1920s apparently depleted the local abundance, and fin whales are still rare there today, but this did not seem to affect the abundance of fin whales off northern Spain, where catches continued until 1985. The impact of catches on the fin whale stocks in the Northwest Atlantic is unclear (Mitchell 1972). The population was estimated in 1991 from surveys covering much of the western Mediterranean at 3,583 (CV 0.27) (Forcada et al. 1996). It is likely, but not certain, that the historical catches near the Strait of Gibraltar were from the North Atlantic rather than from this population (Sanpera and Aguilar 1992). Palsbøll et al. (2004) found that Mediterranean fin whales probably have a small but non-zero genetic exchange with fin whales elsewhere in the North Atlantic.Generation time The default value of 27 years for generation time given in Taylor et al. (2007) was considered appropriate, given an absence of any indications to the contrary from available biological information for the species.","Fin whales are often portrayed in the secondary literature as eating fish including juvenile herring (e.g. NAMMCO undated). However, the available quantitative evidence suggests that the fin whale's reputation as a fish-eater is largely overstated. In Icelandic catches, 96% contained krill only, 2.5% a mixture of krill and fish, and 1.6% fish only (Sigurjónsson and Víkingsson 1997), while only one of 267 fin whales caught in the northeast Pacific off British Columbia, Canada, contained fish (Flinn et al. 2002), and over 99% of stomachs with food in the Antarctic contained krill (Kawamura 1994). On the other hand, Overholtz and Nicolas (1979) report apparent feeding of fin whales on American sand lance (sand eel) Ammodytes americanus in the northwest Atlantic, and Mitchell (1975) found that capelin comprised 80-90% of prey in fin whales caught off Newfoundland. Capelin abundance is extremely variable over time, and fin whales may feed opportunistically on capelin in high-capelin years. In summary, although the fin whale is more flexible in its diet than the blue whale (B. musculus), its consumption of fish is not necessarily a significant problem.","Prior to the advent of modern whaling in the late 19th century, fin whales were largely immune from human predation because they were too hard to catch. Fin whales were depleted worldwide by commercial whaling in the 20th century. Fin whales have been protected in the Southern Hemisphere and North Pacific since 1975, and catches ceased in the North Atlantic by 1990, except for small aboriginal subsistence catches off West Greenland. Commercial catches resumed off Iceland in 2006, with nine fin whales being taken that year. A Japanese fleet resumed experimental catches of fin whales in the Antarctic in 2005, taking 10 whales each during 2005/06 and 2006/07, with plans to take 50 per year from the 2007/08 season (IWC 2006). It seems unlikely that catching of fin whales will return to the high levels of previous years, not least due to the limited market demand for whale products.Fin whales are one of the more commonly recorded species of large whale in vessel collisions (Laist et al. 2001). Five fatal collisions are recorded off the US east coast during 2000-04 (Cole et al. 2006). Collisions with vessels appear to be a significant, but not necessarily unsustainable, source of mortality for the Mediterranean population (Weinrich et al. 2005, Reeves and Notabartolo di Sciara 2006). Fin whales are occasionally caught in fishing gear as bycatch: four deaths and serious injuries from this source are reported from the eastern US coast during 2000-04 (Cole et al. 2006); recent Japanese Progress Reports to the IWC (www.iwcoffice.org/sci_com/scprogress.htm) report about one fin whale by-caught per year on average.","The IWC set catch limits to zero for fin whales in the North Pacific and Southern Hemisphere in 1976. Catch limits for all commercial whaling have been set at zero by the IWC since 1986. However, this moratorium does not apply to Iceland, Norway or the Russian Federation which have objected to this provision. Limited aboriginal subsistence whaling is permitted by the IWC for fin whales taken off West Greenland. Fin whales are listed on Appendix I of the Convention on Trade in Endangered Species (CITES), but this does not apply to Iceland, Norway and Japan, who hold reservations. Fin whales are also listed on Appendices I and II of the Convention on Migratory Species (CMS). Under the Agreement for Conservation of Cetaceans in the Black and Mediterranean Seas (ACCOBAMS), fin whales in the Mediterranean, along with other cetaceans, are protected from deliberate killing by signatories to the agreement.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BALAENOPTERIDAE,Megaptera novaeangliae,,No,No,LC,,LC,,"Reasonably good survey data are available for the two main feeding grounds that lie relatively close to the European Mammal Assessment region (Iceland and N Norway/Spitzbergen). Recent partial estimates include 13,900 individuals for Iceland (CI=3,900 – 29,000) and 889 for N Norway/Spitzbergen (CV 0.32) (IWC 2002, 2003). Not all of these are mature individuals. The global population is estimated to be increasing rapidly (3% per year), and the Iceland population may be increasing more rapidly still (surveys showed an increase of 11.4% per annum from 1986 to 2001, although immigration as well as population growth may be responsible for this) (IWC 2003). The species is rare in the European Mammal Assessment region (Reid et al. 2003). Although no quantitative estimates are available, it seems reasonable to suspect that the number of humpback whales present in the EMA area may be fewer than 1,000 mature individuals, the threshold for consideration as Vulnerable under Criterion D. However the humpback whale is highly mobile and travels large distances, and the animals in the EMA region are undoubtedly part of larger populations that extend outside the region and that are expanding rapidly in size. Consequently the category is downgraded by two steps to Least Concern.",Possibly Favourable,"The humpback whale is a cosmopolitan species found in all the major ocean basins (Clapham and Mead 1999), and all but one subpopulation (that of the Arabian Sea) migrate between mating and calving grounds in tropical waters, usually near continental coastlines or island groups, and productive colder waters in temperate and high latitudes. Humpbacks are abundant throughout the Antarctic in summer south to the ice edge, but not within the pack ice zone. In the winter, Southern Hemisphere populations are aggregated into specific nearshore breeding areas in the Atlantic, Indian Ocean and Pacific, two of which extend north of the equator, e.g. off Colombia in the eastern Pacific and in the Bight of Benin in the Atlantic. Some wintering grounds are fairly localised, for example around island groups, and some are more diffuse, for example along the western coast of Southern Africa and the southern coast of west Africa. In the North Atlantic, they range in summer from Gulf of Maine in the west and Ireland in the east, and up to but not into the pack ice in the north; the northern extent of the humpback’s range includes the Barents Sea, Greenland Sea and Davis Strait, but not the Canadian Arctic. They occur mainly in specific feeding areas. In the winter the great majority of whales migrate to wintering grounds in the West Indies, while an apparently small number of animals still utilize a historical breeding area around the Cape Verde Islands.Humpbacks rarely enter the Mediterranean and are considered vagrant there.","The humpback whale is better studied than other balaenopterid species, and migratory destinations are well known for some subpopulations. North AtlanticA comprehensive assessment of North Atlantic humpback whales was completed by the IWC Scientific Committee in 2002, from which most of the information below is drawn.Six distinct feeding aggegrations have been identified: Gulf of Maine; Gulf of St Lawrence; Newfoundland/Labrador; West Greenland; Iceland; North Norway (including Bear Island and Jan Mayen). Genetic and photo-ID data indicate that the six feeding aggregations represent relatively discrete subpopulations, fidelity to which is determined matrilineally. However, because whales from different feeding grounds all mix in a common breeding area in the West Indies, there is male-mediated nuclear gene flow between the subpopulations.Humpbacks were heavily exploited in the past by pre-modern whaling in their breeding grounds in both the West Indies and the Cape Verde islands, and by modern whaling in their feeding grounds, especially off Iceland and off Norway in the late 19th and early 20th centuries. Catches of pre-modern whaling are estimated primarily from trade records. Catches of early modern whaling also need to be estimated, because most of the catch records were not divided by species. An estimated 3,200 were taken from Iceland and 2,000 from northern Norway during 1880-1916. About 1,500 humpback whales are reported killed in the North Atlantic since 1916, from a variety of areas including the British Isles, Faeroes, Norway, Iceland, Greenland, and eastern Canada, as well as Norwegian pelagic catches.Population modelling exercises show that the recent abundance and increase rate of humpback whales in the North Atlantic are too large to represent a recovery from depletion by the estimated past kills. This suggests that either:(i) past kills have been substantially underestimated; or(ii) there has been some increase in the environmental carrying capacity for humpback whales; or(iii) whaling had a negative impact on the population, over and above the effects of the actual removals, in ways that are not understood; or(iv) some combination of the above factors.Whichever of the above hypotheses pertains, the increase rate of 3% per annum implies that humpbacks are considerably more abundant in the North Atlantic today than they were in 1940. This is consistent with anecdotal evidence of the relatively low numbers observed prior to 1960.Generation timeTaylor et al. (2007) estimate mean generation time at 22 years.","With a few exceptions, such as the Arabian Sea population, humpback whales undertake long migrations between breeding grounds in tropical coastal waters in winter to feeding grounds in middle and high latitudes, mainly in continental shelf waters. In the Southern Hemisphere, humpbacks appear to feed mainly in the Antarctic, where the diet consists almost exclusively of krill (Euphausia superba), although some feeding in the Benguela Current ecosystem on the migration route west of South Africa has been observed (suspected prey species are E. lucens and Themisto jaudichaudi). Limited data on diet in other areas is available. Humpback whales caught off Newfoundland and Labrador in the 1950s and 1960s were found to be consuming mainly capelin (Mallotus villotus). Those caught off California in the early 20th century were eating mainly euphausiids and sardines. In areas of Alaska and the North Atlantic, humpback whales have also been observed feeding co-operatively on schools of herring (Clupea harengus), sand lance (Ammodytes spp.) and (more rarely) mackerel (Scomber scombrus), by herding the school together with bubble nets, clouds or curtains.","Although commercial whaling seriously depleted all humpback populations, the species has demonstrated remarkable resilience, and most populations have increased since the end of whaling, although there are several populations which remain small and for which no increase has yet been detected, such as the populations breeding near South Pacific islands, and the western North Pacific population. Humpback whales have been protected from commercial whaling worldwide since c.1963, but illegal catches by Soviet fleets continued in the Antarctic and North Pacific until 1973. Today, small numbers only are taken by a “subsistence” whaling operation off St Vincent (1-2 animals per year); it is possible that other small unreported catches occur elsewhere. However, the government of Japan has announced plans to resume humpback whaling in the Antarctic from the 2007/08 season, starting with an experimental catch of 50 animals per year under scientific permit. The species is not currently hunted in European waters.Humpback whales are subject to entanglements, often fatal, in fishing gear. They are also vulnerable to injury by ship strikes, which an also be fatal. The documentation of such incidents is best for US waters. For the Atlantic coasts of the US during 1999-2003, there were 19 reports of mortality or serious injury caused by entanglements and 7 cases of mortality or serious injury due to ship strikes. For US Pacific waters (mainly Alaska) during 1999-2001 there were 13 reports of mortalities and serious injuries due to entanglement and three reports of mortalities due to ship strikes.","Humpbacks have been protected from commercial whaling worldwide since 1963, and there have been very few catches after 1967. Despite having been severely depleted to a world population in the low thousands at that time, humpbacks have since recovered strongly to a world population which was at least 60,000 in the mid-1990’s and has been increasing since. Humpback whales enjoy additional protective measures in some countries, such as sanctuaries.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BOVIDAE,Bison bonasus,Two genetic lines are distinguished in recent populations: the Lowland line (B. b. bonasus) and the Lowland-Caucasian line (B. b. bonasus x B. b. caucasicus). There are no surviving pure-bred populations of B. b. caucasicus (Pucek et al. 2004).,No,No,VU,D1,VU,D1,"European regional assessment: Vulnerable (VU)EU 25 regional assessment: Vulnerable (VU)The global population of free-living animals was c.1,800 in 2006. However, because some of these have not reached breeding age, and because polygyny reduces the effective population size, the total number of 'mature individuals' may be less than 1,000. Almost all of these animals live in the European region (as defined by the European Mammal Assessment), and approximately 550 of them live in EU 25 countries (Poland, Lithuania, Slovakia) (EBPB 2004). Although the population declined between the early 1990s and 2000, the current population trend is increasing. Consequently the species qualifies as Vulnerable under Criterion D1 at the European regional and EU 25 levels. Bison bonasus (Lowland line): Vulnerable D1In 2000, the total population was 931, not all of these are mature individuals. Although the population declined between the early 1990s and 2000, it is currently increasing.Bison bonasus (Lowland-Caucasian line): Endangered C1+2a(i)In 2000, the total population was 714, not all of these are mature individuals. The population decreased by >20% between 1990 and 2000, and has continued to decline since 2000. All subpopulations are smaller than 250 individuals.""The fate of the European bison provides an example of the way in which a species may be brought to the brink of extinction in a very short time, and then saved only through great efforts. The saving of the bison has been an undoubted success, but further action to protect what remains a creature of relict distribution will continue to be essential"" (Krasiński 2005).",Unfavourable,"European bison Bison bonasus is the largest herbivore in Europe. Historically it was distributed throughout western, central, and south-eastern Europe and the Caucasus. By the end of the 19th century, there were only two populations of European bison left in the wild: in Białowieża Forest B. b. bonasus and in the western Caucasus mountains B. b. caucasicus. B. b. bonasus was finally driven extinct in the wild in 1919, and B. b. caucasicus had been extirpated by 1927. Subsequently, the species survived only in a few European zoological gardens (Sztolcman 1924). As a result of reintroductions and introductions, it now occurs in free-ranging and semi-free herds in Poland, Lithuania, Belarus, Russian Federation, Ukraine, and Slovakia. The introduced Kyrgyzstan subpopulation has recently gone extinct (EBPB 1996, Pucek et al. 2004). Captive populations are well distributed in 30 different countries worldwide (see Pucek et al. 2004 for details). It occurred from sea level to 2,100 m in the Caucasus (Pucek 1986), and in the Carpathians it is presently found at alitutudes of up to 800 m (K. Perzanowski pers. comm. 2006).","In historical times, the European bison was widespread and presumably abundant in its native range. However, by the end of the 19th century it was close to extinction, with only two wild populations remaining (Pucek et al. 2004). Shortly after World War I the species was extinct in the wild, and the captive population consisted of just 54 (29 males; 25 females) European bison with proved pedigrees (Raczyński 1978, Pucek 1991), originating from 12 founder animals (Slatis 1960). The captive population subsequently increased slowly until World War II, when the species again suffered a steep decline, with the population dropping from 160 animals in 1943 to 93 in 1946 (Pucek et al. 2004).As a result of captive breeding, reintroductions, benign introductions, and intensive conservation management, the total population of free-ranging bison now stands at c.1,800. A further c.1,400 individuals live in captivity (EBPB 2004). Some captive animals are not recorded in the European Bison Pedigree Book, so this is likely to be an underestimate (Pucek et al. 2004). Population structure is such that approximately 60% of individuals are sexually mature (Krasiński 1978, Krasińska and Krasiński 2004). The effective population size is smaller than the total population size, because European bison are a polygynous species, so not all males have the opportunity to breed (Krasiński and Raczyński 1967, Krasinska and Krasiński 1995, Krasińska and Krasiński 2004). The free-living population increased more or less steadily from the mid-1960s to a peak of c.2000 in the early 1990s (Pucek et al. 2004). Following a period of decline in the mid to late 1990s, the population is once again expanding (W. Olech pers. comm. 2006), although the potential for ongoing growth is limited by a number of factors (Pucek et al. 2004). Two genetic lines are distinguished in recent populations: the Lowland line (B. b. bonasus) and the Lowland-Caucasian line (B. b. bonasus x B. b. caucasicus). There are no surviving pure-bred populations of B. b. caucasicus (Pucek et al. 2004).","Optimal habitats for the European bison are deciduous and mixed forests, but the range should include about 20% of grassland habitats (meadows) (Pucek et al. 2004, K. Perzanowski pers. comm. 2006). In Białowieża Forest (Poland) they primarily forage in moist deciduous forests, and then in mixed coniferous forests (Krasińska et al. 1987, Krasiński and Krasińska 1994). Forest complexes with a mosaic-like forest type arrangement (such as Białowieża and Borecka Forests, Poland) are most favourable. In fresh deciduous forest, European bison find food throughout the vegetative season. In the Caucasus region, European bison prefer foothill forests; in summer, they feed on alpine meadows (Kazmin and Smirnov 1992, Kazmin et al. 1992). However, considerable plasticity of European bison with regard to food means they also forage in habitats where coniferous forests predominate (Krasiński et al. 1999). All European bison populations inhabit ranges that include open areas, such as mown meadows, deforested feeding glades covered with grass, clear cuts and young plantations up to 10 years old (Dzięciołowski 1991, Krasińska and Krasiński 1994, Krasiński et al. 1999). The attraction of open areas results from the fact that meadows and glades provide ungulates with much more food than the same area of the forest herb layer and food is more easily available there (Korochkina and Bunevich 1980, Kazmin et al. 1992). The species had an important role in the formation of the prehistoric European broad-leaf forest and forested steppe ecosystems (Pucek et al. 2004).","Habitat degradation and fragmentation due to agricultural activity, forest logging, and unlimited hunting and poaching were the primary reasons for the decrease and extinction of European bison populations. Pucek (1991) has summarised the history of their extinction. Among the primary reasons for the rapid decrease of the European bison population in Białowieża Primeval Forest at the beginning of 19th century was the over-population of deer species, and the drastic reduction of natural food resources for herbivores which resulted (Wróblewski 1927). During the period of World War I and the Russian Revolution of 1917, conflict and heavy poaching exacted a severe toll on remaining populations (Pucek et al. 2004). Conflict and political instability continues to be a threat to the species in the Caucasus, where reintroduced free-living herds have suffered very severe losses (leading to extinctions) in recent years (Pucek et al. 2004). Other current threats include lack of appropriate habitat, fragmentation of populations (and concomitant loss of genetic diversity), inbreeding depression, disease, hybridization, and poaching. There is little space for a large herbivore such as the European bison in Europe's contemporary ecosystems, especially in the west. The most significant limit for the enlargement of European bison populations is human population density; forestry and agricultural activity is not a limiting factor. Fragmentation and isolation of free-ranging (and captive) herds result in little or no exchange of genetic material. Small isolated populations quickly lose their genetic heterogeneity and are more vulnerable to extinction (Franklin 1980). As yet, the opportunity to reconstruct a more compact geographic range to facilitate migration of bison between herds does not exist. As a consequence of passing a dramatic bottleneck (the current population descends from just 12 founder animals), the gene pool is limited and animals are highly inbred. The average inbreeding coefficient is very high compared to other large mammals, and is equal to 44% in the Lowland line and 26% in the Lowland-Caucasian line for individuals with a full pedigree (Olech 1998). The negative effects of inbreeding, manifested in the decline in reproduction rate, are more strongly pronounced in the Lowland-Caucasian line than in the Lowland line (Olech 1987, 1989, 1998). Inbreeding exerts a harmful effect on skeleton growth, particularly in females (Kobryńczuk 1985), and possibly lowers the resistance of bison to disease and pathologies.Diseases appearing in European bison populations can bring serious threats to the whole species. It is not certain whether the species has always shown a weak resistance to disease or if immunity has declined, due to limited genetic heterogeneity. The most important disease affects the male reproductive organs and is manifested in the inflammation of the penis and prepuce, leading to diphtheroid-necrotic lesions, diagnosed as balanoposthitis. This disease was discovered at the beginning of the 1980s in Białowieża Forest (Kita et al. 1995, Piusiński et al. 1997, Jakob et al. 2000); although similar symptoms had been reported earlier (Korochkina and Kochko 1982) in Russia and Ukraine (Krasochko et al. 1997). Despite many years of study, its pathogenesis has not yet been elucidated. Other diseases that are potentially major threats to herds include foot-and-mouth disease Aphte epizooticae (to which the species is known to be sensitive) (Podgurniak 1967), and tuberculosis (Żórawski and Lipiec 1997, Welz et al. 2005) .A particular problem concerning the management of extant populations of European bison is the existence of hybrid herds, especially European × American bison hybrids living in the Caucasus. Two free-living hybrid herds have been established in the Caucasus Mountains, in close proximity to reintroduced free-living herds of the pure blood Lowland-Caucasian line. There are fears that all these animals will crossbreed, creating a mixture of various genotypes. According to Russian authors, the distances between herds are not so great, but the configuration of mountain ridges and valleys make it impossible for contact between them. There are also two small semi-free herds of European × American bison hybrids in Toksove Forest Park (St Petersburg) and the Mordovia Wildlife Reserve (Pucek et al. 2004). Finally, poaching as a result of administrative disorders and a failure to enforce nature conservancy law threatens free-living herds of European bison in many countries.","The species is listed in Appendix III (protected fauna species) of the Bern Convention, and on Annexes II* and IV of the EU Habitats & Species Directive. The European Bison Pedigree Book has been developed, which registers and publishes lists of European bison, enabling the genetic purity of the species to be maintained. A Conservation Action Plan for the species has been published (Pucek et al. 2004), and most countries in which the species occurs have national management plans. The European Endangered Species Programme (EEP) for zoos was established by the European Association of Zoos and Aquaria (EAZA) in 1996, and now a third of the captive population is participating in this programme. Conservation measures recommended in the 2004 Action Plan (Pucek et al. 2004) include the following:1. Continue captive breeding, following a coordinated programme that focuses on maintaining genetic variability. Hybridization between existing breeding lines (Lowland and Lowland-Caucasian) should be avoided, as should hybridization between European bison and American bison Bison bison.2. Establish a Gene Resource Bank (semen collection in the first phase) to serve as a safeguard against loss of important genetic diversity.3. Continue reintroductions and benign introductions, into forests and other ecosystems (including large tracts of land where human activities are abandoned, such as former farmland or military training grounds). A target of 3,000 free ranging animals of each genetic line is recommended as a management goal. It will be necessary to link isolated subpopulations (e.g. by creating habitat corridors) and restore metapopulation function to enable the population to be self-sustaining in the long term.4. Regulate bison populations by culling, when necessary, to prevent populations exceeding the carrying capacity of remaining habitat.5. Manage habitat appropriately, for example by creating watering places, and cultivated meadows or feeding glades for use by other ungulates. 6. Implement and enforce stricter regulations to control poaching.7. Continue producing the European Bison Pedigree Book, and expand its scope.8. Establish an International Bison Breeding Centre, to coordinate reintroductions, monitoring of captive and free-ranging herds, and genetic management of particular herds.9. To promote protection of the species, upgrade it to Appendix II (strictly protected fauna species) of the Bern Convention.Further details, as well as recommended research activities, can be found in Pucek et al. 2004.",Wanda Olech (Bison Specialist Group) -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BOVIDAE,Bos primigenius,See Gentry et al. (2004) and Wilson and Reeder (2005) for the debate about the correct name for this species.,No,No,EX,,EX,,"The species Bos primigenius is considered Extinct. It went extinct across most of Europe before 1500 A.D., but persisted in Poland until the 1600s.",-,"Bos primigenius was Extinct in the Wild, except in Jaktorowka Forest, Masovia, Poland, by the start of the 15th century. The last wild individual is reputed to have died in 1627 (Wilson and Reeder 2005). It is distributed worldwide under domestication (as Bos taurus), and feral populations have become established in Australia, New Guinea, USA, Colombia, Argentina and many islands, including Hawaiian, Galapagos, Dominican Republic/Haiti, Tristan da Cunha, New Amsterdam and Juan Fernandez Islands, and the United Kingdom (Chillingham cattle). Its native range encompassed parts of Europe, Africa and the Middle East (Wilson and Reeder 2005).",,Presumably in grasslands.,,,Alexei Tikhonov -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BOVIDAE,Capra hircus,"The domestic goat and the wild goat are treated here as separate species (following inter alia Shackleton 1997), named Capra hircus and Capra aegagrus respectively. These taxa are sometimes considered to be conspecific, in which case the name Capra aegagrus has generally been used to refer to the wild species and its domesticated form, although some authors use the name Capra hircus for both the wild species and its domestic descendants (see Gentry et al. 1996, BZN 2003, Gentry et al. 2004 and Wilson and Reeder 2005).""Wild goats"" and ""wild sheep"" found on Mediterranean islands are generally recognised to have been introduced by humans (Shackleton 1997, Wilson and Reeder 2005), and genetic and archaeozoological studies suggest that they are feral populations of ancient domestic stocks (e.g. Groves 1989, Vigne 1994, Hiendleder et al. 1998, Manceau et al. 1999, Kahila bar-Gal et al. 2002). Consequently, such taxa should be included in the respective domestic species (Capra hircus, Ovis aries) and not as subspecies of the wild taxa (as proposed by Gentry et al. 1996, Gentry et al. 2004, and Gippoliti and Amori 2004).",No,No,NA,,NA,,"This Red List rationale refers only to anciently introduced populations of ""wild"" goats on Majorca and certain Greek islands. As they are considered to be feral descendants of early domestic stock, they are classed as Not Applicable (NA). The total population of these animals is >20,000, and although the range is small (Area of Occupancy may be less than 2,000 km2) and there are problems in parts of the range with hybridization with domestic goats and poaching, the population trend overall is believed to be stable or increasing. However, the Cretan subpopulation (subspecies cretica) has a very restricted range (the National Park is about 50 km2 and can be considered as a single location) and is threatened by hybridization. These ancient feral form are of interest as ""living fossils"", representing the very earliest domestic stock little changed from its primitive state, and deserve protection.",-,"This Red List assessment refers to populations of Capra hircus that were introduced to Mediterranean islands in prehistoric times, known as Cretan or Majorcan ""wild"" goats, or as agrimi (Cretan populations only). These feral descendants of primitive domestic stock are clearly distinct from modern domestic and feral goats, and are of conservation interest as ""living fossils"" and repositories of important genetic diversity (Shackleton 1997). More recent feral populations are not considered here; neither are domestic Capra hircus.""Wild"" goats can be found in mountainous areas in northern and western Majorca (Spain), and on Crete (Greece) where they were formerly widespread but are now restricted to an area of approximately 72 km2 in the Lefka Mountains at the western end of the island. There is a small, semi-captive population on the small (68 ha) satellite island of Theodorou (Shackleton 1997, Palomo and Gisbert 2002). Populations on the Greek islands of Dia, Agii Pantes (Agii Apostoli), Erimomilos (Antimilos), Samothrake, Gioura and others, are all considered hybrids of ""wild"" and modern domestic or feral goats (Shackleton 1997), as are populations in the Czech Republic (Pedrotti and Lovari 1999). There are genetic and morphological differences between the Cretan and Majorcan populations (Seguí 2005). The species occurs from sea level to 1,450 m (Palomo and Gisbert 2002).","The 1985 Cretan population was estimated to be around 500 agrimi, and together with those on Theodorou island, make a total population of at least 570 to 600 agrimi in Europe at that point (Shackleton 1997). More recent population estimates vary widely, but some are as large as 2,000 individuals (G. Giannatos pers. comm. 2006). It occurs at high densities in at least parts of its range on Crete, although its total range is very small. In 1998 a census of Majorca found 20,000 individuals (Palomo and Gisbert 2002), although this included hybrids and feral domestic goats (B. Seguí pers. comm. 2007). The current (2007) estimate of the Majorcan wild goat population is 1,500-2,000 individuals, out of a total of 10,000 including hybrids and feral descendants of modern domestic goats (B. Seguí pers. comm. 2007).","Agrimi inhabit mountainous areas, where there is a mixture of rocky outcrops or scree slopes and vegetation (shrubby maquis thickets or conifer forests). They tend to be found in relatively arid habitats, and are herbivorous, feeding on grasses, herbaceous plants and shrubs (Pedrotti and Lovari 1999).","For the Cretan population, the greatest threat is hybridization with recently feral domestic goats that are common even within Samaria National Park. Other problems arise from increased road accessibility, which in turn increases tourism and poaching problems. In Majorca, hybridization with feral domestic goats is again the main threat (Palomo and Gisbert 2002).","It is listed (as Capra aegagrus) on Appendix II of the Bern Convention and Annexes II and IV of the EU Habitats and Species Directive (natural populations only). On Crete it is fully protected under national law, which is well enforced. Part of the agrimi's distribution on Crete falls within Samaria (Lefka Ori or White Mountains) National Park. There are no current management plans in operation other then an attempt to control poaching. Agrimi inhabiting Theodorou island also receive protection. Shackleton (1997) proposes the following measures for agrimi on Crete: 1) Establish a strict control program to eliminate feral goats inside Samaria National Park to remove the threat of hybridization with the agrimi. Only reducing or eliminating the herds of domestic goats from the surrounding areas will prevent their immigration into the Park. 2) Continue improving the control of poaching by regularly patrolling the Park during winter, and by allowing no further increases in access. 3) Impose greater controls on tourism developments in the Park. These should include banning the development of major tourist facilities (chair/ski lifts, hotels, restaurants, roads, etc.) in the mountain regions of the Park and its surroundings, and strictly controlling visitor use (e.g. specific hours of use enforced, no overnight use of the Park). 4) The population should be censused and the area surveyed regularly throughout the Lefka mountains, paying special attention to the degree of hybridisation and human encroachment. 5) Overall, it may be desirable to eradicate domestic x wild goat hybrids, unfortunately F1 hybrids are difficult to distinguish from agrimi in either external appearance or behaviour. (However, compared to agrimi, the hybrid' s coat appears to be slightly longer and interspersed with black hairs, the horns are curved outwards a little more and are more robust, and the resting tail is held more horizontal than downwards.) 6) Determine the degree of hybridization of the goats found on the various islands to help direct conservation management decisions. On Majorca, the wild goat has been studied since 2001 and several groups have been protected in fenced areas and captive-bred (B. Seguí pers. comm. 2007). Palomo and Gisbert (2002) recommended that selective hunting should be used to remove the hybrids from the population. Since 2006, hunting of pure-bred animals has been banned (Decret 91/2006, Balearic Government) but hunting of hybrids amd recent feral domestics goats is allowed and encouraged. Trophy hunting of Mallorcan wild goats will be allowed again once populations have reached target levels stated in Decret 91/2006. To prevent poaching, capturing alive animals for trade, and illegal hunting of hybrids for commercial purposes, the Balearic Government is collaborating with SCI and Junta Nacional de Homologación de Trofeos de Caza, MMAM, Spanish Government (B. Seguí pers. comm. 2007).","Giorgos Giannatos, Juan Herrero, Sandro Lovari" -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BOVIDAE,Capra ibex,,Yes,No,LC,,LC,,"This species is listed as Least Concern in view of its wide distribution, presumed large population, and because it is not declining at nearly the rate required to qualify for listing in a threatened category. The species needs conservation action to prevent future decline.",Possibly Favourable,"The Alpine ibex is endemic to Europe, where its native range is the Alps of France, Switzerland, Austria, Germany, and northern Italy (Shackleton 1997; Grubb, 2005). It has been introduced to Slovenia and Bulgaria (Pedrotti and Lovari 1999). The ibex was driven very close to extinction in the early 19th century, and with the exception of the population in the Gran Paradiso National Park (Italy), all current populations originate from re-introductions or introductions. Although the range of the ibex has increased over the last century as a result of translocations and natural colonisation, its distribution is still rather patchy in the Alps. It occurs from 500 to 3,000 m (Pedrotti and Lovari 1999).In Austria, all current populations originate from re-introductions, although not always into former or even suitable habitat. The first colony was re-established in 1924 in the Bluhnbach valley (Hagen mountains), and the second in 1936, farther east in Wildalpen, so that by 1988, ca. 740 ibex had been released (Bauer, 1991). By the 1990s, the species is now found in the Bhihnbach valley (Hagen mountains), in the Northern Limestone alps in Wildalpen, and in the Pitz and Kauner valleys of Tyrol, and in the Styria (Hochlantsch massif). In France, it is found mainly in the eastern part of the Alps. Four ibex populations had been re-established in Germany by the 1990s. The first introduction was made at Koenigsee (Berchtesgaden) in 1936 with 24 animals. The founding animals came from the Aosta valley (Italy), from Peter and Paul, and from the Berlin and Munich Zoological Gardens. The animals dispersed after a few years to the Austrian Bluebachtal. In 1951, the population was reduced considerably after an outbreak of sarcoptic mange, but since then numbers have increased slowly. The population straddles the German-Austrian border, wintering in Austria and summering in the Bavarian Alps in Germany. A second population was established at Jachenau, partly the result of immigration of one male from the Austrian colony at Baechental, supplemented by four animals from Swiss founder populations in 1967. After the addition of several more ibex, this population increased to about 100 animals by the 1990s; however, its range is very restricted and there is little potential for expansion. A small colony in Oberaudorf was the result of a re-introduction in 1963 which failed to disperse. It is now restricted to an area of about 100 ha, and foresters consider it a problem because of range over-use. Another small, restricted population became established through natural dispersal from Austria, but its size is unknown. Ibex were introduced into the Rila mountains of Bulgaria (Atlas of the Mammals of Bulgaria) in the mid-1980s. In Italy, re-introductions, combined with some spontaneous migration from adjoining countries (Peracino and Bassano, 1986; Tosi et al., 1986a), have increased areas with ibex, but its distribution is still rather discontinuous in the Alps.","After centuries of decline caused primarily by intensive hunting, at the beginning of the 19th century at most a few hundred Alpine ibex survived in the Gran Paradiso massif (Valle d’Aosta region, Italy). Current ibex populations in the Alps are generally restricted to mountain areas above the tree line and are the result of both translocations from the original core of c.100 individuals and natural colonisation (Dupré et al. 2001). These efforts, together with spontaneous migration from adjoining countries, have increased the population and the number of areas inhabited by ibex, although the distribution is still discontinuous (Stüwe and Nievergelt 1991, S. Lovari pers. comm. 2006). In the 1990s it was estimated that c.30,000 ibex lived in the Alps (Pedrotti and Lovari 1999). Populations grew steadily from the 1960s to the 1990s, showing a mean annual growth rate between 3% and 6% (Dupré et al. 2001). About 15,000 ibex were estimated in Switzerland, 9,700 in Italy, 3,200 in Austria, 3,300 in France, 250 in Slovenia and, and 220 in Germany (Shackleton 1997).","Alpine ibex typically inhabit open, rocky habitats at high altitude, above the tree line. Steep, south-facing slops with rugged topography and grassy vegetation are preferred. Below the tree line, at subalpine levels, ibex are only found in open, sunny woodland interspersed with rocky outcrops (Nievergelt and Zingg 1986, Pedrotti and Lovari 1999). Ibex feed on alpine grasses, herbaceous plants and shrubs (Pedrotti and Lovari 1999). This species is diurnal, but most active during the early morning and late afternoon. Living in montane pastures, they eat grasses and some woody plants. They migrate seasonally to different altitudes, spending the harsher winter months at medium elevations. The animals occur in maternal herds of 10-20 members, while males roam solitarily or in bachelor groups. Females gestate for about 170 days, and usually carry one kid per pregnancy. Females are sexually mature by 18 months, and males are mature at 2 years. The species lifespan is typically 10-14 years.","Although the species is not considered threatened at present, there is concern regarding genetic diversity, the founder effect and minimum viable populations (Shackleton 1997, Maudet et al. 2002). Genetic variability in ibex populations is among the lowest reported from microsatellites in mammal species, and the Alpi Marittime–Mercantour population in particular has suffered from a severe genetic bottleneck associated with its reintroduction (Maudet et al. 2002). The ibex's distribution remains fragmented and many colonies are small and thus vulnerable to epizootics and stochastic events as well as inbreeding depression. Colonies with >60 individuals are believed to be viable as long as diseases (most importantly mange) do not affect them (Shackleton 1997, EMA Workshop 2006). Hybridization can be a threat where populations are small and sympatric with high densities of domestic goats, as is the case in Italy (Randi et al. 1990, Pedrotti and Lovari 1999). High densities of domestic goats and sheep may also have a negative impact on the ibex through parasite and disease transmission and resource competition (Shackleton 1997, J. Herrero pers. comm. 2006). Appropriate habitat for the species may be decreasing, as the abandonment of traditional agriculture means that high-altitude alpine meadows are reverting to forest through natural succession (EMA Workshop 2006). Human disturbance as a result of increased tourism and recreation is suspected to be a general threat to mountain ungulates (Shackleton 1997). Alpine ibex are legally hunted in some areas (e.g. Bulgaria, Switzerland, Austria, Slovenia), although hunting is completely prohibited in several range states (Shackleton 1997). Legal hunting is not considered a threat if it is properly planned and regulated, but poaching is a potential threat (Dupré et al. 2001).","The Alpine ibex is listed on Appendix III of the Bern Convention and Annex V of the EU Habitats and Species Directive, and is protected under national legislation in most range states. It occurs in a number of protected areas (e.g. Hohe Tauern and Kalkhochalpen National Parks, Austria; Vanoise, Ecrins, and Mercantour National Parks, France; Gran Paradiso and Stelvio National Parks and Maritime Alps Natural Park, Italy), and it has been the subject of intensive conservation management in the form of reintroductions and introductions (Shackleton 1997). Reintroductions began at the end of the 19th century in the Swiss Alps, while in Italy they have been significant only since the 1970s (Dupré et al. 2001).According to Shackleton (1997) and Dupré et al. (2001), the main proposal for ibex conservation is to continue restocking populations in appropriate habitats. Reintroductions should also be carefully planned, e.g. by (1) Using environmental evaluation models for selecting areas for reintroducing ibex, in conjunction with (2) a conservation strategy that aims to make the separate colonies part of a single metapopulation; (3) Giving priority to protected areas, or to other areas capable of guaranteeing efficient surveillance against poaching and disturbance (although this does not mean that controlled hunting areas should be a priori excluded); (4) Selecting founder individuals for new colonies according to specific criteria; (5) Limiting domestic sheep and goat grazing in reintroduction areas to decrease the possibility of parasite and disease transmission, resource competition, and hybridization; and (6) Screeing reintroduction sites for suitability in relation to health and disease transmission.Other conservation recommendations include ensuring that any harvest is sustainable (through research, legislation, and international cooperation), reducing poaching (through legislation, enforcement, education and communication), reducing the impacts of human disturbance (e.g. by providing refugia in areas with intense tourism), and monitoring all populations.","Aulagnier, S., Kranz, A., Lovari, S., Jdeidi, T., Masseti, M., Nader, I., de Smet, K. & Cuzin, F." -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BOVIDAE,Capra pyrenaica,,Yes,Yes,LC,,LC,,This species is now abundant and its range and population are currently expanding as a result of habitat changes resulting from rural abandonment. Consequently it is assessed as Least Concern. Hunting reservations and protected areas have played a crucial role in species recovery.,Possibly Favourable,"This species historically occurred throughout the Iberian peninsula, including southwest France, Spain, Andorra, and Portugal (Grubb, 2005). It is, however, extinct in the northern part of its range (including in France and Andorra), and no longer occurs in the Pyrenees. Capra pyrenaica is now endemic to the Iberian peninsula. Of the four described subspecies, only two are extant: C. p. victoriae and C. p. hispanica. C. p. victoriae occurs in the central Spanish mountains (Sierra de Gredos), and has been re-introduced to a number of additional sites in Spain (Batuecas, La Pedriza, Riaño) and northern Portugal (Peneda-Gerês National Park) (Palomo and Gisbert 2002, Cabral et al. 2005, Moço et al. 2006, J. Herrero pers. comm. 2006). C. p. hispanica occupies the arc of mountains that run along the Mediterranean coast, from the Ebro river to the rock of Gibraltar (where it no longer occurs), as well as the Sierra Morena. C. p. lusitanica died out at the end of the 19th century, and C. p. pyrenaica went extinct in 2000 when the last known individual was found dead (Pérez et al. 2002, Cabral et al. 2005, J. M. Pérez pers. comm. 2006). It formerly occurred throughout much of the French, Spanish and Andorran Pyrenees, and persisted until recently in Ordesa and Monte Perdido National Park in the Maladeta massif. The species is found from sea level to 3,400 m (Palomo and Gisbert 2002).","The population in the whole of the Iberian peninsula was estimated at c.50,000 individuals in more than 50 subpopulations (Palomo and Gisbert 2002, Pérez et al. 2002). Subpopulations include those of the Sierra Nevada (16,000 individuals), Sierra de Gredos (8,000 individuals), Maestrazgo (7,000 individuals), Serranía de Ronda and Sierras de Grazalema (4,000 individuals), Puertos de Tortosa y Beceite Natural Park (4,000 individuals) Cazorla (2,500 individuals), Sierra Tejeda y Almijara (2,500 individuals), Sierras de Antequera (2,000 individuals), Sierra Morena (2,000 individuals) and Muela de Córtes (1,500 individuals) (Pérez et al. 2002, J. Herrero and J. M. Pérez pers. comm. 2006). Numbers have expanded dramatically since the early 1990s, when the total population was estimated at c.7,900 individuals (Shackleton 1997), and continue to increase. Its range is expanding in Spain and into Portugal (Cabral et al. 2005). In 2003 the Portuguese population consisted of a minimum of 75 individuals. (Moço et al. 2006).","It occurs in rocky habitats. Even small rocky patches in arable farmland and on the coast may be used, although cliffs and screes interspersed with scrub or pine trees are the most typical habitats. It often lives in very close proximity to humans, and is a familiar and popular species. It disperses readily and can rapidly colonise new areas if appropriate habitat is available. It is an important trophy-hunting species, with some trophy prices exceeding EUR 2,000 (J. Herrero pers. comm. 2006). Hunting can be an important source of revenue to local communities in rural areas. The species can sometimes be an agricultural pest, causing damage to almond trees (J. Herrero pers. comm. 2006).","No threats are causing population or range declines at present - indeed the species is expanding. However, alteration and fragmentation of habitats (through agriculture, forestry, fires, and infrastructure development) may impact upon certain Capra pyrenaica populations, and competition with the introduced the aoudad (Ammotragus lervia) might become a conservation problem in the near future (Cabral et al. 2005, J. M. Pérez pers. comm. 2006). The aoudad was introduced during the 1970s in southeastern Spain, and recently an important range expansion of this exotic ungulate has been reported (Cassinello et al. 2004); competition between these two ungulate species can be expected. The impact of hunting (predominantly for trophies) has not been scientifically assessed (J. M. Pérez pers. comm. 2006), but the poaching of large dominant males might alter gene flow (J. Herrero pers. comm. 2006). However, hunting levels are broadly under control. Outbreaks of mange (Sarcoptes scabiei) occur sporadically and have caused at least one major population crash (Shackleton 1997, Palomo and Gisbert 2002). Wild goats are occasionally killed by accident during wild boar hunting-drives with dogs (J. Herrero pers. comm. 2006). Previously, the population was kept low by competition with domestic livestock, which restricted wild goats to marginal habitats. The causes of C. p. pyrenaica' s demise are unknown, but there are a number of hypotheses including competition for food with chamois, inbreeding depression, parasite infections from domestic livestock, climatic conditions, poaching, and low fertility due to plant secondary compounds (Shackleton 1997). The last remaining individual, a 13-year-old female, was killed by a falling tree.","The species is protected under Appendix III of the Bern Convention and Annex V of the EU Habitats and Species Directive. It is listed as Critically Endangered in Portugal, owing to its very small population in that country (Cabral et al. 2005). C. p. victoriae occurs in Sierra de Gredos, las Batuecas and Riaño Hunting Reserves and Manzanares Natural Park. C. p. hispanica occurs in a number of protected areas, including Sierra de las Nieves, Sierra de Grazalema, Sierra Nevada, and Sierra de Tajada y Almijara, Puertos de Tortosa y Beceite, and Muela de Cortes. However, most of the range occupied by wild goats is outside protected areas. Conservation measures proposed include establishing additional populations of C. p. victoriae in other areas to strengthen its conservation status by reducing the possibility of an epizootic or some other catastrophe wiping out, or severely depleting, the present small population. When establishing new populations, founder effects should be considered, and sufficient numbers of animals should be introduced to maintain genetic diversity (J. Herrero pers. comm. 2006). Measures should be taken to reduce poaching (Cabral et al. 2005), and the impact of hunting should be scientifically assessed.","Herrero, J. & Pérez, J.M." -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BOVIDAE,Ovis aries,"The domestic sheep and its wild ancestor the urial are treated here as separate species (following inter alia Shackleton 1997), called Ovis aries and Ovis orientalis respectively. These taxa are sometimes considered to be conspecific, in which case the name Ovis orientalis has generally been used to refer to the wild species and its domesticated form, although some authors use the name Ovis aries for both the wild species and its domestic descendants (see Gentry et al. 1996, BZN 2003, Gentry et al. 2004 and Wilson and Reeder 2005).""Wild sheep"" and ""wild goats"" found on Mediterranean islands are generally recognised to have been introduced by humans (Shackleton 1997, Wilson and Reeder 2005), and genetic and archaeozoological studies suggest that they are feral populations of ancient domestic stocks (e.g. Groves 1989, Vigne 1994, Hiendleder et al. 1998, Manceau et al. 1999, Kahila bar-Gal et al. 2002). Consequently, such taxa should be included in the respective domestic species (Capra hircus, Ovis aries) and not as subspecies of the wild taxa (as proposed by Gentry et al. 1996, Gentry et al. 2004, and Gippoliti and Amori 2004).",No,No,NA,,NA,,"This Red List rationale refers only to anciently introduced populations of Ovis aries on Mediterranean islands. As they are considered to be feral descendants of early domestic stock, they are classed as Not Applicable (NA). These ancient feral form are of interest as “living fossils”, reperesenting the very earliest domestic stock little changed from its primitive state, and deserve protection.",-,"This Red List assessment refers to populations of Ovis aries that were introduced to Mediterranean islands in prehistoric times, known as mouflon. These feral descendants of primitive domestic stock are clearly distinct from modern domestic and feral sheep, and are of conservation interest as ""living fossils"" and repositories of important genetic diversity (Shackleton 1997). More recent feral populations, and recently-introduced populations of ancient feral forms, are not considered as part of the population for the purposes of the assessment; neither are domestic Ovis aries.The mouflon was introduced in prehistoric times to Corsica, Sardinia and Cyprus. Since the middle of the 18th Century it has been introduced to many parts of Europe and populations have become established in many countries including Spain, France, Belgium, Luxembourg, Germany, Denmark, Italy, Austria, Switzerland, Slovenia, Croatia, the Czech Republic, Slovakia, Poland, Romania, Bulgaria, Lithuania, Bosnia and Herzegovina, Macedonia, Serbia and Montenegro, Ukraine, and the Canary Islands (Röhrs 1999). These introduced mainland populations are patchily rather than continuously distributed. In Corsica it is found from sea-level to above 2,000 m, whereas in Cyprus it is found from sea level to about 500 m.","On Corsica it is known from two small isolated subpopulations (one in the north near Massif du Cinto and one in the south in the Bavella Reserve). There are only about 500 animals, and the population is probably stable (after a long decrease, during which the total population dropped below 100 individuals) (S. Aulagnier pers. comm. 2006). On Sardinia there are at least 5,000 head (C. Murgia pers. comm. to S. Lovari). In the western part of Cyprus, the population is more than 2000 animals and increasing (EMA Workshop 2006).","In Europe, the species inhabits Mediterranean maquis (shrubland), rocky areas, and open coniferous forest and green oak forest. It is absent from dense woodland (Röhrs 1999). Mouflon are hunted for trophies and meat.","Hunting is the most important threat, although competition and crossbreeding with domestic sheep are also threats (Shackleton 1997, S. Lovari pers. comm. 2006). However, these are not considered to endanger the species at present.","The mouflon is listed on Appendix III of the Bern Convention, and on Annexes II and IV of the EU Habitats & Species directive (populations on Corsica and Sardinia only). It is protected under national legislation in Sardinia, Corsica, and Cyprus. The Corsican population is being studied as part of an EU LIFE Project. As part of this project they are looking into increasing the population through captive breeding, and improving genetic vigour by mixing the two subpopulations (S. Aulagnier pers. comm. 2006).","Stéphane Aulagnier, Giorgos Giannatos, Sandro Lovari" -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BOVIDAE,Rupicapra pyrenaica,,Yes,Yes,LC,,LC,,"This species is currently increasing in numbers and range. It is not believed to approach the thresholds for any of the criteria for the IUCN Red List. Consequently it is assessed as Least Concern. Subspecies R. p. pyrenaica and R. p. parva are also Least Concern. However, R. p. ornata is assessed here as Vulnerable (D1+2) as it has a very small population and restricted area of occupancy. It was previously assessed in 1996 as Endangered, but as a result of strict protection and a programme of captive breeding and reintroductions, its population has increased such that it no longer meets criterion D at this level. Ongoing conservation measures are required to ensure its future survival.",Possibly Favourable,"Rupicapra pyrenaica is endemic to south-west Europe, where it occurs as three subspecies: R. p. ornata, R. p. pyrenaïca and R. p. parva (Shackleton 1997, Pedrotti and Lovari 1999). The Apennine chamois R. p. ornata now survives only in three small populations in the Abruzzo, Majella, and Gran Sasso-Monti della Laga National Parks in Italy, although earlier in the Holocene it ranged from the Sibillini mountains (Marche Region, Italy) down to the Pollino massif (Calabria Region, Italy) (Masini 1985, Masini and Lovari 1988). The isard or Pyrenean chamois R. p. pyrenaica is found in the Pyrenean mountains, along France' s border with Spain (including Andorra: C. Berducou pers. comm. 2006). The Cantabrian chamois R. p. parva occurs in the Cantabrian mountains (Spain). The altitudinal range of the species is 400-2,800 m (Palomo and Gisbert 2002).","Overall, the status of this species has greatly improved since 1990. The population and range of the Pyrenean subspecies pyrenaica increased markedly from 1989 to 2003, although there have subsequently been some declines. The 1989 estimate for the total number of R. p. pyrenaica was around 15,500 animals (Shackleton 1997), but by 2003 there were estimated to be at least 53,000 (Herrero et al. 2004). This is now (2006) likely to be an overestimate of the population, as many chamois populations have locally declined since 2004 following severe mortality caused by viral disease, and French hunting bags have reduced although hunting effort has remained steady (C. Novoa pers. comm. 2006). Densities of R. p. pyrenaica tend to be lower outside protected areas. Not all subpopulations of subspecies parva have been censused, but the population was recently estimated at c.15,000 (Palomo and Gisbert 2002). However, the Italian subspecies ornata remains very rare. Numbers of ornata have probably been low for the last few centuries, only starting to increase in the 1920s as a result of increased protection. Numbers plummeted again to just several tens of individuals in a single population in the Abruzzo National Park during World War II (Lovari 1989). As a result of conservation action, including re-introductions and the establishment of two new populations, numbers have increased and the population is currently estimated at about 1,100 individuals in three subpopulations (Mari and Lovari 2006, S. Lovari pers. comm. 2006), up from a total of c.400 individuals in the late 1980s (Lovari 1989). Not all of these are mature individuals.","The species is found in alpine meadows, rocky areas, and the forested valleys and lower slopes in mountainous regions. This species generally stays above 1,800 meters in alpine meadows during the warmer months of the year (Nowak, 1983). These animals make altitudinal migrations from the forests in the valleys to the more open alpine meadows (Pedrotti and Lovari 1999). In late fall and winter they have been known to enter lands below 1,100 meters, while usually staying on steep slopes, and rarely if ever occur in forested areas (Nowak, 1983). In recent years some populations have started to permanently inhabit forest (Mitchell-Jones et al. 1999; Herrero pers. comm. 2006).","The threats to the species vary in different parts of its range. In Italy, subspecies ornata might be vulnerable to many factors because the total number is small, there are only three subpopulations, and genetic variability is very low (Shackleton 1997, S. Lovari pers. comm. 2006). Space and food competition with livestock, especially domestic caprins, seem to be the main limiting factors for ornata . Some poaching occurs, but does not seem to impair the viability of the chamois population in Abruzzo National Park. There are currently no problems with disease for the Italian subspecies (J. Herrero pers. comm. 2006). However, in France and Spain disease is currently the most important threat. Pestivirus appeared in the Pyrenean subspecies in c. 2004, and sarcoptic mange outbreaks periodically cause local declines in the Cantabrian subspecies (J. Herrero pers. comm. 2006). In Spain and the Pyrenees, chamois coexist with domestic livestock, but there do not appear to be problems with competition; indeed in the Pyrenees the presence of domestic livestock is considered to benefit the chamois, via maintenance of young and good quality forage, which increases the carrying capacity (J. Berducou pers. comm. 2006). Most Pyrenean and Cantabrian populations are hunted (with the exception of within National Parks). Chamois is a major game species in Spain and is important socially and economically as a source of rural livelihoods. Hunting is carefully managed and revenue from hunting is returned to the local community. In Spain, regional governments set quotas, and hunting is not at an unsustainable level (J. Herrero pers. comm. 2006). In France, hunting is essentially a recreational and non-profit leisure activity, and average annual quotas are under 10% of censused populations. This is sustainable, with only a few local exceptions (C. Berducou pers. comm. 2006).","The species is listed on Appendix III of the Bern Convention and Annex V of the EU Habitats and Species Directive (as part of R. rupicapra sensu lato). In Spain, the species occurs in three national parks, at least 10 natural parks, and a number of other reserves (J. Herrero pers. comm. 2006). Spanish protected areas include Montana de Covadogna and Ordesa National Parks; Reres Natural Park; Alta Pallars-Aran, Benasque, Cadi, Cerdana, Fresser y Setcasas, Los Circos, Los Valles, Vinamala, Mampodre, Picos de Europa, Saja, Somiedo and Sueve Hunting Reserves. Spanish hunting reserves are large hunting management units with strictly controlled culling (C. Berducou pers. comm. 2006). In France, it occurs in a number of protected areas (Pyrenees-Occidentales National Park, Roc-Blanc, Moudang and Mont-Vallier Mountain Reserves, Orlu Nature Reserve and other small reserves where hunting is banned: C. Berducou pers. comm. 2006). A study of population dynamics is ongoing in France, as well as a detailed survey of the population size and distribution (C. Berducou pers. comm. 2006). In France, there is a hunting plan that is designed to correct geographic imbalances in numbers and distribution, but might be difficult to achieve. A major restoration effort was carried out in the French Pyrenees between 1981 and 2000, involving the translocation of more than 600 individuals (Herrero et al. 2004, C. Novoa and C. Berducou pers. comm. 2006). In Andorra there are a few small reserves with hunting quotas (C. Berducou pers. comm. 2006). In Italy, the autochthonous population of subspecies ornata inhabits Abruzzo National Park, and all recent and planned re-introductions and introductions are into protected areas. A group of 22 chamois was released in the Majella massif between 1991 and 1994, and more recently, 26 were re-introduced into the Gran Sasso massif in cooperation with local villagers. A captive breeding population (numbering 18 individuals in 2006: S. Lovari in litt. 2006) is kept in four large enclosures in as many national parks. No studbook has been kept, which is a major shortcoming in the captive breeding program (Shackleton 1997). The subspecies ornata is strictly protected under national and international legislation - it is listed on Appendix II of the Bern Convention, Annex II* and Annex IV of the EU Habitats and Species Directive, Appendix I of CITES, and as a “specially protected species” under Italian hunting law. A slowly increasing number of alpine meadows in the species’ range have been forbidden to livestock grazing to reduce competition. This action may generate cautious optimism about the species’ future. Proposed conservation measures include the following: 1) Consider benign introductions for a number of areas in the central and southern Apennines, once their suitability has been adequately assessed. Some national parks (e.g. Pollino, Gran Sasso-Laga, Majella and Sibillini) could in the future also host populations of the Apennine chamois. 2) When selecting individuals for transplants and captive breeding, consider Nascetti et al.'s (1985) finding of an alarming lack of genetic variability in the surviving nucleus of the Abruzzo National Park. This was most likely a result of living at low density for a long time and of population bottlenecks occurring at World Wars I and II. 3) Keep detailed breeding records, genetic profiles, and develop a studbook, for each of the captive breeding populations. 4) Avoid releasing Alpine chamois into areas of potential (re)introduction of Apennine chamois, as if such an action was carried out, it would prevent the subsequent release of the latter species (Shackleton 1997).Future priorities for the species as a whole include extending monitoring to all populations, and to increasing knowledge of demography and the impact of hunting. It is particularly important for monitoring and research to take place outside National Parks, where chamois are hunted.","Herrero, J., Lovari, S. & Berducou, C." -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BOVIDAE,Rupicapra rupicapra,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The Alpine chamois is widespread and has a large population of over 440,000 individuals. Although it is declining in some parts of its European and global range, the bulk of the population is found in the Alps and is relatively secure. Consequently it is classed as Least Concern. However, several chamois subspecies qualify as globally threatened, and require urgent conservation action.",Unknown,"The Alpine chamois is native to mountainous parts of central and southern Europe and Asia Minor, where it occurs as seven subspecies: balcanica, carpatica, cartusiana, rupicapra, tatrica, asiatica and caucasica(Shackleton 1997, Pedrotti and Lovari 1999). It has been introduced to Argentina and New Zealand. Subspecies balcanica inhabits most of the mountain regions of Albania, as well as Bulgaria's four main massifs. In Greece, it is currently restricted to 11 mountains, and comprising at least six distinct and widely scattered population groups from Mount Rodopi in the northeast and the Epirus mountains in the northwest, to Mount Giona in central Greece (Shackleton 1997). Subspecies carpatica occurs in many populations throughout the Transylvania alps and the Carpathian mountains. There have been a number of successful reintroductions (Shackleton 1997). Subspecies cartusiana is endemic to France, where it is restricted to a 350 km2 area of the Chartreuse limestone massif, centred around Grenoble, at the western edge of the French Alps. Subspecies rupicapra is found in the Alps of Austria, Germany, and eastern France, and subspecies tatrica occurs in the Tatra mountains of Poland and Slovakia. In Slovakia, it has also been introduced to the Low Tatras (Shackleton 1997). R. r. asiatica occurs in Asia Minor and R. r. caucasica has a restricted range in the Caucasus. It occurs from 500 m to 3,100 m in the Alps (Spitzenberger 2002).","The Alpine chamois is widespread and generally increasing. Excluding the Caucasus population, there are an estimated 440,000 individuals in Europe, and in some protected areas densities may exceed 20 individuals per hectare (Pedrotti and Lovari 1999, S. Lovari pers. comm. 2006). However, with the exception of the Alpine subspecies R. r. rupicapra, many subspecies are rare and/or declining: R. r. asiatica: There is very little data on the status of this subspecies, but it is believed to have undergone substantial declines (EMA Workshop 2006).R. r. balcanica: The total population numbers some thousands of individuals. Numbers are believed to be declining in all subpopulations (Shackleton 1997). R. r. carpatica: In 1990, the total population was estimated to be around 9,000 animals (Shackleton 1997).R. r. cartusiana: The population was estimated at 300 to 400 individuals in the 1970s, and 150 individuals in 1986-1987, but has since increased to c.2,000 individuals (S. Lovari pers. comm. 2006).R. r. caucasica: There is very little data on the status of this subspecies, but it is declining and has virtually disappeared outside protected areas (EMA Workshop 2006).R. r. rupicapra: This subspecies is widespread and abundant in the Alps. The number of individuals culled per year in the Swiss Alps and Jura mountains has increased steadily from c.4,000 individuals in 1950 to c.17,000 individuals in 2000 (Loison et al. 2003). R. r. tatrica: The population was estimated at 220 in 1999 (Jurdíková 2000), and had dropped below 200 by 2002 (S. Lovari pers. comm. 2006). Numbers have been declining steadily since the 1960s (Jurdíková 2000).","Alpine chamois inhabit steep, rocky areas in the mountains, utilising a variety of habitats including alpine meadows, open rocky areas, mixed broadleaf woodland, and coniferous woodland (Pedrotti and Lovari 1999). They feed on grasses and herbs, and on the leaves of trees (Sägesser and Krapp 1986).","Poaching and over-hunting may be a problem for the species in parts of its range, especially where it occurs outside protected areas and private hunting reserves (Shackleton 1997, Jurdíková 2000). Many of the less numerous subspecies (e.g. R. r. balcanica, R. r. cartusiana, and R. r. tatrica) are threatened by the deliberate introduction of subspecies from other geographic areas (especially R. r. rupicapra), leading to hybridisation and genetic swamping (Shackleton 1997). Human disturbance, particularly as a result of increased tourism and leisure activities in mountain areas, may also be a problem (Shackleton 1997, Jurdíková 2000). Competition with domestic livestock and introduced species such as the mouflon Ovis aries is a threat to the more vulnerable subspecies, although it is not considered to be a major problem for R. r. rupicapra. R. r. rupicapra does, however, suffer periodic outbreaks of sarcoptic mange, causing local population declines (Shackleton 1997). In 2006 a new disease, pestivirus, was first recorded in this subspecies (J. Herrero pers. comm. 2006). In general, habitat loss is not a major threat to the species, as much of its range falls within protected areas. However, habitat loss may be a problem in some areas (e.g. for subspecies balcanica in Albania) (Shackleton 1997). Because its population is very small indeed, subspecies cartusiana is susceptible to extinction as a result of stochastic demographic or environmental events (Shackleton 1997, S. Lovari pers. comm. 2006).","The species is listed on Appendix III of the Bern Convention. Subspecies balcanica is listed on Annexes II and IV of the EU Habitats & Species Directive, and subspecies tatrica is listed on Annexes II* and IV. Chamois occur in a number of protected areas. Subspecies cartusiana has been subject to intensive conservation management, including reintroductions. Detailed conservation recommendations are given in Shackleton (1997). In general, conservation recommendations that apply to all subspecies include ensuring that any harvest is sustainable (through research, legislation, and international cooperation), reducing poaching (through legislation, enforcement, education and awareness-raising, and provision of alternative livelihoods where necessary), reducing the impacts of human disturbance (by providing refugia in areas with intense tourism), and protecting the genetic integrity of populations (by avoiding translocations of 'foreign' subspecies that could hybridise with the local population) (Shackleton 1997). Monitoring of all subspecies is required, especially those that are rare and/or declining. To protect the High Tatras subspecies, Jurdíková (2000) recommends reducing illegal hunting (by closing and guarding parts of the western Tatra mountains). R. r. rupicapra introduced into Slovakia (e.g. the Lower Tatras National Park) should be removed as they pose a threat to the wild population of R. r. tatrica (Shackleton 1997).","Stéphane Aulagnier, Giorgos Giannatos, Juan Herrero" -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,BOVIDAE,Saiga tatarica,"Saiga tatarica is the only species in the genus Saiga. Although there is little geographical variation two subspecies are recognised: Saiga tatarica tatarica (the nominate subspecies, to which belongs the majority of the population) and Saiga tatarica mongolica (endemic to western Mongolia).",No,No,CR,A2a,NE,,"European regional assessment: Critically Endangered (CR)EU 25 regional assessment: Not Evaluated (NE)Both the global and European regional populations have shown an observed decline of over 80% during the last 10 years. The decline is continuing, and severely skewed sex ratios are leading to reproductive collapse. Consequently the saiga is assessed as Critically Endangered.",-,Saiga tatarica inhabits the steppes and semi-desert regions of southeastern Europe and Central Asia. Currently found at one location in Russia and three areas in Kazakhstan. A distinctive subspecies occurs in Mongolia.,"Historically, it was a common species in Eurasian steppes and semideserts. From information provided in recent references it appears that between 1991 and 1994, the global population of S. tatarica was relatively stable at just under one million animals, the majority of which were in Kazakhstan (approximately 810,00-825,000) (Bekenov et al. 1998, Lushchekina et al. 1999, Sokolov and Zhirnov 1998). Recent information from A.B. Bekenov and Iu. A. Grachev (in litt. to IUCN Species Survival Commission 1999) suggests that the population in Kazakhstan had fallen by spring 1998 to around 570,000 animals (a decline of ~30%). The global population is now c.50,000, down from 1,250,000 in the mid-1970s. Most are found in Kazakhstan.In European Russia (Kalmykia), the saiga population steeply declined after land reclamation of the Volga basin started, but the species remained numerous within the distribution area. In the 1970s the population recovered to c.700-800,000 as a result of hunting regulation. However, since then the population has drastically declined. In 1980 there were an estimated 380,000 individuals, in 1996 196,000, and by 2000 just 26,000 (see Milner-Gulland et al. 2001 for annual survey results for 1980-2000). At present there are no more than 18,000 animals. Sex ratio is severely skewed; the proportion of males varies from 1 to 10 % in different years.","Inhabits arid steppes and semi-deserts. Prefers clay soil open spaces covered with grass and avoids rugged terrain as well as sandy areas. A migratory species with widely separated summer (northern) and winter (southern) ranges. Lives in large herds, usually up to thousand individuals. Heat is at the beginning of winter when males defend harems of females. Gives birth in April-May to two, more seldom to one calf.","Uncontrolled illegal hunting for horns (male horns are exported for the traditional Chinese medicine trade) and meat since the break-up of the former USSR has led to the catastrophic fall in numbers. Selective hunting of young males and subsequent distortion of the sex ratio has affected reproduction: recent research shows that heavily skewed sex ratios are resulting in reproductive collapse (Milner-Gulland et al. 2003). A second significant threat is the destruction of key habitats and traditional migration routes. Agricultural abandonment is a problem in some areas; cattle grazing formerly maintained the grassy species but land abandonment allows another species (Stippa sp.) to encroach, which the saiga cannot eat. The recent increase in steppe fires is a further cause for concern. Severe winters can cause mass mortality.","Legislation protecting saiga exists at national level but increased enforcement, and especially external funding for anti-poaching measures and linked rural development are urgently needed. Some protected areas exist within saiga range but distance between summer/winter ranges of the various populations hinders full protected area coverage. Extension of already existing and new protected areas is under discussion by the Russian Federation government. Some research is being carried out on numbers, range and behaviour. Total prohibition of saiga meat and horn trade as well as temporary removal of saiga from the hunting animals list have been proposed as key conservation measures.","Global assessment by D.P. Mallon (IUCN SSC Antelope Specialist Group), regional assessment by European Mammal Assessment team." -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,CERVIDAE,Alces alces,,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)Listed as Least Concern as the species is still very widespread and extremely abundant despite fairly intense hunting pressures in parts of its range. It is expanding its range in places and is tolerant of secondary habitat.,Possibly Favourable,"Alces alces has a large range extending from Norway through northern and central Europe, northern Russia, Alaska, and Canada to Newfoundland (Canada) and Maine (USA) (Corbet 1978, Bauer and Nygrén 1999, Wilson and Ruff 1999). In Europe, it has a continuous distribution extending through Norway, Sweden, Finland, Russia, the Baltic states, Belarus, Poland and northern Ukraine. There was a small population in northern Austria which is now extinct (although there may still be occasional migrants). There are three isolated subpopulations in southern Czech Republic, and the species is occasionally recorded in Germany, Croatia, Hungary and Romania. It has been extending its range southwards along the rivers into the northern Caucasus lowlands. It ranges from sea level up to at least 1,500 m in Europe (H. Henttonen pers. comm. 2006), and up to 2,500m in the Altai mountains of Central Asia (Nygrén 1986).","It is a widespread and abundant species. Numbers have increased markedy in Scandinavia in recent decades, and the range is expanding in the Caucasus (EMA Workshop 2006). The global population is in the region of 1.5 million individuals, and the European population is in the order of 0.5 million. European populations show fluctuations over a multi-year cycle (Bauer and Nygrén 1999). Population estimates for European countries include the following: Czech Republic - maximum of 50 animals, Estonia - 10,000 individuals, Finland - at least 110,000 individuals (60-80,000 shot annually), Poland - 2,800 individuals, Sweden - 340,000 individuals (EMA workshop 2006, Ruusila and Kojola in press).","Alces alces is found in a range of woodland habitats, both coniferous and broadleaved, from the tundra and taiga southwards through boreal to temperate zones. It tends to prefer damp, marshy habitats and areas in close proximity to water. It is also found in open country in the lowlands and mountains, including farmland, if there is forest nearby. It thrives in secondary growth, and its population expansion in Scandinavia has been linked to the replacement of natural taiga forest by secondary woodland after logging (Bauer and Nygrén 1999). It feeds on vegetative parts of trees, shrubs, dwarf shrubs, herbs, and aquatic plants, and is a pest of agriculture and forestry in at least parts of its range (Ruusila and Kojola in press). The species has seasonal movements in parts of its range, particularly in northern Europe.","There are no major threats to this species at present. A wasting disease has been reported, and its causes remain poorly understood (Frank 2004), but it is not considered to be a serious problem for the species. Overexploitation caused significant population declines and range contractions in the 18th and 19th centuries, but since then populations have recovered (Ruusila and Kojola in press, Bauer and Nygrén 1999). In most European range states, populations are controlled to prevent damage to forestry and arable crops (Bauer and Nygrén 1999).","It is listed on Appendix III of the Bern Convention. It occurs in a large number of protected areas across its range (Wemmer 1998, EMA Workshop 2006). The species is subject to intense management in some countries through hunting quotas (e.g. in Finland: Ruusila and Kojola in press). It is protected under national legislation in a number of countries (e.g. Germany).","Heikki Henttonen, Andreas Kranz, Michael Stubbe, Tiit Maran, Alexei Tikhonov" -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,CERVIDAE,Capreolus capreolus,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A widespread and common species with no major threats. It is listed as Least Concern. However, subspecies C. c. italicus is rare (<10,000 mature individuals) and faces serious threats.",Possibly Favourable,"The roe deer has a large range in the Palaearctic. It is found throughout most of Europe (with the exception of Ireland, Cyprus, Corsica, Sardinia, Sicily, and most of the smaller islands), including western Russia (Stubbe 1999). Outside Europe, it occurs in Turkey, Syria, Iraq, Iran, and the Caucasus (Wilson and Reeder 2005). It is extinct in Israel and Lebanon (Wilson and Reeder 2005). It occurs from sea level to 2,400 m in the Alps (von Lehmann and Sägesser 1986).","It is widespread and common, and is expanding in many areas. Densities in the northern and southern parts of the range tend to be lower than in the central parts of the range. The central European population is estimated to number c.15 million individuals (EMA Workshop 2006). However, the endemic Italian subspecies C. c. italicus, which is largely restricted to southern Tuscany, probably numbers no more than 10,000 individuals and is at risk from hybridisation with introduced C. c. capreolus (Lorenzini et al. 2002)","It occupies a wide variety of habitats, including deciduous, mixed or coniferous forests, moorland, pastures, arable land, and suburban areas with large gardens. It prefers landscapes with a mosaic of woodland and farmland (Stubbe 1999). Roe deer are well adapted to modern agricultural landscapes (Sempéré et al. 1996).","The main threat in Europe is the increased mixing of various genetic stocks as a result of translocations. This may be a particular threat to genetically distinct peripheral populations, such as those in northern Portugal, the southern Italian Apennines, and Greece (Randi et al. 2004, Lorenzini and Lovari 2006). Molecular studies show that roe deer in central and southern Europe are mainly admixed (Lorenzini et al. 2002, Randi et al. 2004), indicating that human manipulation has greatly affected the natural genetic structure of populations. The small remaining population of C. c. italicus is also threatened by poaching and predation by feral dogs (Lorenzini et al. 2002)","The species is listed on the Bern Convention (Appendix III), and occurs in a large number of protected areas across its range. To protect remnant populations of the Italian roe deer C. c. italicus, Lorenzini et al. (2002) recommend the following measures: (1) Conduct research to determine the genetic struture of Italian roe deer, (2) Map extant populations of Italian roe deer, with indications of their genetic purity, (3) Prohibit translocations of roe deer from northern stocks to central and southern Italy, and vice versa, (4) Facilitate the expansion of remaining populations by reducing poaching and eliminating feral dogs, and (5) Establish a reintroduction plan for southern Italy. Similar actions are recommended to protect genetically distinct peripheral populations in Portugal and Greece. In general, any translocations of roe deer should respect the genetic integrity of populations at the destination site.","Juan Herrero, Jim Conroy, Tiit Maran, Giorgos Giannatos, Michael Stubbe, Stéphane Aulagnier" -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,CERVIDAE,Capreolus pygargus,"This taxon was formerly considered a subspecies of the European roe deer Capreolus capreolus. Currently three subspecies are recognised: C. pygargus pygargus Pallas, 1771 (main part of the distribution area), C.p. tianschanicus Satunin, 1906 (southern parts) and C.p. bedfordi Thomas, 1908 (eastern parts).",No,No,LC,,NE,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)A widespread and common species with no major threats. Assessed as Least Concern.,-,"The Siberian roe deer has a wide distribution in the Palaearctic. It is found in southern parts of Siberia and the Urals (to the Volga River in the west), the Russian Far East, and in the mountains of Middle Asia, Mongolia, and Northern and Eastern China. It has been recorded at altitudes of up to 3,300 m.",It is generally widespread and common across the whole distribution area. The population is stable; the species is a game animal.,"Inhabits different types of deciduous and mixed forests and forest-steppes. In summer it is solitary whereas in winter it aggregates into groups of up to 20-30 individuals. During the seasonal nomadic period it forms herds of up to 500 individuals. Polygamous, but does not form harems. Heat usually occurs from mid-July to mid-September; during this period males are territorial. Young are born in May-June; females give birth to one or two calves (rarely up to four).","There are no major threats to whole population. However, poaching might be a threat to the isolated population in the Cis-Caucasus.",The main conservation measures are regulation of hunting and maintenance of suitable habitats on hunting grounds. The majority of the Cis-caucasian population inhabits protected areas.,European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,CERVIDAE,Cervus elaphus,"In North America, wapiti Cervus elaphus are sometimes called elk. However, in Europe the name elk refers to Alces alces (known in North America as moose). Genetic studies suggest that populations on Sardinia and Corsica are closely related to the north African subspecies C. e. barbarus (Ludt et al. 2004, Pitra et al. 2004), and some authors have suggested that C. e. barbarus should be treated as a distinct species (Pitra et al. 2004). These island populations may have been introduced by man in Holocene times (Hmwe et al. 2006).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species has a wide range. Population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers), as the species is described as common in at least parts of its range. There have been range contractions and presumably population declines in some parts of the species' European range, but it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern. However, genetic mixing as a result of introductions of deer from different areas is a problem that should be addressed.",Possibly Favourable,"The red deer has a large global distribution extending from Europe and North Africa through central Asia, Siberia, the Far East and North America (Corbet 1978, Koubek and Zima 1999, Wilson and Ruff 1999). It is widely but somewhat patchily distributed throughout most of continental Europe, although it is absent from northern Fennoscandia and most of European Russia. It is present on a number of islands, including the British Isles and Sardinia. It is extinct in Albania. There are several small introduced subpopulations in Russia (all introduced into nature reserves for hunting) of unknown origin. There may be a small natural subpopulation at Kaliningrad in Russia just across the Polish border (A. Tikhonov pers. comm. 2006). In Greece, the small isolated subpopulations are the result of reintroductions into areas where it previously occurred. Likewise in Portugal all populations result from reintroduction or natural expansion from transborder Spanish populations which in turn were reintroduced. It occurs from sea level to above the tree line (c.2,500 m) in the Alps. The distribution is much more patchy and fragmented than the apparent continuity suggested by the distribution map.","It is a widespread and abundant species, although there is increasing fragmentation of populations in central Europe, and the species has been lost from some areas (EMA Workshop 2006). Typical population densities range from 2 to 10 individuals per km2 (up to c.25 per km2, higher figures in the literature almost certainly refer to fed populations: S. Lovari pers. comm. 2006). It is sufficiently abundant in some areas to be considered a pest in forestry plantations. In Germany there are reports of 60,000 animals hunted per year. The most recent records indicate a population size of 150,000-180,000 in Germany (M. Stubbe pers. comm. 2006). Subspecies C. e corsicanus, endemic to the islands of Sardinia and Corsica, is relatively rare but its numbers are increasing. It was reintroduced to Corsica in the 1970s and is found in three small subpopulations, estimated in 2005 to number no fewer than 5,000 individuals (S. Lovari in litt. 2006).","It inhabits open deciduous woodland, upland moors and open mountainous areas (sometimes above the treeline), natural grasslands, pastures and meadows (Koubek and Zima 1999). In woodland, its diet consists mainly of shrub and tree shoots, but in other habitats it also consumes grasses, sedges and shrubs.","The main threat is the intermixing of the various subspecies, including subspecies from North America (wapiti) and Asia, as well as hybridisation with sika deer Cervus nippon (Koubek and Zima 1999, EMA Workshop 2006). The introduction of animals from North America has also resulted in the spread of parasites and diseases to previously unaffected subpopulations (e.g. liver worms). Overhunting and habitat loss as a result of agricultural intensification and urbanisation are other pressures (Wemmer 1998), but they are not thought to pose a major threat to the species at present (EMA Workshop 2006).","It is protected under Appendix III of the Bern Covention. Subspecies C. e. corsicanus is strictly protected under Appendix II of the Bern Convention and Annexes II* and IV of the EU Habitats and Species Directive. It occurs in numerous protected areas across its range and also in protected areas outside its range where it has been introduced. To preserve the genetic integrity of local populations, it is important that the introduction of red deer from other areas is stopped, unless there is evidence that they belong to the same taxon (subspecies).Red deer in Europe have been affected to a large extent by translocations not only between far distant populations and different subspecies within the continent, but also by imported conspecifics from Central Asia and North America, and introduced Sika deer. As a result, most of the present deer populations of Europe are either known hybrids on a subspecific or even specific level or their breeding background is insufficiently known for excluding such a possibility. Systematic investigation into the history and the genetics of all European red deer populations is therefore needed as a base for establishing a European Red Deer Managment Plan. Part of this plan should be the identification of unpolluted autochthonous populations of this species and protection of their genetic integrity, thus preserving as much as possible of what is left of its natural variation. In this respect the following populations are important and should be given a high priority for conservation and research:Swedish Red Deer (C. e. elaphus)Red deer population of Skåne, Southern SwedenSubspecies C. e. elaphus with original distribution in central Europe and southern Scandinavia has its only remaining free-living population that is free from hybridization in Skåne, Sweden (Ahlén 1965, I. Ahlén pers. comm. 2007). Genetic studies have confirmed that there is no mixing with eastern European or wapiti genes that has affected all other populations in central Europe, Denmark and other parts of Sweden. In the official Swedish Red List produced in 2005 this subspecies was classified as VU (D1) (Gärdenfors 2005). Norwegian Red Deer (C. e. atlanticus)All red deer occurring in Norway still represent pure C.e. atlanticus, with the only exception being the isolated population on the Island of Otteroy, which has experienced an inflow of genes from introduced red deer from Germany (Ahlén 1965, Trense CIC pers. comm. to W. Frey).Scottish Red Deer (C. e. scoticus)Otago Mountains Red deer population, New ZealandThe red deer population of the Otago Mountains was established in 1871 with animals from Invermark Forest, Scotland, long before these could have been polluted through introductions from other sources. Unfortunately there are deer farms now all around the periphery of the Otago Mountains, from which animals escape from time to time. Red deer from the central sections of the range land however are still pure C.e. scoticus. This has been supported by the results of genetic investigations (Banwell pers. comm. to W. Frey). Banwell recommends that some of these animals pure bred animals should be removed before it is too late, and Frey suggested that an isolated population should be established in Great Britain with animals from this source, as according to Carne (2000) there is no red deer population left in Great Britain and Ireland that reliably represents pure C.e. scoticus (W. Frey pers. comm. 2006). Central European Red Deer (C. e. hippelaphus)Western populationsVosges Red deer populationThe population of the Vosges, presently numbering c.15,000 individuals, derives from an autochthonous relict population of some 200 head. Recent contacts to the neighbouring non-autochthonous population in Germany cannot be excluded. However if gene flow between both populations has already occurred, it is believed that this should have been in one direction only: from the Vosges population to the German population (Riffel pers. comm. to W. Frey). This assumption was strongly supported by extensive genetic investigations of the Vosges population (Hartl et al. 1991, Hartl pers. comm. to W. Frey). The genetic integrity of the Vosges population however is threatened in the longer term, if a pure transplant population is not established.Eastern populationsRed deer populations of Greece, Bulgaria and the European part of TurkeyThe red deer populations of Greece and Bulgaria have remained free from admixtures of foreign genes (Trense CIC pers. comm. to W. Frey), as has the population of the Belgrad Forest in Turkey (Can pers. comm. to W. Frey) Whilst there are about 29,000 red deer in Bulgaria (Chassovnikarova et al. 2003) very little is known about the status of the species in Greece, with the exception that the total number of individuals cannot be high and is concentrated in a few isolated populations. Clutton-Brock and Gill (1989) mentioned with reference to Papageorgiou that the red deer occurring on the Sithonia peninsula is in need of better protection and may deserve examination for possible sub-specific status.Red deer of the Italian peninsulaMesola Red Deer The Gran Bosco della Mesola Natural Reserve harbours the only autochthonous unmixed population of red deer in the Italian peninsula. The population size dropped to the historically lowest level of 10 animals in 1945-1947. In spring 1998 there were 59 individuals. Considering zoogeographical factors, this indigenous red deer may represent a separate subspecies (Mattioli 1990, Hmwe et al. 2006).Sardinian Red Deer (Cervus elaphus corsicanus)It is possible that the red deer of Sardinia and Corsica is descended from deer from mainland Italy that reached the island naturally during the Pleistocene. It is also possible that it was introduced by man in Holocene times (Hmwe et al. 2006). Genetic studies suggest that populations on Sardinia and Corsica are closely related to the north African subspecies C. e. barbarus (Ludt et al. 2004, Pitra et al. 2004). Iberian Red Deer (Cervus elaphus hispanicus)Iberian subspecies C.e. hispanicus might represent a relict of the red deer populations before the last Ice Age. The Coto Doñana red deer population represents pure C.e. hispanicus (Riffel pers. comm. to W. Frey), and there are probably more unmixed populations left of this subspecies (W. Frey pers. comm. 2006). Nevertheless, it is considered to be threatened by genetic introgression from introduced animals from other parts of Europe. There have been many introductions of allochthonous red deer by private landowners seeking to ""improve"" the antlers, only some of which have been documented. (Carranza et al. 2003).","Sandro Lovari, Juan Herrero, Jim Conroy, Tiit Maran, Giorgos Giannatos, Michael Stubbe, Stéphane Aulagnier" -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,CERVIDAE,Dama dama,"Two subspecies; Dama dama dama (original range includes Turkey and possibly parts of south-eastern Europe, widely introduced) and D. d. mesopotamica (formerly found in Jordan, Israel, Lebanon, Iran and Iraq; now restricted to Iran, possibly Iraq, and Israel where it recently has been reintroduced) (Wemmer 1998, Bar-David et al. 2005).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)As a result of introductions by the Phoenicians, Romans, and Normans, it is a widespread and abundant species in Europe. Classed as Least Concern at the regional level. However, in its non-European native range this species is under serious threat.",Unknown,"A western Palaearctic species. Its original range includes the Near and Middle East and possibly parts of south-eastern Europe. It was introduced to the western Mediterranean by the Phoenicians, and to central and northern Europe by the Romans and Normans. More recently, it has been introduced to many countries worldwide (e.g. New Zealand, where it is considered a pest) (Apollonio 1999). In Portugal most of the specimens occur within confined areas, such as parks and private hunting areas, and apart from a few scattered individuals there is no wild population (Cabral et al. 2005).","Most introduced populations in Europe are stable (Apollonio 1999). However, in its native range outside Europe, this species has suffered severe declines and has disappeared from a number of countries where it was formerly found (Wemmer 1998).",A highly adaptable species that can survive in a wide range of habitats.,"There are no major threats to this species in Europe. In the species' native range outside Europe, hunting and habitat conversion for agriculture caused massive declines in the past, and habitat degradation continues to be a serious threat (Wemmer 1998).",Listed on Appendix III of the Bern Convention. Subspecies mesopotamica is listed on CITES Appendix I (as D. mesopotamica). Occurs in a number of protected areas.,European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,CERVIDAE,Rangifer tarandus,"There are three subspecies: Finnish forest reindeer (Rangifer tarandus fennicus), Mountain reindeer (R.t. tarandus) and Svalbard reindeer (R.t. platyrhynchus). Populations of Snohetta, Rondane, Knutsho and Solnketten in Southern Norway represent the original wild mountain reindeer in reasonably pure form (Bevanger and Jordhoy 2004, Bevanger pers. comm. to W. Frey) These populations have had little contact with domestic reindeer whilst mixing of both forms has occurred to a larger extend in the populations of the Hardangervidda and others. Genetic investigations did not indicate any inflow of domestic genes into the four populations in question (Roed 1997, Roed pers. comm. to W. Frey). There are also populations of free roaming reindeer in Southern Norway that have been founded with domestic individuals. Unfortunately three of these – Ottadalsomrädet, Forollhogna and Solnkletten – are adjacent to the pure populations, thus constituting a permanent danger to their genetic integrity.",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is Least Concern at the European level. It is still fairly widespread and abundant in Norway, although there have been marked declines in the Russian, and parts of the Finnish, portions of the range. The only EU country that the reindeer occurs in is Finland. Although the Finnish population is small (c.2,200 individuals), and although there have been recent declines in the western subpopulation, overall numbers are increasing. Consequently the species is classed as Least Concern. Wild reindeer went extinct in Finland last century, and ongoing conservation action is required to ensure continuing recovery.The Novaya Zemlya subspecies pearsoni is Endangered under C2a(ii). The population is less than 1,000 mature individuals, found on a single subpopulation on an isolated island, which is undergoing continuing decline (the reason for which is currently unknown). The Svalbard subspecies platyrhynchus is Least Concern. Although it has a small population of c.10,000, it is not declining and there are no major threats.",Unknown,"The reindeer has a circumpolar distribution in the tundra and taiga zones of northern Europe, Siberia, and North America (Corbet 1978, Hall 1981, Koubek and Zima 1999, Wilson and Ruff 1999). In Europe, wild populations have a fragmented distribution in Norway (including the island of Svalbard, where there is a separate subspecies R. t. platyrhynchus), Finland, and Russia (including the island of Novaya Zemlya, which also has an endemic subpecies R. t. pearsoni) (Herre 1986, Koubek and Zima 1999). In Finland, wild reindeer occur in two isolated subpopulations, one in the west and one in the east. Semi-domesticated reindeer are widespread in Lappland, and a feral population has historically become established on Iceland (Koubek and Zima 1999); these populations are not shown on the distribution map. It occurs from sea level to at least 2,000 m in Norway (Herre 1986).","There are approximately 30,000 wild reindeer in southern Norway and 10,000 in Svalbard (Andersen and Hustad 2004). The population trend in Norway is believed to be stable, and hunting is controlled. In Finland, forest reindeer (subspecies R. t. fennicus) were driven extinct in the early 1900s, but are now starting to recover as a result of animals moving in from Karelia in Russia and from some captive bred stock that were released (Ruusila and Kojola in press). Forest Reindeer remain very rare in Finland (about 1,200 in the eastern subpopulation and 1,000 individuals in the western subpopulation). The Finnish population trend is difficult to determine, as the population in eastern Finland has expanded rapidly from c. 40 reintroduced individuals in 1980 to c.1,200 today, whereas the western subpopulation has declined from c.1,800 to c.1,000 during 2001-2006 (although in the last few years prior to 2001 it had been increasing) (H. Henttonen pers. comm. 2006, Ruusila and Kojola in press). Overall, the current Finnish population trend is one of growth rather than decline. Numbers in European Russia are very low with presumed ongoing declines, and the reindeer is now absent from large tracts of tundra and taiga. It is not known whether the small Kola Peninsula population in Russia is derived from autochthonous wild reindeer or from semidomesticated animals (A. Tikhonov pers. comm. 2006). The Novaya Zemlya subspecies pearsoni has a small population (less than 1,000 mature individuals), which is undergoing continuing decline (A. Tikhonov pers. comm. 2006). The reindeer's status in Asia is poorly known, although it is significantly more abundant there than in Europe, with a population estimated at 400,000 in the 1950s (Koubek and Zima 1999). There are also large numbers of reindeer (locally known as caribou) in North America. The feral population in Iceland numbers c.1000, and there are approximately 0.5 million semi-domesticated reindeer in Lappland (H. Henttonen pers. comm. 2006).","It inhabits arctic and subarctic tundra, open montane habitats, and open woodland, where it feeds on lichens, mosses, grasses, and shoots and leaves of deciduous shrubs and trees (especially willow Salix spp. and birch Betula spp.). In North America it is a migratory species, making seasonal movements from the coast in summer to the interior in winter, but in Europe reindeer are more sedentary (Herre 1986).","Poaching is a major threat in the Russian Federation (A. Tikhonov pers. comm. 2006). The causes of decline of the Novaya Zemlya subspecies pearsoni are not known (A. Tikhonov pers. comm. 2006). Loss of habitat in Finland (through logging) may pose problems, and there is increased disturbance to the species in some areas due to winter sporting activities. Hybridization with semidomesticated reindeer is a potential problem for some subspecies and subpopulations (H. Henttonen pers. comm. 2006, Ruusila and Kojola in press).","It is listed on Appendix III of the Bern Convention. Subspecies R. t. fennicus is strictly protected under Annex II of the EU Habitats and Species Directive. In eastern parts of Russia there are strict anti-hunting measures in place, but there is continued poaching (A. Tikhonov pers. comm. 2006). Hunting in Norway is also strictly controlled. In Finland, a large fence has been constructed between areas occupied by semidomesticated reindeer and forest reindeer, to prevent hybridisation (Koubek and Zima 1999, H. Henttonen pers. comm. 2006). Research is urgently required to determine the causes of population decline of R. t. pearsoni on Novaya Zemlya, and to identify appropriate conservation actions.","Heikki Henttonen, Alexei Tikhonov" -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Delphinus delphis,"Until 1994, all common dolphins around the world were classified as a single species, Delphinus delphis. However, it is now known that at least two species exist within the genus: the short-beaked (D. delphis) and long-beaked (D. capensis) common dolphins (Heyning and Perrin 1994). There is also a distinct short-beaked form in the Black Sea, the taxonomic status of which has not been adequately clarified (although it is currently thought to be a subspecies, D. delphis ponticus: Amaha 1994).",No,No,DD,,DD,,"This species has a varying status in different parts of its European range. In the Mediterranean and Black seas there have been substantial population declines; the Mediterranean population was recently assessed as Endangered (A2abc), and the Black Sea subspecies D. d. ponticus was also classed as Endangered (A1d)(Reeves and Notarbartolo di Sciara 2006). However in the eastern North Atlantic there are very large populations that show no evidence of significant decline, and the species is Least Concern in this area. Overall in the European Mammal Assessment region, it is not possible to quantify the population trend because the relative size of the different subpopulations is not known. Consequently the species is assessed as Data Deficient at the European regional level.",Unknown,"The short-beaked common dolphin is an oceanic species that is widely distributed in tropical to cool temperate waters of the Atlantic and Pacific oceans (Perrin 2002), from nearshore waters to thousands of kilometers offshore. It regularly occurs in some enclosed seas, such as the Okhotsk Sea and Sea of Japan, and separate subpopulations apparently exist in the Mediterranean and Black seas. Short-beaked common dolphins may occur in parts of the Indian Ocean around southeast Africa and southern Australia, but previous records of this species in other parts of the Indian Ocean and in waters of Taiwan and are now thought to have been long-beaked common dolphins D. capensis (Jefferson and Van Waerebeek 2002).","This is a very abundant species, with many available estimates for the various areas where it occurs. In the Atlantic, abundance in European continental shelf waters was estimated at 63,400 (95%CI=27,000-149,000) in 2005 (SCANS-II project: P. Hammond pers. comm. 2007). Offshore, abundance in a block bounded by 53-57ºN and 18-29ºW has been estimated at 273,000 (95%CI=153,000-435,000) in 1995 (Cañadas et al. in press). West of the Bay of Biscay, 62,000 common dolphins were estimated in the fishing grounds of the albacore tuna driftnet fishery in 1993 (Goujon 1996). In the western North Atlantic, 121,000 (CV=0.23) were estimated (Waring et al. 2006).In the western Mediterranean, abundance has been estimated at 19,400 (95%CI=15,300-22,800) in the northern Alborán Sea between 2000 and 2004 (Cañadas 2006). Once one of the most common species in the Mediterranean Sea, the short-beaked common dolphin has experienced a generalized and major decline during the last 30-40 years (Bearzi et al. 2003). Dramatic negative trends were recorded in portions of the central Mediterranean, particularly in the northern Adriatic Sea and in the eastern Ionian Sea (Bearzi et al. 2004, 2006). Recent genetic studies indicate that population structure within the Mediterranean reflects differences in distribution pattern and habitat use by short-beaked common dolphins in the eastern (where the species is predominantly coastal) and western (where it is predominantly pelagic) portions of the basin (Natoli 2004). Genetic exchange between short-beaked common dolphins from the Mediterranean Sea and Atlantic Ocean, to the extent that it occurs, appears to involve predominantly animals from the Alborán Sea (Natoli 2004). The population size in the Black Sea is unknown. Line transect surveys have been conducted recently to estimate common dolphin abundance in a few parts of the range. The survey areas are small relative to the total range of the subspecies. Results suggest that current population size is at least several 10,000s, and possibly 100,000 or more (Birkun 2006). By the mid 1960s, the Black Sea subpopulation collapsed due to long-running overexploitation and a reduction of 70% was inferred. However, directed takes continued until 1983 when cetacean hunting finally ceased. The population has not recovered (Birkun 2006).","Short-beaked common dolphins appear to have a preference for upwelling-modified waters, areas with steep sea floor relief, and extensive shelf areas, but they are widespread in warm temperate and tropical waters (see Evans 1994). In the eastern tropical Pacific, they prefer equatorial and subtropical waters with a shallow thermocline, relatively large seasonal changes in surface temperature, and seasonal upwelling (Reilly 1990, Fiedler and Reilly 1994). Mediterranean common dolphins frequent coastal and upper slope waters (Bearzi et al. 2003). In the Black Sea, common dolphins are distributed mainly offshore and visit shallow coastal waters following seasonal aggregations and regular mass migrations of small pelagic fishes such as anchovy and sprat (Birkun 2006). Black Sea common dolphins avoid waters with low salinity, and this may explain why they do not occur in the Sea of Azov and in the Kerch Strait. Associations with other marine mammal species are common. Mixed-species groups of common dolphins, striped dolphins (Stenella coeruleoalba) and Risso's dolphins (Grampus griseus) have been observed frequently in the pelagic waters of the Gulf of Corinth, Greece (Frantzis and Herzing 2002). The prey of common dolphins consists largely of small schooling fishes and squids (Perrin 2002). Reproduction is seasonal, with the exception of the Central population in the eastern tropical Pacific, which breeds throughout the year (Danil and Chivers 2007).","The common dolphin is one of the most prominent by-catches of pelagic purse-seine and driftnet, and trawl fisheries. Incidental capture of common dolphins in European Atlantic fisheries has been well studied in recent years, and as a result of recent EU legislation, on-board observer programmes are being carried out in most of the fisheries considered to have a potentially significant bycatch of common dolphins. Northridge (2006) showed that bycatches of common dolphins in European pelagic trawl fisheries probably total around 800 animals per year in UK and French pelagic trawl fisheries for sea bass. Annual catch rates in the UK sector of this fishery have been falling in recent years (Northridge 2006) and the annual average total mortality (2000-2006) is 170 animals in this sector. Other bycatches in the same area are known to occur in gill nets, tangle nets and possibly other fisheries (Northridge 2006). The main factors thought to have contributed, singly or in synergy, to the decline of Mediterranean short-beaked common dolphins include: 1) incidental mortality in fishing gear, especially driftnets, 2) reduced availability of prey caused by overfishing and habitat degradation, 3) contamination by xenobiotic chemicals resulting in immunosuppression and reproductive impairment, and 4) environmental changes such as increased water temperatures affecting ecosystem dynamics (Bearzi et al. 2003, 2006). A recent survey focusing on the Moroccan driftnet fishing fleet estimated that about 12,000-15,000 dolphins are killed annually around the Strait of Gibraltar (Tudela et al. 2005).At least 840,000 dolphins were taken from the Black Sea from 1946 until a ban of small cetacean hunting was declared in Turkey in 1983. The take was certainly much greater because that value did not incorporate catch statistics from Romania (whole period), Turkey (before 1976 and after 1981) and Bulgaria (before 1958) (Birkun 2006). Reduced prey availability is considered to be a major ongoing threat to Black Sea common dolphins (Bushuyev 2000). Of two mass mortality events that killed an unknown but certainly large number of common dolphins in 1990 and 1994 (Krivokhizhin and Birkun 1999), the latter was recognised as the result of a morbillivirus epizootic. However, both die-offs coincided with a drastic (8 to 12 fold) decline in the abundance of the two main common dolphin prey species, anchovy and sprat. Such a reduction was caused by a combination of overfishing, eutrophication and the explosive increase of the introduced ctenophore Mnemiopsis leidyi. Correlation between large die-offs of Black Sea common dolphins and prey scarcity suggests that reduced prey availability increases susceptibility to viral infection (Birkun 2006).","The common dolphin is included in EC Directive No.92/43/EEC on the conservation of natural habitats of wild fauna and flora; D. delphis is listed on Annex IV (Animal and Plant Species of Community Interest in Need of Strict Protection).MediterraneanA large Marine Sanctuary for cetaceans in the Corso-Ligurian Basin has been declared by the Governments of Italy, France and Monaco. Other smaller marine protected areas exist or have been proposed throughout the Mediterranean Sea (Bearzi et al. 2003). While these types of designations may benefit common dolphins at least indirectly, measures to provide direct benefits, e.g., area-, season-, or fishery-specific reductions in fishing effort, curtailment of inputs of particular pollutants, etc., remain to be identified and implemented. The Agreement on the Conservation of Cetaceans in the Black Sea, Mediterranean Sea and Contiguous Atlantic Area (ACCOBAMS 2002) considers the Mediterranean common dolphin as an endangered population. It is expected that efforts to increase understanding of ongoing threats, monitor status, and provide needed protective measures on behalf of the dolphins and their habitat will be organized and implemented through ACCOBAMS. The current ban on driftnet fishing in the Mediterranean should be implemented and enforced as a matter of priority.Black SeaCommercial killing of Black Sea common dolphins, as well as other Black Sea cetaceans, was banned in 1966 in the former USSR, Bulgaria and Romania, and in 1983 in Turkey. The Strategic Action Plan for the Rehabilitation and Protection of the Black Sea (1996) envisages some special cetacean-oriented conservation and research actions, and a regional Conservation Plan for Cetaceans in the Black Sea has been drafted in accordance with the ACCOBAMS International Implementation Priorities for 2002-2006 (Notarbartolo di Sciara 2002). On a national level, Black Sea cetaceans, including common dolphins, are protected by environmental legislation and governmental decrees. Action plans for the conservation of Black Sea cetaceans were produced in Ukraine (2001) and Romania (2003) but they have no legal effect at present (Reeves and Notarbartolo di Sciara 2006).",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Globicephala melas,,No,No,DD,,DD,,"This species is widespread (thus not qualifying as threatened under criterion B) and relatively abundant (above the thresholds for criteria C and D). Population trend data for this species are unavailable. Primary threats that could cause widespread declines include entanglement in fisheries and competition with squid fisheries. The combination of potential declines driven by competition with fisheries for squid and bycatch in fisheries is believed sufficient that a 30% global reduction over three generations or in this case 60 years could not be ruled out. Therefore, the species is classed as Data Deficient. The Mediterranean population was also recently assessed as Data Deficient (Reeves and Notarbartolo di Sciara 2006).",Unknown,"Long-finned pilot whales occur in temperate and subpolar zones (Olson and Reilly 2002). They are found in oceanic waters and some coastal waters of the North Atlantic Ocean, including the Mediterranean Sea and North Sea. In the North Atlantic, the species occurs in deep offshore waters, including those inside the western Mediterranean Sea (where is thought to be the only species of pilot whale found there), North Sea, and Gulf of St. Lawrence (Abend and Smith 1999). Long-finned pilot whales tend to follow their prey (squid and mackerel) inshore and into continental shelf waters during the summer and autumn (Reeves et al. 2003). In the western North Atlantic, they occur in high densities over the continental slope in winter and spring months. In summer and autumn months, they move over the shelf. Long-finned pilot whales were previously found in the western North Pacific as well, but appear to be absent there today. The circum-antarctic subpopulation(s) in the Southern Hemisphere occur as far south as the Antarctic Convergence, sometimes to 68°S. They are apparently isolated from those of the Northern Hemisphere (Bernard and Reilly 1999).","There is little information on stocks within the species (Donovan et al. 1993). In the north-eastern Atlantic the number of pilot whales inhabiting the area between East Greenland, Iceland, Jan Mayen, Faroe Islands and off the western coasts of the British Islands and Ireland was estimated at around 778,000 (CV=30%) by Buckland et al. (1993). The removals by drive hunting at the Faroes (see below) have therefore been considered sustainable (NAMMCO 2000, Reeves et al. 2003).","Long-finned pilot whales are highly social; they are generally found in pods of about 20-100, but some groups contain over 1,000 individuals. These large pods are generally dispersed in smaller subgroups of 10-20. Based on photo-identification and genetic work, pilot whales appear to live in relatively stable, maternally-based pods like those of killer whales, and not in the fluid groups characteristic of many smaller dolphins.This is one of the species most often involved in mass strandings (Olson and Reilly 2002). Strandings are fairly frequent, for instance, on Cape Cod (Massachusetts, USA) beaches from October to January. Their tight social structure also makes pilot whales vulnerable to herding, and this has been taken advantage of by whalers in drive fisheries off Newfoundland, the Faroe Islands, and elsewhere. Primarily squid eaters, pilot whales will also take small medium-sized fish, such as mackerel, when available (Gannon et al. 1997). Other fish species taken include cod, turbot, herring hake, and dogfish. They will sometimes also ingest shrimp. Pilot whales are deep divers, most feeding appears to take place at depths of 200-500 m.","Drive fisheries for long-finned pilot whales in the Faroe Islands date back to the Norse settlement in the 9th century. Catch statistics exist from the Faroes since 1584, unbroken from 1709-today, show an annual average catch of 850 pilot whales (range: 0 - 4,480) with a cyclic variation according to the North-Atlantic climatic variations (Bloch and Lastein 1995). This level of offtake has been considered sustainable (NAMMCO 2000, Reeves et al. 2003).Incidental catches are reported from Newfoundland, the Mediterranean and the Atlantic coast of France. In British waters, long-finned pilot whales are accidentally caught in gillnets, purse seines and in trawl fisheries. A 1990 workshop to review mortality of cetaceans in passive nets and traps documented an annual kill of 50-100 G. melas off the Atlantic coast of France. Furthermore, pilot whales are also known to be taken incidentally in swordfish driftnets in the Mediterranean (Olson and Reilly 2002). Although there is considerable controversy regarding the absolute level of declines, there is good evidence of large-scale reductions in many predatory fish populations (e.g. Baum et al. 2003, 2005; Sibert et al. 2006; Polacheck 2006) and over-fishing and collapse of several important “prey” fish stocks world-wide (e.g. Jackson et al. 2001). The effects of such fish population reductions and subsequent ecosystem changes on world-wide populations of long-finned pilot whales are unknown but could result in population declines. Commercial fisheries for squids are widespread in the western North Atlantic. Target species for these fisheries are squids eaten by pilot whales, again raising the possibility of prey depletion. Long-finned pilot whales off the Faroes, France, UK and the eastern USA appear to have high levels of DDT and PCB in their tissues. Heavy metals such as cadmium and mercury also have been found in pilot whales from the Faroes. Because these contaminants accumulate in tissues over time, older animals and especially adult males tend to have the highest concentrations (Caurant and Amiard-Triquet 1995). Evidence from stranded individuals of several similar species of beaked whales indicates that they have swallowed discarded plastic items. Sometimes this may happen when animals are already ill and incapable of finding/catching normal prey (e.g. Gomercic et al. 2006), or they may be healthy and eat it by accident and it then contributes to blockage of the digestive tract and eventual death (e.g. Scott et al. 2001). Globicephala melas may also be at risk.While impacts of high levels of anthropogenic sound have been well documented for beaked whales (Simmonds and Lopez-Jurado 1991, Frantzis 1998, Balcomb and Claridge 2001, US Dept of Commerce and US Navy 2001, Jepson et al. 2003, Fernandez et al. 2005), there are examples for a number of other species of odontocetes of potential impacts. While conclusive evidence of cause and effect are often lacking, strong avoidance reactions, embayments or mass stranding events have been spatially and temporally associated with high levels of anthropogenic sound for short-finned pilot whales (Hohn et al. 2006), killer whales, melon-headed whales (Southall et al. 2006), Atlantic spotted dolphin (Balcomb and Claridge 2001), striped dolphins, dwarf sperm whales (Hohn et al. 2006), pygmy sperm whales, and Dall’s porpoise (Balcomb pers. comm.). As such, it should be recognized that high levels of anthropogenic sound have the potential to impact other deep diving odontocete species. Predicted impacts of global climate change on the marine environment may affect long-finned pilot whales, and may induce changes in the species’ range, abundance and/or migration patterns (Learmonth et al. 2006).","The North and Baltic Sea subpopulations have been listed in Appendix II of the Convention on Migratory Species. One of the areas with regular confirmed presence of long-finned pilot whales in the Mediterranean, the western section of the Ligurian Sea, is included within the marine Sanctuary dedicated to cetaceans in the Corso-Ligurian Basin, created by the Governments of Italy, France and Monaco (Pelagos Sanctuary, SPAMI). No management or conservation measures have been taken as yet specifically for the conservation of this species.A SPAMI (Specially Protected Area of Mediterranean Importance) under the Barcelona Convention has been proposed for the northern half of the Alborán Sea and Gulf of Vera in southern Spain (Cañadas et al. 2005), but it has not yet been designated or even evaluated by the Spanish administration. This proposed area includes the “hot-spots” for long-finned pilot whales in the Mediterranean.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Grampus griseus,,No,No,DD,,DD,,"Risso’s dolphin is widely distributed in temperate and tropical waters worldwide but little is known about the species. Estimates of abundance are available for only a few regions and details of distribution are generally lacking. Population trend data for this species are unavailable. Primary threats that could cause widespread declines include entanglement in fisheries and competition with squid fisheries. The combination of potential declines driven by competition with fisheries for squid and bycatch in fisheries is believed sufficient that a 30% global reduction over three generations or in this case 60 years could not be ruled out. Therefore, the species is classed as Data Deficient. The Mediterranean population was also recently assessed as Data Deficient (Reeves and Notarbartolo di Sciara 2006).",Unknown,"This is a widely-distributed species, inhabiting primarily deep waters of the continental slope and outer shelf (especially with steep bottom topography), from the tropics through the temperate regions in both hemispheres (Kruse et al. 1999). They also occur in some oceanic areas, beyond the continental slope, such as in the eastern tropical Pacific. They are found from Newfoundland, Norway, the Kamchatka Peninsula, and Gulf of Alaska in the north to the tips of South America and South Africa, southern Australia, and southern New Zealand in the south. Their range includes many semi-enclosed bodies of water, such as the Gulf of Mexico, Gulf of California, Red Sea, Persian Gulf, Sea of Japan, and Mediterranean Sea.","There are no regional estimates of abundance for this species. Although Risso’s dolphins are regularly sighted in the western Mediterranean, they are considered scarce (Reeves and Notarbartolo di Sciara 2006). Line-transect abundance estimates for the western central Mediterranean in 2001-03 gave 493 Risso’s dolphins (95% C.I. 162-1,498) in an area of 32,270 km2 (Gómez de Segura et al. 2006).","Risso’s dolphins inhabit deep oceanic and continental slope waters, generally 400-1000 m deep (Jefferson et al. 1993, Baird 2002), mostly occurring seaward of the continental slope. They frequent subsurface seamounts and escarpments, where they are thought to feed on vertically migrant and mesopelagic cephalopods. Currents and upwelling causing local increases in marine productivity may enhance feeding opportunities, resulting in the patchy distribution and local abundance of this species worldwide (Kruse et al. 1999). Most records of this species in Britain and Ireland are within 11 km of the coast. Risso's dolphins feed on crustaceans and cephalopods, but seem to prefer squid. Squid bites may be the cause of at least some of the scars found on the bodies of these animals. In the few areas where feeding habits have been studied, they appear to feed mainly at night.","In the Mediterranean Sea, Risso’s dolphins are among the cetacean species frequently found entangled infishing nets. Bycatches in longlines and gillnets have been reported in Spain (Valeiras and Camiñas 2001) and Italy (Notarbartolo di Sciara 1990). Sound pollution is a threat to deep-diving pelagic cetaceans, including Risso’s dolphins. Evidence consistent with a syndrome related to exposure to high-intensity sonar has been described in this species in the UK (Jepson et al. 2005). Risso’s dolphins in the Mediterranean have been found to carry substantial contaminant burdens (see references in Reeves and Notarbartolo di Sciara 2006).",The North and Baltic Sea subpopulations are included in Appendix II of the Convention on Migratory Species.,Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Lagenodelphis hosei,,No,No,NA,,NA,,This species is assessed as Not Applicable as it is a vagrant in the European Mammal Assessment region.,-,"The exact distribution of this species is poorly known. Fraser's dolphin has a pantropical distribution, largely between 30°N and 30°S in all three major oceans (Jefferson and Leatherwood 1994, Dolar 2002). Strandings in temperate areas may represent extralimital forays connected with temporary oceanographic anomalies such as the world-wide El Niño phenomenon in 1983-84, during which a mass stranding occurred in France (Perrin et al. 1994). Bones et al. (1998) reported on a stranding on the coast of Scotland.",This species does not appear to be particularly abundant anywhere (with the possible exception of some areas in the Philippines).,"It is an oceanic species that prefers deep offshore waters, but it can be seen near shore in some areas where deep water approaches the coast (Perrin et al. 1994). Fraser's dolphins feed on midwater fish (especially myctophids), squid, and crustaceans (Dolar et al. 2003). Physiological studies indicate that Fraser’s are capable of quite deep diving (and it is thought that they do most of their feeding deep in the water column in waters up to 600 m deep), but they have been observed to feed near the surface as well (Watkins et al. 1994).","This species very seldom occurs in European waters, and there are no known major threats in the region.",There are no conservation measures for this species in the European region.,Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Lagenorhynchus acutus,,No,No,LC,,LC,,"The species is widespread and abundant and there have been no reported population declines, therefore the Atlantic white-sided dolphin is currently considered to be of Least Concern.",Possibly Favourable,"Atlantic white-sided dolphins are found in cold temperate to subpolar waters of the North Atlantic, from about 38°N (south of Cape Cod) in the west and the Brittany coast of France in the east, north to southern Greenland, Iceland, and southern Svalbard (Reeves et al. 1999, Cipriano 2002). The range includes the U.K. and the northern coasts of Scandinavia, although they rarely enter the Baltic Sea. They also sometimes move quite far up the Saint Lawrence River of eastern Canada, and they have been seen as far south as Strait of Gibraltar (Hashmi and Adloff 1991, 1992).","This species is quite abundant throughout its range.There are an estimated 51,640 (CV=38%) Atlantic white-sided dolphins off the eastern North American shoreline (Waring et al. 2006), and about 96,000 (CV=54%) off the west coast of Scotland (MacLeod 2004). There is currently little evidence for separate subpopulations (Mikkelsen and Lund 1994).","Atlantic white-sided dolphins are found primarily in waters of the continental shelf and slope, but they also occur in oceanic waters across the North Atlantic. Along the continental slope of North America, they seem to associate with high sea-bed relief along the continental shelf (Palka et al. 1997). Calves are born over an extended period around the summer season, with apparent peaks in June and July. These dolphins often associate and feed with large baleen whales (fin and humpback whales), and are known to form mixed groups with pilot whales and a number of other dolphin species (including bottlenose and white-beaked dolphins). Atlantic white-sided dolphins feed mostly on small schooling fish (such as herring, mackerel, cod, smelt, hake, and sandlance), shrimp, and squid.","Some hunting for this species occurred in the past, especially in Norway. Some dolphins are still taken in Greenland, the Faroe Islands, and eastern Canada (Jefferson et al. 1993, Reeves et al. 1999). Recent catches in Faroe Islands were 333 and 310 in 2004 and 2005, respectively (NAMMCO Annual Report 2005). Incidental mortality in fishing gear has been documented off Canada, the United States, the United Kingdom and Ireland. Gaskin (1992) judged Atlantic white-sided dolphins to be less vulnerable to capture in pelagic near-surface drift nets and fixed groundfish gill nets than are many other small cetaceans. They may, however, be especially susceptible to capture in midwater trawl nets (Addink et al. 1997). Substantial numbers have been bycaught in pelagic trawl fisheries for horse mackerel and mackerel south-west of Ireland (Reeves et al. 1999). Like other North Atlantic marine mammals, Atlantic white-sided dolphins are contaminated by organochlorines, other anthropogenic compounds and heavy metals (Reeves et al. 1999); although the effects of pollutants are not well understood in this species, they may affect reproduction or render them susceptible to other mortality factors","Existing direct takes are currently not regulated by any hunting quotas. Operational difficulties in observing bycatch and potentially significant annual fluctuation in catch rates warrant further observer studies of these and other trawl fisheries (Morizur et al. 1999, NMFS Stock Assessment Report: Atlantic and Gulf of Mexico). The impact of combined anthropogenic removals should be assessed.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Lagenorhynchus albirostris,,No,No,LC,,LC,,The species is widespread and abundant and there have been no reported population declines or major threats identified; therefore white-beaked dolphin is currently considered to be of Least Concern.,Possibly Favourable,"This is the most northerly member of the genus Lagenorhynchus, and it has a wide distribution (Kinze 2002). White-beaked dolphins inhabit cold temperate to subpolar waters of the North Atlantic, from Cape Cod and Portugal, north to central Davis Strait, southern Greenland, Svalbard, and east to Novaya Zemlya. The range includes Iceland, Faroe Islands, the U.K., and most Scandinavian waters (but apparently does not include the Baltic Sea, although there are a few extralimital records there).","Lagenorhynchus albirostris is reasonably abundant. There are few actual estimates of abundance, but there may be a hundred thousand or more throughout their range (Øien 1996, Reeves et al. 1999).At least a few thousand white-beaked dolphins inhabit Icelandic waters and up to 100,000 are found in the northeastern Atlantic including the Barents Sea, the eastern part of the Norwegian Sea and the North Sea north of 56°N (Øien 1996). A survey of the North Sea and adjacent waters in 1994 provided an estimate of 7,856 (CV=0.30) white-beaked dolphins (Hammond et al. 2002). In 2005 there were an estimated 22,700 (CV=0.42) in the European Atlantic continental shelf waters, including 10,600 (CV=0.29) in the same area surveyed in 1994 (P. Hammond pers. comm. 2007). Kinze et al. (1997) maintained that the white-beaked dolphin is much more common in the North and Baltic Seas than its relative, the Atlantic white-sided dolphin and Northridge et al. (1997) found that white-beaked dolphins are relatively common in European waters compared with white-sided dolphins, or compared with US waters.","White-beaked dolphins inhabit continental shelf and offshore waters of the cold temperate to subpolar zones, although there is evidence suggesting that their primary habitat is in waters less than 200 m deep. The species is found widely over the continental shelf, but especially along the shelf edge. A change in habitat use has been documented in U.S. waters, where white-beaked dolphins were observed primarily on the continental shelf prior to the 1970s, but mainly occurred over slope waters during the 1970s. This shift was associated with changes in finfish abundance and a shift in the distribution of Atlantic white-sided dolphins, L. acutus (Katona et al. 1993, Kenney et al. 1996). The ecology of white-beaked dolphins has received little detailed study (Kinze 2002). Calving peaks in summer to early autumn (May to September), but not much else is known about reproduction in this species (Reeves et al. 1999). White-beaked dolphins feed on variety of small pelagic schooling fishes, but also demersal species (such as cod, haddock, poorcod, bib, hake, and whiting), squid, and crustaceans (for review, see Reeves et al. 1999). They sometimes associate, while feeding, with large whales (such as fin and humpback whales), and are known to form mixed groups with a number of other dolphin species (including bottlenose and Atlantic white-sided dolphins) (Reeves et al. 1999).","Although not a target of any large commercial fisheries, there has been a long history of small-scale hunting for white-beaked dolphins in some countries, such as Norway, the Faroe Islands, Greenland, Iceland, and Labrador, mostly for food (Reeves et al. 1999); hunting in some areas continues today (Jefferson et al. 1993), e.g. some hunting continues off the south-west coast of Greenland (Kinze 2002) and opportunistically off the coast of Canada (Lien et al. 2001). During the early 1980s an estimated 366 white-beaked dolphins were taken annually by the residents of 12 Labrador harbours (Alling and Whitehead 1987). White-beaked dolphins are known to be taken in a range of fishing gear throughout the range of the species (Dong et al. 1996, Reeves et al. 1999). In Norwegian waters where the species is abundant and fishery effort is high, bycatches of white-beaked dolphins are too rare to be detected in fishery operations monitored for marine mammal bycatches (A. Bjørge pers. comm. 2006). In the UK bycatch observer programme, no white-beaked dolphins have been recorded (S. Northridge pers. comm. 2006). Thus, recent bycatch monitoring programmes support the conclusion of Jefferson et al. (1993) that although known to be occurring, incidental catches are not thought to be high enough to represent a serious threat to this species.Like other North Atlantic marine mammals, white-beaked dolphins are contaminated by organochlorines, other anthropogenic compounds and heavy metals (Reeves et al. 1999); although the effects of pollutants are not well understood in this species, they may affect reproduction or render them susceptible to other mortality factors.","Existing direct takes are currently not regulated by any hunting quotas. Although known to occur, bycatch rates seem to be poorly documented and warrant more intensive research. The impact of combined anthropogenic removals should be assessed.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Orcinus orca,"Killer whales are presently considered to form a single cosmopolitan species, Orcinus orca (Rice 1998). Separate species status has been suggested for different morphological forms found in the southern Ocean (Mikhalev et al. 1981, Berzin and Vladimirov 1983, Pitman and Ensor 2003). Pitman et al. (2007) describe one of these as a dwarf form of killer whale. Killer whales in the eastern North Pacific are known to consist of at least two and maybe three distinct forms, colloquially known as ‘resident’, ‘transient’ and ‘offshore’ killer whales (Ford et al. 1994). Separate species status has also been suggested for at least two of these different forms, based on color pattern, diet, and morphological traits (Baird 1994, Baird et al. 1999). Genetic differences are found among these forms, with particularly marked differences between resident and transient forms (Stevens et al. 1989, Hoelzel and Dover 1991, Hoelzel et al. 1998, Barrett-Lennard 2000). The taxonomy of this genus is clearly in need of review, and it is likely that O. orca will be split into a number of different species or at least subspecies over the next few years (Reeves et al. 2004).",No,No,DD,,DD,,"Orcinus orca is widespread and fairly abundant. Population trend data for this species are unavailable. Primary threats that could cause widespread declines include depletion of prey resources and contamination with persistent organic pollutants. Live-capture removals and direct takes are localized and do not appear to have had a high impact on the status of the species globally. Current threats for killer whales appear most serious in nearshore waters. The combination of potential declines driven by depletion of prey resources and the effects of pollutants is believed sufficient that a 30% global reduction over three generations or in this case 78 years could not be ruled out. Therefore, the species is currently considered to be Data Deficient.Additionally, regional subpopulations of killer whales can be small and highly specialized, and therefore vulnerable to over-exploitation and habitat deterioration. Several small subpopulations have already been recognized as having a high risk of extinction, including the Strait of Gibraltar subpopulation, which was provisionally assessed in 2006 as Critically Endangered (C2a(i,ii); D)(Reeves and Notarbartolo di Sciara 2006).",Unknown,"The killer whale is the most cosmopolitan of all cetaceans, and may be the second most widely-ranging mammal species on the planet, after humans. Killer whales can be seen in virtually any marine region, from the equator to polar waters. Although they are generally more common in nearshore areas and in higher productivity areas and/or higher latitudes, there appear to be no hard and fast restrictions of water temperature or depth on their range. The distribution extends to many enclosed or partially-enclosed seas, such as the Mediterranean Sea, Sea of Okhotsk, Gulf of California, Gulf of Mexico, Red Sea, and Persian Gulf. However, there are only extralimital records from the Baltic Sea and no records from the Black Sea.","Although killer whales occur worldwide, densities increase by 1-2 orders of magnitude between the tropics and the highest sampled latitudes in the Arctic and Antarctic (Forney and Wade 2006). Killer whales tend to be more common along continental margins; however, there is some variation in this general pattern that appears linked to ocean productivity. Killer whales appear to be less common in western boundary currents such as the Gulf Stream, than in more productive eastern boundary currents such as the California Current. Line-transect surveys have resulted in estimates of abundance in several regions in the North Atlantic, including an abundance estimate of 3,100 (CV=63%) killer whales in Norwegian waters (Øien 1990), and an estimate of 6,618 (CV=32%) whales in Iceland and Faroes Islands waters (Sigurjónsson et al. 1989, Gunnlaugsson and Sigurjónsson 1990).","Killer whales may occur in virtually any marine or estuarine habitat, but are most common in areas of high marine productivity, particularly at higher latitudes and near shore (Dahlheim and Heyning 1999, Forney and Wade 2006). Sightings range from the surf zone to the open sea. Although they do not migrate, movements can be extensive; for instance, some killer whales have been documented to have moved between Alaska and central California, a distance of more than 2000 km. In the Antarctic, they readily enter areas of floe ice in search of prey (Pitman and Ensor 2003). Killer whales in some areas congregate seasonally in coastal channels to forage and occasionally enter river mouths. Killer whales are known to feed on a wide array of prey types, including most marine mammal species (except river dolphins and manatees), seabirds, sea turtles, many species of fishes (including sharks and rays) and cephalopods (Dahlheim and Heyning 1999, Ford and Ellis 1999, Ford 2002). Killer whales have a diversity of foraging tactics, including intentional beaching to gain access to seals onshore. They are known to use cooperative techniques to herd fish and to attack large prey (Dahlheim and Heyning 1999, Baird 2000). Although a generalist as a species, at least some subpopulations specialize on particular types of prey (Bigg et al. 1990, Baird 2000). Studies in coastal waters of the eastern North Pacific, from California to Alaska, have described three distinct ecotypes of killer whales, referred to as residents, transients, and offshores. Although distinguished by ecological differences, there are also differences in coloration, external morphology, behavior and acoustics. The three ecotypes maintain social isolation from each other despite overlapping ranges.","Killer whales have been exploited at low levels in several regions world-wide (Jefferson et al. 1993). Norwegian whalers in the eastern North Atlantic took an average of 56 whales per year from 1938 to 1981. Fishermen in many areas see killer whales as competitors, and intentional shooting of whales is known to occur. This problem is especially serious in Alaska, where depredation of longline fisheries is extensive (Jefferson et al. 1993). Killer whales are still taken in small numbers in coastal fisheries in Japan, Greenland, Indonesia, and the Caribbean islands (Reeves et al. 2003).After 1976, Iceland has been involved in live-captures of killer whales for export. During the period 1976-1988, 59 whales were collected, of which 8 were released, 3 died and 48 (an average 3.7 per year) were exported (Reyes 1991 and ref. therein). In 1991, the lcelandic government announced that once current permits for live-capture expire, no new ones would be issued (Jefferson et al. 1993). Bycatch in trawl and driftnet fishing operations occur, but are considered rare (Dahlheim and Heyning 1999). Persistant, bioaccumulating contaminants have recently been found to present a serious potential risk to some killer whale subpopulations. Large-scale catastrophic oil spills have the potential to cause significant mortality of killer whales. Oil spills may also have an indirect effect by reducing prey abundance.Disturbance may be a matter for concern in areas inhabited by killer whales and supporting whale-watching industries (Reyes 1991). Moving boats can disrupt activities such as foraging and resting, and underwater boat noise could affect social and echolocation signals of the whales or otherwise interfere with foraging (Erbe 2002, Williams et al. 2002). For example, close approaches by whale-watching vessels have been shown to result in avoidance responses by resident killer whales in British Columbia, which may have energetic costs for whales frequently subjected to whale watching activity (Williams et al. 2002, 2006). Fast-moving boats in the proximity of killer whales also present a risk of collision or injury from propellers. Visser (1999) reported propeller scars observed on killer whales in New Zealand. There have been large-scale reductions in predatory fish populations (Myers and Worm 2003, Baum et al. 2003) and over-fishing and collapse of several important “prey” fish stocks world-wide (Jackson et al. 2001). The effects on killer whales of reductions in fish populations due to overexploitation are unknown. In some areas, populations could be vulnerable owing to dietary specialization. The depletion of the Mediterranean bluefin tuna stock is considered a source of concern for the survival of the Gibraltar killer whales (Cañadas and de Stephanis 2006).Predicted impacts of global climate change on the marine environment may affect killer whales, and may affect some subpopulations more than others through changes in prey availability.","The eastern North Atlantic subpopulation is included in Appendix II of the Convention on Migratory Species. The proposal to list all subpopulations of the killer whale in Appendix II was endorsed in 2002 by the Working Group of the CMS in Bonn (see Proceedings), as all the subpopulations were migratory and could profit from cooperative protective measures. Because killer whales are cosmopolitan in distribution, they may be present in virtually any marine protected area worldwide. Further studies on subpopulation structure, abundance and life history are needed.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Peponocephala electra,,No,No,NA,,NA,,This species is assessed as Not Applicable as it is of marginal occurrence in the European Mammal Assessment region.,-,"Melon-headed whales have a pantropical distribution (Perryman 2002). The distribution coincides almost exactly with that of the pygmy killer whale in tropical/subtropical oceanic waters between about 40°N and 35°S (Jefferson and Barros 1997). A few high-latitude strandings are thought to be extralimital records, and are generally associated with incursions of warm water. These include specimens from Cornwall in England, Cape Province in South Africa, and Maryland, USA (Perryman et al. 1994, Rice 1998).","This species is relatively common in some areas of its range, although few abundance estimates are available.","Melon-headed whales usually occur in groups of 100-500 (with a known maximum of 2,000 individuals). Melon-headed whales are highly social. This species is sometimes involved in mass strandings, generally containing many dozens or even hundreds of animals. The largest ones known have included about 250 animals.Most sightings are from the continental shelf seaward, and around oceanic islands; they are rarely found in temperate waters. However, they do occur nearshore in some areas where deep water approaches the coast (see Watkins et al. 1997, Wang et al. 2001). In the eastern tropical Pacific, the distribution of reported sightings suggests that the oceanic habitat of this species is primarily in the upwelling modified and equatorial waters (Perryman et al. 1994).Little is known of the diet of this species, though they are known to feed on several species of squid, shrimp and small fish.","Threats include declines in prey species, incidental mortality in fishing gear, and noise pollution.","The melon-headed whale does not regularly occur in the European Mammal Assessment region, so there are no conservation measures for the species in this area.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Pseudorca crassidens,,No,No,NA,,NA,,This species is assessed as Not Applicable as it is of marginal occurrence in the European Mammal Assessment region.,-,"False killer whales are found in tropical to warm temperate zones, generally in relatively deep, offshore waters of all three major oceans. In addition to deep, oceanic areas, they do sometimes occur over the continental shelf and appear to move into very shallow waters on occasion. They do not generally range poleward of about 50° in either hemisphere. However, some animals occasionally move into higher latitude waters. They are found in many semi-enclosed seas and bays (including the Sea of Japan, Bohai/Yellow Sea, Red Sea, and Persian Gulf), but they only occasionally occur in the Mediterranean Sea (Leatherwood et al. 1989). There are a few records for the Baltic Sea, which are considered extralimital.","There are few estimates of abundance, and none for the global population size. Abundance estimates, even for large oceanic regions such as the eastern tropical Pacific, are only in the low tens of thousands (39,800, CV=64%: Wade and Gerrodette 1993). There is no information on population trends.","As is the case for most of the tropical oceanic delphinids, this species is rather poorly-known (see Baird 2002). This species is considered to be extremely social. Groups of 10-60 are typical, though much larger groups are known. Some groups are very tight-knit, while others may be spread over a kilometer or more of ocean. This is one of the most common species involved in cetacean mass strandings, and in one case, over 800 stranded together. The false killer whale is a lively, fast-swimming cetacean, and occasionally rides bow waves of vessels. False killer whales are known to behave aggressively toward other small cetaceans, and have even been seen chasing and attacking dolphins (in particular, dolphins just released from tuna purse seines) and some large whales.False killer whales occur in tropical and temperate waters worldwide (Stacey et al. 1994, Odell and McClune 1999), generally in relatively deep, offshore waters. However, some animals may move into shallow and higher latitude waters, on occasion (including some semi-enclosed seas such as the Red Sea and the Mediterranean). It seems to prefer warmer water temperatures. Although false killer whales eat primarily fish and cephalopods, they also have been known to attack small cetaceans, humpback whales, and sperm whales. They eat some large species of fish, such as mahi-mahi (also called dorado or dolphinfish), tunas (see Alonso et al. 1999) and sailfish.","Potential threats include decline in prey base, incidental mortality in fishing gear, and noise pollution.","This is a relatively poorly-known species which, although mostly observed over deep water, is known to strand from many coasts. Abundance estimates as well as by-catch data do not exist for most areas, nor are there detailed accounts on migratory behaviour. Clearly, more research is needed.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Sousa chinensis,"Currently, all Indo-Pacific humpback dolphins are considered to be part of a single widespread and highly-variable species, Sousa chinensis. Some biologists consider humpback dolphins in the Indo-Pacific to consist of two species: Sousa plumbea in the western Indian Ocean, from South Africa to at least the east coast of India, and Sousa chinensis from the east coast of India to China and Australia. These two geographic forms differ strongly in morphology and apparently in many ecological characters (see Jefferson and Van Waerebeek 2004 for a partial summary). Morphometric and genetic studies currently underway may resolve this controversy in the near future, but there is growing evidence that at least these two putative species, and possibly others, may be valid (see Rice 1998, Jefferson and Karczmarski 2001).",No,No,NA,,NA,,This species is assessed as Not Applicable as there is only a single record in the European Mammal Assessment region.,-,"Indo-Pacific humpback dolphins of the chinensis-type are found in shallow, coastal waters from both east and west coasts of northern Australia and southern China in the east, through the Indo-Malay Archipelago, and westward around the coastal rim of the Bay of Bengal to at least the Orissa coast of west India (Ross et al. 1994, Jefferson and Karczmarski 2001, Sutaria and Jefferson 2004). The plumbea-type is found in narrow strip of coastal waters from southwest tip of South Africa eastward around the rim of the Indian Ocean to the southeast cost of India (Jefferson and Karczmarski 2001, Ross 2002, IWC 2003). It occurs off Madagascar, Mayotte and the Comoro Islands, in the Red Sea and Persian Gulf. There is an extralimital record for Israel, in the Mediterranean Sea (an apparent stray that moved through the Suez Canal from the Red Sea: Kerem et al. 2001).",There has only been a single sighting of this species in the European Mammal Assessment area (Kerem et al. 2001).,"Humpback dolphins occurs in tropical to warm temperate coastal waters, including open coasts and bays, coastal lagoons, rocky and/or coral reefs, mangrove swamp and estuarine areas (Ross et at. 1994, Jefferson and Karczmarski 2001, Ross 2002); rarely more than a few kilometers from shore. They sometimes enter rivers, but rarely move more than a few kilometers upstream and usually within the tidal range. Their distribution appears to be limited to waters of the continental shelf, and the only places where they range far offshore are those in which the water is shallow (<100m). They appear to be opportunistic feeders, feeding on a wide variety of nearshore, estuarine, and reef fish. They also eat cephalopods in some areas, but crustaceans are rare in the diet (Jefferson and Karczmarski 2001, Ross 2002).","The majority of humpback dolphins inhabit coastal or estuarine waters of developing nations, countries with limited resources and means for environmental protection. Habitat degradation and habitat loss, and incidental mortality in fishing gear represent the greatest threats to this species (Ross et al. 1994, Jefferson and Karczmarski 2001).","Indo-Pacific humpback dolphin is a vagrant in the European Mammal Assessment region, so there are no conservation measures for the species in this area.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Stenella coeruleoalba,"Recent genetic work suggests that the genus Stenella is paraphyletic, and it is likely that it will be restructured in coming years. This species may move to a different genus (LeDuc et al. 1999).",No,No,DD,,DD,,"This species has a varying status in different parts of its European range. In the Mediterranean there have been population declines, and the regional population was recently assessed as Vulnerable (A4de)(Reeves and Notarbartolo di Sciara 2006). However in the eastern North Atlantic there are large populations that show no evidence of significant decline, although population trends have not been quantified. Overall in the European Mammal Assessment region, it is not possible to quantify the population trend because the relative size of the different subpopulations is not known. Consequently the species is assessed as Data Deficient at the European regional level.",Unknown,"This is a widely-distributed species, found tropical and warm-temperate waters of the Atlantic, Pacific, and Indian oceans, as well as many adjacent seas, including the Mediterranean. Northern and southern range limits are about 50°N and 40°S, although there are extra-limital records from the Kamchatka Peninsula, southern Greenland, the Faroe Islands, and the Prince Edward Islands. They are uncommon in the Sea of Japan, East China Sea, off eastern Taiwan and Ryukyuan waters, and a few extra-limital records are known from the Persian Gulf and Red Sea.","Striped dolphins are the most abundant cetacean species in the Mediterranean. The population in the western Mediterranean excluding the Tyrrhenian Sea was estimated in 1991 to be 117,880 dolphins (95%CI=68,379-214,800) (Forcada et al. 1994). There is no estimate for the eastern Mediterranean Sea. Goujon (1996) conducted a sighting survey in 1993 in the fishing grounds of the albacore tuna driftnet fishery in the Bay of Biscay and estimated the abundance of striped dolphins as 74,000 individuals. Morphological and genetic studies strongly suggest that the Mediterranean and eastern North Atlantic populations are isolated from each other, with little or no gene flow across the Strait of Gibraltar (Calzada and Aguilar 1995, García-Martínez et al. 1995, Archer 1997, Gaspari 2004). Within the Mediterranean there is some evidence of population structure based on restriction in gene flow between areas and significant differences in tissue pollutant levels (Calzada and Aguilar 1995, Monaci et al. 1998, Gaspari 2004).","Striped dolphins are primarily found in warm temperate and tropical oceanic regions and are seen close to shore only where deep water approaches the coast (Van Waerebeek et al. 1999). In the Strait of Gibraltar, they are found in waters of 600 m or more depth (Hashmi 1990). In the Mediterranean, striped dolphins are associated with highly productive, oceanic waters beyond the continental shelf (Notarbartolo di Sciara et al. 1993, Forcada et al. 1994, Frantzis et al. 2003, Gannier 2005). The diet of striped dolphins consists primarily of a wide variety of small, midwater and pelagic or benthopelagic fish, especially lanternfish, cod, and squids (Wurtz and Marrale 1993, Hassani et al. 1997, Archer 2002). Striped dolphins apparently feed in pelagic to benthopelagic zones, to depths as deep as 200-700m, in continental slope or oceanic regions.","In the Mediterranean small numbers were taken in Spain, France and Italy for human consumption. They were also hunted for use as bait for shrimp traps and longlines. Despite being illegal, catches continue in southern Spain and probably in other areas (SGFEN 2001, Reeves and Notarbartolo di Sciara 2006). In the Northeast Atlantic, striped dolphins were harpooned to supply food for consumption on board or to scare them away from tuna trolling lines. It is difficult to ascertain the number of dolphins taken in this way, but it has been estimated in the thousands (Reyes 1991).Incidental catches occur throughout the range in various types of fishing gear, especially purse seines and gillnets. The high-seas drift gillnet fisheries, which operated throughout the central and western North Pacific between about 35˚N and 47˚N, increased during the 1970s, and peaked during the 1980s before a United Nations moratorium went into effect in January 1993. Bycatch estimates are only available for 1990, when about 3,000 striped dolphins were estimated killed (Hobbs and Jones 1993). During the 1970s and 1980s, the combined high-seas driftnet fisheries likely killed tens of thousands of striped dolphins, but this level would not have been high enough to cause population declines (Hobbs and Jones 1993).Incidental captures in pelagic driftnets have been a major source of mortality all over the western Mediterranean in the past. These nets are still being illegally used, e.g. by Moroccan, French, Italian and Turkish vessels, resulting in extensive dolphin mortality. The Spanish driftnet fishery in the Alborán Sea reportedly killed 145-183 striped dolphins per season in the early 1990s (Silvani et al. 1999); this fishery was halted in 1995 but the nets were transferred to Moroccan boats, which continue operating and are estimated to kill in the order of 1,555-2,092 striped dolphins per year (Tudela et al. 2005). The Italian driftnet fishery has been reported to kill 5,000-15,000 dolphins, mostly striped dolphins, per year (Di Natale 1992). The French thonaille driftnet fishery has been estimated to take about 180-472 striped dolphins per season (Imbert et al. 2001). Reports from other fishing activities are sparse and collected non-systematically, but they indicate that striped dolphin mortality in at least pelagic purse-seines, longlines and gillnets is widespread and likely significant (Di Natale and Notarbartolo di Sciara 1994). Large incidental kills in pelagic trawl and driftnet fisheries off western Europe are also a source of concern (IWC 1998, Tregenza and Collet 1998). Antoine et al. (2001) found that by-catch rates in the tuna drift-net fishery in the northeastern Atlantic were 90% composed of Delphinus delphis and Stenella coeruleoalba. Mean catch rate by trip in 1992-1993 years were 4.7 striped dolphins per km of net and per day. Such rates are similar to those estimated in other driftnet fisheries. Goujon (1996) estimated the annual additional mortality linked to driftnets in the Bay of Biscay albacore tuna fishery to 1.8% for the striped dolphin (this estimate must be increased by 30% in order to take into account the whole European albacore tuna driftnet fishery). Tissue levels of organochlorine compounds, some heavy metals and selenium in Mediterranean striped dolphins are high and exceed threshold levels above which detrimental effects commonly appear in mammals (Monaci et al. 1998, Aguilar 2000, Cardellicchio et al. 2000). Organochlorine pollutants, in particular, are found at levels that greatly exceed thresholds of reproductive impairment in bottlenose dolphins elsewhere (Aguilar 2006). Blubber concentrations of DDT (an agricultural pesticide) and PCB, the two main organochlorine pollutants, have been slowly declining in the last two decades (Aguilar and Borrell 2005) but are still high. High PCB levels have the potential to depress reproductive rates in striped dolphins (Munson et al. 1988).The 1990-92 epizootic devastated the whole Mediterranean population of striped dolphins, producing many thousands of deaths (Bortolotto et al. 1992, Aguilar and Raga 1993). Immediately after the event, the mean school size was found to be less than one third of prior levels, which may be interpreted as indicating a proportional reduction in overall population size (Forcada et al. 1994). The primary cause of the die-off was a morbillivirus infection (Domingo et al. 1990) but PCBs and other organochlorine pollutants with potential for immunosuppressive effects may have triggered the event or enhanced its spread and lethality (Aguilar and Borrell 1994). Commercially exploited fish and cephalopod species are important components of striped dolphin diet in the Mediterranean (Blanco et al. 1995). As many stocks of important striped dolphin prey (e.g. the European anchovy) are known to have been depleted, reduced prey availability resulting from conflict with commercial fisheries is considered a potentially important threat (Reyes 1991, Reeves and Notarbartolo di Sciara 2006) and may have contributed to the 1990-1992 epizootic (Aguilar 2000).","The western Mediterranean subpopulation is included in Appendix II of the Convention on Migratory Species. Further research should be focused on stock identity and abundance, the effects of direct and incidental mortality, and the effects of pollutants and other sources of habitat disturbance on dolphin subpopulations, in particular in the western Mediterranean (Reyes 1991).",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Steno bredanensis,,No,No,NA,,NA,,This species is assessed as Not Applicable as it is of marginal occurrence in the European Mammal Assessment region.,-,"The rough-toothed dolphin is a tropical to subtropical species, which generally inhabits deep, oceanic waters of all three major oceans, rarely ranging north of 40°N or south of 35°S (Jefferson 2002). However in some areas (such as off the coast of Brazil and West Africa), rough-toothed dolphins may occur in more shallow coastal waters. They are found in many semi-enclosed bodies of water (such as the Gulf of Thailand, Red Sea, Gulf of Mexico, Caribbean Sea, and Gulf of California), but they are regarded as visitors in the Mediterranean Sea (Watkins et al. 1987, Miyazaki and Perrin 1994, Reeves and Notarbartolo di Sciara 2006).","This species is of marginal occurrence in the European Mammal Assessment region. Globally, there are few estimates of abundance for this species.","Most often, Steno bredanensis is found in deep water far offshore, usually beyond the continental shelf (Maigret 1994), but may be seen close inshore in areas of steep bottom relief (Ritter 2002). Rough-toothed dolphins appear to be widespread in warm temperate and tropical waters around the world. In the eastern tropical Pacific, they tend to associate with other cetaceans (especially pilot whales and Fraser’s dolphins) (Miyazaki and Perrin 1994). Rough-toothed dolphins feed on cephalopods and fish, including large fish such as Coryphaena hippurus (Pitman and Stinchcomb 2002).","No fisheries are known to specifically target this species, but small numbers are taken in drive fisheries in parts of the global range (outside Europe). Incidental mortality in gill nets, drift nets and pelagic long-lines has been recorded.","The biology, life history, population size, and separation into subpopulations, as well as migratory behaviour are insufficiently known. Research on this species should be encouraged.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,DELPHINIDAE,Tursiops truncatus,"All bottlenose dolphins around the world were previously recognized as T. truncatus, but recently the genus has been split into two species: T. truncatus and T. aduncus (the smaller Indo-Pacific bottlenose dolphin: Wang et al. 1999, 2000a,b). However, the taxonomy of bottlenose dolphins is confused, due to geographical variation, and it is very possible that additional species will be recognized in the future. For example, two forms in the North Atlantic, an offshore and a coastal form, are distinguishable on the basis of morphology and ecological markers (e.g. Mead and Potter 1995), have fixed genetic differences and, therefore, eventually may be assigned to different species (Leduc and Curry 1997, Hoelzel et al. 1998, Reeves et al. 2003).Bottlenose dolphins in the Black Sea are recognized as a subspecies possessing morphological differences from Atlantic and Pacific dolphins (Barabasch-Nikiforov 1960, Geptner et al. 1976). The Black Sea subpopulation is also differentiated genetically from other bottlenose dolphins in the eastern and western Mediterranean and the northeastern Atlantic (Natoli et al. 2005), and the available evidence (Birkun 2006) supports recognition of the subspecies T. t. ponticus.",No,No,DD,,DD,,"This species has a varying status in different parts of its European range. In the Mediterranean and Black seas there have been substantial population declines; the Mediterranean population was recently assessed as Vulnerable (A2cde), and the Black Sea subspecies T. t. ponticus was classed as Endangered (A2cde)(Reeves and Notarbartolo di Sciara 2006). However, although there are no estimates of population size or trend from offshore waters of the North Atlantic, the population there is likely to be large and shows no evidence of significant decline. Overall in the European Mammal Assessment region, it is not possible to quantify the population trend because the relative size of the different subpopulations is not known. Consequently the species is assessed as Data Deficient at the European regional level.",Unknown,"Common bottlenose dolphins are distributed worldwide through tropical and temperate inshore, coastal, shelf, and oceanic waters (Leatherwood and Reeves 1990, Wells and Scott 1999, Reynolds et al. 2000). Bottlenose dolphins generally do not range pole-ward of 45° except in northern Europe (as far as the Faroe Islands 62°N 7°W: Bloch and Mikkelsen 2000). The species is rare in the Baltic Sea (it may best be considered extralimital there), and is vagrant to Norway (Wells and Scott 1999).","Abundance has been estimated for several parts of the species' range. Summing available estimates, a minimum world-wide estimate of common bottlenose dolphins is 600,000. Total abundance in the Mediterranean is unknown but thought to be in the low 10,000s based on observed densities in areas that have been surveyed (Reeves and Notarbartolo di Sciara 2006). Surveys in the northwestern Mediterranean estimated 7,654 (CV=45%) dolphins (Forcada et al. 2004). An estimated 584 (CV=28%) animals occur in the Alboran Sea (Cañadas and Hammond 2006). Mediterranean bottlenose dolphins exhibit population structure based on toxicology and diet (Borrell et al. 2005) and genetics (Natoli et al. 2005). The total population size in the Black Sea is unknown. However, there are recent abundance estimates for parts of the range suggesting that population size is at least several thousands (Reeves and Notarbartolo di Sciara 2006). Preliminary estimates from the late 1980s indicate about 1,000 dolphins occur around the Faroe Islands (Sigurjónsson et al. 1989, Bloch and Mikkelsen 2000). A wide scale survey in 2005 of western European continental shelf waters including the western Baltic, North Sea and Atlantic margin as far as southern Spain estimated that there were 12,600 bottlenose dolphins in this area (CV=27%, P. Hammond pers. comm.).Reeves and Notarbartolo di Sciara (2006) estimate generation time in the common bottlenose dolphin to be c.20 years.","Common bottlenose dolphins tend to be primarily coastal, but they can also be found in pelagic waters (Wells and Scott 1999). Where distinct ecotypes are known, the inshore form frequents estuaries, bays, lagoons and other shallow coastal regions, occasionally ranging far up into rivers. The offshore form is apparently less restricted in range and movement. Some offshore dolphins are residents around oceanic islands. In many inshore areas bottlenose dolphins maintain definable, long-term multi-generational home ranges, but in some locations near the extremes of the species range, coastal bottlenose dolphins are migratory. Black Sea bottlenose dolphins are common over the continental shelf; they sometimes occur far offshore (Reeves and Notarbartolo di Sciara 2006). Bottlenose dolphins are commonly associated with many other cetaceans, including both large whales and other dolphin species (Wells and Scott 1999). Mixed schools with Indo-Pacific bottlenose dolphins have been found, for instance off China and Taiwan (J. Wang, pers. comm.). Spring and summer, spring and fall, or single summer calving peaks are known for most areas where this has been studied (Wilson 1995, Wells and Scott 1999). In general, bottlenose dolphins consume a wide variety of prey species, mostly fish and squid (Barros and Odell 1990, Barros and Wells 1998, Santos et al. 2001). They sometimes eat shrimps and other crustaceans.","Coastal and island-centered populations are especially vulnerable to hunting, incidental catch, and habitat degradation (see Curry and Smith 1997 for a review). Acute conservation problems are known in the Mediterranean and Black seas (IWC 1992, Reeves and Notarbartolo di Sciara 2006) as well as a number of other areas in the global range (outside Europe). Dolphin catches for bait, human consumption, or to remove competition with fisheries have been reported worldwide (see reviews in Wells and Scott 1999, 2002). The only Mediterranean area with quantitative historical information is the northern Adriatic Sea, where bottlenose dolphins likely have declined by at least 50% over the past 50 years, largely as a consequence of historical killing in extermination campaigns to reduce competition for fish, followed by habitat degradation and overfishing. The extermination campaigns were conducted until the early 1960s (Bearzi et al. 2004, Reeves and Notarbartolo di Sciara 2006). For the north-western Mediterranean, the available information suggests similar trends (Reeves and Notarbartolo di Sciara 2006). Drive fisheries have been reported from the Faroe Islands and Japan. Up to 308 are taken annually in the Faroe Islands drive fishery (dating back to 1803), often with long finned pilot whales (Reyes 1991). The Black Sea subspecies has had extensive directed takes for commercial products (Kleinenberg 1956, Tomilin 1957, Buckland et al. 1992), including takes of at least 24,000-28,000 during 1946-1983 in the Black Sea off Turkey. However, the total number of dolphins killed was certainly much greater (probably by tens of thousands) as figures do not include, or only partially include, catch statistics from other Black Sea countries (Reeves and Notarbartolo di Sciara 2006).Live-capture removal of Black Sea bottlenose dolphins, including mortality during capture operations, is estimated at 1,000-2,000 since the early 1960s. Live-captures continue in the Russian Federation, with 10-20 animals taken annually from a small area in the Kerch Strait, Russia (Reeves and Notarbartolo di Sciara 2006). According to CITES statistics, at least 92 individuals were removed from the Black Sea region during 1990-1999 (Reeves et al. 2003) and Russia reportedly has exported at least 66 for travelling shows since 1997 (Fisher and Reeves 2005).Incidental catches of common bottlenose dolphins are known from throughout the species’ range, in gillnets, driftnets, purse seines, trawls, long-lines, and on hook-and-line gear used in commercial and recreational fisheries, but numbers of mortalities are often poorly documented (Wells and Scott 1999). Annual Black Sea bottlenose dolphin incidental mortality in bottom-set gillnets from 1946 through the 1980s is roughly estimated in the hundreds. The scale of this mortality almost certainly increased in the 1990s-2000s owing to the rapid expansion of illegal, unreported and unregulated fishing (Reeves and Notarbartolo di Sciara 2006). According to Öztürk (1999) at least 200-300 bottlenose dolphins per year may be taken incidentally in Turkish fisheries in a variety of fishing nets, especially bottom-set gill nets.Common bottlenose dolphins in coastal areas are exposed to a wide variety of threats in addition to direct and indirect takes. Threats that are cause for concern include: 1) the toxic effects of xenobiotic chemicals; 2) reduced prey availability caused by environmental degradation and overfishing (Pauly et al. 1998, Jackson et al. 2001); 3) direct and indirect disturbance and harassment (e.g. boat traffic and commercial dolphin watching and interactive programs); 4) marine construction and demolition and 5) other forms of habitat destruction and degradation (including anthropogenic noise). Although these and other threats are technically challenging to quantify by comparison with takes, their cumulative impact is likely to result in longitudinal population declines. Lack of historical data in many cases hampers understanding of long term trends, possibly resulting in shifting baselines. The contribution of anthropogenic factors to an increasing number of Unusual Mortality Events involving bottlenose dolphins remains to be determined (Spradlin et al. 2005).","The bottlenose dolphin has been afforded special protected status under Annex II of the EU Habitats Directive. Commercial hunting of Black Sea cetaceans including bottlenose dolphins was banned in 1966 in the former USSR, Bulgaria and Romania, and in 1983 in Turkey. Research on population structure, abundance and removals of common bottlenose dolphins is needed so that risks to regional populations can be assessed.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,ESCHRICHTIIDAE,Eschrichtius robustus,,No,No,RE,,RE,,The gray whale has been Regionally Extinct since the 1700s or earlier.,-,"The gray whale was once found in the North Atlantic. Sub-fossil remains, the most recent dated at around 1675, have been found on the eastern seaboard of North America from Florida to new Jersey, and on the coasts of the English Channel and the North and Baltic seas. There are historical accounts of living gray whales from Iceland in the early 1600s and possibly off New England in the early 1700s (Rice 1998). Gray whales are now only found in the North Pacific and adjacent waters.","This species is extinct in the North Atlantic. In the North Pacific, the eastern stock has recovered strongly from past over-exploitation, and the most recent population estimate is 15,000-22,000 for 2001/02. The western Pacific stock remains at a small fraction of past levels and is estimated to number about 100 individuals, of which 20-30 are mature females (Reeves et al. 2005). It is considered Critically Endangered.","Gray whales are primarily bottom feeders and are thus restricted to shallow continental shelf waters for feeding. They are largely coastal although they do feed at greater distances from shore on the shallow flats of the Bering and Chukchi seas. Gray whales feed primarily on swarming mysids, tube-dwelling amphipods, and polychaete tube worms in the northern parts of their range, but are also known to take red crabs, baitfish, and other food (crab larvae, mobile amphipods, herring eggs and larvae, cephalopods, and megalops) opportunistically or off the main feeding grounds.Most groups are small, often with no more than three individuals, but gray whales do sometimes migrate in pods of up 16, and larger aggregations are common on the feeding and breeding grounds. ‘Aerial’ behaviour such as breaching and spyhopping are common, especially during migration, and in and near the breeding lagoons of Baja California and mainland Mexico.","Gray whales have been subject to hunting since prehistoric times, due to their slow swimming speeds and coastal distribution. The North Atlantic population was extinct by the early 1700s although the causes are unclear. Overexploitation was though to have caused the extinction of the western gray whale until Soviet scientists in the 1980s reported a small remnant group summering off Sakhalin Island, Russia. The eastern North Pacific population had reached such low numbers by the end of the 19th century that commercial whaling ceased, but has now recovered to at or near carrying capacity, its abundance showing some fluctuation in response to environmental conditions. The eastern North Pacific population is subject to anthropogenic threats such as entanglements in fishing gear (Baird et al. 2002), disturbance by vessels and other noise, collisions, and possibly petroleum-related and other contaminants (Moore and Clarke 2002). However, these do not appear to be important for the demography of the population.","The gray whale is regionally extinct in European waters, so there are no conservation measures for this species in the region. Gray whales have been protected from commercial whaling by the International Whaling Commission since its establishment in the 1946. Limited aboriginal subsistence whaling is permitted by the IWC for the eastern gray whale and catch limits have been set since the 1970s on the basis of advice from its Scientific Committee.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,MONODONTIDAE,Delphinapterus leucas,Specimens that appear to be hybrids between narwhals and belugas have been described from nature (Heide-Jørgensen and Reeves 1993).,No,No,NA,,NA,,This species is assessed as Not Applicable as it is of marginal occurrence in the European Mammal Assessment region.,-,"Beluga whales are distributed in high latitudes of the Northern Hemisphere from the west coast of Greenland westwards to Svalbard (Stewart and Stewart 1989, O'Corry-Crowe 2002). Records from the Sea of Japan and Baltic Sea are considered extralimital but resident populations occur in cold temperate latitudes in Cook Inlet (Alaska) and the St. Lawrence River system (Canada).","The global population consists of numerous subpopulations with varying degrees of differentiation. The IWC organized information on the basis of 29 management stocks and recognized that these were provisional (IWC 2000). Some of the stock boundaries overlap spatially and seasonally, complicating assessment. Many of the sub-populations or stocks maintain distinct or contiguous geographical ranges during the summer months and mix during the spring and autumn migrations and share common wintering quarters. While good abundance estimates are available for some beluga sub-populations/stocks, the size of others is virtually unknown. Total numbers worldwide are well above 150,000 animals.","Belugas occupy estuaries, continental shelf and slope waters, and deep ocean basins in conditions of open water, loose ice, and heavy pack ice. Belugas occur seasonally (mainly in summer) in coastal waters as shallow as 1-3 m deep but also in deep offshore waters (>800 m). They typically enter estuaries and sometimes move upstream into rivers; there are records of individuals or small groups ranging hundreds of kilometers from the sea.","Direct hunting by aboriginal people for food is the biggest known threat to belugas across certain portions of their range. The most immediate concerns relate to continuing harvests from small and depleted subpopulations (IWC 2000). The strong philopatry of belugas, which causes them to return to the same estuaries year after year, makes them highly vulnerable to overexploitation. This behavioural trait is undoubtedly the most important natural factor which has led to the extirpation of belugas from some parts of their range (e.g. southwest Greenland, some river mouths in Ungava Bay, Canada) by a combination of commercial and subsistence hunting. Another threat is Arctic climate change. As recent decreases in ice coverage have been more extensive in the Arctic belugas may experience climate-induced geographic shifts or altered reproductive capacity due to persistent changes in ice extent. Changes in sea ice extent and concentration thus have the potential to alter the distribution, range and migration patterns of cetaceans associated with ice habitats, and thus indirectly affect nutritional status, reproductive success, and ultimately the abundance and stock structure of these species (Tynan and DeMaster 1997, Laidre et al. in press). Belugas are also susceptible to sassats or ice entrapments when sea ice conditions rapidly change.Other known or potential threats include a wide variety of human activities: oil and gas development, expansion of fisheries (with possible implications for bycatch and resource depletion), and industrial and urban pollution.","Local and regional management bodies exist in Canada, Greenland, and the United States (Alaska), with the expectation that they will ensure the conservation of belugas. These include the Alaska Beluga Whale Committee (United States) and JCNB/NAMMCO (Canada/Greenland) and generally set harvest limits or recommend harvest limits for beluga populations within countries of interest. Harvest levels from sub-populations range anywhere from <10 to a few hundred animals per year. Removals from some subpopulations/stocks are considered sustainable, however there is concern and evidence that removals from other subpopulations/stocks are not (e.g. Eastern Hudson Bay and West Greenland) (Alvarez and Heide-Jørgensen 2004). In the Russian Federation, there is little to no population assessment.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,MONODONTIDAE,Monodon monoceros,,No,No,NA,,NA,,This species is assessed as Not Applicable as it is of marginal occurrence in the European Mammal Assessment region.,-,"Narwhals primarily inhabit the Atlantic sector of the Arctic and are rare in the Pacific sector. The principal distribution is from the central Canadian Arctic (Peel Sound – Prince Regent Inlet and northern Hudson Bay), eastward to Greenland and into the eastern Russian Arctic (around 180°E). They are rarely observed in the far eastern Russian Arctic, Alaska, or the western Canadian Arctic. In summer, narwhals spend approximately two months in high Arctic ice-free shallow bays and fjords and overwinter in offshore, deep, ice-covered habitats along the continental slope (Heide-Jørgensen and Dietz 1995). These disjunct seasonal distributions are connected by extensive annual migrations (over 1,000 km) which last approximately two months (Koski and Davis 1994, Dietz et al. 2001, Heide-Jørgensen et al. 2002, Innes et al. 2002, Heide-Jørgensen et al. 2003).","The global population is probably in excess of 80,000 animals. The narwhals that summer in the Canadian High Arctic constitute the largest fraction, probably in excess of 70,000 animals (Innes et al. 2002, NAMMCO/JCNB 2005).","In all areas of their occurrence, narwhals prefer deep or offshore waters (Hay and Mansfield 1989). Narwhals from Canada and West Greenland have high site fidelity to the winter pack ice of Davis Strait and Baffin Bay in regions along the continental slope with high gradients in bottom temperatures, predictable open water (< 5%), and relatively high densities of Greenland halibut (Laidre et al. 2004). Fish, squid, and shrimp make up most of the narwhal diet (Hay and Mansfield 1989, Heide-Jørgensen 2002), especially Arctic fish species, such as Greenland halibut, Arctic cod, and polar cod (the latter of which are often associated with undersides of ice) (Laidre and Heide-Jørgensen 2005). Narwhals feed at times in deep water and possibly at or near the bottom. Dives of up to nearly 1,500 m and 25 minutes are documented (Laidre et al. 2003), and there are some seasonal differences in the depth and intensity of diving (Laidre et al. 2002, Laidre et al. 2003).","Narwhal populations may be limited or threatened by hunting, climate change, and industrial activities such as commercial fishing and oil exploration. Narwhals were never the targets of large-scale commercial hunting except for a brief period of perhaps several decades of the early 20th century in the eastern Canadian Arctic (Mitchell and Reeves 1981). They were hunted opportunistically by commercial whalers, explorers and adventurers in many areas. Narwhals have been hunted by the Inuit for human food, dog food and tusk ivory (Born et al. 1994). The mattak (skin and adhering blubber) is highly prized as food and provides a strong incentive for the hunt (Reeves 1993, Heide-Jørgensen 1994). The effects of climate change on narwhals are uncertain. Narwhals are well adapted to a life in the pack ice as indicated by the fact that there is very little open water in their winter habitat (Laidre and Heide-Jørgensen 2005). Narwhals spend much of their time in heavy ice and are vulnerable to events called ice entrapments where hundreds of whales become trapped in a small opening in the sea ice and die. This occurs when sudden changes in weather conditions (such as shifts in wind or quick drops in temperature) freeze shut leads and cracks they were using. When live entrapped whales are discovered by Inuit hunters, they normally take advantage of the event by killing the animals. A recent assessment of the sensitivity of all Arctic marine mammals to climate change ranked the narwhal as one of the three most sensitive species, primarily due to its narrow geographic distribution, specialized feeding and habitat choice, and high site fidelity (Laidre et al. in press).","The narwhal is actively hunted only in Canada and Greenland. In Canada, the quota system that had been in place since the 1970s was replaced by a community-based management system implemented in the late 1990s and early 2000s (COSEWIC 2004). The hunt is managed by local hunter and trapper organizations with harvest limits established in some communities. Compliance has been questionable (COSEWIC 2004). Under this system, removals from some summering aggregations are probably sustainable, however there is concern that removals from other summering aggregations may not be (NAMMCO/JCNB 2005). In Greenland, a quota system was introduced in 2004 by the Greenland Ministry of Fisheries and Wildlife. The quota was set at 300 narwhals (of which 294 were taken), divided among municipalities of West Greenland. Compliance has reportedly been good (NAMMCO/JCNB 2005). Narwhals are legally protected in Russia and Norway. The species is listed in Appendix II of CMS.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,PHOCOENIDAE,Phocoena phocoena,"Four subspecies are recognized: P. p. phocoena in the North Atlantic, P. p. vomerina in the eastern North Pacific, an un-named subspecies in the western North Pacific (Rice 1998) and P.p. relicta in the Black Sea (Reeves and Notarbartolo di Sciara 2006).Several genetic and morphometric studies have concluded that the Baltic porpoises are a separate population distinct from those living in Kattegat, Skagerrak and North Sea (Tiedeman et al. 1996, Huggenberger 1997, Huggenberger et al. 2002). A recent genetic study found no statistically significant differences that would justify a separate Baltic population (Palme et al. 2004). However, it is precautionary to consider Baltic porpoises as a distinct subpopulation.",No,No,VU,A2cde,VU,A2cde,"This species has suffered major declines in the Baltic and Black Seas, although large and apparently stable populations persist elsewhere in the European region. Overall, it is estimated that population reduction has exceeded 30% over the last 30 years (= 3 generations). This population decline is driven almost entirely by trends in the Black Sea population (a separate subspecies), which is completely isolated from the North Atlantic population. Consequently at the European regional level the species is classed as Vulnerable (A2cde).The Baltic Sea subpopulation is assessed separately as Critically Endangered (C2a(ii)). The current information on abundance provides evidence for a population size of fewer than 250 mature animals, and a continuing decline can be inferred based on the current information on bycatches. All individuals in the Baltic Sea population belong to one subpopulation.The Black Sea subspecies P. p. relicta was assessed in 2006 as Endangered (A2d+A4cde)(Reeves and Notarbartolo di Sciara 2006).The North Atlantic population of this species is large, and there is no evidence to suggest that any significant declines have occurred (although the population trend has not been quantified). This part of the European population should be considered Least Concern.",Unfavourable,"Harbor porpoises are found in cold temperate to sub-polar waters of the Northern Hemisphere (Gaskin 1992, Read 1999). They are usually found in continental shelf waters, although they occasionally travel over deeper offshore waters. In the North Pacific, they range from central California and northern Honshu to the southern Beaufort and Chukchi Seas (including the Bering and Okhotsk Seas, and Sea of Japan). In the North Atlantic, they are found from the southeastern United States to southern Baffin Island (they apparently do not enter Hudson Bay) in the west, and from Senegal to Novaya Zemlya in the east. They also occur around southeast and western Greenland, Iceland, and the Faroe Islands, and this is the only cetacean species that currently regularly occupies the Baltic Sea. The species occurs in the Black Sea, Marmara Sea, and Sea of Azov, but with the exception of the adjacent northern Aegean Sea, they do not regularly occur in the Mediterranean Sea.","In the North Atlantic Ocean (including the Black and Azov seas), fourteen population units have been proposed (Donovan and Bjørge 1995), and in the North Pacific, several population units have been identified based on genetic studies (Chivers et al. 2002). There are no synoptic surveys covering the entire range within ocean basins, but abundance has been estimated for selected portions of the species’ range. Abundance estimates have been summarised by Read 1999 (see updates in Angliss and Outlaw 2005, Carretta et al. 2006, Waring et al. 2006). In the waters of the European Atlantic, abundance in 2005 was estimated at 385,600 [CV=0.20] (SCANS-II P.S. Hammond pers. comm.), of which about 335,000 [CV=0.21] were estimated in the North Sea and adjacent waters, where abundance was estimated at 341,000 [CV=0.14] in 1994 (Hammond et al. 2002). The abundance of the Baltic Sea stock has been estimated at 599 (CV=57%; 95% confidence interval = 200-3,300) (Hiby and Lovell 1995), of which about 50% or 300 would likely be mature (Taylor et al. 2007). Using a precautionary approach (Wade 1998), a minimum abundance estimate of mature animals would be the lower 20th percentile of the abundance estimate of mature individuals, equal to 192. Line transect surveys have been conducted recently (since 2001) to estimate harbour porpoise abundance in different portions of the Black Sea suggesting that total population size in the region may be at least several thousand and perhaps as much as 10,000-12,000 (Reeves and Notarbartolo di Sciara 2006).There is evidence of decline in abundance in some areas, for example in the Black Sea (Reeves and Notarbartolo di Sciara 2006) and the Baltic Sea. Although there are no reliable estimates of pre-exploitation subpopulation size, harbour porpoises were once numerous in the Baltic proper (see citations in Kinze 1995).","Throughout its range, P. phocoena is largely limited to continental shelf waters. They frequent relatively shallow bays, estuaries, and tidal channels less than about 200 m in depth. Harbor porpoises eat a wide variety of fish and cephalopods, and the main prey items vary regionally. Although small schooling fish (e.g. herring) are important, demersal foraging is characteristic in many areas. The ecology of Black Sea harbour porpoises may be unusual reflecting the high degree of geographic isolation of their habitat.Surveys in 1994 and 2005 in the North Sea and adjacent waters have shown a major shift in distribution from northern to southern areas (Hammond et al. 2002, P.S. Hammond pers. comm. 2007), a change that is reflect by increased in shore-based sightings (Camphuysen 2004, Thomsen et al. 2006).","The harbor porpoise has been hunted in many areas of its range, including some European waters. Many of these fisheries are now closed, but hunting of harbour porpoises still occurs in Greenland. In the Black Sea, large directed takes occurred during 1976-1983 before being banned by Turkey in 1983. Within that period, the total number of harbour porpoises killed was at least 163,000-211,000. Illegal direct killing of unknown numbers continued in some parts of the Black Sea until 1991 (Reeves and Notarbartolo di Sciara 2006).Today, the most significant threat in most areas is incidental catches in fishing gear, primarily gill nets. Incidental mortality in fishing gear is likely to occur throughout the range of the species, but in European waters substantial incidental takes have been documented (summarized in Donovan and Bjørge 1995) for the North Sea (4,600/year) and the Celtic Shelf (1,500/year). More recent monitoring programmes of Danish set-net fisheries in the North Sea revealed an average of 5,591 porpoises taken annually in the period 1987-2001 (Vinther and Larsen 2002). However, most North Sea gillnet fisheries were not monitored for marine mammal bycatch (ICES 2002). In the Black Sea incidental mortality in bottom-set gillnets is estimated to have been in the thousands annually through the 1980s (e.g. Birkun 2002). Almost all (>99%) of the porpoises are caught in bottom-set gillnets. The scale of this mortality almost certainly increased in recent times owing to the rapid expansion of illegal, unreported and unregulated fishing in the Black Sea.Other types of threats include chemical pollution, vessel traffic, noise, and depletion of prey by overfishing. Due to its near shore distribution, the harbour porpoise is exposed to coastal sources of pollution throughout most of its range. Chemical pollution (PCBs) has been described as having adverse effects, especially in the Baltic. Porpoises from the Baltic Sea have up to 254% higher mean levels of PCBs than corresponding samples from the adjacent Kattegat and Skagerrak (Berggren et al. 1999, Bruhn et al. 1999), and a number of lesions and pathological changes have been reported from the Baltic Sea porpoises (Clausen and Andersen 1988).","The European Union adopted a Council Regulation 812/2004 entering into force in July 2004. This regulation is aimed at reducing the incidental catch of small cetaceans in fisheries in European Union waters. The regulation includes measures restricting Baltic Sea drift net fisheries, providing for mandatory use of acoustic deterrent devices (pingers) in some EU gillnet fisheries in the Baltic Seas, and the use of onboard observers on vessels of over 15 m in length. Immediate actions to reduce the magnitude of bycatches are necessary. A review of the progress of implementing the regulation is scheduled for 2007. Commercial hunting of Black Sea cetaceans, including harbour porpoises, was banned in 1966 in the former USSR (present Georgia, Russia and Ukraine), Bulgaria and Romania, and in 1983 in Turkey. In the North Sea incidental takes have been determined to be above the advised maximum level of removals.Under the aegis of the ASCOBANS Secretariat, a special working group composed of representatives of international conventions, government ministries, fishermen and environmental groups has developed a recovery plan for the Baltic Harbour porpoise (Jastarnia Plan), which recommends a programme for bycatch reduction, research and monitoring, marine protected area establishment and an increase of public awareness. The overall aim is to restore the Baltic population of harbour porpoises to at least 80% of the Baltic’s carrying-capacity. A change in fishing methods and a reduction of fishing effort could significantly contribute to a lower bycatch rate.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,PHYSETERIDAE,Kogia breviceps,,No,No,NA,,NA,,This species is assessed as Not Applicable as it is of marginal occurrence in the European Mammal Assessment region.,-,"Pygmy sperm whales are known from deep waters (outer continental shelf and beyond) in tropical to warm temperate zones of all oceans (McAlpine 2002). They appear to be especially common over and near the continental slope, although they also occur in very deep oceanic regions. This species appears to prefer somewhat more temperate waters than does the dwarf sperm whale. The range of Kogia breviceps is poorly known, though a lack of records of live animals may be more due to inconspicuous behaviour rather than rarity. Most information stems from strandings (especially females with calves), which may give an inaccurate picture of the actual distribution at sea (Culik 2004). There are very few records of this species from European waters (Reid et al. 2003)",There are no estimates of global abundance for pygmy sperm whales. The frequency with which they strand in some areas (such as Florida and South Africa) suggests that they may not always be as uncommon as sightings would suggest. Abundance is often underestimated using visual survey methods because they dive for long periods and are inconspicuous when they surface (Barlow 1999).,"Kogia breviceps has records from nearly all temperate, subtropical, and tropical seas. It is rarely seen at sea; it tends to live a long distance from shore and has inconspicuous habits. According to Caldwell and Caldwell (1989) K. breviceps lives in oceanic waters beyond the edge of the continental shelf while K. sima lives over or near the edge of the shelf. However, this separation of both species was not apparent in the study of Mullin et al. (1994) who, by aerial observation, found both species over water depths of 400-600m in the north-central Gulf of Mexico.","Although they have never been taken in large numbers and have never been hunted commercially, small numbers have been taken in coastal whaling operations off Japan, Indonesia, Taiwan, the Lesser Antilles, and Sri Lanka (Jefferson et al. 1993). Perez et al. (2001) reported occasional bycatch in fisheries in the northeast Atlantic (mostly gillnet and purse seine operations). Noise pollution may also be a problem.",This species seldom occurs in European waters and thus there are no specific conservation measures at the regional level.,Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,PHYSETERIDAE,Kogia sima,"This taxonomic unit is treated as one species even though there is genetic evidence to suggest that there may be two separate species of dwarf sperm whales, one in the Atlantic and one in the Indo-Pacific (Chivers et al. 2005). However, this remains to be confirmed with additional work.",No,No,NA,,NA,,This species is assessed as Not Applicable as it is of marginal occurrence in the European Mammal Assessment region.,-,"The dwarf sperm whale, like the pygmy sperm whale, is known mostly from strandings (Nagorsen 1985, Caldwell and Caldwell 1989, McAlpine 2002). It is generally not a commonly-seen species at sea, although this may have more to do with its cryptic appearance than actual rarity. It appears to be distributed widely in tropical to warm temperate zones, apparently largely offshore. Their distribution shows somewhat more of a preference for warmer waters than does that of the pygmy sperm whale, and this species probably does not range as far into high-latitude waters. There is no evidence of migrations. A single record exists for the Mediterranean, and this is considered extralimital.",No estimates of global abundance exist.,"There is very little known of the ecology of this species (Caldwell and Caldwell 1989, McAlpine 2002). Much of what is known comes from records of strandings. Group sizes tend to be small, most often less than about six individuals (although groups of up to 10 have been recorded). Dwarf sperm whales appear to feed primarily on deep-water cephalopods, but also take other prey types (see dos Santos and Haimovici 2001).","Primary threats that could cause widespread declines include vulnerability to high-level anthropogenic sound sources, especially military sonar and seismic surveys, and bycatch. Hunting is localized and has not had a high impact on the status of the species globally.",This species seldom occurs in European waters and thus there are no specific conservation measures at the regional level.,Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,PHYSETERIDAE,Physeter macrocephalus,"Also known as Physeter catodon Linnaeus, 1758.",No,No,VU,A1d,VU,A1d,"European regional assessment: Vulnerable. The population and range are large enough that Criteria B and D do not apply. Does not meet Criterion C because there is no evidence of continuing decline. There are no estimates of historical or pre-exploitation abundance for the marine area covered by the European Mammal Assessment, but populations were undoubtedly depleted by commercial whaling. It is suspected that, by comparison with population levels 82 years (3 generations) ago, the population is currently >50% lower. This is a precautionary assessment that is not based on quantitative data, and it is strongly recommended that further surveys and modelling studies are carried out to better determine current and historic population size and trends.The Mediterranean subpopulation, which is genetically distinct, is assessed as Endangered C2a(ii). It contains fewer than 2,500 mature individuals, there is a continuing decline, and all mature individuals are in one undivided subpopulation. The Mediterranean subpopulation is subject to a number of threats that can result in direct mortality, including bycatches in fishing gear (especially drift gillnets) and ship strikes. In addition, the subpopulation may be affected by disturbance, particularly related to intense maritime traffic (Reeves and Notarbartolo di Sciara 2006).",Unfavourable,"The sperm whale has a large geographic range (Rice 1989). Sperm whales can be seen in nearly all marine regions, from the equator to high latitudes, but they are generally found in continental slopes or deeper water. The distribution extends through many enclosed or partially enclosed seas, such as the Mediterranean Sea, Sea of Okhotsk, Gulf of California, and Gulf of Mexico.","The only recent quantitative analysis of sperm whale population trends (Whitehead 2002) suggests that a pre-whaling global population of about 1,100,000 had been reduced by about 29% by 1880 through “open-boat” whaling, and then to approximately 360,000 by the 1990s through modern whaling, although much uncertainty is associated with all these estimates. There is no direct evidence that any part of the population has increased since the end of large-scale whaling in about 1980 although, for most areas, there is also no direct evidence that they have not. In some areas there is concern that populations are continuing to decline (e.g. the Mediterranean).","The habitat of the sperm whale is the open sea. More specifically, sperm whales can be found in almost all marine waters deeper than 1,000m that are not covered by ice, except in the Black Sea and possibly the Red Sea (Rice 1989, Whitehead 2003). In some areas, particularly in the western North Atlantic, sperm whales, and especially males, can occur in shallower waters (e.g. Scott and Sadove 1997). Sperm whales are generally more numerous in areas of relatively high primary productivity (Jaquet et al. 1996), although there are some exceptions, such as the Sargasso Sea.The sperm whale is an animal of extremes, in size (up to 18m), sexual dimorphism (mature males have three times the mass of mature females), ecological imprint (sperm whales take roughly the same amount of biomass from the oceans as humans), and many other attributes (Whitehead 2003). The commercial value of the animal (a function of its size and the quality of sperm whale oil) drove two massive worldwide hunts: the technologically primitive “open-boat” hunt from 1712-c.1920 (Starbuck 1878, Best 1983), and modern whaling using engine-driven whaling ships and harpoon guns from c.1910-1988 (Tønnessen and Johnsen 1982). The complex social structure of sperm whales may have been affected by whaling, lowering potential population growth rates, which are very low anyway (Whitehead 2003). On the positive side, sperm whales are very widely distributed (see above), and their primary food, deep-water squid, are not yet major targets of fisheries. The generation time (mean age of mothers) for sperm whales can be calculated if one assumes a set of population parameters, specifically age at first birth, mortality rate of mature females, and reproductive rate of mature females. There is uncertainty about these parameters, so two calculations were made using different assumptions:a) Applying the population parameters most recently used for sperm whales by the International Whaling Commission’s Scientific Committee (International Whaling Commission 1982: age at first birth = 10 years; female reproductive rate in unexploited population = 0.20/year; female adult mortality = 0.055/yr): generation time = 27.3 years.b) The estimates of mortality used by the International Whaling Commission are particularly problematic, and sperm whales likely have age-specific survival and reproductive rates. Thus it may be more realistic (Whitehead 2002) to use the well-established mortality schedule of killer whales (Orcinus orca; Olesiuk et al. 1990) and an age-specific pregnancy rate taken from the sperm whale data presented by Best et al. (1984; pregnancy rate for mature females = 0.257-0.0038xAge in years): generation time = 27.5These estimates are consistent and suggest a generation time of 27.4yr for sperm whales.","Sperm whales have had a long history of local whaling going back at least to the 1500s (Mesnick pers. comm.), and intense whaling, beginning around 1712, and continuing to 1988. The “modern” highly mechanised phase was particularly intense around 1950, and at its peak killed around 25,000 whales per year, dramatically depleting the global population. Currently, some tens of whales are taken each year from small boats in Indonesia, and 10 are taken annually by Japan under IWC Special Permit (Clapham et al. 2003).Entanglement in fishing gear, particularly gillnets, has been a particular problem in the Mediterranean Sea (see Reeves and Notarbartolo di Sciara 2006) but sperm whales die from entanglement in nets and lines in many other areas and in a variety of fisheries as well (e.g. Haase and Félix 1994, Barlow and Cameron 2003, Caretta et al. 2005). Sperm whales sometimes take fish off fishing gear (most often demersal long-line gear), an activity known as depredation. Depredation of long-line catches appears to be a recent and increasing phenomenon, and now occurs in many regions (e.g. South East Alaska, Chile, South Georgia and several other southern ocean island areas, North Atlantic). This interaction has resulted in a few reported entanglements and deaths (e.g. Salas 1987, Hucke-Gaete et al. 2004), and has incurred hostility from some fishermen (National Marine Fisheries Service 1998, Donoghue et al. 2003), including shooting of whales (González and Olivarría 2002).Sperm whale tissues have high levels of some contaminants (O'Shea 1999, Nielsen et al. 2000), though any population-level effects on health are unknown. The effects of noise on sperm whales are also uncertain. Some evidence suggests that they are highly sensitive to noise (e.g. Watkins et al. 1985, Bowles et al. 1994) while other studies have found little or no effect (e.g. Madsen and Møhl 2000, Madsen et al. 2002). To date, all published studies of sperm whales and noise focus on short-term behavioural effects. Avoidance of sonar (Dawson pers. comm.) and seismic surveys (Mate et al. 1994; but see Madsen et al. 2002) has been observed but no mortality has been documented.Whaling on sperm whales has at various times focussed almost exclusively on one sex or the other. Removals of large numbers of males may have had lingering effects on pregnancy rates in some subpopulations (Best 1979, Clarke et al. 1980, Whitehead et al. 1997) and large males are noticeably uncommon on some breeding grounds (see Whitehead 2003). The removal of large numbers of females from social groups, and of older females in particular, may have lingering, socially disruptive effects. Further, recovery might be inhibited via temporary or permanent loss of social cohesion and of socio-ecological knowledge such as is known to occur in other large-brained, long-lived social mammals (e.g. elephants, Poole and Thomsen 1989). Maximum rates of increase for sperm whale populations are very low, possibly on the order of 1% per year (Whitehead 2002). Population recovery will be slow.The extraordinarily wide distribution of sperm whales buffers the species to some extent from competition with fisheries. However, it should be noted that in some areas, stocks of squid and fish species known to be used by sperm whales are heavily exploited.Sperm whales face other threats at a more regional level. These include collisions with ships (Laist et al. 2001), for instance off the Canary Islands (André and Potter 2000) and in the Mediterranean (Pesante et al. 2002), and ingestion of marine debris in the Mediterranean (e.g. Viale et al. 1992).","Management plans need both development and implementation. The International Whaling Commission manages sperm whale populations under the International Convention for the Regulation of Whaling, and lists sperm whale seasons, sperm whale size limits and sperm whale catch limits (0 at present), as well as sanctuaries for all species in the Indian and Southern Oceans. However, no scheme for managing sperm whale populations is in place. Moreover, many range states are not members of the International Whaling Commission.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,SUIDAE,Sus scrofa,,No,No,LC,,LC,,"The species is widespread, extremely abundant and facing no major threats.",Possibly Favourable,"The wild boar has a large global distribution extending from western Europe and North Africa eastwards through the Middle East and central and south-east Asia, reaching its south-eastern limit at the Greater Sunda Islands. In Europe, it is widespread in most continental areas, with the exception of northern Fennoscandia and European Russia. It disappeared from the British Isles and Scandinavia in the 17th century, although it has now been reintroduced to Sweden and escaped animals have established themselves in the wild in Britain (Spitz 1999). It is native to Corsica and Sardinia, but the population in Sicily was introduced (Spitz 1999). Animals have escaped from captivity in the UK and have established themselves in the wild. There are at least three small wild populations in England, on the Kent/East Sussex border, in Dorset, and in Hereford (Battersby 2005). In Europe it is found from sea level to 2,400 in the Pyrenees (Palomo and Gisbert 2002).","Wild boar populations in Europe increased markedly during the latter part of the 20th century (Spitz 1999), but are now thought to be stable in most areas (EMA Workshop 2006). Populations in England, southern Sweden and Finland may still be increasing (Battersby 2005, EMA Workshop 2006).","It is found in a variety of temperate and tropical habitats. It prefers broadleaved forests and especially evergreen oak forests, but may also be found in more open habitats such as steppe, mediterranean shrubland, and farmland, so long as there is water and tree cover nearby (Spitz 1999). It has an omnivorous diet, consuming vegetable matter (e.g. beech mast, acorns, green plants, tubers), carrion, and live animal prey (earthworms, insect larvae, small vertebrates) (Herre 1986, Oliver 1993).","There are no major threats to the species. It is considered a pest in parts of its range (Oliver 1993, Battersby 2005). Tuberculosis may be an issue in some areas, especially in managed populations. The disease does not kill the animals, but it is becoming increasingly prevalent (EMA Workshop 2006). Occasionally there are outbreaks of swine fever and African swine fever which cause local mortality, but populations recover rapidly (Oliver 1993). Habitat destruction, hunting (for food and sport), and persecution (often in reprisal for crop damage) may cause local declines in parts of the range (Oliver 1993).","It occurs in a large number of protected areas across its range. No specific conservation actions are recommended in Europe, except perhaps measures to control the population in certain places (EMA Workshop 2006).","Juan Herrero, Giorgos Giannatos, Andreas Kranz, Jim Conroy" -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,ZIPHIIDAE,Hyperoodon ampullatus,,No,No,DD,,DD,,"Hyperoodon ampullatus is widespread throughout the north Atlantic region. Population trend data for this species are unavailable. A primary threat that could cause widespread declines is vulnerability to high-level anthropogenic sound sources, especially military sonar and seismic surveys. Although the current population remains depleted from whaling the decline took place more than three generation lengths ago.The combination of possible declines driven by vulnerability to high-level anthropogenic sound sources and bycatch is believed sufficient that a 30% reduction over three generations (in this case 54 years) could not be ruled out. Therefore, the species is currently considered to be Data Deficient.",Unknown,"Northern bottlenose whales are found only in the North Atlantic, from New England, USA to Baffin Island and southern Greenland in the west and from the Strait of Gibraltar to Svalbard in the east (c. 38ºN to 72ºN: Mead 1989, Gowans 2002). There are reports from the Mediterranean Sea, and some extralimital records from the Baltic Sea. Bottlenose whales are occasionally observed off the Azores (Steiner et al. 1998), and have been seen as far south as the Cape Verde Islands (15ºN: Ruud 1937). The pelagic distribution extends from the ice edges south to approximately 30°N. Historic catch distributions indicated the existence of at least six centres of abundance, each potentially representing a separate stock (Benjaminsen 1972): i) the Gully; ii) northern Labrador-Davis Strait; iii) northern Iceland; iv) and v), off Andenes and Møre, Norway, and vi) around Svalbard, Spitzbergen. Anecdotal reports from whalers suggest a north/south seasonal migration could occur in some regions but there is little strong evidence for this. They inhabit the most northerly waters of the Barents and Greenland seas in summer (May to August). The northern bottlenose whale forms an antitropical species pair with the southern bottlenose whale, Hyperoodon planifrons.","Global numbers of northern bottlenose whales are largely unknown. There are estimated to be more than 5,000 in the waters around Iceland and the Faroe Islands. An estimated 40,000 occur in the eastern North Atlantic (NAMMCO Annual Report 1995), including approximately 5,827 (CV=16%) in the high latitudes of the eastern North Atlantic (Gunnlaugsson and Sigurjónsson 1990). Estimates for Icelandic and Faroese waters are 3,142 and 287 whales respectively, although allowance was not made in the surveys for animals not observed because of their long dives (Reyes 1991). Most populations of the species are probably still depleted, due to large kills in the past; over 65,000 animals were killed in a multinations hunt that operated in the North Atlantic from c.1850 to the early 1970s (Mitchell 1977, Reeves et al. 1993). A study by Christensen and Ugland (1983) resulted in an estimated initial (pre-whaling) population size of about 90,000 whales, reduced to some 30,000 by 1914. The population size by the mid 1980s was said to be about 54,000, nearly 60% of the initial stock size.","The behavior and ecology of northern bottlenose whales have been better studied than that of any other species in the family Ziphiidae. Most groups contain at least four whales, sometimes with as many as 20, and there is some segregation by age and sex. These deep divers can remain submerged for an hour, possibly as long as two, and can reach depths of well over 1,400 m (Hooker and Baird 1999). They are known for their curiosity, often approaching and swimming around boats for some time, as well as their habit of ""standing by"" injured companions; these behaviours permitted whalers to kill large numbers of whales at the same site (Gray 1882). Although capable of travelling long distances, their movement patterns are generally quite localized (Hooker et al. 2002, Whitehead et al. 2003). These cold temperate to subarctic whales are found in deep waters, mostly seaward of the continental shelf (and generally over 500-1,000 m deep) and near submarine canyons. They sometimes travel several kilometres into broken ice fields, but are more common in open water. Few whales were caught in shallow waters over the continental shelf off Labrador and in waters less than 1000 m deep off the west coast of Norway. In the surrounding waters of Iceland, the whales were sighted in waters with surface temperature between -1.3°C and +0.9°C (Reyes 1991).Northern bottlenose whales occupy a very narrow niche; their primary food source is squid of the genus Gonatus (Hooker et al. 2001, Whitehead et al. 2003) These whales may also occasionally eat fish (such as herring and redfish), sea cucumbers, starfish, and prawns. They do much of their feeding on or near the bottom in very deep water (>800 m, and as deep as 1,400 m: Hooker and Baird 1999). Longevity is at least 37 years, possibly much longer (Christensen 1973).","This is one of only a few species of beaked whales to be hunted commercially on a large scale. Hunts occurred from the 1850s to the 1970s, and over 65,000 whales were killed (with many more struck but lost: Reeves et al. 1993). By far the major bottlenose whaling nation has been Norway, though some hunting was also done by the UK and Canada. The northern bottlenose was sought after for its oil (including a form of spermaceti oil in the head) and later for pet food. No hunting of this species has been conducted by Norway since 1973 (Jefferson et al. 1993, Reyes 1991). The species has been essentially unexploited for almost 30 years, with only a few animals taken in some years in the Faroe Islands. The aggregate population was certainly reduced by whaling, and the extent of recovery is uncertain (Reeves et al. 2003). Mitchell (1977) considered that the population was severely depleted in both the early and modern whaling periods. Very few incidental catches have been reported (Reyes 1991). Pollutant levels in this species are usually low (Reyes 1991). There are no major fisheries for squid in the Northeast Atlantic, but future developments could represent some threat for subpopulations as heavily depleted as those of the bottlenose whale (Culik 2004). This species, like other beaked whales, is likely to be vulnerable to loud anthropogenic sounds, such as those generated by navy sonar and seismic exploration (Cox et al. 2006).","The northern bottlenose whale is said to have been twice overexploited by Norwegian hunting, in the periods 1880-1920 and 1938-1973. It was included in the International Whaling Commission schedule in 1977, with recommendations that northern bottlenose whales be granted Protected Stock status with zero catch limit (Klinowska 1991). It is listed in Appendix II of the Convention on Migratory Species as well as in Appendix I of CITES. Populations or stocks are not defined; this, together with estimates of present abundance as well as present levels of catches (Faroe Islands), should be the focus of future studies (Reyes 1991, Culik 2004, Dalebout et al. 2006).",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,ZIPHIIDAE,Mesoplodon bidens,,No,No,DD,,DD,,"The range of this species does not qualify as threatened under criterion B. It cannot be ruled out that the regional population of this species is small enough to warrant listing under criteria C-D. Population trend or abundance data for this species are unavailable. As with other beaked whales, threats that could cause widespread declines include high levels of anthropogenic sound, especially military sonar and seismic surveys, and bycatch. The relative rarity of this species implied from the existing records makes it potentially vulnerable to low-level threats.The combination of possible declines driven by vulnerability to high-level anthropogenic sound sources and bycatch is believed sufficient that a 30% reduction over three generations could not be ruled out. Therefore, the species is currently considered to be Data Deficient.",Unknown,"Sowerby's beaked whales are known almost exclusively from the colder waters of the North Atlantic, from at least Massachusetts, USA to Labrador, Canada in the west, and from Iceland to Norway in the east (Mead 1989, MacLeod et al. 2006). This is the most northerly distributed of the Atlantic species of Mesoplodon, and most records are north of 30°N. Based on unconfirmed records, the range may include (probably as a stray) the Mediterranean Sea. Records from the shallow Baltic Sea are considered extralimital. The species appears to be more common in the eastern North Atlantic than in the western. Based on strandings, the area of northern Europe appears to be the center of abundance. There is a single record from Florida in the Gulf of Mexico, but this appears to represent an extralimital wandering. As with other members of the genus, they occur almost exclusively in deep waters past the continental shelf edge.","Very little is known of the subpopulation biology of this species, other than the fact that it is not rare. It is one of the most commonly seen mesoplodonts in some parts of its range. Abundance is often underestimated using visual survey methods because they dive for long periods and are inconspicuous when they surface (Barlow 1999).","Very little is known of the natural history of this species beyond what has been learned from occasional sightings and strandings (see Pitman 2002), which have generally involved singles and pairs. However, in several sightings observed at sea off Nova Scotia, groups ranged in size from 3-10 and some were of mixed composition. Mass strandings of up to six individuals of this species have been recorded. Recorded dives lasted 12-28 minutes (Hooker and Baird 1999). These whales often bring their heads up out of the water at a 45° angle when surfacing, and often arch their backs relatively high when diving. Breaching, spy-hopping, and fluke-slapping have been observed in sightings at sea. There have also been some instances in which the animals approached vessels.Although it is one of the most commonly stranded Mesoplodon species, there have been few sightings at sea, and it is poorly known. De Buffrénil (1995) mentioned that two sightings were north of Scotland and west of the Orkney Islands, in waters several hundred metres deep. Hooker and Baird (1999) observed groups of Sowerby's beaked whales in the Gully, a submarine canyon off eastern Canada, on four occasions. Sightings were in water depths of between 550 and 1500 m. Sowerby's beaked whales feed on squid and small fish, including Atlantic cod (Gadus morhua). Ostrom et al. (1993) evaluated the diet of Sowerby's beaked whales, based on isotopic comparisons among northwestern Atlantic cetaceans.","There is little specific information on the status or threats to this species (Reeves et al. 2003). However, some are known to have been incidentally killed by whalers in Newfoundand, Iceland, and in the Barents Sea. A few entanglements in fishing gear (e.g. driftnets) have been documented. Like other beaked whales, this species is likely to be susceptible to acoustic trauma caused by loud anthropogenic sounds like those generated by navy sonar exercises (Cox et al. 2006)","The species is poorly known. However, its distribution spans most of the North Atlantic and strandings do occur on the west and east coasts of the Atlantic ocean. Range states should be encouraged to conduct more coordinated research efforts (Culik 2004).",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,ZIPHIIDAE,Mesoplodon densirostris,,No,No,DD,,DD,,"The range of this species does not qualify as threatened under criterion B. It cannot be ruled out that the regional population of this species is small enough to warrant listing under criteria C-D. Population trend or abundance data for this species are unavailable. As with other beaked whales, threats that could cause widespread declines include high levels of anthropogenic sound, especially military sonar and seismic surveys, and bycatch. The combination of possible declines driven by vulnerability to high-level anthropogenic sound sources and bycatch is believed sufficient that a 30% reduction over three generations could not be ruled out. Therefore, the species is currently considered to be Data Deficient.",Unknown,"Blainville's beaked whales occur in temperate and tropical waters of all oceans (Mead 1989). This species has the most extensive distribution of any species of the genus Mesoplodon, and is also the most tropical of the genus (Pitman 2002, MacLeod et al. 2006). Like other beaked whales, they are found mostly offshore in deep waters, but they may sometimes occur reasonably close to shore (MacLeod and Zuur 2005). Sightings are also common around some oceanic archipelagos, like the Hawaiian (USA) and Society Islands (French Polynesia). They occur in many enclosed seas with deep water, such as the Gulf of Mexico, Caribbean Sea, and the Sea of Japan. However, there are only rare records of this species occurring in the Mediterranean, and therefore the species is considered to be a vagrant there.","Overall, the species appears to be fairly common in most tropical seas, and it is one of the most common of all the species of Mesoplodon (Reeves et al. 2003). Estimates of abundance are generally not available for most areas, but there are estimated to be 2,138 (CV=77%) in Hawaiian waters (Carretta et al. 2006). Abundance is often underestimated using visual survey methods because they dive for long periods and are inconspicuous when they surface (Barlow 1999).","There is more information available on the behavior and ecology of Blainville’s beaked whale than for any other species of Mesoplodon (Reeves et al. 2003). There is a subpopulation of this species that is being studied in detail in the Bahamas (Balcomb 1981, MacLeod and Zuur 2005). Individual whales have been identified, based on natural marks. This represents only the second case that a beaked whale subpopulation has undergone long-term behavioral and ecological study (the other case is northern bottlenose whales in the Gully). Groups of 3-7 Blainville's beaked whales have most often been recorded, although singles or pairs are most common. In the Bahamas, adults are generally grouped into what appear to be ‘harems’, with a single adult male accompanying several adult females. Subadults appear to stay in separate groups. The harems tend of occur in more productive waters over the continental shelf canyon walls, while subadults tend to occur in less productive waters inshore and offshore of these areas.Although there is not a great deal know of habitat preferences for beaked whales, there is more known for this species than for any other in the genus. A detailed analysis of habitat preferences in the Bahamas, where this species is commonly encountered, indicated that Blainville’s beaked whales were found preferentially in waters of intermediate depth gradients and depths between 200 and 1,000 m (continental slope waters). These may be areas of increased prey availability caused by interactions of currents and local topography (MacLeod and Zuur 2005). Observations around Hawaii seem to indicate that animals prefer water depths of 700 - 1000m (Baird et al. 2006). Dives of up to 1,400 m and over 54 minutes have been recorded in Hawaiian waters (Baird et al. 2006). Squid are apparently the main food items, but some deepwater fish may be taken as well. Like most other ziphiids, they are thought to be suction feeders (Heyning and Mead 1996) .","No incidental or directed catches of this species have been recorded in European waters, although they have been recorded elsewhere in the species' global range. Like other beaked whales, this species appears to be highly vulnerable to mortality associated with naval sonar exercises (Cox et al. 2006). Subadult whales, found in more offshore waters, may be more susceptible (Anonymous 2001). At least one animal died in September 2002 during a naval exercise conducted around Gran Canaria, Canary Islands (Vidal Martin pers. comm.). Another two specimens live stranded during a naval exercise off the Bahamas in March 2000 (Rowles et al. 2000). High intensity Low Frequency Active Sonar (LFAS) was used by US and NATO vessels in both these areas, respectively, which apparently led to a multi-species mass stranding in the Bahamas, including both M. densirostris and Ziphius cavirostris (Balcomb and Claridge 2001).Concerns regarding the impact of man-made debris in the marine environment are increasing. Pollution in the form of plastic debris has been recently recognised as a major threat to marine wildlife, in terms of ingestion and entanglement. On 27 February 1993, a 419 cm adult female Blainville's beaked whale was found washed ashore in an advanced state of decomposition at Mar Grosso Beach (32°07'S, 52°02'W), Sao Jose do Norte, southern Brazil (Secchi and Zarzur 1999). Stomach analysis revealed the presence of a blueish bundle of plastic threads occupying a large part of the main stomach chamber. Both stomach and intestines were completely free of parasites, as well as food remains and faeces, indicating that the whale had not fed for some time.","The species is poorly known with respect to abundance, migratory patterns, by-catch and direct catch rates. Range states should be encouraged to conduct more coordinated research efforts.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,ZIPHIIDAE,Mesoplodon europaeus,,No,No,DD,,DD,,"The range of this species does not qualify as threatened under criterion B. It cannot be ruled out that the regional population of this species is small enough to warrant listing under criteria C-D. Population trend or abundance data for this species are unavailable. As with other beaked whales, threats that could cause widespread declines include high levels of anthropogenic sound, especially military sonar and seismic surveys, and bycatch. The combination of possible declines driven by vulnerability to high-level anthropogenic sound sources and bycatch is believed sufficient that a 30% reduction over three generations could not be ruled out. Therefore, the species is currently considered to be Data Deficient.",Unknown,"Although sometimes depicted as a North Atlantic endemic, this species is probably continuously distributed in deep waters across the tropical and temperate Atlantic Ocean, both north and south of the equator (Mead 1989, MacLeod et al. 2006). Most records are from the east and Gulf coasts of North America, from New York to Texas, but Gervais' beaked whales are also known from several of the Caribbean islands. This is the most commonly-stranded beaked whale in the southeastern United States. In the eastern Atlantic, they are known from Ireland to Guinea-Bissau in West Africa. There is only one record of this species entering the Mediterranean, and it is considered a vagrant there (Podesta et al. 2005).","No specific estimates of abundance exist; however estimates indicate that 106 (CV=41%) mesoplodonts occur in the northern Gulf of Mexico, which are considered to be either M. densirostris or M. europaeus (Waring et al. 2006). Based on the frequency with which they strand, they are presumed to be relatively common in waters along the east coast of North America. Abundance is often underestimated using visual survey methods because they dive for long periods and are inconspicuous when they surface (Barlow 1999).","Gervais' beaked whales have only been reliably identified alive in the wild on a few occasions (Pitman 2002), mostly in the eastern Atlantic, although many Mesoplodon sightings in the Gulf of Mexico are thought to have been of this species. Around the Canary Islands, they sometimes lift their heads out of the water upon surfacing. Live-stranded individuals have been held in captivity for short periods of time.Like other members of the genus, the species prefers deep waters based on the presence of prey from such habitats in stomach contents and a lack of sightings near shore (Mead 1989). Strandings and the few possible sightings suggest that the species prefers tropical and subtropical waters (MacLeod et al. 2006).Like other members of the genus, Gervais’ beaked whales are known to feed primarily on squid, although some fish may be taken as well (Norman and Mead 2001). Growth layer group counts in the teeth of one specimen suggest they live to at least 48 years of age (Mead 1984).","Specimens of Gervais’ beaked whale have been entangled and killed in pound nets off New Jersey. Like other beaked whales, this species is highly sensitive to disturbance and mortality from loud anthropogenic sounds such as naval sonar exercises (Cox et al. 2006). Several atypical mass strandings of beaked whales, including Gervais' beaked whales, were associated with naval activities: mid to late 1980s on the Canary Islands (Waring et al. 2006), in March 2000 on the Bahamas (Rowles et al. 2000, Anonymous 2001) and again in September 2002 during a naval NATO maneuver involving low frequency sonar around the Canaries (Vidal pers. comm.).Finally, all beaked whales seem to be susceptible to the ingestion of plastic bags, which are of widespread occurrence at sea and have been linked to detrimental health effects in several cetacean species.",No specific conservation measures are known for this species.,Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,ZIPHIIDAE,Mesoplodon mirus,,No,No,DD,,DD,,"The range of this species does not qualify as threatened under criterion B. It cannot be ruled out that the regional population of this species is small enough to warrant listing under criteria C-D. Population trend or abundance data for this species are unavailable. As with other beaked whales, threats that could cause widespread declines include high levels of anthropogenic sound, especially military sonar and seismic surveys, and bycatch. The combination of possible declines driven by vulnerability to high-level anthropogenic sound sources and bycatch is believed sufficient that a 30% reduction over three generations could not be ruled out. Therefore, the species is currently considered to be Data Deficient.",Unknown,"True's beaked whales appear to have a disjunct, antitropical distribution (Mead 1989, MacLeod et al. 2006). In the Northern Hemisphere, they are known only in the North Atlantic, from records in eastern North America (Nova Scotia to Florida), Bermuda, Europe to the Canary Islands, the Bay of Biscay, and the Azores. They also occur at least in the southern Indian Ocean, from South Africa, Madagascar, southern Australia and the Atlantic coast of Brazil (MacLeod et al. 2006). The species does not generally occur within 30° north or south of the equator, which may indicate that the northern and the southern subpopulations are isolated from one another. This is supported by morphological and coloration differences (Ross 1969, Ross 1984). This peculiar disparate distribution pattern suggests that there may actually be separate species or subspecies in the Northern and Southern Hemispheres; however, this is not confirmed.","Until recent years, True’s beaked whales had been only rarely identified at sea, and there are no estimates of abundance. The species is not rare, however, at least in the North Atlantic. Abundance of beaked whales is often underestimated using visual survey methods because they dive for long periods and are inconspicuous when they surface (Barlow 1999).","Since True’s beaked whale has rarely been identified alive in the wild, and is not one of the most commonly-stranded species, there is little information available on its natural history (see Pitman 2002). Groups observed at sea have consisted of up to three individuals. They may show their beaks when surfacing. Known mainly from stranded specimens, M. mirus is probably a deep water pelagic species, like other ziphiids (Houston 1990). Like other members of the genus, stranded animals have had squid (mostly Loligo spp.) in their stomachs. They may also take fish, at least occasionally. Stable isotope analysis has found that this species feeds at a similar trophic level to other Mesoplodon species with which it is sympatric, but at lower trophic level than Cuvier’s beaked whale and the northern bottlenose whales which suggests that it feeds on smaller prey than these latter species (MacLeod 2005).","Almost no information is available on the threats and status of this species. It appears never to have been hunted. Mesoplodonts have been taken occasionally by whalers but are not presently the main targets of any hunt. Entanglement in fishing gear, especially gillnets in deep water (e.g. for billfish and tuna), is probably the most significant threat. Like other beaked whales, this species is likely to be sensitive to disturbance and mortality from loud anthropogenic sounds such as naval sonar exercises (Cox et al. 2006).As a temperate water species, True's beaked whale may be vulnerable to the effects of climate change as ocean warming may result in a shift or contraction of the species range as it tracks the occurrence of its prefered water temperatures (Learmonth et al. 2006). Finally, all beaked whales seem to be susceptible to the ingestion of plastic bags, which are of widespread occurrence at sea and have been linked to detrimental health effects in several cetacean species.",No conservation measures for this species are known.,Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CETARTIODACTYLA,ZIPHIIDAE,Ziphius cavirostris,Recent genetic analysis confirmed that this genus is monotypic (Dalebout et al. 2005).,No,No,DD,,DD,,"The range of this species does not qualify as threatened under criterion B. It cannot be ruled out that the regional population of this species is small enough to warrant listing under criterion C. Population trend or abundance data for this species are unavailable. As with other beaked whales, threats that could cause widespread declines include high levels of anthropogenic sound, especially military sonar and seismic surveys, and bycatch. The combination of possible declines driven by vulnerability to high-level anthropogenic sound sources and bycatch is believed sufficient that a 30% reduction over three generations could not be ruled out. Therefore, the species is currently considered to be Data Deficient.",Unknown,"Cuvier's beaked whales may have the most extensive range of any beaked whale species (Heyning 1989, 2002). They are widely distributed in offshore waters of all oceans, from the topics to the polar regions in both hemispheres. Their range covers most marine waters of the world, with the exception of shallow water areas, and very high-latitude polar regions. They are found in many enclosed seas, such as the Gulf of California, Gulf of Mexico, Carribean Sea, Sea of Japan, and the Sea of Okhotsk (but not in the Baltic or Black seas). This is the only species of beaked whale regularly found in the Mediterranean Sea, where it is quite common (Podesta et al. 2006).","Global abundance has not been estimated for Cuvier’s beaked whales, but abundance has been estimated for several study areas (not in European waters). Abundance is often underestimated using visual survey methods because they dive for long periods and are often inconspicuous when they surface (Barlow et al. 2006). They are undoubtedly among the most common and abundant of all the beaked whales. However, it should be noted that there are no trend data, and the large uncertainty in abundance estimates makes the detection of population change extremely unlikely.This is the only widely-distributed beaked whale species for which a global assessment of genetic diversity has been conducted. The results of this study suggest that there is probably little movement of Cuvier’s beaked whales among different ocean basins, and that there may even be a distinct subpopulation in the Mediterranean Sea (Dalebout et al. 2005).","Due to their widespread distribution and relatively frequent stranding, Cuvier's beaked whale may be one of the most familiar of the beaked whales (Heyning 1989, 2002). They are found mostly in small groups of 2-7, but are not uncommonly seen alone. Strandings are usually of singletons or cow-calf pairs. A typical mass strandings of larger numbers of animals have been strongly linked acoustic trauma resulting from navy sonar or seismic exploration activities in the vicinity (e.g. Frantzis 1998). Their behavior tends to be rather elusive, and they can be difficult to approach. However, they have been seen breaching on a number of occasions. Dives of up to 40 minutes have been documented.Although Cuvier’s beaked whales can be found nearly anywhere in deep (>200 m) waters, they seem to prefer waters near the continental slope, especially those with a steep sea bottom. The species is known around many oceanic islands, and in some enclosed seas. It is rarely found close to mainland shores, except in submarine canyons or in areas where the continental shelf is narrow and coastal waters are deep (Heyning 1989, 2002) and is mostly a pelagic species that appears to be confined by the 10° C isotherm and the 1000 m bathymetric contour (Houston 1991, Robineau and di Natale 1995).Cuvier's beaked whales, like all beaked whales, appear to prefer deep waters for feeding. Although few stomach contents have been examined, they appear to feed mostly on deep-sea squid, but also sometimes take fish and some crustaceans (MacLeod et al. 2003). They apparently feed both near the bottom and in the water column. As with other beaked whales, suction appears to be used to draw prey items into the mouth at close range (Heyning and Mead 1996). They may sometimes incidentally ingest non-food items.","Never the main target of commercial whalers, Cuvier’s beaked whales have sometimes been taken in other direct fisheries outside Europe (Heyning 1989, Jefferson et al. 1993). Bycatch of Cuvier’s beaked whales has been reported in several fisheries, including the Italian swordfish fishery (Notarbartolo di Sciara 1990). Mignucci et al. (1999) conducted an assessment of cetacean strandings in waters off Puerto Rico, the United States and the British Virgin Islands to identify the factors associated with reported mortality events between 1867 and 1995. Cuvier's beaked whale was the second most common species. An increase in the number of strandings is evident over the past 20 years, averaging 63.1% per year. Between 1990 and 1995, the average number of cases per year increased from 2.1 to 8.2. The seasonal pattern of strandings was not found to be uniform, with a high number of strandings occurring in the winter and spring. The most common human-related cause categories observed were entanglement and accidental captures, followed by animals being shot or speared. Evidence from stranded individuals of several similar species of beaked whales indicates that they have swallowed discarded plastic items. Sometimes this may happen when animals are already ill and incapable of finding/catching normal prey (e.g. Gomercic et al. 2006), or they may be healthy and eat it by accident and it then contributes to blockage of the digestive tract and eventual death (e.g. Scott et al. 2001). Therefore Ziphuis cavirostris may also be at risk.In recent years, there has been increasing concern that loud underwater sounds, such as active sonar and seismic operations, may be harmful to beaked whales (Malakoff 2002). The use of active sonar from military vessels has been implicated in a number of mass strandings of Cuvier’s beaked whales, including in the Mediterranean Sea during 1996 (Frantzis 1998), the Bahamas during 2000 (Balcomb and Claridge 2001), the Madeira Islands in 2000 (Freitas 2004) and the Canary Islands in 2002 (Jepson et al. 2003). The mechanistic cause of the strandings is not well understood, but gas bubble formation (Fernandez et al. 2005) from a behaviorally mediated response to sound has been proposed (Cox et al. 2006).","Very little is known about this species. However, mass strandings after military sonar tests are a matter of serious concern and should be further investigated. The global effects of bycatches in fisheries cannot be evaluated. Bycatch of Cuvier’s beaked whales may have been unsustainable in the California/Oregon drift gillnet fishery in the early 1990s (Barlow et al. 1995), however, the observed bycatch of Cuvier’s and other beaked whales dropped to zero after pingers were required to reduce cetacean mortality (Barlow and Gisiner 2006). Given this success, pingers might be useful in mitigating fishery bycatch in other locations. Because they dive for such long periods and are so difficult to see at the surface, mitigation methods that depend on visually detecting them are not likely to reduce the impacts of acute sound impacts (such as military sonar or seismic surveys) (Barlow and Gisiner 2006). Areas of higher than average abundance can be identified (Ferguson et al. 2006, MacLeod and Mitchell 2006), and avoiding such areas may be a helpful mitigation method.",Species account by IUCN SSC Cetacean Specialist Group; regional assessment by European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,MOLOSSIDAE,Tadarida teniotis,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widely distributed over a large extent of occurence. lt occurs in urban areas and forages in other modified habitats. Population trends are not known, but are not believed to approach the threshold for the population decline criterion of the IUCN Red List. Consequently it is classed as Least Concern.",Unknown,"It is mainly a western Palaearctic species, although the south-eastern edge of its range extends into the Indomalayan region. It is well known in the Mediterranean basin, occuring from Portugal, Spain, Morocco, and Algeria eastwards through north Africa and southern Europe to Israel, Jordan, Saudi Arabia, Iran, Iraq, Azerbaijan, Turkmenistan, Afghanistan, Bengal (India), and possibly Yunnan (China)(Wilson and Reeder 2005). It is also found on Madeira (Portugal), the Canary Islands (Spain), and a number of Mediterranean islands (Hutson 1999, Wilson and Reeder 2005). It occurs from sea level to 3,100 m.","It is a common species in suitable habitats. Summer and winter colonies typically number 5-100 individuals, although colonies of up to 300-400 animals have been recorded. It is probably sedentary, although seasonal in some areas, e.g. Malta. It is not abundant in the Caucasus, nor is it highly gregarious - large colonies are not known in this region (K. Tsytsulina pers. comm. 2005) There are only six records for Iran, however there have not been extensive survey efforts there (M. Sharifi pers. comm. 2005).","It usually forages at 10-50 m above the ground over temperate to sub-desert habitats, although it also occurs humid habitats in some areas (e.g. Turkey: A. Altiparmak pers. comm. 2005) It feeds on aerial drifts of insects including moths and neuropterans. Summer and winter roosts: fissures and hollows in rock outcrops, quarries and cliffs. Common in some urban areas, roosts also in artificial structures, including bridges and buildings, and sometimes in the roof of high caves. The species is probably sedentary (Hutterer et al. 2005).","It is negatively affected by disturbance and loss of roosts in buildings, and by use of pesticides. It is also potentially threatened by wind farms (European Mammal Assessment workshop 2006), and deforestation affects the species in some parts of its range (Z. Amr pers. comm. 2005). However, none of these are considered to be major threats at present.","It is protected by national legislation in most range states, and receives international legal protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex IV of EU Habitats and Species Directive, and there is some habitat protection for the species through Natura 2000.","Tony Hutson, Friederike Spitzenberger, Javier Juste, Stéphane Aulagnier, Petr Benda" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,PTEROPODIDAE,Rousettus aegyptiacus,,No,No,NA,,NA,,European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Applicable (NA)Classed as Not Applicable as it is of marginal occurrence in Europe.,-,"Found in ""Senegal and Egypt south to South Africa; Cyprus, Turkey, Jordan, Lebanon, Israel, S Syria, Yemen, Saudi Arabia, S Iraq, S. Iran, Pakistan, NW India; islands in the Gulf of Guinea (São Tomé and Príncipe); adjacent small islands"" (Wilson and Reeder 2005). Less than 1% of its global range falls within the European Mammal Assessment region.",,,,,European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,RHINOLOPHIDAE,Rhinolophus blasii,,No,No,VU,A4c,DD,,"European: This species has disappeared from a significant part of its European range during the last 50 years (generation time = 9 years). Some Mediterranean woodlands have disappeared in recent years, but the rate of habitat loss is unknown. Cave disturbance is a further threat to the species. For a closely related species, R. mehelyi, the rate of decline has been estimated as 10% in the last 10 years in Andalucia and is expected to reach 30% in a time window including 20 years in the future for entire range. Although R. blasii does not occur in the Iberian peninsula, it has very similar habitat requirements and may face the same threats. For these reasons, R. blasii is classed as Vulnerable because it is suspected that it will undergo population declines exceeding 30% over the next three generations. It is not anticipated that there would be a significant rescue effect from outside the European region, as populations are considered to be generally declining across the global range.EU 25: In the EU 25, this species is found only in Greece (and some associated islands) and Cyprus. Little information is available on the status of the species in this area. Consequently it is classed as Data Deficient.",Unknown,"Rhinolophus blasii has a large range in the Palaearctic and the Afrotropics, throughout which it is widely but patchily distributed. In Africa, it occurs from north-eastern South Africa and the Democratic Republic of Congo to Ethiopia and Somalia, and in North Africa. In Asia, it has a patchy distribution extending from Turkey in the west to Pakistan in the east, and from the Caucasus in the north to Yemen in the south (Wilson and Reeder 2005). It was confirmed in Georgia in 2006 (Z. Nagy pers. obs.). In Europe, it is extinct in northeastern Italy and has not been recorded in Slovenia during the last 50 years (Kryštufek and Dulic 2001). It is now restricted to the Balkan peninsula and to some Mediterranean islands including Crete and Cyprus. There are no recent records in Romania and northern Bulgaria despite intensive work by Christian Dietz (Z. Nagy pers. comm. 2006). Past records from this area are disputed: no specimen has been found in museums in Romania, and the presence of R. euryale in the same area might have caused confusion (Z. Nagy pers. comm. 2006). It occurs from sea level to 2,215 m in Yemen.","A rare or infrequent species, probably the rarest horseshoe bat in Europe (Kryštufek 1999). Summer colonies of ca. 20-30 are typical, although up to 300 females may be found in a single colony. In winter, it congregates in mixed-species clusters with other Rhinolophus species (up to 800 animals in Bulgaria). There are large colonies in Bulgaria and Greece. It is suspected to be declining because of loss of Mediterranean woodlands and cave disturbance, and is considered vulnerable in many range states.","In the Mediterranean region it typically forages in shrubland and woodland, although it may penetrate to desert habitat (Amr 2000). Summer roosts are situated in natural and artificial underground sites, with attics also being used in the northern part of the range. In winter, it hibernates in underground sites. This species is considered to be sedentary (Hutterer et al. 2005).","Threats to the species include loss of Mediterranean woodlands, disturbance and loss of underground habitats, and destruction of roost sites (Kryštufek 1999). In a number of range states the species is disturbed by tourist visits to caves.","It is protected by national legislation in some range states. There are international legal obligations for the protection of this species through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex II (and Annex IV) of the EU Habitats & Species Directive, and hence requires specific conservation measures, including the designation of Special Areas for Conservation. It receives some habitat protection through Natura 2000. Taxonomic research is needed to clarify the status of African populations. Monitoring and protection of caves is also required.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Zoltan Nagy" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,RHINOLOPHIDAE,Rhinolophus euryale,,No,No,VU,A2c,VU,A2c,"European and EU 25: Many European range states have reported that populations have declined and colonies have disappeared over the last 27 years (=3 generations). It is inferred that regional population decline has exceeded 30% over that period, so the species is assessed as Vulnerable (A2bc). It is not expected that there would be a rescue effect from populations outside the region, as these are suspected to be declining too.",Unfavourable,"Rhinolophus euryale is a western Palaearctic species, occurring in southern Europe, north-west Africa (Morocco to Tunisia), and the Near East. It is widely distributed over its range, and is found from sea level to 1,000 m.","An infrequent species. Summer colonies number ca. 50-500 individuals (formely up to 1,500 animals). Winter clusters typically number up to 2,000 animals. It occurs in large vulnerable colonies, and is considered threatened in many range states. Large population declines have been reported in a number of European countries, including Spain (Palomo and Gisbert 2002) and Slovakia (Ibáñez 1999). In France, the population declined by ca. 70% between 1940 and 1980, although subsequently the trend appears to have stabilised (Brosset et al. 1988, S. Aulagnier pers. comm. 2006). Apart from R. blasii, which may have gone extinct in the country, R. euryale is probably the rarest rhinolophid in Italy, and anecdotal evidence suggests that a number of colonies have declined in the past few decades (D. Russo pers. comm. 2006). From 1960-2000 the species disappeared from a number of sites in Romania, but the trend over the last five years appears to be stable (Z. Nagy pers. comm. 2006). The species has a very small and declining population in Portugal (Rodrigues et al. 2003, Cabral et al. 2005).There is little information on population trends outside Europe, although it is suspected that continuing declines have also occurred in at least parts of the non-European range. For example, in Iran the species is no longer found in caves which 30 years ago held 20,000 individuals of different species (M. Sharifi pers. comm. 2005). It is considered to be declining in North Africa (GMA Africa workshop 2004).","It forages in Mediterranean and sub-Mediterranean shrubland and woodland, feeding on moths and other insects. In Italy, preferred foraging habitats are broadleaved woodland and riparian vegetation; coniferous woodland is avoided, and shrubland is rarely used (Russo et al. 2002). Summer roosts are located in natural and artificial underground sites, as well as attics in some part of the range. In winter it hibernates in underground sites (usually large caves with a constant microclimate). It is a sedentary species (the longest recorded distance travelled by an individual is 134 km) (Heymer 1964 in Hutterer et al. 2005).","Threats include loss of foraging habitat, and disturbance and loss of underground habitats. On a landscape scale, fragmentation and loss of linear elements such as hedgerows and riparian vegetation is a problem because such elements are used for commuting. The species' strong dependence upon caves for roosting makes it particularly sensitive to cave disturbance, such as that from caving or tourism. Tourist disturbance of caves affects the species in a number of range states, including Italy, Iran and Turkey (M. Sharifi and A. Karatash pers. comm. 2005, D. Russo pers. comm. 2006). The use of organochlorine pesticides is believed to have contributed to the earlier dramatic decline of the species in France (Brosset et al. 1988).","It is protected by national legislation in most range states. There are also international legal obligations for protection of this species through Bonn Convention (Eurobats) and Bern Convention. It is included in Annex II (and IV) of EU Habitats & Species Directive, and hence requires special measures for conservation including designation of Special Areas for Conservation. There is some habitat protection through Natura 2000, and some roosts are already protected by national legislation). The species is directly or indirectly benefiting from EU LIFE-funded projects in France, Spain, Italy, and Romania.","Tony Hutson, Friederike Spitzenberger, Javier Juste, Stéphane Aulagnier, Margarida Fernandes, Juan Tomas Alcaldé" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,RHINOLOPHIDAE,Rhinolophus ferrumequinum,"Although Thomas (1997, unpublished thesis) found very high divergence in mitochondrial DNA sequences, Csorba et al. 2003 refrained from splitting Japanese greater horseshoe bats (“Rhinolophus nippon”) from Rh. ferrumequinum. Several subspecies are identified over the range, of which two occur in the western Palaearctic: Rh. f. creticus (Crete) and Rh. f. ferrumequinum (rest of western Palaearctic range).",No,No,NT,,NT,,"European and EU 25: Near Threatened (approaching A2bc). Although population trends vary in different parts of the range, overall the species is suspected to be declining at a rate that approaches 30% over the last three generations. It needs continued conservation action to maintain its status.",Unfavourable,"Rhinolophus ferrumequinum has a wide range in the Palaearctic encompassing north-west Africa; southern and central Europe from Portugal to Greece and north to southern England, France, Germany, Austria, Czech Republic, Slovakia, and Bulgaria; Turkey, Cyprus, Israel, Jordan and Iraq and Iran; Ukraine, Crimea, and Caucacus regions; Turkmenistan, Uzbekistan, southern Kazakhstan, Afganistan, Pakistan, northern India, Nepal, Sikkim, China (Wilson and Reeder 2005), Korea and Japan (Csorba et al. 2003). It usually occurs below 800m, but can be found up to 3,000m in the Caucasus depending on roost availability and humidity (K. Tsytsulina pers. comm. 2005).","The two most widespread Rhinolophus species in Europe, R. ferrumequinum and R. hipposideros, are of particular conservation concern and are the subject of considerable research and monitoring. R. ferrumequinum has shown marked declines in range in northwest Europe within the last 100 years (e.g. United Kingdom, Germany, Austria), and has gone extinct in some countries (e.g. Belgium, Netherlands). However there are signs of stabilisation and/or recovery in some northwest European countries (Hutson et al. 2001). For example, In the UK the species declined massively in the past but is now stable at low population level (around 5,000 individuals) (Ransome and Hutson 2000). However in Austria declines continue, with population reductions of 70% in the last 10 years (from 100 to 30 breeding individuals: Spitzenberger 2002, F. Spitzenberger pers. comm. 2006). In other parts of Europe, trends vary and are generally less well known: in Malta the species has gone extinct, in Portugal and Spain the trend is not known (although some colonies have disappeared in Spain) (Palomo and Gisbert 2002, Cabral et al. 2005), in Croatia the population is thought to be stable (N. Tvrtkovic pers. comm.), and in Romania the population has been slowly increasing since 1989 due to reduced use of pesticides and return to traditional agriculture. In Switzerland the species is very rare (3 maternity roosts with some 200 individuals), but the population trend appears stable (H. Kraettli pers. comm. 2006).It is an infrequent species in most parts of its range, although in at least parts of south-west Asia and the Caucasus it is abundant and widespread (it is the most frequently reported species in Turkey: A. Karatash pers. comm. 2005), with populations in Iran and Turkey considered to be stable (A. Karatash, M. Sharifi and K. Tsytsulina pers. comm. 2005), although it may be decreasing in Russian parts of the Caucasus (S. Kruskop pers. comm. 2005). Summer colonies of c.30-200 individuals (up to 400 animals), and winter clusters of up to 500 animals are typical.","It forages in pastures, deciduous temperate woodland, Mediterranean and sub-mediterranean shrubland and woodland. Feeds on beetles and moths at low level in pastures and in trees (by aerial hawking or perch feeding).Summer roosts are located in warm natural and artificial underground sites, and attics in the northern part of the range. Where the species occupies buildings, it requires particular features of the building itself, as well as proximity to good foraging areas and underground sites for torpor at various times of year and for winter hibernation (Hutson et al. 2001). In winter it hibernates in cold underground sites (usually large caves). A sedentary species, distances of 20-30 km between winter and summer roosts are typical (longest distance recorded 180km: de Paz et al. 1986).","The main threats are fragmentation and isolation of habitats, change of management regime of deciduous forests and agricultural areas, loss of insects due to pesticide use, and disturbance and loss of underground habitats and attics. In northwest Europe, habitat change is likely to have been amongst the major causes of declines, the conversion of woodland and small-field landscape to large-scale agricultural land being particularly damaging. While declines elsewhere, particularly in eastern Europe, may currently not be so marked, the loss of cultural landscapes in those countries as they move towards western-style economies may have significant effects in the near future. The use of pesticides has been a recognized threat to the insect food, particularly where these have been directed against the larvae of favoured food items, such as melolonthid beetles, larvae of noctuid moths or crane-flies. Favoured prey may be affected secondarily by pesticide use, such as the loss of dung fauna from the use of persistent anti-parasitic drugs (avermectins) on cattle. Populations in caves and other underground habitats have suffered from increased disturbance (e.g. by tourist visits), changes of use and the destruction of such sites. In buildings colonies may be affected by human intolerance, renovation work or the application of pesticides, such as some of those used for the remedial treatment of timbers (Hutson et al. 2001).","The greater horseshoe bat has been the subject of widespread conservation activity, especially in Europe. Until recently, this has concentrated on roosts in buildings and caves. Many buildings used as roosts have management agreements and many underground sites have been protected. Nevertheless, sites continue to be lost or damaged. More recently, attention has turned to identifying more precisely the food and foraging requirements. A European meeting (Germany, May 1995) discussed the status and conservation needs for the species on a pan-European scale. The Bern Convention has commissioned a Europe-wide Species Action Plan under the Pan-European Biological and Landscape Diversity Strategy (Ransome and Hutson 2000). It is protected by national legislation in most range states (not Russia: K. Tsytsulina pers. comm. 2005). There are international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex II (and IV) of the EU Habitats and Species Directive, and hence requires special measures for conservation including designation of Special Areas for Conservation. There is some habitat protection through Natura 2000 (and some roosts are already protected by national legislation).","Tony Hutson, Friederike Spitzenberger, Javier Juste, Stéphane Aulagnier, Margarida Fernandes, Juan Tomas Alcaldé" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,RHINOLOPHIDAE,Rhinolophus hipposideros,,No,No,NT,,NT,,"European and EU 25: Near Threatened (approaching A2bc). The species is widespread, but there have been substantial range reductions along the northern edge of the species' distribution in Europe over the past 50 years, and declines are ongoing, albeit perhaps at a reduced rate. The species has gone extinct in the Netherlands, most of Belgium, and western Germany. It relies on continuing conservation initiatives. There is little quantitative data on population trends outside Europe, so it cannot be assumed that there would be a rescue effect from outside the region.",Unfavourable,"Rhinolophus hipposideros is widely distributed in the western and central Palaearctic. It occurs from sea level to 2,000 m.","An infrequent species in the northern part of its range. In Europe the species forms summer colonies of 10-50 individuals (up to 1,500 animals). Solitary in winter or loose aggregations up to 500 animals per roost. Since the 1950s the northern border of the range in western and central Europe has moved to the south. In the Netherlands, northern Belgium and Germany with the exception of a few colonies in Bavaria, Thüringen, Sachsen and Sachsen-Anhalt the species went extinct (Fairon et al. 1982, Schofield 1999). It disappeared from northern and western parts of Bohemia, and much of Poland where 87% of the hibernating population was lost between 1950 and 1990 (Urbanczyk 1994, Ohlendorf 1997). In Switzerland and Austria the distribution became fragmented, as colonies remained only in higher elevations (>400m) (Stutz and Haffner 1984, Spitzenberger 2002), although in Switzerland at least the population has started to slowly recover over the last 10 years (increasing from 2,200 to 2,500 adults counted in maternity roosts: H. Kraettli pers. comm. 2006). In Spain some colonies have disappeared due to the restoration of buildings, but there are no data on population trend (J. Juste and T. Alcalde pers. comm. 2006), and in France there have been some declines in the north, although large populations in the south are thought to be more stable (EMA Workshop 2006). Overall in Europe there has been a substantial decline over the last 50 years, with a slow decline continuing at present.In the southwest Asian part of the range it gathers in wintering colonies of up to 40 animals, although it is mainly solitary (K. Tsytsulina pers. comm. 2005). In Turkey it is a commonly reported species, and the population is stable (A. Karatash pers. comm. 2005). It is common in Iran although encountered less frequently than R. ferrumequinum (M. Sharifi pers. comm. 2005). It is not known how abundant this species is in Jordan and Syria but it may be more common than the collection reports indicate (Amr 2000).","Forages close to ground within and along the edges of broadleaf deciduous woodland, riparian vegetation, Mediterranean and sub-Mediterranean shrubland. Feeds mainly on midges, moths and craneflies. Summer roosts (breeding colonies): natural and artificial underground sites in the southern part of the range, attics and buildings in the northern part. Winter: hibernates in underground sites (including cellars, small caves and burrows). Sedentary, winter and summer roosts usually within 5-10km (longest distance recorded 153 km: Heymer 1964 in Hutterer et al. 2005).","Threats include disturbance and loss of underground habitats and attics (conversion of attics in human habitat), change of management regime of agricultural areas (loss of tree lines and hedgerows), and fragmentation and isolation of habitats.",Protected by national legislation in most range states (but not the Russian Federation: K. Tsytsulina pers. comm. 2005). There are international legal obligations for protection through Bonn Convention (Eurobats) and Bern Convention. Included in Annex II (and IV) of EU Habitats and Species Directive and hence requiring special measures for conservation including designation of Special Areas for Conservation. Some habitat protection through Natura 2000. Recommended conservation measures include protecting maternity roosting sites and hibernation caves and foraging habitats. One potential method is compensation schemes to give people incentives to keep colonies in their houses (this is happening in one region of Spain at the moment: J. Juste and T. Alcalde pers. comm. 2006).,"Tony Hutson, Friederike Spitzenberger, Javier Juste, Stéphane Aulagnier, Margarida Fernandes, Juan Tomas Alcaldé" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,RHINOLOPHIDAE,Rhinolophus mehelyi,,No,No,VU,A4c,VU,A4c,"European regional assessment: Vulnerable (VU)EU 25 regional assessment: Vulnerable (VU)This species is declining significantly throughout its range, and is close to extinction in some areas. The rate of decline has been estimated as 10% in the last 10 years in Andalucia and is expected to reach 30% in a time window including 20 years in the future. This rate of decline is inferred to be occurring throughout its global range, so no significant rescue effect is expected. Consequently it is classed as Vulnerable.",Unfavourable,"Rhinolophus mehelyi is largely restricted to the Mediterranean. It has a discontinuous distribution from north Africa and southern Europe through Asia Minor to Transcaucasia and Iran. It is patchily distributed in some large and vulnerable colonies. It occurs up to 2,000 m in High and Saharan Atlas mountains, although it is typically found at lower altitudes in other parts of its range (e.g. in Spain it tends to occur below 700 m).","An infrequent species, which is reported to have declined in all parts of its range for which data are available. In Andalucia (Spain), the rate of decline has been estimated at 10% over the last ten years. The species is close to extinction in France (Rodrigues and Palmeirim 1999), Romania (Botnariuc and Tatole 2005), and north-east Spain (J. Juste and T. Alcalde pers. comm. 2006). In France, only one individual was recorded in 2004 (S. Aulagnier pers. comm. 2006), and in Romania the population was estimated at 5,000 in the 1950s, but now numbers approximately 100 (Dumitrescu et al. 1962-1963, Botnariuc and Tatole 2005). It is also declining in southern Spain (Franco and Rodrigues 2001), Portugal (Rodrigues et al. 2003), the Russian Federation (K. Tsytsulina pers. comm. 2005), Georgia, and Morocco (SW Asia Workshop 2005). In Iran mixed-species colonies including R. mehelyi, which in the 1970s were estimated to be over 10,000 individuals, now only number a few hundred individuals (M. Sharifi pers. obs. 2005). Summer nursery colonies typically number 30-500 individuals (although colonies of up to 3,000 individuals have been recorded, separated in smaller groups within the same cave). Winter clusters consist of up to 5,000 animals.","Forages in Mediterranean and dry sub-tropical shrubland and woodland, and in dry steppes. It feeds mainly on moths, but also preys on other insects. Summer roosts are in warm caves, often in karstic regions. Winter hibernacula are in colder underground sites (usually large caves with a constant microclimate). The species only roosts in caves and does not use artifical habitats. Sedentary (longest distance recorded 90km: Palmeirim and Rodrigues 1992).","The species is affected by disturbance and loss of underground habitats, changes in foraging habitats, and destruction of caves by tourism.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex II (and IV) of EU Habitats and Species Directive, and hence requires special measures for conservation including designation of Special Areas for Conservation. There is some habitat protection through Natura 2000 (some roosts are already protected by national legislation). An EU-LIFE funded project aims to ensure the long-term conservation of the large populations of cave and forest-dwelling bats, including this species, in Spain.","Tony Hutson, Friederike Spitzenberger, Javier Juste, Stéphane Aulagnier, Margarida Fernandes, Juan Tomas Alcaldé" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Barbastella barbastellus,"The genus comprises two Palaearctic species with little overlap in range. Some populations described as belonging to B. leucomelas may in fact belong to B. barbastellus (J. Juste pers. comm. 2006). The population from the Canaries is at present regarded as endemic subspecies B. barbastellus guanchae (Trujillo et al. 2002, Juste et al. 2003).",No,No,VU,A3c+4c,VU,A3c+4c,"European regional assessment: Vulnerable (VU)EU 25 regional assessment: Vulnerable (VU)Large range, rare, low density and numbers. Mainly sedentary. Population is fragmented and linked to particular kinds of old forest habitats, which are declining. Does not easily colonise new areas. Declines widely reported in most of its range with a few exceptions for recent years. Status is linked to forestry practices and the decline in the number of old trees (one colony uses up to 30 old trees with holes per season). Has specific habitat and diet requirements. Listed as Vulnerable, as it is suspected that population declines will exceed >30% over a 15 year period including both the past and the future.",Unfavourable,"Barbastella barbastellus is largely restricted to central and southern Europe, although its range extends into north Africa. It is widely but patchily distributed from England and probably Ireland, Iberia to the Caucasus and from the Mediterranean coast to southern Scandinavia, and it also found in Morocco and the Canary islands. It occurs to 1,800 m in the Alps (Spitzenberger 2002), 1,900 m in the Caucasus and 2,260 m in the Pyrenees (Urbańczyk 1999, K. Tsytsulina pers. comm. 2005).","A rare or infrequent species. Summer colonies, usually c. 30. Winter clusters usually small (often solitary), but can reach 500 and, rarely, up to 1,000 in France, Poland and over 7,000 in Slovakia (Schober 2004). Up to 10 in Caucasus (K. Tsytsulina pers. comm. 2005). Extinct in the Netherlands since 1984. Last recorded in Norway in 1949, and possibly extinct (J. van der Kooij in litt. 2006). Decreases widely reported. Considered threatened in many range states. Very small numbers in large part of the range with large temporary aggregations in areas without natural caves. Populations increasing in the last 5 years in Germany now that insecticide use has been reduced (D. Kock pers. comm. 2005). Relatively frequent in woodlands in western part of Caucasus and without reported decline; rare in Ukraine (S. Kruskop pers. comm. 2005).","Forages in mature woodland, woodland edge (and agricultural edge). Feeds on small moths. Summer roosts: usually older mature woodland with maternity sites in trees (occasionally older buildings). Depends on a large number of old trees to roost in a large part of its range, because individuals change their roosts very frequently and colonies need a large number of roost sites for this reason. Winter: Hibernation may start in trees, but later underground sites are preferred. Usually in smaller numbers (up to 50) in natural caves, but in regions where these are missing in large groups in mines and bunkers. Underground habitats may be of any type, but usually very cold sites. Recorded in old mines in winter in the Caucasus (K. Tsytsulina pers. comm. 2005). Movements up to 290 km in Austria (Kepka 1960).","Loss of old mature woodland and ancient trees with loose bark or wood crevices (reforested areas are not suitable for this species: K. Tsytsulina pers. comm. 2005); disturbance and loss of underground habitats, disturbance and loss of roost sites in older buildings. In Germany, habitat loss and fragmentation (caused by inter alia infrastructure development, forestry, and the renovation or demolition of old buildings used as roost sites), and disturbance (e.g. from cave tourism) are major threats (Schulenberg 2005); accidental mortality (roadkill) is also a problem (Rudolph et al. 2003).","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex II (as well as Annex IV) of the EU Habitats and Species Directive, and hence requires special measures for conservation including designation of Special Areas for Conservation. Some habitat protection through Natura 2000. Research is underway to establish conservation requirements for this species. Recommendations include adopting forestry practices that maintain old trees in sufficient numbers.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Eptesicus bottae,,No,No,NA,,NA,,European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Applicable (NA)Assessed as Not Applicable as it is of marginal occurrence in Europe.,-,"Found in ""Rhodes (Greece), Turkey, Egypt, Yemen, Israel, Jordan, Iran, Iraq, Kazakhstan, Turkmenistan, Uzbekistan, Kyrgyzstan, Tajikistan, Afghanistan, east to Mongolia, NW China, and Pakistan"" (Wilson and Reeder 2005). Less than 1% of its global range falls within the European Mammal Assessment region. Altitude: to 2,100 m.","Nothing known, but nowhere common. Seems to be more common in arid regions. Colony size probably small (e.g. to c.20).","Forges over open habitats, including disturbed (e.g. agricultural) habitats and around street lights. Roosts in crevices in buildings (including ruins) and rock faces.",Not known; apparently a species that adapts to artificial habitats.,"Protected through Eurobats (Bonn Convention) and Bern Convention, and included in Annex IV of EU Habitats and Species Directive in parts of range where these apply. No specific conservation actions known.","A.M. Hutson, S. Aulagnier, P. Benda" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Eptesicus nilssonii,Includes Eptesicus japonensis (synonym of E. nilssonii). Could be a separate form in the southwest Asia region (K. Tsytsulina pers. comm. 2005),No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant and there is no indication of significant decline at present. Consequently it is classed as Least Concern.,Unknown,"Eptesicus nilssonii is a widespread Palaearctic species that occurs from France and Norway through northern and central Europe and Asia east to the Pacific seaboard and northern Japan. In Europe, it occurs north to well above the Arctic Circle, but is absent or occasional in the west (the Low Countries, UK, western France, Iberia). It occurs from sea level to 2,300 m (van der Kooij in litt. 2006).","A widespread and common species over much of its range, indeed the most abundant bat species in the north (Rydell 1999). Summer maternity colonies usually number 10-100 females.","It forages in open areas of diverse habitats, including woodland edge (or above woodland), small-scale farmland, parks and gardens with trees (van der Kooij in litt. 2006), over lakes and rivers and at street lights. In autumn, it forages and displays in high mountains above the tree line (Spitzenberger 2002). Its diet comprises small insects such as Diptera. Summer roosts are located mainly in houses, occasionally in tree holes. It may change roost sites during summer. Winter roosts are found mainly in houses, cellars, and natural and artificial underground habitats. In winter the species roosts singly or in small groups of 2-4 individuals. Long-distance movements of up to 450 km have been recorded by Tress (1994).",The main threat is likely to be disturbance of colonies in houses (and possibly when hibernating in underground habitats). However this is not thought to be a major threat to the species.,"It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention in parts of range where these apply. It is included in Annex IV of EU Habitats & Species Directive, and there is some habitat protection through Natura 2000. No specific conservation actions are known.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Ioan Coroiu" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Eptesicus serotinus,"A recent genetic study suggests that the south Iberian population may belong to a different species, probably E. isabellinus (Ibañez et al. 2006).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A very widespread and abundant species. Global and regional population trends are difficult to determine, as the species is decreasing in some range states (sometimes dramatically) whilst increasing in others. Overall, it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern.",Possibly Favourable,"Eptesicus serotinus is widely distributed through the Palaearctic from the Atlantic to the Pacific seaboards. It occurs north to about 57ºN in Denmark, south-west to North Africa, and east into northern parts of the Indian subcontinent and south-east Asia. Records from the Canary Islands (Lanzarote) refer to a single vagrant that died shortly after arrival (Trujillo 1991). Its altitudinal range is from sea level to to 1,440 m in the Alps (Spitzenberger 2002).","A very widespread and abundant species, with decreases recorded in some areas and increases in others. It may be increasing in some parts of northern Europe (e.g. Denmark) and decreasing in others, slightly (e.g. UK), or severely (e.g. Austria). In Austria, a 70% decline has been recorded in the eastern part of the country (the former stronghold) over the last 15 years, and the species is now absent from lowland regions with bare arable land (F. Spitzenberger pers. comm. 2006). It is suspected to be declining in the rest of Pannonian basin. It is known from a single locality in European Turkey, and the total population in Turkey is small (A. Karatash pers. comm. 2005). In Iran it is at the edge of the its range, the species occurs in low numbers (M. Sharifi pers. comm. 2005). Summer maternity colony size is generally 10-50 females (occasionally up to 300). It winters singly or in small groups.","It forages over open woodland, woodland edge, and pasture, feeding on larger beetles, moths and Diptera.Most summer (maternity) colonies are in buildings (mainly houses) and occasionally tree holes or rock fissures.In winter it roosts singly or in small numbers in buildings and rock crevices, or often in underground habitats in north central Europe. Winter roosts are usually in fairly cold, dry sites. It is a largely sedentary species, with movements to 330 km recorded (Havekost 1960 in Hutterer et al. 2005).","In some areas it is affected by habitat loss and disturbance and destruction of colonies in houses. Population decline in Austria might be related to food reduction due to large scale mosquito control with the bacterium Bacillus thuringiensis, used in the Danube and Moravia regions (F. Spitzenberger and I. Coroiu pers. comm. 2006). The species is a host of the rabies-related virus EBLV1. There is increasing interest in the occurrence, risk to humans and epidemiology of this virus (e.g. Stantic-Pavlinic 2005), which could have an effect on the public image of this house-dependent bat.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention in parts of range where these apply. It is included in Annex IV of EU Habitats & Species Directive, and there is some habitat protection through Natura 2000. No specific conservation actions known. Protection of maternity roosts and study of impact of B. thuringiensis on the species are needed at least in Austria (F. Spitzenberger pers. comm. 2006).","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Ioan Coroiu" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Miniopterus schreibersii,"Two papers by two different teams published in 2004 split the species in three (Appleton et al. 2004, Tian et al. 2004); only one of these taxa is present in the Western Palaeartic.",No,No,NT,,NT,,European and EU 25: Classed as Near Threatened. Significant population declines and range contractions have been recorded in a number of range states; overall the rate of population decline is likely to approach 30%.,Unfavourable,"A southern Palaearctic species; patchily distributed over its range in some huge and vulnerable colonies. It typically occurs at altitudes of up to 1,400m (commuting up to 2,600m).","In southern Europe and Asia Minor it is widely distributed and common, but it has lost the northern parts of its range since the 1960s. Summer breeding colonies typically number 500-10,000 individuals (formerly up to 80,000 animals in Bulgaria and 100,000 in India). It winters in clusters of at least a hundred individuals (exceptionally up to 33,000 animals in Spain and Romania). Population trends vary in different parts of the range: in most of south-east Europe and the Middle East it appears to be stable, whereas very significant recent declines have occurred in northern parts of the European range. In south-west Europe there have been recent mass mortality events.Extinction has occured in Germany and Ukraine. In Switzerland the species has declined since the 1960s and is now close to extinction, and in Austria the hibernating population has declined from 2,500 to 1-2 individuals and all maternity colonies have been lost. In Romania, half of the roosts have disappeared since the 1960s. However, no decline has been recorded in large colonies in Croatia and Bulgaria. In 2002 mass mortalities of this species were reported for populations in France, Spain and Portugal; there are also historical records for such mortalities in Italy and Australia and a possible incidence in Iran. A herpesvirus was found but not identified as the cause of the die offs. Hundreds of individuals were found dead in spring. Mortality up to 60% in one year (2002) was reported in France (Roué and Némoz 2002), and 40% mortality occurred in Spain during the same period including 1,000 dead individuals out of 6,000 in one colony. A number of sites were subsequently deserted. Outside Europe, it is the second most common bat species in Turkey and Iran, with large colonies of thousands of individuals (A. Karatash and M. Sharifi pers. comm. 2005). The population in Iran is probably stable (M. Sharifi pers. comm. 2005). Populations in the Caucasus are considered Near Threatened (K. Tsytsulina pers. comm. 2005).","It forages in a variety of open and semi-open natural and artificial habitats, including suburban areas. It feeds mainly on moths, and occasionally on flies and spiders. It is a colonial species that roosts almost exclusively in caves and mines, often in large mixed colonies with other cave-dwelling bat species. Large and warm caves are preferred. Solitary animals and small groups may sometimes occupy other types of shelter. In winter it hibernates in underground sites (usually large caves with a constant microclimate). Schreiber's bat is a migrant species which changes its roosts frequently, long-distance movements occur occasionally (longest recorded distance 833 km: Hutterer et al. 2005).","Disturbance and loss of underground habitats and pesticide use may threaten this species. In the Caucasus, disturbance caused by tourism in caves is a problem (K. Tsytsulina pers. comm. 2005). The cause of recent mass mortality events is unknown. A meeting was held at the 9th European Bat Conference to discuss these incidents. Veterinary investigations in Spain did not identify any disease as the cause of the die offs, and there is increasing belief that the die offs are caused by bad weather in late winter/early spring.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex II (and IV) of the EU Habitats and Species Directive, and hence requires special measures for conservation including designation of Special Areas for Conservation. There is some habitat protection through Natura 2000, and some roosts are already protected by national legislation. There have been a number of LIFE-funded projects for this species in Spain, Italy, Romania and Germany.","Tony Hutson, Stephane Aulagnier, Petr Benda" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis alcathoe,"Formerly included in Myotis mystacinus (Kuhl, 1817); the species was differentiated (von Helversen et al. 2001) on the base of karyological, genetic and echolocation characters.",Yes,No,DD,,DD,,"The species has been recently described (2001) and is known from few localities. It is not easy to identify morphologically. More localities are being reported, but insufficient information is currently available on the extent of the range, population size and population trends. Consequently it is assessed as Data Deficient. Based on present knowledge the species is endemic to Europe.",Unknown,"This species was recently described and is poorly known (von Helversen et al. 2001), but current information suggests that it is endemic to central and southern Europe. It is known from Spain, France, Switzerland, Germany, Czech Republic, Slovakia, Hungary, Montenegro, Romania, Bulgaria, and Greece (Ruedi et al. 2002, Benda et al. 2003, Agirre-Mendi et al. 2004, von Helversen 2004, Helversen et al. 2006, P. Benda in litt. 2006). The species is possibly present for most of Serbia and areas of Montenegro (M. Paunovic pers. comm. 2007).","Its population size and trend is unknown. To date, c.15 localities are recorded in international publications (von Helversen 2001, Benda et al. 2003, von Helversen 2004). However, new localities continue to be found (EMA Workshop 2006, Mediterranean Mammals Workshop 2007).","According to present scarce knowledge, it is a tree dwelling and forest foraging species. In parts of the range at least it prefers to hunt in small valleys with deciduous trees and flowing water, which is a threatened habitat. The only breeding colony was found in a tree hollow. It may also occur in rural gardens and urban habitats. It probably occurs in underground habitats in winter.",Damage to riparian forest is believed be a threat in parts of range (von Helversen et al. 2001). Wider forest and roost tree loss (especially in wet old growth forests) may also be threats.,"It is protected by national legislation in most range states. There are also international legal obligations for the species' protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex IV of the EU Habitats and Species Directive, and some habitat protection may be provided through Natura 2000. Conservation recommendations include further research on distribution, population status and trends, ecology, habitat requirements, and threats. Measures to increase public awareness of this little-known species are also recommended.","Hutson, A.M., Aulagnier, S., Nagy, Z., Karataş, A., Palmeirim, J. & Paunović, M." -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis aurascens,Formerly included in Myotis mystacinus; it was differentiated on the basis of morphology (Benda and Tsytsulina 2000).,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species has a wide range. Population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers), as the species is described as common in at least parts of its range. Population trend has not been quantified, but it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern.",Possibly Favourable,"Myotis aurascens is a western Palaearctic species; from present knowledge it is distributed in south-east Mediterranean and steppe Europe, and in south-west Asia (from Italy through the Balkans to southern Russia and Transcaucasia). In that area it is the most common of the M. mystacinus group and one of most common bat species (Benda 2004).","Exact details are not known, but it is a widespread and common species.","Recorded from forest and scrub (including Mediterranean-type scrub), and likely to occur in underground habitats.","Potential threats include habitat loss (as a result of infrastructure development and other causes), and disturbance of roost sites in buldings or underground habitats. However, these are not thought to be major threats to the species at present.","It is protected by national legislation in most range states. There are also international legal obligations for the protection of this species through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex IV of EU Habitats & Species Directive. Some habitat protection may be provided through Natura 2000. Further research is required on population size and trends, distribution, habitat requirements and ecology, and potential threats to this species. Measures to increase public awareness are also recommended.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Zoltan Nagy" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis bechsteinii,"Monotypic form, without taxonomic complexities (Baagøe 2001).",No,No,VU,A4c,VU,A4c,"European regional assessment: Vulnerable (VU)EU 25 regional assessment: Vulnerable (VU)A rare species that occurs at low densities and has specific habitat requirements. Its population is fragmented and its sedentary habits mean that it does not colonise new areas easily. There is very little information on population trends, but it is suspected that the species is declining as a result of the loss and degradation of specific types of old-growth woodland, compounded by other threats such as human disturbance. It is suspected that these threats may result in a population decline of >30% over a 15 year period including both the past and the future. Consequently it is assessed as Vulnerable.",Unfavourable,"A western Palaearctic species, it occurs in central and southern Europe and temperate south-western Asia (Caucasus region and Asia Minor). It is found on several islands including Bornholm, Corsica, Elba, Capri, Sicily (Baagoe 2001). It has been recorded from sea level to as high as 1,500m in central Spain (Benzal and de Paz 1991).","It is considered rare throughout its range, although in optimal habitat it may be regularly found, and it is a typical member of central European bat communities. In southern Europe and the Caucasus it is rare (K. Tsytsulina pers. comm. 2005), and there has been only one confirmed individual in Iran (Sharifi et al. 2000). There are also few records from Turkey, where it has been found in groups of up to six individuals in six localities (A. Karatash pers. comm. 2005). Breeding colonies are small, numbering up to 10-30 individuals (K. Tsytsulina, J. T. Alcalde, A. Hutson pers. comm. 2006). Populations are fragmented as a result of the loss in historic times of the majority of its forest habitat. There is very little information on recent population trends. However, one of the few colonies known from Spain has disappeared in recent years because of human disturbance (J. T. Alcalde and J. Juste pers. comm. 2006).","This species has specialised habitat requirements, and is largely dependent on mature natural forests. In the south-west Asia region it is found in broadleaf forest and sometimes mixed forest (K. Tsytsulina pers. comm. 2005). In Europe, it tends to prefer mature deciduous woodland of beech and oak with a high proportion of old trees. Densities of this species are highest in forests that are managed according to environmental (rather than strictly economic) principles. It is occasionally found in artificial habitats such as pasture, plantations (especially orchards) and rural gardens. In summer it roosts in tree-holes, or occasionally in buildings; bird and bat boxes are fairly readily accepted (Schlapp 1999). In winter it hibernates in underground habitats, and possibly also in hollow trees. It forages in woodland and along woodland edge for Lepidoptera, Diptera, Planipennia, and also non-flying insects. A sedentary species (Hutterer et al. 2005).","Threats include inappropriate management and development of woodland habitats, intensive agriculture (e.g. use of pesticides on farmland adjacent to woodland occupied by the species) and human disturbance of roost sites. The loss of old trees with hollows is a particular problem. In Germany, infrastructure developments (and associated habitat fragmentation) and forestry are the main threats (Schulenberg 2005).","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex II (and (IV) of EU Habitats and Species Directive, and hence requires special measures for conservation including designation of Special Areas for Conservation. There is some habitat protection through Natura 2000, and the species is found in protected areas all over its range. It benefits directly or indirectly from a number of LIFE funded projects in Europe, and there are current research projects focussing on the species. Appropriate habitat management involves leaving old trees in sufficient numbers, as each individual colony uses up to 30 trees in the summer. Monitoring is required to determine population trends in this species.","Tony Hutson, Friederike Spitzenberger, Javier Juste, Stéphane Aulagnier, Juan Tomas Alcaldé" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis blythii,"Based on analyses of sequence data of mitochondrial genes (Ruedi and Mayer 2001), Wilson and Reeder (2005) treated myotis, blythii, oxygnathus and punicus as separate species, an arrangement used also by Spitzenberger (2002). However, the IUCN SSC Chiroptera Specialist Group awaits further details to justify the specific separation of M. blythii and M. oxygnathus. We follow Castella et al. 2000 in treating the populations of North Africa, Corsica, Sardinia and Malta as a species: M. punicus.",No,No,NT,,NT,,"European and EU 25: Near Threatened. This species has declined in many parts of its range both inside and outside Europe. There is evidence of rapid ongoing decline in at least some areas, although in other areas the trend may be stable. It is suspected that, overall, population declines may approach 30% over the last 21 years (3 generations). Consequently, the species is assessed as Near Threatened (approaching A2b) at the European and EU 25 levels. There is not expected to be any rescue effect from populations outside the region, as these may be declining too.",Unfavourable,"A south-west Palearctic species, it occurs in southern Europe, southern parts of central Europe, and non-arid parts of southwestern Asia from Asia Minor, the Caucasus region and Palestine to Kashmir, the Altai mountains, Nepal, and parts of China. The subspecies M.b. oxygnathus occurs in Europe and western Anatolia: Portugal, Spain, France, Italy (including Sicily). Switzerland, Austria, Czech Republic, Slovakia, Romania, Moldova, Ukraine (including Krym), the Balkan Peninsula and parts of Turkey (Topál and Ruedi 2001). In the Caucasus, Turkey, Iran, the Russian Federation and Georgia it is confimed to occur no higher than 1,700m (K. Tsytsulina, M. Sharifi and A. Karatash pers. comm. 2005). However, it is found at altitudes of up to 2,100m in the winter in southern Spain (Palomo and Gisbert 2002).","A gregarious species, it congregates in nursery and/or hibernating colonies of up to 500 individuals. There have been large population reductions since the 1950s in several areas, including central Europe, Israel, and central Asia, and there is evidence of ongoing decline in some parts of the range, although in other areas populations appear stable. It remains an abundant species. In Turkey it occurs in large clusters and is the second most common bat species (A. Karatash pers. comm. 2005). In Iran there is evidence of population decline, although it remains one of the most sighted species (M. Sharifi pers. comm. 2005). The Spanish population is estimated to be smaller than 20,000 individuals, and is concentrated in the southern part of the country (Palomo and Gisbert 2002). It is declining, at a rate of one third over the last 10 years in important large colonies in Andalucia (Franco and Rodrigues de los Santos 2001). It is one of the rarest species in Portugal, where its population of c.2,000 individuals is declining (Rodrigues et al. 2003). It is uncommon in the northern part of the range (Austria) but seems stable (Spitzenberger 2002). In France, the population of over 20,000 individuals experienced declines since the 1960s, but may now be stable (S. Aulagnier pers. comm. 2006). In Romania, one well-known colony has declined by 95% as a result of disturbance by speleological tourism (Z. Nagy pers. comm. 2006). It often occurs in mixed colonies with Myotis myotis and identification is sometimes problematic.","It forages in scrub and grassland habitats, including farmland and gardens. Maternity colonies are usually found in underground habitats such as caves and mines, and sometimes in attics of buildings (particularly in central Europe).It hibernates in winter in underground sites with a relatively constant temperature of 6-12ºC. The species is an occasional migrant, with movements of up to 488 km recorded (Hutterer et al. 2005; previous reports of 600 km are erroneous).","Changes in land management, especially agricultural pollution and other agricultural activities, can affect populations of this species. Disturbance to roosts in caves and buildings may also be a problem.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex II (and IV) of the EU Habitats and Species Directive, and hence requires special measures for conservation including designation of Special Areas for Conservation. There is some habitat protection through Natura 2000. In some countries (including Spain, Portugal, and Italy) several colonies are protected by closing entrances to caves with fences. More colonies should be protected.","Tony Hutson, Friederike Spitzenberger, Javier Juste, Stéphane Aulagnier, Juan Tomas Alcaldé, Zoltan Nagy, Ioan Coroiu" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis brandtii,"In this assessment we regard M. brandtii as a species consisisting of two forms, M. brandtii brandtii (Europe, Caucasus, Western Siberia), and M. b. gracilis (central and Eastern Siberia, Mongolia, Korea, Manchurea, Japan) (Benda and Tsytsulina 2000, Tsytsulina 2001). K. Tsytsulina has a paper in press which proposes two separate species and revises the distribution. Both the eastern and the western forms are widespread and abundant.",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant, and there is no indication of current significant decline. Consequently it is assessed as Least Concern.",Unknown,"Myotis brandtii is a boreal Palaearctic species, distributed from Ireland, central Europe and Fennoscandia through the Russian Federation and central Asia to the northern Far East. It has a scattered distribution in south-east Europe and Anatolia. It occurs from sea level to 1,800 m.","One of the more common species within northern parts of its regular distribution area. It is decreasing in Turkey, at the southern edge of its global range (A. Karatash pers. comm. 2005).","It inhabits mixed and broadleaf forest, and sometimes coniferous forest, often in close proximity to water (K. Tsytsulina pers. comm. 2005, Gerell 1999). It is less often found near human habitation than its congener M. mystacinus. Summer roosts are sited in buildings, tree holes, and bird and bat boxes. In winter it hibernates in caves and mines. It is an occasional migrant, with movements of up to 618 km recorded (Hutterer et al. 2005).","There are no major threats known. Localized possible threats include changes in land-use practices (including woodland loss, infrastructure development and pesticide use). Human disturbance to roosts in builidings and underground habitats may also be a problem. In the eastern Black Sea area, it prefers to roost behind window shutters in older buildings, and these sites are not provided in modern buildings. Another popular roost site in this region is barrels hung in trees for honey bee farming, and when the barrels are removed to check for honey, roosting individuals are disturbed (A. Karatash pers. comm. 2005).","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention, in parts of its range where these apply. It is included in Annex IV of EU Habitats & Species Directive, and there is some habitat protection through Natura 2000.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Ioan Coroiu" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis capaccinii,Most of the recent authors consider M. capaccinii as a monotypic species (Spitzenberger and von Helversen 2001).,No,No,VU,A4bce,VU,A4bce,"The species occupies specialised habitat in Mediterranean countries (caves and associated water systems). In the eastern part of the range it congregates in winter in a few sites threatened by human disturbance. It has declined between 30 and 50% in Spain in the last 10 years, and there are indications of decline in other parts of the range. It only hunts on watercourses and is therefore threatened by water pollution and development of touristic infrastructure, which is expected to continue in the future. It is suspected that population declines are underway that will exceed 30% over 18 years (3 generations), and for that reason the species is considered Vulnerable at the European and EU 25 levels.",Unfavourable,"Myotis capaccinii is sparsely distributed from eastern Iberia through the northern Mediterranean to coastal Asia Minor and Israel, Lebanon and Jordan, and also in Mesopotamia from Turkey to Iran and in north-west Africa. It occurs from sea level to 900 m.","Locally it can be abundant. Generally, the population is fragmented, but these ""fragments"" may constitute robust parts of the overall population. Declines have been reported in many range states. In Spain, the population has declined by 30-50% in the last 10 years to fewer than 10,000 individuals. Only 30 colonies are known that comprise more than 20 individuals (Palomo and Gisbert 2002). At least six important colonies are threatened by the construction of buildings nearby and five colonies have disappeared over the last 10 years. In France the population has declined to very low numbers (an estimated 3,800 individuals). Colonies have been lost in the western part of the range in the last 15 years (S. Aulagnier pers. comm. 2006). Colonies in central Romania known from the 1960s have disappeared, and the species is now restricted to the south. The species is almost absent in winter and probably hibernates in Bulgaria (Z. Nagy pers. comm. 2006). The Bulgarian population is estimated at c.20,000. In Croatia there are still some large colonies but these are threatened by pollution of karstic water bodies (F. Spitzenberger pers. comm. 2006), and the species is listed as Endangered in the Croatian Red Book of Mammals (Tvrtković 2006). In Turkey it has a decreasing population and is considered vulnerable; it is most often encountered in small groups, very occasionally up to several hundred individuals (A. Karatash pers. comm. 2005). The species is naturally rare in Iran (M. Sharifi pers. comm. 2005) and north Africa (S. Aulagnier pers. comm. 2006). The size of colonies is smaller in the western part of the range (several hundreds of individuals in summer) than in the eastern part (up to several thousands in winter).","It forages over wetlands and waterways (including artifical waterbodies, such as canals and reservoirs), also scrub. It generally roosts in underground habitats (principally caves). Movements between summer and winter colonies are mostly within a distance of 50 km (maximum 140 km: Hutterer et al. 2005)","Threats include changes in water quality through pollution and dam building, and loss of water bodies and watercourses. Damage or disturbance to caves used as roosts may also be a problem.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex II (and IV) of EU Habitats and Species Directive, and hence requires special measures for conservation including designation of Special Areas for Conservation. Some habitat protection through Natura 2000. In Spain, fences are in place to protect several known colonies. Measures needed include protection of colonies and improvement of water quality.","Tony Hutson, Friederike Spitzenberger, Javier Juste, Stéphane Aulagnier, Juan Tomas Alcaldé" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis dasycneme,,No,No,NT,,NT,,"The species' range is wide but it is specialised to feeding above water courses and water bodies. Loss and degradation of aquatic habitats may threaten the species. There has been a rapid decline in the past in at least parts of Europe, and although this decline may now have slowed, it is nevertheless suspected to approach 30% over the last 15 years (3 generations). Consequently the species is classed as Near Threatened (approaching A2c) at the European and EU 25 levels.",Unfavourable,"Myotis dasycneme occurs from north-west Europe (north-western France and southern Scandinavia) south to Serbia and Montenegro, Ukraine, and north Kazakhstan and east to the River Yenisey in central Russia, with few record from China. Historic or subfossil records exist from Switzerland, Austria and the former Yugoslavia. Recorded from sea level to 1,500 m.","It is rarely abundant, and ranks among the rarest bat species in Europe. Summer colonies usually less than 100, but can reach 500. In winter sites, usually roost singly or small groups of up to 10, few sites with more than 200 individuals (maximum 700). Although no quantitative data on population trends are available, the species is reported as seriously declining in much of Europe.","This species feeds principally over open calm water, particularly canals, rivers and lakes, on small emerging and emergent insects, often taken from the water surface. It prefers water lined by open rough vegetation without trees. Most of the known summer maternity roosts are in buildings, often in large attics and church steeples, in groups of 40-600. Some tree and bat box roosts are recorded. It frequently hibernates in underground habitats ranging from natural caves to cellars and bunkers. It is a partial migrant, with winter and summer roosts often separated by more than 100 km (maximum recorded: 350 km), and it may need good habitat links between summer and winter roosts.","Threatened by habitat change, including renovation and maintenance of buildings with roosts involving the use of chemicals for remedial timber treatment that are toxic to mammals. Few nursery roost sites are known and many of these have been lost, although numbers in hibernation sites have shown a slower decline in the Netherlands. Water pollution may also be a threat; the species already has a relatively restricted foraging habitat of broad, open flat water of canals, rivers and lakes with relatively open banks, with possibly some further seasonal (summer) restriction within utilised habitat. Such restrictions in summer may be opportunistic rather than enforced, and it may be that the requirements for wider dispersal in spring, and possibly autumn, is more of a conservation problem than concentration in summer in good foraging habitat close to the roost. The requirements during migration are not known and may be a constraint (Limpens et al. 2000, Hutson et al. 2001)","Protected in all European range states, and possibly in most of rest of range. In Europe it is included in Annex II of the EEC Council Directive on the Conservation of Natural Habitats and of Wild Fauna and Flora 1992 (EEC Habitat Directive) requiring full protection and designation of Special Areas of Conservation to maintain it and its habitats. Other international treaties of relevance are the Agreement on the Conservation of Bats in Europe (Bonn Convention 1994), Convention on the Conservation of European Wildlife and Natural Habitats (the Bern Convention 1982) and Bern Convention Recommendation 36 (1992, Conservation of Underground Habitats). Most European range states are party to at least one of these treaties. Numbers in underground habitats have increased following site protection. Considerable effort has been applied to the conservation of known maternity roosts, but not always with success in view of requirements for renovation and maintenance of buildings used as roosts. Particularly in the Netherlands the use of bat detectors has more clearly demonstrated the distribution of the species and hence allowed more precise definition of foraging habitat requirements and the need for an adequate network of protected flightpaths between roosts and foraging sites. Under the Agreement on the Conservation of Populations of European Bats, the species is selected for examination of its migratory behaviour.The Bern Convention has commissioned a Species Action Plan under its obligations to the Pan-European Biological and Landscape Diversity Strategy (Hutson et al. 2001). Current (2006) research in the Netherlands and Germany focuses on conservation requirements and migration.","Tony Hutson, Stéphane Aulagnier, Zoltan Nagy" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis daubentonii,"This assessment refers to M. daubentonii sensu lato, thus including M. petax from Altai and Siberia which was recently separated as species by Matveev et al. (2005).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant, and there are indications that its population is currently increasing. Consequently it is classed as Least Concern.",Possibly Favourable,"Myotis daubentonii is distributed from Portugal, Ireland and Norway through Europe and northern Asia to the Far East (Korea and Japan). It is absent in Central Asia from the Caspian region to the Altai mountains, and only a few records are known from Asia Minor and the western Caucasus. There are records from sea level to 1,400 m in the Alps (Spitzenberger 2002).","One of the most abundant bats in many parts of its range, and the only European bat species for which continuing population increase from the 1950s to present has been recorded. A very common species in central and eastern Europe and in northern Asia.","It forages over natural and artificial water bodies (including fjords), sometimes in woodland or scrub. Summer roosts are in trees, buildings and other artificial structures (e.g. bridges, cellars). It winters in wide range of underground habitats. Seasonal movements between winter and summer roosts are mostly within a distance of 100-150 km (Hutterer et al. 2005). The longest distance covered is 257 km (Tress et al. 2004 in Hutterer et al. 2005).","Changes in water quality may reduce food supply, and loss of or damage and disturbance to roost sites in trees, buildings, other artificial structures, and underground habitats may cause temporary localised losses. However, these are not thought to be serious threats to the survival of this abundant and expanding species.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention in parts of its range where these apply. It is included in Annex IV of EU Habitats & Species Directive, and there is some habitat protection through Natura 2000.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Ioan Coroiu" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis emarginatus,"The population of the western part of the distributional range (NW Africa, Europe, Caucasus and Levantine regions) belongs to the nominotypic subspecies (M. emarginatus emarginatus); in the Asian part of the range two further subspecies are found (M. e. sogdianus and M. e. desertorum).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species experienced a significant decline from the 1960s to the 1990s, but now it is expanding in central Europe and is stable or not significantly declining elsewhere. The range is still large and the species is not restricted to a specialized habitat, although it has a very specialized diet.",Possibly Favourable,"Myotis emarginatus occurs in southern Europe and southern part of western and central Europe and non-arid parts of south-western Asia from Asia Minor, Caucasus region and Palestine to Oman, Uzbekistan and Tajikistan; also in north-west Africa. It occurs from sea level to 1,800 m, highest records in the Alps are 812 m (maternity colony) and 1,505 m (hibernaculum) (Spitzenberger 2002).","Locally it can be rare or common. The species experienced a significant decline from the 1960s to the 1990s, but more recently the numbers in several regions have increased and the species has spread into new areas. It lives in large colonies (up to 1,200 individuals in Austria in one maternity colony). It is included in the Red List of the Russian Federation as Vulnerable, on the basis of a past population decline of 30% or more inferred from a reduction in range. The species is of marginal occurrence in the Russian Federation.","It forages over scrub and grassland. Diet unique in Europe as it mainly feeds on spiders and flies. In summer, it roosts in underground habitats and, in central Europe, in buildings (in loft spaces). Sometimes roosts in summer with Rhinolophus species. It winters in underground sites. In Iran and the Caucasus, the species occurs in a variety of habitats, but in low numbers (M. Sharifi pers. comm. 2005). Mainly a sedentary species, but movements of up to 105 km have been recorded (Schunger et al. 2004 in Hutterer et al. 2005)","In Europe the species is mainly associated with agricultural landscapes, therefore all agricultural activities can affect populations of this species. Loss of and disturbance to roost sites in buildings and underground sites are also threats.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex IV of EU Habitats & Species Directive, and there is some habitat protection through Natura 2000.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Zoltan Nagy" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis myotis,,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species experienced a significant population reduction in the past but is now stable (at lower densities) or recovering throughout the range. The range is still wide and the population large (tens of thousands of individuals in various countries). Consequently it is assessed as Least Concern.,Possibly Favourable,"Myotis myotis is a western Palaearctic species; it occurs in western, central and southern Europe (with individual records from southern England and southern Sweden) and in Asia Minor and in the Levant.","A common species in most of its distributional range, populations of several regions are fluctuating in numbers. During the 1980s and 1990s in central Europe there were increases in numbers following major declines in earlier decades. It forms large nursery colonies (tens to thousands of individuals) in caves, in central Europe also in loft spaces. In Austria the population was estimated to be 76,000 individuals in 1999 and is still increasing (Spitzenberger 2002, F. Spitzenberger pers. comm. 2006). In France 37,000 individuals were recorded in summer 1995 (Roué and Groupe Chiroptères 1997); trend data are not available. A small population went extinct in Britain in 1990 (A. Hutson pers. comm. 2006)","It forages over woodland edge, scrub, and pasture. It preys on large insects, mainly flightless beetles, gleaned from the ground. It roosts in underground sites all year in much of range, and in buildings (loft-spaces) in summer in northern parts. Occasionally it forms small colonies in trees. It is an occasional migrant; the longest recorded movement is 436 km (Simon et al. 2004).","In Europe, it is a typical species of agricultural mosaic landscapes, therefore agricultural activities (e.g. pesticide use, intensification that leads to loss of scrubby patches, hedgerows, and small woods) can affect populations of this species. Loss of or damage to roost sites in underground habitats and buildings may also be a threat. However these are not thought to be major threats to the species as a whole at present.","Protected by national legislation in most range states. Also international legal obligations for protection through Bonn Convention (Eurobats) and Bern Convention. Included in Annex II (and IV) of EU Habitats and Species Directive, and hence requiring special measures for conservation including designation of Special Areas for Conservation. Some habitat protection through Natura 2000.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Zoltan Nagy" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis mystacinus,"Includes three forms differing in morphological traits: M. mystacinus mystacinus (most of European range), M. mystacinus occidentalis (Iberia and Morocco) and M. mystacinus caucasicus (Caucasus region).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant, and there are no indications of current significant population decline. Consequently it is classed as Least Concern.",Unknown,"Myotis mystacinus is a western Palaearctic species, occurring in western and central Europe, southern parts of Scandinavia, the British Isles, Morocco, northern parts of eastern Europe, western parts of the Caucasus and the Urals. The occurrence in south-east Europe is questionable but likely. It has been recorded from sea level to 1,920 m (Gerell 1999).",One of the more common species within the regular distribution area.,"It inhabits forest, woodland edge and shrubland. Summer maternity roosts are typically sited in trees, buildings, and bird and bat boxes. It hibernates in small groups in underground sites (caves, mines, and cellars). It is an occasional migrant, with movements of up to 240 km recorded (Gerell 1999). Movements of up to 625 km have been described, although the longest distance covered by a bat with certain species identification is 165 km (Gaisler et al. 2003 in Hutterer et al. 2005).","Although not major threats, the species is affected by loss of woodland and other aspects of land management and development. It is also affected by loss of and damage to roost sites in trees, buildings and underground habitats.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex IV of EU Habitats & Species Directive, and there is some habitat protection through Natura 2000.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Ioan Coroiu" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis nattereri,"Does not include Myotis schaubi (Armenia and western Iran) and Myotis bombinus (south-eastern Siberia, north-eastern China, Korea, Japan). Two subspecies of M. nattereri are recognized: M. nattereri nattereri (N Africa, Europe, SW Asia Minor, Palestine) and M. n. tschuliensis (Caucasus region, Iraq, Turkmenia). Part of the Iberian population has been described as a a new cryptic species named Myotis escalerae (Ibañez et al. 2006).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant, and there is no evidence of current significant population decline. Consequently it is classed as Least Concern.",Unknown,"Myotis nattereri is a western Palaearctic species. It is widespread in Europe, with the exception of northern Fennoscandia, eastern Ukraine and much of Russia. Also found in Morocco, western and south-western Asia Minor, Levant, Caucasus region (including northern Iraq), Kopetdag Mountains in Turkmenia and Iran, northern Kazakhstan. Its altitudinal range is sea level to 2,000 m.",In Europe it is widespread but everywhere rare (Topál 2001). Colonies can reach 250-300 individuals in Jordan (Z. Amr 2000).,"It forages in woodland (including Mediterranean pine and oak forest: Amr 2000), shrubland and parkland, sometimes over water, pasture, and road verges. It occurs in humid areas, and in dry areas it is dependant on water bodies. Summer roosts are in hollow trees, buildings and occasionally underground sites. It hibernates in underground habitats (caves, cellars and mines). It is a sedentary species, movements between summer, autumn and winter roosts are up to 120 km (Masing et al. 1999 in Hutterer et al. 2005).","The species is affected by loss of woodland and other changes in land management and development. Loss of or damage to roost sites in trees, buildings and underground habitats may also be a problem.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention, in parts of its range where these apply. It is included in Annex IV of EU Habitats & Species Directive, and there is some habitat protection through Natura 2000.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Myotis punicus,"Originally described as a subspecies of blythii, but recently shown to lie outside a clade including blythii, myotis, and oxygnathus (Ruedi and Mayer 2001).",No,No,NT,,NT,,"European regional assessment: Near Threatened (NT)EU 25 regional assessment: Near Threatened (NT)The population size is estimated at between 6,000 and 8,000 individuals. The species is cave dwelling, only a small number of colonies are known, and those are in touristic areas subject to disturbance. Although the population trend has not been quantified in Corsica, some colonies have been lost, suggesting that declines have occurred. It is assumed that the population trend will be similar on Sardinia as the species faces the same threats there. On Malta, surveys have shown an estimated decline of 50% or more in 3 generations, although this is a small part of the overall population and the trend has now stabilised. It is therefore suspected that the species is declining faster than 10% in 3 generations (generation time for the species is 7-8 years). Because the overall decline rate is suspected rather than estimated, the species qualifies as Near Threatened (approaching C1). There is no evidence that there would be a significant rescue effect from North African populations.",Unfavourable,"Myotis punicus occurs in North Africa (Morocco, Algeria, Tunisia, and Libya) and on the Mediterranean islands of Corsica (to France), Sardinia (to Italy), and Malta.","On Corsica there are around 3,000 individuals in four colonies. The total population size on Corsica, Sardinia and Malta is estimated at between 6,000 and 8,000 individuals. Cave dwelling, therefore there are few colonies. On Malta, over 50% of the population was lost between the latter half of the 1980s and the early 1990s. Numbers appear to have stabilised at 400-450 individuals (Borg 2002, J.J. Borg unpubl. data). The population trend on Corsica is difficult to quantify as surveys before 2000 were very limited, but some colonies have been lost, indicating that there are some threats to the population (S. Aulagnier pers. comm. 2007).","This species forages in woodland and shrubland and roosts in underground sites, possibly also in buildings. Bats ringed in Malta were retrapped in Gozo, but there were no indications of longer distance movements (Hutterer et al. 2005).","Human disturbance is a major threat, as colonies are located in touristic areas, in caves that are well known and popular. Changes in land management and agricultural pollution are also threats.","It is protected by national legislation in its European range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention, in parts of its range where these apply. It is included in Annex IV of the EU Habitats & Species Directive, and there is some habitat protection may be provided through Natura 2000. There is an ongoing project for the conservation of this species. Appropriate conservation measures include fencing cave entrances and obtaining legal protection for the species.","Javier Juste, Stéphane Aulagnier, Tony Hutson" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Nyctalus azoreum,"There is marked genetic differentiation between populations on central and eastern islands in the archipelago, indicating that they have evolved in relative isolation for a long time (Salgueiro et al. 2004).",Yes,No,EN,B1ab(iii),EN,B1ab(iii),"This species is endemic to the Azores, where it has a small population and range. It is suspected to be declining as a result of disturbance and destruction of colonies, loss and degradation of natural and semi-natural habitats and pesticide use. There is no direct information on dispersal between islands, but genetic research suggests that dispersal is restricted, and so the population is precautionarily regarded as being severely fragmented; further research would be required to confirm this. For these reasons, it is assessed as Endangered.",Unfavourable,"Nyctalus azoreum is restricted to the Azores archipelago (Portugal), where it occurs on Faial, Pico, San Jorge, Graciosa, Terceira, San Miguel and Santa Maria islands, where it occurs from sea level to 600 m (A. Rainho pers. comm. 2006). Its extent of occurrence is estimated at ca.2,200 km2.","Surveys in 2002, 2003 and 2004 found the species quite abundant on San Miguel, Faial, Terceira and San Jorge, but rare on Graciosa and extremely rare on Santa Maria. It is absent from Flores and Corvo. There is no quantitative information on population trend, but it is suspected that the species may be declining as a result of habitat degradation, destruction of or exclusion from roosts (both in trees and buildings), and human persecution. Local environmental groups report that numerous colonies have recently disappeared (A. Rainho pers. comm. 2006). The total population is estimated at 2,000-5,000 individuals, and there are probably fewer than 1,000 individuals on San Miguel, where the species is most abundant (Cabral et al. 2005, J.M. Palmeirim, A. Rainho and L. Rodrigues pers. comm. 2006).","It forages over a variety of habitats on the islands, favouring natural and semi-natural habitats. But it frequently feeds around artificial lighting (e.g. streetlamps). Most maternity colonies are probably located in buildings, trees and rock crevices.","Human persecution, and the destruction of roost sites, are likely to be the main threats (A. Rainho pers. comm. 2006). Habitat loss and degradation, use of pesticides, and the spread of exotic plant species may also have a detrimental effect on the species. It is suspected that the extreme scarcity of the species on Santa Maria is attributable to habitat loss and degradation. This species is particularly vulnerable to persecution because it flies during the day, making colonies obvious and easy to find (A. Rainho pers. comm. 2006).","There is no specific national legislation. It is protected under Bern Convention and included in Annex IV of EU Habitats and Species Directive. There are proposals for protection and monitoring of roosts, public awareness (with special reference to roosts), reduction of adverse agricultural practices, preservation and restoration of natural habitat, use of lights that attract insects (e.g. mercury), and further studies of the species' biology (Rainho et al. 2002).","Hutson, A.M., Aulagnier, S., Rainho, A. & Palmeirim, J." -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Nyctalus lasiopterus,,No,Yes,DD,,DD,,"European regional assessment: Data Deficient (DD)EU 25 regional assessment: Data Deficient (DD)This species has a wide range, but it has a patchy distribution and occurs at very low densities, making it very difficult to survey. It has specific habitat requirements (mature forest). Some cases of mortality have been recorded at wind farms, and the number of wind farms is growing. Area of Occupancy and population size are not known, but are not believed to approach the thresholds for IUCN Red List criteria. There are no data available on population trend. Consequently the species is classed as Data Deficient.",Unknown,"Nyctalus lasiopterus has a very scattered distribution through central and southern Europe and north Africa (Morocco, Libya, and possbily Algeria) through Asia Minor to the Caucasus, northern Iran and Kazakhstan. Of the Mediterranean islands, recorded on Sicily. The species is easy to detect with bat detectors, so it is known that the species' distribution in Europe is genuinely extremely patchy. Until 1999, it had been recorded in 120-130 localities in Europe (Benzal 1999). It occurs up to 1,900 m in Switzerland.","The patchy distribution and low population density in most of range suggest a relatively small global population. Breeding colonies are typically small (up to 35 females), and few are known. Only two larger-sized (50-100 females) breeding colonies are known in the world. It is rare throughout the range in the Russian Federation (K. Tsytsulina pers. comm. 2005). There is a strong population in northern Hungary. The species is difficult to survey, and difficult to capture with mist nets as it hunts 10-20 m above the ground (K. Tsytsulina in litt. 2005). The population trend is unknown.","It forages over mixed and deciduous forest and wooded river valleys (the latter especially on migration). It is highly dependent on mature forest. It is largely insectivorous, but is also reported to take small passerines in the southern part of the range during migration. In summer it roosts in hollow trees, and occasionally in buildings. Rock crevices may also be used as hibernacula in winter. It sometimes roosts with other species such as N. noctula. Nursery colonies are usually relatively small (up to 35 females). Females give birth to a single pup per litter. It is considered to be migratory in the north-east of its range, but there is very little data. Vagrants have been recorded well outside the normal range (Hutterer et al. 2005). Some areas in the western part of the range appear to be occupied exclusively by males, according to capture results. Its foraging range may be greater than 30 km in a single night.","Little is known about potential threats, but loss of mature woodland and loss of or disturbance to roost sites (in old trees and buildings) may have a negative impact on the species. Some individuals were found dead in wind farms in Spain (J.T. Alcalde pers. comm. 2006), and all pups were found dead in 2005 at one of the two known colonies in Spain (located in a city park). The cause of these deaths was not known (J.T. Alcalde pers. comm. 2006).","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention, in parts of its range where these apply. It is included in Annex IV of EU Habitats & Species Directive. No specific conservation actions are known. It occurs in a number of national parks and protected areas within its range (K. Tsytsulina pers. comm. 2005). However, in Spain the two known colonies are outside protected areas (J.T. Alcalde pers. comm. 2006). More information is needed on population size and trends, ecology, and potential threats.","Tony Hutson, Javier Juste, Juan Tomas Alcaldé" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Nyctalus leisleri,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant, and there is no evidence of current significant population decline. Consequently it is classed as Least Concern.",Unknown,"Nyctalus leisleri is largely a western Palaearctic species (Europe and north-west Africa), with scattered records in west parts of the eastern Palaearctic (Pakistan, Afghanistan, the Himalayas). It is widely distributed in Europe from Portugal and the British Isles to western Russia. It is present on Madeira and the Canary islands but absent from southwestern Italy and Sicily, eastern Spain, most of Fennoscandia, the northern Baltic and northern Russia. It occurs from sea level to 2,400 m.","It is widespread although patchily distributed in Europe. Common in parts of range (e.g., Ireland), scarce in other parts (Stebbings and Griffith 1986). Local extinctions have been reported for the central part of Russian Federation (K. Tsytsulina pers. comm. 2005), although the species remains common in other parts of Russia and the Caucasus (S. Kruskop pers. comm. 2005). There is no information about trends.","It forages over woodland, pasture, and river valleys, where it feeds on flies (including mosquitos), moths and beetles. It is linked to old trees. Summer nursery roosts are located in tree holes, plus buildings and bat boxes. Nursery colonies usually number 20-50 females, occasionally up to 1,000 (e.g., in Ireland: Stebbings and Griffith 1986). In winter it hibernates mainly in tree holes, or occasionally in underground sites or buildings, often in large groups. Females migrate over distances up to 1,567 km (Ohlendorf et al. 2000).","Threats include disturbance to and destruction of roosts in trees and buildings, and loss or degradation of foraging habitat. However, these are not thought to be major threats at present.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention, in parts of its range where these apply. It is included in Annex IV of EU Habitats & Species Directive, and there is some habitat protection through Natura 2000. It occurs in protected areas throughout its range. No specific conservation actions known, but a review of the species' status and summary of existing knowledge is currently (2006) in preparation.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Nyctalus noctula,Nyctalus furvus (Japan) and N. plancyi (eastern China and Taiwan) are now considered as separate species (Wilson and Reeder 2005).,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant, and although there may have been declines in some areas, it is not believed that these approach the threshold for the population decline criterion of the IUCN Red List (30% in 10 years or 3 generations). Consequently it is classed as Least Concern.",Unknown,"Nyctalus noctula has a wide Palaearctic distribution, including Europe and southern Scandinavia to the Urals and Caucasus; Turkey to Israel and Oman; western Turkmenistan, western Kazakhstan, Uzbekistan, Kyrgyzstan, and Tajikistan to south-west Siberia and the Himalayas, south to Myanmar, Vietnam, and western Malaysia. Its occurrence in North Africa is questionable (see below), and a record from Mozambique is considered dubious. With few exceptions, maternity colonies are confined to northeastern Europe (Strelkov 1997a, 1997b). Has been found at 1,900 m in the western Alps during migration (Aellen 1962 in Gebhard and Bogdanowicz 2004).""It is possible that N. noctula occurs in Africa but this needs confirmation. A record from Algeria (two specimens collected from a hollow tree in Cheliff plain) was published by Loche (1858), but these specimens were lost with the rest of Loche's collection. According to Palmeirim (1982), it is possible that these specimens belonged to N. lasiopterus, a species which does occur in North Africa and which was considered to be conspecific with N. noctula by earlier zoologists. There are also some doubts as to the place of origin of some specimens of N. noctula in the BMNH (Palmeirim 1982) and in the RMNH (Jentink 1888). One of these was mentioned by Dobson (1878) as having been bought in Algiers. Kowalski and Rzebik-Kowalska (1991) suggest that all of them were bought from professional dealers, which means that their localities may be unreliable"" (M. Happold pers. comm. 2007).","A widespread species, relatively common throughout much of its range. Very abundant, not declining and considered least concern in the Russian Federation (K. Tsytsulina pers. comm.). Common in winter in Austria, with no sign of decline (Spitzenberger 2002 and F. Spitzenberger pers. comm. 2006). However, there have been documented local declines in the Netherlands, and there are suspected to have been substantial declines in the United Kingdom since the 1940s, although the population trend now appears to have stabilised (Bogdanowicz 1999, Battersby 2005). Within its Iranian range and based on very limited information, the species appears to be rare (M. Sharifi pers. comm. 2005).","It forages over wetland, woodland and pasture, feeding on larger moths, beetles and flies. Summer colonies are in tree holes, sometimes in buildings. Winter hibernacula are in rock crevices, caves, occasionally artificial structures. Maternity colonies number 20-50 females (occasionally up to 100), but winter groups in rock crevices, caves and artificial structures can be large, to 10,000 in one instance (Germany) (Harrje 1994, Mayer et al. 2002). Tree holes and bat boxes are also used as wintering sites. Seasonal migrations between breeding area and hibernation range which is situated in central and southwest Europe normally cover distances of less than 1,000 km. The longest recorded movement is 1,546 km (Hutterer et al. 2005).",The species is affected by loss of tree roost holes in northeastern Europe. In Romania and Hungary colonies are being lost due to renovation of buildings and human disturbance in buildings. Local declines in the Netherlands were linked to loss of wetlands (Bogdanowicz 1999). These are not thought to be major threats to the species as a whole at present.,"It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention, in parts of its range where these apply. It is included in Annex IV of EU Habitats & Species Directive, and there is some habitat protection through Natura 2000. The species occurs in a number of protected areas. No specific conservation actions are known.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Zoltan Nagy" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Pipistrellus kuhlii,"Wilson and Reeder (2005) consider African and Canary Island populations to belong to a different species, C. hesperidus. The species in Yemen requires taxonomic clarification (D. Kock pers. comm. 2005).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant, and there is evidence of ongoing population increase. Consequently it is classed as Least Concern.",Possibly Favourable,"Pipistrellus kuhlii has a large range extending from Iberia through southern Europe through the Near East and the Caucasus to Kazakhstan, Pakistan, and India. The northern limit of its range in Europe was formerly ca.45°N, but the species has been expanding northwards. It arrived 1994 in Vienna/Austria (48°N), and was more recently recorded to 50°N in France and 51°N in Ukraine. It has been expanding northwards in Russia for the last half century from 46°N to c.53°N, with the highest record made at almost 57°N (S. Kruskop pers. comm. 2006). It occurs from sea level to 2,000 m.","It is a relatively abundant species in the Mediterranean region and Middle East. Summer colonies typically number 30-100 individuals. In Iran and the Caucasus, the species' range is increasing and it is displacing P. pipistrellus (M. Sharifi and K. Tsytsulina pers. comm. 2005). The northern border of the species' range is also expanding.","It forages over variety of habitats, including agricultural and urban areas (including around street lights). It feeds on small insects, including Diptera, Psocoptera, and Coleoptera. Summer maternity colonies are located in crevices in buildings. Winter sites include rock crevices and cellars. Kuhl’s pipistrelle is probably a sedentary species (Hutterer et al. 2005).",No major threats are known.,"It is protected by national law in most European range states. It is also protected under international legislation in parts of its range through the Bonn Convention (Eurobats) and Bern Convention, and is included in Annex IV of EU Habitats & Species Directive. It is found in a number of protected areas. No specific conservation actions are known.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Ioan Coroiu" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Pipistrellus maderensis,"Unidentified Pipistrellus bats found in the Azores have recently been proposed to belong to this species, but this awaits confirmation.",Yes,No,EN,"B1ab(iii,v)",EN,"B1ab(iii,v)","The species is restricted to few islands in the Canaries and the Madeira islands (and possibly the Azores). The extent of occurrence is <5,000 km2, and the population is severely fragmented. It is inferred that the population may be declining as a result of habitat loss, use of agricultural pesticides, and disturbance to roosts. Consequently it is assessed as Endangered.",Unfavourable,"This species is restricted to Madeira (Madeira, Porto Santo), and the western Canary Islands (La Palma, La Gomera, El Hierro, Tenerife). Pipistrelles found in the Azores (Santa Maria, Flores, Corvo, Graciosa, San Jorge) probably belong to this species. It is found from sea level to 2,150 m in the Canary Islands, although it prefers lowlands on Madeira (Fajardo and Benzal 1999).","On the islands of Madeira it is relatively abundant on Madeira and very rare on Porto Santo. The total population is estimated to number fewer than 1,000 individuals, and trends are unknown (Rainho et al. 2002). On the Canary Islands it is the most reported bat on all islands of occurrence, although no bat is abundant in the islands. Population size and trend have not been quantified (Palomo and Gisbert 2002), although declines are inferred as a result of threats including loss and degradation of habitats, pesticide use, and disturbance and destruction of roosts. On the Azores, Pipistrellus bats are rare or very rare on all islands of occurrence, and the total number of individuals is probably less than 300 (Rainho et al. 2002). The global population is naturally fragmented.","It forages over a wide range of habitats, including aquatic habitats, woodland and farmland (Palomo and Gisbert 2002). It feeds on flying insects, including small moths and flies. Breeding colonies have been found in crevices in sea-cliffs and underneath the roofs of houses, as well as in bird boxes (Palomo and Gisbert 2002). Roost sites include rock crevices, bird boxes, and crevices in (often disused) buildings. It is often associated with human settlements.","Loss of natural habitat may be a threat, although the species is apparently adapted to man-made habitats. The use of agricultural pesticides may be a problem, and disturbance to roosts in buildings may also be of concern.","The species is protected through Bern Convention, and included in Annex IV of EU Habitats and Species Directive. Rainho and Palmeirim (2002) proposed the following actions: identification, protection and monitoring of roosts; preservation and restoration of natural habitats, reduction of pesticide use; and, study of the species' biology, ecology, genetics, and systematics. Palomo and Gisbert (2002) additionally recommend a public awareness campaign aimed at reducing disturbance of breeding colonies in private houses.","Juste, J., Palmeirim, J. & Alcaldé, J.T." -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Pipistrellus nathusii,,No,Yes,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant, and there is no evidence of current significant population decline. Consequently the species is classed as Least Concern.",Unknown,"Pipistrellus nathusii is a western Palaearctic migratory species. It is restricted to Europe, Asia Minor and Transcaucasia where it is found at latitudes of up to ca. 37-63°N. In Europe, it is generally widespread although absent from most of Iberia and Fennoscandia. With few exceptions, maternity colonies are confined to northeastern Europe (eastern Germany, Baltic states, Belarus, Ukraine and Russia: Vierhaus 2004). The first observation of Pipistrellus nathusii breeding in Finland was made in 2006 (H. Henttonen pers. comm. 2006) when a colony of c.10 individuals, including lactating females, was found close to the southern coast some 50-60 km east of Helsinki. The species is typically associated with lowland areas but has been recorded up to 2,200 m in the Alps (Bogdanowicz 1999).","It is abundant in northern parts of its range, and less common but increasingly recorded in southern and western parts of its range. Summer maternity colonies of up to 200 individuals have been recorded, but large winter aggregations are not known.","It forages over a range of habitats including woodland edge, wetlands, and open parkland. Summer roosts are located in tree holes, buildings, and bat boxes, mainly in woodland areas. Winter roost sites include crevices in cliffs, buildings and around the entrance of caves, often in relatively cold, dry, and exposed sites. It is a migratory species, with movements of up to 1,905 km recorded (Petersons 2004). Migrations typically follow a NE-SW route (Bogdanowicz 1999).","Although not major threats, the species is affected by habitat fragmentation on migration routes, loss of and disturbance to roosts in buildings, loss of mature trees with cavities and/or loose bark etc., and water quality changes which may affect food supply.","It is protected under national law in most range states. It is also protected under international law through the Bonn Convention (Eurobats) and Bern Convention in parts of its range where these apply, and is included in Annex IV of the EU Habitats & Species Directive. It is regarded as a species of special concern by Eurobats. Proposals for the conservation of the species in Europe (including research requirements) were made by Limpens and Schulte (2000) following a workshop in Germany in 1998. They recommended a Europe-wide census involving assessment of the species' population status and trends, identification of its mating, hibernation and maternity areas, investigation of migration routes, and identification of preferred resting areas on migration routes.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Ioan Coroiu" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Pipistrellus pipistrellus,"The species has recently been separated into two species, P. pipistrellus and P. pygmaeus. Their respective distribution and status are not yet fully clarified (Wilson and Reeder 2005).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant, and there is no evidence of current significant population decline. Consequently it is assessed as Least Concern at the European and EU 25 levels.",Unknown,"Pipistrellus pipistrellus is a widespread western Palaearctic species with a range extending from the British Isles through much of Europe (with the exception of northern Fennoscandia) to the Volga and Caucasus; and through parts of north-western Africa and south-west Asia to central Asia. Its detailed distribution, as distinct from that of the recently-differentiated P. pygmaeus, is still to be established. It occurs from sea level to 2,000 m.","A widespread and abundant species, one of the most common bats in many parts of its range. Summer maternity colonies generally number 25-50 individuals, although colonies of as many as 200 have been recorded. In winter, it tends to occur singly or in small groups, although some very large groups have been recorded (e.g., up to 45,000 in caves in Romania and Slovakia) (Nagy and Szanto 2003). Significant declines have been recorded in some European countries (e.g. Britain), although in Britain at least the trend may now have stabilised (Battersby 2005).","It forages in a variety of habitats including open woodland and woodland edges, farmland, rural gardens and urban areas. It feeds on small moths and flies. Summer roosts are mainly found in buildings and trees, and individuals frequently change roost site through the maternity period. Most winter roost sites are located in crevices in buildings, although cracks in cliffs and caves and possibly holes in trees may also be used. It is not especially migratory in most of its range, but movements of up to 1,123 km have been recorded (Buresh 1941 in Hutterer et al. 2005). In at least parts of its range it seems to benefit from urbanisation (M. Sharifi pers. comm. 2005).","As a high proportion of colonies are found in buildings, the species may be particularly vulnerable to anthropogenic factors, such as disturbance, timber treatment and building renovation (Battersby 2005). However this is not thought to be a major threat to the species at present.","It is protected under national law in most range states. It is also protected under international law through the Bonn Convention (Eurobats) and Bern Convention in parts of its range where these apply, and is included in Annex IV of the EU Habitats & Species Directive. It occurs in many protected areas. No specific conservation actions are known.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Ioan Coroiu" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Pipistrellus pygmaeus,"Includes mediterraneus, formerly regarded by some authorities as a subspecies of pipistrellus (Wilson and Reeder 2005). The genetically and morphologically distinct population of pipistrelle bats belonging to the pygmaeus genetic clade and occurring in the Cyrenaica/Libya was recently described (Benda et al. 2004) as a separate species: Pipistrellus hanaki.",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant, and there is no evidence of current significant population decline. Consequently it is assessed as Least Concern at the European and EU 25 levels.",Unknown,"Pipistrellus pygmaeus was only recently differentiated from P. pipistrellus, and some details of its distribution are still lacking. It is also a western Palaearctic species, occurring from the British Isles through much of Europe (including the islands of Corsica and Sardinina) east to Ukraine and western Russia. Its range may extend much further east, as well as into north Africa (Wilson and Reeder 2005), although it is also possible that the species does not occur outside Europe. It occurs further north in Scandinavia than P. pipistrellus.","It generally appears to be less abundant than P. pipistrellus sensu stricto, although it is nevertheless a widespread and abundant species. Summer colonies may be larger than P. pipistrellus, numbering up to 250 (or occasionally up to 3,000) individuals. It is not known if the species congregates in winter, or what size its winter colonies are.","It forages around woodland and wetlands, and is more closely associated with water than P. pipistrellus. It feeds mainly on small Diptera (especially aquatic midges). Maternity colonies are generally located in buildings. No specific data are available on P. pygmaeus winter roost sites, but presumably they are similar to those used by P. pipistrellus.","As maternity colonies tend to be found in buildings, the species may be vulnerable to anthropogenic factors, such as disturbance, timber treatment and building renovation (Battersby 2005). However, this is not thought to be a major threat.","Although this species was only recently described, it is apparently widespread and abundant. However, further clarification of its distribution, population size and trend, habitat preferences, and ecology is required.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Ioan Coroiu" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Pipistrellus savii,There are different lineages in south Iberian populations that may deserve recognition at subspecific level (Ibañez et al. 2006). The taxonomic status of the population of the Canary Islands needs to be revised (J. Juste pers. comm. 2006),No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and abundant and there is no evidence of population decline. Consequently it is classed as Least Concern.,Possibly Favourable,"This species has a wide range in the Palaearctic (and marginally in Indomalaya), extending from southern Europe and north Africa (France, Portugal, Spain, Italy, Switzerland, Austria, Czech Republic, Slovakia, Hungary, the Balkan countries, Morocco, Algeria, the Canary Islands and Cape Verde Islands) through the Middle East and the Caucasus to Kazakhstan, Turkmenistan, Uzbekistan, Kyrgyzstan, Tajikistan, Afghanistan, northern India and Burma (Horáček and Benda 2004, Wilson and Reeder 2005). It occurs from sea level to 2,600 m.","It generally occurs at low densities and is restricted by its habitat requirements, but it is abundant in some European areas bordering the Mediterranean. Summer maternity colonies usually number 20-70 females. Range expansion from northern Italy through Austria up to the Czech Republic and Slovakia has recently occurred.","It forages over open woodland, pasture and wetlands, and often feeds at lights in rural areas, towns and cities.It roosts in rock crevices, occasionally in fissures in buildings or under bark, rarely in underground habitats. Nothing is known about the migratory behaviour of this species (Hutterer et al. 2005).","There are probably few threats in its mainland distribution, except when roosting in buildings.",It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention in parts of its range where these apply. It is included in Annex IV of EU Habitats & Species Directive.,"Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Plecotus auritus,"According to new taxonomy this species is endemic to Europe, from Ireland to the Urals (Spitzenberger et al. 2006). The Asian populations have been identified as separate species, P. ognevi and P. sacrimontis. Some Spanish populations were described as subspecies P. auritus begognae (Juste et al. 2004).",Yes,No,LC,,LC,,"This species is endemic to Europe, where it is widespread and common, with no major threats.",Unknown,"Plecotus auritus is endemic to Europe, where it is widely distributed south of 65°N and west of the Urals and north of the Caucasus. In the south it is confined to higher elevations. It occurs on the British Isles and in Sardinia. Patchy distribution in Iberia, Italy and the Balkan Peninsula. In the Alps, maternity colonies are found up to 1,920 m asl, hibernacula up to 2,350 m asl (Horácek and Dulic 2004).","A common species in central Europe, but rare in the Mediterranean. Summer colonies usually number 10-50 females, sometimes up to 100. In winter it is generally solitary, although it may occasionally be found in very small clusters (2-3 animals). Nursery colonies of up to 10 (K. Tsytsulina pers. comm.). There have been no recorded population declines throughout most of its range, but it is decreasing in Turkey (A. Karatas pers. comm.).","It forages in the vicinity of the roost in deciduous and coniferous woodlands, along hedgerows, and in isolated trees in parks and gardens. It feeds mainly on moths and flies gleaned from foliage. In summer it roosts in colonies in buildings (attics, barns, churches, drainage channels), tree holes, and bat boxes. Solitary animals also roost in underground sites. In winter it hibernates in caves, mines, buildings and occasionally trees. A sedentary species, its longest recorded movement is 88 km (Gaisler et al. 2003).","Loss of broad-leaved forest and particularly of mature trees is a threat in parts of its Mediterranean range (Balkans, Portugal, Spain and Turkey). It is affected locally by remedial timber treatment and loss of roost sites.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex IV of EU Habitats and Species Directive, and there is some habitat protection through Natura 2000.Maintenance of natural habitat, especially forests with mature trees is required.","Hutson, A.M., Spitzenberger, F., Aulagnier, S., Coroiu, I., Karataş, A., Juste, J., Paunovic, M., Palmeirim, J. & Benda, P." -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Plecotus austriacus,According to new taxonomy it is endemic to Europe (Spitzenberger et al. 2006). The Asian and African populations belong to other species.,Yes,No,LC,,LC,,"This species has a large range, within which it is widespread and generally common. Although there is evidence of population decline in parts of the range, the overall rate of decline is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e., declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern. However, population trends should be monitored.",Unknown,"Plecotus austriacus is restricted to Europe, excluding northern countries. Widespread south of 52-53°N, from south England to Moldova and the Black Sea Coast southwards to the Mediterranean coast (Spitzenberger et al. 2006). One record in south Sweden. Found on Mediterranean and Atlantic islands: Balearic Islands, Sardinia, Corsica and Sicily and Madeira (Spitzenberger et al. 2006). Highest confirmed record in the Alps 1,390 m (hibernaculum) (Spitzenberger 2002).","It is a common species in the Mediterranean, but relatively rare in the European part of Turkey (A. Karatas pers. comm. 2007). Summer colonies usually consist of 10-30 females. Winter clusters are usually small (2-3 animals), and the species is often solitary in this season. Population declines have been documented in parts of central Europe (Horácek et al. 2004); in Austria this species is listed as Vulnerable (Spitzenberger 2005) and in Croatia it is listed as Endangered (Tvrtkovic 2006). In Portugal there is no evidence of decline. Elsewhere in the range data on population trend is lacking.","It forages in lowland valleys and open agricultural landscapes in central Europe, and in a great variety of open and semi-open habitats in southern Europe. It feeds mainly on moths. In summer it typically roosts in buildings (attics, fissures, cavities, old castles), although solitary animals may roost in underground sites. In winter it hibernates in buildings, mines, and caves. It is a sedentary species, and no individual has been recorded to move further than 62 km (Gaisler and Hanák 1969 in Hutterer et al. 2005).","Some populations are affected by remedial timber treatment (poisoning by wood preserving chemicals) and loss of roost sites. Intensification of agriculture seems to have a negative impact on the species in central Europe, and may be responsible for population declines reported in this region. Agricultural intensification may also affect the species in other parts of the range.","It is protected by national legislation in most range states. There are also international legal obligations for protection of this species through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex IV of EU Habitats and Species Directive, and there is some habitat protection through Natura 2000. Recommended actions include monitoring population trends, and improving agricultural habitats by protecting and restoring hedges and scrubby areas and reducing pesticide use.","Juste, J., Karataş, A., Palmeirim, J., Paunović, M., Spitzenberger, F. & Hutson, A.M." -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Plecotus kolombatovici,"Originally described as a subspecies of austriacus, but clearly distinct; see Mayer and von Helversen (2001) for genetics, Tvrtković et al. (2005) for morphology.",No,No,NT,,NT,,"European and EU 25: Near Threatened (close to qualifying for VU C1). The population size in Europe and the EU 25 is small and estimated as no more than 10,000 individuals, and the species is found mainly in coastal areas where it is suspected that pressure from tourism is causing population decline approaching 10% over 3 generations. It is not known whether there would be a significant rescue effect from outside Europe so the regional Red List assessment is not adjusted.",Unfavourable,"The distribution of Plecotus kolombatovici is fragmented into three main parts: southern regions of the Balkans and Asia Minor, Libya (Cyrenaika) and northwest Africa from Morocco to Tunisia; it has been found in Malta and Pantellaria (Spitzenberger et al. 2006). It occurs from sea level to higher altitudes in the Rif and Atlas mountains.","Little is known about population size and trends in this species, although it is regarded as relatively common in North Africa. In Europe, the total population is estimated at fewer than 10,000 mature individuals, and it is suspected that the population may be declining. Summer colonies usually number 10-30 females, although a breeding colony of 120 females was found in a building in Croatia (F. Spitzenberger pers. comm. 2006). Winter clusters are smaller (10 ind.), and the species is often solitary at this time of year (S. Aulagnier pers. comm. 2006). It is possible that European, African and south-west Asian populations are isolated from each other.","It forages in a variety of open and semi-closed habitats, mainly steppe but also agricultural landscapes in both lowland and mountain areas. It often forages over small water bodies. It feeds predominantly on moths, but also takes beetles and flies. Summer roosts are primarily rocky cavities, but also dark areas of old monuments, ruins, caverns and buildings. Winter roosts are located in buildings, mines, caves, wells, and trees.","Pesticides and roost disturbance have a negative impact on the species, but are not thought to be causing significant population declines at the global level. However, in Europe, where this species is largely restricted to coastal areas, disturbance of roost sites by tourists may be a major threat.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex IV of EU Habitats & Species Directive, and there is some habitat protection through Natura 2000. Recommended actions include monitoring population trends and minimising or preventing disturbance to roost sites in Europe.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Plecotus macrobullaris,"Described as subspecies of P. auritus from northern Ossetia, Russia. Its specific status was first recognized for populations of the Alps, which were described as new species: Plecotus alpinus by Kiefer and Veith (2002) and Plecotus microdontus by Spitzenberger et al. (2002). Later it transpired that these names were younger synonyms of P. macrobullaris (Spitzenberger et al. 2003).",No,No,NT,,VU,B2ab(iii),"European: Near Threatened (close to qualifying for B2ab(iii)). Each colony uses around 10 km2 as foraging range. Only 15 colonies are known from the Alps, ten from Croatia, and two from the Pyrenees. This would sum to ca. 300 km2. Even if more colonies are discovered in the remaning part of the range the area of occupancy will not be much larger than 2,000 km2. Roosting habitat is declining because of tourism pressure on caves and transformation of buildings in human settlements in the Alps and Pyrenees. Genetic analysis suggests that there is little interchange between subpopulations, so it is not expected that there will be a rescue effect from outside the region.EU 25: VU B2ab(iii). Taking out Croatia, Serbia, Montenegro and Switzerland from the range, it is estimated that the species' AOO is smaller than 2,000 km2. Roosting habitat is declining because of tourism pressure on caves and transformation of buildings in human settlements in the Alps and Pyrenees. Genetic analysis suggests that there is little interchange between subpopulations, so it is not expected that there will be a rescue effect from outside the region.",Unfavourable,"Pyrenees; Alps from France to Slovenia, Dinaric Alps, Greece incl. Crete; Corsica; from Anatolia through Caucasus to south Iran; Syria (Spitzenberger et al. 2006). Altitudinal distribution from sea level to 2,800 m (Garin 2003, Pavlinić and Tvrtković 2004).","This species was only recognised in 2003, and remains quite poorly known. However, it seems to be generally uncommon, with a fragmented distribution. Individual colonies are composed of few (less that 50) individuals. Fewer than 50 colonies are known, but more are likely to be discovered in the future (Spitzenberger et al. 2003). Molecular analyses have confirmed that subpopulations from different mountain ranges are genetically isolated (Garin et al. 2003).","Is known from a wide array of habitats. In Croatia it was found in all altitudinal zones from sea level to mountain tops above the tree line. It occupies Mediterranean oak shrub as well as beech and pine forests (Pavlinić and Tvrtković 2004). The highest record is 2,800 m (Pyrenees: Garin et al. 2003). In the Eastern Alps maternity roosts are located in attics of churches, winter roosts are not known (Spitzenberger 2002), the highest record here is 1,720 m (Spitzenberger 2006).","In the European part of its range, restoration of old buildings and development of tourism infrastructure is causing habitat loss.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex IV of EU Habitats & Species Directive, and there is some habitat protection through Natura 2000. It is present in several national parks. Recommended actions include surveys to better understand the species' distribution, molecular studies on distance between populations, and protection of roosting sites.","Tony Hutson, Friederike Spitzenberger, Javier Juste, Stéphane Aulagnier, Juan Tomas Alcaldé" -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Plecotus sardus,"Identified as a new species by genetic analyses, this species combines morphological features of both P. austriacus and P. auritus.",Yes,Yes,VU,B2ab(iii),VU,B2ab(iii),"This species is considered to be Vulnerable. It is restricted to forest fragments in Sardinia (Italy). Since this species was first identified in 2002, it has been captured in only three localities, two in the same National Park. The population is probably very small, although more localities will probably be discovered in the future. Forests in Sardinia sum up to less than 2,000 km2, and their quality is declining. Further surveys are required to obtain a more accurate understanding of the status of this species, as based just on the known information it could be listed as Endangered.",Unfavourable,Plecotus sardus is restricted to the island of Sardinia (Italy). The three known localities are situated near to the coast or at low elevations.,This species was first described in 2002 and is poorly known. It is considered to be rare (known only from five specimens).,"It occurs in the most wooded areas parts of Sardinia, and roosts in natural caves. Two of the three known localities are situated in karstic areas, one locality lies near the sea coast (Mucedda et al. 2002). Artificial habitats are not used. It is a sedentary species.",Roost disturbance (as a result of tourism) and habitat loss (caused by forestry management) are the main threats to the species.,"It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex IV of EU Habitats and Species Directive. Two of the three known localities are in the National Park of Gennargentu and the Orosei Gulf. Recommended research actions include surveys and monitoring to determine distribution, status, and population trend. Protection of roosting and foraging habitat is also recommended.","Hutson, A.M., Aulagnier, S., Juste, J., Karataş, A., Palmeirim, J. & Paunović, M." -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Plecotus teneriffae,"The taxonomic status of the species has been confirmed by Spitzenberger et al. (2006). Here we refer to P. teneriffae as the population on the Canaries. Northwest African populations previously assigned to teneriffae are currently included in kolombatovici, and Balkan populations are assigned to austriacus. There are no significant genetic differences between populations on the different islands (Justeet al. 2004).",Yes,Yes,EN,B1ab(v),EN,"B1ab(iii,v)","This species has a small range (<3,000 km2) on three, and maybe four, of the Canary Islands (and it is severely fragmented). It is linked to forest habitats that are shrinking, and recent declines have been recorded in the largest known breeding colony. For these reasons, it is assessed as Endangered.",Unfavourable,"Plecotus teneriffae is endemic to the Canary Islands (Tenerife, La Palma, El Hierro and may also be on La Gomera, but presence there has not yet been confirmed although there is suitable habitat), where its extent of occurrence is less than 3,000 km2. It occurs at elevations between 100 and 2,300 m (Palomo and Gisbert 2002).","Summer colonies usually consist of 10-30 females (the maximum number recorded is 37). Winter clusters are usually small (c.10 animals), and the species often roosts solitarily at this time of year. There are only two known breeding colonies (on La Palma and Tenerife respectively). The larger of these two (the La Palma colony) has declined almost 80% in number in recent years (Palomo and Gisbert 2002; J. Juste pers. comm. 2007).The population is estimated to be between 500 and 2,000 individuals (J. Juste pers. comm. 2007, based on information in the Spanish Red Data Book).","It is highly associated with woodland habitats (coniferous and mixed), although it occasionally forages in more open and arid areas. Its diet consists primarily of moths. Recorded roost sites include volcanic tubes, caves, and crevices in abandoned buildings (Palomo and Gisbert 2002). Tree holes and bat or bird boxes are never used (Benzal and Fajardo 1999). The La Palma maternity colony is located in a natural cave. This species is considered to be sedentary (Fajardo and Benzal 2002 in Hutterer et al. 2005).","The population declined in the 1950s after aerial fumigation for pest control. Current threats include use of pesticides on agricultural land near to the forests, loss of woodland habitat, and restoration of buildings that results in the disturbance of colonies and the destruction of roost sites (Palomo and Gisbert 2002). The recent decline of the La Palma maternity colony has been attributed to disturbance, and it is known that at least one individual from this colony has been taken by private collectors (Palomo and Gisbert 2002). Shafts into the mountains to collect water are increasingly being fenced which is detrimental to the survival of the bats.",It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention. It is included in Annex IV of the EU Habitats and Species Directive. A bat protection programme aimed at protecting caves used as roost sites from human disturbance was instigated in 1993 (Mitchell-Jones et al. 1999). Protection of the species' woodland foraging habitat is also recommended (Palomo and Gisbert 2002).,"Aulagnier, S., Juste, J., Palmeirim, J. & Alcaldé, J.T." -ANIMALIA,CHORDATA,MAMMALIA,CHIROPTERA,VESPERTILIONIDAE,Vespertilio murinus,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is widespread and common, and there is no evidence of current significant population decline. Consequently it is classed as Least Concern.",Unknown,"Vespertilio murinus has a wide distribution in the northern Palaearctic, from France and the Netherlands in the west through central, northern, and eastern Europe and Siberia to the Pacific coast. The northern limit is above 60°N in Fennoscandia and ca. 63°N in Russia, and the southern limit of its range passes through the Balkan peninsula, northern Iran, central Asia, Afghanistan, northern Pakistan, and China. The southern records refer to wintering individuals, and the most western records refer to vagrants. Breeding is restricted to the northern part of the range in this migratory species. It occurs from sea level to over 3,000 m.","An abundant species in northern parts of its European range. Summer maternity colonies number 30-50 (exceptionally 200) females; males may also form large colonies in summer. In winter it usually occurs singly or in small groups (although clusters of up to 30 have been recorded). Populations are expanding in some parts of the range, for example Denmark (H. J. Baagøe pers. comm.) and the Netherlands (H.J.G.A. Limpens pers. comm.)","It forages in open areas over various habitat types (forest, urban, steppe, agricultural land). It feeds on moths and beetles. Summer roosts tend to be situated in houses or other buildings; also rarely hollow trees, nest boxes, or rock crevices. Winter roost sites include rock fissures, often (as substitute) crevices in tall buildings (including, or especially, in cities), occasionally tree holes or cellars. Winter roosts are usually in colder sites that are exposed to temperature changes. Migrations of up to 1,780 km have been recorded (Markovets et al. 2004), although the species is sedentary in a large part of its range.","Although not a major threat, the species is affected by loss of or disturbance to roosts in buildings.","It is protected by national legislation in most range states. There are also international legal obligations for its protection through the Bonn Convention (Eurobats) and Bern Convention, in parts of its range where these apply. It is included in Annex IV of EU Habitats & Species Directive. No specific conservation actions are known.","Tony Hutson, Friederike Spitzenberger, Stéphane Aulagnier, Ioan Coroiu, Michael Stubbe" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,ERINACEIDAE,Atelerix algirus,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)In Europe and the EU, the species is generally rare (although it is common on some small islands) and has a relatively small and fragmented range. There is no evidence at present of population decline, but the status of the species should be monitored, and if declines in population or range occur in the future, uplisting may be warranted.",Unknown,"Atelerix algirus is endemic to the Mediterannean region, being found across north Africa from Morocco to Libya, in Spain, and on a number of islands including the Canary Islands, Djerba, Malta, Majorca, Ibiza and Formentera. It was formerly introduced to France, but is now extinct. Its occurence in continental Europe and on many of the islands within its range may be the result of introductions by man (Lapini 1999). It typically occurs at altitudes of 0 to 400 m, although it can reach altitudes of 900 m in Morocco (Lapini 1999).","It is rare in mainland Europe, and on most of the islands within its range, although it is locally common on the Canary Islands, Malta and Formentera (Lapini 1999, Palomo and Gisbert 2002).","It is found in a range of habitats including semi-desert, dry Mediterranean scrub, grasslands, pastures, cultivated fields, and gardens, sometimes in close proximity to human habitation. It is most often found in arid areas (Lapini 1999, Palomo and Gisbert 2002). It forages at night for arthropods, small vertebrates, carrion, and fungi.",Threats include roadkill. Populations may be limited by the availability of suitable habitat (Palomo and Gisbert 2002). The species is sometimes taken from the wild to keep as a pet (Palomo and Gisbert 2002).,"It is listed on Appendix II of the Bern Convention and Annex IV of the EU Habitats and Species Directive. Surveys and monitoring are required to determine population trends in this rare species. If there is any evidence of declines, action should be taken to protect the species. Research would be required to determine appropriate conservation measures.",Giovanni Amori -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,ERINACEIDAE,Erinaceus concolor,,No,No,NA,,NA,,European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Applicable (NA)Assessed as Not Applicable as it is of marginal occurrence in Europe.,-,"Found on Rhodes (Greece); also ""Asia Minor to Israel, Syria, Lebanon, Iraq and Iran; S Caucasus"" (Wilson and Reeder 2005). Less than 1% of its global range lies within the European Mammal Assessment region.",,,,,European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,ERINACEIDAE,Erinaceus europaeus,,Yes,No,LC,,LC,,This species is common and abundant throughout its wide range. Consequently it is considered to be Least Concern.,Possibly Favourable,"Erinaceus europaeus is endemic to Europe (including European Russia), with a global distribution extending from the British Isles and the Iberian peninsula, westwards through much of western to central Europe; and from southern Fennoscandia, and the northern Baltic to north-west Russia. It was introduced recently to the Azores (Portugal); the species was recorded there in the 1990s (R. Hutterer pers. comm. 2007). In the Mediterranean, it occurs in Portugal, France (including Corsica), Spain and Italy (including Sardinia and Sicily but not present on Malta).","This generally is a relatively common and widespread species. It is rare in Sardinia (Italy), where it is hunted with dogs (R. Hutterer pers. comm. 2007). The is no evidence of any population decline in most parts of its range. Many of the island populations have been introduced there from the mainland (R. Hutterer pers. comm. 2007).","E. europaeus thrives in a variety of man-made habitats including orchards, vineyards, farmland, parks and gardens, including those in urban areas. It also occurs in deciduous woodland, woodland edge and grasslands, although it is less common in these areas (Lapini 1999). Also occurs in maquis (R. Hutterer pers. comm. 2007).","There are no major threats to this species across most of its range. In some areas, many hedgehogs are killed by collision with cars, but this is unlikely to cause serious population declines (Huijser 1999, Verkem et al. 2003). It is locally hunted and eaten in parts of its range, but this is a localised activity and is also not considered a serious threat to the species.",This species is listed on Appendix III of the Bern Convention. It occurs in a number of protected areas throughout its wide range. It is also legally protected in many countries within its range.,"Amori, G., Hutterer, R., Kryštufek, B., Yigit, N., Mitsain, G. & Palomo, L.J." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,ERINACEIDAE,Erinaceus roumanicus,"Formerly included in europaeus, but see Suchentrunk et al. (1998), among others. Subsequently included in concolor, but genetic and morphological data suggest that concolor and roumanicus are two distinct species with parapatric distributions.",No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species is common and abundant throughout its wide range. Consequently it is considered to be Least Concern.,Possibly Favourable,"Erinaceus roumanicus has a distribution extending from central and eastern Europe, the Baltic and the Balkan peninsula eastwards through Belarus, Ukraine, and Russia, reaching as far as western Siberia. In the south, its range extends as far as the northern Caucasus and possibly north-western Anatolia (B. Kryštufek pers. comm. 2006). It is recorded from sea level to at least 1,400 m (Lapini 1999).","It is relatively rare in the colder parts of its range, but there is no evidence to suggest a population decline. It is locally common in at least some areas (Lapini 1999).","It inhabits farmland, parks and gardens in rural and urban areas, and scrubby habitats at the edge of forests. Like its congener E. europaeus, it is more abundant in artificial than in natural habitats (Lapini 1999).","Many are killed by collision with cars (Lapini 1999), but this is unlikely to cause widespread population decline.",It occurs in many protected areas throughout its wide range.,Boris Kryštufek -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,ERINACEIDAE,Hemiechinus auritus,,No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)This species is common and abundant throughout its wide range, but some marginal populations are fragmented and slowly declining. In Ukraine the population has historically declined dramatically, and the species is considered Critically Endangered in the national Red Data Book.",-,"Widespread in the steppe zone from Northeast Africa to Central Asia. In Europe it occurs in Southeast Ukraine, the lower Don River and Volga River basin steppes (Russian Federation) and Cis-Caucasus.","It is a widespread and common species in most of the distribution area, but in marginal parts of its range populations are usually fragmented and often declining. There is a lack of detailed data on population size in the European part of the distribution area, but it is considered Critically Endangered in the Ukraine owing to its very small range and declining trend in that country (I. Zagorodnuik pers. comm. 2006). Since 1950 three fragmented populations have been recorded in Ukraine: one around the Streltsovskie Stepi Nature Reserve (last record about 50 years ago), one record from amateur source found near Lugansk city in 2001/2, and one in the Donetsk Region near shore of Azov sea. The third population is the only stable one and is largest in Ukraine. It is partly covered by the Kamennye Mogily Nature Reserve (I. Zagorodnuik pers. comm.).","Inhabits different types of dry steppes, semi-deserts and deserts. Prefers dry river valleys, gullies, forest shelter belts, abandoned irrigation ditches and shrubby areas. Often settles in oases and around human settlements. Avoids tugais and high herbage. Lives in burrows that it usually digs itself, although sometimes it occupies abandoned burrows of turtles, gerbils, foxes and otters. Active at night. In nothern parts of distribution area hibernates from late October/early November to late March/early April. Heat occurs in April after hibernation. Gestation is about 40 days, females give birth to 3 to 8 pups (5-6 on average). In the European part of the distribution area it usually gives birth once a year, in southern parts often twice.","No major threats are known for most of the distribution area. In marginal populations (e.g., Ukraine) it could suffer from habitat loss.",It occurs in a number of protected areas throughout its wide range. The species is listed as Critically Endangered in the Red Data Book of Ukraine.,Igor Zagorodniuk -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Crocidura canariensis,"It has been argued, on the basis of mandibular measurements, that Crocidura canariensis should be treated as a subspecies of C. sicula (Sarà 1996). However, other morphological, ecological, palaeontological and molecular evidence supports specific status (Michaux et al. 1991, Hutterer et al. 1992). Genetic distances suggest that C. canariensis and C. sicula diverged approximately five million years ago (Vogel et al. 2003).",Yes,Yes,EN,"B1ab(ii,iii)",EN,"B1ab(ii,iii)","C. canariensis has a very small extent of occurrence (5,000 km²), which is severely fragmented, and presumably declining as a result of habitat loss and degradation caused by urbanisation and desertification. Consequently it qualifies as Endangered.",Unfavourable,"The Canary shrew Crocidura canariensis is endemic to the eastern Canary Islands, where it is currently found on Lanzarote, Fuerteventura, Lobos and Mount Clara. Its extent of occurrence (EOO) is less than 5,000 km². Recent fossils indicate that it previously occurred on Graciosa and Alegranza (Hutterer 1999), but it has never been trapped on either of these islands and is presumed to have gone extinct there (Palomo and Gisbert 2002). Canary shrew remains have been found in owl pellets collected on Graciosa and Alegranza, but this is believed to result from the movement of owls between different islands (Palomo and Gisbert 2002).","Numbers and population trends are unknown. Mount Clara has a tiny population, which is unlikely to number more than a hundred individuals. The habitat of C. canariensis is severly fragmented as a result of anthropogenic habitat loss and natural barriers to dispersal (R. Hutterer pers. comm. 2006).","The Canary shrew's main habitat is the malpaís (barren lava fields), and it seems to be adapted to the hot and dry conditions of these plains (Hutterer et al. 1992, Stone 1995). It feeds on snails and insects in lava tubes, and it is cool inside its burrows even when temperatures reach 60ºC outside. The shrew is also sometimes found in gardens and abandoned arable land adjacent to lava fields, as well as in rocky gullies and sandy areas with rocks and vegetation (Palomo and Gisbert 2002). On Mount Clara, the species is restricted to a single coastal sand dune. More suitable habitat is found on other islands, however, there is a lot of urbanisation and industry.","This species has a highly restricted distribution. Rapid urbanisation and infrastructure development in and around its range are causing loss and fragmentation of suitable habitat, and desiccation may also be a problem (Hutterer 2004). Introduced cats Felis catus sometimes depredate Canary shrews (Palomo and Gisbert 2002). Other introduced species, e.g. rats and mice, are also present but are not known to have any effect on the Canary shrew. Of these threats, habitat loss is considered to be the most important (Palomo and Gisbert 2002).","C. canariensis is listed on Appendix II of the Bern Convention and Annex IV of the EU Habitats Directive, and is also protected under Spanish law. It is found within a number of National Parks in Fuerteventura. Research is needed to determine the ecological and conservation requirements of this species (Stone 1995). Recommended conservation measures include controlling feral cats and preventing further introductions of alien species to small islands such as Mount Clara (Palomo and Gisbert 2002).","Hutterer, R." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Crocidura leucodon,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species has a large range, within which it is widespread. The population size has not been quantified, but the species is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers). Although population declines or fluctuations have occurred in parts of its range, the species is not believed to approach the thresholds for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern.",Possibly Favourable,"Crocidura leucodon occurs in Europe and western Asia, from north-west France in the west to the Caspian sea in the east, extending as far south as Israel. In Europe, it is absent from Iberia and southern France, Fennoscandia, northern Poland, the Baltic, and northern Belarus and European Russia (Krapp 1999). The only European island on which it is known to be present is Lesbos (Greece). Its distribution in the eastern part of the range is not well known because it is possible that some records from that region refer to a different species. It occurs from sea level to around 2,000 m.","At the northern and western borders of its range at least, it appears to be declining or fluctuating. In the southern part of eastern Europe this species has seriously declined during the last 50 years (50 years ago there were many records, especially from owl pellets, whereas recently there are very few records)(I. Zagorodnyuk pers. comm. 2006).","Its habitat preferences vary in different parts of its geographic range. In France, it is found in damp areas with dense vegetation, whereas in central Europe and Italy it prefers open agricultural landscapes. At the northern edge of its range it is associated with gardens and houses in suburban and urban areas, and in the Balkans and Asia Minor it can be found in moist habitats in the mountains including screes, stony areas, riverbanks and stone walls. In Asia Minor it is also found above the tree line in stony areas (Krapp 1999). In European Russia the species occurs in moist habitats within steppe and semi-desert areas. It feeds on invertebrates, including insects, insect larvae and worms.","This species often occurs in open rural country, where it may be negatively affected by agricultural intensification (accidental poisoning and loss of prey species as a result of pesticide use, and loss of cover owing to replacement of hedgerows and fallow areas with large-scale monocultures) (Krapp 1999).","It is protected under Appendix III of the Bern Convention, and it occurs within protected areas.","Vladimir Vohralík, Jan Zima, Boris Kryštufek" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Crocidura pachyura,,No,No,DD,,DD,,"European regional assessment: Data Deficient (DD)EU 25 regional assessment: Data Deficient (DD)In Europe, this species is restricted to the islands of Ibiza, Sardinia and Pantelleria, where it has a small range (approaching the threshold for the geographic range criterion of the IUCN Red List, i.e less than 20,000 km²). However, there are no data on population trends. Currently there are no serious threats known, but pesticide use may be problematic. More research is needed to determine the status of this species, and reassessment is recommended if more data become available.",Unknown,"This species occurs on the islands of Ibiza (Spain), and Sardinia and Pantelleria (Italy). It also occurs in North Africa, where its range is poorly known but includes Tunisia and eastern Algeria (Wilson and Reeder 2005). The Pantelleria population may be a separate subspecies (cossyrensis). It occurs from sea level to 800-1,000 m above sea level (G. Amori pers. comm. 2006).","Little is known about population size and trends in this species, but it is not rare (G. Amori pers. comm. 2006).","It occurs in a variety of habitats including pastures, cultivated fields, low shrubland, gardens, and old agricultural terraces with dry-stone walls.","No serious threats are known at present, although accidental poisoning with pesticides may be a problem. The population on Pantelleria may be threatened because of its highly restricted range.",It is listed on Appendix III of the Bern Convention (as a subspecies of Crocidura russula). Further research is required to determine population status and trends and to investigate potential threats.,Giovanni Amori -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Crocidura russula,"Genetic studies indicate that the population on Gran Canaria in the Canary Islands (previously considered to be a separate species, Crocidura osorio) is conspecific with C. russula (Vogel et al. 2003), although differences in size, ecology, and behaviour (Hutterer et al. 1992) characterize it as a distinct island form. The African population is probably a composite of two species that are only sympatric in part of Algeria (R. Hutterer pers. comm.).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A very widespread and common species within its range, with no serious threats.",Possibly Favourable,"This species is found in southern and western Europe (including some Atlantic and Mediterranean islands). It also occurs in North Africa, in Morocco, Tunisia and Algeria (Ramalhinho et al. 1999). The population on Gran Canaria in the Canary Islands (previously considered to be a separate species, Crocidura osorio) seems to have been introduced from Spain (Vogel et al. 2003). It typically occurs from sea level to 1,200 m, but has also been found as high as 2,000 m, particularly in Mediterranean landscapes (Palomo and Gisbert 2002).","Population size and trends are unknown, although the species is generally widespread and fairly common within its range. In Germany at least it is stable and expanding in some parts, although it is not known if this is natural or the result of accidental human transportation (Kraft 2000). It is probably the most common shrew in Spain, and is often the dominant prey species in the barn owl's diet in this region (Ramalhinho et al. 1999).","In the Mediterranean it occurs in a wide range of habitats including shrubland (maquis), open habitats, forest edges with abundant ground vegetation, cultivated fields, urban areas, gardens, farms, mountainous areas and land adjacent to rivers and streams (Palomo and Gisbert 2002). It particularly favours old terraces with dry stone walls. In northern Europe and at higher alititudes it is predominantly synanthropic, living in close proximity to humans in houses and gardens (Ramalhinho et al. 1999). In Morocco, it occurs in the mountains.","Due to its synanthropic habits it may suffer from the use of pesticides and other toxic chemicals (Ramalhinho et al. 1999), but this is not thought to be a serious threat to the species at present.","It receives legal protection under the Bern Convention (Appendix III), and it occurs in numerous protected areas.","Holger Meinig, Stéphane Aulagnier, Rainer Hutterer" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Crocidura sicula,,Yes,Yes,LC,,LC,,"C. sicula is endemic to Italy, occurring on Sicily and surrounding islands in the Mediterranean. It is relatively widespread within its range and although population trends are not known, there do not appear to be any serious threats at present. Consequently, the species is assessed as Least Concern. It has a small extent of occurrence (approaching 20,000 km²), therefore it should be reassessed if any declines are suspected. Populations on Sicily and Gozo may deserve some special attention because they are genetically distinct.",Unknown,"Crocidura sicula is endemic to Sicily and its associated islands (to Italy) and Malta. It is currently found on Sicily, Ustica, Gozo, and the Egadi islands (Favigniana, Levanzo, Marettimo). It may be extinct on the island of Malta, where it is known only from subfossil remains (Vogel 1999). It occurs from sea level to about 1,000 m (G. Amori pers. comm. 2006).","This species is widespread on Sicily (Maddalena et al. 1990). However, trapping results indicate that it occurs at much lower densities than other Crocidura species that inhabit Mediterranean islands (Vogel 1999). Population trends are unknown. It may have gone extinct on the island of Malta, but even if so, the date of that extinction is unknown. In Ustica a melanic form occurs and shows a very restricted range (G. Amori pers. comm. 2006).A new genetic study has shown that populations of Sicily and Gozo may deserve some special attention because they are genetically distinct (R. Hutterer pers. comm. 2007).","Owl pellet analyses suggest that C. sicula inhabits suburban areas, gardens, pastures, arable land, and open scrub. In the summer, it prefers damp areas (Vogel 1999).","No serious threats are known at present, although pesticides in agricultural areas are often a problem for insectivore species. Populations on smaller islands could be adversely affected by predation from domestic cats (G. Amori pers. comm. 2006).","It is protected under Appendix III of the Bern Convention. No specific conservation actions are recommended at this time. This is one of only three ancient endemic mammal species occurring on the Mediterranean islands (Gippoliti and Amori 2006), and for this reason it is a valuable species to conserve.","Amori, G. & Hutterer, R." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Crocidura suaveolens,"Populations from eastern Asia (SE Siberia, E China, Korea, Taiwan) are now considered to be a separate species, C. shantungensis.",No,No,LC,,LC,,A widespread and common species throughout its range with no major threats.,Possibly Favourable,"The lesser white-toothed shrew Crocidura suaveolens has a wide distribution in the Palaearctic, extending from the Atlantic coast of Spain and probably Portugal (where its occurrence needs further confirmation) eastwards through Europe and Asia to Siberia. The southernmost edge of its distribution passes through northern Africa (Morocco and Algeria: Corbet 1978), Asia Minor, Israel, Saudia Arabia, Iran and China. In Europe, it has a somewhat scattered distribution in north-west Iberia, south-west France, Italy, central and eastern Europe, and the Balkans. It is present on some Atlantic and Channel islands, and on most eastern Mediterranean islands, as well as Menorca, Corsica, Elba, and Capraia in the western Mediterranean. It was introduced to Crete in Minoan times (Pieper 1990), where it may threaten the endemic Cretan white-toothed shrew C. zimmermanni through competition (Nowak 1999). In eastern Europe and in Germany C. suaveolens is expanding northwards in urban landscapes. It is commonest from sea level to 1,000 m, although it occurs as high as 1,600 m (Libois et al. 1999).","It is uncommon in the western part of its range, occurring at much lower densities than its congener C. russula (Libois et al. 1999). Further east it is more common. Described as abundant and ubiquitous in at least parts of its global range (Harrison and Bates 1991). In the steppe forest zone in Ukraine it is the most abundant shrew species, both in natural and agricultural habitats (I. Zagorodnyuk pers. comm. 2006).","At higher latitudes and altitudes in Europe it is often associated with human habitation, tending to be found in parks, gardens, and even houses. It is very common in straw ricks. In western and southern Europe and it inhabits a wide range of habitats including vineyards, olive groves, terraced farmland on hillsides, dry Mediterranean shrubland, sand dunes, rocky areas in the mountains, and damp densely-vegetated patches near to water. It tends to avoid dense forests (Vlasák and Niethammer 1990, Libois et al. 1999). Small, soft-bodied insects form a major part of its diet (Vlasák and Niethammer 1990).In south-west Asia it has been collected from habitats with long dry grasses; thick vegetation along streams, river edges and vegetation channels; around houses and in forested areas (Bates and Harrison 1989, Tez 2000). Its main requirement is enough vegetation and moisture to support its insect prey, and in arid areas it tends to be more common near springs and oases; however it is more tolerant of dry conditions than many of its congeners (Qumsiyeh 1996). The gestation period is 28 days and life expectancy one year; a female may have 10-12 litters, each with one to seven young, although usually four (Qumsiyeh 1996).","It may be out-competed in some areas by C. russula. Pesticides and herbicides may have a negative impact on the species in agricultural habitats (Libois et al. 1999), but at present this does not seem to be a major threat.","It is listed on Appendix III of the Bern Convention. Subspecies C. s. caneae, endemic to Crete, is on Appendix II of the Bern Convention (as C. ariadne). It occurs in protected areas within its range. No specific conservation actions are recommended.","Vladimir Vohralík, Jan Zima, Boris Kryštufek, Boris Sheftel, Holger Meinig" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Crocidura zimmermanni,,Yes,Yes,VU,"B1ab(i,ii,v)+2ab(i,ii,v)",VU,"B1ab(i,ii,v)+2ab(i,ii,v)","C. zimmermanni is endemic to Crete where it is restricted to the central areas of the island. Its extent of occurrence is less than 20,000 km² and it has been collected at only three sites, although further sites are known from owl pellet samples. It is estimated that there are fewer than 10 locations (certainly not more than 15 sites). It is suspected that population decline and range contractions are occurring as a result of out-competition by a non-native shrew, C. suaveolens. This could ultimately result in the extinction of C. zimmermanni. Assessed as Vulnerable.",Unfavourable,"Crocidura zimmermanni is endemic to the island of Crete (Greece), where it has been trapped in the central mountains at altitudes of 1,150 to 1,400 m. However, owl pellets collected at 140 to 830 m contained remains of this species, indicating that it may also occur at lower altitudes (Vogel 1999).",It is a rare and little-known species which is only recorded from a small number of localities. Analysis of owl pellets suggested that C. zimmermanni is more than ten times rarer than its congener C. suaveolens (Vogel 1999). The population trend has not been quantified but it is suspected to be decreasing.,"It has been collected in open mountainous areas that are dry in summer and snow-covered in winter (Vogel 1999). It is likely also to occur at lower altitudes, but if so its habitat preferences there are unknown.","The introduction of C. suaveolens in Minoan times (ca. 2,500 to 1,500 BC) may have forced C. zimmermanni into a restricted range as it is out-competed for habitat (Pieper 1990, Nowak 1999). C. suaveolens is abundant in coastal areas, but has also been found in the mountains at the same sites as C. zimmermanni (Vogel 1999).","It is listed on Appendix III of the Bern Convention. Research is required to determine its distribution and population trend, and to investigate potential threats (especially competition with C. suaveolens) and identify appropriate conservation measures.","Vohralík, V." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Diplomesodon pulchellum,The only species of its genus.,No,No,NA,,NE,,"European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Evaluated (NE)Less than 1% of range lies within Europe, so it is considered Not Applicable.",-,"Distributed in sand deserts in Kazakhstan, Uzbekistan, Turkmenistan and Russia.","In some places is common, but it is a naturally rare species. Quantitative data on population size is lacking.","Inhabits semi-fixed and fixed sands covered by saxaul (Haloxylon sp.). Active at dusk and night. Usually uses rodent burrows. Feeds mainly on insects and their larvae, often eats ants, sometimes hunts small lizards. Breeding season is from March to October. Young animals start reproduction in the second half of summer. Litter size is 4-5.",There are no major threats to the species. In the areas of overlapping range Hemiechinus auritus and Crocidura spp. are food competitors.,There are no special conservation measures applied. A common species in most parts of the range.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Neomys anomalus,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species has a wide range. The population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers). Although the species is presumed to be declining as a result of loss and degradation of its wetland habitat, it is not believed to approach the thresholds for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern. However, the fragmented distribution of this species makes it susceptible to local extinctions, and population trends need to be monitored.",Possibly Unfavourable,"Neomys anomalus has a patchy distribution in continental Europe and Asia Minor. It is found in parts of central and southern Europe from Spain and Portugal in the west through to the middle of the River Don (European Russia) in the east, but its range is fragmented (Corbet 1978, Spitzenberger 1999). It is recorded from sea level to 1,850 m (Spitzenberger 1999).","It is suspected to be declining in line with rates of loss of its wetland habitat (Spitzenberger 1999, Spitzenberger pers. comm. 2006). Its patchy distribution means that there are many small isolated subpopulations, making local extinctions more likely. It may be locally quite abundant in the absence of its main competitor, N. fodiens. There are areas where the two species occur in the same habitats, but using different niches.","It inhabits lush vegetation next to slow-flowing or still eutrophic waters (marshes, swamps, lakes, rivers, and streams). Its habitat choice is influenced by competition with the larger Eurasian water shrew N. fodiens, which is a stronger swimmer (Spitzenberger 1990, 1999). In general, N. anomalus is less aquatic than N. fodiens and can colonise areas away from water (Palomo and Gisbert 2002). However, in regions where N. fodiens is absent, N. anomalus may adopt its competitor's aquatic niche and increase in size (Spitzenberger 1990, 1999). N. anomalus is strictly carnivorous, feeding predominantly on soft-bodied invertebrates such as insect larvae, spiders and worms (Spitzenberger 1990, Palomo and Gisbert 2002).","The major threat to the species is habitat loss. In many parts of its range wetlands are being destroyed and fragmented as a result of water extraction, canalisation of streams, agriculture, road building, and other human activities. Water quality is often degraded by agricultural chemicals, industrial effluent and sewage. Use of pesticides may be a problem in parts of the range (Palomo and Gisbert 2002, Cabral et al. 2005).","It is listed on Appendix III of the Bern Convention, and it occurs in many protected areas. It is recommended that population trends are monitored, as the species may be vulnerable to the loss of aquatic habitats.","Holger Meinig, Sandro Bertolino, Boris Kryštufek" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Neomys fodiens,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species has a wide range and is generally abundant, although local population declines have been recorded. Loss and degradation of wetland habitat is the main threat, although this is not a serious threat to the global population at present. The subspecies niethammeri in western Spain has a restricted range and may be threatened. It is morphologically distinct from other populations and may warrant species status. Further taxonomic investigation and population monitoring is recommended for this subspecies.",Possibly Favourable,"The water shrew has a large range extending from the British Islands eastwards to Lake Baikal, Yenisei River (Russia), Tien Shan (China), and northwest Mongolia. A disjunct range includes Sakhalin Island and adjacent Siberia, Jilin (China), and North Korea. In Europe it is generally widespread throughout, with the exception of southern Iberia. It occurs only sporadically on the Balkan peninsula, where it is largely restricted to the mountains. It occurs from sea level to over 2,500 m (Stone 1995). The distribution of the species recently expanded southwards in Italy owing to a new record in the Sila massif (Aloise et al. 2005).","It is a widespread and abundant species, although local population declines may be caused by wetland drainage, pollution, and destruction of riverbanks. Population densities fluctuate from year to year (Spitzenberger 1999). In the northern part of its range and in the steppe zone, the species has a patchy distribution.","This species is semi-aquatic with water repelling fur. It occurs in a wide variety of wetland habitats, both freshwater and coastal, including lakes, rivers, streams, marshes, bogs, damp grasslands, humid woodlands, sea shores and intertidal wetlands. It is the most aquatic of all European shrews. It hunts on land and in water for invertebrates, including crustaceans, and occasionally takes small fish and amphibia (Sokolov and Orlov 1980, Spitzenberger 1999, Smith and Xie in press). It paralyses large prey with its venomous saliva (Stone 1995, Smith and Xie in press). It is highly territorial, with males only moving out of territory during the breeding season.","Loss of wetland habitats through drainage, development, conversion to agricultural land, and destruction of natural vegetation at the water's edge may have a negative impact on this species. It may suffer from a shortage of food when prey species decline owing to acidification and pollution of water with pesticides, fertilisers, and sewage (Spitzenberger 1999).","It is listed on Appendix III of the Bern Convention, and occurs in numerous protected areas within its range. The western Spanish population is a separate subspecies (niethammeri), which has a very restricted range and may be threatened. It is morphologically distinct from other populations, and may represent a valid species (López-Fuster et al. 1990, Bühler 1996). There is a need for taxonomic research on this population, as well as surveys and monitoring to determine if it is undergoing population decline or range contractions.","Holger Meinig, Sandro Bertolino, Boris Kryštufek, Igor Zagorodnyuk, Giovanni Amori, Heikki Henttonen, Friederike Spitzenberger, Boris Sheftel, Rimvydas Juškaitis" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex alpinus,,Yes,No,NT,,NT,,"The species has a fairly wide but very fragmented distribution. In the core of the range the population appears to be stable but declines are occurring in some isolated populations at the edges of the range. Overall, there is a slow population decline, but not at a rate high enough to trigger a threatened category. The extent of occurrence and area of occupancy are above the thresholds for Criterion B (>20,000 km² and >2,000 km² respectively), although the area of occupancy may not be much greater than 2,000 km² and there is ongoing habitat loss and degradation. Assessed as Near Threatened as it almost qualifies as threatened under criterion B2.",Unfavourable,"The Alpine shrew is endemic to Europe, where it has a disjunct range in the Alps, the Balkans, the Carpathians, and a number of isolated mountains in Germany, Czech Republic and Poland (Spitzenberger 1999, Meinig 2004). It previously occurred in the Pyrenees, where it is thought to have gone extinct in the early 20th century, and in the Harz (Spitzenberger 1999). Its vertical range is from 200 to 2,500 m (Spitzenberger 1999).","More data are needed to be able to determine population trends. It is widespread but local in the Alps, where populations are thought to be stable. Small, isolated populations at the edge of the species' range may be declining, and there have been subpopulation extinctions (for example in the Pyrenees). In the Harz, the northernmost population in Europe, it appears to have disappeared (last record was in 1954 despite intensive studies to find the species there). It is still present in Germany. Some of the other remaining populations are considered evolutionarily significant units because of their long period of isolation (Meinig 2004).","In the mountains, it tends to be found in open habitats (meadows, rocky areas with sparse vegetation, and banks of mountain streams), where it lives in cracks and crevices under rocks and in stone walls. At lower altitudes, it prefers cool, damp, shaded areas, such as densely-vegetated ravines and holes under mossy rocks, tree-roots and logs in forests (Spitzenberger 1990, 1999). It mainly feeds on arthropods and molluscs (Spitzenberger 1990).","Loss of alpine water courses due to water abstraction and hydroelectric power is also a threat, as is loss of habitat owing to intensification of winter tourism in the Alps. Human land use is a direct threat and climate change may be a future indirect threat as a result of range shifts in other species that may be direct competitors with S. alpinus when ranges overlap.","It is listed on Appendix III of the Bern Convention. A major part of the alpine shrew's range in the Carpathians is covered by the Carpathians Reserve (about 45,000 ha) and National Park (about 70,000 ha). There is a need for monitoring, particularly of isolated subpopulations.","Hutterer, R., Amori, G., Kryštufek, B., Meinig, H., Bertolino, S., Spitzenberger, F. & Zima, J." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex antinorii,"Formerly known as the Valais chromosome race of the Common Shrew S. araneus (2n = 24/25, FN = 40). Given species rank, diagnosed and reviewed by Brünner et al. (2002). Sorex arunchi may be related, if not conspecific (Hutterer in Wilson and Reeder 2005).",Yes,No,DD,,DD,,"S. antinorii is a poorly known species. Although it has a wide range in Italy, its population size, trend and ecological requirements are not known. It is not abundant. More data are required to be able to assess its status.",Unknown,"The main part of of this species' range occurs in Italy, but it crosses the border into France and Switzerland. It inhabits the southern part of the Alps, the Po lowlands, and the Appenine mountains south to Calabria (Brünner et al. 2002). Further research is required to determine the distribution limits of this species. The northern boundary of its distribution is poorly defined, and in southern parts of its range it is confined to higher altitudes and its distribution is patchy; in general it is more patchily and less extensively distributed than shown on the map.It occurs from the Po plain to at least 1,300 m (Brünner et al. 2002).",There are very poor population data for this species. Population trend is not known.,Occurs in areas with dense vegetation cover.,Pesticides and habitat loss (resulting from agricultural expansion and intensification) are the main threats.,"More research is required on the range, population, threats and habitat requirements of the species.","Hutterer, R., Amori, G. & Kryštufek, B." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex araneus,This species has huge chromosomal variation and includes many chromosomal races. Recently one of these races has been described as a separate species (S. antinorii)(Wilson and Reeder 2005).,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)S. araneus has a very wide range and is one of the commonest shrew species throughout its range. Although general habitat degradation may affect localised populations, this is not considered a serious threat to the global population.",Possibly Favourable,"The common shrew has a wide distribution in the Palaearctic, occurring from Britain through central, northern and eastern Europe and Asia as far east as Lake Baikal and as far north as the Arctic coast. It is widespread throughout, with the exception of arid steppe and desert areas. In Europe, it occurs in most continental areas, with the exception of large parts of Iberia and France, and some parts of Italy and the Balkans. There are isolated populations in the Pyrenees and the Massif Central (France). It is recorded from sea level to 2,500 m (Andĕra 1999).",It is one of the most abundant shrew species.,"It prefers cool, damp and shady habitats with dense vegetation, such as riparian forests and reed beds (Hausser et al. 1990). However, it tolerates a broad range of habitats, and it is present (albeit at lower densities) in drier areas such as woodland, scrub, road verges, hedges in farmland, and even sand dunes (Andĕra 1999). It is absent from very arid habitats. It feeds largely on invertebrates, especially arthropods, earthworms, and snails, but it also feeds on vegetative matter (Hausser et al. 1990).","Threats include general habitat degradation and an indirect threat from pesticides and pollutants (accumulation of toxins through their diet). In some countries, this is an indicator species for monitoring terrestrial pollution. However, the species is not considered seriously affected by these threats at a regional or global level.","It is listed on Appendix III of the Bern Convention, and it occurs in many protected areas. No specific conservation actions are recommended at present.","Holger Meinig, Boris Kryštufek, Boris Sheftel, Igor Zagorodnyuk, Giovanni Amori, Jan Zima, Heikki Henttonen" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex arunchi,"Possibly related to or conspecific with Sorex antinorii (Brünner et al. 2002), although its karyotype has not been studied yet. Genetically well distinguished from araneus, but morphological differences between both species are weak (Hutterer in Wilson and Reeder 2005). More taxonomic research is needed on this taxon.",Yes,Yes,DD,,DD,,"It is uncertain whether this is a valid species. More taxonomic investigation is required, as well as research on range, population, ecological requirements and threats. This taxon has a restricted extent of occurrence (<20,000 km2), so it may warrant listing in a threatened category when more data become available.",Unknown,"Sorex arunchi is endemic to Europe, where it is found in the Udine province of north-east Italy, and probably adjacent Slovenia (Lapini and Testone 1998).",There are no population data available for S. arunchi.,"It is a lowland taxon, and is found in forested areas.",Pesticides and habitat destruction (agriculture) are likely to be the main threats. Shrews tend to accumulate toxins from pesticides and pollutants through their invertebrate diet (Stone 1995). It may be particularly vulnerable to habitat loss because of its restricted range.,"No conservation measures are known to be in place. More research is needed, particularly taxonomic research.","Hutterer, R., Amori, G. & Kryštufek, B." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex caecutiens,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)Sorex caecutiens is a widespread and abundant species with a very large global range. Within the EU 25, its range is more restricted and logging activities may affect local populations. However, it is not considered threatened at present.",Possibly Favourable,"The masked shrew is found from Scandinavia in the west (including an isolated population in central Norway), through northern Europe and Asia to the Pacific coast and the islands of Sakhalin and the Kuril archipelago, as well as the Japanese island of Hokkaido (Corbet 1978, Pucek 1999, Frafjord 2002, Finch and van der Kooij 2005). It range extends to the north of the arctic circle, and the southern boundary of its distribution runs from easternmost Poland through Russia, northern Kazakhstan, northern Mongolia and north-east China to the Korean peninsula. In Europe, it is found in Norway, Sweden, Finland, Estonia, Poland, Belarus, and Russia. In northern Finland it occurs from sea level up to 1,000 m, and in central Norway it is found up to 1,600 m (J. van der Kooij in litt. 2006).","It is generally less common than its congener the common shrew, but it is nevertheless a widespread and abundant species (Sulkava 1990). Populations are thought to be stable, with interannual fluctuations that follow no particular cycle (Pucek 1999). In eastern Karelia, where population density has best been studied, tenfold fluctuations have been recorded (Sulkava 1990).","It occurs mainly in coniferous, deciduous and mixed forests in the taiga zone, although it is also found in a range of tundra habitats including birch and willow scrub in river valleys (Pucek 1999, Finch and van der Kooij 2005). In northern Fennoscandia, it tends to be found in shrub-rich mires, alpine birch forests, and open mires, and at the south-western edge of its range in Norway it occurs in alpine habitats (Finch and van der Kooij 2005). In general moist habitats are preferred, such as damp parts of forests with thick moss cover (Pucek 1999). Cultivated land is avoided (Sulkava 1990). The masked shrew feeds on a wide range of insects, spiders, and centipedes (Stone 1995). As it has a lower net food intake than larger shrews such as S. araneus, it can survive in less productive habitats (Finch and van der Kooij 2005).","Extensive logging is a general threat to habitat and may affect local populations. However, at the global scale the population is not considered under serious threat from this.",It is listed on Appendix III of the Bern Convention. It occurs in many protected areas.,"Boris Sheftel, Heikki Henttonen" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex coronatus,,Yes,No,LC,,LC,,A widespread and abundant species with no serious threats affecting the global population at present. Assessed as Least Concern.,Possibly Favourable,"Sorex coronatus is endemic to Europe, where it occurs from northern Spain, through France and the Low Countries, to northern Switzerland, Germany, and the westernmost corner of Austria. It is also found on the island of Jersey (United Kingdom) (Hausser 1999). Its vertical range is from 0 to 2,200 m (Palomo and Gisbert 2002).","It is generally widespread and abundant. However, at the edge of its range in Switzerland intensive agriculture and pesticide use have caused the species to decline, such that now only relict populations remain in some areas (Palomo and Gisbert 2002).","It inhabits a variety of habitats with dense vegetation at ground level, including woods, hedges, abandoned or unmown meadows, and marshes. It is scarce in intensively cultivated areas, and tends not to occur near to human habitation. It competes with Sorex araneus, and the microhabitats used are different for each species where their ranges overlap (Hausser 1990, 1999).","Threats include general habitat degradation and the indirect effects of pesticides and pollutants (accumulation of toxins through the species' diet) (Stone 1995, Palomo and Gisbert 2002). However, the species is not considered seriously affected by these threats at the global level.","It is listed on Appendix III of the Bern Convention, and occurs in protected areas within its range.","Aulagnier, S., Hutterer, R., Amori, G. & Kryštufek, B." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex granarius,,Yes,Yes,LC,,LC,,"Population size in this species has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers), as the species is commonly found in owl pellets in at least parts of its range. The extent of occurrence is fairly large, but the area of occupancy is not known, and it may not be safe to assume that it is much larger than 2,000 km2. In Spain the population is stable and it is likely to be stable also in Portugal. No serious threats at present. Least Concern.",Unknown,"It is endemic to the Iberian Peninsula, where it is found in northern Portugal (north of the Tagus River) and central Spain (García-Perea et al. 1997). It occurs from the coast up to 2,000 m (Palomo and Gisbert 2002).","Population size and trends have not been quantified. However, the species is quite common in the diet of nocturnal raptor species (Cabral et al. 2005). In Spain the population is stable and it is likely to be stable also in Portugal (Muñoz, L.J.P. pers. comm. 2007).","It is found in Atlantic climate areas, where it inhabits a variety of woodland and scrub habitats, including native beech, oak, and pine forests, plantations of introduced Eucalyptus and Pinus pinaster, and damp areas with dense shrubby vegetation. It is also found in cultivated fields, stream- and river-banks, scree slopes, and rocky areas near to pastures. It prefers humid locations, and is restricted to areas where the annual rainfall exceeds 600 mm (García-Perea et al. 1997, Hausser 1999, Palomo and Gisbert 2002, Cabral et al. 2005).","It is not considered threatened in Spain, although its population status is not known (Palomo and Gisbert 2002). In Portugal, it may be locally threatened by habitat destruction and pesticide use, as well as reductions in the abundance of its invertebrate prey (Cabral et al. 2005).",It is listed on Appendix III of the Bern Convention. It occurs in protected areas within its range. Research is needed to evaluate its population status and trends (Cabral et al. 2005).,"Palomo, L.J., Amori, G. & Hutterer, R." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex isodon,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)Globally and within Europe as a whole this species has a wide range, but it is a habitat specialist and its distribution is patchy. Habitat loss and degradation is ongoing but is not a serious threat to the species at present. In the EU 25, it is largely restricted to Finland, with some isolated populations in Sweden. The range is fragmented and habitat loss is a concern for local populations. The species needs to be monitored in western Europe at least, but is currently not believed to approach the IUCN Red List thresholds. It is consequently classed as Least Concern at both the EU 25 and European regional level.",Unknown,"The taiga shrew's range extends from Fennoscandia in the west, through northern and central Russia, north Mongolia and northern China, and northern Kazakstan, to the Pacific coast and Sakhalin island. In Europe, it is more or less continuously distributed from Finland to northern Russia and northern Belarus (Corbet 1978, Sulkava 1999). Populations in Norway and Sweden may be isolated. It is a habitat specialist, and consequently has a patchy distribution. The species was not detected in Fennoscandia until as late as 1949 (Sulkava 1999).","It is rare and local. In north-west Europe and north-western Siberia, captures of this species generally form less than 1% of all Sorex captures with snap traps and pitfall traps (Sulkava 1999). It is a patchily distibuted species and little is known about population trends.","It is a habitat specialist, preferring small brook sides with dense vegetation (e.g. ferns) within mature spruce and mixed boreal forests. It is also sometimes found in scrub and fallow fields, so long as there is damp, dense vegetation at ground level and a deep soil layer (Sulkava 1999). It feeds mainly on invertebrates, particularly earthworms and dipteran larvae, although plant material is very occasionally taken (Sulkava 1990).",Preferred habitats are being altered by forestry and drainage (Sulkava 1999). Globally this is not considered to be a serious threat at present.,"It is listed on Appendix III of the Bern Convention, and occurs in many protected areas. Population trends and habitat status require monitoring in the western European part of its range, and particular attention should be paid to isolated populations in Scandinavia.","Boris Sheftel, Heikki Henttonen" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex minutissimus,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species has a large range, within which it is widespread. It is rare and also very difficult to catch through normal trapping methods. The population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers). Although the population trend is not known, there are no major threats, and it is not believed to approach the thresholds for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern.",Unknown,"The least shrew occurs from Fennoscandia through European Russia and Siberia to the Pacific coast and the islands of Hokkaido and Sakhalin (Corbet 1978, Sulkava 1999). In Europe, it occurs more or less continuously from northern Scandinavia through most of Finland to central and northern Russia. There are a small number of records from central Scandinavia (Grüner 1998, Sulkava 1999, Vaernesbranden and Larsen 2004), but this tiny and elusive shrew may be more widespread in central Scandinavia than the paucity of records would appear to suggest (Sulkava 1999). In Fennoscandia it occurs from sea level to above the tree line (0-1,600 m: J. van der Kooij in litt. 2006).","Trapping results suggest that it occurs at much lower densities than other sympatric Sorex species (although reliable population density estimates are hard to obtain because of difficulties in trapping this species)(Sulkava 1990, 1999). The long-term population trend appears to be stable (Sulkava 1999).","This is a very small species (possibly the smallest terrestrial mammal species, although the pygmy white-toothed shrew Suncus etruscus may be slightly smaller) and it is very difficult to catch, other than by pitfall traps. It occurs from the forest tundra zone in the north, through boreal coniferous forests to mixed forests and forest steppe at the southern limit of its range. Within these zones it prefers moist spruce-dominated woodland with thick moss, but it is also commonly found in bogs and mires, and even in dry pine forests and clear-felled areas (Sulkava 1990, 1999). It feeds on small insects, grubs, spiders and snails, consuming as much as 2-5 times its body weight over a 24 hour period (Sulkava 1990, Macdonald and Barrett 1993).",No major threats are known. Clear-cutting does not appear to have a negative impact on population densities (Sulkava 1999).,"It is listed on Appendix III of the Bern Convention, and occurs in a number of protected areas.","Heikki Henttonen, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex minutus,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species is very widespread and common. Although habitat destruction is a general threat, it is not a serious threat to the species at present. Consequently, Sorex minutus qualifies as Least Concern.",Possibly Favourable,"It occurs from the British Isles and Iberia through much of continental Europe, European Russia and Siberia to Lake Baikal in the east. The northernmost limit of its range extends beyond the arctic circle. In Portugal the distribution is discontinuous in some regions north of the Tagus river (Cabral et al. 2005). It occurs from sea level to 2,000 m in the Pyrenees (Palomo and Gisbert 2002) and 2,260 m in the Alps (Spitzenberger 2002).","It is a common species in suitable habitats throughout its range, and it may even be the dominant shrew species in swampy areas (Hutterer 1999).","It tends to be found in relatively damp areas with dense vegetation at ground level, and it occurs in a wide variety of habitats including swamps, grasslands, heaths, sand dunes, woodland edge, rocky areas, shrubland, and montane forests. It feeds on invertebrates (Hutterer 1990, 1999).","It suffers from destruction of habitat, use of pesticides and declining invertebrates. However, these are not considered to be major threats to the global or European regional persistence of the species at present. The apparent geographic isolation of some Iberian populations may make local extinctions more likely (Palomo and Gisbert 2002).","It is listed on Appendix III of the Bern Convention. It occurs in a number of protected areas throughout its wide range. Studies of its ecology and distibution are required in Portugal (Cabral et al. 2005), and isolated Iberian populations should be monitored.","Holger Meinig, Boris Kryštufek, Margarida Fernandes" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex samniticus,"Formerly included in S. araneus, but now recognised as a distinct species (Hutterer in Wilson and Reeder 2005).",Yes,Yes,LC,,LC,,"This species has a relatively large range, within which it is widespread. Population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers). Population trend has not been quantified, but it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations), as no major threats to the species are known. For these reasons, it is evaluated as Least Concern.",Unknown,"The Appenine shrew is endemic to the Italian peninsula. It is recorded from the Appenines to Calabria, at altitudes between 300 m and 1,160 m, but its exact distribution is poorly known (Hausser 1990, 1999, Amori and Aloise 2005).","It is not abundant, but it is quite widespread (G. Amori pers. comm. 2006). There are no data on population trend.","A poorly known species. It occurs in shrubland habitat within forested areas (G. Amori pers. comm. 2006), but avoids densely forested areas (Mortelliti et al. 2007). Hausser (1990) describes it as being found near streams, in bogs, and in hedgerows and stone walls in damp areas.",Pesticides and habitat destruction (through agriculture and urbanisation) are considered to be the main threats (G. Amori pers. comm. 2006).,"It is listed on Appendix III of the Bern Convention. It occurs in protected areas in parts of the range. Research is required on its distribution, population status, and trends.","Amori, G." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Sorex tundrensis,,No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)This species is widespread and abundant and abundant, with no major threats. Considered Least Concern.",-,"Distributed in tundra and forest zones from west of the Urals (Russia) to Alaska (USA); Yukon, Northwest Territories (Canada); south to the Altai Mtns (Russia), Mongolia and NE China. Also occurs along water courses in steppe zones. In Europe found along the European slope of the Ural mountains and the valley of the Ural river and along the Pechora river.",A widespread and very abundant species. The most common species of small mammal found along Siberian rivers.,"Prefers river meadows with osier, settles in fire-sites and overgrown glades. Along rivers penetrates to semi-deserts. Solitary, the size of individual space is up to 1,500 m2. Feeds mainly on beetles. Reproduction is usually in summer, gives 3-4 litters per year; litter size is about 7-10 young.",There are no major threats to the species.,No special conservation measures known or required.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,SORICIDAE,Suncus etruscus,,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species is widespread within its range. No serious threats are known. Consequently it qualifies as Least Concern.,Unknown,"Suncus etruscus ocurs from southern Europe and North Africa (Morocco, Algeria, Tunisia, Libya, Egypt) through the Arabian Peninsula and Asia Minor to Iraq, Turkmenistan, Afghanistan, Pakistan, India, Nepal, Bhutan, Burma, Thailand, Laos, Vietnam and Yunnan (China). Records from southern India and Sri Lanka probably refer to another species (Libois and Fons 1999). West and East African records (Guinea, Nigeria, Ethiopia) are doubtful and need confirmation (Wilson and Reeder 2005). In Europe, it is confined to the Mediterranean climate zone, occurring on the Iberian, Italian, and Balkan peninsulas as well as on a number of Mediterannean islands. There is an established introduced population in the Canary Islands (Tenerife). It occurs from sea level to altitudes of over 1,000 m (Libois and Fons 1999, Palomo and Gisbert 2002).","It tends to be less common than other shrews living in same area, as indicated by both trapping experiments and analyses of owl pellets (Libois and Fons 1999). Trapping is not so effective for catching this species because the shrew is too small (less than 2g); it is often more commonly seen in owl pellets (V. Vohralík pers. comm. 2006).","It prefers abandoned olive groves, vinyards, and other cultivated areas overrun by mediterranean shrubs, but occurs also in gardens, low maquis, scrub, and open forest of Mediterranean oaks and pines, provided that old dry stone walls are available as shelters. It avoids sand dunes, dense forests, and intensively cultivated land (Libois and Fons 1999, Palomo and Gisbert 2002). It is more active during night than day, with a peak at dawn. It experiences daily variations of weight, hypothermy, and torpor, as regulatory mechanisms of the high energetic consumption associated with activity. Possibly the smallest terrestrial mammal, its head and body measures 35-50 mm in length (Stone 1995) .","It is sensitive to insecticides and pesticides, but these are not thought to pose a major threat to the survival of the species at present.","It is present in some protected areas (e.g. Donana and Nestos delta), and is listed on Appendix III of the Bern Convention.","Vladimir Vohralík, Boris Kryštufek" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,TALPIDAE,Desmana moschata,The only species of its genus.,No,No,VU,A2bc+4bc,NE,,"European regional assessment: Vulnerable (VU)EU 25 regional assessment: Not Evaluated (NE)A rare species with a fragmented distribution. Population size, area of occupancy, and habitat quality are all declining, and the species faces a number of serious threats including bycatch, habitat loss and degradation, water pollution, and competition from introduced species. Surveys in Russia indicate that the population declined from 39,000 in 1985 to 27,000 in 2000/2001, and it is suspected that rates of decline have increased since then. The desman recently went extinct in Belarus. Overall, it is suspected that declines exceed 30% over a ten-year period in the past or future, so the species is classed as Vulnerable.",-,"This species occurs in Russia, Ukraine and Kazakhstan; it has recently disappeared from Belarus. At the beginning of the 20th century the desman was common in the Dnepr, Don, Volga and Ural rivers basins. Its current range is very fragmented, and it has disappeared form many areas where it formerly occurred. At the end of the 19th century it disappeared from Ukraine, but was reintroduced in the 1950s. In the 1990s it was found again in the Desna (a tributary of the Dnepr, Ukraine).","At the beginning of the 1970s in the Soviet Union there were about 70,000 individuals, of which the majority occurred in Russia, with about 1,500 individuals in Kazahstan and single records in Ukraine and Belarus. More recent surveys in the Russian Federation indicate that the population there declined from 39,000 in 1985 to 27,000 in 2000/2001, and it is suspected that rates of decline have increased since then owing to growing threats from fisheries bycatch. The 2000/2001 survey covered around 30,000 km of the banks of rivers, lakes and artificial reservoirs, and a uniform methodology was used (see the Biodiversity Conservation Centre website http://www.biodiversity.ru/eng/programs/desman/results.html for further details). In Ukraine the desman is currently very rare and in Belarus it has recently been extirpated.","A riparian species, it is found in holes primarily along oxbow lakes, less frequently by rivers and ponds. It does not inhabit all water bodies within its range; it has quite strict habitat requirements and prefers water bodies with rich water-marsh vegetation, bushes and primary forests along the banks. Prefers lakes with 1-2 m depth with rich invertebrate fauna. Also found in small rivers with slow flow. In favourable years it is able to reproduce during the whole year, but usually has two reproduction peaks at the end of spring and autumn. Males participate in care of young. Omnivorous, recorded feeding on at least 72 species of water invertebrates and 30 plant species, as well as fish and amphibians.","The main threat to the Russian desman at present is the widespread use of fixed fishing nets. These nets, which are used by poachers, have become increasingly cheap and widely available in recent years: a recent study recorded 50 'outlets' freely selling these nets on the Moscow-Vladimir section of the Nizhny Novgorod highway alone (http://www.biodiversity.ru/eng/programs/desman/results.html). The very low price and high durability of modern nets means that poachers often leave them in the water for days or even months, checking them only occasionally and often abandoning them. A desman dies on average within 5-10 minutes when trapped in a net. The second most important threat is the use of 'electric landing nets' (or electric rods), which use an electric current to stun fish. These items of equipment, also used by poachers, have become widespread over the last 10-15 years. They are not believed to directly harm desmans, as a general rule, but they almost totally wipe out the fish and aquatic invertebrates that the desman depends upon. A third major threat is habitat loss and degradation. During the second half of the twentieth century water pollution, creation of impoundments, drainage, clearance of riparian vegetation, and uncontrolled agricultural exploitation of flood plains became widespread and contributed to the decline in the species' population. However, this process has abated somewhat in the last decade, and its influence on the decline in the Russian desman population is today secondary. Competition for breeding sites with introduced nutria (Myocastor coypus) and muskrats (Ondatra zibethicus) may also be a threat.","The desman is listed in the Russian Red Data Book (under category 2: declining in number rare relict species). It is protected in the buffer zone of Okskiy, Voronezhskiy, Kaluzhskie Zaseki Zapovednik, and Ugra National Parks and several small protected areas. This species has been the subject of re-introductions attempts. Recently, conservationists tried to reintroduce it to the Desna basin, in the area of Bryanskiy Les Zapodnenik. The Biodiversity Conservation Centre has started a public campaign against nylon nets and electro-fishing. Conservation measures recommended to stabilize and improve the condition of the Russian desman throughout its range include the following:· Banning the unrestricted sale of nets and net-making materials;· Developing a system of measures to combat electric landing nets; and· Setting up specialized hunting reserves in the desman's key areas of habitation.","Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel, Igor Zagorodnyuk" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,TALPIDAE,Galemys pyrenaicus,,Yes,Yes,VU,A2ac+3c+4ac,NT,,"Listed as Vulnerable because the species is undergoing declines across its whole range. Declines appear to be the highest in Spain, but are lower in France (where the population marginally occurs) and Portugal. An overall decline of 30% over the last ten years is plausible, and given the ongoing threats to this species it is realistic to expect a further decline of at least 30% over the next ten years.",Unfavourable,"The Pyrenean desman is restricted to the Pyrenees mountains (Andorra, France and Spain), as well as parts of northern and central Spain and northern Portugal. In France it occurs along the Aude, Agly, Salat, Aspe, Ossau, Ariège, Ardour, Tet and Tech rivers. In Portugal it occurs along the Minho, Ancora, Lima, Neiva, Cavado, Ave, Leca, Douro, Vouga, Mondego, and Tejo rivers (Queiroz et al. 1998) In Spain it is found in the upper reaches of rivers in the Pyrenees, the Cantabrian mountains, the Sistema Central, the Picos de Europa and along the Deva River. It also occurs in the Sierra de Guarra north of Huesca and Infiesta, Oviedo, and Burguete, Navarro (J. Herrero pers. comm. 2006). It is found at altitudes between sea level and 2,500 m (Palomo and Gisbert 2002). In Spain, the river systems that the species occurs in flow to three different seas: Mediterranean, Atlantic and Cantabrian; hence the populations are all separated from each other.","The population has declined in recent years, but it is hard to obtain precise estimates of population size and decline rate for this shy and secretive species (González-Esteban et al. 2003). The desman has been radio-tracked in Portugal following successful capture of animals using underwater traps (care is required to check these traps regularly to prevent drownings: M. Fernandes pers. comm. 2006). In favourable habitats population densities may be 5-10 individuals per kilometre, but other studies indicate much lower densities (Quaresma et al. 1998, Chora 2001, Cabral et al. 2005). In Portugal it is estimated that there are less than 10,000 mature individuals divided into small and isolated subpopulations due to the existence of physical (e.g. dams) and ecological barriers (Cabral et al. 2005). In Spain the species has undergone marked declines in the central system (J. Herrero pers. comm. 2006), and the desman has disappeared from some sites where it was previously known (Palomo and Gisbert 2002). In the Spanish Pyrenees and Cantabrian regions densities range from 2.8 to 7.3 animals per km of river (Palomo and Gisbert 2002); however, in the Sistema Central population densities are lower (P. García pers. comm. 2007). In France the population is also declining (S. Aulagnier pers. comm. 2006). As well as population declines, range contractions have been observed along the western, southern, and eastern edges of the desman's range in Portugal (Cabral et al. 2005).","The desman's preferred habitat is fast flowing mountain streams, although it is occasionally found in slow moving water bodies such as canals, lakes and marshes. It favours perennial rivers where the margins offer some shelter, and it requires clean and well oxygenated water. G. pyrenaicus is specialised to an aquatic environment. It feeds nocturnally on a diverse array of crustaceans and insect larvae, including stoneflies and caddis fly larvae (Queiroz 1999, Palomo and Gisbert 2002, Cabral et al. 2005).","This species is confined to a very vulnerable habitat in a restricted area. The most potent threats are from water pollution, and habitat fragmentation caused by the construction of hydro-electric plants, water extraction, and dam and reservoir construction (Queiroz 1999, Palomo and Gisbert 2002, Cabral et al. 2005). Other threats are direct persecution from fishermen who incorrectly believe this species to be a threat to fish stocks, especially trout, or from over-eager collectors. Poison and explosives are used as fishing methods in Portugal, which would kill the desman (Cabral et al. 2005). The escape of North American mink (Neovison vison) from fur farms in northern Iberia might be negatively impacting populations in Galicia. It is predated by otters in Galicia (forming up to 5% of their diet) (Palomo and Gisbert 2002).Climate change is anticipated to be a serious threat to the desman in the near future. The species tends to occur only in areas with annual rainfall superior to 1,000 mm and, given climate change scenarios for Spain, by 2060 the species may be virtually extinct from central Spain and also in most of its important areas from northern Iberia (P. García pers. comm. 2007).","It is strictly protected under the Bern Convention (Appendix II) and the EU Habitats and Species Directive (Annexes II and IV). Part of the range falls within the Parc National des Pyrénées Occidentales and Parque Nacional de Covadona, and possibly the Parque Nacional de Aiguas y Lago de San Mauricio and the Parque Nacional de Ordesa. This species' conservation has been the topic of an international conference that has drawn up an action plan that includes priority actions. There is also an action plan for the species in Portugal. Actions proposed include appropriate management of water courses, habitat restoration, improvement of knowledge of the threatened populations, and use of the desman as a flagship species to promote river conservation (Cabral et al. 2005). In Spain the species is considered Vulnerable because populations have disappeared from the formerly known range (L.J.P. Muñoz pers. comm. 2007).","Fernandes, M., Herrero, J., Aulagnier, S. & Amori, G." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,TALPIDAE,Talpa caeca,,Yes,No,LC,,LC,,"The species has a relatively wide range, is common in at least some areas, and is not believed to be facing any major threat. Hence it is listed as Least Concern.",Unknown,"Talpa caeca is endemic to Europe, where it is found in the western Alps, the Apennines, and the Balkan peninsula. It is likely to occur in Albania. Records from the Carpathians (Romania) require confirmation. Small blind moles recently found in Turkish Thrace and southern Bulgaria have been ascribed to T. levantis, but the possibility that they are in fact T. caeca merits further investigation. The species occurs from sea level to 2,000 m, although it is found more often above 1,000 m (Kryštufek 1999).","Its population status is unknown across the whole range, but it is common in the mountainous areas of Italy (G. Amori pers. comm.). It is possible that it is locally common across its whole range. Its distribution is sporadic in karst limestone areas (Kryštufek 1999).","It occurs in deciduous woodland, meadows and pastures in hilly or mountainous areas. It requires deep soil that is not too dry, which explains it sporadic distribution in karstic areas. Its diet is probably similar to that of the common mole T. europea, which feeds on soil-dwelling invertebrates, especially earthworms. It tends to be competitively displaced into marginal habitats by the larger T. europea in areas such as the Balkans (Kryštufek 1999). In Italy it is similarly displaced by Talpa romana where the two species occur in sympatry (G. Amori pers. comm. 2006).",No major threats are known.,It is not protected under international legislation. It occurs in protected areas across its range. In Italy it is not protected.,"Amori, G., Hutterer, R., Bertolino, S., Mitsain, G., Yigit, N., Kryštufek, B. & Palomo, L.J." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,TALPIDAE,Talpa europaea,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species is widespread and abundant, with no serious threats at present. Consequently it is classed as Least Concern.",Possibly Favourable,"The European mole occurs from Britain and Spain eastwards through much of continental Europe to the rivers Ob and Irtysh in Asian Russia (Corbet 1978, Kryštufek 1999, Wilson and Reeder 2005). In Europe, it is generally widespread, although absent from southern Iberia, southern Italy, the southern Balkans (where it is replaced by other Talpa species); and northern Fennoscandia and European Russia. It is found on many islands in the Baltic and around the British coast, but it is not found on Ireland, Iceland, the North Sea islands, and the Mediterranean islands (with the exception of Cres in the northern Adriatic). It is found from sea level to 2,400 m (Kryštufek 1999).","It is generally common in appropriate habitats, with densities of up to 16 individuals per hectare recorded (Kryštufek 1999). It is sufficiently common to be considered a pest of farmland and lawns in many parts of its range.","It is present in most habitats where there is sufficiently deep soil to permit the construction of its extensive burrows. It prefers meadows, pastures, arable land, gardens and parks, and is rarely found in coniferous forests, or habitats with sandy, stony or permanently waterlogged soils (Kryštufek 1999). It feeds mainly on earthworms, as well as other soil invertebrates (Niethammer 1990).","It is widely persecuted as a pest, but although this may cause local population declines it is not a serious threat to the species. In the past, it was hunted in great numbers for its fur, but this no longer occurs.",It occurs in protected areas within its range. No specific conservation measures are recommended.,"Vladimir Vohralík, Jan Zima, Boris Kryštufek, Boris Sheftel, Holger Meinig, Nikolai Formozov" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,TALPIDAE,Talpa levantis,,No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)The species has a relatively large global range, within which it is widespread and facing no major threats. Although its Extent of Occurrence within the European region is fairly small (approaching 20,000 km2), there is no evidence of population declines or range contractions, and no serious threats are known. Consequently it is classed as Least Concern.",-,"Talpa levantis is found along the southern edge of the Black Sea, from southeastern Bulgaria through Turkey to the Caucasus region (Corbet 1978, Wilson and Reeder 2005). It is found from sea level to at least 2,000 m, possibly higher in the Caucasus (B. Kryštufek and V. Vohralík pers. comm. 2006).",No information is available.,It inhabits various biotopes from the lowland to the mountains. In its European range it is found in meadows and deciduous forests. Only a few specimens have been collected in the European part of the range through trapping. The majority of records are based on anlyses of raptor and owl pellets. In the eastern parts of its range (the Caucasus) it also occurs in alpine meadows (B. Kryštufek and V. Vohralík pers. comm. 2006).,No major threats.,It probably occurs in protected areas in the Caucasus.,"Vladimir Vohralík, Boris Kryštufek" -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,TALPIDAE,Talpa occidentalis,,Yes,Yes,LC,,LC,,A common species in the Iberian Peninsula and under no major threats. Hence listed as Least Concern.,Possibly Favourable,"The Iberian mole is endemic to Portugal and Spain (Foy 1999). It occurs from the coast to 2,300 m (Palomo and Gisbert 2002).","It is common in suitable habitats throughout its range (Loy 1999). However, in the southern part of its range it is confined to mountainous areas (Palomo and Gisbert 2002). In Portugal it may be considered a single subpopulation or three separate subpopulations if the rivers are shown to be major barriers to dispersal (M. Fernandes pers. comm. 2006).","It is a burrowing species, and like its congener the European mole T. europaea it is found in a variety of habitats so long as there is deep soil that is not excessively stony, sandy, or waterlogged. It is often found in meadows and pastures. In southern parts of its range it is restricted to upland areas (Loy 1999, Palomo and Gisbert 2002). It feeds on invertebrates, especially earthworms (Niethammer 1990).","It is a pest species causing damage to pastures, so it is persecuted by farmers. Loss of meadows to afforestation is probably the main threat to the species, but this is not thought to be a severe threat at present (Palomo and Gisbert 2002).",It occurs in a number of protected areas. No further actions are required.,"Fernandes, M. & Herrero, J." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,TALPIDAE,Talpa romana,,Yes,Yes,LC,,LC,,"T. romana is widespread in central and southern Italy. The population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers). Although intensive arable farming may be a problem in some areas, the population trend is thought to be stable, and is not believed to approach the thresholds for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern.",Possibly Favourable,"The Roman mole is endemic to Italy. It is now confined to the mainland, having last been recorded on Sicily in 1885 (Loy 1999). Reports of an isolated subpopulation in the Var region of southern France (Saint Girons 1973 in Niethammer 1990) have not been confirmed (Niethammer 1990, Loy 1999, Wilson and Reeder 2005). It is found from sea level to about 2,000 m (Loy 1999).",It is widespread throughout its range (Loy 1999). No information is available on abundance although it is assumed to be stable (G. Amori pers. comm. 2006).,"Its ecology is similar to that of the European mole T. europaea. It is found in a variety of habitats including arable fields, pastures, and woods, and it feeds predominantly on earthworms (Niethammer 1990, Loy 1999).","Local population declines are suspected in areas where there is intensive arable farming (Loy 1999). The mole is widely persecuted as a pest. However, these are not thought to be major threats at present.",It is not protected under national or international law. No specific conservation measures are known. Occurs in protected areas within its range.,"Amori, G." -ANIMALIA,CHORDATA,MAMMALIA,EULIPOTYPHLA,TALPIDAE,Talpa stankovici,,Yes,No,LC,,LC,,"Although this species is relatively localized and quite poorly known, no major threats are known, and it is listed as Least Concern. The population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers). The population trend is not known, but it is not believed to approach the thresholds for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations).",Unknown,"The Balkan mole is endemic to the Balkans, where it is found in southern Montenegro, western Macedonia, north-eastern Greece, and the island of Corfu. It is likely to occur in Albania. Its vertical range is from sea level to 2,300 m (Kryštufek 1999).","Its population status is not known, but it may be locally abundant (Kryštufek 1999).","It occurs in a variety of open habitats including sandy beaches, pastures and arable land (Kryštufek 1999).",No major threats.,It receives no protection under European legislation. It occurs in some protected areas in northern Greece (for example the Pelister mountains). No further actions are required at present.,"Vohralík, V. & Kryštufek, B." -ANIMALIA,CHORDATA,MAMMALIA,LAGOMORPHA,LEPORIDAE,Lepus capensis,"Lepus capensis, once thought to be conspecific with L. europaeus, is now generally treated as a separate species (Flux and Angermann 1990, Boitani et al. 1999, Kryger et al. 2004). The taxonomy of this species is unclear, and further research may result in this taxon being split into several species. A taxonomic review based on genetic studies is urgently required, otherwise it is possible that some species may go extinct before they are formally identified. A number of publications indicate that the range of L. capensis extends into China, Mongolia and Russia; however, current taxonomic classification suggests L. tibetanus and L. tolai are valid species (Wilson and Reeder 2005).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The species is Least Concern in Europe. Although some declines in the Sardinian population have been noted, they are not thought to be of sufficient magnitude to warrant a Near Threatened listing. However, population trends should be monitored.",Possibly Unfavourable,"Lepus capensis has a large global range in Africa and the Near East, where it occurs in two separate non-forested areas; the first in the region bounded by southern Angola, Mozambique and South Africa, and the second extending across North Africa, the Sahara and the Sahel to East Africa, the Arabian peninsula, Syria and Iraq. In Europe, it is found only on the island of Sardinia (Italy), where it occurs as a distinct subspecies L. capensis mediterraneus and is found throughout the island. This population is considered to have been introduced by humans in prehistoric or early historic times (Gippoliti and Amori 2004, G. Amori pers. comm. 2006). It has been recorded from sea level to 4,000 m in Africa (Angelici 1999).","The Sardinian population is suspected to be suffering ongoing decline, even though it is considered locally common in at least parts of its range (Angelici 1999).","Globally, it occupies a variety of open habitats including desert, semi-desert, grassland and steppe. On Sardinia, it is found in almost all habitats on the island, but prefers cultivated land and maquis (Spagnesi and de Marinis 2002).","In Italy the Sardinian hare is considered a game species, and hunting and poaching may have contributed to population declines. Predation by feral dogs is also a potential threat, and anthropogenic bush fires may cause local population declines (Spagnesi and de Marinis 2002). However, these are not thought to be serious threats to the survival of this species on Sardinia.","It is listed under Appendix III of the Bern Convention. Captive breeding has been carried out in order to maintain the numbers available for shooting. Recommended measures include better regulation of hunting, and measures to control and limit the number of bush fires.",Giovanni Amori -ANIMALIA,CHORDATA,MAMMALIA,LAGOMORPHA,LEPORIDAE,Lepus castroviejoi,"Past concerns regarding taxonomic status have been resolved with recent genetic evidence that support the classification of Lepus castroviejoi as one of two endemic species of Lepus inhabiting the Iberian Peninsula (Alves et al. 2003, Melo-Ferreira et al. 2005). Recent molecular data suggest that L. castroviejoi is a sister taxa to L. corsicanus (Alves et al. 2002).There are no subspecies recognized for Lepus castroviejoi (Flux and Angermann 1990, Hoffmann and Smith 2005).",Yes,No,VU,B1ab(iii)+2ab(iii),VU,"B1ab(iii,v)","Lepus castroviejoi is restricted to a relatively small geographic range of approximately 5,000 km². (Ballesteros 2003). This species is considered fragmented, as it occupies highly specialized patches of scarce habitat (Ballesteros in press). These fragmented populations form a dispersed metapopulation within a matrix of unsuitable habitat (Ballesteros in press). Population declines have been observed along the northern portion of its range and in the marginal habitat in which it occurs (Ballesteros et al. 1996).",Unfavourable,"The distribution of L. castroviejoi is limited to the Cantabrian Mountains in the northwest of Spain (Flux and Angermann 1990). It occupies elevations of 1,000 to 1,900 m between Sierra de los Ancares and Sierra de Pena Labra (Flux and Angermann 1990, Ballesteros 2003). The total distribution is approximately 25 - 40 km from north to south, 230 km east to west (Flux and Angermann 1990). It is estimated that the extent of occurrence is 5,000 km² (Ballesteros 2003). This species is considered fragmented, as it occupies highly specialized patches of habitat that is scarce (Ballesteros, in press).","L. castroviejoi is experiencing a decline in relation to specific portions of its distribution that are disturbed by human activities and excessive hunting (Ballesteros et al. 1996). Fragmentation, resulting from the patchy distribution of suitable habitat, has produced a dispersed metapopulation of this species (Ballesteros, in press). A habitat suitability model indicated that L. castroviejoi was experiencing a decreasing population trend of 16.67% and a 4.17% increase within its metapopulation structure, with no appreciable change for 70.82% of the populations (Acevedo et al. 2007).","Little is known about the home range, population density, and food preferences, but they are likely to be similar to those of European hares in comparable habitat. No information is available on reproduction (Alves pers. comm.).L. castroviejoi occupies an elevational range of 1,300-1,900 m, descending in winter to 1,000 m to avoid snow. This habitat consists of heathland where the dominant vegetation forms are Erica, Calluna, and Vaccinium and shrub where the cover consists of Cytisus, Genista, and Juniperus (Flux and Angermann 1990, Alves and Niethammer 2003). A habitat suitability model determined that L. castroviejoi, ""selects areas characterized by a high percentage of broom and heather scrublands, high altitude and slope, and limited human accessibility (quantified as distance to roads variable) (Acevedo et al. 2007). Its habitat also includes cleared areas of mixed deciduous forest of Fagus and Quercus (Palacios 1977). L. castroviejoi also selects habitat that has been burned and areas where broom has been cleared within Somiedo Natural Park (Ballesteros et al. 1996). Nocturnal censuses with spotlights in Somiedo Natural Park determined average densities of 6.83/100 ha (Gonzalez-Quiros et al. 1992).","There has been excessive hunting at the western edge of its distribution where hares are isolated from the rest of the population during the summer (Palacios and Ramos 1979). In addition to over harvesting, this species is subject to predation, poisoning (fertilizer and pesticides) and habitat change (Ballesteros et al. 1996).","Recommended conservation actions are (Ballesteros et al. 1996):- Research to determine the effects of habitat change, predation pressure, and illegal hunting.- Develop a global hunting plan for all regional reserves and private hunting areas, accommodating specific characteristics of the situation for the species.- Avoid any restocking with other hare species within the extent of occurrence of L. castroviejoi.- Development of direct or indirect predator control, especially in conjunction with foxes and domestic dogs and cats.- Restoration of altered habitat that is no longer suitable for L. castroviejoi.The establishment of corridors among local populations should be considered to bolster interbreeding within the metapopulation (Acevedo et al. 2007).Research should also be conducted to improve knowledge of reproduction and genetic structure (Alves pers. comm.). Although L. castroviejoi is listed as endangered in Spain, it is still hunted as a game species in some regions (Cantabria and Leon) (Alves per. comm.).The ability to implement policies to manage and conserve this species should be easy, because a substantial portion of its area of occupancy lies within reserves (Ballesteros et al. 1996).","Smith, A.T. & Johnston, C.H." -ANIMALIA,CHORDATA,MAMMALIA,LAGOMORPHA,LEPORIDAE,Lepus corsicanus,"Formerly included in Lepus capensis or L. europaeus; see Ellerman and Morrison-Scott (1951) and Petter (1961); but see also Palacios et al. (1989) and Pierpaoli et al. (1999) who provided evidence of their specific distinctness (see also below).The taxonomic status of L. corsicanus has been uncertain since its first description by De Winton in 1898. Its species rank was soon rejected by Miller (1912) and others, who considered L. corsicanus a subspecies of L. europaeus. However, Palacios (1996) studied historical museum specimen and described new morphological traits that provided phenotypic support for the species rank of the Apennine Hare. Recent molecular studies confirmed that L. corsicanus is a phylogenetically distinct species, which can be identified by concordant morphological and mtDNA traits. It is reproductively isolated and apparently does not hybridize with sympatric L. europaeus. Phylogenetical analyses suggested that corsicanus and europaeus are not closely related sister taxa, but belong to distinct evolutionary lineages that dispersed in western Europe in different periods during the early Pleistocene. L. corsicanus probably differentiated in isolated refuges in southern Italy during the last glaciation. Comparative analyses of genetic variability highlighted a phylogeographical structure of the Apennine Hare. Recently, it has been hypothesized that L. corsicanus and L. castroviejoi are conspecific, based on preliminary molecular studies involving low sample size and mtDNA (Alves et al. 2003).",Yes,Yes,VU,A2bcde+3bcde,VU,A2bcde+3bcde,"Our assessment is based on field surveys (spotlight censuses, hunting bag, captures, etc) and on molecular analyses of specimens collected by a network of helpers (hunters, park rangers, etc). This species has been monitored continuously since 1997 in continental Italy and Sicily. L. corsicanus shows a variable conservation status across its distribution range. Due to the fragmentation and scarcity of L. corsicanus populations in continental Italy, mainland status is classified as endangered (following Angelici and Luiselli 2001). However, the creation of several protected areas in southern and central Italy will help the populations to recover.In Sicily, L. corsicanus is widespread and the populations are locally abundant. Furthermore since its official recognition as true species (1998), the local government has forbidden hare hunting on the island. However, hunting of this species was permitted during the 2004-2005 hunting season in Sicily. Therefore, in Sicily L. corsicanus does not appear to be threatened.Finally we have no direct information on the status of the species in Corsica. The recent discovery of three specimens in Corsica implies that there are extant populations of L. corsicanus (Scalera and Angelici 2002). However, it is presumed that population numbers are low. Further studies are needed to ascertain its true status.Globally, this species is classified as Vulnerable due to its variable conservation status across its geographic range. Utilizing information currently available regarding the historical range on continental Italy, we replicated this portion of the range using GIS to calculate the total area (Pierpaoli et al. 1999). The result showed that the historical range on continental Italy was approximately 79,700 km². Online sources gave an area of approximately 25,700 km² for Sicily. This provides a total area of 105,400 km² as the historical range for L. corsicanus. We inferred an approximate decline of 50% for the continental populations from the map provided in Pierpaoli (1999). From this we derived an overall decrease of only 37.8% for the species as a whole.",Unfavourable,"Until the 1930s, L. corsicanus was distributed in south-central Italy (the northern limit being marked by Elba Island on the Tyrrhenian coast and the province of Foggia on the Adriatic coast) and Sicily. It was also present in Corsica, where it was introduced by man in historical times (maybe between the 14th and 17th centuries). The current distribution of L. corsicanus is still poorly known. In Sicily, the distribution seems to be continuous, whereas in the Italian Peninsula, populations are known only in Tuscany (in Grosseto province), Latium, Abruzzo, Molise, Apulia (Gargano), Campania, Basilicata and Calabria. It has been recorded from sea level to 2,400 m a.s.l. on Mount Etna. Recently the presence of L. corsicanus has been rediscovered in Corsica, too (Scalera and Angelici 2002). As of 1984, L. corsicanus was thought to be possibly extinct in Corsica; however, one dead specimen was found in 2000 and two dead specimens were examined in 2001 (Scalera and Angelici 2002).","Populations of L. corsicanus in the Italian peninsula have a fragmented distribution and are sometimes in sympatry and syntopy with Lepus europaeus. Density estimates highlight low values in hunting areas (0.5 hares/km²) and higher in protected areas (11 hares/km²). In mainland Italy L. corsicanus is decreasing because of habitat degradation, hunting pressure, and probably, from competition with introduced L. europaeus. However, in Sicily, where there are not populations of L. europaeus, L. corsicanus is continuously distributed and locally abundant (protected areas: 10 hares/km²; hunting areas: 2 hares/km²). No data are actually available on abundance and distribution of L. corsicanus in Corsica (where L. europaeus is present too).","Information about the ecology of this species is still limited. However, it seems well adapted to the Mediterranean environment, although it has been recorded from sea level to 2,400 m a.s.l. on Mount Etna (Sicily). The preferred habitats are the Mediterranean maquis and the mosaic of clearings (also cultivated), bushy areas, and broad-leaved woods. Furthermore L. corsicanus inhabits also coastal dune habitat. When L. corsicanus is in sympatry with L. europaeus, the latter species tends to be more a habitat generalist, while L. corsicanus seems to inhabit almost only pastures and grasslands. In Sicily, the species inhabits a variety of natural and artificial habitats: open grassland, bushy pastures, cultivated areas, etc.In terms of elevation, L. europaeus and L. corsicanus do not differ significantly when they live allopatrically. According to Angelici and Luiselli (in press), when the two species coexist in sympatry, L. corsicanus occurs at elevations significantly higher than L. europaeus. L. europaeus inhabits significantly higher elevations when it lives allopatrically than when it lives sympatrically, and L. corsicanus inhabits significantly higher elevations when it lives sympatrically than when it lives allopatrically. However, this ecological allocation is not shared by Trocchi and Riga who always directly observed, in sympatric condition, L. europaeus occupying the mountain grassland and L. corsicanus inhabiting the lower and warmer areas with thermophilous oak woods.The diet of L. corsicanus, studied in Sicily, varies seasonally as the available vegetation changes. Monocotyledones, Cyperaceae and Juncaceae, are ingested year round, while Gramineae and Labiatae are consumed during spring and summer, respectively (De Battisti et al. 2004). Dicotyledones ingested year round by L. corsicanus are Leguminosae and Compositae (De Battisti et al. 2004).","The main threats to L. corsicanus have been identified in the following aspects: fragmentation of the range, low or absent genetic flow between populations, low population density, habitat loss, introduction of L. europaeus in central and southern Italy (with interspecific competition and disease spread - L. corsicanus is fully susceptible to EBHS), competition with the European rabbit Oryctolagus cuniculus (mainly in Sicily, where this species is widely distributed), over-hunting, poaching and predation by foxes and feral dogs (both abundant and largely distributed in southern Italy). L. corsicanus is susceptible to accidental mortality due to difficulties distinguishing it from L. europaeus by hunters (Angelici and Luiselli 2001). Potential hybridization between L. europaeus and L. corsicanus could constitute a future threat to the species (Pierpaoli et al. 2003). On the major threat list ""other"" has been checked and identified as intraspecific genetic pollution.","The main conservation actions are:-improve data of the distribution and status of the species in Italian peninsula and in Corsica-conservation and improvement of natural populations-habitat improvement-minimizing risk factors-planning specific oriented management both in protected areas and in hunting territories at a local level-carrying out a number of enclosures for captive breeding and initiating behavioral study on L. corsicanus-promote a public educational campaign to develop the awareness and understanding of L. corsicanus-prepare a training program on biology and conservation of L. corsicanus for field biologists, conservationists, game keepers, and protected areas staff-creation of a data bank on the species-improvement of scientific research -place the species on a suitable legal status for international legislationToday L. corsicanus is legally protected in continental Italy because of its conservation status (primarily low population size). However, the problematic discrimination in the field between L. corsicanus and L. europaeus (a game species) produces remarkable problems for effective protection. Since L. corsicanus was recognized as a true species (1998), hare hunting has been banned in Sicily. During the 2004-2005 hunting season, this ban was lifted allowing the hunting of hares in Sicily. In Corsica it is considered a game species, in the French hunting act, since it cannot easily be distinguished from L. europaeus.Lepus corsicanus can be found in many protected areas in Italy. The following is a partial list.Continental Italy:Parco Regionale della MaremmaParco Regionale Monti LucretiliParco Regionale dell'Appennino ""Monti Simbruini""Parco Regionale del CilentoParco Nazionale della SilaParco Nazionale del PollinoParco Nazionale dell'AspromonteSicily:Parco Regionale dell'EtnaParco Regionale dei Monti NebrodiParco Regionale delle Madonie","Angelici, F.M., Randi, E., Riga, F. & Trocchi, V." -ANIMALIA,CHORDATA,MAMMALIA,LAGOMORPHA,LEPORIDAE,Lepus europaeus,,No,Yes,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species has a wide range. Population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers), as the species is described as locally common in at least parts of its range. Population trend has not been quantified, but it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations), although there have been some declines. For these reasons, it is evaluated as Least Concern.",Possibly Favourable,"Lepus europaeus has a large global range extending from western Europe to western Siberia (Russia) and south-western Asia (Iran). In Europe, the species is widely distributed throughout, with the exception of most of the Iberian peninsula, northern Fennoscandia and northern Russia. It occurs on a number of Mediterranean islands. The population in Ireland was introduced recently, and the population in the UK is a long-established naturalised population, that may originally have been introduced by the Romans (Battersby 2005). As a game species, the European hare has widely been introduced to countries across the globe (Flux and Angermann 1990). It is found from sea level to 2,300 m (Spitzenberger 2002).","It is considered locally common in at least parts of its range, with typical population densities ranging from 0.2 to 0.7 individuals per hectare (Homolka and Zima 1999). In western and central Europe, the species has undergone significant decline in the last 50 years (Flux and Angermann 1990, Homolka and Zima 1999, Battersby 2005, Smith et al. 2005), although there are indications that the population trend has stabilised in recent years in at least some countries (Battersby 2005, Zima pers. comm. 2006). Hunting bags suggest that populations in Finland are currently stable (H. Henttonen pers. comm. 2006). There is no information on population trends in eastern and south-eastern Europe.","A highly adaptable species, it occupies a wide variety of habitats, including grassland, steppes, open temperate woodland, arable farmland, and pastures (Flux and Angermann 1990, Homolka and Zima 1999). It tends to be particularly abundant in open, flat areas where cereal cultivation predominate. Dense old-growth forests are avoided (H. Henttonen pers. comm. 2006). Woodland, scrub, hedges and shelterbelts are used as cover when the species is resting (Homolka and Zima 1999). It feeds mainly on grasses and herbaceous plants. When available, weeds and wild grasses are preferred, but where intensive agricultural practices have reduced the availability of these food sources crop species are selected (Reichlin et al. 2006). Unlike Lepus timidus, it does not feed on shrubs.","Agricultural intensification, in particular the increased use of pesticides, fertilizers and heavy machinery in arable farming, is generally considered to be the main cause of population declines in western and central Europe (Homolka and Zima 1999). A recent study that reviewed available literature on the relationship between hare abundance, demography, habitat, and land-use practices in 12 European countries confirmed that the primary cause of hare decline was intensification of agriculture (Smith et al. 2005). It is inferred that this threat may impact on the species throughout its global range, wherever farming is practiced. Agricultural intensification in eastern and south-eastern Europe is a potential cause for concern, especially in countries that have recently acceded to the EU, or that may join in the near future. In Greece, restocking with hares from other regions has been identified as a threat to local gene pools (Mamuris et al. 2001). This issue has also been identified as a concern for the Cantabric population in Spain (Palacios et al. 2004). It is a popular game species throughout it range in Europe, but hunting is regulated and appears sustainable. Smith et al.'s (2005) review found no evidence of a link between hunting pressure and population density.","The species is listed on Appendix III of the Bern Convention. It occurs in many protected areas throughout its wide range. In Norway, Germany, Austria and Switzerland, population declines have resulted in country-specific Red Listing as ""near threatened"" or ""threatened"" (Reichlin et al. 2006).Research is needed to determine the effect that habitat change has on life history parameters with regard to declines (Smith et al. 2005). There is a lack of understanding as to why hare numbers are low in pastoral landscapes, and therefore research should be conducted within this habitat type with particular emphasis paid to demography and behavioral ecology (Smith et al. 2005). When population declines are the direct result of agricultural intensification, which results in increased application of fertilizer, landscape homogeneity and mechanization, population declines of L. europaeus can be countered by management practices that increase heterogeneity (Smith et al. 2005).In Spain, molecular phylogenetic studies have shown that the Cantabric population has unique mtDNA in relation to other European populations (Palacios et al. 2004). As an important hunting species, declining numbers have prompted the importation of non-Iberian hares (from France and elsewhere) to supplement hare densities (Palacios et al. 2004). In an effort to conserve this population's gene pool, a captive breeding program has been implemented (Palacios et al. 2004). As of 2003 this program has successfully bred leverets and in 2004 turned its focus to increasing genetic variability by introducing individuals from new localities (Palacios et al. 2004).","Giovanni Amori, Jan Zima, Heikki Henttonen, Andrew Smith, Charlotte Johnston" -ANIMALIA,CHORDATA,MAMMALIA,LAGOMORPHA,LEPORIDAE,Lepus granatensis,"Lepus granatensis was formerly included in europaeus or capensis; but see Palacios (1983, 1989), and Bonhomme et al. (1986). The population in Sardinia, to which the names mediterraneus Wagner, 1841 and typicus Hilzheimer, 1906, are applied, in the past have been assigned to this species based on Miller (1912), who regarded it as closest to granatensis, though he retained it as a ""...very distinct species"" because of its small size. If in the future mediterraneus is confirmed as a synonym of granatensis, it has priority over granatensis. The Sardinian population is included in L. capensis until its taxonomic status is resolved.Molecular phylogeny has shown that L. granatensis is indeed a full species and one of three hare species present on the Iberian Peninsula (Alves et al. 2003). Previous questions regarding taxonomic distinction of L. granatensis from L. capensis have been resolved by genetic and morphological comparisons (Mitchell-Jones et al. 1999, Alves et al. 2003).There are three subspecies: Lepus granatensis granatensis, L. g. solisi (Mallorca), L. g. gallaecius (Galicia and Astrias, Spain) (Hoffmann and Smith 2005).",Yes,No,LC,,LC,,Lepus granatensis is cited as common and locally abundant within its widespread geographic range of the Iberian Peninsula (Mitchell-Jones et al. 1999). The current population trend in general is stable (Duarte 2000).,Unknown,"The geographic range of Lepus granatensis includes Portugal and nearly the entire extent of Spain (Alves et al. 2003). It is excluded from northern regions of Spain where L. castroviejoi and europaeus exist (Alves et al. 2003). In most of the northern provinces (Navarra, Asturias, Cantabria, Aragon, Catalunya, and Basque Country), L. europaeus and L. granatensis exist in parapatry, the Iberian hare inhabits the southern region and the brown hare can be found to the north (Fernandez et al. 2004). L. granatensis is also located on the island of Mallorca of the Balearic chain (Schneider 2001). It has gone extinct on the island of Ibiza (Balearic Islands) (Mitchell-Jones et al. 1999).L. granatensis has been introduced in southern France (Perpignan) (Alves et al. 2003).","Lepus granatensis is considered locally abundant and common in the southern and central portions of its range (Mitchell-Jones et al. 1999; Farfan et al. 2004). In the autonomous communities of Galicia and Asturias, it is thought to be extremely rare or extinct (Mitchell-Jones et al. 1999). On the island of Mallorca it has become extinct in the western mountain range and is rare throughout the remainder of the island (Mitchell-Jones et al. 1999). Population trends in Navarra and Donana National Park, monitored over several years, have been increasing (Carro et al. 2004). A study of relative abundance and population trends in northeast Spain indicated that L. granatensis experienced, ""a general positive trend during the study period"" which occurred from 1992-2002 (Gortazar et al. 2007).","Lepus granatensis can persist in a variety of habitats within Spain and Portugal (Mitchell-Jones et al. 1999). It occupies arable lands of central Spain and mountainous forests of northwestern Spain (Mitchell-Jones et al. 1999). Other has been checked on the Habitat Preferences list and has been identified as dunes along the Mediterranean coast (Mitchell-Jones et al. 1999).Reproduction in L. granatensis is continuous year round, with peaks experienced between February and June (Alves et al. 2002; Farfan et al. 2004). It has been estimated that the mean number of litters per productive female per year and the mean litter size are 3.48 and 2.08, respectively (Farfan et al. 2004).",No major threats to Lepus granatensis have been cited.,Lepus granatensis is listed as an Appendix III species under the Bern Convention as part of L. capensis sensu lato (Mitchell-Jones et al. 1999).,"Smith, A.T. & Johnston, C.H." -ANIMALIA,CHORDATA,MAMMALIA,LAGOMORPHA,LEPORIDAE,Lepus timidus,,No,Yes,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species has a large range. Population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers). Population trend has not been quantified, but it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations), although the isolated Alpine population may be declining. For these reasons, it is evaluated as Least Concern.",Possibly Favourable,"Mountain hares range from Fennoscandia, the Baltic and east Poland to the Pacific Ocean, from 75°N in the far north of Russia and Scandinavia, south to 40-50°N. There are isolated populations in the Alps from France to Slovenia, Ireland, Scotland, Switzerland, Italy, the Kurile Islands, and Hokkaido, Japan. It has been introduced into the Faeroes, England, and various Scottish Islands; some introduced on Spitzbergen later died out. It occurs at altitudes of 250 to 3,700 m (Sulkava 1999).","Long-term population trends in Europe appear generally stable, with fluctuations in population density occurring over a multi-year cycle (typically peaking every 4 or 7-8 years in Scandinavia and every 10 years in Scotland and northern Russia). Periodic population crashes occur, potentially as a result of disease (tularaemia, a bacterial infection), parasitism, predation, or starvation (Angerbjorn and Flux 1995, Sulkava 1999). Population densities of 1-10 individuals per km2 are typical in range states (e.g., Scotland and Finland). Population declines have occurred in Russia, and in the far south of Sweden the species has completely disappeared (Thulin 2003). The isolated Alpine population may be declining (Sulkava 1999).","Mountain hares occupy tundra and open forest, particularly of early successional stages. In Scotland and Ireland heather moors and bogland are favoured habitats, and in southern Russia copses in the middle of open steppe and reed belts around lakes. The diet varies with the habitat. In Scotland and Ireland much heather, Calluna, is eaten, but this is not a major food item elsewhere in Europe where willow, aspen, birch, juniper, poplar, and Vaccinium are favoured (Flux and Angermann 1990). Palatable grasses and clovers are taken when available. Mountain hares are nocturnal, but there is increased daylight activity in summer when nights are short, or in winter when food is scarce (Flux and Angermann 1990). In areas where L. timidus and L. europaeus coexist, L. timidus retreats to areas of higher elevation, presumably as a result of competitive exclusion (Thulin 2003).","It is hunted as game, but current hunting rates appear to be sustainable in most parts of its European range. L. timidus has successfully hybridized with L. europaeus in areas where the latter has been introduced (Thulin 2003). The pathogens European Brown Hare Syndrome (EHBS) and tularemia may be problematic, but research is required to determine how great an impact they have on wild populations (Thulin 2003). Competitive exclusion of the mountain hare by the European brown hare may restrict the distribution of the former (Thulin 2003), and anthropogenic climate change may affect competitive relationships between these two species. The discovery of an introduced population of L. europaeus to Ireland could pose a threat to the Irish subspecies L. t. hibernicus (N. Reid pers. comm. 2006).","The species occurs in a number of protected areas within its European range. It is listed on Appendix III of the Bern Convention, and Annex V of the Habitats and Species Directive. In areas where L. timidus is proven or suspected to be declining, research should be carried out to determine the potential causes. Monitoring is required to determine if the species is declining in the Alps. Monitoring of the endemic Irish hare (L. t. hibernicus) is already underway. Genetic investigations into the taxonomic status of this subspecies are also underway. A number of reasons for decline have been suggested: interspecific competition with L. europaeus, the impact of pathogens, and the effects of hybridization (Thulin 2003). In Ireland, the cause(s) of population change require further investigation, but agricultural intensification appears to be one of the main concerns.","Heikki Henttonen, Andrew Smith, Charlotte Johnston" -ANIMALIA,CHORDATA,MAMMALIA,LAGOMORPHA,LEPORIDAE,Oryctolagus cuniculus,"Two recognized subspecies occur on the Iberian peninsula of Europe. Oryctolagus cuniculus algirus occupies the south-western area (roughly Portugal and southern Spain). Its range overlaps somewhat with that of O. c. cuniculus, which occupies all points north and west of O. c. algirus (Biju-Duval et al. 1991). O. c. cuniculus is thought to be the descendant of early domestic rabbits released into the wild (Chapman and Flux 1990), and is the subspecies that has been introduced throughout Europe and worldwide (Angulo 2004). O. c. algirus is also found in north Africa, and on Mediterranean and Atlantic islands (Branco et al. 2000).",No,No,NT,,NT,,"European and EU 25: Populations in all parts of Europe where the rabbit has been established since before 1500 A.D. are considered for this assessment. Significant declines have been reported in many parts of the rabbit's European range, and it is inferred that declines approach 30% over the last 10 years overall. Consequently the species is assessed as Near Threatened (approaching A2b). In many countries outside Europe, the rabbit is an alien invasive species that is itself a threat to many other species; the listing of Near Threatened in Europe should not in any way deter efforts to eradicate the rabbit in areas where it is a conservation problem.",Unfavourable,"Oryctolagus cuniculus is a widespread and abundant species, which has been introduced to all continents except Antartica. It was originally restricted to Spain, Portugal, western France, and northern Africa, but it has spread over the last two millenia to almost all parts of the European region, including the British Isles, many Mediterranean islands, the Azores, and Madeira. This range expansion occurred partly because of deliberate introductions, as the rabbit was widely exploited as a food source, and partly through natural spread. It remains absent from most of Fennoscandia, and occurs only sporadically on the Balkan peninsula. Outside Europe, it was introduced to Australia, in 1788 and again in 1859, where it is now widespread (Thompson and King 1994). It was introduced to South America unsuccessfully several times since the mid-nineteenth century, and successfully in about 1936; it now maintains a limited range in Argentina and Chile (Thompson and King 1994). Found in many islands in the Pacific, off the African coast, New Zealand, and the Caribbean (Thompson and King 1994).","It is a common species throughout much of its European range. Population densities of 0.5 to 10 individuals per hectare are typical, with densities of up to 100 individuals per hectare having been recorded (Homolka and Zima 1999). However, in at least some parts of Europe the species has undergone significant decline in recent years. In Portugal, a population reduction of 24% was recorded between 1995 and 2002 (Alves and Ferreira 2002), and in Spain and Portugal as a whole it is estimated that there are now as few as 5% of the number of rabbits that existed 50 years ago (Ward 2005). Large declines since 1990 have also been noted in Austria (Spitzenberger 2005) and Germany (Eylert 2004), and in the UK the species declined significantly between 1995 and 2002 (different survey methods give a 48% decline from 1995-2002 and a 23% decline from 1997-2002: Battersby 2005). Subspecies O. c. huxleyi, which occurs on certain Atlantic and Mediterranean islands, has a restricted range and may be threatened (Homolka and Zima 1999).","The rabbit occupies a variety of habitats, including grassland, meadows, pastures, arable field-margins, sand-dunes, grassy cliffs, heathland and open woodland. In summer, it feeds on the vegetative parts of a variety of grasses and herbaceous plants, and in winter it eats grasses, bulbs and bark (Macdonald and Barrett 1993). It can be an agricultural pest in areas where it is abundant, and it has caused severe damage to native ecosystems in some areas where it has been introduced (for example Australia) (Ward 2005). Rabbits are an essential keystone element of the Mediterranean ecosystem in Spain and Portugal, being preyed on by at least 39 predator species including the Critically Endangered Iberian lynx Lynx pardinus and the vulnerable and range-restricted Iberian imperial eagle Aquila adalberti (Ward 2005, BirdLife International 2006). Rabbit declines are considered to have had a negative impact on both of these threatened species (Ward 2005, BirdLife International 2006).","Myxomatosis caused severe population declines in the 1950s, but numbers subsequently rallied as the myxoma virus become less virulent and the rabbit more immune (Macdonald and Barrett 1993, Macdonald and Tattersall 2001). Myxomatosis was deliberately introduced to Europe in 1952 in an effort to control rabbit numbers; it originates from South America (Ward 2005). Declines in recent years have been attributed to Rabbit Haemorrhagic Disease (RHD; also known as DHV), myxomatosis, and over-hunting (Ward 2005, Spitzenberger 2005). RHD is believed to have originated in Europe, where it was first detected in 1987 (Ward 2005). Habitat loss (due to agriculture, forestry, development, forest fires and land abandonment) is considered to be a contributory factor to rabbit decline in Iberia (Ward 2005). It is a popular game species, and over-hunting may be a problem in some parts of its range. Pest control measures may cause local population declines. There have been attempts in Australia to develop a genetically modified immunocontraceptive virus for rabbits, and accidental or deliberate illegal spread of such a virus could be a threat to rabbits in the future (Henzell and Cooke 2003, Trout 2003, Ward 2005).","The issue of eradication of O. cuniculus from its introduced range (e.g. Australia, New Zealand, and many islands) may have overshadowed the significance of rabbit decline in its native range. However, the importance of O. cuniculus within its natural range necessitates that it be considered for listing as threatened in spite of its global abundance. It is a keystone component of the Iberian ecosystem, as prey for specialist predators (Virgos et al. 2005) and as a landscape modeller (Delibes et al. 2000, Ward 2005). It is an important game species in Spain and Portugal (Ward 2005). Oryctolagus cuniculus occurs in some protected areas within its natural range, including Donana National Park in Spain (Ward 2005) and Serra da Malcata Nature reserve in Portugal (700km2) where the Iberian lynx is protected.Ward (2005) summarises key issues regarding the conservation of the European rabbit within its native range: ""- Establish rabbit monitoring programs to accurately describe decline directly.- Create and implement a management plan for rabbit recovery that prioritizes critical ranges and populations. Some plans have begun for local regions, including Donana National park. - Programs to limit the incidence and impact of new and existing diseases may be difficult in the wild, though some success has been observed in captive populations. Current vaccines do not confer total immunity to RHD or myxomatosis, have side effects such as increasing vulnerability to predators, and have short-lived effectiveness. A genetically modified live myxomatosis virus vaccine, LapinVac, is controversial because of the possibility of unpredictable evolution of the virus, and its potential spread to rabbit populations outside the natural O. cuniculus range where eradication, not conservation, is the objective. Increasing habitat quality may indirectly help rabbit disease resistance. Controlling disease vectors for myxomatosis has not been found to be effective. Preventing the spread of modified immunocontraceptive viruses engineered in Australia to control rabbit fertility may become an issue.- Reducing hunting impact is not guaranteed to reduce decline because disease effects often outweigh hunting as a threat, and because implementation of restrictions would likely not be realistic given the prevalence of hunting in Iberia. Revisions to existing hunting seasons have been proposed and some tested, but even moving the season to summer when rabbits are most abundant has caused concern in trials because the overall catch increases and the season coincides with a peak in death from disease. A growing recognition among hunters of the issue of rabbit decline has led to some self-restraint, and though often well intentioned, uninformed management strategies are leading to inappropriate actions. Rather than focusing on hunting restraint, many hunters exert efforts to reduce rabbit predators, which are not directly responsible for decline. As a very large demographic, hunters could represent a powerful force in maintaining sustainable hunting populations, if the awareness of the issue of decline increased within this group.- Rabbit populations affected by agriculture represent a sensitive issue, as rabbits are typically seen as a pest and an economic liability for farmers. Despite pressures from environmental groups, many farmers continue to take measures to eradicate rabbits from their land, even in areas where rabbit populations have declined dramatically. Awareness among farmers of rabbit conservation issues is low. Government policy allows farmers to control rabbits with permits, and though crop loss due to rabbit damage is economically subsidized, no requirement of those compensated is made for conservation.- Halting and reversing habitat loss and fragmentation was aided in the 1990s by the establishment of many national parks in Spain, but much optimal rabbit habitat is on private land. A shift from high-intensity farming and monoculture forestry back to mixed agro-forestry and small scale farming would help sustain rabbit populations. Natura 2000 promotion of sustainable development and EU subsidies supporting environmentally friendly agriculture are promising but underfunded and too new to demonstrate a significant impact. Eucalyptus plantation removal has demonstrated a positive effect on rabbit populations, but may compromise other environmental issues such as erosion and conditioned bird habitat, as well as economic impact.- Reintroductions have been a key focus of conservation efforts, with up to 500,000 released annually in Spain and France. The efforts so far have not increased rabbit populations, due to increased mortality from predation and inadvertent spread of disease, which may actually have a net negative impact. The flaws in reintroduction practices do not completely negate the importance of the efforts, which have been shown to help sustain predators and hunting populations. The success of introductions may be increased by fencing from predators and competitors and preventing dispersal.- Though rabbit predators have not directly caused rabbit decline, factors that have caused initial decline (e.g., disease, habitat loss) are exacerbated by some opportunistic predators (while not caused by specialist predators like the Iberian lynx and Imperial eagle). Game keeping efforts to increase rabbit populations often focus on predator reduction, sometimes counterproductively, causing decline of top predators that are already threatened. Efforts could be more productively focused on habitat protection, reduction of rabbit mortality by humans (hunting, poisoning), and reducing disease impacts.""",Andrew Smith and Anna Boyer -ANIMALIA,CHORDATA,MAMMALIA,LAGOMORPHA,PROLAGIDAE,Prolagus sardus,,Yes,Yes,EX,,EX,,"The last presumed sighting of Prolagus sardus was in 1774 (Smith 2008). This species was present in its historic distribution within the last 2,000 years (Smith 2008). It is speculated that ""habitat loss, predation, and competition with alien invasive species"" were responsible for its extinction (Smith 2008).",-,"Prolagus sardus once occupied Corsica, Sardinia, and small adjacent islands of the Mediterranean (Hoffmann and Smith 2005).",Extinct.,,,,"Smith, A.T. & Johnston, C.H." -ANIMALIA,CHORDATA,MAMMALIA,PRIMATES,CERCOPITHECIDAE,Macaca sylvanus,"Macaca sylvana is a synonym of M. sylvanus (Alvarez and Horaldo 1975, Burton 1972, Deag and Crook 1971, Hill 1966)",No,Yes,NA,,NA,,"There is no conclusive evidence that the Barbary macaque occurred in Europe before the 1700s. Consequently the Gibraltar population is regarded as a relatively recent introduction, and is classed as Not Applicable (NA) at the European and EU 25 level. The Barbary macaque is seriously threatened in its native range in North Africa.",-,"The Barbary macaque is the only surviving primate in Africa north of the Sahara desert, the only species of primate to occur in Europe (apart from Homo sapiens), and the only member of the genus Macaca that can be found outside Asia. The species was once an inhabitant of parts of Europe and all of North Africa (Delson 1980, Camperio Ciani et al. 1986) but the current distribution of the Barbary macaque is limited to relict forest areas in Algeria and Morocco (Fa 1984, Camperio Ciani 1986, Menard and Vallet 1993, Scheffran et al. 1993). A semi wild population lives in Gibraltar, which is a long established population that is almost certainly introduced (see discussion below) (Fa 1981, von Starck 1990, Hodges and Cortes 2006). In Morocco, M. sylvanus can still be found in the Rif mountains (northern Morocco) and the Middle and High Atlas mountains (central and southern Morocco). In Algeria, it is found in the Petit and Grande Kabylie mountains (northern Algeria) (Taub 1977). It occurs from sea level to 1,900 m, but in Morocco at least it is most common at altitudes above 1,600 m (E. van Lavieren pers. comm. 2006). In mainland Europe, macaques were widespread during the Pleistocene, but disappeared thereafter. However, there are no fossil or subfossil remains known from Gibraltar, suggesting that the species is not native to this promontory (Hodges and Cortes 2006). It has been speculated that macaques may have been introduced to Gibraltar in early historic times, by the Phoenicians, Romans, or Moors, who kept these animals as pets (von Starck 1990), but there is no conclusive evidence to support this (Hodges and Cortes 2006). The first definite records date from the 1700s onwards, when the island was occupied by the English (Hodges and Cortes 2006). The population was driven close to extinction by disease or persecution on a number of occasions, but each time was replenished by animals imported from North Africa (von Starck 1990). Genetic studies have confirmed that the current population are descendants of a mixture of Algerian and Moroccan stock (Modolo et al. 2005).","In 1999 the total number of remaining macaques was estimated at around 15,000 individuals (Von Segesser et al. 1999), although this estimate was based on incomplete data. The Morocco population was more recently estimated to be 6,000-10,000 individuals (Ross 2004), whereas in 1975 it was about 17,000 (Taub 1975). In Algeria, the population was estimated at 5,500 30 years ago (Taub 1977), but is currently much less, although exact numbers are unknown (Hodges and Cortes 2006). On Gibraltar, the population has been maintained at c.200 individuals in recent years (Hodges and Cortes 2006). Consequently, the global population of M. sylvanus is now estimated to number fewer than 10,000 individuals (Hodges and Cortes 2006). According to Moroccan authorities the number of macaques has increased over the last decade (van Lavieren 2006). However, a number of detailed surveys have documented marked declines in population density, along with losses of a number of sites (Von Segesser et al. 1999, Camperio Ciani et al. 2005, van Lavieren 2006). The remaining subpopulations in the Rif mountains and High Atlas mountains of Morocco are fragmented and small. The same can be said for the Algerian subpopulations (Mehlman 1989, Fa 1984, Von Segesser et al. 1999). In 1999, just seven widely separated isolated populations existed, whereas only 35 years ago they were found in at least 6 additional localities in Algeria (Von Segesser et al 1999). The remaining isolated populations are now completely separated by distances of 50-100 km, with no corridors. The only area where M. sylvanus is thought to occur in relative abundance is the cedar forest area of the central Middle Atlas (Camperio Ciani et al. 1995, van Lavieren 2006), which represents the largest refuge of the North African forest ecosystem. It was estimated that 65-75% of the world' s remaining population lived in this area (Camperio Ciani 1986). The populations in the Middle Atlas outside the central region are much lower in density (Taub 1975). The central region of the Middle Atlas thus has a crucial role in the survival of the species. In the mid-1970s, population densities in the central Middle Atlas cedar forest (the stronghold of the species) were variously estimated at 60-70 individuals per km2 (Deag 1974) or 43/km2 (Taub 1975). More recent surveys showed that the population in this region declined from 44 to 25 individuals per km2 over the last two decades of the 20th century (Camperio Ciani et al. 1999) - a decline of 43% over 20 years. The most recent surveys in the Middle Atlas show an average density of 15 to 20 individuals per km2 (van Lavieren 2006), in some areas dropping to an average density of 7-10 individuals per km2 (Camperio Ciani et al. 2005). Thus over the last 30 years a decline of 53-79% in the average population density is apparent, with declines in some areas being even greater.","In Algeria, occupied habitats include mixed cedar and oak forests, humid Portuguese oak (Quercus faginea) and cork oak (Quercus suber) mixes and gorges dominated by scrub vegetation (Taub 1977). Moroccan habitats include high cedar forests (Cedrus atlantica), cedar/holm oak (Quercus ilex) mixtures, pure holm oak forests and gorges dominated by scrub vegetation. In the High Atlas mountains the population of Barbary macaques is restricted to the Ourika valley, where only a small relict population survives (Taub 1977) in a habitat of holm oak and juniper (Juniperus phoenica) scrub on steep mountain slopes. The Rif mountains of Morocco contain a few fragmented and small populations in disjunct remnants of mixed woodland (Taub 1975, Deag 1974, Waters et al. 2007). The cedar/oak forests of the Middle Atlas region contain the largest remaining population of M. sylvanus, and are considered to be optimal habitat for the species (Camperio Ciani et al. 2001). In cedar habitats, macaques can reach densities of 25-40 individuals per km2 or greater, whereas in habitats without cedar much lower densities of 5-7 individuals per km2 are reported (Fa 1984, Mehlman 1989). All the areas occupied by the macaque are under growing pressure from human activity and the habitat availability for the M. sylvanus has severely decreased over the last decades (Camperio Ciani et al. 2005, van Lavieren 2006).M. sylvanus live in social groups of up to 30 individuals of both sexes. Life span in the wild is known to be up to 22 years of age (Lindenfors 2002). Females reach sexual maturity between 2.5 and 4 years of age and males between 4.5 and 7 years of age. Average age at first birth is 4.8 years for females (Lindenfors 2002), and the birth interval is two years (Taub 1974 in Fa 1984).","Major threats to M. sylvanus include habitat destruction and degradation (including dessication) and illegal live trade (Fa 1984; Camperio Ciani et al. 2003, 2005; van Lavieren 2004; Hodges and Cortes 2006). Severe habitat loss and degradation have been caused by domestic and industrial consumption of wood, use of fire, clearing for cultivation and overgrazing by sheep and goat herds (Taub 1977, Fa et al. 1984, Camperio Ciani et al. 1986, Menard and Vallet, 1993). Additionally, in the last ten years the drought in Morocco has prompted shepherds to settle near water sources. As shepherd tribes move into the forest region, they often enclose open water sources with cement wells so they can extract water for their herds. As a result, macaques and other wildlife have been excluded from water sources in areas where it was previously accessible to them (Camperio Ciani et al. 2003). Live trade is the second largest threat to the wild M. sylvanus population. Most of the specimens taken from the wild are for the international pet trade. In comparison with the international trade, offtake for local purposes is low. M. sylvanus seems to be rarely used for food, except for some reports in Algeria (Deag 1977). In the 1960s, a large number of macaques was captured for the use in laboratories in Casablanca, Tangier and Spain (Deag 1977), but this is no longer permitted in Morocco (A. Camperio Ciani pers. comm. 2003). M. sylvanus are kept fairly frequently as pets in Morocco (van Lavieren 2004). Reports of capture for the international pet trade date back to 1977 (Deag 1977). Since then, the trade has increased markedly (van Lavieren 2004). Sanctuaries and zoos in Europe have become overstocked with Barbary macaque infants offered to them by authorities and ex-owners, most infants coming straight from the wild (van Lavieren 2004). Infant M. sylvanus are very “cute” and are offered openly and covertly for sale on markets all over Morocco (van Lavieren 2004), resulting in frequent impulsive purchases mainly by tourists. Prices of up to 200 Euro per animal have been recorded (van Lavieren 2004). This problem has become so severe that there is only one animal sanctuary in Europe that continues to accept Barbary macaques, leading to many confiscated animals being euthanised (E. van Lavieren pers comm. 2006). It is estimated that 300 infants are taken annually from the Moroccan habitats (van Lavieren 2004). According to van Lavieren (2004) the maximum sustainable annual offtake of macaques in the Central Middle Atlas region lies between 200 and 250 individuals. If the estimate of 300 macaques taken from the wild is more or less correct (van Lavieren 2004) the offtake exceeds sustainability by up to 50% annually. Further potential threats include persecution, and predation by feral dogs (E. van Lavieren pers comm. 2006). The shooting of monkeys as a result of crop raiding and cedar bark stripping was reported by Deag (1977), but the current status of this activity is unknown.","M. sylvanus receives some protection under national and international legislation. Collection and export of M. sylvanus are regulated by a system of permits in Morocco, but enforcement of the legislation is inadequate. The National forestry department Eaux et Forets is the responsible authority (E. van Lavieren pers comm. 2006). Deag (1977) mentions a maximum quota for trade of 100 macaques annually in Morocco. The species is listed on Appendix II of CITES (EC 338/97, Annex B). In 2000, the European Community suspended imports of M. sylvanus from Algeria and Morocco under the provisions of Article 4.6b of EC Regulation 338/97 because such a trade was deemed to have a harmful effect on the conservation status of the species. These import suspensions remain in force under the most recent EC suspensions regulation (EC252/2005). Over the last few decades there have been repeated surveys of the species in the wild, mainly carried out by scientists from outside the range states. The national authorities are aware of these surveys but do not always support or agree with the outcome (E. van Lavieren pers. comm. 2006). The Moroccan authorities have planned a new survey on the Moroccan Middle Atlas population in 2007 (M. Mouna pers. comm. 2006). Most habitats of M. sylvanus in Algeria have national park status. This is not the case for all the habitats in Morocco. A part of the Rif mountains has national park status, and there are plans to make the cedar/mixed forest in the central Middle Atlas a national park, but a large part of the species' habitat in Morocco lies outside protected areas. In both Morocco and Algeria, the national forestry departments are responsible for the management and the protection of flora and fauna. There has been much debate about appropriate management of M. sylvanus. The national forestry department in Morocco believes that there are too many macaques in the region (due to the disappearance of predators such as the leopard Panthera pardus), and that they are responsible for the degradation of cedar forests through their bark stripping behaviour. There has even been talk of culling or translocating a part of the population (E. van Lavieren pers comm. 2006). However, field studies and surveys indicate that the population is declining, and that bark stripping behaviour is probably induced by water shortage (Camperio Ciani et al. 2001, 2003). The forestry department plans to start a new research project on the status of the Barbary macaque in the central Middle Atlas region, but some scientists have expressed concern that this is not necessary and may postpone the action needed to protect the species (E. van Lavieren pers comm. 2006). AAP (a Netherlands-based sanctuary for exotic animals) has initiated a major project to combat illegal trade of Barbary macaques into Europe, involving inter alia awareness raising among potential buyers, cooperation with authorities in the consuming countries and training of the customs officers in Spain. This project is carried out in collaboration with IUCN Netherlands, who are currently working to protect cedar forests in Morocco (E. van Lavieren pers comm. 2006).The Gibraltar population is intensively managed, receiving supplementary food and vetinary care (Hodges and Cortes 2006).","Thomas Butynski, John Cortes, Sian Waters, John Fa, Maria Elisa Hobbelink, Mohamed Mouna and Andrea Camperio-Ciani" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CASTORIDAE,Castor fiber,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The European beaver has shown good recovery across much of its range, as a result of conservation programmes. The highest numbers are found within Europe. Conservation measures are ongoing to prevent the population declining again and as long as these continue, there is no reason to continue to assess the species as threatened or Near Threatened. Now Least Concern.",Possibly Favourable,"The Eurasian beaver Castor fiber was once widespread in Europe and Asia. However, by the beginning of the 20th century, over-hunting had drastically reduced both the numbers and range of the species. In Europe, only a few isolated sites remained: parts of the Rhone (France) and Elbe (Germany), southern Norway, the Neman River and Dnepr Basin (Belarus) and Voronezh (Russia). Reintroductions have enabled the beaver to return to much of its former range, and there are now a number of rapidly expanding populations extending from Spain and France across central and eastern Europe to European Russia, and in Scandinavia and parts of western Finland. Free-living populations of beavers are now established or establishing in most regions of their former European range, the main exceptions to date being Portugal, the south Balkans and Great Britain (Halley and Rosell 2002, Ceña et al. 2004). Detailed information on the status and distribution of the Eurasian beaver in each range state can be found in Halley and Rosell (2002), and information on the population that was translocated to Spain in 2003 can be found in Ceña et al. (2004). It is generally a lowland species, but occurs up to 850 m in Europe (D.J. Halley pers. comm. 2006).","By the beginning of the 20th century, the global population had been reduced to eight populations, totaling approximately 1,200 individuals (Halley and Rosell 2002). Protection (beginning with a hunting ban implemented in Norway in 1845), natural spread and reintroductions have resulted in a rapid recovery in numbers and range, particularly in Europe. In 1998, the global population was estimated at 430,000 (Nolet and Rosell 1998), by 2002 it had reached at least 593,000 (Halley and Rosell 2002), and in 2006 the minimum estimate was 639,000 (D.J. Halley pers. comm. 2006). This is almost certainly a considerable underestimate, as both population and range are in rapid expansion (Halley and Rosell 2002, 2003; D.J. Halley pers. comm. 2006). Considerable further expansion in range and population, especially in western Europe and the lower Danube basin, can be expected. If current trends continue, the Eurasian beaver will be a fairly common mammal in much of Europe within the next few decades. However, populations in Asia are still considered small. In Mongolia, reintroductions have been successful and the population has reached 150, and in China the population has reached 800 (Halley and Rosell 2002, EMA Workshop 2006).","Beavers are adapted for a semi-aquatic life, using a variety of freshwater systems, including rivers, streams, irrigation ditches, lakes, and swamps. They generally prefer freshwater habitats surrounded by woodland, but may occur in agricultural land or even suburban and urban areas (Tattersall 1999, Halley and Rosell 2002). In northern Scandinavia, beavers may be found right up to the limit of the willow zone in the mountains, where knee-high willow bushes are the only woody vegetation and it is iced over for 8 months of the year. This is not preferred habitat, but they can survive there. In many places, beavers live both on the valley floor, and on the mountain plateau above (where it is wooded), with a break in distribution where streams flow down the steep valley sides. In general beavers should be able to live in almost any freshwater habitat where there are trees or shrubs and the gradient is not precipitous. However, patterns of recolonisation demonstrate a clear preference for still or slow, laminar water flow if it is available (Nowak 1999, Halley and Rosell 2002, D.J. Halley pers. comm. 2006).","The beaver's historic decline was caused by over-hunting for fur, meat and castoreum (a secretion from the scent glands), combined with loss of wetland habitats. Beaver populations were severely reduced in most countries by mediæval times, but the species clung on in marshes and other inaccessible places until the advent of efficient steel traps and accurate firearms in the 17th century; and then through to the 19th century there was a rash of final extinctions for these reasons combined with drainage of many of the large marshland areas in which the species clung on (all of the European refugia where the species survived, except in Norway, are extensive marshlands). Today, beaver populations in Europe are expanding rapidly, and there are no major threats (e.g. threats of a magnitude likely to cause decline at the regional level). Competitive exclusion of the native European beaver C. fiber by its American cousin C. canadensis may be a threat in parts of Finland and north-west Russia, but it is not a major threat regionally. In Europe North American beavers are now confined entirely to Finland and north-west Russia, where populations are increasing only slowly (due to heavy harvesting). The former population at a reservoir near Paris has been removed, and populations introduced to Poland and Austria have apparently gone extinct in competition with C. fiber, the opposite of what has tended to happen in Finland and north-west Russia (it has been suggested that, due to differences in the life history of the two species, Eurasian beavers may have a competitive advantage at more southerly latitudes, whilst North American beavers may be more successful further north: D.J. Halley pers. comm. 2006). There are no serious prospects of further introductions (Halley and Rosell 2002, D.J. Halley pers. comm. 2006). The two species do not interbreed (Tattersall 1999). Roadkill is an important source of mortality for some populations (Tattersall 1999). Rapidly expanding beaver populations may come into conflict with humans in some areas, as they do some damage to forestry and crops. Such damages should be put into perspective: they tend to be less severe than those caused by other species such as deer and voles, but are noticed because beavers are a new and unfamiliar species in areas where they have been recently introduced (Halley and Rosell 2002).","A number of conservation measures have contributed to the species' recovery in Europe, including reintroductions and translocations, hunting restrictions, and habitat protection. It is listed under the Bern Convention (Appendix III) and the EU Habitats and Species Directive (Annex V for the Swedish and Finnish populations, Annex II & IV for all others). In Finland, C. canadensis populations are controlled to prevent them spreading into the west where C. fiber occurs. Halley and Rosell (2002) recommend regulated hunting as the optimal management regime in managed landscapes with healthy beaver populations. Management of beaver populations should be at the watershed scale, except where large human-made dams form significant barriers to spread. Early provision of interpretation and public viewing opportunities is also recommended, as this provides a benefit to the local economy through wildlife tourism, and helps foster positive attitudes to beavers (Halley and Rosell 2002). This has been a successful feature of several recent reintroductions. Reintroduction to Italy has been recommended in a European Union/Bern Convention Nature and Environment Series document (Nolet 1996). Considerable efforts have been made to develop a beaver reintroduction programme in Scotland, and a full public consultation showed strong support for such a scheme among the general public, including in rural areas where beavers were likely to be released (Halley and Rosell 2002).","Boris Kryštufek, Holger Meinig, Jan Zima, Heikki Henttonen, Linas Balciauskas" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Allocricetulus eversmanni,,No,No,LC,,NE,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)An abundant species with no major threats. Classed as Least Concern.,-,Distributed from eastern bank of the Volga river through the Russian Federation and Kazakhstan to Xinjiang (China).,Common and relatively abundant throughout the range. In the Ural region the species is expanding its range to the north by occupying agricultural lands.,"Inhabits dry steppe and semi-deserts, but is occasionally found in agricultural fields and the surroundings of settlements. According to Vinogradov and Gromov (1952) it is found near human settlements in Siberia further north than its original distribution. In the northern part of the range it is also found in forest-steppe (Gromov and Erbaeva 1995). In the Pleistocene it also occurred west of the Volga (Don basin, Crimea: Nechay 2000). Does not hibernate, however daily activity is lower in winter. Feeds on vegetative parts and seeds of different wild and cultivated plants. Also eats insects and molluscs on a regular basis, there are record of feeding on lizards, voles, small birds' nestlings and young ground squirrels (Gromov and Erbaeva 1995). Gives birth to 2-3 litters per year in northern parts of the range and 3-4 in southern. Litter size is 4-6 young.","There are no major threats to the species. Eversmann's hamster is a pest of cereal crops, melons and gourds.",There are no specific conservation measures applied to this species.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Arvicola amphibius,"Linnaeus' amphibius and terrestris, both proposed in 1758 on the same page, are now considered conspecific by most researchers, but which name should be properly used is still debated. Some authors split this taxon into two separate species: the aquatic A. amphibius and the fossorial A. scherman (Wilson and Reeder 2005).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species has a wide distribution, and both the fossorial and aquatic forms are considered pests in parts of the range. The population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers). Although there are ongoing declines in some range states (such as Britain, Italy, and the Netherlands), the overall population trend is believed to be stable at the regional and global level. For these reasons, it is evaluated as Least Concern.",Possibly Favourable,"Arvicola amphibius has a large range extending from Portugal and Great Britain in the west, through much of continental Europe and Russia, as far as the Lena Basin and Lake Baikal in Siberia (Russia). Its range extends north of the Arctic circle and south into Iran and the Near East (Shenbrot and Krasnov 2005). In Europe, it is widespread in central and northern parts of the continent, but it is absent from southern Iberia and southern and western France, and occurs only sporadically in the Balkans. The species occurs as two distinct ecological forms: aquatic and fossorial (burrow-dwelling). Aquatic forms are widely distributed, whereas fossorial forms are restricted to mountainous areas in southern and central Europe (Saucy 1999). In the French Alps it occurs to 2,400 m (Reichstein 1982).","Population declines in the aquatic form are evident in some European countries (e.g. Great Britain, the Netherlands and Italy) (Saucy 1999, Battersby 2005). However in many areas it is common and stable (in northern continental Europe it is considered a pest species). Even in optimal habitat, aquatic forms seldom occur at densities greater than 100 individuals per hectare (roughly equivalent to 15 individuals per 100 m of river bank), whereas fossorial forms may occur at such high densities that they become agricultural pests. Fossorial forms undergo pronounced cyclic population fluctuations every 5-8 years, with densities ranging between 0 and 1,000 individuals per hectare (Saucy 1999). In Fennoscandia and the Baltic area the aquatic form also shows population cycles in synchrony with other vole species.","Aquatic forms inhabit a variety of freshwater habitats in the lowlands and the mountains, including rivers, streams, lakes and marshes. In Fennoscandia, the aquatic form becomes fossorial during winter months. Steep riverbanks with lush grass and vegetation are preferred. Fossorial forms are restricted to the uplands, where they construct extensive underground burrows in grasslands (including pastures) or, less frequently, in woodlands. Both forms have a herbivorous diet, feeding predominantly on vegetation in the summer and on roots, bulbs and tubers in the winter (Reichstein 1982, Saucy 1999).","Declines in aquatic populations in parts of western Europe have been attributed to habitat loss, water pollution, predation by introduced American mink Neovison vison and competition by the introduced muskrat Ondatra zibethicus.",Occurs in protected areas but is frequently considered a pest species. The UK is the only part of Europe where the species is currently protected under national legislation.,"Heikki Henttonen, Boris Kryštufek, Holger Meinig" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Arvicola sapidus,"There are two subspecies of the water vole: Arvicola sapidus sapidus (Miller, 1908) and Arvicola sapidus tenebricus (Miller, 1908). A. s. sapidus is present in Portugal and southern Spain, while A. s. tenebricus occurs in France and northern Spain. A. s. tenebricus is dark to reddish brown, while the coat of A. s. sapidus is generally lighter and more yellowish (Noblet 2005).",Yes,Yes,VU,A2ace+4ace,VU,A2ace+4ace,"The water vole has undergone a marked reduction in both the absolute number of individuals and its subpopulations located throughout its traditional range in France, Spain and Portugal, and that this decline is continuing as a result of ongoing habitat modification/disturbance and competition with introduced species. Furthermore, the water vole is facing all the risks associated with geographically scattered and isolated subpopulations. It is suspected that the rate of population decline exceeds 30% over a 10-year period.",Unfavourable,"The Southwestern Water Vole, Arvicola sapidus, occurs only in freshwater habitats in parts of France, Spain and Portugal, where it is found from sea level to a maximum of about 2,300 m in the Pyrenees (Le Louarn and Quéré, 2003).In France, the water vole remains relatively common in only three regions: Charente-Maritime, Brittany and southwest France (Pyrenees), though its distribution is still patchy in these areas. In the French départements of Drôme, Var, Alpes-Maritimes, Hautes-Alpes, Alpes-de-Haute-Provence, Loire, Rhône and Ain, the water vole has become rare, with a maximum of only 10 locations per département. In the Ain there is only one location, two in the Rhône and no more than 6 or 7 in the Hautes-Alpes.In Spain, the water vole is now restricted to the northern and eastern parts of the country, and has disappeared from central Spain, where it was formerly common. Locations of the water vole in Portugal are not well-documented but, as in other parts of its range, the water vole seems to be restricted to fairly isolated subpopulations in only a few parts of the country.","The water vole is declining in most parts of its range. In France it is much less common than it was 10-15 years ago (S. Aulagnier, 2006), and in the Iberian Peninsula it is considered to be declining as a result of habitat loss and degradation (Palomo and Gisbert, 2002), although it is not currently classified as threatened in Portugal (Cabral, 2005). Several studies have shown that, in optimal habitat, water vole density can reach five individuals per 100 m of river bank, but that it is unlikely to exceed this figure (Saucy 1999, Palomo and Gisbert, 2002). Population fluctuations are not known (Saucy 1999).FranceA recurring problem with accurately determining the full extent of water vole population decline is that the species has been poorly documented in the past, with older information on water vole population being anecdotal and patchy. For example, an atlas of mammals of France (1984, Société Française de l’Etude et Protection des Mammifères - SFEPM) mentioned no threat to the water vole, and reported a nation-wide distribution of the species, with the exception of Corsica, the North, North-East and the Alps. There were no national surveys on the water vole and the vole was not even mentioned in the Action Programme for wild fauna and flora, a wide-ranging survey published in 1996 by the French Ministry for the Environment. In contrast, over the last 10 years there has been increasing attention on the water vole, mainly owing to its apparent disappearance from many areas, a great cause for concern in a species with a normally high reproductive potential (3 to 4 litters per year, averaging 3.5 young per litter). These recent observations and studies all point to its rapid decline.SpainThe water vole has previously been little known and studied in Spain, yet it is probable that its numbers have suffered drastic declines in recent years, making it crucial to carry out further research and monitoring of the species (J. Román pers. comm., 2007). Experts in Spain seem to agree that the water vole is facing similar threats in the Iberian Peninsula as those in France (M. Delibes pers. comm., 2007). The water vole is not currently classified as a threatened species in any part of its range in the Iberian Peninsula, yet its subpopulations in this region exhibit a marked reduction, due to human-induced habitat degradation, destruction or modification, such as cementing over of riverbanks, canal-building, destruction of vegetation along waterways, draining of wetlands and water pollution (Álvarez, 1985; Garde, 1992).PortugalThe water vole faces a situation similar in Portugal to that confronting its subpopulations in France and Spain, though its status in this country is perhaps the least well-documented of the three. Research conducted in several locations in Portugal where the water vole is present leads to the conclusion that it is scarce and under threat principally from habitat disturbance and predation, as well as isolation of subpopulations owing to the scattered nature of suitable habitat in Portugal.","The water vole is almost always found near to water, preferring small (under 8 ha) freshwater lakes, ponds and slow-moving rivers and streams with dense riparian vegetation (Saucy 1999, Fedriani 2002). It sometimes occurs in drainage ditches and wet fields. Abundant hydrophilic vegetation and shorelines suitable for water vole burrowing activity seem to be essential characteristics of water vole habitat. Its diet consists mainly of aquatic plants, grasses, and herbs, although small animal prey are occasionally taken (insects, fish, tadpoles, freshwater shrimp). The burrows of the water vole typically have two entrances – one primary entrance above water level and one underwater entrance. The water vole is mainly active during the day, with two peaks in activity in late morning and early afternoon, as well some nocturnal activity. It is active throughout the year, with no period of hibernation.Reproduction occurs between March and October, with 3 to 4 litters of 2 to 8 young per litter, with the average reported as 3.5 to 6 young. The gestation period is 3 weeks. Sexual maturity is reached at 5 weeks old and the life span of the water vole varies from 2 to 4 years. The water vole lives in small family groups and, under optimal conditions, its density may reach 5 individuals for every 100 meters of riverbank (Saucy 1999, Palomo and Gisbert, 2002). There have never been any records of damage to human activity or agriculture by the water vole.","Since the water vole is restricted to wetland areas, it faces all the usual threats associated with this habitat. The water vole only flourishes where the banks and vegetation have not been significantly altered by human activity. Consequently, habitat loss and degradation (as a result of drainage, dredging, canal-building, infrastructure development, intensive agriculture, and so on) are major threats. Competition with the introduced Coypu and Muskrat for food and dens is also a threat. In Spain, water vole decline is attributed primarily to anthropogenic habitat modification, but competition from the Norway rat may be an additional factor threatening the water vole (Palomo and Gisbert 2002). Efforts to control invasive species by poisoning have resulted in accidental water vole deaths.In descending order of importance, the principal threats are:Secondary poisoning with anticoagulant rodenticides (Bromadiolone and Chlorophacinone) intended for the Norway Rat, Coypu and Muskrat, Competition for habitat and food sources with the Muskrat and Coypu,Predation by the American Mink, Polecat and Norway Rat, as well as domestic dogs and cats,Trapping and shooting of “vermin”,Habitat modification, including draining of suitable wetlands, dredging, canal-building, disturbance by human activity and livestock, etc.,Drastic variations in water level caused by dams or seasonal droughts,Pollution and possibly disease and parasites.","The water vole occurs in some protected areas within its range, although this does not particularly improve the status of this species (European Mammal Assessment Workshop 2006). As yet, the water vole receives no legal protection under EU legislation (Cabral et al. 2005), nor under national legislation in any of the three countries where it occurs. Further research and monitoring is urgently needed to supervise the population trend, and the aquatic habitats where the water vole occurs require protection.Nature et Humanisme and the SFEPM recommend the following methods for protecting the water vole (J.F. Noblet pers. comm.):-Prevention of the use of rodenticides in the habitats occupied by the water vole.Alternative methods of combating the proliferation of the Muskrat, Coypu and American Mink, by more selective means (live cage traps, etc.).-Forbidding the raising, import, transport or release of these three animals.-Legislative protection of the water vole, under Annexes I or II of the EU Habitats Directive, the Bern Convention, as well as in national legislation,Legislative protection of the water vole’s habitat. -Information campaigns directed at the concerned parties (local elected officials, waterway engineers, waterway management bodies, etc.).-Regulation of management techniques of water ways and their shores, such as forbidding dredging and paving of water vole habitat and destruction of riverside vegetation.-Forbidding destructive agricultural practices and associated water pollution.-International cooperation between France, Spain and Portugal in protecting the water vole and coordinating research in cross-border areas where the water vole may occur.-An ongoing research programme, in order to thoroughly map and monitor the remnant populations and their trends and to analyse the reasons for their ongoing decline.-A captive breeding programme and eventual reintroduction of the water vole in suitable protected habitat.","Rigaux, P., Vaslin, M., Noblet, J.F., Amori, G. & Palomo, L.J." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Chionomys nivalis,,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A common and widespread species with no major threats.,Possibly Favourable,"Chionomys nivalis has a global distribution extending from south-western Europe through south-eastern Europe to the Caucasus, Turkey, Israel, Lebanon, Syria and Iran (Shenbrot and Krasnov 2005). In Europe, it is restricted to mountainous and rocky areas, typically above 1,000 m and up to 4,700 m (Amori 1999). Its strongholds in Europe are in the Pyrenees, the Alps, the Apennines, the Carpathians and the mountains of the Balkan peninsula. Of the islands, it is found only on Euboea (Amori 1999).","It is locally common in at least parts of its range, and no declines have been recorded. Fluctuations in population density are not known to occur. Its distribution is naturally fragmented as subpopulations became isolated from each other when temperatures warmed at the end of the last ice age (Amori 1999).","It inhabits open, rocky areas, typically above the tree-line (Amori 1999). It has a herbivorous diet, feeding on grasses, shrubs, and berries (Krapp 1982).","In the northeastern part of the range the species occurs exclusively in rocky slopes. During the last two decades, these areas have been covered by enchroaching new forest as sheep grazing has declined (B. Kryštufek pers. comm. 2006). However, this is not though to be a serious threat to the species at present.","It is listed on Appendix III of the Bern Convention, and occurs within many protected areas within its range. In the Ukraine, the species is included in the Red Book of Ukraine.","Boris Kryštufek, Giovanni Amori" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Cricetulus migratorius,,No,No,LC,,NA,,"European: Least Concern. The species has a large range in parts of eastern Europe and European Russia, within which it is widespread. The population size is not believed to approach the thresholds for the population size criterion of the IUCN Red List. Although there have been some range contractions within this region, presumably with concomitant population declines, these are not thought to approach the threshold for the population decline criterion of the IUCN Red List. EU 25: Not Applicable. In the EU, this species only occurs in Greece. Very little is known about the species' range and habitat requirements in this country, and there are no data on threats or population size. Only a very small proportion (less than 1%) of the grey hamster's range lies within the EU 25, thus it is classed as Not Applicable (NA) at the regional level.",-,"The present range of the grey hamster extends from eastern Europe through Russia and central Asia to Mongolia and western China. In the south, its distribution extends into Turkey, Israel, Syria, Iraq, Iran, Pakistan and Kashmir. In Europe, it is restricted to Greece, Turkish Thrace, Bulgaria, Romania, Moldova, Ukraine, and European Russia. It is recorded from sea level to 4,300 m in the Pamir mountains of central Asia (Vohralík 1999).","It is scarce and sporadic in the Balkans, although it may be more abundant elsewhere in its global range. Populations in Greece (very rare: known from less than ten collections), Bulgaria (very rare: only six records) and Turkish Thrace may be isolated (Nechay 2000). Its status is poorly known. There have been range contractions in some parts of Europe (EMA Workshop 2006).","It originally occurred in dry grasslands, steppes and semideserts. Now, it also inhabits agricultural land and gardens, sometimes even living in houses. Arid areas with relatively sparse vegetation are preferred, and forests and damp habitats are avoided (Vohralík 1999). It typically feeds on roots, shoots and seeds.","The species is rare, especially in the Balkans, and its requirements are not well known. It is not known why the species is not more widespread within Europe, given that it can use a variety of habitats.","Surveys are required to determine population status and trends, and research is needed to determine the species' requirements and investigate potential threats.","Boris Kryštufek, Igor Zagorodnyuk, Vladimir Vohralík" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Cricetus cricetus,Populations west of the River Rhine are recognised as a separate subspecies (canescens) (Weinhold 1999).,No,No,LC,,LC,,"At the European and EU 25 levels the species is considered Least Concern. It has a very wide range and, although population declines are occuring in the western part of the range, it is stable elsewhere (including in a number of EU 25 countries).",Possibly Unfavourable,"Cricetus cricetus has a large global range, extending from western Europe, through central and eastern Europe, Russia, and Kazakhstan, reaching as far east as the Yenisey river (Asian Russia). In Europe, it occurs from Belgium, the Netherlands and northern France in the west to Russia in the east, and from northern Germany, Poland and Russia in the north to Bulgaria in the south (Panteleyev 1998, Weinhold 1999). It is found from sea level to 650 m (Nechay 2000).","It has undergone severe range and population declines in western and central Europe, and it now has a highly fragmented distribution in these areas. Subpopulation extinctions have occurred in a number of countries including Belgium, the Netherlands, France and Germany. Less is known about the status of the species in eastern Europe and Russia, but it is certainly more abundant there than in the west. Spring population densities of 0.5-3 individuals per hectare are reported in western Europe (Weinhold 1999), whereas densities of 3.4-37 occupied burrows per hectare have been recorded in Hungary (Nechay 2000). In Ukraine the species is considered abundant (I. Zagorodnyuk pers. comm. 2006). In areas where the species is abundant, periodic population outbreaks occur (Nechay 2000).","Its original habitat was fertile steppe and grassland, but it has successfully spread into a variety of anthropogenic habitats including meadows, croplands (especially cereals), and field edges, road verges and scrubby fallow areas on farms. In eastern parts of its range it is found quite often in gardens and orchards, in close proximity to human habitation. It is more abundant in these man-made habitats than it is in natural grassland. It prefers relatively deep, heavy soils, in which it digs extensive burrows. Its diet mainly consists of the green parts of plants and seeds, supplemented by invertebrates and, occasionally, small vertebrates. At high densities, it can be an agricultural pest (Nechay 2000).","Its decline in western Europe has been attributed to a combination of persecution and agricultural intensification. It was trapped and poisoned to prevent damage to crops, and this practice continues in some parts of the hamster's range (although not in the western part of its range). In eastern Europe it continues to be trapped for the fur trade. Agricultural intensification, specifically the loss of perennial crops and small uncultivated patches of land, the introduction of autumn-sown cereals, and the increased use of pesticides, has had a negative impact on many hamster populations. Changing agricultural practices in eastern Europe, where the hamster population has traditionally been considered stable, may pose a threat in the future.","It is listed on Appendix II of the Bern Convention and Annex IV of the EU Habitats and Species Directive. Specific conservation recommendations to improve the status of the species in western Europe are detailed in Stubbe and Stubbe (1998) and Nechay (2000). These focus on subsidising farmers to manage agricultural habitats appropriately, and minimising use of pesticides. In the last few years, reintroductions have been carried out in France, Belgium and the Netherlands. Monitoring is required in eastern range states to determine population trends.","Boris Kryštufek, Holger Meinig, Igor Zagorodnyuk, Vladimir Vohralík" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Dicrostonyx torquatus,"Once believed to encompass most or all New World populations, but karyotypic and breeding evidence supports the strict application of D. torquatus for only Eurasian populations (see Wilson and Reeder 2005 and references therein).",No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)There are no major threats to the species which is common and abundant. Consequently it is classed as Least Concern. However, the collared lemming subspecies from Novaya Zemlya (Dicrostonyx torquatus ungulatus) is considered as Vulnerable under Russian nature conservation legislation (included in Red Book of Russian Federation since 1998).",-,"""Arctic and subarctic tundra and forest-tundra in the Palearctic, from White Sea, W Russia, to Chukotski Peninsula, NE Siberia, and Kamchatka; including Novaya Zemlya and New Siberian islands, Arctic Ocean"" (Wilson and Reeder 2005), but excluding Wrangel Island (Gromov and Erbaeva 1995, Pavlinov et al. 2002).",Common throughout the distributional area. Shows extreme cycles of abundance approximately every three years. Apparent population declines in the European part of the distribution area may have been the result of natural population fluctuation.,"Inhabits arctic and subarctic tundra and forest-tundra with small Salix spp. bushes. Lives in colonies with simple burrows along feeding routes; nesting and seed storage chambers used collectively. Activity is multiphase and may occur around the clock. Feeds on shoots and leaves of willows and birches, and vegetation and berries of cloudberry, great bilberry and other species. Litters 2-3 times a year with 5-6 young each time. A migratory species.","No major threats known at present, but climate change may threaten the species in the future.",The species occurs in several protected areas. The collared lemming subspecies from Novaya Zemlya (Dicrostonyx torquatus ungulatus) is considered as Vulnerable under Russian nature conservation legislation (included in Red Book of Russian Federation since 1998).,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Dinaromys bogdanovi,"Molecular data suggests that this taxon might in fact consist of two (or more) species, although further research is required to confirm this (Kryštufek et al. 2007). Genetic and morphological data clearly indicate that the Balkan Snow Vole is composed of three historically isolated, independently evolving sets of populations, that can be regarded as evolutionary significant units (ESUs).",Yes,No,VU,"B2ab(i,ii,iv)",DD,,"Dinaromys bogdanovi is endemic to the Balkans area of the Mediterranean region. It is restricted to a specialised and fragmented habitat, and may be declining in parts of its range as a result of competition with the European snow vole. The area of occupancy is restricted, and is certainly less than 2,000 km² (B. Kryštufek pers. comm. 2007). Its range is severely fragmented due to the species' specialised habitat requirements and the range is shrinking. Listed as Vulnerable (VU B2ab(i,ii,iv)). Research is urgently needed to determine how serious a threat competition with the European snow vole is.Dinaromys bogdanovi consists of three historically isolated, independently evolving sets of populations, which can be regarded as evolutionary significant units (ESUs), and which are likely to constitute at least two separate species. If these were assessed separately, then it is extremely likely that one or more of them would qualify as Endangered or Critically Endangered under the IUCN Red List Criteria.",Unfavourable,"The Balkan snow vole is endemic to the Balkan states of Croatia, Bosnia and Herzegovina, Serbia, Montenegro, and western Macedonia. Its range is likely to extend into Albania and may include northern Greece, although there are no known records (Kryštufek 1999, Shenbrot and Krasnov 2005). It occurs from sea level to 2,200 m, but is typically found over 1,500 m and rarely much lower (Kryštufek 1999, B. Kryštufek pers. comm. 2006). It is the only living representative of its genus, and its range was restricted throughout prehistorical times.","Because it is restricted to karst limestone habitats, it has a naturally discontinuous distribution, and subpopulations are always small and isolated (B. Kryštufek pers. comm. 2006). The long-term population trend has not been quantified, but there is evidence to suggest that the species is declining in both population and range (Kryštufek et al. 2007). At the southernmost known site (on the Macedonia/Albania border) there have been no records of this species in the last 30 years, and the only records since then are of the European snow vole Chionomys nivalis (B. Kryštufek pers. comm. 2006). There are three distinct lineages within the population (Kryštufek et al. 2007). One of these, the north-western lineage, is of particular cause for concern: its range is excessively limited andhighly fragmented, with only 17 known localities that stretch along approximately 300 km of the Dinaric mountainrange; and its populations are invariably small and frequently highly isolated, with an extensive survey of its range often yielding only one individual in many of the sampling localities (Kryštufek et al. 2007).","It is found exclusively in rocky karst limestone areas, typically being found in stone-piles in meadows above the tree line, less often in rocky areas below the tree line. It has highly specific habitat requirements (Kryštufek et al. 2007). It eats grasses and herbs. The species' life history is slow compared to other Arvicoline rodents: longevity is up to four years, age at sexual maturity is two years, and the species has 1-2 litters per year (Petrov 1992, B. Kryštufek pers. comm. 2006).","It tends to inhabit isolated, inaccessible areas that are subject to little human disturbance. However, interspecific competition with another native rock-dwelling vole, Chionomys nivalis, may possibly pose a threat (Kryštufek 1999, Kryštufek et al. 2007). There has been no research and monitoring to determine whether this is a major threat, or whether this is occurring over a long time period - there is only anecdotal evidence from the southernmost locality (B. Kryštufek pers. comm. 2006).","The species occurs in several protected areas within its range. There is some national legislation in at least parts of its range. There is an urgent need to establish a long term monitoring program, and to determine the extent of competition with the European snow vole.","Kryštufek, B." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Ellobius talpinus,"Up to four subspecies are recognized, but eastern forms need taxonomic revision (Gromov and Erbaeva 1995).",No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)This species has a wide range. Population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers), as the species is described as common in at least parts of its range. Although declines have been reported in some parts of the range, it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern. However, in Ukraine this species is considered to be threatened.",-,"Steppe grassland and semi-deserts in SE Europe, Kazakhstan (except SE Kazakhstan) and Turkmenia. Sometimes found in forest-steppes.","Common throughout most of the range. In some parts it is abundant on cultivated lands, especially along forest belts, where one hectare could be inhabited by 15 family groups. In some parts in Russia and Kazakhstan it is a considerable pest. The population in Ukraine is fragmented and declining owing to cultivation of steppe areas. It has been extirpated from areas between Dnieper River and Lugansk region, and from the Dnieper to Crimea (I. Zagorodnyuk pers. comm. 2006).","A typical subterranean steppe mammal. Lives in large groups, digs complex burrows which may be inhabited by around ten animals. Colonies are very mobile. Burrow entrances usually sealed with soil. Feeds on subterranean plant parts. Nesting chambers (especially winter ones) and foraging chambers are usually about 4 meters underground. Seldom emerges above ground (usually only to clear soil from the burrow or to disperse, rarely for feeding). During dispersal could cover distances up to 800 meters. No real hibernation, but in winter as well as during summer heat and drought, activity declines significantly. During the warm period of the year gives birth to two litters with 2-3 young in each.","Cultivation of steppe habitat, fragmentation of social groups and populations.","As the species is abundant across most of the range and even sometimes a considerable agricultural pest, there have been no conservation measures in Russia and Kazakhstan. Ukrainian populations are severely fragmented and recently Ellobius talpinus was included in new edition of the Ukraine Red Data Book.",Katerina Tsytsulina and European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Lagurus lagurus,It is the only species in the genus Lagurus.,No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)This species has a wide range. Population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers), as the species is described as common in at least parts of its range. Although declines have been reported in some parts of the range, it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern. However, in Ukraine this species is considered to be threatened.",-,"Distributed in plain and mountain steppes and semi-deserts in Eurasia from Dnepr River to Tuva and to Tien Shan in the south. Occurs from sea level to 2,800 m.","A typical steppe rodent. Very abundant at the beginning of the 20th century in Ukraine (Migulin 1938), but now restricted to easternmost regions. In Russia populations are fragmented, but the species remains a considerable pest of arable and pasture land. Declines in some populations may be related to climate change, specifically to increasingly moist conditions. Since the 1960s, irrigation and planting of trees to protect fields has changed the microclimate for this species.","Inhabits steppes and semi-deserts, where it forms large colonies that dig branched burrows extending over hundreds of square meters. Feeds on narrow-leaved cereals and absinths. Also consumes bulbs, tubers and sometimes insects. Breeds up to six times a year, with 5-6 young in each litter (maximum 14). Marked population fluctuations are a characteristic feature of this species; during population peaks it is nomadic.",Destruction and alteration of habitats by humans (including climate change); pesticides.,"It is an abundant species throughout most of the distribution area, but is listed as Critically Endangered in Ukraine where it partly inhabits protected areas.","Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel, Igor Zagorodnyuk" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Lemmus lemmus,,Yes,No,LC,,LC,,A common and widespread species with no major threats.,Possibly Favourable,"The Norway lemming is endemic to Norway, western and northern Sweden, northern Finland, and the Kola peninsula (Russia). It is found on at least some islands. During population outbreaks, it may migrate as far as the Baltic (Hansson 1999). The southern border of the range is not stable due to large migrations that occur occasionally.","It is a widespread and generally common species within much of its range, although populations undergo major fluctuations in density. The species declined in Sweden in the last decades of the 20th century, but it is thought to have remained stable in other parts of its range (Hansson 1999). It is typical for northern lemmings to have population booms every 20-30 years. In Sweden, intensive grazing was thought to be a problem for the species, but perceived population declines may have been a result of natural population fluctuation: long low phases are common for populations in Sweden, and some large populations have been found in Sweden in recent years (H. Henttonen pers. comm. 2006).","It inhabits a variety of alpine and subarctic habitats including peat bogs, dwarf shrub heaths, and sparsely-vegetated slopes and ridges. Habitat use varies seasonally: in summer it prefers very moist habitats, whereas in winter it must use other habitats as wet areas freeze. During mass outbreaks, it can be found in forests, farmland, and even on frozen lakes. Large numbers of migrating lemmings may accumulate next to rivers and lakes that bar their passage, and many drown attempting the crossing (Hansson 1999).","It has been speculated that heavy grazing by semi-domesticated reindeer may have a negative impact on the species' habitat in Sweden (Hansson 1999). Climate change may threaten the species in the future (Nowak 1999). At present, the species is not under major threat.",The species occurs in a number of protected areas. No specific conservation actions are recommended.,"Henttonen, H." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Lemmus sibiricus,"This species was formerly broadly defined to encompass not only most Palearctic forms but also North American populations now considered to be a separate species, L. trimucronatus (Wilson and Reeder 2005). Now three subspecies are recognised: L. s. sibiricus Kerr, 1792 (found in most of the distribution area), L. s. novosibiricus Vinogradov, 1924 (endemic to New Siberia Island) and L. s. portenkoi Tchernyavsky, 1967 (endemic to Wrangel Island).",No,No,LC,,NE,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)A common and widespread species with no major threats. Classed as Least Concern.,-,Distributed across the Palaearctic tundra zone from the White Sea to Kolyma (Russian Federation); also found on New Siberia Island and Wrangel Island.,A widespread and common species; has marked population cycles with periodicity of 3-4 years.,"An abundant species in tundra habitats. Populations reach maximum densities in lowland tundra with substantial moss and sedge cover. Also distributed in wetlands on shrubby tundra foothills, and in wetlands at the edge of the forest zone (Arkhangelsk, Northern Urals, Gyda peninsula, Taimyr). Lives in burrows, forming large colonies. Digs its own burrow, or occupies existing burrows of other species. In winter makes tunnels under snow cover and builds large spherical nests. Feeds on sedges, cotton-grass, green mosses and various shrubs. Reproductive peak starts in June and ends in August, however, during periods of low population density reproduction is extended and starts immediately after snowmelt. Animals that have overwintered die off by the end of the following breeding season. During summer produces 4-5 litters with 5-6 young in each. Like Lemmus lemmus, this species has large population fluctuations with a 3-4 year cycle; however, migrations are less pronounced. In summer dispersal occurs and preferred foraging habitat changes.",There are no major threats to this species known at present. Climate change may be a problem in the future.,The species occurs in several protected areas.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Mesocricetus newtoni,,Yes,No,NT,,NE,,"The species has a restricted range, but its extent of occurrence is greater than 20,000 km². The area of occupancy is not known, but is suspected to approach the 2,000 km² threshold for Vulnerable. The species is adversely affected by agricultural intensification, and is inferred to be decreasing, although there are no quantitative data on population trend. Consequently it is assessed as Near Threatened. If new information shows that the area of occupancy is below 2,000 km², uplisting to Vulnerable (criterion B2) should be considered. However, if the population trend is conclusively determined to be stable, downlisting to Least Concern may be warranted.",-,"Mesocricetus newtoni is a European endemic. It is restricted to lowlands (up to 460 m) along the right bank of the lower Danube river in northern Bulgaria and Romania, Dobrudja (Vohralík 1999). Its extent of occurrence is small (<50,000 km2), but its area of occupancy is unknown.","It is uncommon throughout its small range. Population densities fluctuate, but outbreaks are localised and infrequent. Long-term population trends have not been quantified but are believed to be declining. In Romania, the population was estimated at around 3,000 mature individuals (Murariu 1995).","It is found in relatively dry habitats including barren, rocky steppe and steppe grassland, Medicago, Taraxacum and cereal fields, vineyards, gardens, and scrubby slopes (Vohralík 1999). Its diet is probably similar to that of other hamster species.","The main threat is habitat loss and degradation as a result of intensive agriculture. The agricultural utilisation of abandoned fields and steppe-like habitat is very likely to have a negative impact on the species (V. Vohralik pers. comm. 2006), although the species does inhabit some anthropogenic habitats. In Dobrudja intensive agriculture is ongoing (I. Coroiu pers. comm. 2006), and agricultural intensification may have increased since the accession of Romania to the European Union.","It is listed on Appendix II of the Bern Convention. Monitoring is required to determine population trends in this poorly-known species; if there is evidence of declines, appropriate conservation measures should be instated (Nechay 2000). The species is included on the Red Lists of Romania and Bulgaria, and is protected by Romanian legislation.","Coroiu, I. & Vohralík, V." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus agrestis,Molecular evidence suggests this may be two species (Jaarola and Searle 2002).,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A widespread and common species with no major threats.,Possibly Favourable,"The field vole is a widespread Palaearctic species, ranging from western Europe eastwards through Russia to Lake Baikal in south-east Siberia. In Europe, it is present in Great Britain and western, central and northern parts of the continent, but absent from Iceland, Ireland and southern Europe (Zima 1999, Shenbrot and Krasnov 2005). It occurs from sea level to 2,100 m in the Alps (Spitzenberger 2002).","It is generally common, although it may be locally rare in marginal parts of its range in western and central Europe. In some areas, population density fluctuates markedly over a cycle of approximately three to four years. In peak years it can cause damage to pastures, orchards and forestry plantations (Zima 1999).","It occurs in a wide range of habitats including grasslands, woods, upland heaths, dunes, marshes, peat-bogs and river-banks, tending to prefer damp areas. It occurs in a number of anthropogenic habitats including meadows, field-margins and young forestry plantations, but is absent from heavily grazed areas (Zima 1999). The field vole is predominantly herbivorous, feeding on grasses and herbaceous plants, and gnawing bark in the winter. Exceptionally, animal prey (e.g. dipteran larvae) are taken (Krapp and Niethammer 1982).",There appear to be no major threats to this species over much of its range.,The species is present in a large number of protected areas throughout its wide range. No specific conservation measures are required.,"Boris Kryštufek, Vladimir Vohralík, Jan Zima, Igor Zagorodnyuk" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus arvalis,The species consists of two allopatric chromosomal races (“arvalis” and “obscurus”: Wilson and Reeder 2005).,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This is a widespread and common species with no known major threats.,Possibly Favourable,"Microtus arvalis has a large range extending from Spain across much of western, central and eastern Europe to the Middle East and central Russia (Shenbrot and Krasnov 2005). Isolated populations exist in Iberia, Guernsey and the Orkney Islands. It is absent from much of southern Europe, Fennoscandia, northern Russia, Iceland and the British Isles (with the exception of the Orkney Islands, where it was introduced prehistorically). The species occurs from sea level to 2,600 m (Spitzenberger 2002).","It is a common species throughout much of its range, with population densities of over 1,000 individuals per ha reported in peak years. Population densities may fluctuate markedly from year to year. In most areas, populations are apparently stable, although the Orkney subspecies Microtus arvalis orcadensis has declined in recent years (Macdonald and Tattersall 2001).","It is typically found in dry, open habitats such as natural alpine grassland above the timber line (Spitzenberger 2002), grazed pastures, arable land, field margins and meadows. Wet grassland and tall grasses are avoided. It feeds mainly on the green parts of grasses and herbaceous plants, and is a serious agricultural pest in some areas (Zima 1999).",The decline on Orkney has been attributed to land-use changes (Macdonald and Tattersall 2001). Elsewhere it is not under threat.,"The species is present in many protected areas. It is often considered a pest as it damages crops. On Orkney, despite recent declines the vole remains abundant, and simulation modelling suggests that the population is likely to remain viable without requiring specific conservation measures (Macdonald and Tattersall 2001).",Giovanni Amori -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus bavaricus,"Microtus bavaricus is part of Microtus multiplex species-complex. Its formerly continuous range in the Alps was split into three parts during the last glaciation which led to the evolution of three species: Microtus liechtensteini (south of the Alps east of the river Adige and Balkan mountains), Microtus multiplex (south of the Alps west of the river Adige), and M. bavaricus (north of the Alps in a small refuge in Bavaria and Northern Tyrol) (Haring et al. 2000, Spitzenberger et al. 2000, Spitzenberger 2002, Musser and Carleton 2005, Martinkova et al. 2007).",Yes,No,CR,B1ab(iii)+2ab(iii),CR,B1ab(iii)+2ab(iii),"This species is restricted to one location, which is severely fragmented and under threat from habitat loss. There are confirmed extinctions of populations in Germany, and good certainty that the species is restricted to the one known location. There remains some doubt about the validity of this population as a distinct species, but current research indicates that it is valid.",Unfavourable,"Microtus bavaricus is endemic to the Northeastern Alps. Previously it was known from only one location in the district of Garmisch-Partenkirchen, Bavaria, Germany. The last record of the species at this site was in 1962. A population discovered in Northern Tyrol, Austria in 1976/1977 was much later (2000) assigned to Microtus bavaricus based on genetic and karyological analysis (Haring et al. 2000, Spitzenberger et al. 2000). This population was confirmed to exist there still in 2004. Genetic and karyological analyses of both captured individuals and museum specimens have confirmed that the Austrian population belongs to Microtus bavaricus (Haring et al. 2000, Spitzenberger et al. 2000, Martínkova et al. 2007). Intensive surveys in Germany have failed to find the species, and both of the former known sites have been lost (one as a result of urbanization, the other due to deforestation and the replacement of natural vegetation with fertilized pasture)(H. Meinig pers. comm. 2006). The species is now known only from Rofan Mountain, Northern Tyrol, Austria where it occurs in altitudes between 730 and 1,100 metres a.s.l. Given the extensive surveys that have been carried out, the species is unlikely to be found elsewhere (F. Spitzenberger pers. comm. 2006).",Fewer than 50 individuals have been collected (F. Spitzenberger pers. comm. 2006).,"The original site was in an area of Alpine meadows. However, the species was rediscovered in an open mixed forest dominated by spruce with abundant brooks (F. Spitzenberger pers. comm. 2006).","Habitat at the type locality was lost following the construction of a hospital. The forests in which M. bavaricus lives in Northern Tyrol were used probably since medieval times as cattle pasture. This practice stopped in 2005, when in parts of the valleys the forest was replaced by fertilized and fenced cattle pastures. Through this M. bavaricus lost large parts of its known habitat. Habitat loss is expected to go on, as the open forests will become denser through lack of cattle browsing and intensification of forestry practices (F. Spitzenberger pers. comm. 2006).","The single site at which the species is known to occur is not protected, although the species has been legally protected under the local Tyrolean provincial law since 2006. There is no current national or EU legislation, but the species is strictly protected under Appendix II of the Bern Convention. There are currently no management plans in place (F. Spitzenberger pers. comm. 2006). Recommended conservation actions include the following: conduct surveys to determine the size and distribution of the rediscovered population; continue searching similar sites in the German and Austrian Alps to look for other populations; protect habitat at the rediscovery site.","Spitzenberger, F., Zima, J., Meinig, H. & Vohralík, V." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus brachycercus,"The validity of this species needs to be confirmed (Wilson and Reeder 2005, G. Amori pers. comm. 2006).",Yes,Yes,LC,,LC,,"The distribution of this species is not well known, and there is continued work on its taxonomic validity. It is probably common and not declining, so there is no reason to think that with further information this species would qualify as threatened. Therefore listed as Least Concern.",Possibly Favourable,"This species is known from southern Italy, Calabrian Peninsula, Camigliatello Silano (Wilson and Reeder 2005). Genetic data also indicates that the species occurs in Abruzzo region of central Italy (Castiglia et al. 2008; G. Amori pers. comm. 2006). The distribution limits between M. savii and M. brachycercus require clarification.","Like Microtus savii, to which it it closely related (indeed perhaps conspecific), it is likely to be widespread and abundant within its range, with a stable population trend (G. Amori in litt. 2006).","It is found in the majority of terrestrial habitat types, with the exception of high mountains, dense woodlands, and some very sandy, rocky or wet areas. It occurs in many anthropogenic habitats including pastures, arable land, gardens, and urban areas.",No major threats are known.,The species is found in protected areas. Research is required to clarify the taxonomy of this species.,"Amori, G." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus cabrerae,Its phylogenetic position was studied by Jaarola et al. (2004).,Yes,Yes,NT,,NT,,"This species has an area of occupancy that is small and potentially in decline (Pita et al. 2007). If the area of occupancy is measured based on 2x2 km grid squares (as recommended in the Red List Guidelines), the area of occupancy is likely to exceed 2,000 km2, but potentially not by much. Assessed as Near Threatened under criterion B2.",Unfavourable,"Microtus cabrerae is endemic to the Iberian peninsula (Portugal and Spain), where it has a fragmented range (Palomo 1999, Shenbrot and Krasnov 2005). It occurs from 0 to 1,500 m, although it is most common below 1,200 m (Palomo and Gisbert 2002, R. Pita unpublished data).In Spain, populations in the south have recently disappeared (Muñoz, L.J.P. pers. comm.2007).","Many subpopulations are small, fragmented, and subject to major inter-annual fluctuations (Palomo and Gisbert 2002, Mira et al. 2005). Subfossil remains have been found outside the species' current distribution, suggesting a range contraction (Palomo 1999), and it is considered that the species occupies a relict distribution (Palomo and Gisbert 2002). Population densities are moderate by comparison with other arvicoline rodents, typically varying between 17 and 350 individuals per hectare (Palomo and Gisbert 2002). The species is often found in isolated patches inhabited by a few individuals, often an adult couple and its offspring.","It occurs in pastures, fields and open clearings in woodland, tending to prefer damper areas than the common vole. It is often found in proximity to water (Palomo 1999) and on road verges (Santos et al. 2006, Pita et al. 2006). Meadows and perennial grassland communities are the most favourable microhabitats for this species (Santos et al. 2005).","Agricultural intensification, including overgrazing, has presumably contributed to range contractions and fragmentation over the last few decades (Palomo 1999). There is increased pressure on streams and other wetland areas the species occurs in. There is suspicion that interspecific competition with Arvicola sapidus may be a problem (Pita et al. 2006).",The species occurs in protected areas in both Portugal and Spain. It is protected under the Bern Convention (Appendix II) and the EU Habitats and Species Directive (Annex II and Annex IV).,"Fernandes, M., Pita, R. & Mira, A." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus duodecimcostatus,,Yes,Yes,LC,,LC,,"A common species, which is considered an agricultural pest across its range.",Possibly Favourable,"Endemic to the western Mediterranean, where it occurs in the Iberian Peninsula (everywhere except the north-west) and southern France (Shenbrot and Krasnov 2005). It is found from sea level to 2,250 m (Palomo 1999).","It is widely distributed throughout its geographic range, and can reach high enough densities in some areas to be considered an agricultural pest (particularly in orchards). Population densities of 400-600 individuals per ha exceptionally have been recorded, but lower densities are more typical (le Louarn and Quéré 2003).","It occurs in open habitats with relatively deep, loose soil, where it constructs underground burrows (Palomo 1999). It occurs in a number of anthropogenic habitats, including pastures, arable land, and orchards. It is also found in shrubland (le Louarn and Quéré 2003).","Pest control can cause very significant local population declines (Palomo 1999). However, there is no evidence of global declines as a result of this.",It occurs in a number of protected areas across its range.,"Aulagnier, S. & Palomo, L.J." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus felteni,"Formerly considered a subspecies of Microtus savii, but now regarded as a separate species (Wilson and Reeder 2005)",Yes,Yes,DD,,DD,,"The species is endemic to the Mediterranean region and is restricted to a relatively small area. It is naturally rare, and there is some indications of shrinkage in the southern parts of its range; in Greece the species is certainly declining, perhaps by as much as 20-25% over the last ten years. However nothing is known of the status of populations in the northern parts of its range. There is a need for more information on the species' population, habitat requirements and ecology, therefore currently assessed as Data Deficient.",Unknown,"Microtus felteni occurs in southern Serbia, F. Y. R. Macedonia, Albania and northern Greece (Shenbrot and Krasnov 2005), where it has been recorded from 360-2,050 m (Kryštufek 1999). The species occurs in a relatively narrow range.",It is a little-known and rare species throughout its relatively small range. Population trends are not known. There is some evidence of range shrinkage in the south of its range indicating population declines (Greece) (C. Stamatopoulos unpublished data). The species has been rarely collected and is known from only around fifteen localities.,"It is primarily known from mountain forests, although it is very occasionally found on arable farmland at lower altitudes (Kryštufek 1999). This species is poorly known, but is likely to have a broad habitat tolerance (B. Kryštufek and V. Vohralík pers. comm. 2006).",No major threats are known. The species is not likely to be affected significantly by habitat loss (B. Kryštufek and V. Vohralík pers. comm. 2006).,"Some of the known records are from protected areas. Research on population status and trends, habitat requirements and ecology are required.","Mitsain, G. & Kryštufek, B." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus gerbei,"Some authors consider Microtus pyrenaicus a synonym of Microtus gerbei, although there is debate about which name is appropriate (Musser and Carleton 2005).",Yes,No,LC,,LC,,"A common species within its range, particularly in western areas. No major threats.",Possibly Favourable,"Microtus gerbei is endemic to the western Mediterranean, where it occurs in northern Spain and western and central France (Shenbrot and Krasnov 2005). It occurs from sea level up to 2,000 m in the Pyrenees (Palomo 1999).","It is locally abundant in at least parts of its range, reaching densities of up to 100 individuals per hectare (Palomo 1999). It is most abundant in western France (S. Aulagnier pers. comm. 2006).","At lower altitudes, it is found in pastures and arable land, whereas in the mountains it inhabits grassland and rocky woodland edges. Relatively cool (15º - 16º annual medium temperature) and dry areas are preferred (Palomo and Gisbert 2002). It is a fossorial species, although it burrows less in mountainous areas (Palomo 1999).",No major threats are known.,Occurs in some protected areas. No specific conservation measures required.,"Aulagnier, S. & Palomo, L.J." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus gregalis,"The only representative of the subgenus Stenocranius. Complex subspecies structure with 11-15 subspecies. Taking into consideration fragmented range and morphological variation, Microtus gregalis probably represents a complex of closely related species. Taxonomic revision is necessary.",No,Yes,LC,,NE,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)A widespread and abundant species with no major threats.,-,"Distributed in several separated regions: in tundra and forest-tundra from White Sea to Kolyma River; in Alaska peninsula; in steppes of Kazakhstan, Kyrgizia, SW Siberia, Yakutia, Mongolia and Northern China. It occurs at altitudes of up to 4,000 m.",Populations undergo fluctuations in density; in mountainous areas populations are patchy and density varies.,"Inhabits tundra, plains and mountain steppes and meadows. In the forest zone (including mountain forests) and semideserts it occupies open grassy areas. It reaches maximum density in cereal and grass steppes, and alpine and water meadows. Lives in groups, during periods of high population density may form colonies. Feeds on various wild and cultivated plants, tends to prefer legumes. Reproductive period lasts throughout the warmer months of the year; in tundra zones reproduction often starts under snow cover (in Karsk tundra in February-March). Has up to 5 litters per year in southern parts of the range, and up to 4 in mountains and northern areas. Litter size is usually up to 12 young. Considerable pest of crops in Siberia and Kazakhstan and pastures in Central Asia. A natural carrier of several diseases including encephalitis, plague and rabbit fever.",There are no major threats to the species.,The species occurs in several protected areas.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus guentheri,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A widespread and common species with no major threats. It is tolerant of a range of habitat types, both natural and man-made.",Possibly Favourable,"Microtus guentheri is restricted to the south-east Balkans and Turkey and Northern Libya. Within Europe, it has a discontinuous range in southern Serbia (Serbia and Montenegro), F. Y. R. Macedonia, parts of southern and eastern Greece, southern Bulgaria, and Turkish Thrace, and has been recorded from 150 m to 500 m above sea level (Kryštufek 1999, Shenbrot and Krasnov 2005).","In Europe, it occurs in scattered subpopulations which often undergo large fluctuations with steep declines. However, local extinctions have not been recorded. The species is considered locally common in parts of the Balkans. In Asiatic Turkey, very high population densities have been recorded in peak years (Kryštufek 1999).",It inhabits dry grasslands with sparse vegetation on well drained soil. These include both natural and man-made habitats (e.g. dry meadows and pastures) (Kryštufek 1999).,No major threats.,"A lowland species, therefore across most of its range it does not occur in protected areas. In some parts, however, it does occur in protected areas (for example in Greece). No conservation measures are required - this species is considered an agricultural pest.","Boris Sheftel, Vladimir Vohralík" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus levis,"Synonyms include M. rossiaemeridionalis, M. subarvalis and M. epiroticus (Wilson and Reeder 2005).",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A widespread and common species, tolerant of a wide range of habitat types. No major threats are known. Consequently it is classed as Least Concern.",Possibly Favourable,"Microtus levis has a large range extending from east and south-east Europe eastwards across Russia and Asia Minor to Lake Baikal in Siberia. It has been introduced to the Svalbard (Zima 1999, Shenbrot and Krasnov 2005). In Europe, its range includes the Balkan peninsula, Ukraine, Belarus, the Baltic and southern Finland. A lowland species, it is recorded from 60 m to 1,100 m (Petrov and Ružić 1982).","It is a relatively common species. Population densities fluctuate on an annual basis, and peak densities of as high as 200,000 burrow openings per hectare have been recorded in F. Y. R. Macedonia (Zima 1999).","It occurs in a range of habitats including farmland, meadows, and open woodland. In southern parts of its range it tends to occur in damp habitats in close proximity to rivers and lakes (Zima 1999).",No major threats are known.,It occurs in protected areas throughout its range. No specific conservation actions are needed.,"Igor Zagorodnyuk, Heikki Henttonen, Boris Kryštufek" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus liechtensteini,"This species is closely related to Microtus multiplex, and has been previously considered synonymous (Wilson and Reeder 2005).",Yes,No,LC,,LC,,"This species is relatively widespread, with a presumed large population, no major threats, and no known declines. It is listed as Least Concern.",Unknown,"Endemic to Europe, where it occurs in Austria, eastern Italy, Slovenia, Bosnia, and Croatia. In Austria, it is found in two isolated localities and also found along the Italian and Slovenian border (Spitzenberger 2002). Its altitudinal range is from sea level to 1,700 m (B. Kryštufek pers. comm. 2006). One record for Serbia (B. Kryštufek pers. comm. 2007)","It is locally common in at least parts of its range, and there is no evidence of population decline (Kryštufek 1999).","It inhabits pastures, meadows, open woodland and woodland clearings, preferring open areas with dense herbaceous vegetation to mature forest. In the high mountains it is also found in dwarf pine Pinus mugo, and in the coastal lowlands it occurs dry meadows, vineyards, and hedgerows (Kryštufek 1999).","There are no major threats to this species. It is sometimes considered a pest, and is controlled through poisoning.",This species is found in protected areas. No specific conservation actions are recommended.,"Spitzenberger, F., Amori, G., Hutterer, R., Kryštufek, B., Yigit, N., Mitsain, G. & Palomo, L.J." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus lusitanicus,,Yes,No,LC,,LC,,"This species is relatively widespread, with a presumed large global population, no major threats, and no known declines. It is listed as Least Concern.",Unknown,"Microtus lusitanicus is endemic to Europe, where it occurs in central and northern Portugal, northwest Spain, and in the extreme south west of France. It has been recorded from sea level to 2,050 m (Palomo 1999, Mira and Mathias in Palomo and Gisbert 2002, Shenbrot and Krasnov 2005, S. Aulagnier pers. comm. 2006).","It is very abundant, and is considered an agricultural pest in orchards in some parts of its range. Population densities appear relatively constant, with no cyclic fluctuations. In Spain, there have been no studies on population dynamics in natural habitats, but in orchards population densities of 100-200 individuals per hectare are typical (and exceptionally densities greater than 300 individuals per hectare have been recorded) (Palomo and Gisbert 2002).","It is found in a diverse range of habitat types, including natural habitats (borders of small rivers, chestnut and oak woodland) and agricultural areas (pastures, arable land, rice fields, and orchards). It requires soft and humid soils with dense vegetal cover, where it constructs its burrows. It is often found near to small stone walls (Palomo 1999, Palomo and Gisbert 2002). There are 2.2 young per litter (le Louarn and Quéré 2003).",There are no major threats to the species. Pest control measures can cause local population declines (Palomo 1999).,It occurs in a number of protected areas within its range. No specific conservation measures are recommended.,"Aulagnier, S., Amori, G., Hutterer, R., Kryštufek, B., Yigit, N., Mitsain, G. & Palomo, L.J." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus middendorffii,This taxon is sometimes considered to include M. hyperboreus (Pavlinov et al. 2002).,No,Yes,NA,,NE,,"European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Evaluated (NE)A widespread and common species with no major threats. It is of marginal occurrence in Europe, and consequently is assessed as Not Applicable.",-,Arctic and subarctic waterlogged tundra from the Ural Mountains to the Kolyma lowlands (Russian Federation).,"Data on population size are lacking, but as in most rodent species populations fluctuate. Severe springs may cause population reduction; heavy rains and floods cause short-distance migrations.","Inhabits waterlogged tundra, sedge and Sphagnum marshes, waterlogged banks; avoids anthropogenic landscapes. Lives in colonies with shallow burrows in dry areas. Nest chambers are usually sited on hillocks, on the ground, or on shrub branches. The species feeds on sedges, leaves and stalks in summer and roots in winter. Reproduction occurs from May to August, in favourable years from March til October. Females that have overwintered give birth to up to 3 litters per year. In the Urals fecundity is lower than in Yakutia.",There are no major threats to this species.,This species occurs in several protected areas.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus multiplex,"Eastern populations are now considered as a separate species, M. liechtensteini (Wilson and Reeder 2005).",Yes,No,LC,,LC,,"This species is relatively widespread, with a presumed large global population, no major threats, and no known declines. It is listed as Least Concern.",Possibly Favourable,"Microtus multiplex is endemic to Europe, where it occurs in the southern part of the Alps, from southeast France through Switzerland to northern Italy (Shenbrot and Krasnov 2005). It has been recorded from sea level to 2,800 m (Hausser 1995, Kryštufek 1999). Populations further east (e.g. in Austria, eastern Italy, Slovenia, Bosnia, and Croatia) are now referred to as a separate species, Microtus liechtensteini (Spitzenberger 2002, Wilson and Reeder 2005).","It is locally common in at least parts of its range, and there is no evidence of population decline. The local abundance can be high, up to 100 individuals per hectare in southern France (le Louarn and Quéré 2003).","It inhabits pastures, meadows, open woodland and woodland clearings, preferring open areas with dense herbaceous vegetation to mature forest. In the high mountains it is also found in dwarf pine Pinus mugo, and in the coastal lowlands it occurs in dry meadows, vineyards, and hedgerows (Hausser 1995). The species eats roots and bulbs, and can feed on grasses (le Louarn and Quéré 2003). The number of young averages 2.7 in Switzerland (Salvioni 1986).","There are no major threats to this species. It is sometimes considered a pest, and is controlled through poisoning (Kryštufek 1999).",This species occurs in protected areas within its range. No specific conservation measures are recommended.,"Aulagnier, S., Amori, G., Hutterer, R., Kryštufek, B., Yigit, N., Mitsain, G. & Muñoz, L.J.P." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus oeconomus,Small isolated subpopulations are considered separate subspecies (e.g. Netherlands and the Pannonian population).,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)Globally, the species is common and widespread and is not considered threatened. In southern parts of the species' range in Europe isolated populations are declining. The species is naturally fragmented. Population decline is due to habitat degradation and loss. In central Europe decline is considered serious, however in Baltic countries the population is increasing and expanding. Overall in Europe the species is not considered threatened. However, isolated subspecies (arenicola and mehelyi) are declining at a rate that may be high enough to merit a threatened assessment.",Possibly Favourable,"Microtus oeconomus is a Holarctic species, with a wide range extending from north-west Europe in the west to Alaska in the East. In Europe, its main range extends from eastern Germany and northern Fennoscandia through Poland, Belarus, and northern and central European Russia. Isolated relict populations are found in the Netherlands, southern Scandinavia, the Finnish coast, and Austria, Slovakia and Hungary (van Apeldoorn 1999, Shenbrot and Krasnov 2005). A lowland species (occurs up to at least 1,300 m: EMA Workshop 2006).","Range and population declines are evident in parts of Europe, although the species is stable or increasing in other areas. The species' range is contracting along its south-west edge in Poland, and relict populations in Hungary, Austria, Slovakia and the Netherlands are diminishing (van Apeldoorn 1999). In other areas, populations are stable (albeit with cyclic fluctuations in Fennoscandia and central Europe), and in Lithuania the population is increasing and expanding into new areas (van Apeldoorn 1999, L. Balciauskas and R. Juškaitis pers. comm. 2006).","It typically inhabits damp, densely-vegetated areas, in close proximity to water. Wet meadows, bogs, fens, riverbanks and flooded shores are all important habitats (Tast 1982, van Apeldoorn 1999).","In the Netherlands, population declines have been attributed to a combination of habitat degradation and competitive exclusion (van Apeldoorn 1999). The population in Slovakia has shown population declines which are attributed to habitat destruction caused by the construction of the Danube River Dam (EMA Workshop 2006). Degradation of wetlands due to agricultural expansion is a further threat.","It is listed on Appendix III of the Bern Convention. Subspecies arenicola (from the Netherlands) is listed on Annex II of the EU Habitats and Species Directive, and both M. oe. arenicola and M. oe. mehelyi (the latter from Austria, Hungary and Slovakia) are listed on Annex IV. Recommended conservation measures include conducting surveys to determine the size and distribution of the isolated population, and defining management plans to maintain and improve the habitat (F. Spitzenberger pers. comm. 2006)","Rimvydas Juškaitis, Boris Sheftel, Holger Meinig, Giovanni Amori, Heikki Henttonen" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus savii,,Yes,No,LC,,LC,,A widespread and abundant species with no major threats. The population trend is stable. It therefore is listed as Least Concern.,Possibly Favourable,"Microtus savii is endemic to Europe, where it is found throughout northern Italy (with the exception of the extreme north-east, but including Sicily). It occurs marginally in southern Switzerland. It occurs from sea level to 2,000 m. Some southern Italian populations previously ascribed to this species have been described as a new species, Microtus brachycercus (Contoli 1999, Castiglia et al. 2008). The distribution limits between M. savii and M. brachycercus require clarification.","It is a widespread and abundant species, dominating small mammal communities within its range, and providing a key food source for many predators. Periodic population booms occur in cultivated areas, and the species is considered an agricultural pest. The long-term population trend appears to be stable (Contoli 1999).","It is found in the majority of terrestrial habitat types, with the exception of high mountains, dense woodlands, and some very sandy, rocky or wet areas. It occurs in many anthropogenic habitats including pastures, arable land, gardens, and urban areas (Contoli 1999).",No major threats.,The species is found in protected areas. The Sicilian subspecies (nebrodensis) needs more genetic investigation to determine its taxonomic status.,"Amori, G." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus socialis,"Six or seven subspecies are recognized, some of those have isolated ranges and their taxonomic status might need revision.",No,Yes,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)A widespread species with no major threats. However, several isolated populations in N Ossetia, Kalmykia and Astrakhan regions, Armenia, Syria and China might need special attention.",-,"""The species is distributed in plains and low mountain dry steppes from the Dnepr River and Crimea east to Lake Balkhash and NW Xinjiang in China, south through Caucasus and E half of Turkey (Kizilirmak River may be W boundary) to NW Syria, Lebanon (restricted to Mt Lebanon), N Iraq, and NW Iran"" (Wilson and Reeder 2005). The range is fragmented. All the isolated populations are represented by separate subspecies. In the European part of the range two subspecies are present: Microtus socialis nikolajevi Ognev, 1950 from left bank of Dnepr to the Crimea and SE Rostov district; Microtus socialis parvus Satunin, 1901 in cis-Caucasia, Stavropol region, Krasnodar Territory and Dagestan.","It is a common species with relatively stable populations, with some population fluctuation from year to year. Considered as one of the main pests in agricultural landscapes. However high population densities are recorded only in long-fallow lands, winter crops and herbs, and in natural sites with dry-steppe vegetation. Population peaks tend to occur in years with humid summers and repeated warm winters (Gromov and Erbaeva 1995).","Lives in complex colonies formed by polygynic families. Burrowes are complex, but shallow, with a number of entrances and living and storage chambers. Above-ground activity is limited, especially in summer. This species mainly feeds on cereals and legumes. In autumn seeds predominate in the diet. May occasionally feed on insects and molluscs. Reproduction occurs year round, females produce up to five litters with 6-8 young in each.","Widespread and abundant in the most of the range. However, several isolated populations (e.g. M.s. gorensis and M.s. astrachanensis) are declining because of desertification and landscape degradation due to overgrazing (Shilova 1995). These changes can be reversed through steppe vegetation restoration (Kasatkin et al. 1998).","There are no special conservation measures, however the species occurs in several protected areas.","Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel, Igor Zagorodnyuk" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus subterraneus,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A widespread and abundant species. It occupies a wide range of habitats, and faces no known major threats. The long-term population trend is thought to be stable. For these reasons it is assessed as Least Concern.",Possibly Favourable,"Microtus subterraneus occurs primarily in Europe, where it occupies central regions from the Atlantic coast of France to European Russia, and the Balkan peninsula. Isolated populations are found in Estonia and near St Petersburg, Russia. Outside Europe, its range extends into western Asia Minor (Turkey) (Shenbrot and Krasnov 2005). There are records of this species from sea level to 2,300 m (Kryštufek 1999).","It is widespread and common throughout most of its range. Despite fluctuations, the long-term population trend appears to be stable (Kryštufek 1999).","It is found in a broad range of habitats including broadleaf and coniferous woodlands, meadows and pastures, and rocky areas in the high mountains. It tolerates both dry and damp conditions (Kryštufek 1999).",No major threats.,It occurs in protected areas throughout its range. No specific conservation measures are needed.,"Boris Kryštufek, Vladimir Vohralík, Jan Zima, Igor Zagorodnyuk" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus tatricus,,Yes,No,LC,,LC,,"This species has a restricted range (area of occupancy less than 2,000 km²), but there is no evidence of population or range decline and the core range is protected. Currently considered Least Concern. However, if new information suggests that population, range, or habitat quality is declining, uplisting to Near Threatened or Vulnerable should be considered.",Possibly Favourable,"The Tatra vole is a European endemic. It is restricted to the Carpathian mountains of Slovakia, Poland, Romania and Ukraine, where it is found at altitudes of 650 to 2,350 m (Martínková and Dudich 2003, Shenbrot and Krasnov 2005). Its extent of occurrence is 18,322 km², and its area of occupancy is approximately 840 km2 (Martínková and Dudich 2003).","It is a rare species that occurs in isolated subpopulations. However, there is no evidence to suggest that range or numbers are decreasing at present. The total population has been estimated to number 200,000-250,000 individuals (Martínková and Dudich 2003), and is probably stable (N. Martínková pers. comm. 2006). There is very little information on the current status of subspecies M. t. zykovi in the Eastern and Southern Carpathians. Populations are severely fragmented. This is partly natural, as the species is restricted to an intrinsically fragmented habitat type (high mountains), but fragmentation may have been exacerbated by the loss of woodland in mountain valleys through human activities in historical times.","The Tatra vole is found in two types of habitat: first, humid areas in climax upper montane forest (usually located in inverse valleys); and second, humid rocky meadows in the subalpine zone. The species is never found outside natural habitats (e.g. in agricultural land). No population fluctuations or population outbreaks are known (Jurdíková et al. 2000, Martínková et al. 2004).","There are not thought to be any major threats causing significant declines at present. The species requires old, mature forests below the timberline, hence any logging in those areas would be harmful. Its habitat in the subalpine zone, above the timberline should be safe in the near future. Much of its range in the Slovak and Polish mountains falls within protected areas, and there are not thought to be any major developments planned in this area in the near future. However, forest habitat is sometimes lost through natural events (e.g. in 2004 a big storm in the High Tatras destroyed a large 1-2 km wide belt of forest at about 1,000 m above sea level, within the range of the vole: N. Martínková pers. comm. 2006).",It is listed on Appendix II of the Bern Convention. The core range of the species' range in Slovakia and Poland falls within protected areas. Habitat and population monitoring is required to ensure that the species is stable and not declining.,"Zima, J., Vohralík, V. & Martínková, N." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Microtus thomasi,"Sometimes considered as a subspecies of M. duodecimcostatus, but its specific status has been reconfirmed by analysis of karyotype, molecular genetics and molar pattern (Kryštufek 1999, Jaarola et al. 2004). A chromosomally polymorphic species; relationships are unknown (Wilson and Reeder 2005).",Yes,No,LC,,LC,,"A common species within its range, with no major threats known. Appears to be tolerant of habitat disturbance. Consequently it is assessed as Least Concern.If one of the races within this species is eventually raised to species level its restricted range may merit a threatened listing. However, more work is necessary to determine its taxonomic status.",Possibly Favourable,"Microtus thomasi is endemic to the south-eastern Balkans, including Bosnia and Herzegovina, Montenegro, mainland Greece, and the island of Euboea (Greece) (Shenbrot and Krasnov 2005). Its occurrence in Albania has now been confirmed (E. Giagia pers comm. 2007). Occurs from sea level to 2,000 m.","It is sporadic, but is considered locally common in at least parts of its range. Densities of 383 individuals per hectare have been recorded in Herzegovina (Bosnia and Herzegovina) (Kryštufek 1999). In some parts of its range it is considered a pest.","It prefers open areas with deep soil, in which it digs extensive burrows. Recorded habitats include meadows and pastures on karst limestone, and high mountain pastures. It is also found on arable farmland (Kryštufek 1999).",No major threats.,Not legally protected under international legislation. Known to occur in protected areas within Greece.,"Kryštufek, B. & Mitsain, G." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Myodes glareolus,Clethrionomys is a synonym of Myodes.,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A widespread and common species with no major threats.,Possibly Favourable,"The bank vole has a wide range in the Palaearctic which stretches from the British Isles through continental Europe and Russia to Lake Baikal. In the north, its range extends beyond the Arctic circle, and in the south it reaches northern Turkey and northern Kazakhstan (Shenbrot and Krasnov 2005). It is widespread in Europe, although it is absent from southern Iberia and the Mediterranean islands. It is found from sea level to 2,400 m (Spitzenberger 1999).","It is very common throughout much of its European range, with typical densities varying between approximately 6-12 individuals per hectare and 50-100 individuals per hectare (Spitzenberger 1999). Populations densities fluctuate from year to year. The long-term trend appears stable.","It inhabits all kinds of woodland, preferring densely-vegetated clearings, woodland edge, and river and stream banks in forests. It is also found in scrub, parkland, and hedges (Viro and Niethammer 1982, Spitzenberger 1999).",There are no major threats to this species at present.,It occurs in a number of protected areas throughout its wide range. No specific conservation actions are recommended.,"Giovanni Amori, Heikki Henttonen, Vladimir Vohralík, Igor Zagorodnyuk, Jan Zima, Boris Kryštufek, Rimvydas Juškaitis, Holger Meinig, Sandro Bertolino" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Myodes rufocanus,Clethrionomys is a synonym of Myodes.,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)Common and widespread with no major threats. Although there have been some declines in north-western parts of the range, it is not considered to approach the threshold for the population decline criterion of the IUCN Red List (30% over 10 years or 3 generations). Consequently assessed as Least Concern.",Possibly Unfavourable,"The grey-sided vole has a large range in the northern Palaearctic, extending from northern Fennoscandia through northern Russia to the Pacific coast and the islands of Sakhalin, Hokkaido and Rishiri (Sulkava 1999). It ranges as far south as northern parts of Mongolia, China and the Korean peninsula (Wilson and Reeder 2005). It occurs from the coast to at least 1,170 m in northern Fennoscandia (Henttonen and Viitala 1982).","It is a common species in northern Fennoscandia. The long-term trend is stable with cyclic fluctuations every 4-5 years (Sulkava 1999). In northern Fennoscandia (Fennoscandian taiga) and northern Russia it was previously common, but there have been declines since the mid-1980s (H. Henttonen pers. comm. 2006).","It inhabits coniferous forests and birch forests, where it tends to prefer rocky areas, and is also found in dry peat-bogs and subarctic dwarf shrub heathland. It has a herbivorous diet, feeding on vegetative parts of grasses, herbs and dwarf shrubs, and on berries (Henttonen and Viitala 1982, Sulkava 1999). The species can sometimes be found in high densities in clear-cut areas, and is often found on plains (B. Sheftel pers. comm. 2006).",There are not thought to be any major threats to this species at present. Declines in Fennoscandia may be linked to changes in forestry practices (H. Henttonen pers. comm. 2006).,"It occurs in a number of protected areas within its wide range. The population trend should be monitored, particularly in the north-western part of the range.","Boris Sheftel, Heikki Henttonen" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Myodes rutilus,Clethrionomys is a synonym of Myodes,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A common and widespread species. Although there may have been declines in some parts of its European range, it is not thought that these approach the thresholds for the IUCN Red List, even at the EU 25 level. Consequently it is assessed as Least Concern.",Unknown,"Myodes rutilus has a northern Holarctic distribution. It occurs in northern Fennoscandia, European Russia, Siberia, Sakhalin and Hokkaido islands (Japan), Alaska (USA) and Canada, at latitudes of 43-73 degrees north (Shenbrot and Krasnov 2005).","It is described as common in subarctic Fennoscandian birch woods. In northern parts of its European range, the long-term population trend is stable, with fluctuations on a 4-5 year cycle. In southern parts of its European range (e.g. in central Finland and Russian Karelia) the species is suspected to be declining (Sulkava 1999).","It is found in the subarctic birch forest zone and in northern parts of the boreal forest zone. It is more abundant in productive (eutrophic or mesotrophic) forests, with a dense understorey of grasses, herbs (especially Scrophulariaceae), or moss. It prefers mature old-growth forests and, unlike other Myodes species, it is absent from clear-felled areas (Sulkava 1999). It has a herbivorous diet, feeding on the green parts of grasses and herbaceous plants. In the autumn it stores seeds, especially of Scrophulariaceae (Sulkava 1999).","Suspected declines in southern parts of its European range have been attributed to increased clear-felling of old-growth spruce forest (Sulkava 1999, H. Henttonen pers. comm. 2006).","It receives no legal protection under international legislation. Occurs in a number of protected areas in its wide global range, including some in northern Fennoscandia.","Heikki Henttonen, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,CRICETIDAE,Myopus schisticolor,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species has a wide range. The population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers). Although there may have been some population declines as a result of logging, it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern.",Unknown,"Myopus schisticolor has a wide distribution in the northern Palaearctic, ranging from western Norway, through Sweden and Finland through northern and central Russia to the Pacific coast and Sakhalin island (Russia) (Shenbrot and Krasnov 2005). It occurs at altitudes from 600 to 2,450 m (Nowak 1999).","Population densities in this species are typically very low, although infrequently there may be population irruptions and local migrations. Such events occured in northern Finland in 1910, 1957-58 and 1963 (Sulkava 1999). The sex ratio is female-biased (75% females : 25% males). In Fennoscandia local population declines may have occurred as a result of logging (Sulkava 1999, H. Henttonen pers. comm. 2006).","The species's main habitat is old spruce forest, where breeding tends to occur in areas with a abundant mosses (Pleurozium, Dicranum, and Hylocomium spp.), which provide a critical winter food source. In the summer, marshy areas within forests and pine-bogs with a high dwarf shrub layer are used, and in years of high population density dry forests and even clear-cuts may be occupied (Sulkava 1999). The species is found in the taiga and not above the treeline.","There are no major threats. The species may be locally affected by logging of old-growth spruce forest, its main habitat (H. Henttonen pers. comm. 2006).",The species is found in protected areas.,Heikki Henttonen -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,DIPODIDAE,Allactaga elater,Includes a number of subspecies distributed in a quite fragmented range. The last taxonomic revision was made by Shenbrot (1991).,No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)A common species across most of the range, however in its European range (North Caspian region) the population is declining owing to transformation of semideserts into steppes. At present, it is not believed that the rate of decline approaches the threshold for Criterion A (30% over 10 years or 3 generations), and the European population and range remain large enough that Criteria B-D do not apply. However, the situation should be monitored and regional reassesment might be required in the near future.",-,"Distributed in loamy and rubbly deserts, solonetzic and desertified steppes in SE Europe, N Caucasus and Transcaucasia through Kazakhstan and Central Asia to S Siberia, to NE Xinjiang, Nei Mongol, and N Gansu, China, and western Mongolia. Southern part of the range includes SW Pakistan, Afghanistan; Iran; E Turkey (Shenbrot et al. 1995, Wilson and Reeder 2005).","A common and abundant species across most of the range. The isolated population in northern Caspian Sea region is currently declining due to rapid transformation of the species' habitats. Population fluctuations are characteristic of this species, so in favourable years the population may increase even though the overall trend is of decline in the northern Caspian Sea region. Population density may fluctuate ninefold between different years (Shenbrot et al. 1995).","Inhabits various biotopes in deserts and semideserts, depending on soil and vegetation type. The species prefers sandy, rubbly and loamy soils, and is found on solonetzic deserts, but never inhabits real deserts. It prefers areas with a mixture of vegetation including shrubs. Avoids open spaces and dense vegetation (Shenbrot et al. 1995). Feeds on different herbs, seeds and insects. Solitary, active during dusk and at night. Lives in burrows with a length up to 2 m and depth up to 70 cm. Across most of its range hibernates for about four months (from mid-November to mid-March), but in Transcaucasia does not hibernate. Reproductive period starts after hibernation (in Transcaucasia in February). There are two reproductive peaks in April and in August-September. Produces 2-3 litters per year with 2-4 young per litter.",In the European part of the range it is not abundant and the population is declining due to rapid transformation of semideserts into steppes. Also land development reduces natural habitats and causes population decline.,"Up to now no special conservation measures have been taken, although the species occurs in several protected areas. The north Caspian population might need protection in the near future as natural habitats are declining.",Katerina Tsytsulina and European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,DIPODIDAE,Allactaga major,According to different views includes from 3 to 6 subspecies (Shenbrot 1991).,No,No,NT,,NE,,"European regional assessment: Near Threatened (NT)EU 25 regional assessment: Not Evaluated (NE)The species is rapidly declining in northern parts of its European range, and has even recently gone extinct in some areas (e.g. Moscow district). Considered Vulnerable according to the Red Data Book of Ukraine. Overall it is suspected that population declines in the European part of the range approach (and perhaps even exceed) 30% over the last 10 years. Consequently the species is assessed as Near Threatened at the European regional level. Monitoring is required. It is not known if there would be a significant rescue effect from populations outside the region, so the regional assessment is not adjusted.",-,"Distributed from forest-steppes to northern parts of deserts from Ukraine and European Russia through Kazakhstan and N Uzbekistan to W Siberia and W Xinjiang, China (Shenbrot et al. 1995, Wilson and Reeder 2005).","Widespread across most of its range, but distributed irregularly because of fragmentation of suitable habitats and human-caused landscape change. In Ukraine west of the Dnepr the species was common until the mid 1920s (Bilsky 1929), but there are no recent records of the species there (Shenbrot et al. 1995).","One of the most ecologically plastic jerboa species. Inhabits various habitats; in the northern part of the range the main limiting factor is grass density, and the species is restricted to areas with sparse vegetation. In steppe zone often inhabits roadsides, field edges, pastures and flat slopes of ravines. In deserts and semideserts occurs in all habitats except moving sands. Prefers areas with loamy soils, with absinth and succulent vegetation. Feeds on underground and green parts of plants, also on seeds and occasionally on insect and molluscs. Has three types of burrows: permanent summer and winter, and temporary. Enters hibernation in autumn with the first frost. Exits hibernation in March-April. Reproductive period is prolonged. Pregnant females may be found from March to July. During the reproductive period females may have two litters. Litter size ranges from 1 to 8 young, usually 3-6.","Declining very rapidly in the northern part of its range. Has disappeared from Moscow, Kursk regions. The main threat is land use change. The species needs large continuous habitats and fragmentation has strong impact on populations. In the Moscow region, habitat destruction due to building of dachas has caused the species to disappear.","The species is listed in the Moscow regional Red Data Book as Extinct in the Wild, but it is not listed in the Russian national Red Data Book due to abundance elsewhere in the range. In the Red Data Book of Ukraine it is listed as category II (abundant species with rapidly declining population).","Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel, Igor Zagorodnyuk" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,DIPODIDAE,Dipus sagitta,Dipus sagitta is only species in the genus Dipus. Eight subspecies are recognized; however there is a clear geographical cline in size and colouration from north to south.,No,No,NA,,NE,,"European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Evaluated (NE)The species is common throughout most of the range and is a pioneer species that is expanding its range in the Aral Sea area. However, pervasive changes to desert habitats are a major threat in the European part of the range. Populations near the Don River are listed in the local Red Data Book because of fragmentation of habitats due to the nature of sand dunes. As the European range is less than 1% of the global range, this species as classed as Not Applicable at the European regional level.",-,"Distributed in deserts and partly in semi-deserts from Don River sands (Russian Federation) to cis-Caspian region, Turkmenistan, Uzbekistan and N Iran and through Kazakhstan to Irtysh River, Tuva, Mongolia and China (Shenbrot et al. 1995).",A common species with weakly marked population fluctuations. In favourable years population density could reach 5-6 animals per hectare (Gromov and Erbaeva 1995).,"Inhabits different types of sand, however avoids large expanses of open sand-dunes. Also found in sand-dunes covered with pine forest. Most abundant in hilly and ridge sands, including those used as pastures. Often found together with Allactaga spp. One of the pioneer species that is occupying new habitats that have emerged as the Aral Sea dries out. In northern parts of the range it hibernates, while in southern parts it remains active throughout the year with the exception of extremely cold winters. Lives in burrows with length of about 5-6 m and depths up to 3 m; can also occupy burrows of Meriones major. In spring feeds on vegetative parts of grasses and shrubs, also eats roots and bulbs. When seeds start to ripen it switches its diet to seeds. During the whole year it takes insects and larvae as a usual part of its diet. The length of the reproductive period differs in northern and southern parts of the range: from 2 to 2.5 months in north to 8-9 months in south. The number of litters per year differs correspondingly, from 1 to 4 in differents parts of the range.","The species is common throughout most of the range and is a pioneer species that occupies opening sands in the Aral Sea area. However, pervasive changes to desert habitats are a major threat in the European part of the range. It is listed as threatened in the Don River region's local Red Data Book because of the fragmentation of its preferred habitat (sand dunes).",Populations near the Don river listed in the local Red Data Book. The species occurs in several protected areas.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,DIPODIDAE,Pygeretmus pumilio,,No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)This species has a wide range. Population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers), as the species is described as relatively abundant in at least parts of its range. Although some declines have been reported, it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern. Nevertheless, this species depends on a very specific habitat type that is under threat from human activities and global warming. Its status should be monitored.",-,"Distributed in southern part of steppe zone, semi-deserts and deserts from the Don River (Russia) through Kazakhstan to the Irtysh River, south to NE Iran; E to S Mongolia; China: W Nei Mongol, N Xinjiang Gansu, and Ningxia (Shenbrot et al. 1995, Wilson and Reeder 2005). The range is consists of two large isolated parts, western and eastern (China and Mongolia) and several small isolated populations between those two parts and along the southern border of the range.","In some parts of the range (including parts of the European range) the species is relatively abundant and population number is stable. However, the whole range is fragmented and all the isolated populations in the east and south of the range are slowly declining and potentially vulnerable owing to the species' highly specialised habitat requirements.","Pygeretmus pumilio is a stenobiont species. It inhabits clay semi-deserts with rare vegetation which includes succulents of the family Haenopodiaceae (Salsola, Suaeda, Nanopphyton, Anabasis etc.). The clay proportion in the soil and type of vegetation determine species distribution (Shenbrot et al. 1995).",Populations are quite fragmented and its habitat is shrinking in parts of the range due to land use changes and climate change.,No specific conservation measures are known for this species. In the European part of the range occurs in several protected areas.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,DIPODIDAE,Sicista betulina,,No,No,LC,,LC,,"European: This species has a large range. The population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers), even though the species is rare in parts of its range. Population trends are poorly known, but it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern.EU 25: In the EU the species is apparently rare, but it may be more common than currently known because it is difficult to trap. In many parts of the range it is fragmented, with many isolated subpopulations. It is currently listed as Least Concern, as it is not considered to approach the thresholds for any of the IUCN Red List criteria, but population monitoring is required.",Unknown,"Sicista betulina has a large range extending from Denmark, Norway and Austria in the west to Lake Baikal (Russia) in the east, and from the Arctic Circle south to the Carpathian Mountains (Panteleyev 1998, Pucek 1999). Records from the Ussuri region of China are considered dubious (Pucek 1999). In Europe, isolated relict populations occur in the Scandinavian peninsula, Denmark and Schleswig-Holstein (Germany), the Alps (Austria and Allgäu, Germany) and the Carpathians, but the main range extends east from Baltic Countries, Poland and the Czech Republic into European Russia (Pucek 1999, Syvertsen 2003). In Austria and adjacent Czech Republic (Bavarian-Bohemian forest) there is an isolated population. It occurs from sea level to 2,200 m in the eastern Alps (Spitzenberger 2002).","In western parts of the range it is generally a rare species, although it may be locally quite frequent. In south-eastern and eastern parts of the range (e.g. Russia, Ukraine) the species is very common. In western parts of the range there are a number of very small and isolated subpopulations, some of which are considered to be evolutionarily significant units (Meinig 2004). No cyclic fluctuations have been recorded, and interannual variation in population density is less than tenfold (Pucek 1999). In Romania, the population is estimated at approximately 1,000 individuals, and Rodna National Park has a very stable population (Botnariuc and Tatole 2005). In Finland it is considerd to be increasing (H. Henttonen pers. comm. 2006). Population trends elsewhere are not known. The species may often go unrecorded, as it is cryptic and hard to trap (Pucek 1982, Spitzenberger 2002).","The range of this birch mouse covers a variety of habitats including boreal and montane forests, subalpine meadows and tundra (Pucek 1999). In Romania, the species occurs in birch forest and pine forest with dense ground vegetation (I. Coroiu pers. comm. 2006). In Germany it occurs in alpine regions and forest bogs (H. Meinig pers. comm. 2006). It has been suggested that the species spends summer months in wet meadow habitat and moves to forests in winter (Nowak 1999). It hibernates in underground burrows for at least six months each year, losing up to half its weight during this time (Nowak 1999).","Agriculture may be a problem in the northern part of the species' range in Germany. In Romania, deforestation is the main threat. Elsewhere threats are not known.","It is listed on Appendix II of the Bern Convention and Annex IV of the EU Habitats & Species directive. It is legally protected under national legislation in a number of countries (e.g. Romania), and is included in national Red Lists of many range states (e.g. Germany, Denmark, Romania, Czech Republic, Lithuania). It occurs in a number of protected areas. Monitoring of populations is needed, especially at the western edge of the species' range.","Holger Meinig, Igor Zagorodnyuk, Heikki Henttonen, Jan Zima, Ioan Coroiu" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,DIPODIDAE,Sicista severtzovi,"Formerly considered as a subspecies of Sicista subtilis, but now recognized as a separate species primarily on the basis of karyotype (Wilson and Reeder 2005 and references therein).",Yes,No,LC,,NE,,"This species is naturally scarce and has only a moderately large range, although its extent of occurrence does not approach the threshold for the range size criterion of the IUCN Red List. The population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers). Population trends have not been quantified, but there is no evidence to suggest significant declines. For these reasons, it is assessed as Least Concern.",-,"This species occurs in SW Russia and Ukraine (Shenbrot et al. 1995, Wilson and Reeder 2005).","There are no data on population size. The species is naturally not abundant, but there is no evidence of population decline.","The species is poorly studied, has a scattered distribution, and is solitary and naturally scarce across the whole range. Distributed in steppe and forest-steppe zones and associated with meadows with high grasses. Feeds on seeds and insects. Reproduces once a year, after hibernation.","The most significant threat to the species is habitat destruction, as the soil in its preferred habitats tends to be very good for cultivation.","No specific conservation measures apply to this species, however, it occurs in Tsentralno-Chernozemnyi State Reserve in Russia. Severtzov's birch mouse is listed in the Ukraine Red Data Book as a subspecies of Sicista subtilis under category III (rare but not threatened species).","Tsytsulina, K., Formozov, N., Zagorodnyuk, I. & Sheftel, B." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,DIPODIDAE,Sicista strandi,Sibling species of Sicista betulina.,No,No,LC,,NE,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)The European population of Sicista strandi is stable and quite widespread. Classed as Least Concern.,-,"Distributed in the area between Volga and Don Rivers, from Kursk District of S Russia to northern slopes of the Caucasus ridge (Shenbrot et al. 1995, Wilson and Reeder 2005). The western limit of the range is not clear, but probably lies along the Dnepr River (Shenbrot et al. 1995, I. Zagorodnyuk pers. comm. 2006).",There are no data on population size. Widespread but not especially common.,"Inhabits floodplain meadows in the southern part of forest zone, steppes, and forest-steppes in mountain zone. Solitary, feeds on seeds, berries and insects; reproduces once a year after hibernation.",Habitat destruction and fragmentation are occurring and reducing usable habitat.,"No special conservation measures apply to the species, although it occurs in several protected areas.","Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel, Igor Zagorodnyuk" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,DIPODIDAE,Sicista subtilis,,No,No,NT,,VU,B1ab(iii),"European: This species is considered Near Threatened (approaching A2c) at the European regional level. Population declines have not been quantified, but are inferred to be taking place as a result of loss of steppe habitat, and are suspected to approach 30% over 10 years. Range contraction has been observed.EU 25: VU B1ab(iii) There are no direct data on recent population declines. However, densities are very low and the range is severely fragmented. Steppe habitat is continuing to decline, and population declines are inferred from this, but rate of decline over the last ten years is not known. There are serious concerns about the status of this very rare species within the EU countries. Extent of Occurrence (as calculated by the 50 km squares the species occurs in) is within the threshold for Vulnerable (17,500 km²). Area of Occupancy is much smaller, possibly less than 2,000 km². Populations outside the EU countries are not close enough to be able to naturally rescue the regional population, therefore the assessment remains VU B1ab(iii).",Unfavourable,"Sicista subtilis has a continuous range extending from the Ukraine and the southern parts of Russia to the north western parts of China (Panteleyev 1998, Pucek 1999). Isolated populations are found in Hungary, Romania and Bulgaria (a single locality only) and southeast Poland. It formerly occurred in Austria but is now regionally extinct (last recorded here in 1960: Spitzenberger 2002). In Serbia it is known from only one locality. Its altitude in Austria was recorded from <120 m (Spitzenberger 2002) to 1,680 m (Pucek 1982).","In Europe it tends to be rare, although it is locally common in at least parts of its global range, accounting for 25% of all rodents caught in north Kazakhstan (Pucek 1999). Little is known about population trends in this species, but its extinction in Austria suggests that in Europe at least its range may be contracting. The species has disappeared from large tracts of its former range in Hungary (F. Spitzenberger pers. comm. 2006). In Romania, the population is estimated at 2,000 individuals (Popescu and Murariu 2001, Botnariuc and Tatole 2005).","It occurs in steppe, rough grassland and pasture, open woodlands, and in field margins and shelter belts on cultivated land (Pucek 1982, 1999). It tends to prefer more open habitats than the northern birch mouse Sicistica betulina.","The species is susceptible loss of steppe habitat. In Romania, habitat loss due to agriculture and indirect mortality through pesticide use are the major threats (I. Coroiu pers. comm. 2006). In Austria, Sicista subtilis occupied a very small and relict range. It went extinct as a result of the conversion of natural meadows adjacent to the reedbeds of Lake Neusiedl into improved grassland (Spitzenberger 2002).","It is listed on the Romanian Red List, and protected by national legislation. It receives strict legal protection under the Bern Convention (Appendix II).","Boris Kryštufek, Igor Zagorodnyuk, Giovanni Amori" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,DIPODIDAE,Stylodipus telum,"Includes five subspecies, two of which are distributed in Europe: S.t. falz-feini Brauner, 1913 (lower reaches of left bank of Dnepr River) and S.t. turovi Heptner, 1934 (NE cis-Caucasia and lower Volga region).",No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)This species has a fairly large range in Europe (well above the Extent of Occurrence threshold for Criterion B). The population size has not been quantified, but it is not believed to approach the thresholds for the population size criterion of the IUCN Red List (i.e. less than 10,000 mature individuals in conjunction with appropriate decline rates and subpopulation qualifiers), as the species is described as abundant in at least parts of its range. Although there have been some population declines since the 1960s, it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern. However, population trends need to be monitored.Ukrainian subspecies S. t. falz-feini has a restricted range (Extent of Occurrence c.8,000 km2), and its Area of Occupancy is fragmented and declining as a result of habitat loss and degradation. Consequently it qualifies as Vulnerable B1ab(ii,iii).",-,"Distributed in steppes and desertified steppes in E Ukraine, N Caucasus, W Turkmenistan, W Uzbekistan and Kazakhstan; E to N Xinjiang, China (Shenbrot et al. 1995, Wilson and Reeder 2005). The range is fragmented: besides the major part of the range from the Caspian Sea to China there are several isolated populations. The two isolated populations in the European part of the range are represented by two different subspecies, S. t. falz-feini and S. t. turovi.","Ukrainian subspecies S. t. falz-feini is naturally rare. It has a restricted range (Extent of Occurrence c.8,000 km2), and its Area of Occupancy is fragmented and declining as a result of habitat loss and degradation. The other European subspecies S. t. turovi is relatively common, and despite population decline since the 1960s it remains abundant in some parts of the area, e.g. Tsimlyansk.","Inhabits deserts and desertified steppes. In Europe it is usually distributed in hilly sands in river valleys, and arid areas, often with trees. Active at dusk and night. Enters hibernation with first frost. Lives in complex burrows, often occupies jird burrows. Feeds on seeds and partly on insects. Reproduction is once a year with litter size of 3-6 young.","Habitat loss due to ploughing and overgrazing, pesticides.",S. t. falz-feini is listed in the Red Data Book of Ukraine under category II (abundant species with rapidly declining population). S. t. turovi is listed in the local Red Data Book in Russia (Rostov District) as Data Deficient. The species is found in several protected areas.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel, Igor Zagorodnyuk" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,GLIRIDAE,Dryomys nitedula,"The western subspecies intermedius is taxonomically not well defined, but occurs in the part of the range where the species is declining.",No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A widespread species with a large global population. Population trends appear stable in most parts of its range, it has a broad habitat tolerance, and is found in many protected areas. Consequently it is classed as Least Concern.",Possibly Favourable,"Dryomys nitedula is found from Switzerland in the west through eastern and southern Europe, Asia Minor and the Caucasus to central Russia and central Asia, reaching as far as 90°E. Many isolated subpopulations occur on the edge of its range, including in Israel, central Iran, Afghanistan, the Tien Shan mountains and Sinkiang (China). In Europe, it occurs from eastern Switzerland through eastern Europe and the Balkan Peninsula to Latvia in the north and Russia in the east, with an isolated subpopulation in southern Italy (Kryštufek and Vohralik 1994). Its vertical range is from sea level to 2,300 m (Kryštufek 1999).","In Europe west of Russia it is generally rare, although in some southeastern areas (e.g. Bulgaria, Turkish Thrace, Moldova) it is locally common, reaching densities of 23-25 individuals per hectare in Moldova (Kryštufek 1999). At the western border of its distribution, populations have declined due to deforestation. There is only one population remaining in Switzerland (Tester and Müller 2000), and the German population has not been surveyed in over 30 years (H. Meinig pers. comm. 2006). However, there have been no reports of declines elsewhere as yet (Kryštufek 1999, EMA Workshop 2006).","It occurs in a broad variety of habitats in Europe, including broad-leaved, mixed, and coniferous woodland (mainly at higher altitudes), dwarf pine Pinus mugo and rocky areas, evergreen Mediterranean shrubland, and wood-steppe (Kryštufek 1999). In the west, the species is found in moist areas next to streams (Austria, Switzerland, and Germany). The species is not found in human dominated habitats such as agricultural areas.",There are no major threats in most parts of its range (EMA Workshop 2006). Declines at the western edge of its range have been attributed to deforestation (H. Meinig pers. comm. 2006),It is protected by international law under the Bern Convention (Appendix III) and the EU Habitats and Species Directive (Annex IV). The species is found in protected areas.,"Boris Kryštufek, Holger Meinig, Vladimir Vohralík, Rimvydas Juškaitis" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,GLIRIDAE,Eliomys quercinus,,Yes,No,NT,,NT,,"Populations in the east have decreased significantly over the last 20-30 years, and the species may have disappeared from as much as 50% of its former range during the last 30 years. However, there is little information on the current decline rate. Since the western populations remain stable, the overall reduction over the last 10 years is almost certainly less than 30% (the threshold for Vulnerable under criterion A). However, as the species is suffering significant ongoing decline, the cause of which is not understood, it is listed as Near Threatened. The species has declined more than almost any other rodent in Europe.",Unfavourable,"Eliomys quercinus is endemic to Europe, where it was historically widespread from Portugal in the west to the Urals (Russia) in the east. It is now largely confined to western Europe, including numerous Mediterranean islands, with eastern populations having become scattered and fragmented. The focus of the species range in the region is in the west. It is a polytypic species, and some insular populations are distinctive forms (e.g., Balearic Islands). Its altitudinal range is from sea level to 2,000 m.","Population declines, range contractions and local extinctions have occurred in central, eastern and southern Europe over the last few decades. Some island populations are declining. The species is now rare in Estonia, Latvia, Lithuania (probably extinct: Juškaitis 2003), east Germany and the Czech Republic (Andera 1994) and adjacent Austria (Spitzenberger 2002), and has disappeared completely from the Slovakian part of the Carpathians and from the Croatian mainland. The last record in Romania is over 20 years old (I. Coroiu pers. comm. 2006). In the south of Spain, where it was formerly abundant and expanding, it is now rare (Ruiz and Roman 1999, Palomo and Gisbert 2002). In Portugal a decline in population is possible, although causes and magnitude of any such reduction are unknown (Cabral et al. 2005). Many of the declines were over the last 50 years or so, with some of the declines more recently recorded. The species may have been lost from over half of the range in the last 30 years (S. Bertolino pers. comm. 2006). In parts of its range where it is more abundant, population density is usually less than 10 individuals per hectare, though exceptionally densities of 30-50 individuals per hectare have been recorded (Filippucci 1999).","Its main habitat is woodland (coniferous, deciduous, and mixed), although it is sometimes found in orchards and gardens. It is less arboreal than some other dormice, and is often found on the ground in rocky areas, cracks in stone walls, and even in houses (Le Louarn and Spitz 1974, Vaterlaus 1998, Filippucci 1999, Spitzenberger 2002, Bertolino 2006).","It has been suggested that it is threatened in some areas (especially Corsica) by direct competition with the brown rat Rattus norvegicus (Macdonald and Barrett 1993). The populations from Germany eastwards are declining (H. Meinig pers. comm. 2006), but the reasons are not well known, although thought to be related to habitat changes. In some areas of orchards, the species is considered a pest.","It is listed on Appendix III of the Bern Convention. The species is found in many protected areas. There is a need to determine why the populations in the eastern part of the range are in decline, to monitor these populations, and to identify and implement appropriate conservation measures.","Bertolino, S., Amori, G., Henttonen, H., Zagorodnyuk, I., Zima, J., Juškaitis, R., Meinig, H. & Kryštufek, B." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,GLIRIDAE,Glis glis,Was Myoxus glis but now transferred to Glis.,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A common and widespread species. Declines are occurring in the northernmost part of the range, but in the southern part it is abundant and considered a pest species. Consequently it is classed as Least Concern.",Unknown,"Glis glis has a global distribution that extends across Europe and through northern Turkey to northern Iran and the Caucasus. In Europe, it occurs from northern Spain through central and eastern Europe, as far as Latvia in the north and Italy and the Balkan Peninsula in the south (Kryštufek 1999). It is found on a number of Mediterranean islands, but the population in the British Isles is the result of an introduction in 1902 (Kryštufek 1999, Battersby 2005). It is recorded from sea level to 2,000 m.","In northern parts of its range it is scarce and may be declining, whereas in southern parts of its range it is sufficiently abundant to be considered an agricultural pest in years of high population density. In central Europe, typical population densities may be c.5 individuals per hectare, although densities of 20-22 individuals per hectare have been recorded (Kryštufek 1999).","It is typically found in mature deciduous and mixed woodland, where it frequents the canopy, although it also occurs in maquis and shrubland on rocky areas along the Mediterranean coast. Man-made habitats such as gardens and orchards are sometimes used, and the species often enters buildings (Macdonald and Barrett 1993, Kryštufek 1999).","In parts of its range, including Slovenia, Croatia, and Italy, there is a tradition of hunting this species. In the past, it was a source of meat, fat, and skins for subsistence and trade, but today it is hunted recreationally (Kryštufek 1999). The species is protected in Italy, but is sometimes illegally hunted (G. Amori pers. comm. 2006). In northeastern Europe, cutting of oak forests is a threat (Juškaitis 2003).",It is listed on Appenix III of the Bern Convention. It occurs in protected areas throught its range.,"Boris Kryštufek, Holger Meinig, Giovanni Amori, Rimvydas Juškaitis" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,GLIRIDAE,Muscardinus avellanarius,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This is a relatively common and widespread species across its range. However, in parts of its northern range (e.g. UK, Netherlands, Sweden, Germany, Denmark) populations are declining and fragmented as a result of habitat loss and fragmentation. In these areas there is cause for concern.",Unknown,"The common dormouse occurs in Europe and northern Asia Minor (Turkey). In continental Europe, it is fairly widespread, although it is absent from Iberia, south-west France, and northern parts of Fennoscandia and Russia. It is also absent from eastern Ukraine and southern Russia. Island populations occur in southern Britain and on Corfu and Sicily (Morris 1999, Rossolimo et al. (2001). In the Alps it occurs up to 1,920 m (Spitzenberger 2002).","Population trends vary in different parts of the range: in some areas it is declining, in others it is considered stable. In parts of its northern range (e.g., UK, Netherlands, Sweden, Germany, Denmark) populations are declining and fragmented as a result of habitat loss and fragmentation. However in Lithuania it is a common and widespread species, and no decline has been observed (Juškaitis 2003). Population densities may reach c.10 individuals per hectare in optimal habitat, but densities are significantly lower in less favourable habitats (Morris 1999).","It inhabits deciduous woodland, favouring forest edge, secondary growth, coppices, and other wooded areas with a dense shrubby understorey. It is also found in hedgerows in farmland. It is an arboreal feeder, foraging on flowers, insects and fruit.","In north-western parts of the species' range, habitat fragmentation as a result of forestry, urbanisation and agriculture is a major threat. It was formerly a popular pet in some parts of its range, but this is now illegal in many countries (Morris 1999).",It is listed on Appendix III of the Bern Convention and Annex IV of the EU Habitats and Species Directive. In many countries this species is included on national Red Lists.,"Boris Kryštufek, Holger Meinig, Rimvydas Juškaitis" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,GLIRIDAE,Myomimus roachi,,No,No,EN,"B1ab(ii,iii)",DD,,"European: This species is found in a restricted area, there have been no recent records from European Turkey, the vast majority of the habitat is converted to agriculture, and the remaining areas are severely fragmented and subject to ongoing decline. Consequently it is classed as Endangered at the European level. Further research may show that the species qualifies as Critically Endangered under criterion A and/or B. EU 25: The species may marginally occur easternmost Greece. As the world population of this species is small, any population in Greece might constitute a significant (>1%) proportion of the global population. The species is assessed as Data Deficient at the EU 25 level, as its occurrence in the region is uncertain, but if it is confirmed to occur in Greece it is likely to qualify as Critically Endangered under Criterion B. The population outside the EU is fragmented and declining, so no rescue effect would be expected.",Unfavourable,The mouse-tailed dormouse is found in Bulgaria and Turkey (both European and Asian Turkey). It may also occur in eastern Greece. It is mainly a lowland species.,"Little is known about this restricted-range species. In Turkish Thrace there are only definite records from a small number of sites, and none of these records are recent: despite intensive searches, the species has not been found during the last five years (Global Mammal Assessment SW Asia workshop 2005). Throughout its distribution the vast majority of suitable habitat has been converted to intensive agriculture, and the species' range is severely fragmented and subject to ongoing losses (Global Mammal Assessment SW Asia workshop 2005).","It inhabits scrub and semi-open habitats with trees or bushes such as orchards, vineyards, hedgerows in arable land, and river banks. Although it is found in some extensively managed agricultural habitats, it is absent from intensively farmed areas. It is more terrestrial than other dormice, and its diet consists for the most part of seeds.","The range of this species is in decline. In European Turkey, most of its habitat has been transformed by agriculture. In spite of intensive searches the species has not been found over the last five years. It is clear that the range is shrinking.","It is listed on Appendices II and III of the Bern Convention. Surveys are needed to determine if and where the species can still be found, and sites where the species is found should be strictly protected.",Boris Kryštufek -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,HYSTRICIDAE,Hystrix cristata,,No,No,LC,,LC,,"Globally this species is very widespread, although it is a favoured food item for humans in many parts of its range, and there should be some investigation into harvest levels in these areas (e.g. north and west Africa). In Europe, the species occurs only in Italy where it has a relatively large population and an expanding range. Consequently it is classed as Least Concern at the European and EU 25 levels.",Possibly Favourable,"The crested porcupine is found in Italy, North Africa and sub-Saharan Africa. In Europe, it is restricted to mainland Italy and the island of Sicily, where it occurs from sea level to over 1,500 m. It is sometimes asserted that the porcupine was introduced to Italy by the Romans, but fossil and subfossil remains indicate its presence in Europe in the Upper Pleistocene (Amori and Angelici 1999).","In mainland Italy, population densities are increasing, and the species is expanding its range northwards. On Sicily, the porcupine is widespread, and the long-term population trend appears to be stable (Amori and Angelici 1999). Outside Europe, there is little published information on population trends, but there have been declines in at least some areas, probably as a result of persecution and exploitation for its meat and quills (Nowak 1999). The species may have been extirpated in Egypt since 1980, and has been extinct in heavily-settled parts of Uganda since the 1970s (Nowak 1999).","It inhabits dry Mediterranean shrubland, maquis, abandoned farmland, and dry rocky areas. Its den is in a deep burrow or a cave. Its diet consists of roots and tubers (including cultivated crops), bark, and fallen fruit (Nowak 1999, S. Lovari in litt. 2006).","Despite being strictly protected under international and domestic legislation in Europe, the porcupine is still illegally hunted for meat (often with dogs). This occurs both in Europe and Africa (G. Amori pers. comm. 2006). In parts of the range it is considered a pest species and it is sometimes illegally controlled with poison baits because of the damage it may do to crops (Macdonald and Barrett 1993), a practice which continues (G. Amori pers. comm. 2006). However, at present these are not thought to be major threats to the survival of the species in Europe.","It is strictly protected under Appendix II of the Bern Convention. It is listed on Annex IV of the EU Habitats and Species Directive, and has been protected under Italian national law since 1974.","Giovanni Amori, Sandro Bertolino, Sandro Lovari" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Acomys minous,"A poorly defined species. Likely to be part of Acomys cahirinus but currently recognized as valid (see Barome et al. 2001, and Musser and Carleton 2005 for discussion).",Yes,Yes,DD,,DD,,"Data Deficient because of taxonomic issues. This taxon is likely to be conspecific with the widespread and common species Acomys cahirinus but more research is needed to confirm this. Even if this is a valid species, it is Least Concern on Crete because it is widespread there and not under threat at present.",Unknown,"Acomys minous is endemic to the island of Crete, Greece, where it occurs from sea level to 1,000 m (P. Lymperakis unpublished data). More taxonomic research is required to clarify whether A. minous is a valid species, or whether it should be considered as part of A. cahirinus. There is no fossil or subfossil record of Acomys species on Crete (Dieterlen 1978), suggesting that this taxon is the result of a relatively recent human introduction.","Little is known about the status and population trends of this species. It may be common in suitable habitats, and there are no reports of population declines (Zima 1999).","It is found in arid areas, including scrubby hillsides and rocky slopes. It may be found in close proximity to human habitation, and sometimes enters houses, especially during the winter. Its diet is predominantly herbivorous, supplemented by some animal items (Zima 1999).",It is not believed to face any major threats at present (B. Kryštufek pers. comm. 2006).,It occurs in a number of protected areas. Research is required to clarify its taxonomic status and determine population trends.,"Amori, G., Hutterer, R., Kryštufek, B., Yigit, N., Mitsain, G. & Palomo, L.J." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Apodemus agrarius,,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A common and widespread species with no major threats.,Possibly Favourable,"The striped field mouse has an extensive but disjunct range in the Palaearctic and Indomalayan regions, which is in two separate portions (Karaseva et al. 1992, Panteleyev 1998, Gliwicz and Kryštufek 1999). The first stretches from central and eastern Europe through Russia, Poland and the Caucasus, and northern parts of Kazakhstan and Kyrghyzstan to Lake Baikal (Russia). The second encompasses southern parts of the Russian Far East, China, the Korean peninsula, and Taiwan. It is predominantly a lowland species, although it has been recorded up to 1,750 m in southern Europe (e.g. Macedonia) (Gliwicz and Kryštufek 1999). In Czech Republic, Slovakia, Ukraine and Hungary, there has been a huge expansion of the species' range (V. Vohralík and I. Zagorodnyuk pers. comm. 2006), and it reached Austria in the late 1990s (Spitzenberger 1997).","A widespread and abundant species. Population densities fluctuate, producing sporadic population outbreaks, although such an event has not been recorded in central Europe for at least 30 years (Gliwicz and Kryštufek 1999). During years of peak density it is considered an agricultural pest. Its range in western Europe is expanding (Gliwicz and Kryštufek 1999, V. Vohralík and I. Zagorodnyuk pers. comm. 2006).","It is found in a range of habitats including woodland edge, grasslands, marshes, reedbeds, cornfields, pastures, gardens in rural and suburban areas, and green spaces in urban areas (Gliwicz and Kryštufek 1999). Moist habitats are preferred.",No major threats are known.,It occurs within protected areas throughout its range. It tends to be considered an agricultural pest species.,"Boris Kryštufek, Holger Meinig, Igor Zagarodnyuk, Vladimir Vohralík" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Apodemus alpicola,,Yes,No,LC,,LC,,Locally common within its range with no major threats.,Unknown,"The Alpine mouse is endemic to the Alps (France, Switzerland, Germany, Italy and Austria), where it occurs from 550-2,100 m (Storch 1999, Spitzenberger 2002). It probably occurs in suitable habitat throughout the Alps, although records are patchy.",It is common in suitable habitats (Storch 1999).,"It typically occurs in montane woodland, where it favours areas with rocks and patches of grass (Storch 1999).",No major threats are known.,It occurs within protected areas in its range.,"Bertolino, S., Meinig, H. & Spitzenberger, F." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Apodemus epimelas,A. mystacinus has been split into two separate species: A. mystacinus and A. epimelas (Wilson and Reeder 2005).,Yes,No,LC,,LC,,A common and widespread species with no major threats.,Possibly Favourable,"Apodemus epimelas is endemic to the western and southern Balkans, where it is found in Croatia, west Bosnia and Herzegovina, south Serbia and Montenegro, Albania, Macedonia, west Bulgaria and Greece. It is also found on the Adriatic islands of Korčula and Mljet (Storch 1999, Wilson and Reeder 2005). It occurs at altitudes from sea level to at least 1,600 m (Storch 1999).","It is abundant in suitable habitats, and European populations are presumably stable (Storch 1999).",It inhabits rocky areas with a sparse cover of grass or shrubs (Storch 1999).,No major threats.,It occurs within protected areas within its range.,"Kryštufek, B., Vohralík, V. & Mitsain, G." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Apodemus flavicollis,"It is very probable that Apodemus ponticus and A. flavicollis are conspecific, and that their recognition as different species arose because the Cold War prevented comparison of populations on either side of the Iron Curtain (B. Kryštufek and V. Vohralik pers. comm. 2006). A. ponticus was reported by Russian authors from the Caucasus and Transcaucasia. Authors who studied Apodemus from north-easternmost Turkey (close to the Georgian border) did not find any difference between these populations and other Turkish populations of A. flavicollis (Frynta et al. 2001, Macholan et al. 2001, B. Kryštufek unpubl. data). Individuals captured on the Turkey-Georgia border formed fertile hybrids with A. flavicollis from Austria (Steiner 1978). Thus, the range of ponticus is arbitrarily defined by political borders: populations from the extreme NE Turkey (close to Georgian border) are classified as flavicollis, those across the border as ponticus. If the Asiatic phylogroup of A. flavicollis is indeed an independent species, than arianus predates all other names, including ponticus (B. Kryštufek pers. comm. 2006).",No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This is a common and widespread species with no major threats affecting the population at a global or regional level.,Possibly Favourable,"The yellow-necked mouse has a large range extending from Great Britain across much of continental Europe to the Urals (Russian Federation). It also found in parts of the Near and Middle East and the Caucasus (Montgomery 1999, Wilson and Reeder 2005). In Europe, it is generally widespread, although it is absent from southern Iberia, western France, northern and central Fennoscandia and Russia, and most islands (including Ireland). It is present on some east Mediterranean islands. Occurs from sea level up to 1,850 m (Spitzenberger 2002).",It is a common species throughout much of its range. Populations appear generally stable (natural fluctuations occur). Densities of more than 100 individuals per hectare have been recorded in eastern Europe (Montgomery 1999).,"It inhabits a variety of woodland habitats. It tends to be a forest edge species, but in the Alps it lives within forests (F. Spitzenberger in litt. 2006). Its spatial distribution in large forest areas is related to the productivity and spatial distribution of forest trees with heavy seeds, mainly oak and hazel (Juškaitis 2002).","Globally there are no major threats. In the UK, the species occupied a wider distribution in historic times and has undergone a range contraction associated with the conversion of ancient woodland to agricultural land (Battersby 2005).",It occurs in protected areas across its range. No specific conservation measures are recommended.,"Sandro Bertolino, Giovanni Amori, Heikki Henttonen, Igor Zagorodnyuk, Jan Zima, Boris Kryštufek, Rimvydas Juškaitis, Holger Meinig" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Apodemus mystacinus,A. mystacinus has been split into two separate species: A. mystacinus and A. epimelas (Wilson and Reeder 2005).,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A widespread and abundant species within its global range. Although it has a restricted Extent of Occurrence in Europe (<20,000 km2), it is common in suitable habitats, with no evidence of decline and no major threats. For these reasons, it is evaluated as Least Concern.",Possibly Favourable,"Apodemus mystacinus occurs on some Aegean and Ionian islands eastward through Turkey to Israel, Lebanon, north-west Jordan, Syria, and northern Iraq (Wilson and Reeder 2005). It occurs from sea level up to 2,700 m.",It is abundant in suitable habitats. The population trend is stable (Storch 1999).,It inhabits forest with rocky areas with a sparse cover of grass or shrubs. Rocky areas are important for this species (Storch 1999).,No major threats.,It occurs in protected areas within its range. No specific conservation actions are recommended.,"Boris Kryštufek, Vladimir Vohralík" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Apodemus sylvaticus,,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species is widespread and abundant across its large range. There are no major threats and no suspicion of declines. Consequently it is assessed as Least Concern.,Possibly Favourable,"The wood mouse has a large range that extends throughout Europe (with the exception of Finland and northern parts of Scandinavia, the Baltic and Russia) and parts of North Africa (Panteleyev 1998, Montgomery 1999, Wilson and Reeder 2005). It is present on the majority of offshore islands including the British Isles and Iceland. It occurs from sea level to 2,000 m.","It is widespread and abundant throughout much of its range, and populations appear to be stable. Population density may fluctuate more than tenfold between years of maximum and minimum abundance, but there are no regular cycles (Montgomery 1999).","It is a very adaptable species, inhabiting a wide variety of semi-natural habitats including all types of woodland, moorland, steppe, arid Mediterranean shrubland, and sand dunes. It is also found in many man-made habitats including suburban and urban parks, gardens and wasteland, pastures and arable fields, and forestry plantations. It has an omnivorous diet including seeds and invertebrates. Although it can cause occasional damage, it is not generally considered an agricultural pest (Montgomery 1999).","There are no major threats to this species, although pollution by lead and agrochemicals may have localized negative impacts.",It occurs in protected areas within its range. No specific conservation actions are needed.,"Boris Kryštufek, Holger Meinig, Vladimir Vohralík, Rimvydas Juškaitis, Heikki Henttonen, Igor Zagorodnyuk, Linas Balciauskas" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Apodemus uralensis,This taxon is often confused with A. sylvaticus. It may be more than one species.,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A common and widespread species with no major threats.,Possibly Favourable,"Apodemus uralensis occurs from central and eastern Europe through Russia, northern Anatolia and the Caucasus to central Asia (Panteleyev 1998, Storch 1999). In Europe, it occurs from the Carpathians and the Carpathian basin through southern Poland, Ukraine, and Belarus to the Baltic countries, extending south as far as Bulgaria. In Europe it occurs from sea level to at least 1,400 m in the Carpathians (Mošansky 1962).",Little is known about the status of this species. Its distribution is patchy in at least parts of its European range (Storch 1999).,"In Europe, it is found in a variety of habitats including arable fields, dry grassland, and humid woodland. In Lithuania, it is an ""ecotonic"" species, occurring where forests adjoin open habitat (meadows overgrown with shrubs, cornfields and fallow fields), and rarely found inside forests (Juškaitis 2003). In Anatolia and the Caucasus it tends to occur along streams and brooks in woods with a dense shrub layer (Storch 1999).",No major threats.,It occurs in protected areas within its range.,"Boris Kryštufek, Vladimir Vohralík, Linas Balciauskas" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Apodemus witherbyi,,No,No,NA,,NA,,"European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Applicable (NA)Assessed as Not Applicable as it was considered to be of marginal occurrence in the European Mammal Assessment region. The limits of its range are poorly known, especially in the south and east. It is typically widespread and abundant in appropriate habitat, and it may more appropriately be assessed as Least Concern when the EMA is next revised.",-,"Occurs on Rhodes (Greece) and in S Ukraine. Also in N and S Caucasus, Anatolian Turkish steppe, south to N Israel and NW Jordan; through C and N Iran to Kopet-Dag Mountains of SW Turkmenistan and WC Pakistan. Probably also occurs in Iraq and Afghanistan (Wilson and Reeder 2005).",,"""Plains, mountain and plateau steppes, and highland semideserts"" (Wilson and Reeder 2005).",,,European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Meriones meridianus,"The taxonomy of this species needs revision. Several subspecies are recognised. M. (P.) m. dahli Schidlovski, 1962 is currently listed as a subspecies, but is probably an independent species (Gromov and Erbaeva 1995).",No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)A widespread species with no major threats. Assessed as Least Concern. Taxonomic revision is needed, and if Meriones (P.) meridianus dahli Schidlovski, 1962 from Transcaucasia is recognised as a separate species, the status of this form should be reassessed.",-,"Distributed in sand deserts in the western Caspian Sea region (Russian Federation), Kazakhstan, Central Asia, Iran, northern Afganistan, northern China and Mongolia.","It is a widespread and generally common species within much of its range, although populations undergo major fluctuations in density. Depending on winter weather conditions and the availability of essential fodder crops, density could fluctuate by ten times or more. Like other gerbil species, Meriones meridianus is a natural carrier of plague and other diseases. Population size in this species is monitored by plague control agencies.","Distributed in sand deserts, including fragmented alluvial and deluvial sands. Most abundant in hilly deserts and sandy areas with shrub cover, including small sand tracts in the steppe zone in the western part of the range. In spring and summer it is nocturnal, but in autumn (while foraging for winter) it remains active all day. Burrows are usually excavated under the roots of shrubs. Congregates in large colonies with pronounced social structure. Feeds mostly on seeds, sometimes on insects. Breeding period differs in northern and southern parts of the range. In northern parts it lasts from April til September, with two peaks in spring and autumn. In southern parts the reproductive period occurs from February or March til beginning of October, and in favourable conditions it may last throughout the year. Females that are at least a year old usually give birth to three litters per year; young females give birth once, rarely twice a year. Litter size is about 6 young.",There are no major threat to this species.,This species occurs in a number of protected areas in different parts of its range.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Meriones tamariscinus,Includes 4-5 subspecies.,No,No,LC,,NE,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)An abundant species with no major threats. Classed as Least Concern.,-,"Distributed from cis-Caucasia through Kazakhstan to Tajikistan, Mongolia, and N Xinjiang and Nei Mongol regions of China (Gromov and Erbaeva 1995, Wilson and Reeder 2005).","It is a common species within much of its range, although populations undergo fluctuations in density every 2-3 years. Usually does not form colonies, but in Kazakhstan density could reach 30-50 individuals per hectare. A considerable pest of grain-crops, melons and gourds. In Central Asia population density considerably increases during the time of year when cereals ripen. Like other gerbil species it is a natural carrier of plague and other diseases agents. Population size is under observation of plague control services.","Inhabits shrubby thickets in flood-plains and forest belts (in Astrakhan semidesert); also oases and shrubby semi-deserts with some grass cover. In NW parts of the range it is expanding its range and occupying new lands that have appeared as the Caspian Sea has dried out; however, in the Aral Sea region the species's range has stayed the same despite the availability of new lands. Lives in family groups, occasionally forming small colonies without social structure. Besides seeds, a considerable proportion of its diet is made up of vegetative parts of plants. Reproduction starts in February to March (western parts of the range) or March to April (eastern parts of the range) and lasts for about six months. Breeding intensity decreases during hot months. Females that have overwintered usually give birth to three litters per year; young females generally start reproduction in June. Litter size is about 4-5 young.",No major threats to this species are known.,This species occurs in some protected areas.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Meriones tristrami,,No,No,NA,,NA,,European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Applicable (NA)Assessed as Not Applicable as it is of marginal occurrence in Europe.,-,"Occurs on the island of Kos (Greece); also in Asia Minor, the Middle East, Transcaucasia and northwestern Iran (Mitchell-Jones et al. 1999). Less than 1% of its global range lies within the European Mammal Assessment region.",One of the most common jirds throughout much of its global range.,Prefers deserts and dry steppes.,No major threats are known.,,European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Micromys minutus,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)Both globally and within Europe, the species is widespread and common. Although wetland habitat destruction is occurring in many places throughout its range, the species is highly tolerant of disturbed habitats and is not considered threatened at present.",Unknown,"The harvest mouse has a large range in the Palaearctic and Indomalayan regions, where it occurs from northern Spain and Great Britain through Europe, eastern Fennoscandia, and Russia to northern Mongolia, China, northeast India, Myanmar and Vietnam (Corbet 1978, Panteleyev 1998, Spitzenberger 1999). It is present in Japan and on the border between southern Sweden and south-east Norway, where it is regarded as possibly introduced (van der Kooij et al. 2001, Wilson and Reeder 2005, van der Kooij et al. in litt. 2006). In Europe, it is largely absent from Iberia, the southern part of Italy and the Alps, and it occurs only sporadically in the Balkans. It is typically a lowland species, although it occurs at altutudes of up to 1,700 m in Europe (Spitzenberger 1999).","Population declines have been noted in many parts of Europe. However, populations of this species fluctuate drastically, and some reported declines may in fact have been part of a natural fluctuation (Trout 1978, Haberl and Kryštufek 2003). The species is hard to trap and is often not recorded even when it is present (Haberl and Kryštufek 2003). However, nests may be found quite easily by experienced observers (R. Juškaitis, pers. comm. 2006).","It is found in wetlands, reedbeds, and clearings and edges of humid forest. It has also adapted to a variety of anthropogenic habitats, including gardens and arable land (in the wetter north-western parts of its range), drainage ditches, and rice paddies (Spitzenberger 1999). It has a high tolerance of disturbed habitats (Haberl and Kryštufek 2003).","In Europe the species is common in wetlands (e.g. rice fields) and other habitats (e.g. abandoned agricultural land). There are no serious threats to the survival of the species here, although local population declines have occurred in some areas as a result of loss and degradation of wetland habitats (Spitzenberger 1999).",It occurs in protected areas within its range.,"Boris Kryštufek, Holger Meinig, Heikki Henttonen" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Mus cypriacus,"""A new species of the genus Mus has been discovered on the island of Cyprus, namely Mus cypriacus. Molecular phylogeny of complete D-loop sequences, as well as that of a nuclear gene intron (ABP), evidence that this new taxa is not an island variant but deserves a species rank on its own, as a sister species of Mus macedonicus and Mus spicilegus, the two closest mainland relatives. Classical and geometric morphometry provide diagnostic morphological criteria separating Mus cypriacus from European species."" (Cucchi et al. 2006). Genetic and archaeological evidence suggest that the common ancestor of M. cypriacus and M. macedonicus arrived on Cyprus during the Middle Pleistocene by a founder event on natural raft (Cucchi et al. 2006). This species is one of only three surviving endemic mammal species on Mediterranean islands that originate from ancient natural colonization events (Gippoliti and Amori 2006).",Yes,No,LC,,LC,,"Little is known about the status and distribution of this recently-discovered species. However, it may be quite common in appropriate habitats, and no major threats are known. Consequently it is assessed as Least Concern. Its extent of occurrence is small (<10,000 km²), so if any evidence emerges to suggest that declines or extreme fluctuations are occurring, the species should be reassessed.",Unknown,"The Cyprus mouse Mus cypriacus is endemic to the island of Cyprus in the Mediterranean (Bonhomme et al. 2004, Cucchi et al. 2006). It may be quite widespread in upland areas, and is typically found at altitudes of 300-900 m, although there are some records from 100-150 m (Cucchi et al. 2006). Among the 15 trapping localities sampled in different biotopes on the southern part of the island, M. cypriacus was captured in eight of them (Cucchi et al. 2006). Further research is required in order to establish the range of this new species.",Population status and trends are not known.,"The species has mainly been found in abandoned cultivation terraces at moderate altitudes (300-900 m), where the vegetation consists of a mosaic of open grassy areas, shrubs and small trees, and cultivated vines (Vitis vinifera).It can also be found in forested riverine areas at 100-150 m, where it is syntopic with the house mouse (M. m. domesticus). It is apparently absent from lowland (less than 100 m) areas with strong anthropogenic pressure, such as intensive arable farmland, human dwellings and farms, and orchards (orange groves), where the house mouse is almost exclusively dominant (Cucchi 2005).","It is not yet known if there are any major threats to this recently-discovered species. It is generally found in abandoned vineyards and terraced fields at moderate altitudes. This type of habitat has increased in Cyprus in the recent past, and is probably now more or less stable, although declines may potentially occur in the future as a result of changes in agricultural policy since Cyprus joined the EU in 2004, and as a result of housing and tourism development (Panayides 2004, M. Hellicar pers. comm. 2006). The use of rodenticides as pest control may cause mortality in populations that live close to human habitation.","No conservation measures are known. Surveys are required to determine the status and range of the species, and research is required to confirm or refute the existence of any major threats. The Cyprus mouse is of conservation interest as it is one of just three surviving palaeoendemic mammal species found on Mediterranean islands (the other two being the shrew species Crocidura sicula and C. zimmermanni) (Gippoliti and Amori 2006). Most ancient endemic mammals of Mediterranean islands died out after the arrival of man (Gippoliti and Amori 2006). Mediterranean islands are also home to a number of taxa currently recognised as endemic species and subspecies that are the descendants of mainland taxa introduced by man (Gippoliti and Amori 2006).",Giovanni Amori and Eleftherios Hadjisterkotis -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Mus macedonicus,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species has a wide range. It is common with no major threats at present, and the population trend is believed to be stable. Consequently it is classed as Least Concern.",Possibly Favourable,"Mus macedonicus occurs in the south Balkans, Asia Minor, the Caucasus (Transcaucasia), and the Middle East south to Israel and Jordan and east to Iran (Panteleyev 1998, Macholán 1999). In Europe, it is found from sea level to 500 m (Macholán 1999).",It is common throughout its range (Macholán 1999).,"It occurs in a wide range of habitats including cultivated farmland, orchards, olive groves, road verges, sand dunes, arid Mediterranean shrubland, wadis, and densely-vegetated riverbanks. It is absent from dense forests, and avoids areas of human habitation (Macholán 1999).",No major threats.,It occurs in some protected areas within its range. No specific conservation measures are recommended.,"Boris Kryštufek, Vladimir Vohralík" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Mus musculus,Includes domesticus as a subspecies (Wilson and Reeder 2005).,No,No,LC,,LC,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A widespread and extremely abundant species that thrives in anthropogenic habitats. Classed as Least Concern.,Possibly Favourable,"Originally a Palaearctic species; through its close association with humans it has been widely introduced and has become established in North and South America, sub-Saharan Africa, northern Australia, and many oceanic islands (Macholán 1999).",A widespread and abundant species; common except in some extreme habitats (e.g. at high altitude) (Macholán 1999).,"House mice are typically commensal, and are found in a very wide range of man-made habitats including houses, farm outbuildings, other types of buildings, and even coal mines and frozen meat stores. Sometimes it is feral in areas where it has been introduced, and in some parts of its native range it maintains wild populations in outdoor habitats such as arable land, pastures, coastal sand dunes, salt marshes, and scrubby road verges (Macholán 1999, Wilson and Reeder 2005). House mice tend not to be found in forests and deserts (Macholán 1999).",This species faces no major threats.,Not protected under international legislation; commonly regarded as a pest. Present in many protected areas. A highly successful colonist of artificial environments; no conservation measures are required.,Giovanni Amori -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Mus spicilegus,,Yes,No,LC,,LC,,"M. spicilegus is widespread in its range and can be common in suitable habitat. It is declining in some parts of its range owing to habitat loss, but not at a rate that meets the threatened criteria. Likewise in parts of the Mediterranean there are local declines; it may be in direct competition with M. musculus. Currently assessed as Least Concern, but population declines should be monitored.",Possibly Unfavourable,"Mus spicilegus is endemic to Europe, occurring from Lake Neusiedl on the Austro-Hungarian border through Slovakia, Hungary, Moldova, and Ukraine, extending eastwards to as far as Rostov in the extreme south-west of Russia. In the Mediterranean region, it occurs in Serbia and Bulgaria, with an isolated subpopulation occurring in Montenegro, Greece and Albania. This subpopulation has a fragmented range within a very narrow strip of coastal habitat, and there are only three known localities (B. Kryštufek pers. comm. 2006). It typically occurs from sea level to 200 m (Macholán 1999).","It remains common in suitable habitats, but is suspected to be undergoing population decline in some areas. Densities of 1-20 mounds per hectare are typical, but densities of up to 60-100 mounds per hectare may be reached in particularly favourable habitat. On average, each mound is inhabited by five to six individuals (Macholán 1999). In Slovakia the range appears to be expanding.","It occurs in a variety of open habitats including natural steppe grasslands, pastures and cereal fields, orchards, open woodland, woodland edges and clearings. It avoids forests and human settlements. It feeds on grain and seeds, which it hoards in the winter in a soil-covered mound built above its nest chamber; a single mound may be up to 400 cm in diameter (although 100-200 cm is more typical) and contain up to 10 kg of grain (Macdonald and Barrett 1993, Sokolov et al. 1998). Groups of 4-14 mice cooperate to build these mounds (Sokolov et al. 1998).","It is feared that loss of steppe grassland and agricultural intensification may cause population declines (Macholán 1999). However, in Romania at least, this species is considered an agricultural pest (Popescu and Murariu 2001).",It occurs in some protected area within its range. The population may be declining and this should be monitored.,"Coroiu, I., Kryštufek, B. & Vohralík, V." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Mus spretus,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A common and widespread species within its range, with no major threats.",Possibly Favourable,"Mus spretus is endemic to the Mediterranean region, occurring in south-west Europe and North Africa from Morocco to Libya (Panteleyev 1998, Macholán 1999). In Europe, it is found in Portugal, Spain, the Balearic islands (Spain), and southern France. Its vertical range is from sea level to 1,800 m (L.J. Palomo pers. comm. 2006).","It is common throughout its range, and populations are presumably stable. Typical densities are in the region of 3-12 individuals per hectare (Macholán 1999).","It is found in grasslands, dry shrubland, cereal fields and open woodland. It is absent from dense forest, and tends to avoid human settlements (Macholán 1999). Their limited water requirements (half that of the house mouse) allows them to inhabit drier areas than other mice (Palomo and Gisbert 2002).",No major threats.,Occurs in some protected areas within its range. No specific measures are recommended.,"Holger Meinig, Giovanni Amori" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,MURIDAE,Rattus rattus,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)A widespread and abundant species, often regarded as a pest. Although there have been population declines in parts of the European range, these are not believed to approach the threshold for the population decline criterion of the IUCN Red List (30% over 10 years or 3 generations, whichever is longer). Classed as Least Concern.",Unknown,"Originally an Indomalayan species; widely introduced across the globe as a result of human activities. In Europe, it has been present since ancient times, and is found in most countries, with the exception of Fennoscandia (where it has gone extinct, except for one site in Denmark). It has suffered declines and now has a very restricted range in the United Kingdom, appears to be confined to one island off the east coast of Ireland, and is probably extinct in Slovakia (Amori and Cristaldi 1999).","A widespread and abundant species. It is very common in the Mediterranean. However, in some parts of its northern European range (e.g. United Kingdom, Netherlands, Austria) large population declines and range contractions have occurred since c.1970 (Amori and Cristaldi 1999, Spitzenberger 2005). It has disappeared from Fennoscandia (with the exception of one site in Denmark) (Amori and Cristaldi 1999).","Highly commensal in northern and central parts of Europe, where is is found in a variety of man-made habitats. Also lives outdoors in natural and semi-natural habitats in the Mediterranean (especially on Mediterranean islands) (Amori and Cristaldi 1999).",No major threats.,Not protected under international legislation; commonly regarded as a pest. Present in many protected areas.,Giovanni Amori -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SCIURIDAE,Marmota bobak,"Includes three subspecies: M. b. bobak Muller, 1776 (Ukraine, European part of Russia); M. b. kozlovi Fokanov, 1966 (Volga River region, right bank around Saratov City); M. b. schaganensis Bazhanov, 1930 (the rest of the range).",No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)The population experienced severe decline in the past, but these declines ended well over 10 years (3 generations) ago. The species is now stable and abundant within its present range in Europe. Consequently it is assessed as Least Concern.",-,"At the beginning of the 20th century the species was distributed along whole steppe zone from W Ukraine through Russia and Kazakhstan to the Irtysh River. However, in the first half of the 20th century hunting and habitat loss (ploughing of steppes and conversion to arable land) significantly reduced the range of bobak marmot in the European steppes. By the 1940s the European range of the bobak marmot had become fragmented into isolated populations in unused land and protected areas. Currently the majority of the range is in the Urals and N Kazakhstan.","Formerly the species was common and abundant along the whole steppe zone from W Ukraine to the Irtysh River. By the 1940s the European population and range had declined dramatically, and the species was restricted to isolated fragments of habitat in uncultivated areas and nature reserves. In the 1960s in both Russia and Ukraine hunting was prohibited, and marmot populations in these countries subsequently increased and are now considered stable. In N Kazakhstan, by contrast, the population has not recovered and remains at low density, but in central Kazakhstan the population is increasing. The species was reintroduced to a number of locations in the early 1980s, and the species has also naturally recolonised many areas.","It inhabits a variety of steppe habitats, including lowland, mixed grass, arid, and wormwood (Artemisia) steppes. Forms colonies consisting of several families. Burrows are complex, and may be up to 4-5 m in depth. There are summer and winter burrows, both with pronounced mounds. Does not stock up for winter; instead hibernates for at least six months a year. Enters hibernation at different times in differents parts of the range, leaves hibernation in late March-April. Feeds on green parts, bulbs, flowers and shoots of grasses. Sensitive to moisture in food and in overly dry conditions enters estivation. Reproduces once a year with litter size of 4 to 7 young.",Severe population and range reductions in the early to mid 20th century were caused by excessive hunting and habitat loss (cultivation of steppe grassland). Some illegal hunting continues.,"At present, there are no special conservation measures except hunting prohibition. In the early 1980s re-introductions were carried out in a number of locations. In the European part of the range the bobak marmot occurs in protected areas, where it survived during the period of severe population decline in the early to mid 20th century.","Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel, Igor Zagorodnyuk" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SCIURIDAE,Marmota marmota,,Yes,No,LC,,LC,,"The species is not threatened at present. Subspecies marmota is common within at least parts of its range and has no major threats. However, subspecies latirostris has a restricted range and small population, and should be monitored and protected.",Possibly Favourable,"The Alpine marmot is endemic to Europe. Its core range extends through the Alps of France, Italy, Switzerland, Germany and Austria. Isolated subpopulations are found in the Pyrenees, Massif Central, Jura, Vosges, Black Forest, Appenines, High Tatras, and Romanian Carpathians. A number of these isolated subpopulations (those in the Pyrenees, Massif Central, Jura, Vosges, Black Forest, and Appennines, and eastern Alps) are the result of introductions. The marmot has inhabited the Alps and High Tatras continuously since the end of the last Ice Age, and was reintroduced to the Romanian Carpathians (three attempts in 1973, the third attempt was successful) and Slovenia (in 1953). It occurs as two subspecies: M. m. marmota in the Alps (and most introduced subpopulations) and M. m. latirostris in the High Tatras. A hybrid population exists in the Low Tatras, the result of introductions of both subspecies. Likewise populations in the Appenines are hybrids of both subspecies. It occurs at altitudes of 600-3,200 m (Preleuthner 1999).","M. m. marmota is abundant in at least parts of its core range in the Alps, although some subpopulations may be under threat (e.g. in the Jura and in Germany). Reported population densities for M. m. marmota range from 24-36 individuals per 100 hectares (Gran Paradiso, Italy) to 40-80 individuals per 100 hectares (Tessin, Switzerland). In Romanian Carpathians, the population is estimated at 1,500 individuals. It is known from three areas in Romania: Retezat, Fagaras and Rodna. In Retezat and Fagaras the populations are stable; in Rodna the population is very small and is threatened by poaching (Popescu and Murariu 2001, Botnariuc and Tatole 2005). The population is Slovenia is expanding (B. Krystufek pers. comm. 2007). Subspecies M. m. latirostris has a restricted range (it occurs at higher elevations in a small region of the High Tatras) and is considered to be rare and threatened (Preleuthner 1999).","It inhabits alpine meadows and high-altitude pastures, typically on south-facing slopes from 1,200-3,000 m (although it is occasionally found at lower altitudes). Colonies inhabit deep burrow systems in alluvial soil or rocky areas (Preleuthner 1999). It has a herbivorous diet, primarily composed of green parts of grasses, sedges, and herbs (Krapp 1978).","Marmots were previously hunted for meat, fur, and fat (which was used for cosmetics and medicines). Hunting continues today, but is primarily a leisure activity (Preleuthner 1999). In Slovenia and Austria, hunting levels are sustainable, but in Austria at least populations living below the timberline are threatened by loss of open habitats through abandonment of high-altitude cattle grazing (Spitzenberger 2002, B. Kryštufek pers. comm. 2006). Hybridisation with introduced M. m. marmota is a potential future threat to remaining pure-bred populations of M. m. latirostris in the High Tatras.","The species occurs in a number of national parks within its range. It is listed under Appendix III of the Bern Convention, and is protected under national law in a number of range states (e.g., Slovenia). Subspecies latirostris requires strict protection in Slovakia and Poland.","Herrero, J., Zima, J. & Coroiu, I." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SCIURIDAE,Pteromys volans,,No,No,DD,,NT,,"European regional assessment: Data Deficient (DD)EU 25 regional assessment: Near Threatened (NT)At the European level, there are insufficient data to estimate rate of population decline. The species is susceptible to habitat loss and fragmentation through forestry practices. Within the EU, the species occurs only in Finland, Estonia and Latvia, where it continues to decline in many parts of its range. Declines of 20-58% have been recorded in small-scale local studies in Finland over the last 10-20 years. There is not expected to be any rescue effect from outside the region (e.g. from Russian Karelia) as the species is facing similar threats in that area. Consequently the species is assessed at Data Deficient at the European level, and Near Threatened (A2bc) within the EU 25.",Unfavourable,"The Siberian flying squirrel has a wide range in the northern Palaearctic, extending from Finland, Estonia and Latvia eastwards through Russia to the Pacific coast (Panteleyev 1998, Sulkava 1999). It also occurs on the Pacific islands of Sakhalin (Russia) and Hokkaido (Japan). It occurs from sea level to the tree line (H. Henttonen pers. comm. 2006).","The species continues to decline in many parts of its range owing to loss of old-growth mixed forests. In Finland, it is still locally quite common but declining everywhere, with detailed local studies showing 20-58% declines over periods of 10-20 years (Hanski et al. 2001, Hanski 2006). Declines were noted in all parts of Finland; there were no areas where the population was stable or increasing, and declines are predicted to continue in the future (Hanski 2006) A three year census ending in 2005 estimated the Finnish population at 140,000 females (95% confidence limits 134,800-151,300: Hanski 2006). It has been found at c.50 sites in Estonia (T. Maran pers. comm. 2006). In Russia, it is considered widespread but rare in Karelia, and in the Karelian isthmus its status is similar to that of the Finnish population (A. Tikhonov in litt. 2006).","It prefers mature spruce-dominated forests with a significant proportion of deciduous trees, especially aspen Populus tremula, birch Betula sp. and alder Alnus sp. (Reunanen et al. 2000, 2002). Large deciduous trees are an important source of both food and nest-sites: the flying squirrel feeds primarily on alder and birch catkins in the winter and alder leaves in the summer, and nests in old woodpecker holes or natural cavities in decaying wood.","Modern intensive forestry and logging are the major threats to this species (Hanski et al. 2001). Fragmentation of forests is a particular problem for this species, as flying squirrels are reluctant to cross open areas on the ground. Managed forests also tend to have fewer deciduous trees (which are an essential winter food source), less decaying wood and fewer tree-holes (which are needed for nest-sites). In parts of Russia, it has been estimated that up to 50% of logging is illegal (Kotlobay and Ptichnikov 2002). Illegal logging is particularly destructive, as unsustainable practices such as high-grading or 'skimming' are used, meaning that for every ten trees felled only one or two high-quality logs will be used (Kotlobay and Ptichnikov 2002).","It is listed on Appendix II of the Bern Convention, and on Annex II* and Annex IV of the EU Habitats & Species Directive. It is considered Vulnerable at the national level in Finland (Rassi et al. 2001). The Finnish Ministry of Forestry and Agriculture and Ministry of the Environment have published detailed guidelines on how to deal with flying squirrels in forestry. Specific recommendations include protecting known feeding and nesting sites (usually this means that trees surrounding nesting tree will be protected within 30 m, and ""corridors"" will be saved so that nesting sites are not isolated) (Anon. 2002, 2003, H. Henttonen pers. comm. 2006). It occurs in a number of protected areas.","Heikki Henttonen, Tiit Maran, Ilpo Hanski" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SCIURIDAE,Sciurus anomalus,,No,No,NA,,NA,,European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Applicable (NA)Assessed as Not Applicable as it is of marginal occurrence in Europe.,-,"In Europe it is restricted to the area around Istanbul (where it was introduced in 1964), and to the islands of Lesbos (Greece) and Gökçeada (Turkey) (Mitchell-Jones et al. 1999). Also occurs in ""Turkey, Transcaucasia (Armenia, Azerbaijan, Georgia), N and W Iran, Syria, Lebanon, Israel, Palestine, Jordan, and Iraq"" (Wilson and Reeder 2005). Less than 1% of its global range lies within the European Mammal Assessment region.",,,,,European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SCIURIDAE,Sciurus vulgaris,,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)This species is widespread and common throughout much of its range. In Italy and the UK there are serious declines owing to competition with the grey squirrel, Sciurus carolinensis. In the UK the species is also threatened by parapox virus transmitted from the grey squirrel. Although the grey squirrel occurs only in the UK and Italy at present, it is predicted that it will reach France and Switzerland during the next few decades. Given its current range, population, and population trends, the red squirrel is assessed as Least Concern. However, in the future its status in Europe is likely to worsen.",Possibly Favourable,"The red squirrel has a large range in the Palaearctic, extending from Ireland, Spain and Portugal in the west, through continental Europe, Russia, Mongolia, and north-east China to the Pacific coast (Panteleyev 1998, Gurnell and Wauters 1999). It is also found on the Pacific islands of Sakhalin (Russia) and Hokkaido (Japan), and it has been introduced to the Caucasus. In Europe, it is widespread in most areas, with the exception of the Iberian peninsula (where it is absent from the south-west) and Britain (where it has almost completely disappeared from the south-east). It is absent from the majority of Mediterranean islands. In Portugal the range has expanded southwards. It occurs from sea level up to 3,100 m in the Alps (Spitzenberger 2002).","Although it is described as common throughout most of its range (Gurnell and Wauters 1999), there have been well-documented population declines and range contractions in the United Kingdom, Ireland and Italy (Gurnell and Pepper 1993, Wauters et al. 1997, O'Teangana et al. 2000). Typical densities range from less than 0.1 to 1.5 individuals per hectare (Gurnell and Wauters 1999).","It is most abundant in large tracts of coniferous forest and also occurs in deciduous woods, mixed forest, parks, gardens, and small stands of conifers. Its diet is mainly vegetarian, consisting of seeds, acorns, fungus, bark, and sapwood, although it occasionally takes animal prey (young birds and eggs).","The main threats to this species are habitat loss and fragmentation and, in Britain and Italy, out-competition by the introduced grey squirrel Sciurus carolinensis (Gurnell and Pepper 1993, Wauters et al. 1997, Bertolino and Genovesi 2003). Now that the grey squirrel has become established on the continent, it can be expected that it may ultimately spread throughout much of the red squirrel's range. Grey squirrels not only out-compete the smaller red squirrels, but also carry parapox virus, which is highly pathogenic to red squirrels. Grey squirrels can carry the virus without being affected, and recent (2006) UK studies have shown that 61% of apparently healthy grey squirrels have been exposed to the virus and may be carriers (C. McInnes in litt. 2006). When the virus is present, the grey squirrel can replace the red squirrel 20 times faster than normal replacement rate (Rushton et al. 2006). The virus has not yet been recorded in Italy.","It is listed on Appendix III of the Bern Convention, and it occurs in many protected areas throughout its wide range.","Sandro Bertolino, Heikki Henttonen, Boris Kryštufek, Holger Meinig" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SCIURIDAE,Spermophilus citellus,"Eight subspecies have been described, but their validity was not confirmed in a comprehensive review of the species (Kryštufek 1996, 1999).",Yes,No,VU,A2bc,VU,A2bc,"Declines across the species' range are occurring, particularly in the southern and northwestern and northern areas where declines are more serious. Overall, declines are suspected to be more than 30% over the last ten years. For this reason the species is assessed as Vulnerable.",Unfavourable,"The European souslik is endemic to central and south-eastern Europe, where it occurs at altitudes of 0-2,500 m. Its range is divided in two by the Carpathian mountains. The north-western portion extends through the Czech Republic, Austria, Slovakia, Hungary, northern Serbia and Montenegro, and western Romania, whilst the south-eastern portion extends from southern Serbia, Macedonia and Greece through Bulgaria and southern Romania to Turkish Thrace, Moldova and Ukraine (Panteleyev 1998, Kryštufek 1999).","The European souslik is currently in serious decline. Its population has become fragmented, and extinctions have occurred in peripheral parts of its range in Germany (where it went extinct c.1985 because of forestry) and Poland (where the last definite autochthonous records date from the 1970s, although the species has recently been reintroduced (Kryštufek 1999, H. Meinig pers. comm. 2006, A. Gondek pers. comm. 2006). Although there are still some large and apparently stable subpopulations, there have been many reports of declines, especially in the north-western part of its range; it is also declining in the southern part of the range. In optimal habitat, densities of 18-48 individuals per hectare have been recorded, although lower figures of 5-14 individuals per hectare are also reported (Kryštufek 1999). In Romania, the population has been estimated at c.15,000 (Botnariuc and Tatole 2005). In parts of Dobrudja (Romania and Bulgaria) populations may have stabilised and started to increase since 1989, as a result of abandonment of intensive agriculture following the fall of the communist regime (I. Coroiu and D. Murariu pers. comm. 2006). In Greece, populations of two subspecies macedonicus and graolojenici) have been lost (B. Kryštufek pers. comm. 2006). In the Czech Republic there were 83 known localities in 1995, but by 2000-2001 only 26 of them still existed (Cepáková and Hulová 2002). Since 2001, there has been regular monitoring of S. citellus. Five new sites have been found, six colonies have disappeared, one was re-established due to reintroduction and one site has been naturally colonized following conservation management. Fluctuation or stagnation of abundance has been observed at eleven sites, numbers of sousliks have steadily decreased at seven sites, and only in five colonies have populations increased. In 2006 the total number of S. citellus living in the Czech Republic was estimated at 2,750 (J. Mateju unpublished data).","The European souslik has quite specific habitat requirements. It is restricted to short-grass steppe and similar artificial habitats (pastures, lawns, sports fields, golf courses) on light, well-drained soils, where it can excavate its burrows (Kryštufek 1999, Spitzenberger 2002). It avoids cultivated land, with the exception of vineyards in some parts of its range (Spitzenberger 2002). It has an omnivorous diet including seeds, roots, shoots, flowers, and arthropods (Nowak 1999, Kryštufek pers. comm. 2006).","The main threats to this species are the conversion of steppe-grassland and pasture to cultivated fields or forestry, and the abandonment of pasture and its subsequent reversion to tall-grass meadows or scrubby habitats which are not suitable for the souslik (Kryštufek 1999). In Austria it is therefore largely restricted to vineyards, airstrips, golflinks, sport- and camping grounds and other frequently mown lawns where it is completely dependent on the toleration of the owners (Spitzenberger 2002). Although not a major threat, some Gypsy communities in central and eastern Europe still catch sousliks for use as a traditional meal (J. Mateju pers. comm. 2006).","It is listed on Appendix II of the Bern Convention and Annexes II and IV of the EU Habitats and Species Directive. Research is needed to determine population status and trends, ecological requirements, potential threats, and appropriate conservation measures. In 2005, the species was reintroduced to Poland by the NGO Salamandra, and animals survived the first winter hibernation (A. Gondek pers. comm. 2006). In 2006 a project was initiated to reintroduce the species to Germany (H. Meinig pers. comm. 2006).","Coroiu, C., Kryštufek, B., Vohralík, V. & Zagorodnyuk, I." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SCIURIDAE,Spermophilus fulvus,Five subspecies are recognised. Spermophilus fulvus hybridizes with S. major in areas where these two species overlap.,No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)A widespread and abundant species with no major threats. Although population declines have been noted in some parts of the range, it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern.",-,"Russia and Kazakhstan, from the Caspian Sea and the Volga River to Lake Balkash; south through Uzbekistan, W Tajikistan and Turkmenistan to NE Iran, and N Afghanistan; W Xinjiang (China). The southern part of the range is fragmented.","In some regions of Russia and Kazakhstan populations have declined as a result of commercial hunting, but the species remains common and abundant throughout most of its range.","Inhabits sand, clay and loess deserts and semi-deserts. In the forest zone it lives on black absinth and saltwort alkali soils. Usually digs a single burrows on a large territory. Sometimes burrows of the great gerbil Rhombomys opimus are used. Migrates seasonally from sites flooded with water from melted snow, or in search for fresh vegetation. Hibernation is extended; the species exits hibernation in mid-May and after 3-4 months enters hibernation again. Feeds on overground parts of cereals, absinths and saltworts.","Although it is hunted commercially, this is not considered to be a major threat to the species at present.",No special conservation measures apply to this species.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SCIURIDAE,Spermophilus major,,No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)A widespread and abundant species. Although population declines have been noted in some parts of the range, it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern.",-,"Steppe between Volga and Irtysh rivers (Russia; N Kazakhstan). Formerly, steppe between Don and Volga rivers (Russia: Gromov et al. 1965). On the western bank of Volga River found in NW part of Volga Hills (Ermakov and Titov 2000). Reported from Xinjiang (Ma et al. 1987); but probably a misidentified S. brevicauda. Its range is increasing in the south and the west (N. Formozov pers. comm. 2006). Occurs from sea level to 600 m.","Populations undergo periodical fluctuations and consequently population size varies from year to year. Periods of mass reproduction give place to population depressions, during which only single individuals could be found in colonies that had formerly been large. The main factors that determine mortality include the soil freezing through during the species' hibernation period, late arrival of spring, human disturbance (including direct killing), predators and epizootics. The species has high reproductve capacity and ecological plasticity. However, a recent study found that populations in most parts of the range were declining, and some small populations had gone extinct (Ermakov and Titov 2000). At the same time, the species has been extending its range in some areas (N. Formozov pers. comm. 2006).","Inhabits mixed grassy plains, and grain and feather-grass steppes. In the northern part of the range penetrates into forest-steppe and the southern part of forest zones. In the south it occurs in river meadows in semi-desert zones. The species is spreading as roads and development increase the number of channels containing water and long grasses. The species is able to cross the Volga due to the construction of dams in four different places. The dams contain ponds which keep ice over winter for longer, allowing the species to move. Another possible reason for observed range expansion is the release of individuals (along with marmots) by hunters. Lives in single burrows scattered over wide territories. In southern parts of the range where appropriate habitats are limited forms colonies. Adult males enter hibernation in mid-June; mass hibernation starts in August. Feeds on green parts and seeds of grasses and cereals.",The most significant threats are ploughing and direct killing by humans.,No specific conservation measures for this species are known.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SCIURIDAE,Spermophilus pygmaeus,,No,No,LC,,NE,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)A widespread and abundant species. Although population declines have been noted in some parts of the range, it is not believed to approach the threshold for the population decline criterion of the IUCN Red List (i.e. declining more than 30% in ten years or three generations). For these reasons, it is evaluated as Least Concern.",-,"Distributed in plains or foothills steppes and semi-deserts in the Dnepr Region (Ukraine), Lower Volga Region and cis-Caucasia (Dagestan, Russia). Most of the range is in Central Asia east to the Aral Sea (Kazakhstan). The range of the species has reduced over the last 20 years as a result of climate change (more wet weather and wet years in the region). The abandonment of agricultural practices (cattle grazing and arable farming), which is changing the habitat, may also have played a role. The species occurs at low altitudes (up to 400 or 500 m).","Populations undergo periodical fluctuations. In the European part of the range over last 30 years, numbers have declined and some local populations have gone extinct.","Inhabits absinth deserts and semi-deserts in virgin and long-fallow lands. Avoids sites with dense high grasses. Lives in colonies consisting mostly of non overlapping territories of adult females. Male territories covers several female territories. Each colony includes permanent (reproduction and hibernation) burrows and temporary shelter burrows. The little ground squirrel leaves hibernation in March-April; enters estivation in second part of June-July, sometimes, especially in dry years, goes straight from estivation to hibernation.","The main factors causing decline are natural climate dessication in the southern Volga Region, with a concurrent trend towards wetter weather at mid-latitudes. Neither of these changes in climate are favourable for the little ground squirrel. Additionally, human activities including pesticide use, irrigation, overgrazing and persecution have a negative impact on populations. Abandonment of agricultural practices (cattle grazing and arable farming) may be leading to unfavourable habitat change in some areas.","Despite recorded population decline in the European part of the range, the species remains widespread and abundant. No specific conservation measures are known.","Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel, Igor Zagorodnyuk" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SCIURIDAE,Spermophilus suslicus,There are two chromosome races of this species: S. odessanus (36 chromosome) and S. suslicus sensu stricto (34 chromosomes). These are separated by the Dnieper River. The eastern Europe race is considered a separate species by many taxonomists. S. odessanus is declining more than S. suslicus sensu stricto.,Yes,No,NT,,NA,,"Globally, the population has shown serious declines over the last 50 years. However, over the last ten years the rate of decline has slowed (perhaps to ca. 20%, but no data are currently available to support this figure). Since the population is still declining, albeit at a slower rate, and habitat loss and fragmentation is continuing, the species is assessed as Near Threatened at the global level (approaching A2bc+3bc).",-,"The spotted souslik is endemic to eastern Europe, where it is found in south-eastern Poland, small areas in Belarus, the Ukraine, Moldova, and Russia eastwards to the river Volga. In Poland, the souslik occurs on the western edge of its range and it is known from one relic enclave located between the Wieprz and Bug rivers in the region of Zamosc (Glowacinski et al. 2001, Piskorski 2005). A lowland species, it occurs up to no more than 500 m (I. Zagorodnyuk pers. comm. 2006).","The spotted souslik has suffered marked declines in both population and range. Its extent of occurrence has contracted in both Poland and southern Russia, and the number of colonies in Poland and the Ukraine (where no more than 10% of the former range described in mid-twentieth century is left) has decreased markedly (Glowacinski et al. 2001, Piskorski 2005, I. Zagorodnyuk pers. comm. 2006). Populations in the southern and eastern parts of the range are more stable. Over the last ten years some populations have shown increases in population size. However, across the global range, the total population is declining, although the rate of decline over the last ten years is likely to be less than 30% (I. Zagorodnyuk pers. comm. 2006). The Polish population of the spotted souslik has been estimated at c.20,000 individuals living in 7 compact and no more than 10 scattered colonies. The most numerous of these colonies, with 10,000-12,000 individuals, is found at Swidnik airport (near Lublin) and is the result of an unofficial introduction in the early 1980s. The present population of S. suslicus is one third of what it was in the 1960s, the number of localities has markedly decreased and the area occupied has shrunk by a half. If this trend continues the souslik will die out in Poland at the first decades of the 21th century (Glowacinski et al. 2001, Piskorski 2005, Z. Glowacinski pers. comm. 2006).","Like its congener the European souslik Spermophilus citellus, the spotted souslik prefers open areas with short grass (including steppes, pastures, and road verges). Unlike the European souslik, it can also sometimes be found on cultivated ground and can survive ploughing (Macdonald and Barrett 1993). It feeds chiefly on grasses and cereals, although arthropods and small vertebrates are also taken.","It is threatened by the loss and fragmentation of appropriate habitats. Causes of habitat loss include expansion of agriculture and forestry, urbanisation, reclamation of wasteland and industrial development (Glowacinski et al. 2001, Piskorski 2005, Z. Glowacinski pers. comm. 2006). More than 50% of the remaining Polish population is threatened by the expansion of Lublin airport (A. Gondek pers. comm. 2006). In some areas, it is persecuted as an agricultural pest. Hybridisation with S. pygmaeus and S. citellus has been recorded, but is not likely to be a major threat. Currently all populations are declining and becoming more fragmented, which makes hybridisation less of a problem.","It is legally protected under Appendix II of the Bern Convention. In Poland the souslik is strictly protected under national law, and five nature reserves have recently been created to protect the species. Development of the system of nature reserves and active protection (reintroduction and habitat management) are recommended (Glowacinski et al. 2001, Piskorski 2005, Z. Glowacinski pers. comm. 2006).","Zagorodnyuk, I., Glowacinski, Z. & Gondek, A." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SCIURIDAE,Tamias sibiricus,,No,No,LC,,NE,,European regional assessment: Least Concern (LC)EU 25 regional assessment: Not Evaluated (NE)A widely distributed and abundant species with no major threats. Its range is currently expanding westwards in Europe. Classed as Least Concern.,-,"Most of the range is in Asia. N European and Siberian Russia to Sakhalin; S Kurile Isls (Russia); extreme E Kazakhstan to N Mongolia, China, Korea, and Hokkaido (Japan). Introduced into Belgium, Germany, the Netherlands, Switzerland, and Italy (Amori 1999).","This species is relatively abundant alcross its range. It is expanding in Europe in the boreal forest zone, and has reached Vodlo Lake (Karelia) (H. Henttonnen pers. comm. 2006).","Typically inhabits coniferous and mixed forests with a rich undergrowth of berry-bearing shrubs. In mountains occurs up to the tree line. Climbs trees, but lives in simple shallow burrows. Summer nests are in stumps, fallen trees, sometimes in low hollows. Usually burrows consist of two big chambers, nest and larder, and small chambers used as a lavatory. Complex voice communication is characteristic to the species. Hibernates in winter. Short and long distance migrations have been registered during years with a poor harvest of Siberan pine nuts. Feeds on various seeds, mainly on Siberian pine, but diet also includes seeds of other coniferous and deciduous trees and herbs. In spring and summer consumes herb shoots; sometimes can eat insects and molluscs. From August onward stores up food for winter, storage mass usually 3-4 kg. Reproduces after leaving hibernation, in April-May.",There are no major threats to the species.,No special measures applied.,"Katerina Tsytsulina, Nikolai Formozov, Boris Sheftel" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SPALACIDAE,Spalax arenarius,,No,No,EN,"B1ab(ii,iii)+2ab(ii,iii)",NE,,"European regional assessment: Endangered (EN)EU 25 regional assessment: Not Evaluated (NE)This species is endemic to Ukraine, where it has a very small range. The population is stable only in Black Sea State Reserve; outside the reserve is declining due to habitat loss and degradation. The species occurs at a small number of locations (<5), and the outside the Black Sea State Reserve its range is severely fragmented. Consequently it qualifies as Endangered.",-,"Endemic species of southern Ukraine, found only on the lower Dnepr sands. Its extent of occurrence is c. 2000 km2, and its area of accupancy is about 55 km2. The main part of the population lies within the Black Sea Biosphere Reserve. Outside the reserve it occurs in fragments of poor quality habitat near the Lower Dnepr River sands. Those parts of the range are very fragmented.",The population is stable only in Black Sea State Reserve. In other areas the population is declining because of afforestation of the sands (for stabilisation of the sands and wood production).,"Stenotopic, inhbits light, moderately wet sandy soils with low subterranean waters. Never occurs in moving sands, alkali soils and in dry feather-grass steppes. Preferres absinth-grass and absinth-spurge steppes with very sparse vegetation. Ecology is poorly studied. Solitary, individual range is more than 80 m2. Feeds on most plants that are abundant in its range (Eryngium campestre, Artemisia campestris, Tragopogon ucrainicum etc.). Reproduces once a year. Copulation occurs in March, birth in April-May. Lactation period is about a month.",Habitat loss due to afforestation of the sands.,"The species occurs within a protected area, but this does not cover all of the population. It is listed in Ukraine's Red Data Book as category II (abundant species with rapidly declining population), and therefore it has legal protection at the national level.","Katerina Tsytsulina, Igor Zagorodnyuk" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SPALACIDAE,Spalax giganteus,,Yes,No,VU,B2ab(iii),NE,,"This species has a restricted range (extent of occurrence ca. 50,000 km2), within which its distribution is sporadic and fragmented. It is estimated that its area of occupancy is less than 2,000 km2. It is almost extinct in Chechnya as a result of civil war, and it is threatened elsewhere in its range by habitat loss due to irrigation, soil salinization, overgrazing, and ploughing. There is a continuing decline in the extent and quality of this species' habitat. Therefore it is listed as Vulnerable.",-,"It occurs in CIS-Caucasia and southernmost Kalmykia (Russia). Within the range it is distributed very patchily, as separate settlements that often occur in sandy areas.","It is declining in some parts of the range due to human impacts, although in other parts of the range populations are considered stable. Almost extinct in Chechen Republic (Russia) and parts of Dagestan (Russia). Does not undergo periodical fluctuations. Data on population size are limited and somewhat contradictory. According to data for the beginning of 1980s in Dagestan there were about 700-750 individuals (Red Data Book of Russian Federation 1983). However, a later aerial survey showed that the population was about 10,000 individuals.","Inhabits loamy and sandy semi-deserts in NE CIS-Caucasia. Prefers moderately moist areas with light soils in river valleys, lake basins and lowlands with luxuriant vegetation. Also occurs in semi-deserts with shrubs and reed, herb-grasses and herb-absinth steppes. Also found in anthropogenic landscapes such as orchards and fields, where it may be a pest. Obligatory subterranean, feeds on subterranean plant parts. Active throughout the year. Generally monogamous. Heat occurs in December-January, females give birth to 2-3 young.","Habitat loss due to irrigation and subsequent soil salinization, overgrazing, and ploughing. Low reproductive potential is a further limiting factor.",The species is listed in the Red Data Book of the Russian Federation in Category 3 (rare species). It occurs in reserves in Chechen Republic and Dagestan (Russia). Limitation of irrigation and grazing have been proposed as conservation measures.,"Tsytsulina, K., Formozov, N. & Sheftel, B." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SPALACIDAE,Spalax graecus,"Subspecies S. graecus istricus Mehely, 1909, is considered by some authors to be an independent species (see Wilson and Reeder 2005 for discussion).",Yes,No,NT,,NE,,"This species is assessed as Near Threatened (approaching criterion B2) at the European level, as it occurs at not many more than five locations, and agricultural intensification might be expected to impact the whole population over a short time period in the near future. The area of occupancy (AOO) is suspected to be less than 500 km², although it has not been estimated. The population is fragmented, so if an estimate of AOO was available, the species might qualify as Endangered under Criterion B2. In Romania at least, the mole rat population appears to be stable at present, although agricultural intensification may potentially become a threat in the near future. Population decline and range reduction can be presumed to have occurred in the past in Ukraine, where the species has not been recorded in the last 20-40 years and may have gone extinct. In Moldova, there is no information about population size or trend. Population monitoring is urgently required, as is research to determine the extent to which agricultural intensification is a threat, and to determine the AOO.",-,"The Balkan mole rat is a European endemic, known only from a small number of sites in Romania (Suceava, Craiova, Transylvania, and the lower Danube), south-eastern Ukraine (Cernovcy), and Moldova (Panteleyev 1998, Kryštufek 1999). Its range is very fragmented. It occurs in lowland and upland areas. In the Ukraine, the species has not been recorded over the last 20-40 years and it may be severely reduced, or already extinct there (I. Zagorodnyuk pers. comm. 2006).","It has a small and fragmented range, within which it occurs at densities of ca.1-3 individuals per hectare (although densities of up to 23 individuals per hectare have been recorded) (Nowak 1999, Kryštufek 1999). The current population trend is unknown, although declines can be assumed to have occurred in Ukraine in the relatively recent past.","It inhabits steppe grassland, pastures, small cultivated fields and orchards, often preferring northern exposures (Kryštufek 1999, B. Kryštufek pers. comm. 2006). Very arid areas are avoided (Nowak 1999). Individuals aggregate in winter but disperse in summer (Kryštufek 1999). The mole-rat is a fossorial species, digging extensive and elaborate tunnel systems with nesting chambers, storerooms and latrines (Nowak 1999). It feeds on bulbs, roots, tubers, and other underground parts of a range of plants (Nowak 1999). Mole-rats of the genus Spalax can be distinguished from all other rodents by the lack of any external openings for the eyes, although small eyes are present under the skin (Nowak 1999).","Its congener Spalax leucodon is threatened by agricultural intensification, as it cannot survive in intensively-farmed arable land. Spalax graecus may be similarly vulnerable to intensive agriculture. Subsistence agriculture continues in Transylvania, and the mole rat population appears to be stable there (I. Coroiu pers. comm. 2006), at least for the time being. However, accession of Romania to the EU might be expected to result in agricultural intensification in the near future.","It is listed on Appendix II of the Bern Convention, and on the Romanian and Ukrainian national Red Lists. A small reserve has been proposed in Transylvania to protect several species of plant and also, incidentally, Spalax (I. Coroiu pers. comm. 2006). Research is needed to determine population status and trends, ecological requirements, potential threats, and appropriate conservation measures for this little-known species.","Zagorodnyuk, I. & Coroiu, I." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SPALACIDAE,Spalax leucodon,Includes Nannospalax leucodon as a synonym.,No,No,LC,,LC,,"European regional assessment: Least Concern (LC)EU 25 regional assessment: Least Concern (LC)The taxonomy of this species is currently crude and in need of revision. Under its current taxonomy it is considered Least Concern, because it has a large range and although it is declining, this is not at a rate that approaches the threshold for criterion A. However, if after taxonomic revision the taxon is split into several different species, some of these may warrant listing as threatened.",Possibly Unfavourable,"The lesser mole rat occurs from Hungary and the Balkan peninsula through Moldova and the Ukraine to just east of the Dnestr river in Russia. It may also occur outside Europe in north-west Anatolia (Wilson and Reeder 2005). It is found from sea level to 2,400 m (Kryštufek 1999).","It has undergone range contractions and population declines in Europe. However, there are still areas where it is locally quite abundant. Population densities typically fall in the range of 1-13 individuals per hectare, but values of up to 23 individuals per hectare have been reported (Kryštufek 1999). Spalax leucodon is regarded as a superspecies that contains a number of forms that are well-differentiated at both a genotypic and phenotypic level, although their taxonomy remains unresolved. Some of these forms have very restricted ranges, and presumably small populations (Kryštufek 1999, B. Kryštufek pers. comm. 2006).","The mole rat inhabits steppe grassland, meadows and pastures, in areas with a deep layer of loose, freely-draining soil in which it digs its extensive burrows. It is absent from ploughed land and arable monocultures, although it may be found in agricultural lanscapes where there is a mixture of pastures, small crop-fields and orchards. It has a slow reproductive rate, raising litters of only 2-4 young (Kryštufek 1999). Mole-rats of the genus Spalax can be distinguished from all other rodents by the lack of any external openings for the eyes, although small eyes are present under the skin (Nowak 1999).","The mole-rat is threatened by habitat loss and land-use changes related to agricultural intensification and increased urbanisation and infrastructure development. It disappears when natural grasslands or pastures are ploughed up. When it was more common, it was an agricultural pest, and it is still persecuted as such in some areas (Kryštufek 1999).",It occurs within protected areas within its range. Taxonomic research is required (B. Kryštufek pers. comm. 2006).,"Boris Kryštufek, Giovanni Amori" -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SPALACIDAE,Spalax microphthalmus,,Yes,No,LC,,NE,,"Across most of its range it is abundant and common, and there is no evidence that it is declining at a rate approaching the threshold for consideration as threatened under criterion A. However, small and isolated populations in the northern part of the range could be threatened by habitat loss through ploughing.",-,"Distributed in steppes and forest-steppes in Ukraine and S Russia between Dnepr and Volga Rivers, north to Orel-Kursk line, and south to Ciscaucasia (Gromov and Erbaeva 1995). In Crimea most probably absent since the Pleistocene. During Holocene the northern border of the range has moved significantly southward, leaving behind isolated relict populations, for example in Samarskaya Luka (Samara District, Russia).","A common species. In historical times in some parts of the range it became rare or even extinct, but elsewhere extended its extent of occurrence. In the northern part of the range and the Volga Region is occurs in small isolated populations and is considered rare. These populations are threatened by habitat loss (ploughing of major habitats). In the southern part of the range (Stavropol Region) in the 1950s, population and range declines occurred because of ploughing. Population density differs significantly in different parts of the range. Maximum densities are found in Central Black Earth Region (Russia) adjacent Ukrainian territories. Population density there is on average 3-10 individuals per hectare, however, locally it could reach up to 20. In the southern part of the range the density may be lower, as the arid climate of the steppes is less favourable. Populations are stable and do not undergone periodical fluctuations.","Obligatory subterranean species. Inhabits steppes; prefers lowlands with black earth and avoids loamy and sandy soils. Inhabits crop fields, melon plantations, gardens, orchards and forest belts. Feeds on underground parts of dandelion, cow parsnip, chicory and tree seedlings (oak, mulberry, acacia). Makes hoards for winter, sometimes up to 10-14 kg. Breeds once a year, females give birth in March to 2-5 young. During dispersal juveniles emerge above ground and often fall prey to carnivorous mammals and birds. A significant pest in southern parts of the range.",Ploughing of major habitats and use of toxic chemicals for pest control.,Locally protected in a number of State Reserves and national parks.,"Tsytsulina, K., Formozov, N., Zagorodnyuk, I. & Sheftel, B." -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SPALACIDAE,Spalax nehringi,,No,No,NA,,NA,,European regional assessment: Not Applicable (NA)EU 25 regional assessment: Not Applicable (NA)Assessed as Not Applicable as it is of marginal occurrence in Europe.,-,"May occur on Lesbos (Greece) (Mitchell-Jones et al. 1999), also occurs on east Aegean islands of Gökçeada and Bozcaada (Turkey) (Wilson and Reeder 2005). Found throughout most of Anatolia, and in Armenia and Georgia. Less than 1% of its global range lies within the European Mammal Assessment region.",,,,,European Mammal Assessment team -ANIMALIA,CHORDATA,MAMMALIA,RODENTIA,SPALACIDAE,Spalax zemni,,Yes,No,VU,"B2ab(ii,iii)",NE,,"Although the extent of occurrence of this species is relatively large (mapped as c.150,000 km2), it has an extremely patchy and severely fragmented distribution within that area, and its area of occupancy is estimated to be less than 2,000 km2. The area of occupancy and quality of habitat is declining continually. The species does not occur in protected areas, except perhaps Podolskiy Tovtry National Park. Assessed as Vulnerable.",-,"The species occurs in Ukraine, where it is found from near the Polish border in the east to the Dnepr River in Central Ukraine and south to the Moldovan border. Populations are fragmented in Ukraine, so the area of occupancy could be much lower than the range indicated on the map..","There are no data on population size of the species. The range is highly fragmented and consists of isolated populations. Therefore although the species has relatively large extent of occurrence, the area of occupancy is low. Since the end of the 19th century the Podolsk mole rat has been considered a rare species across its whole range (Ognev 1947). Range contraction in historical time is probably due to shrinking of steppe habitats. Subfossil remains of the species were found on the left bank of Dnepr River in Kiev and Zhitomir regions. Therefore, losses of range in the south, north-west and north-east have a long history. Currently population density in optimal biotopes is about 1-8 individuals per hectare.","The major habitat of this species is virgin steppes. It also occurs in side roads, forest belts, and agricultural fields, and was recently found in former military firing ranges (I. Zagorodnyuk pers. comm. 2006). Does not avoid sandy soils. An obligate underground species. Its feeding habits are poorly studied, but according to data from southern and south-eastern part of the range it feeds on underground parts of lucerne, chicory, bindweed, mallows and tree seedlings (oak, mulberry, acacia etc.). There are no data on breeding or ecology.",Habitat degradation and loss due to cultivation and development is a major threat.,Not found in protected areas (except perhaps Podolskiy Tovtry National Park). Listed in Ukraine Red Data Book under category 3 (rare species with limited number of individuals and restricted range).,"Tsytsulina, K., Formozov, N., Zagorodnyuk, I. & Sheftel, B." diff --git a/samples/csvparser/README.md b/samples/csvparser/README.md index 668b8b514aa..0458415e615 100644 --- a/samples/csvparser/README.md +++ b/samples/csvparser/README.md @@ -1,14 +1 @@ -# CSV parser - -This example shows how one could implement simple comma separated values reader and parser in Kotlin. -A sample data [European Mammals Red List for 2009](https://data.europa.eu/euodp/en/data/dataset?res_format=CSV) -from EU is being used. - -To build use `../gradlew assemble`. - -To run use `../gradlew runReleaseExecutableCsvParser` or execute the program directly: - - ./build/bin/csvParser/main/release/executable/csvparser.kexe ./European_Mammals_Red_List_Nov_2009.csv --column 4 --count 100 - -It will print number of all unique entries in fifth column -(Family, zero-based index) in first 100 rows of the CSV file. +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/csvparser/build.gradle.kts b/samples/csvparser/build.gradle.kts deleted file mode 100644 index 7d2da6fe2f5..00000000000 --- a/samples/csvparser/build.gradle.kts +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - kotlin("multiplatform") -} - -kotlin { - // Determine host preset. - val hostOs = System.getProperty("os.name") - - // Create target for the host platform. - val hostTarget = when { - hostOs == "Mac OS X" -> macosX64("csvParser") - hostOs == "Linux" -> linuxX64("csvParser") - hostOs.startsWith("Windows") -> mingwX64("csvParser") - else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") - } - - hostTarget.apply { - compilations["main"].enableEndorsedLibs = true - binaries { - executable { - entryPoint = "sample.csvparser.main" - runTask?.args("--column", 4, "--count", 100, "./European_Mammals_Red_List_Nov_2009.csv") - } - } - } -} diff --git a/samples/csvparser/gradle.properties b/samples/csvparser/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/csvparser/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/csvparser/src/csvParserMain/kotlin/CsvParser.kt b/samples/csvparser/src/csvParserMain/kotlin/CsvParser.kt deleted file mode 100644 index 72ccc2e3e57..00000000000 --- a/samples/csvparser/src/csvParserMain/kotlin/CsvParser.kt +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.csvparser - -import kotlinx.cinterop.* -import platform.posix.* -import kotlinx.cli.* - -fun parseLine(line: String, separator: Char) : List { - val result = mutableListOf() - val builder = StringBuilder() - var quotes = 0 - for (ch in line) { - when { - ch == '\"' -> { - quotes++ - builder.append(ch) - } - (ch == '\n') || (ch == '\r') -> {} - (ch == separator) && (quotes % 2 == 0) -> { - result.add(builder.toString()) - builder.setLength(0) - } - else -> builder.append(ch) - } - } - return result -} - -fun main(args: Array) { - val argParser = ArgParser("csvparser") - val fileName by argParser.argument(ArgType.String, description = "CSV file") - val column by argParser.option(ArgType.Int, description = "Column to parse").required() - val count by argParser.option(ArgType.Int, description = "Count of lines to parse").required() - argParser.parse(args) - - val file = fopen(fileName, "r") - if (file == null) { - perror("cannot open input file $fileName") - return - } - - val keyValue = mutableMapOf() - - try { - memScoped { - val bufferLength = 64 * 1024 - val buffer = allocArray(bufferLength) - - for (i in 1..count) { - val nextLine = fgets(buffer, bufferLength, file)?.toKString() - if (nextLine == null || nextLine.isEmpty()) break - - val records = parseLine(nextLine, ',') - val key = records[column] - val current = keyValue[key] ?: 0 - keyValue[key] = current + 1 - } - } - } finally { - fclose(file) - } - - keyValue.forEach { - println("${it.key} -> ${it.value}") - } -} diff --git a/samples/curl/README.md b/samples/curl/README.md index d3a8624094a..0458415e615 100644 --- a/samples/curl/README.md +++ b/samples/curl/README.md @@ -1,13 +1 @@ -# HTTP client - -This example shows how to communicate with libcurl, HTTP/HTTPS/FTP/etc client library and how to -depend on an artifact published in a maven repository. The sample depends on a library -built by [libcurl sample](../libcurl) so you need to run it first. - -To build use `../gradlew assemble`. - -To run use `../gradlew runReleaseExecutableCurl` or execute the program directly: - - ./build/bin/curl/main/release/executable/curl.kexe 'https://www.jetbrains.com/' - -It will perform HTTP get and print out the data obtained. +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/curl/build.gradle.kts b/samples/curl/build.gradle.kts deleted file mode 100644 index aeb26f73f18..00000000000 --- a/samples/curl/build.gradle.kts +++ /dev/null @@ -1,71 +0,0 @@ -plugins { - kotlin("multiplatform") -} - -val localRepo = rootProject.file("build/.m2-local") - -repositories { - maven("file://$localRepo") -} - -val mingwPath = File(System.getenv("MINGW64_DIR") ?: "C:/msys64/mingw64") - -kotlin { - // Determine host preset. - val hostOs = System.getProperty("os.name") - val isMingwX64 = hostOs.startsWith("Windows") - - // Create target for the host platform. - val hostTarget = when { - hostOs == "Mac OS X" -> macosX64("curl") - hostOs == "Linux" -> linuxX64("curl") - isMingwX64 -> mingwX64("curl") - else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") - } - - hostTarget.apply { - binaries { - executable { - entryPoint = "sample.curl.main" - if (isMingwX64) { - // Add lib path to `libcurl` and its dependencies: - linkerOpts("-L${mingwPath.resolve("lib")}") - runTask?.environment("PATH" to mingwPath.resolve("bin")) - } - runTask?.args("https://www.jetbrains.com/") - } - } - } - - sourceSets { - val curlMain by getting { - dependencies { - implementation("org.jetbrains.kotlin.sample.native:libcurl:1.0") - } - } - } -} - -// The code snippet below is needed to make all compile tasks depend on publication of -// "libcurl" library. So that to the time of compilation the library will already be -// in Maven repo and will be successfully resolved as a dependency of this project. -tasks.withType(AbstractCompile::class) { - dependsOn(":libcurl:publish") -} - -// The following snippet is needed to give instructions for IDEA user who just imported project -// and sees "Could not resolve..." message in IDEA console. -gradle.buildFinished { - val configurationName = kotlin.targets["curl"].compilations["main"].compileDependencyConfigurationName - val configuration = project.configurations[configurationName] - if (configuration.isCanBeResolved && configuration.state == Configuration.State.RESOLVED_WITH_FAILURES) { - println( - """ - | - |IMPORTANT: - |The message about unresolved "libcurl" dependency likely means that "libcurl" has not been built and published to local Maven repo yet. - |Please run "publish" task for "libcurl" sub-project and re-import Kotlin/Native samples in IDEA. - """.trimMargin() - ) - } -} diff --git a/samples/curl/gradle.properties b/samples/curl/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/curl/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/curl/src/curlMain/kotlin/main.kt b/samples/curl/src/curlMain/kotlin/main.kt deleted file mode 100644 index 08fee5cc267..00000000000 --- a/samples/curl/src/curlMain/kotlin/main.kt +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.curl - -import sample.libcurl.* - -fun main(args: Array) { - if (args.isEmpty()) - return help() - - val curl = CUrl(args[0]) - curl.header += { - println("[H] $it") - } - - curl.body += { - println("[B] $it") - } - - curl.fetch() - curl.close() -} - -fun help() { - println("ERROR: missing URL command line argument") -} - diff --git a/samples/echoServer/README.md b/samples/echoServer/README.md index 3426bed1d7e..0458415e615 100644 --- a/samples/echoServer/README.md +++ b/samples/echoServer/README.md @@ -1,15 +1 @@ -# Sockets demo - -To build use `../gradlew assemble`. - -To run use `../gradlew runReleaseExecutableEchoServer` or execute the program directly: - - ./build/bin/echoServer/main/release/executable/echoServer.kexe 3000 & - -Test the server by connecting to it, for example with telnet: - - telnet localhost 3000 - -Write something to console and watch server echoing it back. - -~~Quit telnet by pressing ctrl+] ctrl+D~~ +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/echoServer/build.gradle.kts b/samples/echoServer/build.gradle.kts deleted file mode 100644 index 3b96e35c9c6..00000000000 --- a/samples/echoServer/build.gradle.kts +++ /dev/null @@ -1,52 +0,0 @@ -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetPreset - -plugins { - kotlin("multiplatform") -} - -// Add two additional presets for Raspberry Pi and Linux/ARM64. -val raspberryPiPresets: List = listOf("linuxArm32Hfp", "linuxArm64").map { - kotlin.presets[it] as KotlinNativeTargetPreset -} - -kotlin { - // Determine host preset. - val hostOs = System.getProperty("os.name") - - // Create a target for the host platform. - val hostTarget = when { - hostOs == "Mac OS X" -> macosX64("echoServer") - hostOs == "Linux" -> linuxX64("echoServer") - hostOs.startsWith("Windows") -> mingwX64("echoServer") - else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") - } - - // Create cross-targets. - val raspberryPiTargets = raspberryPiPresets.map { preset -> - val targetName = "echoServer${preset.name.capitalize()}" - targetFromPreset(preset, targetName) {} - } - - // Configure executables for all targets. - configure(raspberryPiTargets + listOf(hostTarget)) { - binaries { - executable { - entryPoint = "sample.echoserver.main" - runTask?.args(3000) - } - } - } - - sourceSets { - val echoServerMain by getting - raspberryPiPresets.forEach { preset -> - val mainSourceSetName = "echoServer${preset.name.capitalize()}Main" - getByName(mainSourceSetName).dependsOn(echoServerMain) - } - } - - // Enable experimental stdlib API used by the sample. - sourceSets.all { - languageSettings.useExperimentalAnnotation("kotlin.ExperimentalStdlibApi") - } -} diff --git a/samples/echoServer/gradle.properties b/samples/echoServer/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/echoServer/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/echoServer/src/echoServerMain/kotlin/EchoServer.kt b/samples/echoServer/src/echoServerMain/kotlin/EchoServer.kt deleted file mode 100644 index 748c0e3eaf2..00000000000 --- a/samples/echoServer/src/echoServerMain/kotlin/EchoServer.kt +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.echoserver - -import kotlinx.cinterop.* -import platform.posix.* - -fun main(args: Array) { - if (args.isEmpty()) { - println("Usage: echoserver.kexe ") - return - } - - val port = args[0].toShort() - - // Initialize sockets in platform-dependent way. - init_sockets() - - memScoped { - - val buffer = ByteArray(1024) - val prefixBuffer = "echo: ".encodeToByteArray() - val serverAddr = alloc() - - val listenFd = socket(AF_INET, SOCK_STREAM, 0) - .ensureUnixCallResult("socket") { !it.isMinusOne() } - - with(serverAddr) { - memset(this.ptr, 0, sockaddr_in.size.convert()) - sin_family = AF_INET.convert() - sin_port = posix_htons(port).convert() - } - - bind(listenFd, serverAddr.ptr.reinterpret(), sockaddr_in.size.convert()) - .ensureUnixCallResult("bind") { it == 0 } - - listen(listenFd, 10) - .ensureUnixCallResult("listen") { it == 0 } - - val commFd = accept(listenFd, null, null) - .ensureUnixCallResult("accept") { !it.isMinusOne() } - - buffer.usePinned { pinned -> - while (true) { - val length = recv(commFd, pinned.addressOf(0), buffer.size.convert(), 0).toInt() - .ensureUnixCallResult("read") { it >= 0 } - - if (length == 0) { - break - } - - send(commFd, prefixBuffer.refTo(0), prefixBuffer.size.convert(), 0) - .ensureUnixCallResult("write") { it >= 0 } - send(commFd, pinned.addressOf(0), length.convert(), 0) - .ensureUnixCallResult("write") { it >= 0 } - } - } - } -} - -inline fun Int.ensureUnixCallResult(op: String, predicate: (Int) -> Boolean): Int { - if (!predicate(this)) { - throw Error("$op: ${strerror(posix_errno())!!.toKString()}") - } - return this -} - -inline fun Long.ensureUnixCallResult(op: String, predicate: (Long) -> Boolean): Long { - if (!predicate(this)) { - throw Error("$op: ${strerror(posix_errno())!!.toKString()}") - } - return this -} - -inline fun ULong.ensureUnixCallResult(op: String, predicate: (ULong) -> Boolean): ULong { - if (!predicate(this)) { - throw Error("$op: ${strerror(posix_errno())!!.toKString()}") - } - return this -} - -private fun Int.isMinusOne() = (this == -1) -private fun Long.isMinusOne() = (this == -1L) -private fun ULong.isMinusOne() = (this == ULong.MAX_VALUE) diff --git a/samples/gitchurn/README.md b/samples/gitchurn/README.md index c17c130ecc5..0458415e615 100644 --- a/samples/gitchurn/README.md +++ b/samples/gitchurn/README.md @@ -1,16 +1 @@ -# GIT frequency analyzer - -This example shows how one could perform statistics on Git repository. - -Install libgit2 development files. -For Debian-like Linux - use `apt-get install libgit2-dev`. -For Windows - `pacman -S mingw-w64-x86_64-libgit2` in MinGW64 console, if you do -not have MSYS2-MinGW64 installed - install it first as described in http://www.msys2.org - -To build use `../gradlew assemble`. - -To run use `../gradlew runReleaseExecutableGitChurn` or execute the program directly: - - ./build/bin/gitChurn/main/release/executable/gitchurn.kexe ../../ - -It will print most frequently modified (by number of commits) files in repository. +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/gitchurn/build.gradle.kts b/samples/gitchurn/build.gradle.kts deleted file mode 100644 index 825991898b3..00000000000 --- a/samples/gitchurn/build.gradle.kts +++ /dev/null @@ -1,41 +0,0 @@ -plugins { - kotlin("multiplatform") -} - -val mingwPath = File(System.getenv("MINGW64_DIR") ?: "C:/msys64/mingw64") - -kotlin { - // Determine host preset. - val hostOs = System.getProperty("os.name") - val isMingwX64 = hostOs.startsWith("Windows") - - // Create a target for the host platform. - val hostTarget = when { - hostOs == "Mac OS X" -> macosX64("gitChurn") - hostOs == "Linux" -> linuxX64("gitChurn") - isMingwX64 -> mingwX64("gitChurn") - else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") - } - - hostTarget.apply { - binaries { - executable { - entryPoint = "sample.gitchurn.main" - if (isMingwX64) { - linkerOpts("-L${mingwPath.resolve("lib")}") - runTask?.environment("PATH" to mingwPath.resolve("bin")) - } - runTask?.args(rootProject.rootDir.resolve("..")) - } - } - compilations["main"].cinterops { - val libgit2 by creating { - when (preset) { - presets["macosX64"] -> includeDirs.headerFilterOnly("/opt/local/include", "/usr/local/include") - presets["linuxX64"] -> includeDirs.headerFilterOnly("/usr/include") - presets["mingwX64"] -> includeDirs.headerFilterOnly(mingwPath.resolve("include")) - } - } - } - } -} diff --git a/samples/gitchurn/gradle.properties b/samples/gitchurn/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/gitchurn/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/gitchurn/src/gitChurnMain/kotlin/GitChurn.kt b/samples/gitchurn/src/gitChurnMain/kotlin/GitChurn.kt deleted file mode 100644 index 60410ba4148..00000000000 --- a/samples/gitchurn/src/gitChurnMain/kotlin/GitChurn.kt +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.gitchurn - -import kotlinx.cinterop.* -import libgit2.git_time_t -import platform.posix.ctime -import platform.posix.time_tVar - -fun main(args: Array) { - if (args.isEmpty()) - return help() - - val workDir = args[0] - - val limit = if (args.size > 1) { - val limitRaw = args[1].toIntOrNull() - if (limitRaw == null || limitRaw <= 0) { - return help("Not a positive integer: $limitRaw") - } - limitRaw - } else - Int.MAX_VALUE - - try { - calculateChurn(workDir, limit) - } catch (e: GitException) { - help(e.message) - } -} - -private fun calculateChurn(workDir: String, limit: Int) { - println("Opening…") - val repository = git.repository(workDir) - val map = mutableMapOf() - var count = 0 - val commits = repository.commits() - val limited = commits.take(limit) - println("Calculating…") - limited.forEach { commit -> - if (count % 100 == 0) - println("Commit #$count [${commit.time.format()}]: ${commit.summary}") - - commit.parents.forEach { parent -> - val diff = commit.tree.diff(parent.tree) - diff.deltas().forEach { delta -> - val path = delta.newPath - val n = map[path] ?: 0 - map.put(path, n + 1) - } - diff.close() - parent.close() - } - commit.close() - count++ - } - println("Report:") - map.toList().sortedByDescending { it.second }.take(10).forEach { - println("File: ${it.first}") - println(" ${it.second}") - println() - } - - repository.close() - git.close() -} - -private fun git_time_t.format() = memScoped { - val commitTime = alloc() - commitTime.value = this@format - ctime(commitTime.ptr)!!.toKString().trim() -} - - -private fun printTree(commit: GitCommit) { - commit.tree.entries().forEach { entry -> - when (entry) { - is GitTreeEntry.File -> println(" ${entry.name}") - is GitTreeEntry.Folder -> println(" /${entry.name} (${entry.subtree.entries().size})") - } - } -} - -private fun help(errorMessage: String? = null) { - errorMessage?.let { - println("ERROR: $it") - } - println("./gitchurn.kexe []") -} diff --git a/samples/gitchurn/src/gitChurnMain/kotlin/GitCommit.kt b/samples/gitchurn/src/gitChurnMain/kotlin/GitCommit.kt deleted file mode 100644 index 7b12183345f..00000000000 --- a/samples/gitchurn/src/gitChurnMain/kotlin/GitCommit.kt +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.gitchurn - -import kotlinx.cinterop.* -import libgit2.* - -class GitCommit(val repository: GitRepository, val commit: CPointer) { - fun close() = git_commit_free(commit) - - val summary: String get() = git_commit_summary(commit)!!.toKString() - val time: git_time_t get() = git_commit_time(commit) - - val tree: GitTree get() = memScoped { - val treePtr = allocPointerTo() - git_commit_tree(treePtr.ptr, commit).errorCheck() - GitTree(repository, treePtr.value!!) - } - - val parents: List get() = memScoped { - val count = git_commit_parentcount(commit).toInt() - val result = ArrayList(count) - for (index in 0..count - 1) { - val commitPtr = allocPointerTo() - git_commit_parent(commitPtr.ptr, commit, index.toUInt()).errorCheck() - result.add(GitCommit(repository, commitPtr.value!!)) - } - result - } -} \ No newline at end of file diff --git a/samples/gitchurn/src/gitChurnMain/kotlin/GitDiff.kt b/samples/gitchurn/src/gitChurnMain/kotlin/GitDiff.kt deleted file mode 100644 index b5d73643422..00000000000 --- a/samples/gitchurn/src/gitChurnMain/kotlin/GitDiff.kt +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.gitchurn - -import kotlinx.cinterop.* -import libgit2.* - -class GitDiff(val repository: GitRepository, val handle: CPointer) { - fun deltas(): List { - val size = git_diff_num_deltas(handle).toInt() - val results = ArrayList(size) - for (index in 0..size - 1) { - val delta = git_diff_get_delta(handle, index.convert()) - results.add(GifDiffDelta(this, delta!!)) - } - return results - } - - fun close() { - git_diff_free(handle) - } - -} - -class GifDiffDelta(val diff: GitDiff, val handle: CPointer) { - - val status get() = handle.pointed.status - val newPath get() = handle.pointed.new_file.path!!.toKString() - val oldPath get() = handle.pointed.old_file.path!!.toKString() - - fun status(): String { - return when (status) { - GIT_DELTA_ADDED -> "A" - GIT_DELTA_DELETED -> "D" - GIT_DELTA_MODIFIED -> "M" - GIT_DELTA_RENAMED -> "R" - GIT_DELTA_COPIED -> "C" - else -> throw Exception("Unsupported delta status $status") - } - } - -} diff --git a/samples/gitchurn/src/gitChurnMain/kotlin/GitRemote.kt b/samples/gitchurn/src/gitChurnMain/kotlin/GitRemote.kt deleted file mode 100644 index 18a65ee8772..00000000000 --- a/samples/gitchurn/src/gitChurnMain/kotlin/GitRemote.kt +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.gitchurn - -import kotlinx.cinterop.* -import libgit2.* - -class GitRemote(val repository: GitRepository, val handle: CPointer) { - fun close() = git_remote_free(handle) - - val url: String get() = git_remote_url(handle)!!.toKString() - val name: String = git_remote_name(handle)!!.toKString() -} \ No newline at end of file diff --git a/samples/gitchurn/src/gitChurnMain/kotlin/GitRepository.kt b/samples/gitchurn/src/gitChurnMain/kotlin/GitRepository.kt deleted file mode 100644 index b10f23d37f6..00000000000 --- a/samples/gitchurn/src/gitChurnMain/kotlin/GitRepository.kt +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.gitchurn - -import kotlinx.cinterop.* -import libgit2.* - -class GitRepository(val location: String) { - val arena = Arena() - val handle: CPointer = memScoped { - val loc = allocPointerTo() - git_repository_open(loc.ptr, location).errorCheck() - loc.value!! - } - - fun close() { - git_repository_free(handle) - arena.clear() - } - - fun remotes(): List = memScoped { - val remoteList = alloc() - git_remote_list(remoteList.ptr, handle).errorCheck() - val size = remoteList.count.toInt() - val list = ArrayList(size) - for (index in 0..size - 1) { - val array = remoteList.strings!! - val name = array[index]!!.toKString() - val remotePtr = allocPointerTo() - git_remote_lookup(remotePtr.ptr, handle, name).errorCheck() - list.add(GitRemote(this@GitRepository, remotePtr.value!!)) - } - list - } - - fun commits(): Sequence = memScoped { - val walkPtr = allocPointerTo() - git_revwalk_new(walkPtr.ptr, handle).errorCheck() - val walk = walkPtr.value - git_revwalk_sorting(walk, GIT_SORT_TOPOLOGICAL or GIT_SORT_TIME) - git_revwalk_push_head(walk).errorCheck() - generateSequence { - memScoped { - val oid = alloc() - val result = git_revwalk_next(oid.ptr, walk) - - when (result) { - 0 -> { - val commitPtr = allocPointerTo() - git_commit_lookup(commitPtr.ptr, handle, oid.ptr).errorCheck() - val commit = commitPtr.value!! - GitCommit(this@GitRepository, commit) - } - GIT_ITEROVER -> null - else -> throw Exception("Unexpected result code $result") - } - } - } - } -} \ No newline at end of file diff --git a/samples/gitchurn/src/gitChurnMain/kotlin/GitTree.kt b/samples/gitchurn/src/gitChurnMain/kotlin/GitTree.kt deleted file mode 100644 index 03d78325939..00000000000 --- a/samples/gitchurn/src/gitChurnMain/kotlin/GitTree.kt +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.gitchurn - -import kotlinx.cinterop.* -import libgit2.* - -class GitTree(val repository: GitRepository, val handle: CPointer) { - fun close() = git_tree_free(handle) - - fun entries(): List = memScoped { - val size = git_tree_entrycount(handle).toInt() - val entries = ArrayList(size) - for (index in 0..size - 1) { - val treeEntry = git_tree_entry_byindex(handle, index.convert())!! - val entryType = git_tree_entry_type(treeEntry) - val entry = when (entryType) { - GIT_OBJ_TREE -> memScoped { - val id = git_tree_entry_id(treeEntry) - val treePtr = allocPointerTo() - git_tree_lookup(treePtr.ptr, repository.handle, id) - GitTreeEntry.Folder(this@GitTree, treeEntry, treePtr.value!!) - } - GIT_OBJ_BLOB -> GitTreeEntry.File(this@GitTree, treeEntry) - else -> throw Exception("Unsupported entry type $entryType") - } - entries.add(entry) - } - entries - } - - fun diff(other: GitTree): GitDiff = memScoped { - val diffPtr = allocPointerTo() - git_diff_tree_to_tree(diffPtr.ptr, repository.handle, handle, other.handle, null).errorCheck() - GitDiff(repository, diffPtr.value!!) - } -} - -sealed class GitTreeEntry(val tree: GitTree, val handle: CPointer) { - val name: String get() = git_tree_entry_name(handle)!!.toKString() - - class Folder(tree: GitTree, handle: CPointer, val subtreeHandle: CPointer) : GitTreeEntry(tree, handle) { - val subtree = GitTree(tree.repository, subtreeHandle) - } - - class File(tree: GitTree, handle: CPointer) : GitTreeEntry(tree, handle) -} diff --git a/samples/gitchurn/src/gitChurnMain/kotlin/git.kt b/samples/gitchurn/src/gitChurnMain/kotlin/git.kt deleted file mode 100644 index 5ecb1d6413c..00000000000 --- a/samples/gitchurn/src/gitChurnMain/kotlin/git.kt +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.gitchurn - -import kotlinx.cinterop.* -import libgit2.* - -object git { - init { - git_libgit2_init() - } - - fun close() { - git_libgit2_shutdown() - } - - fun repository(location: String): GitRepository { - return GitRepository(location) - } -} - -fun Int.errorCheck() { - if (this == 0) return - throw GitException() -} - -class GitException : Exception(run { - val err = giterr_last() - err!!.pointed.message!!.toKString() -}) \ No newline at end of file diff --git a/samples/gitchurn/src/nativeInterop/cinterop/libgit2.def b/samples/gitchurn/src/nativeInterop/cinterop/libgit2.def deleted file mode 100644 index 377332016f4..00000000000 --- a/samples/gitchurn/src/nativeInterop/cinterop/libgit2.def +++ /dev/null @@ -1,5 +0,0 @@ -headers = git2.h -headerFilter = git2/** git2.h -linkerOpts.osx = -L/opt/local/lib -L/usr/local/lib -lgit2 -linkerOpts.linux = -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu -lgit2 -linkerOpts.mingw = -lgit2 diff --git a/samples/globalState/README.md b/samples/globalState/README.md index d5e55550ebb..0458415e615 100644 --- a/samples/globalState/README.md +++ b/samples/globalState/README.md @@ -1,9 +1 @@ -# Shared global state - -This example shows how one could implement global shared state using interop mechanisms. - -To build use `../gradlew assemble`. - -To run use `../gradlew runReleaseExecutableGlobalState` or execute the program directly: - - ./build/bin/globalState/main/release/executable/globalState.kexe +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/globalState/build.gradle.kts b/samples/globalState/build.gradle.kts deleted file mode 100644 index 6cb4b781a53..00000000000 --- a/samples/globalState/build.gradle.kts +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - kotlin("multiplatform") -} - -kotlin { - // Determine host preset. - val hostOs = System.getProperty("os.name") - - // Create target for the host platform. - val hostTarget = when { - hostOs == "Mac OS X" -> macosX64("globalState") - hostOs == "Linux" -> linuxX64("globalState") - hostOs.startsWith("Windows") -> mingwX64("globalState") - else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") - } - - hostTarget.apply { - binaries { - executable { - entryPoint = "sample.globalstate.main" - } - } - compilations["main"].cinterops { - val global by creating - } - } -} diff --git a/samples/globalState/gradle.properties b/samples/globalState/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/globalState/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/globalState/src/globalStateMain/kotlin/Global.kt b/samples/globalState/src/globalStateMain/kotlin/Global.kt deleted file mode 100644 index 4fa60b882c2..00000000000 --- a/samples/globalState/src/globalStateMain/kotlin/Global.kt +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.globalstate - -import kotlin.native.concurrent.* -import kotlinx.cinterop.* -import platform.posix.* - -inline fun Int.ensureUnixCallResult(op: String, predicate: (Int) -> Boolean = { x -> x == 0} ): Int { - if (!predicate(this)) { - throw Error("$op: ${strerror(posix_errno())!!.toKString()}") - } - return this -} - -data class SharedDataMember(val double: Double) - -data class SharedData(val string: String, val int: Int, val member: SharedDataMember) - -// Here we access the same shared frozen Kotlin object from multiple threads. -val globalObject: SharedData? - get() = sharedData.frozenKotlinObject?.asStableRef()?.get() - -fun dumpShared(prefix: String) { - println(""" - $prefix: ${pthread_self()} x=${sharedData.x} f=${sharedData.f} s=${sharedData.string!!.toKString()} - """.trimIndent()) -} - -fun main() { - // Arena owning all native allocs. - val arena = Arena() - - // Assign global data. - sharedData.x = 239 - sharedData.f = 0.5f - sharedData.string = "Hello Kotlin!".cstr.getPointer(arena) - - // Here we create detached mutable object, which could be later reattached by another thread. - sharedData.kotlinObject = DetachedObjectGraph { - SharedData("A string", 42, SharedDataMember(2.39)) - }.asCPointer() - - // Here we create shared frozen object reference, - val stableRef = StableRef.create(SharedData("Shared", 239, SharedDataMember(2.71)).freeze()) - sharedData.frozenKotlinObject = stableRef.asCPointer() - dumpShared("thread1") - println("frozen is $globalObject") - - // Start a new thread, that sees the variable. - // memScoped is needed to pass thread's local address to pthread_create(). - memScoped { - val thread = alloc() - pthread_create(thread.ptr, null, staticCFunction { argC -> - initRuntimeIfNeeded() - dumpShared("thread2") - val kotlinObject = DetachedObjectGraph(sharedData.kotlinObject).attach() - val arg = DetachedObjectGraph(argC).attach() - println("thread arg is $arg Kotlin object is $kotlinObject frozen is $globalObject") - // Workaround for compiler issue. - null as COpaquePointer? - }, DetachedObjectGraph { SharedDataMember(3.14)}.asCPointer() ).ensureUnixCallResult("pthread_create") - pthread_join(thread.value, null).ensureUnixCallResult("pthread_join") - } - - // At this moment we do not need data stored in shared data, so clean up the data - // and free memory. - sharedData.string = null - stableRef.dispose() - arena.clear() -} diff --git a/samples/globalState/src/nativeInterop/cinterop/global.def b/samples/globalState/src/nativeInterop/cinterop/global.def deleted file mode 100644 index f4391051aa9..00000000000 --- a/samples/globalState/src/nativeInterop/cinterop/global.def +++ /dev/null @@ -1,12 +0,0 @@ -package = sample.globalstate - ---- -typedef struct { - int x; - float f; - char* string; - void* kotlinObject; - void* frozenKotlinObject; -} SharedDataStruct; - -SharedDataStruct sharedData; diff --git a/samples/gradle.properties b/samples/gradle.properties deleted file mode 100644 index ffbe4704e45..00000000000 --- a/samples/gradle.properties +++ /dev/null @@ -1,18 +0,0 @@ -kotlin.code.style=official - -# Run parallel builds in Gradle: -org.gradle.parallel=true -org.gradle.workers.max=4 - -# Pin Kotlin version: -# CHANGE_VERSION_WITH_RELEASE -kotlin_version=1.4.30 - -# Sets maven path for the kotlin version other than release -#kotlinCompilerRepo= - -# Use custom Kotlin/Native home: -kotlin.native.home=../../dist - -# Increase memory for in-process compiler execution. -org.gradle.jvmargs=-Xmx3g \ No newline at end of file diff --git a/samples/gradle/wrapper/gradle-wrapper.jar b/samples/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c023e..00000000000 Binary files a/samples/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/samples/gradle/wrapper/gradle-wrapper.properties b/samples/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index be52383ef49..00000000000 --- a/samples/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/samples/gradlew b/samples/gradlew deleted file mode 100755 index 4f906e0c811..00000000000 --- a/samples/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/samples/gradlew.bat b/samples/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/samples/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/samples/gtk/README.md b/samples/gtk/README.md index cb70baa55cb..0458415e615 100644 --- a/samples/gtk/README.md +++ b/samples/gtk/README.md @@ -1,39 +1 @@ -# GTK application - -This example shows how one may use _Kotlin/Native_ to build GUI -applications with the GTK toolkit. - -To build use `../gradlew assemble`. - -Do not forget to install GTK3. See bellow. - -To run on Mac also install XQuartz X server (https://www.xquartz.org/), and then `../gradlew runReleaseExecutableGtk` or execute the program directly: - - ./build/bin/gtk/main/release/executable/gtk.kexe - -Dialog box with the button will be shown, and application will print message -and terminate on button click. - - -#### GTK3 Install - -on Mac use - - brew install gtk+3 - -or - - port install gtk3 - -on Debian flavours of Linux - - sudo apt-get install libgtk-3-dev - -on Fedora - - sudo dnf install gtk3-devel - -on Windows in MinGW64 console, if you do -not have MSYS2-MinGW64 installed - install it first as described in http://www.msys2.org - - pacman -S mingw-w64-x86_64-gtk3 +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/gtk/build.gradle.kts b/samples/gtk/build.gradle.kts deleted file mode 100644 index 4f2c0aaab29..00000000000 --- a/samples/gtk/build.gradle.kts +++ /dev/null @@ -1,69 +0,0 @@ -plugins { - kotlin("multiplatform") -} - -val mingwPath = File(System.getenv("MINGW64_DIR") ?: "C:/msys64/mingw64") - -kotlin { - // Determine host preset. - val hostOs = System.getProperty("os.name") - val isMingwX64 = hostOs.startsWith("Windows") - - // Create a target for the host platform. - val hostTarget = when { - hostOs == "Mac OS X" -> macosX64("gtk") - hostOs == "Linux" -> linuxX64("gtk") - isMingwX64 -> mingwX64("gtk") - else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") - } - - hostTarget.apply { - binaries { - executable { - entryPoint = "sample.gtk.main" - if (isMingwX64) { - linkerOpts("-L${mingwPath.resolve("lib")}") - runTask?.environment("PATH" to mingwPath.resolve("bin")) - } - } - } - compilations["main"].cinterops { - val gtk3 by creating { - when (preset) { - presets["macosX64"], presets["linuxX64"] -> { - listOf("/opt/local/include", "/usr/include", "/usr/local/include").forEach { - includeDirs( - "$it/atk-1.0", - "$it/gdk-pixbuf-2.0", - "$it/cairo", - "$it/harfbuzz", - "$it/pango-1.0", - "$it/gtk-3.0", - "$it/glib-2.0" - ) - } - - includeDirs( - "/opt/local/lib/glib-2.0/include", - "/usr/lib/x86_64-linux-gnu/glib-2.0/include", - "/usr/local/lib/glib-2.0/include" - ) - } - presets["mingwX64"] -> { - listOf( - "include/atk-1.0", - "include/gdk-pixbuf-2.0", - "include/cairo", - "include/pango-1.0", - "include/gtk-3.0", - "include/glib-2.0", - "lib/glib-2.0/include" - ).forEach { - includeDirs(mingwPath.resolve(it)) - } - } - } - } - } - } -} \ No newline at end of file diff --git a/samples/gtk/gradle.properties b/samples/gtk/gradle.properties deleted file mode 100644 index f833920c5d7..00000000000 --- a/samples/gtk/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -kotlin.native.jvmArgs=-Xmx8g -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/gtk/src/gtkMain/kotlin/Main.kt b/samples/gtk/src/gtkMain/kotlin/Main.kt deleted file mode 100644 index c09de4f268a..00000000000 --- a/samples/gtk/src/gtkMain/kotlin/Main.kt +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.gtk - -import kotlinx.cinterop.* -import gtk3.* - -// Note that all callback parameters must be primitive types or nullable C pointers. -fun > g_signal_connect(obj: CPointer<*>, actionName: String, - action: CPointer, data: gpointer? = null, connect_flags: GConnectFlags = 0u) { - g_signal_connect_data(obj.reinterpret(), actionName, action.reinterpret(), - data = data, destroy_data = null, connect_flags = connect_flags) - -} - -fun activate(app: CPointer?, user_data: gpointer?) { - val windowWidget = gtk_application_window_new(app)!! - val window = windowWidget.reinterpret() - gtk_window_set_title(window, "Window") - gtk_window_set_default_size(window, 200, 200) - - val button_box = gtk_button_box_new( - GtkOrientation.GTK_ORIENTATION_HORIZONTAL)!! - gtk_container_add(window.reinterpret(), button_box) - - val button = gtk_button_new_with_label("Konan говорит: click me!")!! - g_signal_connect(button, "clicked", - staticCFunction { _: CPointer?, _: gpointer? -> println("Hi Kotlin") - }) - g_signal_connect(button, "clicked", - staticCFunction { widget: CPointer? -> - gtk_widget_destroy(widget) - }, - window, G_CONNECT_SWAPPED) - gtk_container_add (button_box.reinterpret(), button) - - gtk_widget_show_all(windowWidget) -} - -fun gtkMain(args: Array): Int { - val app = gtk_application_new("org.gtk.example", G_APPLICATION_FLAGS_NONE)!! - g_signal_connect(app, "activate", staticCFunction(::activate)) - val status = memScoped { - g_application_run(app.reinterpret(), - args.size, args.map { it.cstr.ptr }.toCValues()) - } - g_object_unref(app) - return status -} - -fun main(args: Array) { - gtkMain(args) -} diff --git a/samples/gtk/src/nativeInterop/cinterop/gtk3.def b/samples/gtk/src/nativeInterop/cinterop/gtk3.def deleted file mode 100644 index 51c5e6f6d23..00000000000 --- a/samples/gtk/src/nativeInterop/cinterop/gtk3.def +++ /dev/null @@ -1,9 +0,0 @@ -headers = gtk/gtk.h -headerFilter = gtk/* gobject/* gio/* -compilerOpts.osx = -I/usr/local/include/gtk-3.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include \ --I/usr/local/include/pango-1.0 -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/gdk-pixbuf-2.0 \ --I/usr/local/include/atk-1.0 -compilerOpts.linux = -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/lib/glib-2.0/include -I/usr/lib64/glib-2.0/include -linkerOpts.osx = -L/opt/local/lib -L/usr/local/lib -lglib-2.0 -lgdk-3.0 -lgtk-3 -lgio-2.0 -lgobject-2.0 -linkerOpts.linux = -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu -lglib-2.0 -lgdk-3 -lgtk-3 -lgio-2.0 -lgobject-2.0 -linkerOpts.mingw = -lglib-2.0 -lgdk-3 -lgtk-3 -lgio-2.0 -lgobject-2.0 diff --git a/samples/html5Canvas/README.md b/samples/html5Canvas/README.md index 24e19a4da9f..0458415e615 100644 --- a/samples/html5Canvas/README.md +++ b/samples/html5Canvas/README.md @@ -1,15 +1 @@ -# HTML5 Canvas - -This sample shows how to use Kotlin/Native to build a WebAssembly application and how to call JavaScript functions -from a Kotlin/Native code. - -> __Note__: If you build this sample not from the Kotlin/Native repository, you need to specify a path to a -Kotlin/Native distribution. Add the following snippet in `gradle.properties`: ->``` ->kotlin.native.home= ->``` -> The default distribution path is `$HOME/.konan/kotlin-native--`. - -To build use `../gradlew assemble`. - -To run use `../gradlew runProgram`. \ No newline at end of file +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/html5Canvas/build.gradle.kts b/samples/html5Canvas/build.gradle.kts deleted file mode 100644 index 1eb51b6f234..00000000000 --- a/samples/html5Canvas/build.gradle.kts +++ /dev/null @@ -1,97 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompile -import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget -import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinNativeCompile - -plugins { - kotlin("multiplatform") -} - -repositories { - jcenter() - maven("https://dl.bintray.com/kotlin/ktor") -} - -val hostOs = System.getProperty("os.name") -val isWindows = hostOs.startsWith("Windows") - -val packageName = "kotlinx.interop.wasm.dom" -val jsinteropKlibFile = buildDir.resolve("klib").resolve("$packageName-jsinterop.klib") - -kotlin { - wasm32("html5Canvas") { - binaries { - executable { - entryPoint = "sample.html5canvas.main" - } - } - } - jvm("httpServer") - sourceSets { - val html5CanvasMain by getting { - dependencies { - implementation(files(jsinteropKlibFile)) - } - } - val httpServerMain by getting { - dependencies { - implementation("io.ktor:ktor-server-netty:1.2.1") - } - } - } -} - -val jsinterop by tasks.creating(Exec::class) { - workingDir = projectDir - - val ext = if (isWindows) ".bat" else "" - val distributionPath = project.properties["kotlin.native.home"] as String? - - if (distributionPath != null) { - val jsinteropCommand = file(distributionPath).resolve("bin").resolve("jsinterop$ext") - - inputs.property("jsinteropCommand", jsinteropCommand) - inputs.property("jsinteropPackageName", packageName) - outputs.file(jsinteropKlibFile) - - commandLine( - jsinteropCommand, - "-pkg", packageName, - "-o", jsinteropKlibFile, - "-target", "wasm32" - ) - } else { - doFirst { - // Abort build execution if the distribution path isn't specified. - throw GradleException( - """ - | - |Kotlin/Native distribution path must be specified to build the JavaScript interop. - |Use 'kotlin.native.home' project property to specify it. - """.trimMargin() - ) - } - } -} - -tasks.withType(AbstractKotlinNativeCompile::class).all { - dependsOn(jsinterop) -} - -val assemble by tasks.getting - -// This is to run embedded HTTP server with Ktor: -val runProgram by tasks.creating(JavaExec::class) { - dependsOn(assemble) - - val httpServer: KotlinJvmTarget by kotlin.targets - val httpServerMainCompilation = httpServer.compilations["main"] - - main = "sample.html5canvas.httpserver.HttpServer" - classpath = files(httpServerMainCompilation.output) + httpServerMainCompilation.runtimeDependencyFiles - args = listOf(projectDir.toString()) -} - -tasks.withType(KotlinJvmCompile::class).all { - runProgram.dependsOn(this) - kotlinOptions.jvmTarget = "1.8" -} diff --git a/samples/html5Canvas/gradle.properties b/samples/html5Canvas/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/html5Canvas/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/html5Canvas/index.html b/samples/html5Canvas/index.html deleted file mode 100644 index a51ba19f7a6..00000000000 --- a/samples/html5Canvas/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - -

Draw something using the mouse!

- - - diff --git a/samples/html5Canvas/src/html5CanvasMain/kotlin/main.kt b/samples/html5Canvas/src/html5CanvasMain/kotlin/main.kt deleted file mode 100644 index 4104fb998ca..00000000000 --- a/samples/html5Canvas/src/html5CanvasMain/kotlin/main.kt +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.html5canvas - -import kotlinx.interop.wasm.dom.* -import kotlinx.wasm.jsinterop.* - -fun main() { - - val canvas = document.getElementById("myCanvas").asCanvas - val ctx = canvas.getContext("2d") - val rect = canvas.getBoundingClientRect() - val rectLeft = rect.left - val rectTop = rect.top - - var mouseX: Int = 0 - var mouseY: Int = 0 - var draw: Boolean = false - - document.setter("onmousemove") { arguments: ArrayList -> - val event = MouseEvent(arguments[0]) - mouseX = event.getInt("clientX") - rectLeft - mouseY = event.getInt("clientY") - rectTop - - if (mouseX < 0) mouseX = 0 - if (mouseX > 639) mouseX = 639 - if (mouseY < 0) mouseY = 0 - if (mouseY > 479) mouseY = 479 - } - - document.setter("onmousedown") { - draw = true - } - - document.setter("onmouseup") { - draw = false - } - - setInterval(10) { - if (draw) { - ctx.strokeStyle = "#222222" - ctx.lineTo(mouseX, mouseY) - ctx.stroke() - } else { - ctx.moveTo(mouseX, mouseY) - ctx.stroke() - } - } -} - diff --git a/samples/html5Canvas/src/httpServerMain/kotlin/HttpServer.kt b/samples/html5Canvas/src/httpServerMain/kotlin/HttpServer.kt deleted file mode 100644 index a9e76dc20ba..00000000000 --- a/samples/html5Canvas/src/httpServerMain/kotlin/HttpServer.kt +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -@file:JvmName("HttpServer") - -package sample.html5canvas.httpserver - -import io.ktor.application.call -import io.ktor.http.ContentType -import io.ktor.http.content.LocalFileContent -import io.ktor.http.content.default -import io.ktor.http.content.files -import io.ktor.http.content.static -import io.ktor.response.respond -import io.ktor.routing.get -import io.ktor.routing.routing -import io.ktor.server.engine.embeddedServer -import io.ktor.server.netty.Netty -import java.io.File - -fun main(args: Array) { - - check(args.size == 1) { "Invalid number of arguments: $args.\nExpected one argument with content root." } - - val contentRoot = File(args[0]) - check(contentRoot.isDirectory) { "Invalid content root: $contentRoot." } - - println( - """ - - IMPORTANT: Please open http://localhost:8080/ in your browser! - - To stop embedded HTTP server use Ctrl+C (Cmd+C for Mac OS X). - - """.trimIndent() - ) - - val server = embeddedServer(Netty, 8080) { - routing { - val wasm = "build/bin/html5Canvas/releaseExecutable/html5Canvas.wasm" - get(wasm) { - // TODO: ktor as of now doesn't know about 'application/wasm'. - // The newer browsers (firefox and chrome at least) don't allow - // 'application/octet-stream' for wasm anymore. - // We provide the proper content type here and, - // at the same time, put it into the ktor database. - // Remove this whole get() clause when ktor fix is available. - call.respond(LocalFileContent(File(wasm), ContentType("application", "wasm"))) - } - static("/") { - files(contentRoot) - default("index.html") - } - } - } - server.start(wait = true) -} diff --git a/samples/libcurl/README.md b/samples/libcurl/README.md index 4d25128baa2..0458415e615 100644 --- a/samples/libcurl/README.md +++ b/samples/libcurl/README.md @@ -1,13 +1 @@ -# Curl interop library - -This example shows how to build and publish an interop library to communicate with the libcurl, -HTTP/HTTPS/FTP/etc client library. - -Install libcurl development files. For Mac - `brew install curl`. For Debian-like Linux - use `apt-get install libcurl4-openssl-dev` or `apt-get install libcurl4-gnutls-dev`. -For Windows - `pacman -S mingw-w64-x86_64-curl` in MinGW64 console, if you do -not have MSYS2-MinGW64 installed - install it first as described in http://www.msys2.org - -To build use `../gradlew assemble`. - -To publish the library into a local repo use `../gradlew publish`. - +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/libcurl/build.gradle.kts b/samples/libcurl/build.gradle.kts deleted file mode 100644 index f6f0bfdff67..00000000000 --- a/samples/libcurl/build.gradle.kts +++ /dev/null @@ -1,62 +0,0 @@ -plugins { - kotlin("multiplatform") - `maven-publish` -} - -group = "org.jetbrains.kotlin.sample.native" -version = "1.0" - -val localRepo = rootProject.file("build/.m2-local") - -publishing { - repositories { - maven("file://$localRepo") - } -} - -val cleanLocalRepo by tasks.creating(Delete::class) { - delete(localRepo) -} - -val mingwPath = File(System.getenv("MINGW64_DIR") ?: "C:/msys64/mingw64") - -kotlin { - - // Determine host preset. - val hostOs = System.getProperty("os.name") - - // Create target for the host platform. - val hostTarget = when { - hostOs == "Mac OS X" -> macosX64("libcurl") - hostOs == "Linux" -> linuxX64("libcurl") - hostOs.startsWith("Windows") -> mingwX64("libcurl") - else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") - } - - hostTarget.apply { - compilations["main"].cinterops { - val libcurl by creating { - when (preset) { - presets["macosX64"] -> includeDirs.headerFilterOnly("/opt/local/include", "/usr/local/include") - presets["linuxX64"] -> includeDirs.headerFilterOnly("/usr/include", "/usr/include/x86_64-linux-gnu") - presets["mingwX64"] -> includeDirs.headerFilterOnly(mingwPath.resolve("include")) - } - } - } - - mavenPublication { - pom { - withXml { - val root = asNode() - root.appendNode("name", "libcurl interop library") - root.appendNode("description", "A library providing interoperability with host libcurl") - } - } - } - } - - // Enable experimental stdlib API used by the sample. - sourceSets.all { - languageSettings.useExperimentalAnnotation("kotlin.ExperimentalStdlibApi") - } -} diff --git a/samples/libcurl/gradle.properties b/samples/libcurl/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/libcurl/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/libcurl/src/libcurlMain/kotlin/CUrl.kt b/samples/libcurl/src/libcurlMain/kotlin/CUrl.kt deleted file mode 100644 index f6d7260a1c0..00000000000 --- a/samples/libcurl/src/libcurlMain/kotlin/CUrl.kt +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.libcurl - -import kotlinx.cinterop.* -import platform.posix.size_t -import libcurl.* - -class CUrl(url: String) { - private val stableRef = StableRef.create(this) - - private val curl = curl_easy_init() - - init { - curl_easy_setopt(curl, CURLOPT_URL, url) - val header = staticCFunction(::header_callback) - curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, header) - curl_easy_setopt(curl, CURLOPT_HEADERDATA, stableRef.asCPointer()) - val writeData = staticCFunction(::write_callback) - curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeData) - curl_easy_setopt(curl, CURLOPT_WRITEDATA, stableRef.asCPointer()) - } - - val header = Event() - val body = Event() - - fun nobody(){ - curl_easy_setopt(curl, CURLOPT_NOBODY, 1L) - } - - fun fetch() { - val res = curl_easy_perform(curl) - if (res != CURLE_OK) - println("curl_easy_perform() failed: ${curl_easy_strerror(res)?.toKString()}") - } - - fun close() { - curl_easy_cleanup(curl) - stableRef.dispose() - } -} - -fun CPointer.toKString(length: Int): String { - val bytes = this.readBytes(length) - return bytes.decodeToString() -} - -fun header_callback(buffer: CPointer?, size: size_t, nitems: size_t, userdata: COpaquePointer?): size_t { - if (buffer == null) return 0u - if (userdata != null) { - val header = buffer.toKString((size * nitems).toInt()).trim() - val curl = userdata.asStableRef().get() - curl.header(header) - } - return size * nitems -} - - -fun write_callback(buffer: CPointer?, size: size_t, nitems: size_t, userdata: COpaquePointer?): size_t { - if (buffer == null) return 0u - if (userdata != null) { - val data = buffer.toKString((size * nitems).toInt()).trim() - val curl = userdata.asStableRef().get() - curl.body(data) - } - return size * nitems -} - diff --git a/samples/libcurl/src/libcurlMain/kotlin/Event.kt b/samples/libcurl/src/libcurlMain/kotlin/Event.kt deleted file mode 100644 index 4eddfe809af..00000000000 --- a/samples/libcurl/src/libcurlMain/kotlin/Event.kt +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.libcurl - -typealias EventHandler = (T) -> Unit -class Event { - private var handlers = emptyList>() - - fun subscribe(handler: EventHandler) { - handlers += handler - } - - fun unsubscribe(handler: EventHandler) { - handlers -= handler - } - - operator fun plusAssign(handler: EventHandler) = subscribe(handler) - operator fun minusAssign(handler: EventHandler) = unsubscribe(handler) - - operator fun invoke(value: T) { - var exception: Throwable? = null - for (handler in handlers) { - try { - handler(value) - } catch (e: Throwable) { - exception = e - } - } - exception?.let { throw it } - } -} \ No newline at end of file diff --git a/samples/libcurl/src/nativeInterop/cinterop/libcurl.def b/samples/libcurl/src/nativeInterop/cinterop/libcurl.def deleted file mode 100644 index 79775cad0c7..00000000000 --- a/samples/libcurl/src/nativeInterop/cinterop/libcurl.def +++ /dev/null @@ -1,5 +0,0 @@ -headers = curl/curl.h -headerFilter = curl/* -linkerOpts.osx = -L/opt/local/lib -L/usr/local/opt/curl/lib -lcurl -linkerOpts.linux = -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu -lcurl -linkerOpts.mingw = -lcurl diff --git a/samples/nonBlockingEchoServer/README.md b/samples/nonBlockingEchoServer/README.md index c7601aad8e3..0458415e615 100644 --- a/samples/nonBlockingEchoServer/README.md +++ b/samples/nonBlockingEchoServer/README.md @@ -1,25 +1 @@ -# Non-blocking echo server demo - -This sample shows how to implement multi-client server using coroutines. -IO operations are implemented using non-blocking OS calls, and instead coroutines -are being suspended and resumed whenever relevant. - -Thus, while server can process multiple connections concurrently, -each individual connection handler is written in simple linear manner. - -To build use `../gradlew assemble`. - -To run use `../gradlew runReleaseExecutableNonBlockingEchoServer` or execute the program directly: - - ./build/bin/nonBlockingEchoServer/main/release/executable/nonBlockingEchoServer.kexe 3000 & - -Test the server by connecting to it, for example with telnet: - - telnet localhost 3000 - -Write something to console and watch server echoing it back. -Concurrently connect from another terminal. Note that each connection gets its own -connection id prefixed to echo response. - -~~Quit telnet by pressing ctrl+] ctrl+D~~ - +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/nonBlockingEchoServer/build.gradle.kts b/samples/nonBlockingEchoServer/build.gradle.kts deleted file mode 100644 index 46449d22811..00000000000 --- a/samples/nonBlockingEchoServer/build.gradle.kts +++ /dev/null @@ -1,25 +0,0 @@ -plugins { - kotlin("multiplatform") -} - -kotlin { - // Determine host preset. - val hostOs = System.getProperty("os.name") - - // Create target for the host platform. - val hostTarget = when { - hostOs == "Mac OS X" -> macosX64("nonBlockingEchoServer") - hostOs == "Linux" -> linuxX64("nonBlockingEchoServer") - hostOs.startsWith("Windows") -> mingwX64("nonBlockingEchoServer") - else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") - } - - hostTarget.apply { - binaries { - executable { - entryPoint = "sample.nbechoserver.main" - runTask?.args(3000) - } - } - } -} \ No newline at end of file diff --git a/samples/nonBlockingEchoServer/gradle.properties b/samples/nonBlockingEchoServer/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/nonBlockingEchoServer/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/nonBlockingEchoServer/src/nonBlockingEchoServerMain/kotlin/EchoServer.kt b/samples/nonBlockingEchoServer/src/nonBlockingEchoServerMain/kotlin/EchoServer.kt deleted file mode 100644 index ae31d0b31ad..00000000000 --- a/samples/nonBlockingEchoServer/src/nonBlockingEchoServerMain/kotlin/EchoServer.kt +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.nbechoserver - -import kotlinx.cinterop.* -import platform.posix.* -import kotlin.coroutines.* -import kotlin.coroutines.intrinsics.* - -fun main(args: Array) { - if (args.isEmpty()) { - println("Usage: nonBlockingEchoServer.kexe ") - return - } - - val port = args[0].toShort() - - memScoped { - - val serverAddr = alloc() - - val listenFd = socket(AF_INET, SOCK_STREAM, 0) - .ensureUnixCallResult { !it.isMinusOne() } - - with(serverAddr) { - memset(this.ptr, 0, sockaddr_in.size.convert()) - sin_family = AF_INET.convert() - sin_addr.s_addr = posix_htons(0).convert() - sin_port = posix_htons(port).convert() - } - - bind(listenFd, serverAddr.ptr.reinterpret(), sockaddr_in.size.toUInt()) - .ensureUnixCallResult { it == 0 } - - fcntl(listenFd, F_SETFL, O_NONBLOCK) - .ensureUnixCallResult { it == 0 } - - listen(listenFd, 10) - .ensureUnixCallResult { it == 0 } - - var connectionId = 0 - acceptClientsAndRun(listenFd) { - memScoped { - val bufferLength = 100uL - val buffer = allocArray(bufferLength.toLong()) - val connectionIdString = "#${++connectionId}: ".cstr - val connectionIdBytes = connectionIdString.ptr - - try { - while (true) { - val length = read(buffer, bufferLength) - - if (length == 0uL) - break - - write(connectionIdBytes, connectionIdString.size.toULong()) - write(buffer, length) - } - } catch (e: IOException) { - println("I/O error occured: ${e.message}") - } - } - } - } -} - -sealed class WaitingFor { - class Accept : WaitingFor() - - class Read(val data: CArrayPointer, - val length: ULong, - val continuation: Continuation) : WaitingFor() - - class Write(val data: CArrayPointer, - val length: ULong, - val continuation: Continuation) : WaitingFor() -} - -class Client(val clientFd: Int, val waitingList: MutableMap) { - suspend fun read(data: CArrayPointer, dataLength: ULong): ULong { - val length = read(clientFd, data, dataLength) - if (length >= 0) - return length.toULong() - if (posix_errno() != EWOULDBLOCK) - throw IOException(getUnixError()) - // Save continuation and suspend. - return suspendCoroutine { continuation -> - waitingList.put(clientFd, WaitingFor.Read(data, dataLength, continuation)) - } - } - - suspend fun write(data: CArrayPointer, length: ULong) { - val written = write(clientFd, data, length) - if (written >= 0) - return - if (posix_errno() != EWOULDBLOCK) - throw IOException(getUnixError()) - // Save continuation and suspend. - return suspendCoroutine { continuation -> - waitingList.put(clientFd, WaitingFor.Write(data, length, continuation)) - } - } -} - -open class EmptyContinuation(override val context: CoroutineContext = EmptyCoroutineContext) : Continuation { - companion object : EmptyContinuation() - override fun resumeWith(result: Result) { result.getOrThrow() } -} - -fun acceptClientsAndRun(serverFd: Int, block: suspend Client.() -> Unit) { - memScoped { - val waitingList = mutableMapOf(serverFd to WaitingFor.Accept()) - val readfds = alloc() - val writefds = alloc() - val errorfds = alloc() - var maxfd = serverFd - while (true) { - posix_FD_ZERO(readfds.ptr) - posix_FD_ZERO(writefds.ptr) - posix_FD_ZERO(errorfds.ptr) - for ((socketFd, watingFor) in waitingList) { - when (watingFor) { - is WaitingFor.Accept -> posix_FD_SET(socketFd, readfds.ptr) - is WaitingFor.Read -> posix_FD_SET(socketFd, readfds.ptr) - is WaitingFor.Write -> posix_FD_SET(socketFd, writefds.ptr) - } - posix_FD_SET(socketFd, errorfds.ptr) - } - pselect(maxfd + 1, readfds.ptr, writefds.ptr, errorfds.ptr, null, null) - .ensureUnixCallResult { it >= 0 } - loop@for (socketFd in 0..maxfd) { - val waitingFor = waitingList[socketFd] - val errorOccured = posix_FD_ISSET(socketFd, errorfds.ptr) != 0 - if (posix_FD_ISSET(socketFd, readfds.ptr) != 0 - || posix_FD_ISSET(socketFd, writefds.ptr) != 0 - || errorOccured) { - when (waitingFor) { - is WaitingFor.Accept -> { - if (errorOccured) - throw Error("Socket has been closed externally") - - // Accept new client. - val clientFd = accept(serverFd, null, null) - if (clientFd.isMinusOne()) { - if (posix_errno() != EWOULDBLOCK) - throw Error(getUnixError()) - break@loop - } - fcntl(clientFd, F_SETFL, O_NONBLOCK) - .ensureUnixCallResult { it == 0 } - if (maxfd < clientFd) - maxfd = clientFd - block.startCoroutine(Client(clientFd, waitingList), EmptyContinuation) - } - is WaitingFor.Read -> { - if (errorOccured) - waitingFor.continuation.resumeWithException(IOException("Connection was closed by peer")) - - // Resume reading operation. - waitingList.remove(socketFd) - val length = read(socketFd, waitingFor.data, waitingFor.length) - if (length < 0) // Read error. - waitingFor.continuation.resumeWithException(IOException(getUnixError())) - waitingFor.continuation.resume(length.toULong()) - } - is WaitingFor.Write -> { - if (errorOccured) - waitingFor.continuation.resumeWithException(IOException("Connection was closed by peer")) - - // Resume writing operation. - waitingList.remove(socketFd) - val written = write(socketFd, waitingFor.data, waitingFor.length) - if (written < 0) // Write error. - waitingFor.continuation.resumeWithException(IOException(getUnixError())) - waitingFor.continuation.resume(Unit) - } - } - } - } - } - } -} - -class IOException(message: String): RuntimeException(message) - -fun getUnixError() = strerror(posix_errno())!!.toKString() - -inline fun Int.ensureUnixCallResult(predicate: (Int) -> Boolean): Int { - if (!predicate(this)) { - throw Error(getUnixError()) - } - return this -} - -inline fun Long.ensureUnixCallResult(predicate: (Long) -> Boolean): Long { - if (!predicate(this)) { - throw Error(getUnixError()) - } - return this -} - -inline fun ULong.ensureUnixCallResult(predicate: (ULong) -> Boolean): ULong { - if (!predicate(this)) { - throw Error(getUnixError()) - } - return this -} - -private fun Int.isMinusOne() = (this == -1) -private fun Long.isMinusOne() = (this == -1L) -private fun ULong.isMinusOne() = (this == ULong.MAX_VALUE) diff --git a/samples/objc/README.md b/samples/objc/README.md new file mode 100644 index 00000000000..0458415e615 --- /dev/null +++ b/samples/objc/README.md @@ -0,0 +1 @@ +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/objc/build.gradle.kts b/samples/objc/build.gradle.kts deleted file mode 100644 index 6fb69738b9b..00000000000 --- a/samples/objc/build.gradle.kts +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - kotlin("multiplatform") -} - -kotlin { - macosX64("objc") { - binaries { - executable { - entryPoint = "sample.objc.main" - } - } - } -} \ No newline at end of file diff --git a/samples/objc/gradle.properties b/samples/objc/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/objc/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/objc/src/objcMain/kotlin/Async.kt b/samples/objc/src/objcMain/kotlin/Async.kt deleted file mode 100644 index 78517f043d7..00000000000 --- a/samples/objc/src/objcMain/kotlin/Async.kt +++ /dev/null @@ -1,104 +0,0 @@ -package sample.objc - -import kotlinx.cinterop.staticCFunction -import platform.Foundation.NSOperationQueue -import platform.Foundation.NSThread -import platform.darwin.dispatch_async_f -import platform.darwin.dispatch_get_main_queue -import platform.darwin.dispatch_sync_f -import kotlin.native.concurrent.* -import kotlin.test.assertNotNull - -inline fun executeAsync(queue: NSOperationQueue, crossinline producerConsumer: () -> Pair Unit>) { - dispatch_async_f(queue.underlyingQueue, DetachedObjectGraph { - producerConsumer() - }.asCPointer(), staticCFunction { it -> - val result = DetachedObjectGraph Unit>>(it).attach() - result.second(result.first) - }) -} - -inline fun mainContinuation(singleShot: Boolean = true, noinline block: () -> Unit) = Continuation0( - block, staticCFunction { invokerArg -> - if (NSThread.isMainThread()) { - invokerArg!!.callContinuation0() - } else { - dispatch_sync_f(dispatch_get_main_queue(), invokerArg, staticCFunction { args -> - args!!.callContinuation0() - }) - } -}, singleShot) - -inline fun mainContinuation(singleShot: Boolean = true, noinline block: (T1) -> Unit) = Continuation1( - block, staticCFunction { invokerArg -> - if (NSThread.isMainThread()) { - invokerArg!!.callContinuation1() - } else { - dispatch_sync_f(dispatch_get_main_queue(), invokerArg, staticCFunction { args -> - args!!.callContinuation1() - }) - } -}, singleShot) - -inline fun mainContinuation(singleShot: Boolean = true, noinline block: (T1, T2) -> Unit) = Continuation2( - block, staticCFunction { invokerArg -> - if (NSThread.isMainThread()) { - invokerArg!!.callContinuation2() - } else { - dispatch_sync_f(dispatch_get_main_queue(), invokerArg, staticCFunction { args -> - args!!.callContinuation2() - }) - } -}, singleShot) - -// This object allows to create frozen Kotlin continuations suitable for execution on other threads/queues. -// It takes frozen operation and any after call, and creates lambda which could be used to run operation -// anywhere and provide result to `after` callback. -@ThreadLocal -object Continuator { - val map = mutableMapOf>() - - fun wrap(operation: () -> Unit, after: () -> Unit): () -> Unit { - assert(NSThread.isMainThread()) - assert(operation.isFrozen) - val id = Any().freeze() - map[id] = Pair(0, after) - return { - initRuntimeIfNeeded() - operation() - executeAsync(NSOperationQueue.mainQueue) { - Pair(id, { id: Any -> Continuator.execute(id) }) - } - }.freeze() - } - - fun

wrap(operation: () -> P, block: (P) -> Unit): () -> Unit { - assert(NSThread.isMainThread()) - assert(operation.isFrozen) - val id = Any().freeze() - map[id] = Pair(1, block) - return { - initRuntimeIfNeeded() - // Note, that operation here must return detachable value (for example, frozen). - executeAsync(NSOperationQueue.mainQueue) { - Pair(Pair(id, operation()), { it: Pair -> - Continuator.execute(it.first, it.second) - }) - } - }.freeze() - } - - fun execute(id: Any) { - val countAndBlock = map.remove(id) - assertNotNull(countAndBlock) - assert(countAndBlock.first == 0) - (countAndBlock.second as Function0)() - } - - fun

execute(id: Any, parameter: P) { - val countAndBlock = map.remove(id) - assertNotNull(countAndBlock) - assert(countAndBlock.first == 1) - (countAndBlock.second as Function1)(parameter) - } -} diff --git a/samples/objc/src/objcMain/kotlin/Window.kt b/samples/objc/src/objcMain/kotlin/Window.kt deleted file mode 100644 index 29a1024fbce..00000000000 --- a/samples/objc/src/objcMain/kotlin/Window.kt +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the LICENSE file. - */ - -package sample.objc - -import kotlinx.cinterop.* -import platform.AppKit.* -import platform.Contacts.CNContactStore -import platform.Contacts.CNEntityType -import platform.Foundation.* -import platform.darwin.* -import platform.posix.QOS_CLASS_BACKGROUND -import platform.posix.memcpy -import kotlin.native.concurrent.* -import kotlin.test.assertNotNull - -data class QueryResult(val json: Map?, val error: String?) - -private fun MutableData.asNSData() = this.withPointerLocked { it, size -> - val result = NSMutableData.create(length = size.convert())!! - memcpy(result.mutableBytes, it, size.convert()) - result -} - -private fun MutableData.asJSON(): Map? = - NSJSONSerialization.JSONObjectWithData(this.asNSData(), 0, null) as? Map - -fun main() { - autoreleasepool { - runApp() - } -} - -val appDelegate = MyAppDelegate() - -private fun runApp() { - val app = NSApplication.sharedApplication() - - app.delegate = appDelegate - app.setActivationPolicy(NSApplicationActivationPolicy.NSApplicationActivationPolicyRegular) - app.activateIgnoringOtherApps(true) - - app.run() -} - - -class Controller : NSObject() { - private var index = 1 - private val httpDelegate = HttpDelegate() - - @ObjCAction - fun onClick() { - if (!appDelegate.canClick) { - appDelegate.contentText.string = "Another load in progress..." - return - } - - // Here we call continuator service to ensure we can access mutable state from continuation. - - dispatch_async(dispatch_get_global_queue(QOS_CLASS_BACKGROUND.convert(), 0), - Continuator.wrap({ println("In queue ${dispatch_get_current_queue()}")}.freeze()) { - println("After in queue ${dispatch_get_current_queue()}: $index") - }) - - appDelegate.canClick = false - // Fetch URL in the background on the button click. - httpDelegate.fetchUrl("https://jsonplaceholder.typicode.com/todos/${index++}") - } - - @ObjCAction - fun onQuit() { - NSApplication.sharedApplication().stop(this) - } - - @ObjCAction - fun onRequest() { - val addressBookRef = CNContactStore() - addressBookRef.requestAccessForEntityType(CNEntityType.CNEntityTypeContacts, mainContinuation { - granted, error -> - appDelegate.contentText.string = if (granted) - "Access granted!" - else - "Access denied: $error" - }) - } - - class HttpDelegate: NSObject(), NSURLSessionDataDelegateProtocol { - private val asyncQueue = NSOperationQueue() - private val receivedData = MutableData() - - init { - freeze() - } - - fun fetchUrl(url: String) { - receivedData.reset() - val session = NSURLSession.sessionWithConfiguration( - NSURLSessionConfiguration.defaultSessionConfiguration(), - this, - delegateQueue = asyncQueue - ) - session.dataTaskWithURL(NSURL(string = url)).resume() - } - - override fun URLSession(session: NSURLSession, dataTask: NSURLSessionDataTask, didReceiveData: NSData) { - initRuntimeIfNeeded() - receivedData.append(didReceiveData.bytes, didReceiveData.length.convert()) - } - - override fun URLSession(session: NSURLSession, task: NSURLSessionTask, didCompleteWithError: NSError?) { - initRuntimeIfNeeded() - - executeAsync(NSOperationQueue.mainQueue) { - val response = task.response as? NSHTTPURLResponse - Pair(when { - response == null -> QueryResult(null, didCompleteWithError?.localizedDescription) - response.statusCode.toInt() != 200 -> QueryResult(null, "${response.statusCode.toInt()})") - else -> QueryResult(receivedData.asJSON(), null) - }, { result: QueryResult -> - appDelegate.contentText.string = result.json?.toString() ?: "Error: ${result.error}" - appDelegate.canClick = true - }) - } - } - } -} - -class MyAppDelegate() : NSObject(), NSApplicationDelegateProtocol { - - private val window: NSWindow - private val controller = Controller() - val contentText: NSText - var canClick = true - - init { - val mainDisplayRect = NSScreen.mainScreen()!!.frame - val windowRect = mainDisplayRect.useContents { - NSMakeRect( - origin.x + size.width * 0.25, - origin.y + size.height * 0.25, - size.width * 0.5, - size.height * 0.5 - ) - } - - val windowStyle = NSWindowStyleMaskTitled or NSWindowStyleMaskMiniaturizable or - NSWindowStyleMaskClosable or NSWindowStyleMaskResizable - - window = NSWindow(windowRect, windowStyle, NSBackingStoreBuffered, false).apply { - title = "URL async fetcher" - opaque = true - hasShadow = true - preferredBackingLocation = NSWindowBackingLocationVideoMemory - hidesOnDeactivate = false - backgroundColor = NSColor.grayColor() - releasedWhenClosed = false - - val delegateImpl = object : NSObject(), NSWindowDelegateProtocol { - override fun windowShouldClose(sender: NSWindow): Boolean { - NSApplication.sharedApplication().stop(this) - return true - } - } - - // Wrapping to autoreleasepool is a workaround for false-positive memory leak detected: - // NSWindow.delegate setter appears to put the delegate to autorelease pool. - // Since this code runs during top-level val initializer, it misses the autoreleasepool in [main], - // so the object gets released too late. - autoreleasepool { - delegate = delegateImpl - } - } - - val buttonPress = NSButton(NSMakeRect(10.0, 10.0, 100.0, 40.0)).apply { - title = "Click" - target = controller - action = NSSelectorFromString("onClick") - } - window.contentView!!.addSubview(buttonPress) - val buttonQuit = NSButton(NSMakeRect(120.0, 10.0, 100.0, 40.0)).apply { - title = "Quit" - target = controller - action = NSSelectorFromString("onQuit") - } - window.contentView!!.addSubview(buttonQuit) - - val buttonRequest = NSButton(NSMakeRect(230.0, 10.0, 100.0, 40.0)).apply { - title = "Request" - target = controller - action = NSSelectorFromString("onRequest") - } - window.contentView!!.addSubview(buttonRequest) - - contentText = NSText(NSMakeRect(10.0, 80.0, 600.0, 350.0)).apply { - string = "Press 'Click' to start fetching" - verticallyResizable = false - horizontallyResizable = false - - } - window.contentView!!.addSubview(contentText) - } - - override fun applicationWillFinishLaunching(notification: NSNotification) { - window.makeKeyAndOrderFront(this) - } -} diff --git a/samples/opengl/README.md b/samples/opengl/README.md index f4e99586b82..0458415e615 100644 --- a/samples/opengl/README.md +++ b/samples/opengl/README.md @@ -1,13 +1 @@ -# OpenGL application - -This example shows interaction with OpenGL library, to render classical 3D test model. Linux build requires `apt-get install freeglut3-dev` or similar, -MacOS shall work as is. - -To build use `../gradlew assemble`. - -To run use `../gradlew runReleaseExecutableOpengl` or execute the program directly: - - ./build/bin/opengl/main/release/executable/opengl.kexe - -It will render 3D model of teapot. Feel free to experiment with it, the whole power of OpenGL -is at your hands. +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/opengl/build.gradle.kts b/samples/opengl/build.gradle.kts deleted file mode 100644 index fbd3012308f..00000000000 --- a/samples/opengl/build.gradle.kts +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - kotlin("multiplatform") -} - -kotlin { - macosX64("opengl") { - binaries { - executable { - entryPoint = "sample.opengl.main" - } - } - } -} \ No newline at end of file diff --git a/samples/opengl/gradle.properties b/samples/opengl/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/opengl/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/opengl/src/openglMain/kotlin/OpenGlTeapot.kt b/samples/opengl/src/openglMain/kotlin/OpenGlTeapot.kt deleted file mode 100644 index c94f9cf14cb..00000000000 --- a/samples/opengl/src/openglMain/kotlin/OpenGlTeapot.kt +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.opengl - -import kotlinx.cinterop.* -import platform.GLUT.* -import platform.OpenGL.* -import platform.OpenGLCommon.* - -// Ported from http://openglsamples.sourceforge.net/projects/index.php/blog/index/ - -private var rotation: GLfloat = 0.0f -private val rotationSpeed: GLfloat = 0.2f - -private val windowWidth = 640 -private val windowHeight = 480 - -fun display() { - // Clear Screen and Depth Buffer - glClear((GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT).convert()) - glLoadIdentity() - - // Define a viewing transformation - gluLookAt(4.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) - - // Push and pop the current matrix stack. - // This causes that translations and rotations on this matrix wont influence others. - - glPushMatrix() - glColor3f(1.0f, 0.0f, 0.0f) - glTranslatef(0.0f, 0.0f, 0.0f) - glRotatef(rotation, 0.0f, 1.0f, 0.0f) - glRotatef(90.0f, 0.0f, 1.0f, 0.0f) - - // Draw the teapot - glutSolidTeapot(1.0) - glPopMatrix() - - - rotation += rotationSpeed - glutSwapBuffers() -} - - -fun initialize() { - // select projection matrix - glMatrixMode(GL_PROJECTION) - - // set the viewport - glViewport(0, 0, windowWidth, windowHeight) - - // set matrix mode - glMatrixMode(GL_PROJECTION) - - // reset projection matrix - glLoadIdentity() - val aspect = windowWidth.toDouble() / windowHeight - - // set up a perspective projection matrix - gluPerspective(45.0, aspect, 1.0, 500.0) - - // specify which matrix is the current matrix - glMatrixMode(GL_MODELVIEW) - glShadeModel(GL_SMOOTH) - - // specify the clear value for the depth buffer - glClearDepth(1.0) - glEnable(GL_DEPTH_TEST) - glDepthFunc(GL_LEQUAL) - - // specify implementation-specific hints - glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST) - - glLightModelfv(GL_LIGHT_MODEL_AMBIENT, cValuesOf(0.1f, 0.1f, 0.1f, 1.0f)) - glLightfv(GL_LIGHT0, GL_DIFFUSE, cValuesOf(0.6f, 0.6f, 0.6f, 1.0f)) - glLightfv(GL_LIGHT0, GL_SPECULAR, cValuesOf(0.7f, 0.7f, 0.3f, 1.0f)) - - glEnable(GL_LIGHT0) - glEnable(GL_COLOR_MATERIAL) - glShadeModel(GL_SMOOTH) - glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_FALSE) - glDepthFunc(GL_LEQUAL) - glEnable(GL_DEPTH_TEST) - glEnable(GL_LIGHTING) - glEnable(GL_LIGHT0) - glClearColor(0.0f, 0.0f, 0.0f, 1.0f) -} - -fun main() { - // initialize and run program - memScoped { - val argc = alloc().apply { value = 0 } - glutInit(argc.ptr, null) // TODO: pass real args - } - - // Display Mode - glutInitDisplayMode((GLUT_RGB or GLUT_DOUBLE or GLUT_DEPTH).convert()) - - // Set window size - glutInitWindowSize(windowWidth, windowHeight) - - // create Window - glutCreateWindow("The GLUT Teapot") - - // register Display Function - glutDisplayFunc(staticCFunction(::display)) - - // register Idle Function - glutIdleFunc(staticCFunction(::display)) - - initialize() - - // run GLUT mainloop - glutMainLoop() -} \ No newline at end of file diff --git a/samples/python_extension/README.md b/samples/python_extension/README.md index 8ae6b7d5dc3..0458415e615 100644 --- a/samples/python_extension/README.md +++ b/samples/python_extension/README.md @@ -1,114 +1 @@ -# C to Kotlin/Native interoperability example - -This example shows how to use Kotlin/Native programs from other execution environments, such as Python. -Python has C native interface, which could be used to organize a bridge with the -Kotlin/Native application. File `kotlin_bridge.c` contains translation code between Kotlin and Python -lands. This demo works on Linux, Windows (64-bit) or macOS hosts. - -To build and run the sample do the following: - -* Install Python with development headers, i.e. on Linux - ``` - sudo apt install python-dev - ``` - -* Run `build.sh`, it will ask for superuser password to install Python extension. - Use build.bat on Windows. -* On macOS copy Kotlin binary to extension's directory and change install name with - `install_name_tool` tool, i.e. - ``` - sudo cp ./build/libserver.dylib /Library/Python/2.7/site-packages/ - sudo install_name_tool /Library/Python/2.7/site-packages/kotlin_bridge.so \ - -change libserver.dylib @loader_path/libserver.dylib - ``` -* On Linux copy Kotlin binary in some place where libraries could be loaded from, i.e. - ``` - cp ./build/libserver.so /usr/local/lib/ - ldconfig - ``` - or modify dynamic loader search path with - ``` - export LD_LIBRARY_PATH=`pwd` - ``` - -* run Python code using Kotlin functionality with - ``` - python src/main/python/main.py - ``` -* it will show you result of using several Kotlin/Native APIs, accepting and returning both objects and - primitive types - - The example works as following. Kotlin/Native API is implemented in `Server.kt`, and we run Kotlin/Native compiler - with `-produce dynamic` option. Compiler produces two artifacts: `server_api.h` which is C language API - to all public functions and classes available in the application. `libserver.dylib` or `libserver.so` or `server.dll` - shared object contains C bridge to all above APIs. - - This C bridge looks like a C struct, reflecting all scopes in program, with operations available. For example, - for class Server -```c_cpp - class Server(val prefix: String) { - fun greet(session: Session) = "$prefix: Hello from Kotlin/Native in ${session}" - fun concat(session: Session, a: String, b: String) = "$prefix: $a $b in ${session}" - fun add(session: Session, a: Int, b: Int) = a + b + session.number - } -``` - following C API is produced -```c_cpp - typedef struct { - server_KNativePtr pinned; - } server_kref_demo_Session; - typedef struct { - server_KNativePtr pinned; - } server_kref_demo_Server; - - typedef struct { - /* Service functions. */ - void (*DisposeStablePointer)(server_KNativePtr ptr); - void (*DisposeString)(const char* string); - server_KBoolean (*IsInstance)(server_KNativePtr ref, const server_KType* type); - - /* User functions. */ - struct { - struct { - struct { - server_KType* (*_type)(void); - server_kref_demo_Session (*Session)(const char* name, server_KInt number); - } Session; - struct { - server_KType* (*_type)(void); - server_kref_demo_Server (*Server)(const char* prefix); - const char* (*greet)(server_kref_demo_Server thiz, server_kref_demo_Session session); - const char* (*concat)(server_kref_demo_Server thiz, server_kref_demo_Session session, const char* a, const char* b); - server_KInt (*add)(server_kref_demo_Server thiz, server_kref_demo_Session session, server_KInt a, server_KInt b); - } Server; - } demo; - } kotlin; - } server_ExportedSymbols; - extern server_ExportedSymbols* server_symbols(void); -``` - - So every class instance is represented with a single element structure, encapsulating stable pointer to an instance. - Once no longer needed, `DisposeStablePointer()` with that stable pointer shall be called, and if value is not stored - somewhere else - it is disposed. For primitive types and `kotlin.String` smart bridges converting to C primitive types - or to C strings (which has to be manually freed with `DisposeString()`) are implemented. - - For example, running constructor of class Server taking a string will look like - - server_kref_demo_Server server = server_symbols()->kotlin.demo.Server.Server("the server"); - - And disposing no longer needed instance will look like - - server_symbols()->DisposeStablePointer(server.pinned); - - To make code easier readable, macro definitions like - - #define T_(name) server_kref_demo_ ## name - #define __ server_symbols()-> - - will transform above, overly verbose lines to more readable - - T_(Server) server = __ kotlin.demo.Server.Server("the server"); - - `_type()` function will return opaque type pointer, which could be checked with `IsInstance()` operation, like - - __ IsInstance(ref.pinned, __ kotlin.demo.Server._type()) +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/python_extension/build.bat b/samples/python_extension/build.bat deleted file mode 100644 index 2fcff0aa32c..00000000000 --- a/samples/python_extension/build.bat +++ /dev/null @@ -1,15 +0,0 @@ -setlocal -set DIR=. - -if defined KONAN_HOME ( - set "PATH=%KONAN_HOME%\bin;%PATH%" -) else ( - set "PATH=..\..\dist\bin;..\..\bin;%PATH%" -) -kotlinc-native -p dynamic src/main/kotlin/Server.kt -o server - -rem Prepare MSVC build environment, and .lib file for linking with our .dll. -SET VS90COMNTOOLS=%VS140COMNTOOLS% -\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\lib.exe" /def:server.def /out:server.lib /machine:X64 - -python src/main/python/setup.py install diff --git a/samples/python_extension/build.sh b/samples/python_extension/build.sh deleted file mode 100755 index f091f2cda3d..00000000000 --- a/samples/python_extension/build.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd ) - -if [ -z "$KONAN_HOME" ]; then - PATH="$DIR/../../dist/bin:$DIR/../../bin:$PATH" -else - PATH="$KONAN_HOME/bin:$PATH" -fi - -KONAN_USER_DIR=${KONAN_DATA_DIR:-"$HOME/.konan"} -KONAN_DEPS="$KONAN_USER_DIR/dependencies" - -# python3 shall work as well. -PYTHON=python - -mkdir -p $DIR/build -cd $DIR/build - -kotlinc-native -p dynamic $DIR/src/main/kotlin/Server.kt -o server - -cd $DIR -sudo -S $PYTHON ${DIR}/src/main/python/setup.py install diff --git a/samples/python_extension/src/main/c/kotlin_bridge.c b/samples/python_extension/src/main/c/kotlin_bridge.c deleted file mode 100644 index d010e9ff6fd..00000000000 --- a/samples/python_extension/src/main/c/kotlin_bridge.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -#include - -#include "server_api.h" - -#define __ server_symbols()-> -#define T_(name) server_kref_demo_ ## name - -// Note, that as we cache this in the global, and Kotlin/Native object references -// are currently thread local, we make this global a TLS variable. -#ifdef _MSC_VER -#define TLSVAR __declspec(thread) -#else -#define TLSVAR __thread -#endif - -static TLSVAR server_kref_demo_Server server = { 0 }; - -static T_(Server) getServer(void) { - if (!server.pinned) { - server = __ kotlin.root.demo.Server.Server("the server"); - } - return server; -} - -static T_(Session) getSession(PyObject* args) { - T_(Session) result = { 0 }; - long long pinned; - if (PyArg_ParseTuple(args, "L", &pinned)) { - result.pinned = (void*)(uintptr_t)pinned; - } - return result; -} - -static PyObject* open_session(PyObject* self, PyObject* args) { - PyObject *result = NULL; - char* string_arg = NULL; - int int_arg = 0; - if (PyArg_ParseTuple(args, "is", &int_arg, &string_arg)) { - T_(Session) session = __ kotlin.root.demo.Session.Session(string_arg, int_arg); - result = Py_BuildValue("L", session.pinned); - } - return result; -} - -static PyObject* close_session(PyObject* self, PyObject* args) { - T_(Session) session = getSession(args); - __ DisposeStablePointer(session.pinned); - __ DisposeStablePointer(getServer().pinned); - server.pinned = 0; - return Py_BuildValue("L", 0); -} - -static PyObject* greet_server(PyObject* self, PyObject* args) { - T_(Server) server = getServer(); - T_(Session) session = getSession(args); - const char* string = __ kotlin.root.demo.Server.greet(server, session); - PyObject* result = Py_BuildValue("s", string); - __ DisposeString(string); - return result; -} - -static PyObject* concat_server(PyObject* self, PyObject* args) { - long long session_arg; - char* string_arg1 = NULL; - char* string_arg2 = NULL; - PyObject* result = NULL; - - if (PyArg_ParseTuple(args, "Lss", &session_arg, &string_arg1, &string_arg2)) { - T_(Server) server = getServer(); - T_(Session) session = { (void*)(uintptr_t)session_arg }; - const char* string = __ kotlin.root.demo.Server.concat(server, session, string_arg1, string_arg2); - result = Py_BuildValue("s", string); - __ DisposeString(string); - } else { - result = Py_BuildValue("s", NULL); - } - return result; -} - -static PyObject* add_server(PyObject* self, PyObject* args) { - long long session_arg; - int int_arg1 = 0; - int int_arg2 = 0; - PyObject* result = NULL; - - if (PyArg_ParseTuple(args, "Lii", &session_arg, &int_arg1, &int_arg2)) { - T_(Server) server = getServer(); - T_(Session) session = { (void*)(uintptr_t)session_arg }; - int sum = __ kotlin.root.demo.Server.add(server, session, int_arg1, int_arg2); - result = Py_BuildValue("i", sum); - } else { - result = Py_BuildValue("i", 0); - } - return result; -} - -static PyMethodDef kotlin_bridge_funcs[] = { - { "open_session", (PyCFunction)open_session, METH_VARARGS, "Opens a session" }, - { "close_session", (PyCFunction)close_session, METH_VARARGS, "Closes the session" }, - { "greet_server", (PyCFunction)greet_server, METH_VARARGS, "Greeting service" }, - { "concat_server", (PyCFunction)concat_server, METH_VARARGS, "Concatenation service" }, - { "add_server", (PyCFunction)add_server, METH_VARARGS, "Addition service" }, - { NULL } -}; - -#if PY_MAJOR_VERSION >= 3 - -struct module_state { - server_kref_demo_Server server; -}; - -static int kotlin_bridge_traverse(PyObject *m, visitproc visit, void *arg) { - return 0; -} - -static int kotlin_bridge_clear(PyObject *m) { - return 0; -} - -static struct PyModuleDef moduledef = { - PyModuleDef_HEAD_INIT, - "kotlin_bridge", - NULL, - sizeof(struct module_state), - kotlin_bridge_funcs, - NULL, - kotlin_bridge_traverse, - kotlin_bridge_clear, - NULL -}; - -PyMODINIT_FUNC PyInit_kotlin_bridge(void) { - PyObject *module = PyModule_Create(&moduledef); - return module; -} -#else -void initkotlin_bridge(void) { - Py_InitModule3("kotlin_bridge", kotlin_bridge_funcs, "Kotlin/Native example module"); -} -#endif diff --git a/samples/python_extension/src/main/kotlin/Server.kt b/samples/python_extension/src/main/kotlin/Server.kt deleted file mode 100644 index ee137f8f94b..00000000000 --- a/samples/python_extension/src/main/kotlin/Server.kt +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package demo - -class Session(val name: String, val number: Int) - -class Server(val prefix: String) { - fun greet(session: Session) = "$prefix: Hello from Kotlin/Native in ${session}" - fun concat(session: Session, a: String, b: String) = "$prefix: $a $b in ${session}" - fun add(session: Session, a: Int, b: Int) = a + b + session.number -} diff --git a/samples/python_extension/src/main/python/main.py b/samples/python_extension/src/main/python/main.py deleted file mode 100644 index bb7111128e5..00000000000 --- a/samples/python_extension/src/main/python/main.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/python -# -# Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license -# that can be found in the license/LICENSE.txt file. -# - -import kotlin_bridge - -session = kotlin_bridge.open_session(239, 'konan') - -message = kotlin_bridge.greet_server(session) -print("Greet '{}'".format(message)) - -message = kotlin_bridge.concat_server(session, "Coding", "fun") -print("Concat '{}'".format(message)) - -message = kotlin_bridge.add_server(session, 1, 60) -print("Sum '{}'".format(message)) - - -kotlin_bridge.close_session(session) - diff --git a/samples/python_extension/src/main/python/setup.py b/samples/python_extension/src/main/python/setup.py deleted file mode 100644 index e8030fd991b..00000000000 --- a/samples/python_extension/src/main/python/setup.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/python -# -# Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license -# that can be found in the license/LICENSE.txt file. -# - -from distutils.core import setup, Extension - -setup(name='kotlin_bridge', - version='1.0', - maintainer = 'JetBrains', - maintainer_email = 'info@jetbrains.com', - author = 'JetBrains', - author_email = 'info@jetbrains.com', - description = 'Kotlin/Native Python bridge', - long_description = 'Using Kotlin/Native from Python example', - - # data_files=[("/Library/Python/2.7/site-packages/", ['libserver.dylib'])], - - ext_modules=[ - Extension('kotlin_bridge', - include_dirs = ['./build'], - libraries = ['server'], - library_dirs = ['./build'], - depends = ['server_api.h'], - sources = ['src/main/c/kotlin_bridge.c'] - ) - ] -) - -# On macOS, after install you may want to copy libserver.dylib to Python's extension directory, -# and do something like -# sudo install_name_tool /Library/Python/2.7/site-packages/kotlin_bridge.so -change libserver.dylib @loader_path/libserver.dylib -# This way libserver.dylib could be loaded from extension's directory. \ No newline at end of file diff --git a/samples/settings.gradle.kts b/samples/settings.gradle.kts deleted file mode 100644 index 0ef4bc57303..00000000000 --- a/samples/settings.gradle.kts +++ /dev/null @@ -1,53 +0,0 @@ -pluginManagement { - repositories { - mavenCentral() - maven("https://dl.bintray.com/kotlin/kotlin-dev") - maven("https://dl.bintray.com/kotlin/kotlin-eap") - } -} - -enableFeaturePreview("GRADLE_METADATA") - -val hostOs = System.getProperty("os.name") -val isMacos = hostOs == "Mac OS X" -val isLinux = hostOs == "Linux" -val isWindows = hostOs.startsWith("Windows") - -/* - * The following projects are only available for certain platforms. - * - * IMPORTANT: If a new sample doesn't include interop with third-party libraries, - * add it into the 'buildSamplesWithPlatfromLibs' task in the root build.gradle. - */ -if (isMacos || isLinux || isWindows) { - include(":csvparser") - include(":curl") - include(":echoServer") - include(":gitchurn") - include(":globalState") - include(":gtk") - include(":html5Canvas") - include(":libcurl") - include(":tetris") - include(":videoplayer") - include(":workers") - include(":coverage") -} - -if (isMacos || isLinux) { - include(":nonBlockingEchoServer") - include(":tensorflow") - include(":torch") -} - -if (isMacos) { - include(":objc") - include(":opengl") - include(":uikit") - include(":watchos") - include(":simd") -} - -if (isWindows) { - include(":win32") -} diff --git a/samples/simd/README.md b/samples/simd/README.md new file mode 100644 index 00000000000..0458415e615 --- /dev/null +++ b/samples/simd/README.md @@ -0,0 +1 @@ +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/simd/build.gradle.kts b/samples/simd/build.gradle.kts deleted file mode 100644 index ba008f6b994..00000000000 --- a/samples/simd/build.gradle.kts +++ /dev/null @@ -1,11 +0,0 @@ -plugins { - kotlin("multiplatform") -} - -kotlin { - macosX64 { - binaries { - executable() - } - } -} \ No newline at end of file diff --git a/samples/simd/src/macosX64Main/kotlin/simd.kt b/samples/simd/src/macosX64Main/kotlin/simd.kt deleted file mode 100644 index 99d63bb55dd..00000000000 --- a/samples/simd/src/macosX64Main/kotlin/simd.kt +++ /dev/null @@ -1,54 +0,0 @@ -import platform.Accelerate.* - -// Custom print -fun Vector128.toStringHex(): String { - return "0x" + (0 until 16).map { getUByteAt(it).toString(16) }.joinToString("") -} - -// Custom print -fun Vector128.toStringFloat(): String { - return "(${(0 until 4).map { getFloatAt(it).toString() }.joinToString(", ")})" -} - - -fun main() { - - // Accessors - val vf4 = vectorOf(1f, 3.162f, 10f, 31f) - println(vf4) - println(vf4.toStringFloat()) - println(vf4.toStringHex()) - println(vf4.getFloatAt(1)) - println(vf4.getIntAt(0)) - println(vf4.getByteAt(3)) - // Illegal access (out of bounds) - try { - println(vf4.getIntAt(4)) - println("FAILED") - } catch (e: IndexOutOfBoundsException) { - println("Handling $e") - } - - // Assignment and equality - var x1 = vectorOf(-1f, 0f, 0f, -7f) - val y1 = vectorOf(-1f, 0f, 0f, -7f) - var x2 = vectorOf(1f, 4f, 3f, 7f) - println("(x1 == y1) is ${(x1 == y1)}") - println("(x1.equals(y1)) is ${(x1.equals(y1))}") - println("(x1 == x2) is ${(x1 == x2)}") - x1 = x2 - println("Now (x1 == x1) is ${(x1 == x1)}") - - - // Using library function (MacOS Accelerate framework) - val sum = vS128Add(vectorOf(1,2,3,4), vectorOf(4,3,2,1)) - println(sum) - // More Accelerate framework - val q = vectorOf(1f, 9f, 25f, 49f) - val sq = vsqrtf(q) - println("vsqrtf$q = ${sq.toStringFloat()}") - val f4 = vectorOf(1f, 3.162f, 10f, 31f) - println("vlog10f($f4) = ${vlog10f(vf4).toStringFloat()}") - - -} diff --git a/samples/tensorflow/README.md b/samples/tensorflow/README.md index ae394fddf2d..0458415e615 100644 --- a/samples/tensorflow/README.md +++ b/samples/tensorflow/README.md @@ -1,30 +1 @@ -# TensorFlow demo - -Small Hello World calculation on the [TensorFlow](https://www.tensorflow.org/) backend, -arranging simple operations into a graph and running it on a session. -Like other [TensorFlow clients](https://www.tensorflow.org/extend/language_bindings) -(e. g. for [Python](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/python/client)), -this example is built on top of the -[TensorFlow C API](https://github.com/tensorflow/tensorflow/blob/r1.1/tensorflow/c/c_api.h), -showing how a TensorFlow client in Kotlin/Native could look like. - -## Installation - - ./downloadTensorflow.sh - -will install [TensorFlow for C](https://www.tensorflow.org/versions/r1.1/install/install_c) into -`$HOME/.konan/third-party/tensorflow` (if not yet done). One may override the location of -`third-party/tensorflow` by setting the `KONAN_DATA_DIR` environment variable. - -To build use `../gradlew assemble`. - -Then run - - ../gradlew runReleaseExecutableTensorflow - -Alternatively you can run the artifact directly through - - ./build/bin/tensorflow/main/release/executable/tensorflow.kexe - -You may need to specify `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` to `$HOME/.konan/third-party/tensorflow/lib` -if the TensorFlow dynamic library cannot be found. +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/tensorflow/build.gradle.kts b/samples/tensorflow/build.gradle.kts deleted file mode 100644 index 36e679dad28..00000000000 --- a/samples/tensorflow/build.gradle.kts +++ /dev/null @@ -1,49 +0,0 @@ -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget - -plugins { - kotlin("multiplatform") -} - -val kotlinNativeDataPath = System.getenv("KONAN_DATA_DIR")?.let { File(it) } - ?: File(System.getProperty("user.home")).resolve(".konan") - -val tensorflowHome = kotlinNativeDataPath.resolve("third-party/tensorflow") - -kotlin { - // Determine host preset. - val hostOs = System.getProperty("os.name") - - // Create target for the host platform. - val hostTarget = when { - hostOs == "Mac OS X" -> macosX64("tensorflow") - hostOs == "Linux" -> linuxX64("tensorflow") - // Windows is not supported - else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") - } - - hostTarget.apply { - binaries { - executable { - entryPoint = "sample.tensorflow.main" - linkerOpts("-L${tensorflowHome.resolve("lib")}", "-ltensorflow") - runTask?.environment( - "LD_LIBRARY_PATH" to tensorflowHome.resolve("lib"), - "DYLD_LIBRARY_PATH" to tensorflowHome.resolve("lib") - ) - } - } - compilations["main"].cinterops { - val tensorflow by creating { - includeDirs(tensorflowHome.resolve("include")) - } - } - } -} - -val downloadTensorflow by tasks.creating(Exec::class) { - workingDir = projectDir - commandLine("./downloadTensorflow.sh") -} - -val tensorflow: KotlinNativeTarget by kotlin.targets -tasks[tensorflow.compilations["main"].cinterops["tensorflow"].interopProcessingTaskName].dependsOn(downloadTensorflow) diff --git a/samples/tensorflow/downloadTensorflow.sh b/samples/tensorflow/downloadTensorflow.sh deleted file mode 100755 index 5cbda81759b..00000000000 --- a/samples/tensorflow/downloadTensorflow.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -KONAN_USER_DIR=${KONAN_DATA_DIR:-"$HOME/.konan"} -TF_TARGET_DIRECTORY="$KONAN_USER_DIR/third-party/tensorflow" -TF_TYPE="cpu" # Change to "gpu" for GPU support - -if [ x$TARGET == x ]; then -case "$OSTYPE" in - darwin*) TARGET=macbook; TF_TARGET=darwin ;; - linux*) TARGET=linux; TF_TARGET=linux ;; - *) echo "unknown: $OSTYPE" && exit 1;; -esac -fi - -if [ ! -d $TF_TARGET_DIRECTORY/include/tensorflow ]; then - echo "Installing TensorFlow into $TF_TARGET_DIRECTORY ..." - mkdir -p $TF_TARGET_DIRECTORY - curl -s -L "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-${TF_TYPE}-${TF_TARGET}-x86_64-1.1.0.tar.gz" | tar -C $TF_TARGET_DIRECTORY -xz -fi diff --git a/samples/tensorflow/gradle.properties b/samples/tensorflow/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/tensorflow/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/tensorflow/src/nativeInterop/cinterop/tensorflow.def b/samples/tensorflow/src/nativeInterop/cinterop/tensorflow.def deleted file mode 100644 index 2f0566fd401..00000000000 --- a/samples/tensorflow/src/nativeInterop/cinterop/tensorflow.def +++ /dev/null @@ -1 +0,0 @@ -headers = tensorflow/c/c_api.h diff --git a/samples/tensorflow/src/tensorflowMain/kotlin/HelloTensorflow.kt b/samples/tensorflow/src/tensorflowMain/kotlin/HelloTensorflow.kt deleted file mode 100644 index ec65851f152..00000000000 --- a/samples/tensorflow/src/tensorflowMain/kotlin/HelloTensorflow.kt +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.tensorflow - -import kotlinx.cinterop.* -import platform.posix.size_t -import tensorflow.* - -typealias Status = CPointer -typealias Operation = CPointer -typealias Tensor = CPointer - -val Status.isOk: Boolean get() = TF_GetCode(this) == TF_OK -val Status.errorMessage: String get() = TF_Message(this)!!.toKString() -fun Status.delete() = TF_DeleteStatus(this) -fun Status.validate() { - try { - if (!isOk) { - throw Error("Status is not ok: $errorMessage") - } - } finally { - delete() - } -} - -inline fun statusValidated(block: (Status) -> T): T { - val status = TF_NewStatus()!! - val result = block(status) - status.validate() - return result -} - -fun scalarTensor(value: Int): Tensor { - val data = nativeHeap.allocArray(1) - data[0] = value - - return TF_NewTensor( - TF_INT32, - /* dims = */ null, - /* num_dims = */ 0, - /* data = */ data, - /* len = */ IntVar.size.convert(), - /* deallocator = */ staticCFunction { dataToFree, _, _ -> nativeHeap.free(dataToFree!!.reinterpret()) }, - /* deallocator_arg = */ null - )!! -} - -val Tensor.scalarIntValue: Int get() { - if (TF_INT32 != TF_TensorType(this) || IntVar.size.convert() != TF_TensorByteSize(this)) { - throw Error("Tensor is not of type int.") - } - if (0 != TF_NumDims(this)) { - throw Error("Tensor is not scalar.") - } - - return TF_TensorData(this)!!.reinterpret().pointed.value -} - - -class Graph { - val tensorflowGraph = TF_NewGraph()!! - - inline fun operation(type: String, name: String, initDescription: (CPointer) -> Unit): Operation { - val description = TF_NewOperation(tensorflowGraph, type, name)!! - initDescription(description) - return statusValidated { TF_FinishOperation(description, it)!! } - } - - fun constant(value: Int, name: String = "scalarIntConstant") = operation("Const", name) { description -> - statusValidated { TF_SetAttrTensor(description, "value", scalarTensor(value), it) } - TF_SetAttrType(description, "dtype", TF_INT32) - } - - fun intInput(name: String = "input") = operation("Placeholder", name) { description -> - TF_SetAttrType(description, "dtype", TF_INT32) - } - - fun add(left: Operation, right: Operation, name: String = "add") = memScoped { - val inputs = allocArray(2) - inputs[0].apply { oper = left; index = 0 } - inputs[1].apply { oper = right; index = 0 } - - operation("AddN", name) { description -> - TF_AddInputList(description, inputs, 2) - } - } - - // TODO set unique operation names - operator fun Operation.plus(right: Operation) = add(this, right) - - inline fun withSession(block: Session.() -> T): T { - val session = Session(this) - try { - return session.block() - } finally { - session.dispose() - } - } -} - -class Session(val graph: Graph) { - private val inputs = mutableListOf() - private val inputValues = mutableListOf() - private var outputs = mutableListOf() - private val outputValues = mutableListOf() - private val targets = listOf() - - private fun createNewSession(): CPointer { - val options = TF_NewSessionOptions() - val session = statusValidated { TF_NewSession(graph.tensorflowGraph, options, it)!! } - TF_DeleteSessionOptions(options) - return session - } - - private var tensorflowSession: CPointer? = createNewSession() - - private fun clearInputValues() { - for (inputValue in inputValues) { - TF_DeleteTensor(inputValue) - } - - inputValues.clear() - } - - private fun clearOutputValues() { - for (outputValue in outputValues) { - if (outputValue != null) - TF_DeleteTensor(outputValue) - } - outputValues.clear() - } - - fun dispose() { - clearInputValues() - clearOutputValues() - clearInputs() - clearOutputs() - - if (tensorflowSession != null) { - statusValidated { TF_CloseSession(tensorflowSession, it) } - statusValidated { TF_DeleteSession(tensorflowSession, it) } - tensorflowSession = null - } - } - - private fun setInputsWithValues(inputsWithValues: List>) { - clearInputValues() - clearInputs() - for ((input, inputValue) in inputsWithValues) { - this.inputs.add(nativeHeap.alloc().apply { oper = input; index = 0 }) - inputValues.add(inputValue) - } - } - - private fun setOutputs(outputs: List) { - clearOutputValues() - clearOutputs() - this.outputs = outputs.map { nativeHeap.alloc().apply { oper = it; index = 0 } }.toMutableList() - } - - private fun clearOutputs() { - this.outputs.forEach { nativeHeap.free(it) } - this.outputs.clear() - } - - private fun clearInputs() { - this.inputs.forEach { nativeHeap.free(it) } - this.inputs.clear() - } - - operator fun invoke(outputs: List, inputsWithValues: List> = listOf()): List { - setInputsWithValues(inputsWithValues) - setOutputs(outputs) - - return invoke() - } - - operator fun invoke(output: Operation, inputsWithValues: List> = listOf()) = - invoke(listOf(output), inputsWithValues).single()!! - - operator fun invoke(): List { - if (inputs.size != inputValues.size) { - throw Error("Call SetInputs() before Run()") - } - clearOutputValues() - - val inputsCArray = if (inputs.any()) nativeHeap.allocArray(inputs.size) else null - - inputs.forEachIndexed { i, input -> - inputsCArray!![i].apply { - oper = input.oper - index = input.index - } - } - - val outputsCArray = if (outputs.any()) nativeHeap.allocArray(outputs.size) else null - - outputs.forEachIndexed { i, output -> - outputsCArray!![i].apply { - oper = output.oper - index = output.index - } - } - - memScoped { - val outputValuesCArray = allocArrayOfPointersTo(outputs.map { null }) - - statusValidated { - TF_SessionRun(tensorflowSession, null, - inputsCArray, inputValues.toCValues(), inputs.size, - outputsCArray, outputValuesCArray, outputs.size, - targets.toCValues(), targets.size, - null, it) - } - - for (index in outputs.indices) { - outputValues.add(outputValuesCArray[index]) - } - } - - clearInputValues() - - return outputValues - } -} - -fun main() { - println("Hello, TensorFlow ${TF_Version()!!.toKString()}!") - - val result = Graph().run { - val input = intInput() - - withSession { invoke(input + constant(2), inputsWithValues = listOf(input to scalarTensor(3))).scalarIntValue } - } - - println("3 + 2 is $result.") -} \ No newline at end of file diff --git a/samples/tetris/README.md b/samples/tetris/README.md index ca961c9f74e..0458415e615 100644 --- a/samples/tetris/README.md +++ b/samples/tetris/README.md @@ -1,32 +1 @@ -# Tetris game - -This example shows implementation of simple Tetris game using SDL -(Simple DirectMedia Layer) library for rendering. SDL allows easy development -of cross-platform game and multimedia applications. - -Install SDL2 development files (see https://www.libsdl.org/download-2.0.php). For Mac - -copy `SDL2.framework` to `$HOME/Library/Frameworks`. For Debian-like Linux - -use `apt-get install libsdl2-dev`. -For Windows - `pacman -S mingw-w64-x86_64-SDL2 mingw-w64-i686-SDL2` in MSYS2 console. If you do not have MSYS2 -installed - install it first as described in http://www.msys2.org - -To build Tetris application for your host platform use `../gradlew assemble`. - -Note that SDL2 must be installed on the host. - -Now you can run the game using `../gradlew runReleaseExecutableTetris` or directly with - - ./build/bin/tetris/main/release/executable/tetris.kexe - -During build process compilation script creates interoperability bindings to SDL2, using SDL C headers, -and then compiles an application with the produced bindings. - -To deploy executable to iPhone device take Info.plist, then use XCode and your own private signing identity. - -To run on Raspberry Pi one need to install SDL package with `apt-get install libsdl2-2.0.0` on the Pi. -Also GLES2 renderer is recommended (use `SDL_RENDER_DRIVER=opengles2 ./Tetris.kexe`). - -For Windows `set SDL_RENDER_DRIVER=software` may be needed on some machines. - -Note: There is a known issue with SDL2 library on Mac OS X 10.14 Mojave. Window may render black until -it is dragged. See https://bugzilla.libsdl.org/show_bug.cgi?id=4272 +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/tetris/build.gradle.kts b/samples/tetris/build.gradle.kts deleted file mode 100644 index 5149149f8e4..00000000000 --- a/samples/tetris/build.gradle.kts +++ /dev/null @@ -1,122 +0,0 @@ -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget - -plugins { - kotlin("multiplatform") -} - -val kotlinNativeDataPath = System.getenv("KONAN_DATA_DIR")?.let { File(it) } - ?: File(System.getProperty("user.home")).resolve(".konan") -val mingw64Path = File(System.getenv("MINGW64_DIR") ?: "C:/msys64/mingw64") -val mingw32Path = File(System.getenv("MINGW32_DIR") ?: "C:/msys64/mingw32") - -kotlin { - val hostOs = System.getProperty("os.name") - if (hostOs == "Mac OS X") { - macosX64() - } - if (hostOs == "Linux") { - linuxX64() - } - if (hostOs.startsWith("Windows")) { - mingwX64() - mingwX86() - } - linuxArm32Hfp() - - targets.withType { - sourceSets["${targetName}Main"].apply { - kotlin.srcDir("src/tetrisMain/kotlin") - } - - binaries { - executable { - entryPoint = "sample.tetris.main" - - // Compile Windows Resources - if (preset == presets["mingwX64"] || preset == presets["mingwX86"]) { - val taskName = linkTaskName.replaceFirst("link", "windres") - val inFile = File("src/tetrisMain/resources/Tetris.rc") - val outFile = buildDir.resolve("processedResources/$taskName.res") - val windresTask = tasks.register(taskName) { - val llvmDir = when (preset) { - presets["mingwX86"] -> kotlinNativeDataPath.resolve( - "dependencies/msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1/bin") - presets["mingwX64"] -> kotlinNativeDataPath.resolve( - "dependencies/msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1/bin") - else -> throw GradleException("Unsupported presets") - }.toString() - inputs.file(inFile) - outputs.file(outFile) - commandLine("$llvmDir/windres", inFile, "-O", "coff", "-o", outFile) - environment("PATH", "$llvmDir;${System.getenv("PATH")}") - dependsOn(compilation.compileKotlinTask) - } - linkTask.dependsOn(windresTask) - linkerOpts(outFile.toString()) - } - - when (preset) { - presets["macosX64"] -> linkerOpts("-L/opt/local/lib", "-L/usr/local/lib", "-lSDL2") - presets["linuxX64"] -> linkerOpts("-L/usr/lib64", "-L/usr/lib/x86_64-linux-gnu", "-lSDL2") - presets["mingwX64"] -> linkerOpts( - "-L${mingw64Path.resolve("lib")}", - "-Wl,-Bstatic", - "-lstdc++", - "-static", - "-lSDL2", - "-limm32", - "-lole32", - "-loleaut32", - "-lversion", - "-lwinmm", - "-lsetupapi", - "-mwindows" - ) - presets["mingwX86"] -> linkerOpts( - "-L${mingw32Path.resolve("lib")}", - "-Wl,-Bstatic", - "-lstdc++", - "-static", - "-lSDL2", - "-limm32", - "-lole32", - "-loleaut32", - "-lversion", - "-lwinmm", - "-lsetupapi", - "-mwindows" - ) - presets["linuxArm32Hfp"] -> linkerOpts("-lSDL2") - } - - val distTaskName = linkTaskName.replaceFirst("link", "dist") - val distTask = tasks.register(distTaskName) { - from("src/tetrisMain/resources") - into(linkTask.outputFile.get().parentFile) - exclude("*.rc") - if (!konanTarget.family.isAppleFamily) { - exclude("*.plist") - } - dependsOn(linkTask) - } - tasks["assemble"].dependsOn(distTask) - - runTask?.workingDir(project.provider { outputDirectory }) - } - } - - compilations["main"].cinterops { - val sdl by creating { - when (preset) { - presets["macosX64"] -> includeDirs("/opt/local/include/SDL2", "/usr/local/include/SDL2") - presets["linuxX64"] -> includeDirs("/usr/include", "/usr/include/x86_64-linux-gnu", "/usr/include/SDL2") - presets["mingwX64"] -> includeDirs(mingw64Path.resolve("include/SDL2")) - presets["mingwX86"] -> includeDirs(mingw32Path.resolve("include/SDL2")) - presets["linuxArm32Hfp"] -> includeDirs(kotlinNativeDataPath.resolve("dependencies/target-sysroot-2-raspberrypi/usr/include/SDL2")) - } - } - } - - compilations["main"].enableEndorsedLibs = true - } -} diff --git a/samples/tetris/gradle.properties b/samples/tetris/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/tetris/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/tetris/src/nativeInterop/cinterop/sdl.def b/samples/tetris/src/nativeInterop/cinterop/sdl.def deleted file mode 100644 index 10463bab759..00000000000 --- a/samples/tetris/src/nativeInterop/cinterop/sdl.def +++ /dev/null @@ -1,9 +0,0 @@ -headers = SDL.h stdlib.h time.h -entryPoint = SDL_main - -headerFilter = SDL* stdlib.h time.h - -compilerOpts = -D_POSIX_SOURCE -compilerOpts.osx = -compilerOpts.linux = -D_REENTRANT -compilerOpts.ios = diff --git a/samples/tetris/src/tetrisMain/kotlin/Config.kt b/samples/tetris/src/tetrisMain/kotlin/Config.kt deleted file mode 100644 index 6e4f9f59ff4..00000000000 --- a/samples/tetris/src/tetrisMain/kotlin/Config.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.tetris - -import platform.posix.* -import kotlinx.cinterop.* - -object Config { - var width: Int = 10 - private set - var height: Int = 20 - private set - var startLevel = 0 - private set - - init { - val file = fopen("config.txt", "r") - if (file != null) { - try { - val buffer = ByteArray(2 * 1024) - while (true) { - val nextLine = fgets(buffer.refTo(0), buffer.size, file)?.toKString() - if (nextLine == null || nextLine.isEmpty()) break - val records = nextLine.split('=') - if (records.size != 2) continue - val key = records[0].trim() - val value = records[1].trim() - when (key) { - "width" -> width = value.toInt() - "height" -> height = value.toInt() - "startLevel" -> startLevel = value.toInt() - } - } - } finally { - fclose(file) - } - } - } -} \ No newline at end of file diff --git a/samples/tetris/src/tetrisMain/kotlin/SDL_Visualizer.kt b/samples/tetris/src/tetrisMain/kotlin/SDL_Visualizer.kt deleted file mode 100644 index 8d582b531b3..00000000000 --- a/samples/tetris/src/tetrisMain/kotlin/SDL_Visualizer.kt +++ /dev/null @@ -1,486 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.tetris - -import kotlinx.cinterop.* -import platform.posix.* -import sdl.* - -fun get_SDL_Error() = SDL_GetError()!!.toKString() - -fun sleep(millis: Int) { - SDL_Delay(millis.toUInt()) -} - -class SDL_Visualizer(val width: Int, val height: Int): GameFieldVisualizer, UserInput { - private val CELL_SIZE = 20 - private val COLORS = 10 - private val CELLS_WIDTH = COLORS * CELL_SIZE - private val CELLS_HEIGHT = 3 * CELL_SIZE - private val SYMBOL_SIZE = 21 - private val INFO_MARGIN = 10 - private val MARGIN = 2 - private val BORDER_WIDTH = 18 - private val INFO_SPACE_WIDTH = SYMBOL_SIZE * (2 + 8) - private val LINES_LABEL_WIDTH = 104 - private val SCORE_LABEL_WIDTH = 107 - private val LEVEL_LABEL_WIDTH = 103 - private val NEXT_LABEL_WIDTH = 85 - private val TETRISES_LABEL_WIDTH = 162 - - private var ratio: Float - - private fun stretch(value: Int) = (value.toFloat() * ratio + 0.5).toInt() - - inner class GamePadButtons(width: Int, height: Int, gamePadHeight: Int) { - val MOVE_BUTTON_SIZE = 50 - val ROTATE_BUTTON_SIZE = 80 - val BUTTONS_MARGIN = 25 - - val arena = Arena() - val leftRect: SDL_Rect - val rightRect: SDL_Rect - val downRect: SDL_Rect - val dropRect: SDL_Rect - val rotateRect: SDL_Rect - - init { - val moveButtonsWidth = 3 * MOVE_BUTTON_SIZE + 2 * BUTTONS_MARGIN + BUTTONS_MARGIN - val x = (width - moveButtonsWidth - ROTATE_BUTTON_SIZE) / 2 - MOVE_BUTTON_SIZE - val y2 = (gamePadHeight - 2 * MOVE_BUTTON_SIZE - BUTTONS_MARGIN) / 2 - leftRect = arena.alloc() - leftRect.w = MOVE_BUTTON_SIZE - leftRect.h = MOVE_BUTTON_SIZE - leftRect.x = x - leftRect.y = height - gamePadHeight + y2 + MOVE_BUTTON_SIZE + BUTTONS_MARGIN - - downRect = arena.alloc() - downRect.w = MOVE_BUTTON_SIZE - downRect.h = MOVE_BUTTON_SIZE - downRect.x = x + MOVE_BUTTON_SIZE + BUTTONS_MARGIN - downRect.y = leftRect.y - - dropRect = arena.alloc() - dropRect.w = MOVE_BUTTON_SIZE - dropRect.h = MOVE_BUTTON_SIZE - dropRect.x = downRect.x - dropRect.y = height - gamePadHeight + y2 - - rightRect = arena.alloc() - rightRect.w = MOVE_BUTTON_SIZE - rightRect.h = MOVE_BUTTON_SIZE - rightRect.x = x + 2 * MOVE_BUTTON_SIZE + 2 * BUTTONS_MARGIN - rightRect.y = height - gamePadHeight + y2 + MOVE_BUTTON_SIZE + BUTTONS_MARGIN - - rotateRect = arena.alloc() - rotateRect.w = ROTATE_BUTTON_SIZE - rotateRect.h = ROTATE_BUTTON_SIZE - rotateRect.x = x + moveButtonsWidth - rotateRect.y = height - gamePadHeight + y2 - BUTTONS_MARGIN - } - - fun getCommandAt(x: Int, y: Int): UserCommand? { - return when { - inside(leftRect, x, y) -> UserCommand.LEFT - inside(rightRect, x, y) -> UserCommand.RIGHT - inside(downRect, x, y) -> UserCommand.DOWN - inside(dropRect, x, y) -> UserCommand.DROP - inside(rotateRect, x, y) -> UserCommand.ROTATE - else -> null - } - } - - private fun inside(rect: SDL_Rect, x: Int, y: Int): Boolean { - return x >= stretch(rect.x) && x <= stretch(rect.x + rect.w) - && y >= stretch(rect.y) && y <= stretch(rect.y + rect.h) - } - - fun destroy() { - arena.clear() - } - } - - private val field: Field = Array(height) { ByteArray(width) } - private val nextPieceField: Field = Array(4) { ByteArray(4) } - private var linesCleared: Int = 0 - private var level: Int = 0 - private var score: Int = 0 - private var tetrises: Int = 0 - - private var displayWidth: Int = 0 - private var displayHeight: Int = 0 - private val fieldWidth: Int - private val fieldHeight: Int - private var windowX: Int - private var windowY: Int - private val window: CPointer - private val renderer: CPointer - private val texture: CPointer - private val gamePadButtons: GamePadButtons? - private val platform: String - - init { - if (SDL_Init(SDL_INIT_EVERYTHING) != 0) { - throw Error("SDL_Init Error: ${get_SDL_Error()}") - } - - platform = SDL_GetPlatform()!!.toKString() - - memScoped { - val displayMode = alloc() - if (SDL_GetCurrentDisplayMode(0, displayMode.ptr.reinterpret()) != 0) { - println("SDL_GetCurrentDisplayMode Error: ${get_SDL_Error()}") - SDL_Quit() - throw Error() - } - displayWidth = displayMode.w - displayHeight = displayMode.h - } - fieldWidth = width * (CELL_SIZE + MARGIN) + MARGIN + BORDER_WIDTH * 2 - fieldHeight = height * (CELL_SIZE + MARGIN) + MARGIN + BORDER_WIDTH * 2 - var windowWidth = fieldWidth + INFO_SPACE_WIDTH - var windowHeight: Int - if (platform == "iOS") { - val gamePadHeight = (displayHeight * windowWidth - fieldHeight * displayWidth) / displayWidth - windowHeight = fieldHeight + gamePadHeight - gamePadButtons = GamePadButtons(windowWidth, windowHeight, gamePadHeight) - windowX = 0 - windowY = 0 - ratio = displayHeight.toFloat() / windowHeight - windowWidth = displayWidth - windowHeight = displayHeight - } else { - windowHeight = fieldHeight - gamePadButtons = null - windowX = (displayWidth - windowWidth) / 2 - windowY = (displayHeight - windowHeight) / 2 - ratio = 1.0f - } - val window = SDL_CreateWindow("Tetris", windowX, windowY, windowWidth, windowHeight, - SDL_WINDOW_SHOWN or SDL_WINDOW_ALLOW_HIGHDPI) - if (window == null) { - println("SDL_CreateWindow Error: ${get_SDL_Error()}") - SDL_Quit() - throw Error() - } - this.window = window - - val renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED or SDL_RENDERER_PRESENTVSYNC) - if (renderer == null) { - SDL_DestroyWindow(window) - println("SDL_CreateRenderer Error: ${get_SDL_Error()}") - SDL_Quit() - throw Error() - } - this.renderer = renderer - - memScoped { - val realWidth = alloc() - val realHeight = alloc() - SDL_GetRendererOutputSize(renderer, realWidth.ptr, realHeight.ptr) - if (platform != "iOS" && windowHeight != realHeight.value) { - println("DPI differs ${realWidth.value} x ${realHeight.value} vs $windowWidth x $windowHeight") - ratio = realHeight.value.toFloat() / windowHeight - } - } - - texture = loadImage(window, renderer, findFile("tetris_all.bmp")) - } - - private fun findFile(name: String): String { - memScoped { - val dirs = listOf(".", SDL_GetBasePath()?.toKString() ?: "/") - val statBuffer = alloc() - dirs.forEach { - val candidate = "$it/$name" - if (stat(candidate, statBuffer.ptr) == 0) return candidate - } - throw Error("name not found") - } - } - - private fun loadImage(win: CPointer, ren: CPointer, imagePath: String): CPointer { - val bmp = SDL_LoadBMP_RW(SDL_RWFromFile(imagePath, "rb"), 1); - if (bmp == null) { - SDL_DestroyRenderer(ren) - SDL_DestroyWindow(win) - println("SDL_LoadBMP_RW Error: ${get_SDL_Error()}") - SDL_Quit() - throw Error() - } - - val tex = SDL_CreateTextureFromSurface(ren, bmp) - SDL_FreeSurface(bmp) - if (tex == null) { - SDL_DestroyRenderer(ren) - SDL_DestroyWindow(win) - println("SDL_CreateTextureFromSurface Error: ${get_SDL_Error()}") - SDL_Quit() - throw Error() - } - return tex - } - - override fun drawCell(x: Int, y: Int, cell: Byte) { - field[x][y] = cell - } - - override fun drawNextPieceCell(x: Int, y: Int, cell: Byte) { - nextPieceField[x][y] = cell - } - - override fun setInfo(linesCleared: Int, level: Int, score: Int, tetrises: Int) { - this.linesCleared = linesCleared - this.level = level - this.score = score - this.tetrises = tetrises - } - - override fun refresh() { - SDL_RenderClear(renderer) - drawField() - drawInfo() - drawNextPiece() - drawGamePad() - SDL_RenderPresent(renderer) - } - - private fun drawBorder(topLeftX: Int, topLeftY: Int, width: Int, height: Int) { - // Upper-left corner. - var srcX = CELLS_WIDTH - var srcY = 0 - var destX = topLeftX - var destY = topLeftY - copyRect(srcX, srcY, destX, destY, BORDER_WIDTH + MARGIN, BORDER_WIDTH) - - // Upper margin. - srcX += BORDER_WIDTH + MARGIN - destX += BORDER_WIDTH + MARGIN - for (i in 0..width - 1) { - copyRect(srcX, srcY, destX, destY, CELL_SIZE + MARGIN, BORDER_WIDTH) - destX += CELL_SIZE + MARGIN - } - - // Upper-right corner. - srcX += CELL_SIZE + MARGIN - copyRect(srcX, srcY, destX, destY, BORDER_WIDTH, BORDER_WIDTH + MARGIN) - - // Right margin. - srcY += BORDER_WIDTH + MARGIN - destY += BORDER_WIDTH + MARGIN - for (j in 0..height - 1) { - copyRect(srcX, srcY, destX, destY, BORDER_WIDTH, CELL_SIZE + MARGIN) - destY += CELL_SIZE + MARGIN - } - - // Left margin. - srcX = CELLS_WIDTH - srcY = BORDER_WIDTH - destX = topLeftX - destY = topLeftY + BORDER_WIDTH - for (j in 0..height - 1) { - copyRect(srcX, srcY, destX, destY, BORDER_WIDTH, CELL_SIZE + MARGIN) - destY += CELL_SIZE + MARGIN - } - - // Left-down corner. - srcY += CELL_SIZE + MARGIN - copyRect(srcX, srcY, destX, destY, BORDER_WIDTH, BORDER_WIDTH + MARGIN) - - // Down marign. - srcX += BORDER_WIDTH - srcY += MARGIN - destX += BORDER_WIDTH - destY += MARGIN - for (i in 0..width - 1) { - copyRect(srcX, srcY, destX, destY, CELL_SIZE + MARGIN, BORDER_WIDTH) - destX += CELL_SIZE + MARGIN - - } - // Right-down corner. - srcX += CELL_SIZE + MARGIN - copyRect(srcX, srcY, destX, destY, BORDER_WIDTH + MARGIN, BORDER_WIDTH) - } - - private fun drawField() { - drawField(field = field, - topLeftX = 0, - topLeftY = 0, - width = width, - height = height) - } - - private fun drawNextPiece() { - drawInt(labelSrcX = LEVEL_LABEL_WIDTH, - labelSrcY = CELLS_HEIGHT + SYMBOL_SIZE, - labelDestX = fieldWidth + SYMBOL_SIZE, - labelDestY = getInfoY(5), - labelWidth = NEXT_LABEL_WIDTH, - totalDigits = 0, - value = 0) - drawField(field = nextPieceField, - topLeftX = fieldWidth + SYMBOL_SIZE, - topLeftY = getInfoY(6), - width = 4, - height = 4) - } - - private fun drawField(field: Field, topLeftX: Int, topLeftY: Int, width: Int, height: Int) { - drawBorder(topLeftX = topLeftX, - topLeftY = topLeftY, - width = width, - height = height) - for (i in 0..height - 1) - for (j in 0..width - 1) { - val cell = field[i][j].toInt() - if (cell == 0) continue - copyRect(srcX = (level % COLORS) * CELL_SIZE, - srcY = (3 - cell) * CELL_SIZE, - destX = topLeftX + BORDER_WIDTH + MARGIN + j * (CELL_SIZE + MARGIN), - destY = topLeftY + BORDER_WIDTH + MARGIN + i * (CELL_SIZE + MARGIN), - width = CELL_SIZE, - height = CELL_SIZE) - } - } - - private fun drawInfo() { - drawInt(labelSrcX = LINES_LABEL_WIDTH, - labelSrcY = CELLS_HEIGHT, - labelDestX = fieldWidth + SYMBOL_SIZE, - labelDestY = getInfoY(0), - labelWidth = SCORE_LABEL_WIDTH, - totalDigits = 6, - value = score) - drawInt(labelSrcX = 0, - labelSrcY = CELLS_HEIGHT, - labelDestX = fieldWidth + SYMBOL_SIZE, - labelDestY = getInfoY(1), - labelWidth = LINES_LABEL_WIDTH, - totalDigits = 3, - value = linesCleared) - drawInt(labelSrcX = 0, - labelSrcY = CELLS_HEIGHT + SYMBOL_SIZE, - labelDestX = fieldWidth + SYMBOL_SIZE, - labelDestY = getInfoY(2), - labelWidth = LEVEL_LABEL_WIDTH, - totalDigits = 2, - value = level) - drawInt(labelSrcX = 0, - labelSrcY = CELLS_HEIGHT + SYMBOL_SIZE * 2, - labelDestX = fieldWidth + SYMBOL_SIZE, - labelDestY = getInfoY(3), - labelWidth = TETRISES_LABEL_WIDTH, - totalDigits = 2, - value = tetrises) - } - - private fun getInfoY(line: Int): Int { - return SYMBOL_SIZE * (2 * line + 1) + INFO_MARGIN * line - } - - private fun drawInt(labelSrcX: Int, labelSrcY: Int, labelDestX: Int, labelDestY: Int, - labelWidth: Int, totalDigits: Int, value: Int) { - copyRect(srcX = labelSrcX, - srcY = labelSrcY, - destX = labelDestX, - destY = labelDestY, - width = labelWidth, - height = SYMBOL_SIZE) - val digits = IntArray(totalDigits) - var x = value - for (i in 0..totalDigits - 1) { - digits[totalDigits - 1 - i] = x % 10 - x = x / 10 - } - for (i in 0..totalDigits - 1) { - copyRect(srcX = digits[i] * SYMBOL_SIZE, - srcY = CELLS_HEIGHT + 3 * SYMBOL_SIZE, - destX = labelDestX + SYMBOL_SIZE + i * SYMBOL_SIZE, - destY = labelDestY + SYMBOL_SIZE, - width = SYMBOL_SIZE, - height = SYMBOL_SIZE) - } - } - - private fun drawGamePad() { - if (gamePadButtons == null) return - SDL_SetRenderDrawColor(renderer, 127, 127, 127, SDL_ALPHA_OPAQUE.toUByte()) - fillRect(gamePadButtons.leftRect) - fillRect(gamePadButtons.downRect) - fillRect(gamePadButtons.dropRect) - fillRect(gamePadButtons.rightRect) - fillRect(gamePadButtons.rotateRect) - SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE.toUByte()) - } - - private fun fillRect(rect: SDL_Rect) { - memScoped { - val stretchedRect = alloc() - stretchedRect.w = stretch(rect.w) - stretchedRect.h = stretch(rect.h) - stretchedRect.x = stretch(rect.x) - stretchedRect.y = stretch(rect.y) - SDL_RenderFillRect(renderer, stretchedRect.ptr.reinterpret()) - } - } - - private fun copyRect(srcX: Int, srcY: Int, destX: Int, destY: Int, width: Int, height: Int) { - memScoped { - val srcRect = alloc() - val destRect = alloc() - srcRect.w = width - srcRect.h = height - srcRect.x = srcX - srcRect.y = srcY - destRect.w = stretch(width) - destRect.h = stretch(height) - destRect.x = stretch(destX) - destRect.y = stretch(destY) - SDL_RenderCopy(renderer, texture, srcRect.ptr.reinterpret(), destRect.ptr.reinterpret()) - } - } - - override fun readCommands(): List { - val commands = mutableListOf() - memScoped { - val event = alloc() - while (SDL_PollEvent(event.ptr.reinterpret()) != 0) { - val eventType = event.type - when (eventType) { - SDL_QUIT -> commands.add(UserCommand.EXIT) - SDL_KEYDOWN -> { - val keyboardEvent = event.ptr.reinterpret().pointed - when (keyboardEvent.keysym.scancode) { - SDL_SCANCODE_LEFT -> commands.add(UserCommand.LEFT) - SDL_SCANCODE_RIGHT -> commands.add(UserCommand.RIGHT) - SDL_SCANCODE_DOWN -> commands.add(UserCommand.DOWN) - SDL_SCANCODE_Z, SDL_SCANCODE_SPACE -> commands.add(UserCommand.ROTATE) - SDL_SCANCODE_UP -> commands.add(UserCommand.DROP) - SDL_SCANCODE_ESCAPE -> commands.add(UserCommand.EXIT) - } - } - SDL_MOUSEBUTTONDOWN -> if (gamePadButtons != null) { - val mouseEvent = event.ptr.reinterpret().pointed - val x = mouseEvent.x - val y = mouseEvent.y - val command = gamePadButtons.getCommandAt(x, y) - if (command != null) - commands.add(command) - } - } - } - } - return commands - } - - fun destroy() { - SDL_DestroyTexture(texture) - SDL_DestroyRenderer(renderer) - SDL_DestroyWindow(window) - SDL_Quit() - gamePadButtons?.destroy() - } -} diff --git a/samples/tetris/src/tetrisMain/kotlin/Tetris.kt b/samples/tetris/src/tetrisMain/kotlin/Tetris.kt deleted file mode 100644 index 0e26af76f4b..00000000000 --- a/samples/tetris/src/tetrisMain/kotlin/Tetris.kt +++ /dev/null @@ -1,491 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.tetris - -import kotlinx.cinterop.* -import platform.posix.* - -typealias Field = Array - -enum class Move { - LEFT, - RIGHT, - DOWN, - ROTATE -} - -enum class PlacementResult(val linesCleared: Int = 0, val bonus: Int = 0) { - NOTHING, - GAMEOVER, - // For values of bonuses see https://tetris.wiki/Scoring - SINGLE(1, 40), - DOUBLE(2, 100), - TRIPLE(3, 300), - TETRIS(4, 1200) -} - -const val EMPTY: Byte = 0 -const val CELL1: Byte = 1 -const val CELL2: Byte = 2 -const val CELL3: Byte = 3 -const val BRICK: Byte = -1 - -class Point(var x: Int, var y: Int) - -operator fun Point.plus(other: Point): Point { - return Point(x + other.x, y + other.y) -} - -class PiecePosition(piece: Piece, private val origin: Point) { - private var p = piece.origin - val x get() = p.x + origin.x - val y get() = p.y + origin.y - - var state: Int get private set - val numberOfStates = piece.numberOfStates - - init { - state = 0 - } - - fun makeMove(move: Move) { - when (move) { - Move.LEFT -> --p.y - Move.RIGHT -> ++p.y - Move.DOWN -> ++p.x - Move.ROTATE -> state = (state + 1) % numberOfStates - } - } - - fun unMakeMove(move: Move) { - when (move) { - Move.LEFT -> ++p.y - Move.RIGHT -> --p.y - Move.DOWN -> --p.x - Move.ROTATE -> state = (state + numberOfStates - 1) % numberOfStates - } - } -} - -/* - * We use Nintendo Rotation System, right-handed version. - * See https://tetris.wiki/Nintendo_Rotation_System - */ -enum class Piece(private val origin_: Point, private vararg val states: Field) { - T(Point(-1, -2), - arrayOf( - byteArrayOf(EMPTY, EMPTY, EMPTY), - byteArrayOf(CELL1, CELL1, CELL1), - byteArrayOf(EMPTY, CELL1, EMPTY)), - arrayOf( - byteArrayOf(EMPTY, CELL1, EMPTY), - byteArrayOf(CELL1, CELL1, EMPTY), - byteArrayOf(EMPTY, CELL1, EMPTY)), - arrayOf( - byteArrayOf(EMPTY, CELL1, EMPTY), - byteArrayOf(CELL1, CELL1, CELL1), - byteArrayOf(EMPTY, EMPTY, EMPTY)), - arrayOf( - byteArrayOf(EMPTY, CELL1, EMPTY), - byteArrayOf(EMPTY, CELL1, CELL1), - byteArrayOf(EMPTY, CELL1, EMPTY)) - ), - J(Point(-1, -2), - arrayOf( - byteArrayOf(EMPTY, EMPTY, EMPTY), - byteArrayOf(CELL2, CELL2, CELL2), - byteArrayOf(EMPTY, EMPTY, CELL2)), - arrayOf( - byteArrayOf(EMPTY, CELL2, EMPTY), - byteArrayOf(EMPTY, CELL2, EMPTY), - byteArrayOf(CELL2, CELL2, EMPTY)), - arrayOf( - byteArrayOf(CELL2, EMPTY, EMPTY), - byteArrayOf(CELL2, CELL2, CELL2), - byteArrayOf(EMPTY, EMPTY, EMPTY)), - arrayOf( - byteArrayOf(EMPTY, CELL2, CELL2), - byteArrayOf(EMPTY, CELL2, EMPTY), - byteArrayOf(EMPTY, CELL2, EMPTY)) - ), - Z(Point(-1, -2), - arrayOf( - byteArrayOf(EMPTY, EMPTY, EMPTY), - byteArrayOf(CELL3, CELL3, EMPTY), - byteArrayOf(EMPTY, CELL3, CELL3)), - arrayOf( - byteArrayOf(EMPTY, EMPTY, CELL3), - byteArrayOf(EMPTY, CELL3, CELL3), - byteArrayOf(EMPTY, CELL3, EMPTY)) - ), - O(Point(0, -1), - arrayOf( - byteArrayOf(CELL1, CELL1), - byteArrayOf(CELL1, CELL1)) - ), - S(Point(-1, -2), - arrayOf( - byteArrayOf(EMPTY, EMPTY, EMPTY), - byteArrayOf(EMPTY, CELL2, CELL2), - byteArrayOf(CELL2, CELL2, EMPTY)), - arrayOf( - byteArrayOf(EMPTY, CELL2, EMPTY), - byteArrayOf(EMPTY, CELL2, CELL2), - byteArrayOf(EMPTY, EMPTY, CELL2)) - ), - L(Point(-1, -2), - arrayOf( - byteArrayOf(EMPTY, EMPTY, EMPTY), - byteArrayOf(CELL3, CELL3, CELL3), - byteArrayOf(CELL3, EMPTY, EMPTY)), - arrayOf( - byteArrayOf(CELL3, CELL3, EMPTY), - byteArrayOf(EMPTY, CELL3, EMPTY), - byteArrayOf(EMPTY, CELL3, EMPTY)), - arrayOf( - byteArrayOf(EMPTY, EMPTY, CELL3), - byteArrayOf(CELL3, CELL3, CELL3), - byteArrayOf(EMPTY, EMPTY, EMPTY)), - arrayOf( - byteArrayOf(EMPTY, CELL3, EMPTY), - byteArrayOf(EMPTY, CELL3, EMPTY), - byteArrayOf(EMPTY, CELL3, CELL3)) - ), - I(Point(-2, -2), - arrayOf( - byteArrayOf(EMPTY, EMPTY, EMPTY, EMPTY), - byteArrayOf(EMPTY, EMPTY, EMPTY, EMPTY), - byteArrayOf(CELL1, CELL1, CELL1, CELL1), - byteArrayOf(EMPTY, EMPTY, EMPTY, EMPTY)), - arrayOf( - byteArrayOf(EMPTY, EMPTY, CELL1, EMPTY), - byteArrayOf(EMPTY, EMPTY, CELL1, EMPTY), - byteArrayOf(EMPTY, EMPTY, CELL1, EMPTY), - byteArrayOf(EMPTY, EMPTY, CELL1, EMPTY)) - ); - - val origin get() = Point(origin_.x, origin_.y) - val numberOfStates: Int = states.size - - fun canBePlaced(field: Field, position: PiecePosition): Boolean { - val piece = states[position.state] - val x = position.x - val y = position.y - for (i in piece.indices) { - val pieceRow = piece[i] - val boardRow = field[x + i] - for (j in pieceRow.indices) { - if (pieceRow[j] != EMPTY && boardRow[y + j] != EMPTY) - return false - } - } - return true - } - - fun place(field: Field, position: PiecePosition) { - val piece = states[position.state] - val x = position.x - val y = position.y - for (i in piece.indices) { - val pieceRow = piece[i] - for (j in pieceRow.indices) { - if (pieceRow[j] != EMPTY) field[x + i][y + j] = pieceRow[j] - } - } - } - - fun unPlace(field: Field, position: PiecePosition) { - val piece = states[position.state] - val x = position.x - val y = position.y - for (i in piece.indices) { - val pieceRow = piece[i] - for (j in pieceRow.indices) { - if (pieceRow[j] != EMPTY) field[x + i][y + j] = EMPTY - } - } - } -} - -interface GameFieldVisualizer { - fun drawCell(x: Int, y: Int, cell: Byte) - fun drawNextPieceCell(x: Int, y: Int, cell: Byte) - fun setInfo(linesCleared: Int, level: Int, score: Int, tetrises: Int) - fun refresh() -} - -enum class UserCommand { - LEFT, - RIGHT, - DOWN, - DROP, - ROTATE, - EXIT -} - -interface UserInput { - fun readCommands(): List -} - -class GameField(val width: Int, val height: Int, val visualizer: GameFieldVisualizer) { - private val MARGIN = 4 - - private val field: Field - private val origin: Point - private val nextPieceField: Field - - init { - field = Array(height + MARGIN * 2) { ByteArray(width + MARGIN * 2) } - for (i in field.indices) { - val row = field[i] - for (j in row.indices) { - if (i >= (MARGIN + height) // Bottom (field is flipped over). - || (j < MARGIN) // Left - || (j >= MARGIN + width)) // Right - row[j] = BRICK - } - } - // Coordinates are relative to the central axis and top of the field. - origin = Point(MARGIN, MARGIN + (width + 1) / 2) - nextPieceField = Array(4) { ByteArray(4) } - } - - lateinit var currentPiece: Piece - lateinit var nextPiece: Piece - lateinit var currentPosition: PiecePosition - - fun reset() { - for (i in 0..height - 1) - for (j in 0..width - 1) - field[i + MARGIN][j + MARGIN] = 0 - srand(time(null).toUInt()) - nextPiece = getNextPiece(false) - switchCurrentPiece() - } - - private fun randInt() = (rand() and 32767) or ((rand() and 32767) shl 15) - - private fun getNextPiece(denyPrevious: Boolean): Piece { - val pieces = Piece.values() - if (!denyPrevious) - return pieces[randInt() % pieces.size] - while (true) { - val nextPiece = pieces[randInt() % pieces.size] - if (nextPiece != currentPiece) return nextPiece - } - } - - private fun switchCurrentPiece() { - currentPiece = nextPiece - nextPiece = getNextPiece(denyPrevious = true) // Forbid repeating the same piece for better distribution. - currentPosition = PiecePosition(currentPiece, origin) - } - - fun makeMove(move: Move): Boolean { - currentPosition.makeMove(move) - if (currentPiece.canBePlaced(field, currentPosition)) - return true - currentPosition.unMakeMove(move) - return false - } - - /** - * Places current piece at its current location. - */ - fun place(): PlacementResult { - currentPiece.place(field, currentPosition) - val linesCleared = clearLines() - if (isOutOfBorders()) return PlacementResult.GAMEOVER - switchCurrentPiece() - if (!currentPiece.canBePlaced(field, currentPosition)) - return PlacementResult.GAMEOVER - when (linesCleared) { - 1 -> return PlacementResult.SINGLE - 2 -> return PlacementResult.DOUBLE - 3 -> return PlacementResult.TRIPLE - 4 -> return PlacementResult.TETRIS - else -> return PlacementResult.NOTHING - } - } - - private fun clearLines(): Int { - val clearedLines = mutableListOf() - for (i in 0..height - 1) { - val row = field[i + MARGIN] - if ((0..width - 1).all { j -> row[j + MARGIN] != EMPTY }) { - clearedLines.add(i + MARGIN) - (0..width - 1).forEach { j -> row[j + MARGIN] = EMPTY } - } - } - if (clearedLines.size == 0) return 0 - draw(false) - visualizer.refresh() - sleep(500) - for (i in clearedLines) { - for (k in i - 1 downTo 1) - for (j in 0..width - 1) - field[k + 1][j + MARGIN] = field[k][j + MARGIN] - } - draw(false) - visualizer.refresh() - return clearedLines.size - } - - private fun isOutOfBorders(): Boolean { - for (i in 0..MARGIN - 1) - for (j in 0..width - 1) - if (field[i][j + MARGIN] != EMPTY) - return true - return false - } - - fun draw() { - draw(true) - drawNextPiece() - } - - private fun drawNextPiece() { - for (i in 0..3) - for (j in 0..3) - nextPieceField[i][j] = 0 - nextPiece.place(nextPieceField, PiecePosition(nextPiece, Point(1, 2))) - for (i in 0..3) - for (j in 0..3) - visualizer.drawNextPieceCell(i, j, nextPieceField[i][j]) - } - - private fun draw(drawCurrentPiece: Boolean) { - if (drawCurrentPiece) - currentPiece.place(field, currentPosition) - for (i in 0..height - 1) - for (j in 0..width - 1) - visualizer.drawCell(i, j, field[i + MARGIN][j + MARGIN]) - if (drawCurrentPiece) - currentPiece.unPlace(field, currentPosition) - } -} - -class Game(width: Int, height: Int, val visualizer: GameFieldVisualizer, val userInput: UserInput) { - private val field = GameField(width, height, visualizer) - - private var gameOver = true - private var startLevel = 0 - private var leveledUp = false - private var level = 0 - private var linesClearedAtCurrentLevel = 0 - private var linesCleared = 0 - private var tetrises = 0 - private var score = 0 - - /* - * For speed constants and level up thresholds see https://tetris.wiki/Tetris_(NES,_Nintendo) - */ - private val speeds = intArrayOf(48, 43, 38, 33, 28, 23, 18, 13, 8, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2) - private val levelUpThreshold - get() = - if (leveledUp) 10 - else minOf(startLevel * 10 + 10, maxOf(100, startLevel * 10 - 50)) - private val speed get() = if (level < 29) speeds[level] else 1 - - private var ticks = 0 - - fun startNewGame(level: Int) { - gameOver = false - startLevel = level - leveledUp = false - this.level = level - linesClearedAtCurrentLevel = 0 - linesCleared = 0 - tetrises = 0 - score = 0 - ticks = 0 - field.reset() - - visualizer.setInfo(linesCleared, level, score, tetrises) - field.draw() - visualizer.refresh() - - mainLoop() - } - - private fun placePiece() { - val placementResult = field.place() - ticks = 0 - when (placementResult) { - PlacementResult.NOTHING -> return - PlacementResult.GAMEOVER -> { - gameOver = true - return - } - else -> { - linesCleared += placementResult.linesCleared - linesClearedAtCurrentLevel += placementResult.linesCleared - score += placementResult.bonus * (level + 1) - if (placementResult == PlacementResult.TETRIS) - ++tetrises - val levelUpThreshold = levelUpThreshold - if (linesClearedAtCurrentLevel >= levelUpThreshold) { - ++level - linesClearedAtCurrentLevel -= levelUpThreshold - leveledUp = true - } - - visualizer.setInfo(linesCleared, level, score, tetrises) - } - } - } - - /* - * Number of additional gravity shifts before locking a piece landed on the ground. - * This is needed in order to let user to move a piece to the left/right before locking. - */ - private val LOCK_DELAY = 1 - - private fun mainLoop() { - var attemptsToLock = 0 - while (!gameOver) { - sleep(1000 / 60) // Refresh rate - 60 frames per second. - val commands = userInput.readCommands() - for (cmd in commands) { - val success: Boolean - when (cmd) { - UserCommand.EXIT -> return - UserCommand.LEFT -> success = field.makeMove(Move.LEFT) - UserCommand.RIGHT -> success = field.makeMove(Move.RIGHT) - UserCommand.ROTATE -> success = field.makeMove(Move.ROTATE) - UserCommand.DOWN -> { - success = field.makeMove(Move.DOWN) - if (!success) placePiece() - } - UserCommand.DROP -> { - while (field.makeMove(Move.DOWN)) { - } - success = true - placePiece() - } - } - if (success) { - field.draw() - visualizer.refresh() - } - } - ++ticks - if (ticks < speed) continue - if (!field.makeMove(Move.DOWN)) { - if (++attemptsToLock >= LOCK_DELAY) { - placePiece() - attemptsToLock = 0 - } - } - field.draw() - visualizer.refresh() - ticks -= speed - } - } - -} - diff --git a/samples/tetris/src/tetrisMain/kotlin/main.kt b/samples/tetris/src/tetrisMain/kotlin/main.kt deleted file mode 100644 index 6548dcb6296..00000000000 --- a/samples/tetris/src/tetrisMain/kotlin/main.kt +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.tetris - -import kotlinx.cli.* - -fun main(args: Array) { - val argParser = ArgParser("tetris", useDefaultHelpShortName = false) - val level by argParser.option(ArgType.Int, shortName = "l", description = "Game level").default(Config.startLevel) - val width by argParser.option(ArgType.Int, shortName = "w", description = "Width of the game field").default(Config.width) - val height by argParser.option(ArgType.Int, shortName = "h", description = "Height of the game field").default(Config.height) - argParser.parse(args) - val visualizer = SDL_Visualizer(width, height) - val game = Game(width, height, visualizer, visualizer) - game.startNewGame(level) - - return -} \ No newline at end of file diff --git a/samples/tetris/src/tetrisMain/resources/Info.plist b/samples/tetris/src/tetrisMain/resources/Info.plist deleted file mode 100644 index da637bfe644..00000000000 --- a/samples/tetris/src/tetrisMain/resources/Info.plist +++ /dev/null @@ -1,77 +0,0 @@ - - - - - BuildMachineOSBuild - 15G1212 - CFBundleDevelopmentRegion - en - CFBundleExecutable - tetris.kexe - CFBundleIdentifier - tetris.kexe - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - tetris.kexe - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSupportedPlatforms - - iPhoneOS - - CFBundleVersion - 1 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 14C89 - DTPlatformName - iphoneos - DTPlatformVersion - 10.2 - DTSDKBuild - 14C89 - DTSDKName - iphoneos10.2 - DTXcode - 0821 - DTXcodeBuild - 8C1002 - LSRequiresIPhoneOS - - MinimumOSVersion - 10.2 - UIDeviceFamily - - 1 - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - arm64 - - UIStatusBarHidden - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - CFBundleIcons - - CFBundlePrimaryIcon - - CFBundleIconFiles - - Icon-60x2 - Icon-60 - - - - - diff --git a/samples/tetris/src/tetrisMain/resources/Tetris.rc b/samples/tetris/src/tetrisMain/resources/Tetris.rc deleted file mode 100644 index 6d1bcf075d3..00000000000 --- a/samples/tetris/src/tetrisMain/resources/Tetris.rc +++ /dev/null @@ -1,23 +0,0 @@ -1 VERSIONINFO -FILEVERSION 1,0,0,0 -PRODUCTVERSION 1,0,0,0 -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "080904E4" - BEGIN - VALUE "CompanyName", "JetBrains LLC" - VALUE "FileDescription", "Tetris Demo Game" - VALUE "FileVersion", "1.0" - VALUE "InternalName", "Tetris" - VALUE "LegalCopyright", "©JetBrains" - VALUE "OriginalFilename", "Tetris.exe" - VALUE "ProductName", "Tetris for Windows" - VALUE "ProductVersion", "1.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x809, 1252 - END -END diff --git a/samples/tetris/src/tetrisMain/resources/config.txt b/samples/tetris/src/tetrisMain/resources/config.txt deleted file mode 100644 index da8f7d7d673..00000000000 --- a/samples/tetris/src/tetrisMain/resources/config.txt +++ /dev/null @@ -1,3 +0,0 @@ -width = 10 -height = 30 -startLevel = 0 \ No newline at end of file diff --git a/samples/tetris/src/tetrisMain/resources/tetris_all.bmp b/samples/tetris/src/tetrisMain/resources/tetris_all.bmp deleted file mode 100644 index e5c57a6cc4f..00000000000 Binary files a/samples/tetris/src/tetrisMain/resources/tetris_all.bmp and /dev/null differ diff --git a/samples/torch/README.md b/samples/torch/README.md index 7c0bf73a233..0458415e615 100644 --- a/samples/torch/README.md +++ b/samples/torch/README.md @@ -1,48 +1 @@ -# Torch demo - -Trains a handwritten digit classifier using the [Torch](http://torch.ch) C backend. -Like other Torch clients, most prominently [PyTorch](http://pytorch.org), -this example is built on top of the -[ATen C API](https://github.com/pytorch/pytorch/tree/master/aten), -showing how a Torch client for Kotlin/Native could look like. - -## Installation - -To build [ATen (Torch for C)](https://github.com/pytorch/pytorch/tree/master/aten), -make sure you have Python 2.X and pyyaml installed: - - # macOS: if you don't have pip - sudo easy_install pip - # Linux: if you don't have pip - apt-get -y install python-pip - - # if you don't have pyyaml or typing - sudo pip install pyyaml typing - -Now - - ./downloadTorch.sh - -will install it into `$HOME/.konan/third-party/torch` (if not yet done). One may override the location of -`third-party/torch` by setting the `KONAN_DATA_DIR` environment variable. - -To build use `../gradlew assemble`. - - ./downloadMNIST.sh - -will download and unzip the [MNIST dataset](https://en.wikipedia.org/wiki/MNIST_database) of -[70000 labeled handwritten digits](http://yann.lecun.com/exdb/mnist/) for training and testing a classifier (if not yet done). - -Then run - - ../gradlew runReleaseExecutableTorch - -Alternatively you can run the artifact directly through - - ./build/bin/torch/main/release/executable/torch.kexe - -You may need to specify `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` environment variables -to point to `$HOME/.konan/third-party/torch/lib` if the ATen dynamic library cannot be found. - -Even on a CPU, training should only take some minutes, -and you should observe a classification accuracy of about 95% on the test dataset. +Moved to https://github.com/JetBrains/kotlin/tree/master/kotlin-native/samples. diff --git a/samples/torch/build.gradle.kts b/samples/torch/build.gradle.kts deleted file mode 100644 index 113a5e6c617..00000000000 --- a/samples/torch/build.gradle.kts +++ /dev/null @@ -1,62 +0,0 @@ -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget -import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType - -plugins { - kotlin("multiplatform") -} - -val kotlinNativeDataPath = System.getenv("KONAN_DATA_DIR")?.let { File(it) } - ?: File(System.getProperty("user.home")).resolve(".konan") - -val torchHome = kotlinNativeDataPath.resolve("third-party/torch") - -kotlin { - // Determine host preset. - val hostOs = System.getProperty("os.name") - - // Create target for the host platform. - val hostTarget = when { - hostOs == "Mac OS X" -> macosX64("torch") - hostOs == "Linux" -> linuxX64("torch") - // Windows is not supported - else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") - } - - hostTarget.apply { - binaries { - executable { - entryPoint = "sample.torch.main" - linkerOpts("-L${torchHome.resolve("lib")}", "-lATen") - runTask?.environment( - "LD_LIBRARY_PATH" to torchHome.resolve("lib"), - "DYLD_LIBRARY_PATH" to torchHome.resolve("lib") - ) - } - } - compilations["main"].cinterops { - val torch by creating { - includeDirs( - torchHome.resolve("include"), - torchHome.resolve("include/TH") - ) - } - } - } -} - -val downloadTorch by tasks.creating(Exec::class) { - workingDir = projectDir - commandLine("./downloadTorch.sh") -} - -val torch: KotlinNativeTarget by kotlin.targets -tasks[torch.compilations["main"].cinterops["torch"].interopProcessingTaskName].dependsOn(downloadTorch) - -val downloadMNIST by tasks.creating(Exec::class) { - workingDir = projectDir - commandLine("./downloadMNIST.sh") -} - -NativeBuildType.values() - .mapNotNull { torch.binaries.getExecutable(it).runTask } - .forEach { runTask -> runTask.dependsOn(downloadMNIST) } diff --git a/samples/torch/downloadMNIST.sh b/samples/torch/downloadMNIST.sh deleted file mode 100755 index ea348c32340..00000000000 --- a/samples/torch/downloadMNIST.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -# See http://yann.lecun.com/exdb/mnist/ - -MNIST_TARGET_DIRECTORY="`pwd`/build/3rd-party/MNIST" - -echo "Downloading MNIST databases into $MNIST_TARGET_DIRECTORY ..." - -mkdir -p $MNIST_TARGET_DIRECTORY -cd $MNIST_TARGET_DIRECTORY - -wget -nv -N http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz -wget -nv -N http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz -wget -nv -N http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz -wget -nv -N http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz - -gunzip -fk *.gz diff --git a/samples/torch/downloadTorch.sh b/samples/torch/downloadTorch.sh deleted file mode 100755 index 4fa7c03c84a..00000000000 --- a/samples/torch/downloadTorch.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env bash - -KONAN_USER_DIR=${KONAN_DATA_DIR:-"$HOME/.konan"} -TH_TARGET_DIRECTORY="$KONAN_USER_DIR/third-party/torch" -NO_CUDA=true # set to false for GPU support - -if [ ! -d $TH_TARGET_DIRECTORY/include/THNN ]; then - echo "Installing Torch into $TH_TARGET_DIRECTORY ..." - - mkdir -p build/3rd-party - cd build/3rd-party - - git clone https://github.com/pytorch/pytorch.git - # Current pytorch master fails the build so we need to checkout a correct revision. - cd pytorch && git checkout 310c3735b9eb97f30cee743b773e5bb054989edc^ && cd ../ - - mkdir build_torch - cd build_torch - - cmake -DNO_CUDA=$NO_CUDA ../pytorch/aten - make - make DESTDIR=$TH_TARGET_DIRECTORY install - - cd $TH_TARGET_DIRECTORY - - # remove 'usr/local' prefix produced by make: - mv usr/local/* . - rm -d usr/local usr - - # hack to solve "fatal error: 'generic/THNN.h' file not found" when linking, -I$

/include/THNN did not work - cp include/THNN/generic/THNN.h include/TH/generic/THNN.h -fi diff --git a/samples/torch/gradle.properties b/samples/torch/gradle.properties deleted file mode 100644 index 790a07d5124..00000000000 --- a/samples/torch/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -kotlin.code.style=official -kotlin.import.noCommonSourceSets=true diff --git a/samples/torch/src/nativeInterop/cinterop/torch.def b/samples/torch/src/nativeInterop/cinterop/torch.def deleted file mode 100644 index 958c948be70..00000000000 --- a/samples/torch/src/nativeInterop/cinterop/torch.def +++ /dev/null @@ -1 +0,0 @@ -headers = TH/TH.h THNN/THNN.h diff --git a/samples/torch/src/torchMain/kotlin/ClassifierDemo.kt b/samples/torch/src/torchMain/kotlin/ClassifierDemo.kt deleted file mode 100644 index 719deac00b5..00000000000 --- a/samples/torch/src/torchMain/kotlin/ClassifierDemo.kt +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.torch - -fun Float.toRoundedString(digits: Int = 0): String { - var factor = 1 - - for (i in 0 until digits) { - factor *= 10 - } - - return (kotlin.math.round(this * factor) / factor).toString() -} - -fun Float.toPercentageString(roundToDigits: Int = 1) = (this * 100).toRoundedString(roundToDigits) - -fun List.maxIndex() = withIndex().maxBy { it.value }!!.index - -fun accuracy(predictionBatch: FloatMatrix, labelBatch: FloatMatrix): Float { - val resultIndexes = predictionBatch.toList().map { it.maxIndex() } - val labelBatchIndexes = labelBatch.toList().map { it.maxIndex() } - return resultIndexes.zip(labelBatchIndexes). - count { (result, label) -> result == label }.toFloat() / resultIndexes.size -} - -fun Backpropagatable.trainClassifier( - dataset: Dataset, - lossByLabels: (FloatMatrix) -> Backpropagatable, - learningRateByProgress: (Float) -> Float = { 5f * kotlin.math.exp(-it * 3) }, - batchSize: Int = 64, - iterations: Int = 500) { - - for (i in 0 until iterations) { - disposeScoped { - val (inputBatch, labelBatch) = dataset.sampleBatch(batchSize) - val errorNetwork = this@trainClassifier before lossByLabels(labelBatch) - val forwardResults = use { errorNetwork.forwardPass(inputBatch) } - val accuracy = accuracy(forwardResults.hidden, labelBatch) - val progress = i.toFloat() / iterations - val learningRate = learningRateByProgress(progress) - val backpropResults = use { forwardResults.backpropagate(outputGradient = tensor(learningRate)) } - val crossEntropy = forwardResults.output[0] - backpropResults.descend() - println("Iteration ${i + 1}/$iterations: " + - "${accuracy.toPercentageString()}% training batch accuracy, " + - "cross entropy loss = ${crossEntropy.toRoundedString(4)}, " + - "learning rate = ${learningRate.toRoundedString(4)}") - } - } -} - -fun Backpropagatable.testClassifier(dataset: Dataset, batchSize: Int = 100): Float { - val testBatches = dataset.testBatches(batchSize) - return testBatches.withIndex().map { (i, batchPair) -> - val (inputBatch, outputBatch) = batchPair - val accuracy = accuracy(this.forwardPass(inputBatch).output, outputBatch) - println("Test batch ${i + 1}/${testBatches.size}: ${accuracy.toPercentageString()}% accuracy") - accuracy * inputBatch.shape[0] - }.sum() / dataset.inputs.size -} - -fun randomInit(size: Int) = random(-.01, .01, size) -fun randomInit(size0: Int, size1: Int) = random(-.1, .1, size0, size1) - -fun linear(inputSize: Int, outputSize: Int) = Linear(randomInit(outputSize, inputSize), randomInit(outputSize)) -fun twoLayerClassifier(dataset: Dataset, hiddenSize: Int = 64) = - linear(dataset.inputs[0].size, hiddenSize) before Relu before - linear(hiddenSize, dataset.labels[0].size) before Softmax - -fun main() { - val trainingDataset = MNIST.labeledTrainingImages() - val predictionNetwork = twoLayerClassifier(trainingDataset) - predictionNetwork.trainClassifier(trainingDataset, lossByLabels = { CrossEntropyLoss(labels = it) }) - - val testDataset = MNIST.labeledTestImages() - val averageAccuracy = predictionNetwork.testClassifier(testDataset) - println("Accuracy on the test set: ${averageAccuracy.toPercentageString()}") -} diff --git a/samples/torch/src/torchMain/kotlin/Dataset.kt b/samples/torch/src/torchMain/kotlin/Dataset.kt deleted file mode 100644 index 8db12819f85..00000000000 --- a/samples/torch/src/torchMain/kotlin/Dataset.kt +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.torch - -import kotlinx.cinterop.* -import platform.posix.* - -data class Dataset(val inputs: List, val labels: List) { - fun batch(indices: List): Pair { - val inputBatch = tensor(*(indices.map { inputs[it].toTypedArray() }.toTypedArray())) - val labelBatch = tensor(*(indices.map { labels[it].toTypedArray() }.toTypedArray())) - return inputBatch to labelBatch - } - - fun sampleBatch(batchSize: Int) = batch((0 until batchSize).map { randomInt(inputs.size) }) - private fun batchAt(batchIndex: Int, batchSize: Int) = - batch((0 until inputs.size).drop(batchSize + batchIndex).take(batchSize)) - - fun testBatches(batchSize: Int) = (0 until inputs.size / batchSize).map { batchAt(it, batchSize = batchSize) } -} - -/** - * Provides the MNIST labeled handwritten digit dataset, described at http://yann.lecun.com/exdb/mnist/ - */ -object MNIST { - private fun readFileData(fileName: String) = memScoped { - val path = "build/3rd-party/MNIST/$fileName" - fun fail(): Nothing = throw Error("Cannot read input file $path") - - val size = alloc().also { if (stat(path, it.ptr) != 0) fail() }.st_size.toInt() - - println("Reading $size bytes from $path...") - - val file = fopen(path, "rb") ?: fail() - try { - ByteArray(size).also { fread(it.refTo(0), 1, size.convert(), file) } - } finally { - fclose(file) - } - } - - private fun Byte.reinterpretAsUnsigned() = this.toInt().let { it + if (it < 0) 256 else 0 } - - private fun unsignedBytesToInt(bytes: List) = - bytes.withIndex().map { (i, value) -> value.reinterpretAsUnsigned().shl(8 * (3 - i)) }.sum() - - private val intSize = 4 - private fun ByteArray.getIntAt(index: Int) = - unsignedBytesToInt((index until (index + intSize)).map { this[it] }) - - private val imageLength = 28 - private val imageSize = imageLength * imageLength - - private fun ByteArray.getImageAt(index: Int) = - FloatArray(imageSize) { this[index + it].reinterpretAsUnsigned().toFloat() / 255 } - - private fun oneHot(size: Int, index: Int) = FloatArray(size) { if (it == index) 1f else 0f } - - private fun readLabels(fileName: String, totalLabels: Int = 10): List { - val data = readFileData(fileName) - val check = data.getIntAt(0) - val expectedCheck = 2049 - if (check != 2049) throw Error("File should start with int $expectedCheck, but was $check.") - - val count = data.getIntAt(4) - - val offset = 8 - - if (count + offset != data.size) throw Error("Unexpected file size: ${data.size}.") - - return (0 until count).map { oneHot(totalLabels, index = data[offset + it].reinterpretAsUnsigned()) } - } - - private fun readImages(fileName: String): List { - val data = readFileData(fileName) - val check = data.getIntAt(0) - val expectedCheck = 2051 - if (check != expectedCheck) throw Error("File should start with int $expectedCheck, but was $check.") - - val count = data.getIntAt(4) - val width = data.getIntAt(8) - val height = data.getIntAt(12) - - val offset = 16 - - if (width != imageLength) throw Error() - if (height != imageLength) throw Error() - - if (count * imageSize + offset != data.size) throw Error("Unexpected file size: ${data.size}.") - - return (0 until count).map { data.getImageAt(offset + imageSize * it) } - } - - fun labeledTrainingImages() = Dataset( - inputs = readImages("train-images-idx3-ubyte"), - labels = readLabels("train-labels-idx1-ubyte")) - - fun labeledTestImages() = Dataset( - inputs = readImages("t10k-images-idx3-ubyte"), - labels = readLabels("t10k-labels-idx1-ubyte")) -} \ No newline at end of file diff --git a/samples/torch/src/torchMain/kotlin/Disposable.kt b/samples/torch/src/torchMain/kotlin/Disposable.kt deleted file mode 100644 index 2e94e0ed718..00000000000 --- a/samples/torch/src/torchMain/kotlin/Disposable.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.torch - -/** - * NOTE: resource management in this sample suffers from resource leaks - * and double-free bugs (see workaround in [FloatTensor.dispose]). - * - * This might mean that the entire approach for resource management in the sample is faulty. - * Please take this into account when considering reusing the same approach in your project. - * - * TODO: rework resource management. -*/ -interface Disposable { - fun dispose() -} - -open class DisposableContainer(private val disposables: MutableList = ArrayList()) : Disposable { - /** - * Creates the object and schedules its disposal for the end of the scope. - */ - fun use(create: () -> T) = create().also { disposables.add(it) } - - override fun dispose() { - for (disposable in disposables) { - disposable.dispose() - } - } -} - -fun disposeScoped(action: DisposableContainer.() -> T): T { - val scope = DisposableContainer() - - try { - return scope.action() - } finally { - scope.dispose() - } -} \ No newline at end of file diff --git a/samples/torch/src/torchMain/kotlin/Modules.kt b/samples/torch/src/torchMain/kotlin/Modules.kt deleted file mode 100644 index bc07fa2a47b..00000000000 --- a/samples/torch/src/torchMain/kotlin/Modules.kt +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package sample.torch - -import kotlinx.cinterop.* -import torch.* - -// Defines network modules with the ability for backpropagation using both TH.h and THNN.h from the ATen library - -abstract class Backpropagatable { - abstract inner class ForwardResults(val input: Input) : DisposableContainer() { - init { - use { input } - } - - abstract val output: Output - abstract fun backpropagate(outputGradient: Output): BackpropagationResults - } - - abstract inner class BackpropagationResults( - val input: Input, - val output: Output, - val outputGradient: Output - ) : DisposableContainer() { - init { - use { input } - use { output } - use { outputGradient } - } - - abstract val inputGradient: Input - abstract fun descend() - } - - abstract fun forwardPass(input: Input): ForwardResults -} - -abstract class Module : Backpropagatable() { - abstract var parameters: Parameters - abstract fun parametersToList(parameters: Parameters): List - abstract fun parametersFromList(list: List): Parameters - private val parameterList get() = parametersToList(parameters) - - abstract operator fun invoke(input: Input): Output - abstract fun inputGradient(input: Input, outputGradient: Output, output: Output): Input - abstract fun parameterGradient(input: Input, outputGradient: Output, inputGradient: Input): Parameters - - override fun forwardPass(input: Input) = object : ForwardResults(input) { - override val output = use { this@Module(input) } - override fun backpropagate(outputGradient: Output) = - object : Backpropagatable.BackpropagationResults(input, output, outputGradient) { - override val inputGradient = use { this@Module.inputGradient(input, outputGradient, output) } - val parameterGradient = this@Module.parameterGradient(input, - outputGradient = outputGradient, inputGradient = inputGradient) - - override fun descend() = this@Module.descend(parameterGradient) - } - } - - open fun descend(parameterGradient: Parameters) { - parameters = parametersFromList(parameterList.zip( - parametersToList(parameterGradient)) { parameter, gradient -> parameter - gradient }) - } -} - -abstract class ParameterFreeModule : Module() { - override var parameters = Unit - override fun parametersToList(parameters: Unit) = emptyList() - override fun parametersFromList(list: List) = Unit - override fun parameterGradient(input: Input, outputGradient: Output, inputGradient: Input) = Unit - override fun descend(parameterGradient: Unit) {} -} - -class Chain( - val module1: Backpropagatable