├── .github └── workflows │ ├── publish.yml │ └── static-analysis.yml ├── .gitignore ├── .idea ├── .gitignore ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── compiler.xml ├── gradle.xml ├── migrations.xml ├── misc.xml └── vcs.xml ├── LICENSE ├── README.md ├── config └── detekt │ └── detekt.yml ├── demo ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── ic_launcher-playstore.png │ ├── kotlin │ └── eu │ │ └── wewox │ │ └── pagecurl │ │ ├── Example.kt │ │ ├── HowToPageData.kt │ │ ├── MainActivity.kt │ │ ├── RootScreen.kt │ │ ├── components │ │ ├── HowToPage.kt │ │ ├── SettingsPopup.kt │ │ ├── TopBar.kt │ │ └── ZoomOutLayout.kt │ │ ├── screens │ │ ├── BackPagePageCurlScreen.kt │ │ ├── InteractionConfigInPageCurl.kt │ │ ├── PagingPageCurlScreen.kt │ │ ├── SettingsPageCurlScreen.kt │ │ ├── ShadowInPageCurlScreen.kt │ │ ├── SimplePageCurlScreen.kt │ │ └── StateInPageCurlScreen.kt │ │ └── ui │ │ ├── Spacing.kt │ │ └── theme │ │ ├── Color.kt │ │ └── Theme.kt │ └── res │ ├── drawable │ ├── ic_launcher_foreground.xml │ ├── img_sit.jpg │ └── img_sleep.jpg │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ └── values │ ├── colors.xml │ ├── strings.xml │ └── themes.xml ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── pagecurl ├── .gitignore ├── build.gradle.kts └── src │ └── main │ ├── AndroidManifest.xml │ └── kotlin │ └── eu │ └── wewox │ └── pagecurl │ ├── ExperimentalPageCurlApi.kt │ ├── config │ └── PageCurlConfig.kt │ ├── page │ ├── CurlDraw.kt │ ├── DragCommonGesture.kt │ ├── DragGesture.kt │ ├── DragStartEnd.kt │ ├── PageCurl.kt │ ├── PageCurlState.kt │ └── TapGesture.kt │ └── utils │ ├── MathUtils.kt │ ├── Polygon.kt │ └── RectUtils.kt └── settings.gradle.kts /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.github/workflows/static-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/.github/workflows/static-analysis.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/.idea/codeStyles/Project.xml -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/.idea/codeStyles/codeStyleConfig.xml -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/.idea/compiler.xml -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/.idea/gradle.xml -------------------------------------------------------------------------------- /.idea/migrations.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/.idea/migrations.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/README.md -------------------------------------------------------------------------------- /config/detekt/detekt.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/config/detekt/detekt.yml -------------------------------------------------------------------------------- /demo/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /demo/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/build.gradle.kts -------------------------------------------------------------------------------- /demo/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/proguard-rules.pro -------------------------------------------------------------------------------- /demo/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /demo/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/Example.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/Example.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/HowToPageData.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/HowToPageData.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/MainActivity.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/RootScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/RootScreen.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/components/HowToPage.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/components/HowToPage.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/components/SettingsPopup.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/components/SettingsPopup.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/components/TopBar.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/components/TopBar.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/components/ZoomOutLayout.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/components/ZoomOutLayout.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/screens/BackPagePageCurlScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/screens/BackPagePageCurlScreen.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/screens/InteractionConfigInPageCurl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/screens/InteractionConfigInPageCurl.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/screens/PagingPageCurlScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/screens/PagingPageCurlScreen.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/screens/SettingsPageCurlScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/screens/SettingsPageCurlScreen.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/screens/ShadowInPageCurlScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/screens/ShadowInPageCurlScreen.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/screens/SimplePageCurlScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/screens/SimplePageCurlScreen.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/screens/StateInPageCurlScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/screens/StateInPageCurlScreen.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/ui/Spacing.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/ui/Spacing.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Color.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Color.kt -------------------------------------------------------------------------------- /demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Theme.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Theme.kt -------------------------------------------------------------------------------- /demo/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/drawable/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /demo/src/main/res/drawable/img_sit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/drawable/img_sit.jpg -------------------------------------------------------------------------------- /demo/src/main/res/drawable/img_sleep.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/drawable/img_sleep.jpg -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demo/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /demo/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /demo/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /demo/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/demo/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/libs.versions.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/gradle/libs.versions.toml -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/gradlew.bat -------------------------------------------------------------------------------- /pagecurl/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /pagecurl/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/build.gradle.kts -------------------------------------------------------------------------------- /pagecurl/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/ExperimentalPageCurlApi.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/ExperimentalPageCurlApi.kt -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/config/PageCurlConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/config/PageCurlConfig.kt -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/CurlDraw.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/CurlDraw.kt -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/DragCommonGesture.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/DragCommonGesture.kt -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/DragGesture.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/DragGesture.kt -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/DragStartEnd.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/DragStartEnd.kt -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/PageCurl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/PageCurl.kt -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/PageCurlState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/PageCurlState.kt -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/TapGesture.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/page/TapGesture.kt -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/utils/MathUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/utils/MathUtils.kt -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/utils/Polygon.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/utils/Polygon.kt -------------------------------------------------------------------------------- /pagecurl/src/main/kotlin/eu/wewox/pagecurl/utils/RectUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/pagecurl/src/main/kotlin/eu/wewox/pagecurl/utils/RectUtils.kt -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksandrbalan/pagecurl/HEAD/settings.gradle.kts --------------------------------------------------------------------------------