Открыть боковую панель
Aurora OS
Kotlin Multiplatform
QtBindings
Коммиты
aeb78a19
Коммит
aeb78a19
создал
Апр 16, 2025
по автору
Ilya Pankratov
Просмотр файлов
Rename 'aurora' to the 'auroraos'
владелец
4b339fac
Изменения
79
Скрыть пробелы
Построчно
Рядом
qtbindings-annotations/build.gradle.kts
Просмотр файла @
aeb78a19
...
@@ -42,7 +42,7 @@ kotlin {
...
@@ -42,7 +42,7 @@ kotlin {
watchosX64
()
watchosX64
()
}
}
group
=
"ru.aurora.kmp"
group
=
"ru.aurora
os
.kmp"
version
=
"0.1.0"
version
=
"0.1.0"
publishing
{
publishing
{
...
...
qtbindings-annotations/src/commonMain/kotlin/ru/aurora/kmp/qtbindings/QtExport.kt
→
qtbindings-annotations/src/commonMain/kotlin/ru/aurora
os
/kmp/qtbindings/QtExport.kt
Просмотр файла @
aeb78a19
package
ru.auroraos.kmp.qtbindings
/**
/**
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings
@Target
(
AnnotationTarget
.
CLASS
,
AnnotationTarget
.
FUNCTION
)
@Target
(
AnnotationTarget
.
CLASS
,
AnnotationTarget
.
FUNCTION
)
@Retention
(
AnnotationRetention
.
SOURCE
)
@Retention
(
AnnotationRetention
.
SOURCE
)
public
annotation
class
QtExport
public
annotation
class
QtExport
\ No newline at end of file
qtbindings-core/build.gradle.kts
Просмотр файла @
aeb78a19
...
@@ -61,7 +61,7 @@ kotlin {
...
@@ -61,7 +61,7 @@ kotlin {
}
}
}
}
group
=
"ru.aurora.kmp"
group
=
"ru.aurora
os
.kmp"
version
=
"0.1.0"
version
=
"0.1.0"
publishing
{
publishing
{
...
...
qtbindings-core/src/commonMain/kotlin/ru/aurora/kmp/qtbindings/Empty.kt
→
qtbindings-core/src/commonMain/kotlin/ru/aurora
os
/kmp/qtbindings/Empty.kt
Просмотр файла @
aeb78a19
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings
package
ru.aurora
os
.kmp.qtbindings
@Suppress
(
"UNUSED"
)
@Suppress
(
"UNUSED"
)
private
const
val
EMPTY
=
1
private
const
val
EMPTY
=
1
qtbindings-core/src/linuxMain/kotlin/ru/aurora/kmp/qtbindings/cList.kt
→
qtbindings-core/src/linuxMain/kotlin/ru/aurora
os
/kmp/qtbindings/cList.kt
Просмотр файла @
aeb78a19
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings
package
ru.aurora
os
.kmp.qtbindings
import
kotlinx.cinterop.*
import
kotlinx.cinterop.*
...
...
qtbindings-core/src/linuxMain/kotlin/ru/aurora/kmp/qtbindings/cSuspend.kt
→
qtbindings-core/src/linuxMain/kotlin/ru/aurora
os
/kmp/qtbindings/cSuspend.kt
Просмотр файла @
aeb78a19
...
@@ -2,11 +2,11 @@
...
@@ -2,11 +2,11 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings
package
ru.aurora
os
.kmp.qtbindings
import
kotlinx.cinterop.*
import
kotlinx.cinterop.*
import
kotlinx.coroutines.CancellationException
import
kotlinx.coroutines.CancellationException
import
ru.aurora.kmp.qtbindings.cruntime.*
import
ru.aurora
os
.kmp.qtbindings.cruntime.*
import
kotlinx.coroutines.CoroutineScope
import
kotlinx.coroutines.CoroutineScope
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.Job
...
...
qtbindings-core/src/nativeInterop/cinterop/cruntime.def
Просмотр файла @
aeb78a19
headers
=
cruntime
.
h
headers
=
cruntime
.
h
package
=
ru
.
aurora
.
kmp
.
qtbindings
.
cruntime
package
=
ru
.
aurora
os
.
kmp
.
qtbindings
.
cruntime
compilerOpts
=
-
Isrc
/
nativeInterop
/
cinterop
/
compilerOpts
=
-
Isrc
/
nativeInterop
/
cinterop
/
qtbindings-core/src/nativeInterop/cinterop/cruntime.h
Просмотр файла @
aeb78a19
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
#ifndef AURORA_KMP_QT_BINDINGS_C_RUNTIME_H
#ifndef AURORA_
OS_
KMP_QT_BINDINGS_C_RUNTIME_H
#define AURORA_KMP_QT_BINDINGS_C_RUNTIME_H
#define AURORA_
OS_
KMP_QT_BINDINGS_C_RUNTIME_H
#ifdef __cplusplus
#ifdef __cplusplus
extern
"C"
{
extern
"C"
{
...
@@ -39,4 +39,4 @@ typedef struct KotlinCoroutineLauncher
...
@@ -39,4 +39,4 @@ typedef struct KotlinCoroutineLauncher
}
}
#endif
#endif
#endif
/* AURORA_KMP_QT_BINDINGS_C_RUNTIME_H */
#endif
/* AURORA_
OS_
KMP_QT_BINDINGS_C_RUNTIME_H */
qtbindings-gradle-plugin/build.gradle.kts
Просмотр файла @
aeb78a19
...
@@ -16,8 +16,8 @@ dependencies {
...
@@ -16,8 +16,8 @@ dependencies {
gradlePlugin
{
gradlePlugin
{
plugins
{
plugins
{
create
(
"qtBindings"
)
{
create
(
"qtBindings"
)
{
id
=
"ru.aurora.kmp.qtbindings"
id
=
"ru.aurora
os
.kmp.qtbindings"
implementationClass
=
"ru.aurora.kmp.qtbindings.gradle.plugin.QtBindingsPlugin"
implementationClass
=
"ru.aurora
os
.kmp.qtbindings.gradle.plugin.QtBindingsPlugin"
version
=
"0.1.0"
version
=
"0.1.0"
}
}
}
}
...
...
qtbindings-gradle-plugin/src/main/kotlin/ru/aurora/kmp/qtbindings/gradle/plugin/QtBindingsCommandLineArgumentProvider.kt
→
qtbindings-gradle-plugin/src/main/kotlin/ru/aurora
os
/kmp/qtbindings/gradle/plugin/QtBindingsCommandLineArgumentProvider.kt
Просмотр файла @
aeb78a19
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings.gradle.plugin
package
ru.aurora
os
.kmp.qtbindings.gradle.plugin
import
org.gradle.process.CommandLineArgumentProvider
import
org.gradle.process.CommandLineArgumentProvider
...
...
qtbindings-gradle-plugin/src/main/kotlin/ru/aurora/kmp/qtbindings/gradle/plugin/QtBindingsExtension.kt
→
qtbindings-gradle-plugin/src/main/kotlin/ru/aurora
os
/kmp/qtbindings/gradle/plugin/QtBindingsExtension.kt
Просмотр файла @
aeb78a19
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings.gradle.plugin
package
ru.aurora
os
.kmp.qtbindings.gradle.plugin
import
org.gradle.api.provider.Property
import
org.gradle.api.provider.Property
...
...
qtbindings-gradle-plugin/src/main/kotlin/ru/aurora/kmp/qtbindings/gradle/plugin/QtBindingsPlugin.kt
→
qtbindings-gradle-plugin/src/main/kotlin/ru/aurora
os
/kmp/qtbindings/gradle/plugin/QtBindingsPlugin.kt
Просмотр файла @
aeb78a19
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings.gradle.plugin
package
ru.aurora
os
.kmp.qtbindings.gradle.plugin
import
com.google.devtools.ksp.gradle.KspExtension
import
com.google.devtools.ksp.gradle.KspExtension
import
org.gradle.api.Plugin
import
org.gradle.api.Plugin
...
@@ -18,9 +18,9 @@ public class QtBindingsPlugin : Plugin<Project> {
...
@@ -18,9 +18,9 @@ public class QtBindingsPlugin : Plugin<Project> {
private
companion
object
{
private
companion
object
{
val
kmpPluginId
=
"org.jetbrains.kotlin.multiplatform"
val
kmpPluginId
=
"org.jetbrains.kotlin.multiplatform"
val
kspPluginId
=
"com.google.devtools.ksp"
val
kspPluginId
=
"com.google.devtools.ksp"
val
kspQtBindingsDependencyId
=
"ru.aurora.kmp:qtbindings-ksp"
val
kspQtBindingsDependencyId
=
"ru.aurora
os
.kmp:qtbindings-ksp"
val
annotationsQtBindingsDependency
=
"ru.aurora.kmp:qtbindings-annotations"
val
annotationsQtBindingsDependency
=
"ru.aurora
os
.kmp:qtbindings-annotations"
val
coreQtBindingsDependency
=
"ru.aurora.kmp:qtbindings-core"
val
coreQtBindingsDependency
=
"ru.aurora
os
.kmp:qtbindings-core"
val
version
=
"0.1.0"
val
version
=
"0.1.0"
}
}
...
...
qtbindings-ksp/build.gradle.kts
Просмотр файла @
aeb78a19
...
@@ -26,7 +26,7 @@ java {
...
@@ -26,7 +26,7 @@ java {
withSourcesJar
()
withSourcesJar
()
}
}
group
=
"ru.aurora.kmp"
group
=
"ru.aurora
os
.kmp"
version
=
"0.1.0"
version
=
"0.1.0"
publishing
{
publishing
{
...
...
qtbindings-ksp/src/main/kotlin/ru/aurora/kmp/qtbindings/ksp/CSuspendFunctionSpec.kt
→
qtbindings-ksp/src/main/kotlin/ru/aurora
os
/kmp/qtbindings/ksp/CSuspendFunctionSpec.kt
Просмотр файла @
aeb78a19
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings.ksp
package
ru.aurora
os
.kmp.qtbindings.ksp
import
com.google.devtools.ksp.symbol.KSAnnotation
import
com.google.devtools.ksp.symbol.KSAnnotation
import
com.google.devtools.ksp.symbol.KSClassDeclaration
import
com.google.devtools.ksp.symbol.KSClassDeclaration
...
...
qtbindings-ksp/src/main/kotlin/ru/aurora/kmp/qtbindings/ksp/CopyNoArgsFunSpec.kt
→
qtbindings-ksp/src/main/kotlin/ru/aurora
os
/kmp/qtbindings/ksp/CopyNoArgsFunSpec.kt
Просмотр файла @
aeb78a19
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings.ksp
package
ru.aurora
os
.kmp.qtbindings.ksp
import
com.google.devtools.ksp.symbol.KSClassDeclaration
import
com.google.devtools.ksp.symbol.KSClassDeclaration
import
com.squareup.kotlinpoet.ClassName
import
com.squareup.kotlinpoet.ClassName
...
...
qtbindings-ksp/src/main/kotlin/ru/aurora/kmp/qtbindings/ksp/FunctionParameterSpec.kt
→
qtbindings-ksp/src/main/kotlin/ru/aurora
os
/kmp/qtbindings/ksp/FunctionParameterSpec.kt
Просмотр файла @
aeb78a19
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings.ksp
package
ru.aurora
os
.kmp.qtbindings.ksp
import
com.google.devtools.ksp.symbol.KSValueParameter
import
com.google.devtools.ksp.symbol.KSValueParameter
import
com.squareup.kotlinpoet.KModifier
import
com.squareup.kotlinpoet.KModifier
...
...
qtbindings-ksp/src/main/kotlin/ru/aurora/kmp/qtbindings/ksp/KotlinScope.kt
→
qtbindings-ksp/src/main/kotlin/ru/aurora
os
/kmp/qtbindings/ksp/KotlinScope.kt
Просмотр файла @
aeb78a19
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings.ksp
package
ru.aurora
os
.kmp.qtbindings.ksp
import
com.google.devtools.ksp.getFunctionDeclarationsByName
import
com.google.devtools.ksp.getFunctionDeclarationsByName
import
com.google.devtools.ksp.isConstructor
import
com.google.devtools.ksp.isConstructor
...
@@ -12,7 +12,7 @@ import com.google.devtools.ksp.symbol.FunctionKind
...
@@ -12,7 +12,7 @@ import com.google.devtools.ksp.symbol.FunctionKind
import
com.google.devtools.ksp.symbol.KSClassDeclaration
import
com.google.devtools.ksp.symbol.KSClassDeclaration
import
com.google.devtools.ksp.symbol.KSFile
import
com.google.devtools.ksp.symbol.KSFile
import
com.google.devtools.ksp.symbol.KSFunctionDeclaration
import
com.google.devtools.ksp.symbol.KSFunctionDeclaration
import
ru.aurora.kmp.qtbindings.ksp.export.*
import
ru.aurora
os
.kmp.qtbindings.ksp.export.*
/**
/**
* Helps to convert Kotlin function and property names to C library ones.
* Helps to convert Kotlin function and property names to C library ones.
...
...
qtbindings-ksp/src/main/kotlin/ru/aurora/kmp/qtbindings/ksp/KotlinScopeManager.kt
→
qtbindings-ksp/src/main/kotlin/ru/aurora
os
/kmp/qtbindings/ksp/KotlinScopeManager.kt
Просмотр файла @
aeb78a19
...
@@ -2,13 +2,13 @@
...
@@ -2,13 +2,13 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings.ksp
package
ru.aurora
os
.kmp.qtbindings.ksp
import
com.google.devtools.ksp.processing.Resolver
import
com.google.devtools.ksp.processing.Resolver
import
ru.aurora.kmp.qtbindings.ksp.export.ExportSpec
import
ru.aurora
os
.kmp.qtbindings.ksp.export.ExportSpec
import
ru.aurora.kmp.qtbindings.ksp.export.ExportedFunction
import
ru.aurora
os
.kmp.qtbindings.ksp.export.ExportedFunction
import
ru.aurora.kmp.qtbindings.ksp.export.ExportedMethod
import
ru.aurora
os
.kmp.qtbindings.ksp.export.ExportedMethod
import
ru.aurora.kmp.qtbindings.ksp.export.ExportedProperty
import
ru.aurora
os
.kmp.qtbindings.ksp.export.ExportedProperty
internal
class
KotlinScopeManager
(
private
val
resolver
:
Resolver
,
private
val
spec
:
ExportSpec
)
{
internal
class
KotlinScopeManager
(
private
val
resolver
:
Resolver
,
private
val
spec
:
ExportSpec
)
{
...
...
qtbindings-ksp/src/main/kotlin/ru/aurora/kmp/qtbindings/ksp/ListFunctionsSpec.kt
→
qtbindings-ksp/src/main/kotlin/ru/aurora
os
/kmp/qtbindings/ksp/ListFunctionsSpec.kt
Просмотр файла @
aeb78a19
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings.ksp
package
ru.aurora
os
.kmp.qtbindings.ksp
import
com.squareup.kotlinpoet.ClassName
import
com.squareup.kotlinpoet.ClassName
import
com.squareup.kotlinpoet.FunSpec
import
com.squareup.kotlinpoet.FunSpec
...
...
qtbindings-ksp/src/main/kotlin/ru/aurora/kmp/qtbindings/ksp/Names.kt
→
qtbindings-ksp/src/main/kotlin/ru/aurora
os
/kmp/qtbindings/ksp/Names.kt
Просмотр файла @
aeb78a19
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-FileCopyrightText: Copyright 2025 Open Mobile Platform LLC <community@omp.ru>
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
package
ru.aurora.kmp.qtbindings.ksp
package
ru.aurora
os
.kmp.qtbindings.ksp
import
com.squareup.kotlinpoet.ClassName
import
com.squareup.kotlinpoet.ClassName
import
com.squareup.kotlinpoet.MemberName
import
com.squareup.kotlinpoet.MemberName
...
@@ -13,7 +13,7 @@ private const val kotlinPackageName = "kotlin"
...
@@ -13,7 +13,7 @@ private const val kotlinPackageName = "kotlin"
private
const
val
kotlinCollectionsPackageName
=
"kotlin.collections"
private
const
val
kotlinCollectionsPackageName
=
"kotlin.collections"
private
const
val
cinteropPackageName
=
"kotlinx.cinterop"
private
const
val
cinteropPackageName
=
"kotlinx.cinterop"
private
const
val
kotlinNativePackageName
=
"kotlin.native"
private
const
val
kotlinNativePackageName
=
"kotlin.native"
private
const
val
qtBindingsPackageName
=
"ru.aurora.kmp.qtbindings"
private
const
val
qtBindingsPackageName
=
"ru.aurora
os
.kmp.qtbindings"
private
const
val
cRuntimePackageName
=
"$qtBindingsPackageName.cruntime"
private
const
val
cRuntimePackageName
=
"$qtBindingsPackageName.cruntime"
// kotlin package names
// kotlin package names
...
@@ -38,7 +38,7 @@ internal val experimentalForeignApiClassName = ClassName(cinteropPackageName, "E
...
@@ -38,7 +38,7 @@ internal val experimentalForeignApiClassName = ClassName(cinteropPackageName, "E
internal
val
cNameClassName
=
ClassName
(
kotlinNativePackageName
,
"CName"
)
internal
val
cNameClassName
=
ClassName
(
kotlinNativePackageName
,
"CName"
)
// ru.aurora.kmp.qtbindings package names
// ru.aurora
os
.kmp.qtbindings package names
internal
val
kotlinCoroutineLauncherClassName
=
ClassName
(
cRuntimePackageName
,
"KotlinCoroutineLauncher"
)
internal
val
kotlinCoroutineLauncherClassName
=
ClassName
(
cRuntimePackageName
,
"KotlinCoroutineLauncher"
)
internal
val
qtExportClassName
=
ClassName
(
qtBindingsPackageName
,
"QtExport"
)
internal
val
qtExportClassName
=
ClassName
(
qtBindingsPackageName
,
"QtExport"
)
...
...
Пред
1
2
3
4
След
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать