From 9fef76a3f429521e0733b9f79d5c62d8fe9af2d8 Mon Sep 17 00:00:00 2001 From: Yogesh Choudhary Paliyal Date: Wed, 10 May 2023 14:43:22 +0530 Subject: [PATCH] Migration from gradle groovy to kotlin kts (#525) * versions improvements * improvements * remove navigatio plugin * migrated gradle files from grovvy to kts --- .github/workflows/pr-check.yaml | 4 - .java-version | 1 + app/build.gradle | 172 ------------------ app/build.gradle.kts | 168 +++++++++++++++++ app/proguard-rules.pro | 2 +- .../ui/nav/DashboardComposeActivity.kt | 6 +- app/src/main/res/xml/backup_preferences.xml | 54 ------ app/src/main/res/xml/preferences.xml | 37 ---- build.gradle | 67 ------- build.gradle.kts | 50 +++++ buildSrc/build.gradle.kts | 8 + .../kotlin/main/Deps$Compose$activity$2.class | Bin 0 -> 1102 bytes ...Deps$Compose$materialIconsExtended$2.class | Bin 0 -> 1143 bytes .../main/Deps$Compose$runtimeLiveData$2.class | Bin 0 -> 1123 bytes .../kotlin/main/Deps$Compose$ui$2.class | Bin 0 -> 1078 bytes .../main/Deps$Compose$uiTooling$2.class | Bin 0 -> 1100 bytes .../Deps$Compose$uiToolingPreview$2.class | Bin 0 -> 1122 bytes .../main/Deps$Compose$uiViewBinding$2.class | Bin 0 -> 1112 bytes .../classes/kotlin/main/Deps$Compose.class | Bin 0 -> 3074 bytes .../kotlin/main/Deps$ComposeAndroidTest.class | Bin 0 -> 739 bytes .../Deps$Lifecycle$runtimeCompose$2.class | Bin 0 -> 1132 bytes .../Deps$Lifecycle$viewModelCompose$2.class | Bin 0 -> 1138 bytes .../main/Deps$Lifecycle$viewModelKtx$2.class | Bin 0 -> 1126 bytes .../classes/kotlin/main/Deps$Lifecycle.class | Bin 0 -> 1918 bytes buildSrc/build/classes/kotlin/main/Deps.class | Bin 0 -> 810 bytes .../main/META-INF/buildSrc.kotlin_module | Bin 0 -> 24 bytes .../build/classes/kotlin/main/Versions.class | Bin 0 -> 1187 bytes buildSrc/build/kotlin/buildSrcjar-classes.txt | 1 + .../caches-jvm/inputs/source-to-output.tab | Bin 0 -> 4096 bytes .../inputs/source-to-output.tab.keystream | Bin 0 -> 4096 bytes .../inputs/source-to-output.tab.keystream.len | Bin 0 -> 8 bytes .../inputs/source-to-output.tab.len | Bin 0 -> 8 bytes .../inputs/source-to-output.tab.values.at | Bin 0 -> 1246 bytes .../caches-jvm/inputs/source-to-output.tab_i | Bin 0 -> 32768 bytes .../inputs/source-to-output.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab | Bin 0 -> 4096 bytes .../jvm/kotlin/class-attributes.tab.keystream | Bin 0 -> 4096 bytes .../kotlin/class-attributes.tab.keystream.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab.values.at | Bin 0 -> 64 bytes .../jvm/kotlin/class-attributes.tab_i | Bin 0 -> 32768 bytes .../jvm/kotlin/class-attributes.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-fq-name-to-source.tab | Bin 0 -> 4096 bytes .../class-fq-name-to-source.tab.keystream | Bin 0 -> 4096 bytes .../class-fq-name-to-source.tab.keystream.len | Bin 0 -> 8 bytes .../kotlin/class-fq-name-to-source.tab.len | Bin 0 -> 8 bytes .../class-fq-name-to-source.tab.values.at | Bin 0 -> 285 bytes .../jvm/kotlin/class-fq-name-to-source.tab_i | Bin 0 -> 32768 bytes .../kotlin/class-fq-name-to-source.tab_i.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/constants.tab | Bin 0 -> 4096 bytes .../jvm/kotlin/constants.tab.keystream | Bin 0 -> 4096 bytes .../jvm/kotlin/constants.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/constants.tab.len | Bin 0 -> 8 bytes .../jvm/kotlin/constants.tab.values.at | Bin 0 -> 285 bytes .../caches-jvm/jvm/kotlin/constants.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/jvm/kotlin/constants.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/internal-name-to-source.tab | Bin 0 -> 4096 bytes .../internal-name-to-source.tab.keystream | Bin 0 -> 4096 bytes .../internal-name-to-source.tab.keystream.len | Bin 0 -> 8 bytes .../kotlin/internal-name-to-source.tab.len | Bin 0 -> 8 bytes .../internal-name-to-source.tab.values.at | Bin 0 -> 765 bytes .../jvm/kotlin/internal-name-to-source.tab_i | Bin 0 -> 32768 bytes .../kotlin/internal-name-to-source.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/jvm/kotlin/proto.tab | Bin 0 -> 4096 bytes .../caches-jvm/jvm/kotlin/proto.tab.keystream | Bin 0 -> 4096 bytes .../jvm/kotlin/proto.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/proto.tab.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/proto.tab.values.at | Bin 0 -> 1649 bytes .../caches-jvm/jvm/kotlin/proto.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/jvm/kotlin/proto.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/source-to-classes.tab | Bin 0 -> 4096 bytes .../kotlin/source-to-classes.tab.keystream | Bin 0 -> 4096 bytes .../source-to-classes.tab.keystream.len | Bin 0 -> 8 bytes .../jvm/kotlin/source-to-classes.tab.len | Bin 0 -> 8 bytes .../kotlin/source-to-classes.tab.values.at | Bin 0 -> 442 bytes .../jvm/kotlin/source-to-classes.tab_i | Bin 0 -> 32768 bytes .../jvm/kotlin/source-to-classes.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/lookups/counters.tab | 2 + .../caches-jvm/lookups/file-to-id.tab | Bin 0 -> 4096 bytes .../lookups/file-to-id.tab.keystream | Bin 0 -> 4096 bytes .../lookups/file-to-id.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/file-to-id.tab.len | Bin 0 -> 8 bytes .../lookups/file-to-id.tab.values.at | Bin 0 -> 61 bytes .../caches-jvm/lookups/file-to-id.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/lookups/file-to-id.tab_i.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/id-to-file.tab | Bin 0 -> 4096 bytes .../lookups/id-to-file.tab.keystream | Bin 0 -> 4096 bytes .../lookups/id-to-file.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/id-to-file.tab.len | Bin 0 -> 8 bytes .../lookups/id-to-file.tab.values.at | Bin 0 -> 141 bytes .../caches-jvm/lookups/id-to-file.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/lookups/id-to-file.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/lookups/lookups.tab | Bin 0 -> 4096 bytes .../caches-jvm/lookups/lookups.tab.keystream | Bin 0 -> 4096 bytes .../lookups/lookups.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/lookups.tab.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/lookups.tab.values.at | Bin 0 -> 579 bytes .../caches-jvm/lookups/lookups.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/lookups/lookups.tab_i.len | Bin 0 -> 8 bytes .../compileKotlin/cacheable/last-build.bin | Bin 0 -> 18 bytes .../local-state/build-history.bin | Bin 0 -> 31 bytes buildSrc/build/libs/buildSrc.jar | Bin 0 -> 13255 bytes .../plugin-under-test-metadata.properties | 1 + .../plugin-development/validation-report.txt | 0 buildSrc/build/tmp/jar/MANIFEST.MF | 2 + buildSrc/src/main/kotlin/Dependencies.kt | 23 +++ buildSrc/src/main/kotlin/Versions.kt | 9 + common/build.gradle | 77 -------- common/build.gradle.kts | 70 +++++++ common/proguard-rules.pro | 2 +- gradle.properties | 1 + scripts/masterVersion.sh | 4 +- scripts/versionBump.sh | 4 +- settings.gradle | 3 - settings.gradle.kts | 33 ++++ 115 files changed, 378 insertions(+), 423 deletions(-) create mode 100644 .java-version delete mode 100644 app/build.gradle create mode 100644 app/build.gradle.kts delete mode 100644 app/src/main/res/xml/backup_preferences.xml delete mode 100644 app/src/main/res/xml/preferences.xml delete mode 100644 build.gradle create mode 100644 build.gradle.kts create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Compose$activity$2.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Compose$materialIconsExtended$2.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Compose$runtimeLiveData$2.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Compose$ui$2.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Compose$uiTooling$2.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Compose$uiToolingPreview$2.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Compose$uiViewBinding$2.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Compose.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$ComposeAndroidTest.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Lifecycle$runtimeCompose$2.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Lifecycle$viewModelCompose$2.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Lifecycle$viewModelKtx$2.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps$Lifecycle.class create mode 100644 buildSrc/build/classes/kotlin/main/Deps.class create mode 100644 buildSrc/build/classes/kotlin/main/META-INF/buildSrc.kotlin_module create mode 100644 buildSrc/build/classes/kotlin/main/Versions.class create mode 100644 buildSrc/build/kotlin/buildSrcjar-classes.txt create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len create mode 100644 buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin create mode 100644 buildSrc/build/kotlin/compileKotlin/local-state/build-history.bin create mode 100644 buildSrc/build/libs/buildSrc.jar create mode 100644 buildSrc/build/pluginUnderTestMetadata/plugin-under-test-metadata.properties create mode 100644 buildSrc/build/reports/plugin-development/validation-report.txt create mode 100644 buildSrc/build/tmp/jar/MANIFEST.MF create mode 100644 buildSrc/src/main/kotlin/Dependencies.kt create mode 100644 buildSrc/src/main/kotlin/Versions.kt delete mode 100644 common/build.gradle create mode 100644 common/build.gradle.kts delete mode 100644 settings.gradle create mode 100644 settings.gradle.kts diff --git a/.github/workflows/pr-check.yaml b/.github/workflows/pr-check.yaml index efcb802a..76480baa 100644 --- a/.github/workflows/pr-check.yaml +++ b/.github/workflows/pr-check.yaml @@ -20,7 +20,6 @@ jobs: name: 'Spotless, Tests and Build Production Debug Build' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - name: Setting up project @@ -28,9 +27,6 @@ jobs: - name: ๐Ÿ›  Build Project with Spotless Check run: ./gradlew spotlessCheck - - - name: ๐Ÿ— Build With gradle - run: bash ./gradlew build - name: ๐Ÿงช Run Tests run: ./gradlew test diff --git a/.java-version b/.java-version new file mode 100644 index 00000000..d7109a33 --- /dev/null +++ b/.java-version @@ -0,0 +1 @@ +openjdk64-11.0.11 diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index ae60096f..00000000 --- a/app/build.gradle +++ /dev/null @@ -1,172 +0,0 @@ -plugins { - id 'com.android.application' - id 'kotlin-android' - id 'kotlin-kapt' - id 'androidx.navigation.safeargs.kotlin' - id("dagger.hilt.android.plugin") - id("com.spotify.ruler") -} - -def appPackageId = 'com.yogeshpaliyal.keypass' - -android { - compileSdk 33 - - defaultConfig { - - applicationId appPackageId - minSdk 23 - targetSdk 33 - versionCode 1412 - versionName "1.4.12" - - testInstrumentationRunner "com.yogeshpaliyal.keypass.CustomTestRunner" - vectorDrawables { - useSupportLibrary true - } - } - - buildTypes { - release { - minifyEnabled true - shrinkResources true - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - -// debug { -// minifyEnabled true -// shrinkResources true -// proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' -// } - - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - } - kotlinOptions { - jvmTarget = '17' - - freeCompilerArgs += [ - '-Xopt-in=androidx.compose.material3.ExperimentalMaterial3Api' - ] - } - buildFeatures { - compose true - viewBinding = true - dataBinding = true - } - - flavorDimensions "default" - productFlavors { - production { - } - - staging { - applicationIdSuffix ".staging" - } - } - sourceSets { - main { - res { - srcDirs 'src\\main\\res', 'src\\staging\\res' - } - } - } - - composeOptions { - kotlinCompilerExtensionVersion = "1.4.4" - } - packagingOptions { - resources { - excludes += '/META-INF/{AL2.0,LGPL2.1}' - } - } - namespace appPackageId - - /*sourceSets { - main { - res { - srcDirs 'src\\main\\res', 'src\\staging\\res', '..\\common\\src\\staging\\res' - } - } - }*/ - -} - -ruler { - abi.set("arm64-v8a") - locale.set("en") - screenDensity.set(480) - sdkVersion.set(27) -} - -dependencies { - api project(":common") - - testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.5' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' - androidTestImplementation 'androidx.test:core-ktx:1.5.0' - androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.5' - // Test rules and transitive dependencies: - androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.4.3") - // Needed for createAndroidComposeRule, but not createComposeRule: - debugImplementation("androidx.compose.ui:ui-test-manifest:1.4.3") - - implementation "androidx.compose.ui:ui:1.4.3" - implementation "androidx.compose.ui:ui-tooling-preview:1.4.2" - implementation "androidx.compose.ui:ui-viewbinding:1.4.3" - implementation 'androidx.activity:activity-compose:1.7.1' - implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1" - implementation "androidx.lifecycle:lifecycle-runtime-compose:2.6.1" - implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1" - implementation "androidx.compose.material:material-icons-extended:1.4.2" - androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.4.3" - debugImplementation "androidx.compose.ui:ui-tooling:1.4.3" - implementation("androidx.compose.runtime:runtime-livedata:1.4.3") - implementation "androidx.navigation:navigation-compose:2.5.3" - - implementation 'androidx.compose.material3:material3:1.1.0-rc01' - implementation "com.google.accompanist:accompanist-themeadapter-material3:0.30.1" - - - // XML Libraries - implementation "org.jetbrains.kotlin:kotlin-stdlib:${kotlin_version}" - implementation 'androidx.constraintlayout:constraintlayout:2.1.4' - implementation 'androidx.preference:preference-ktx:1.2.0' - - - implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version" - implementation "androidx.navigation:navigation-ui-ktx:$navigation_version" - - - kapt "androidx.room:room-compiler:$room_version" - - // dependency injection - implementation("com.google.dagger:hilt-android:$hilt_version") - kapt("com.google.dagger:hilt-android-compiler:$hilt_version") - implementation("androidx.hilt:hilt-work:1.0.0") - // When using Kotlin. - kapt("androidx.hilt:hilt-compiler:1.0.0") - implementation("androidx.hilt:hilt-navigation-compose:1.0.0") - - - // zxing library - // implementation "com.googl.ezxing:android-core:3.4.1" - implementation 'com.journeyapps:zxing-android-embedded:4.3.0' - - - // For instrumented tests. - androidTestImplementation("com.google.dagger:hilt-android-testing:2.46") - // ...with Kotlin. - kaptAndroidTest("com.google.dagger:hilt-android-compiler:$hilt_version") - - // For Robolectric tests. - testImplementation("com.google.dagger:hilt-android-testing:2.46") - // ...with Kotlin. - kaptTest("com.google.dagger:hilt-android-compiler:$hilt_version") - - implementation "org.reduxkotlin:redux-kotlin-compose-jvm:0.6.0" - implementation "me.saket.cascade:cascade-compose:2.0.0-rc02" -} diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 00000000..b65f3bc4 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,168 @@ +plugins { + id("com.android.application") + id("kotlin-android") + kotlin("kapt") + id("dagger.hilt.android.plugin") + id("com.spotify.ruler") + id("com.google.dagger.hilt.android") +} + +val appPackageId = "com.yogeshpaliyal.keypass" + +android { + compileSdk = 33 + + defaultConfig { + + applicationId = appPackageId + minSdk = 23 + targetSdk = 33 + versionCode = 1412 + versionName = "1.4.12" + + testInstrumentationRunner = "com.yogeshpaliyal.keypass.CustomTestRunner" + vectorDrawables { + useSupportLibrary = true + } + } + + buildTypes { + release { + isMinifyEnabled = true + isShrinkResources = true + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + } + +// debug { +// minifyEnabled true +// shrinkResources true +// proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' +// } + + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" + + freeCompilerArgs = listOf( + "-Xopt-in=androidx.compose.material3.ExperimentalMaterial3Api" + ) + } + buildFeatures { + compose = true + viewBinding = true + dataBinding = true + } + + flavorDimensions("default") + + productFlavors { + create("production") { + } + + create("staging") { + applicationIdSuffix = ".staging" + } + } + sourceSets { + getByName("main") { + res.srcDirs("src/main/res", "src/staging/res") + } + } + + composeOptions { + kotlinCompilerExtensionVersion = "1.4.4" + } + packagingOptions { + resources { + excludes += "/META-INF/{AL2.0,LGPL2.1}" + } + } + namespace = appPackageId + + /*sourceSets { + main { + res { + srcDirs 'src\\main\\res', 'src\\staging\\res', '..\\common\\src\\staging\\res' + } + } + }*/ + +} + +ruler { + abi.set("arm64-v8a") + locale.set("en") + screenDensity.set(480) + sdkVersion.set(27) +} + + +dependencies { + api(project(":common")) + + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") + androidTestImplementation("androidx.test:core-ktx:1.5.0") + androidTestImplementation("androidx.test.ext:junit-ktx:1.1.5") + // Test rules and transitive dependencies: + androidTestImplementation("androidx.compose.ui:ui-test-junit4:${Versions.compose}") + // Needed for createAndroidComposeRule, but not createComposeRule: + debugImplementation("androidx.compose.ui:ui-test-manifest:${Versions.compose}") + androidTestImplementation("androidx.compose.ui:ui-test-junit4:${Versions.compose}") + debugImplementation("androidx.compose.ui:ui-tooling:${Versions.compose}") + + implementation(Deps.Compose.ui) + implementation(Deps.Compose.uiTooling) + implementation(Deps.Compose.uiToolingPreview) + implementation(Deps.Compose.uiViewBinding) + implementation(Deps.Compose.materialIconsExtended) + implementation(Deps.Compose.activity) + implementation(Deps.Compose.runtimeLiveData) + implementation(Deps.Lifecycle.viewModelCompose) + implementation(Deps.Lifecycle.viewModelKtx) + implementation(Deps.Lifecycle.runtimeCompose) + implementation("androidx.navigation:navigation-compose:2.5.3") + + implementation("androidx.compose.material3:material3:1.1.0-rc01") + implementation("com.google.accompanist:accompanist-themeadapter-material3:0.30.1") + + implementation("androidx.appcompat:appcompat:1.6.1") + + // XML Libraries + implementation("org.jetbrains.kotlin:kotlin-stdlib:${Versions.kotlin}") + implementation("androidx.constraintlayout:constraintlayout:2.1.4") + + kapt("androidx.room:room-compiler:${Versions.room}") + + // dependency injection + implementation("com.google.dagger:hilt-android:${Versions.hilt}") + kapt("com.google.dagger:hilt-android-compiler:${Versions.hilt}") + implementation("androidx.hilt:hilt-work:1.0.0") + // When using Kotlin. + kapt("androidx.hilt:hilt-compiler:1.0.0") + implementation("androidx.hilt:hilt-navigation-compose:1.0.0") + + + // zxing library + // implementation "com.googl.ezxing:android-core:3.4.1" + implementation("com.journeyapps:zxing-android-embedded:4.3.0") + + + // For instrumented tests. + androidTestImplementation("com.google.dagger:hilt-android-testing:2.46") + // ...with Kotlin. + kaptAndroidTest("com.google.dagger:hilt-android-compiler:${Versions.hilt}") + + // For Robolectric tests. + testImplementation("com.google.dagger:hilt-android-testing:2.46") + // ...with Kotlin. + kaptTest("com.google.dagger:hilt-android-compiler:${Versions.hilt}") + + implementation("org.reduxkotlin:redux-kotlin-compose-jvm:0.6.0") + implementation("me.saket.cascade:cascade-compose:2.0.0-rc02") +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 481bb434..ff59496d 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1,6 +1,6 @@ # Add project specific ProGuard rules here. # You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. +# proguardFiles setting in build.gradle.kts. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html diff --git a/app/src/main/java/com/yogeshpaliyal/keypass/ui/nav/DashboardComposeActivity.kt b/app/src/main/java/com/yogeshpaliyal/keypass/ui/nav/DashboardComposeActivity.kt index 436ab674..11ee10b6 100644 --- a/app/src/main/java/com/yogeshpaliyal/keypass/ui/nav/DashboardComposeActivity.kt +++ b/app/src/main/java/com/yogeshpaliyal/keypass/ui/nav/DashboardComposeActivity.kt @@ -2,9 +2,9 @@ package com.yogeshpaliyal.keypass.ui.nav import android.os.Bundle import android.view.WindowManager +import androidx.activity.ComponentActivity import androidx.activity.compose.BackHandler import androidx.activity.compose.setContent -import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Box @@ -75,7 +75,7 @@ import org.reduxkotlin.compose.selectState import java.util.Locale @AndroidEntryPoint -class DashboardComposeActivity : AppCompatActivity() { +class DashboardComposeActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -108,7 +108,7 @@ fun Dashboard() { LaunchedEffect(key1 = systemBackPress, block = { if (systemBackPress) { - (context as? AppCompatActivity)?.onBackPressed() + (context as? ComponentActivity)?.onBackPressed() } }) diff --git a/app/src/main/res/xml/backup_preferences.xml b/app/src/main/res/xml/backup_preferences.xml deleted file mode 100644 index b2ce7ac7..00000000 --- a/app/src/main/res/xml/backup_preferences.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml deleted file mode 100644 index 6616eab7..00000000 --- a/app/src/main/res/xml/preferences.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 062fc6e9..00000000 --- a/build.gradle +++ /dev/null @@ -1,67 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. -buildscript { - - ext{ - kotlin_version = "1.8.10" - lifecycle_version = "2.6.1" - room_version = "2.5.1" - navigation_version = '2.5.3' - ext.hilt_version = '2.45' - } - repositories { - google() - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'com.google.gms:google-services:4.3.15' - classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigation_version" - - - classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version" - - classpath("com.spotify.ruler:ruler-gradle-plugin:1.4.0") - - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} -plugins { - id 'com.diffplug.spotless' version '6.18.0' -} - -allprojects { - repositories { - google() - jcenter() - mavenCentral() - } -} - -/*task clean(type: Delete) { - delete rootProject.buildDir -}*/ - - - -subprojects { - repositories { - google() - jcenter() - maven { url 'https://jitpack.io' } - } - - apply plugin: 'com.diffplug.spotless' - spotless { - kotlin { - target '**/*.kt' - targetExclude("$buildDir/**/*.kt") - targetExclude('bin/**/*.kt') - - java.util.HashMap map = new HashMap<>(); - ktlint("0.46.0").userData(map) - // licenseHeaderFile rootProject.file('spotless/copyright.kt') - } - } -} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 00000000..3215d3cb --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,50 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +buildscript { + + repositories { + google() + } + dependencies { + classpath ("com.android.tools.build:gradle:7.4.2") + classpath ("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}") + classpath ("com.google.gms:google-services:4.3.15") + + classpath ("com.google.dagger:hilt-android-gradle-plugin:${Versions.hilt}") + + classpath ("com.spotify.ruler:ruler-gradle-plugin:1.4.0") + classpath ("com.gradle:gradle-enterprise-gradle-plugin:3.13.2") + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle.kts files + } +} +plugins { + id ("com.diffplug.spotless") version("6.18.0") + id("org.jetbrains.kotlin.kapt") version(Versions.kotlin) + id("com.google.dagger.hilt.android") version "2.44" apply false +} + +/*task clean(type: Delete) { + delete rootProject.buildDir +}*/ + + + +subprojects { + repositories { + google() + maven("https://jitpack.io") + } + + apply(plugin = "com.diffplug.spotless") + spotless { + kotlin { + target("**/*.kt") + targetExclude("$buildDir/**/*.kt") + targetExclude("bin/**/*.kt") + + val map = HashMap(); + ktlint("0.46.0").userData(map) + // licenseHeaderFile rootProject.file('spotless/copyright.kt') + } + } +} \ No newline at end of file diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 00000000..50abac80 --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,8 @@ +plugins { + `kotlin-dsl` + kotlin("jvm") version "1.6.10" +} + +repositories { + mavenCentral() +} \ No newline at end of file diff --git a/buildSrc/build/classes/kotlin/main/Deps$Compose$activity$2.class b/buildSrc/build/classes/kotlin/main/Deps$Compose$activity$2.class new file mode 100644 index 0000000000000000000000000000000000000000..e13a64e1a8a33a7f02ba5c2b5897b7842642ef7e GIT binary patch literal 1102 zcmZ`&ZEq4m5T3oGycLCFwWY1~rKnIX2lb`eVv`2jNP=jjAu;{5+^uxs*lq3>V!!pb z_zN^9Hqpd1e)LBfXW>wcmW17%XJ($6d3Nu|&oAEq-~l`#F!zid`Pqu>9Z8>Msjc{c ztK;l?1PFmwwXRey7glG`v$#;q6V$b8wAXUz)}-%kUtp#bzO@&eisf2|4yff)(Y6}O zjx?Ttw0}X;ZgJJ+AElTzuUZiuYJm47kq`-}!Sd*jH5u z=2cwk`wWFn?h4zLKE5l|*pY$kw z6fh5Wu%`kJ_7L$9S^$smZ-5CK!`*_%xIe{m8I)n+0L&^ZR$-}%V=s@bYudW5mm3E_ Re7FfK=<*@!!z~}8zW^09^ilu- literal 0 HcmV?d00001 diff --git a/buildSrc/build/classes/kotlin/main/Deps$Compose$materialIconsExtended$2.class b/buildSrc/build/classes/kotlin/main/Deps$Compose$materialIconsExtended$2.class new file mode 100644 index 0000000000000000000000000000000000000000..0d94313d580d1d2c82df1b630fa24241d279c0d8 GIT binary patch literal 1143 zcma)5TW=CU6h5=dtrQEzYOmHyu|l;hy=b+?CJnZ66GS5oiRsg@JJNyO*=Bbj^{v0f zU!XCui6*A;(H~_z1B+tRL=tA^ob#RAcg}wM{^<(jU5;PbmuvGQ@meFRi=~IqHQz1M_2MyFbS?f9uhS{RR_C0Q&7OeqS#UWSQ!^bLD ztgW(;w(YgzW^p3{69gjimCaFy&#Ymdl({a>99T9ctsB89hK!9{mveyVKT%0A67iUQ= zGl5s;;%rVUk*CS8Z(~|QQYXJ@U?=) zD^wir5r~IdMj(wkwOYdBEGTv)qAH$^GfY>xV70E>Wd0#-I;hE3J&QUGid%_tsGNV< z6_UHm6g?hr)bIV88P;VA!TgFtgMcCH>3v~2UVuA?yc~Nrfw4Mo2`alj#!uG0u5Yme zu9D4$aT|X`g%WlX#isF7fLYa^A~dsydo+fc5=z(bMqVJg@)1(+@Ihb=&sblnqXVuS z22s$}5UOX>3aE_$6R?h&ROpoH=h+CuT*4a^$!Jw!vgoNY##Z!mxcXihG0DtN`!w3s zZ~QZ8ug;g|)n2XDqC&MSy?AS}NkiMX$%;lA64R$)cccT$OtZTXed}-W z7idguqKRpI^hX)bz*aF{NSHI{JNIwSe*6CE3jl1uBLWM%>^R6*W%pPHEbsS3$h*wu zeYQ(OnqNx-A@JPp$k5}$Z1=k+7a{Wn^-P;~n=aiNwY};IC*)ED=6-Z5SL`Tly`t&BCTnIW|p&kRcroP?KS;=Xsb0Vb_=3eO+>fER`abHY2&>Azd!gwYgf_ zD6Oa9B7sB?S!ondr(bdDt4QXO7WG#1h@1ruXS5>sL|!1i{1MXc@Iqh}&%^-KF#wkglPK4f$W_l}l%qD{ zXuujG=_n{WsIwlWxquQB$!Jw+au}&9CYJS6xbj{ZvB>mK`xM&MZ~QZ8FHfQP0qzW) z;`p5p!-o#ja2tCn;b8X=kD&%|AO9NY@L(WKc!=^bmYYEuW)DHPV9tVh3&&nK*RCmT WQ61M0fdp^^me3SHK7gA6q<#RySNu-^ literal 0 HcmV?d00001 diff --git a/buildSrc/build/classes/kotlin/main/Deps$Compose$ui$2.class b/buildSrc/build/classes/kotlin/main/Deps$Compose$ui$2.class new file mode 100644 index 0000000000000000000000000000000000000000..9d221db3252da19ddc777f728485e16385693c52 GIT binary patch literal 1078 zcmZ`&Yi|-k6g{)cs}u{R)jq9{qC!=m51*|~8f+s8qLGHg^wY4r(t%~R*$2^Y{Vo0i zjfqV(F^wPnQN}y4RZNw@%-nO&eVrM8{QU9_zy=;MOg^=ayj;cU9XXzr3q)=$4#x1Z z)^&Va$Wo`@D+%dauH<&9#(OQ3Z;txj1k&(@BfZjIcq(tzI=s(IHka*E!*_*jZ*Ffg z%>O@Q91(`45&u83#t~zP3E6kL7Q=MDFjD13t792H)%Y6@i>Hu4G6@ai49hjgZI?Qh z-*UO2rn!`k&xZrl9lsvfHlbmzSZjcRfpy6;SE=9A<3#fGIH_eOXv>@)&ueA&EcyL?OiO5rv&JyK#ib+P z^_;+?&L}!H+Ik!}RfkhbrhE!Bm>i?i3N^1-aok~uhmV9IO_(K3OB%xRid~;r700Ao zN!Nt5>Orq%x%<3j6Oyet2Dh8s70M35g;#;}MbE0rzVHO$JAZD0`l?E4xfPpxo<$O; zcco!F9=#&c<^oS^lqTUUudN!?y+6Xa%H9}HhP-akPJxp_f zb|{g_tI}jCQdNwt=qI@JQ8}r|>~H@J`PFCqE40@qD15^0At_3K-C_8UFpFE%Q;`O{ zM|gxR;6D8{=y)*LOL$286Dl`HGRz-9uVSH!#VU=xbY@*q)>XA!I{@==9n0kMkn?cE GL*f^fmg)Hb literal 0 HcmV?d00001 diff --git a/buildSrc/build/classes/kotlin/main/Deps$Compose$uiTooling$2.class b/buildSrc/build/classes/kotlin/main/Deps$Compose$uiTooling$2.class new file mode 100644 index 0000000000000000000000000000000000000000..145d8a91fe357d52ec628b0ef4deb388c95770e0 GIT binary patch literal 1100 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 aUXCjqV;rL#%N*kz8IBc>V;o00KKKs{6O*U_ literal 0 HcmV?d00001 diff --git a/buildSrc/build/classes/kotlin/main/Deps$ComposeAndroidTest.class b/buildSrc/build/classes/kotlin/main/Deps$ComposeAndroidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..6a795bc3c9cd5e7f22f79371639a9d77840cab2c GIT binary patch literal 739 zcmZ`$O>fgc5PiEz9oM)tZGk3~@3zqNfN8~z3Q+<`79o{L6ba?DwpV2vXI*)noO9xb zaN>$MR00V_<;IUf%$86gRmjrJzWI1FZ~XJu*Y5xxqrtHHLLQrqW;Q&|jNI2ro~fiO zO;G`3s2+*22vVUBgM;Wu#uP0vID1N~;weLEtI_i@2ggGh6^3&0UKxgZ>pz@N7~HVk z>F&3iFB#TbS$-HC$s)>y(k2jEXN4$KM(=i3v`1-b8}{OKHg2gk$O;0%8(D}%6oS%x zI4+SCW=+`|+K)$PF)*+Jp=5`lF`f7xuW^r8rxTC6-2L%^*QS$Q{)j!Vxcu~^!>j!C zlVjVHT}F&>qmfFJP9A&UsQ9=9Z=PN^NT=0T!7Ya6i-%)aq_otD)UlH0;hW0)Yej3wnxKA=3PNG#NNtck@iHcES?4ZP-~etQ(=sxV|$%! zl*jUwvJLgwoZf{g*rC)DSIeqjW39StW5(e z*d*)!DZo5Y0WKEKn>UHd)-8Mke|Lhl*V|uk(~>a!OH#spirGClZsQJZ^?)$PU2Ktm rM)AwE(PAH^5Y-S%A(pZ77hSRFDkX5O4`#56S|4Qt&!BGL7+n7i>tmM6 literal 0 HcmV?d00001 diff --git a/buildSrc/build/classes/kotlin/main/Deps$Lifecycle$runtimeCompose$2.class b/buildSrc/build/classes/kotlin/main/Deps$Lifecycle$runtimeCompose$2.class new file mode 100644 index 0000000000000000000000000000000000000000..f5f538c32495a821128798a416573e3796a5b75e GIT binary patch literal 1132 zcmah|?QRl56g{(imeNA8+E1;us8B6X)T(W5(qJ1&5REh>roV<|N(YwNW_Ka>U!TP% z(3sdn6Vv$9hcey)T4~fs!rZy%exJGfi{ySp`euf)E_P=BeA;=Jvs%y6d!(=KwROMBzDNK)QT!sh5qX;7s zfq_wmrIPJ5vQ6RD94@J8u9WTZ{s3j$D|al5(&V|SJGQL9%UI_$tzX<$286Acea6=F znYGMn7~>3n?@+o7i>3ciOeKPwQb})%!Iw%`DKb?|SEEQ^GJ*iEGK7oe%HDRlutV2P zlU}0dJaJC_OX2Z4_c&!T+Fc*LEz^fzA3nlrJq!%2MOuB8VgBqS9639Q81Zou@w1az zBgbAuzP}F|VMF`m8Adm`vej|h?zq$$MUP(|B!oM<$19r5R1{N~7@^xTwXgj`xX&^i+(tR$5vciJ`K?D3jKNTOt$+^TX%YJC9Cz3H!JQFWy& z3E%$xS`5*mQo<=%+;s(!9@|l-WxKR(#Lb~yr&cPmp}5y^D1W44cN|mfN?mMbkhl6r zR^(`&01Zwb0cP}on$-9i!}C) Zb8SIuH}$c&59Z<)mdNBH>EgDF@Go!Y00{s9 literal 0 HcmV?d00001 diff --git a/buildSrc/build/classes/kotlin/main/Deps$Lifecycle$viewModelCompose$2.class b/buildSrc/build/classes/kotlin/main/Deps$Lifecycle$viewModelCompose$2.class new file mode 100644 index 0000000000000000000000000000000000000000..e16404f3d578a2344e82d59a5520a6998c4a79f0 GIT binary patch literal 1138 zcmah|?M@Rx6g{&`KPUwXqI`-XRa=x6Dxw0KkP5L$sYXZ>!>{S?PzH8q$?mqwKc2-W z(3nV~i6Q>E@*hg|E1iFLSqM^VM$OUPD=-^i+`F>}U&XiVkW(eYZJKn$Odmb^FbS)*Ffgz~vg}2Msk4)K;_M`0qy|W& z&Q2zb1@xU!m8dk_n(%jc%^_sC>{;BYa$jn@15Unfs8G71 zq?$62gs=a;F@|JGDd86#9t47DAKXxu;|28Mh?{-Srct(KUGcEtQ~kuY*YGW|DRr~) zPTlGsRk1+(L}+pP5HPM6)TE}?=@s=7vOv~#lEe)nbDxp?KnlYmozWK9PYLwksE7`o z?}VDegF4XY3LHRzkYp>#M5@*2L8nYVNobnMtIG^irtTP>Gf#2tqjpl0u?znw`Sq{w zD~va%$bQ1Tc2I;q`*wOeU<`L@rW`HyknkR|fMxm{F!87*^LR}1DYY9X8YXsOmM~eu eREgG}KDTaY>!v<#FSo5?iRqmi!&q<|)ueh5l@_N8SFudLV2~H7>*L;&DU~ zi@`!K!*tQ}_i_h9SA8z2X|9x~`Pl#^PnR05OEh_|9N&}9Vb(ntY3brLXXL6Ix#nv6 zaA_gCn4OQJpP@_d%Yb33_+NR6KD;88)T<1k%uI#yGKHB+94QRO(2c7M(L$-by;fS^ zpyP^7x6le6IG24(Xzp;$iOH%rLv*XmEL~;^5ms$sU|=<}oOy=v)8lCD^f+cE`)Ny_ z9*xWx6hXG8DQ=xKBS%pxQEJqy!r$gqmylG^v$n9#X) zXegC1fmTOg0td*lZp&q_=m`Ee!X8| zy*a_mC)_;?>ZVWqEd4BC7P> d7ijFsb8E_2*UfTc2Q0u%Op_}>I>4;}(O=)R{Vo6i literal 0 HcmV?d00001 diff --git a/buildSrc/build/classes/kotlin/main/Deps$Lifecycle.class b/buildSrc/build/classes/kotlin/main/Deps$Lifecycle.class new file mode 100644 index 0000000000000000000000000000000000000000..39113e16f25123d4d673e63e02f805b74cbaa2da GIT binary patch literal 1918 zcmbVM+fy4=82_EkZL?XD4TVC2l$J&Xs!hPED0rbMXi7+x(AW-7o8&YuY&M;oO|(Ao z;Pl;p!6zS;KD6qLlfgItD97(?E|37@=*#)O^Id-DyPm)P{_PI{ckq}YdXGO9sl4@s zSDsaD9s*-94$QWhwoRv&eo#K(6*mMQL!xc*Z+040Zf6_yrwzeV#PXWya)z<|VZ*g8 zC!IIHd$z`KGv8>|(g)lvH%-eCY145UuIXA0;tLJ8(6Vi^x>DnAX#|vEVqr0V8bHx) zT25_EM*zVv6le^QGjD~UGpG{Bv|AL&uyZ$ha*iSv!5EC8+`7;qj5GM%uPs5!{BSiW z#>qj}+wQk#GLD^%om4umb_1Mdm}<5h*Q)dLb&8YM?vPSPvg`L6LvY=4Ecasu-@;-^ z$2H7p@Z&lqm@5?bHVWBIV%IBFXU{6$FZvF5&8q2|6s}Tl`>3@{9)5XHlf&wo_@>-p8OPy$-q_^MULoj^{6X@7W4|r zpbtb;dMZk}W!cqYv!c<2T-Py=NjWR;GTaz$Xlmfs@6AdG@5_1pS38=bd3+GYDn4Ym z)*Hctc0K*1tD$zo3)gq61( zUTD?JyxEiJImhA6tZfRxX^*vHqt&eNElXM_dhe9Zy@F*L62IIOT0;6?X!v&NCTWOh zQm*tl8LjJxEFtG@L>53CD&!Cr2`NKb`Of$;BKf5qR=D*m;tU;J`I)2)dvxkV$pRCE zg`qg&n7Rll@qdtJE<&39??{ULohV|NU7DzjJ+Sl=H+~^T!9zM_nLwZJX>x&Haw={P zoF9_4v|Iii%Hx-~v%T~J?;T^UgO6Sz`vQ?;eBS31$Jpufv+^P4Jv8psc8n?*#WZ3_ z!GI4X($AA-l_*HQ*`xP+RKWv$fdsyyyMizAh-j4%Q#1*$@57hF8#%n0!vYrjwE3{TVD5eK%jWM|vNH=g_< zKKW{VAkoASeDg;czo`{TOq1`-cRA;~bbtQ(`W?VSL=2T@^3Zr-47GjH7f~kkUi7N7 zFO$-P!{BZzt;#11&hkn-L=|p;3Opi~@06i@!wNiR@Z;uAYpYp*&alwPi@j)HmYqT< zZ6cv{UW!uX^ls*5vzKL-u$g2-?TN-gUXl~Nl%+^TDJadmeTRl*)>N#aVR&Z{0|PrC zFI{I?J2?siKFtGOJ2?utU-f@{;L|5Z8~g!#D2Dr$w&PmNX^9NJG7q$@?Uu0>9H!S-Mjs0XV!67Z8ll>pDYdmtP$6J=|m% z8$`~?9u^p;&R3o5;$ewloRU(fQYT89wF7EB_qwM`)s?aCE2BD@-1>Jvx_doOX{Pap z(z4m>c4W~KR6}bt@v=z8ZHvCh75t0IYjGmE~NXpiY zegl7VjBDGgUvR^UFq{{0aF1fMaBzzVvozHr;XL7O!a2hGl;^mEHNu$KV>IFTE}R&( o7!xrjaq+Kr$$FP5fh)UU22+^cg=Y{L%ow-^vj%ep^9EOc1B4Ny2><{9 literal 0 HcmV?d00001 diff --git a/buildSrc/build/classes/kotlin/main/META-INF/buildSrc.kotlin_module b/buildSrc/build/classes/kotlin/main/META-INF/buildSrc.kotlin_module new file mode 100644 index 0000000000000000000000000000000000000000..3c12ac66a6a98c50ad2cfef9dd42f905b947be56 GIT binary patch literal 24 ZcmZQzU|?ooU|k~i3 zCtr<;B$}88-~3U=I|Zb+FLUob=g!@G&zSjHxUQF22m0$(P;7}Cdf-OhTp zf0%t&K6V|IK!hQF5-3mj41;4tKWMF_Y zkA$blELzJe28J0DPEh?ANL?>yEnAdzn?|!8CF(+*w$L?QbBx;E6uwX|7$UQCr4;U9 z!bB94R81WTN#877D?*(b`Qq;0R&o0kxtk7Y(7HKLxD+J&)>U@JRyJkwYCS@lGJQn# zLAvpB3j+f?p{SB$_||L;n|zd;Jl$-V+|W)R*@W@yjE^=Oi+q8-Oc?y)Q=F&yPG34Q z#uuXd7iW7KF`Es7V%<=@8%lITMmLn~hRhD=;&Ysq!z+u7#)DC=39qsnIwm+KQ@D?* zBzZ*kTMV#VQvT>Rw zNj3wsjZ1ZKy=`272bXT+20OT+HttpjH`2z9c5s zmW0^+IqrTThhv>iJ*ZyYGdfe33Ajh4v@p~EF3(W5&g=aF{{9@fH}hYyq>Hfsif}w9 zjML9!gX})B4@ldY14Qz8n8%|$W-)gi&Fknf5qNR{Ch-*30a6lE5?P4}iA>8Gkrs(I}Wjpr9cW(Ta>;Oz_E!{RbOREADGvbE}i5z3tk%9Hy$Vsfodv zefDbB*otIdwSN2_x5~4r!EfadPNJMp}{1u2OUVrpC# zFQ@<0f4=`N@a8}{C_e)x758US`D;)bwSmgaseVmqT~N`$#z;kX@OkBp$vRstqG`Sj zk-Ep6dQD_X__R{WQ-%n4Oe0}82#nXGhlXot;#TX&HYk}`vPG)GHGoG7ZP z43?1K9ztrUh20H;CHMmD$V4BZm7AEHCYDMLq7S4sv%HkIGzZHXmaCt}NdHfNoHmqz*II)0jUH(;aKs9XPSDS0E{!@D_`RGe;38^!-M@CBS?xo`jg literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..1553a6fc876c0faff84d8011b288e57be4e16c7a GIT binary patch literal 32768 zcmeIuK@ET~5Jb^U(NGnfd&LP}IMxgjssK~1iVaQP82FhNC5|ux1PBlyK!5-N0t5&U zNEdik@qR~54+|0?K!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0^1Ap_29hPxBU?Z2oNAZ ufB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pkKNFbYi3C#s literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab new file mode 100644 index 0000000000000000000000000000000000000000..33db37ea6019931af9ba90a644529d1e4210d96e GIT binary patch literal 4096 zcmbR3vzw0r2v|V`3OmjFH#6dEh^3|E=kQR@klJr@J%cTOUx-v4KB$qN=#2> IWMDu>0JcIB2><{9 literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..a9d9bac11ec64f4ca5bbf64f8f4c1788f6d2a940 GIT binary patch literal 32768 zcmeIuu?d4<5Cz}^aSumv5-TUj1R<3K1WT-tmkS6G zAV7cs0RjZd7MOG1(%s%=ue6Q;0RjXF5FkK+009C72oNAZfB*pk1PBly5V0o0>obfj h2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0Rp88`~i=>4R8Pe literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab new file mode 100644 index 0000000000000000000000000000000000000000..8363df3b470a97cadb9c83da21da96e569b972bb GIT binary patch literal 4096 zcmbR3vzw0r2v|V`3ED> literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream new file mode 100644 index 0000000000000000000000000000000000000000..2c213a3ec94771a105cf4ca537c3f9684e2aa928 GIT binary patch literal 4096 zcmZQ^Ni8Vm0TFu6`MCx8#i@K?j!$MOmjFH#6dEh^3|E=kQR@klJr@J%cTOUx-v4KB$qN=#4H zW6)Iz2=e!Gbqf&rQtC)6dQ?$pKO>sRgNdDXDqMnW@Ek*(HNby%vKe Oe)orge4n2OaytO_eqgKs literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..a9d9bac11ec64f4ca5bbf64f8f4c1788f6d2a940 GIT binary patch literal 32768 zcmeIuu?d4<5Cz}^aSumv5-TUj1R<3K1WT-tmkS6G zAV7cs0RjZd7MOG1(%s%=ue6Q;0RjXF5FkK+009C72oNAZfB*pk1PBly5V0o0>obfj h2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0Rp88`~i=>4R8Pe literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab new file mode 100644 index 0000000000000000000000000000000000000000..bdf584a84b58bf0b45e9b3a4c946653433feaad2 GIT binary patch literal 4096 zcmbR3vzw0r2pB;G3eSnEDq8~2%LkOPe|RU{AdV_hQMeD jjE2By2#kinXb6mkz-S1JhQMeDjE2By2#kgRc_9D*#r_JH literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream new file mode 100644 index 0000000000000000000000000000000000000000..1fbabf099be0e3ca3de151b0d1438cd9ea6367c9 GIT binary patch literal 4096 zcmeIuF%1A93;?j5D4c^GJdkYu6MT?XLRVJLzGngh1`HT5V8DO@0|pEjFks-<( B17ZLG literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len new file mode 100644 index 0000000000000000000000000000000000000000..9a6f654a2b1fe7f7cba4b266715a7a764968b486 GIT binary patch literal 8 LcmZQz00T|{01*HR literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len new file mode 100644 index 0000000000000000000000000000000000000000..2a17e6e5bd9e7704741c2a3ae485eb2d2e302b87 GIT binary patch literal 8 LcmZQz0D}$y0FVHQ literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at new file mode 100644 index 0000000000000000000000000000000000000000..723179931588dd2036cb085be6e32697d5b416d3 GIT binary patch literal 285 zcmYL@YYM_J5QGPe&r|dSYSpSIkp2-w!T+JI4~$JoqtGLJ3n!^!V6sVO^6gHLi#~}< z_EK1PN;cLdJ8|``_EP#>*VnDCj@mrs;H}dad3V6or+T=Pi7=~dfj2#+!tgv+h?d%L2zz7UrVVJ-LOmqWV3lm15q_m@@w!xqGqL)y) zfZw0M!yOkw-t+zuPMEp7`B{7(UQluw<95bp0@m*G9{ZmKoC(CRp&YE$WKJNa-;KS)lJEjz)bP`rx*($-!w{Ld4CqMe zb!LrURRN7c1!532$t+Mwp$0LDbays^a@3Zj`g64(LNCMd#@jsKti~FaajO1egF5U;<2l2`~XBzyz4U HUkO|R`Qw1L literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len new file mode 100644 index 0000000000000000000000000000000000000000..0ecae51f42559e3bcb340b076afc2ad8de971572 GIT binary patch literal 8 McmZQz00G7{003|RXaE2J literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len new file mode 100644 index 0000000000000000000000000000000000000000..cf8a30a1c969e61b953bddf5da4778377335bdd6 GIT binary patch literal 8 LcmZQz0D~U@0RRB` literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at new file mode 100644 index 0000000000000000000000000000000000000000..2a7b6593fd5322ced1ceeca7a787cd96fb5a2146 GIT binary patch literal 765 zcmdOA@JLNeNi9+cN=?o$N>OmjFH#6dEh^3|E=kQR@klJr@J%cTOUx-v4KB$qN=#4H zW6)Iz2=e!Gbqf&rQtC)6dQ?$pKO>sRgNdDXDqMnW@Ek*(IauN5hAn U=|PJ@6My;)1Euc#JW$#M0D)@&_W%F@ literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..730b663c072bea1d36702b76120bc55aab38d4e0 GIT binary patch literal 32768 zcmeIup-Kc%6b9fyix}Ksu_+h~f{01<1;i|3v54#gSS^cb%c3j>gF#GN1W^RRA{Z3Y zh6!R4H5e_LJrCfPon^SgeiQF-&i|h;t7W5^j{pGz1PBlyP(a`|W)HXWc7YW}2@vQZ z(24i4?VaTwzdaKmK!5-N0t5&Y6gY|btNO}m!8OJS5FkLHPl0C4EzRZoeU2L=K!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyKwy9Z_p$5wcRe5AN~;JEAdr;6 zSG1|MULVRT)rg?oy_vG&PJMc^q&P7Ik`_3NcI}Ua*`!M;5dQ}PkO;CGMj#)AVE`n@59J_>!{qVN=YZz30u@99 zX(1pzv`2EG?U7y){GNc~35Z>>$!6V@BOO{l)eaI4 zQ8MqCcq4mRPtEu1qf5eWCe77CNm-(rZkOyiu0h=CsX!nA0SG_<0uX=z1Rwwb2tWV= I5cr$G4Q@Lff&c&j literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len new file mode 100644 index 0000000000000000000000000000000000000000..8143849975239154c0ac75044fb57f4fe52979fd GIT binary patch literal 8 LcmZQz0E0jP09gQ1 literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len new file mode 100644 index 0000000000000000000000000000000000000000..9e27f732fe29db9f82162c1114700ef23f6ac174 GIT binary patch literal 8 LcmZQz0D}zx0Js3L literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at new file mode 100644 index 0000000000000000000000000000000000000000..0539ef6c6bc7f89d2be1efe6a7fe9dd667fcc3a5 GIT binary patch literal 1649 zcmcgs%}(1u5FQ-IcASuy5Fml7q6n$bOHfZ$IYB9+s*zBjDc7yN4cj_4wbv=>ty0B9 z^w?7#gHzQP>b<*5ympqH8!5@oeDkwAKVKJ4F!FJ{*~4BG`gd`M)^aLeW zr|7zmf)tLLMa}LdVRgI>7WG z6I(mG?k6-t-2jDy?m3M~IM|1!%zWF&0UjWVVbT2@(SU?q7kwM=!^)5;V}gP=UKA#; zZ`cg@*oQWYeL5F;Jl7$Q--y$Yk|B1<2p=Jepvgk@6kS^}%H6e;K$&^GBT!9AuCJuz zB8u3(2T&7mCN(9H8#_{W7UL1YUtziElPNo@Ssr0AC4J_1NJ5{dbcB0RvpQptJIWFM z!#4ro`@9jZ{YC_u~LL{FWHLsq7z$10@EILU}BV*oerIu%_}gK zteFgar;Erx=k?fpn4wp{r>V=^3&xfZzr0F^-UvK^ukVeG*|fF4KDFlXu~q5^I9%d5A*zPu*< K3|sJw|G__dy_Z}7 literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..7006f8bcb6d511d54201f882bad6398b83abfaaf GIT binary patch literal 32768 zcmeIuAr8V&5Jl0SkRUL%NF2UvVgZ5L;L0 s`?{jZ^VBK+_i_8ww%c9;1PBlyK!5-N0t5&UAV7cs0RjXF5cp4l9}0R9MF0Q* literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab new file mode 100644 index 0000000000000000000000000000000000000000..7a17b589131ce40d60b004edef3a3e071f4da7ca GIT binary patch literal 4096 zcmbR3vzw0r2$(s(I}Wjpr9cW(Ta>;Oz_E!{RbOREADGvbE}i5z3tk%9Hy$Vsfodv zefDbB*otIdwSN2_x5~4r!Efaqn6pCOK&?`-g;L92OGw5#n9VH7?ApGw58-a9#VmRW z%=eqgd|z^#O;B45`2r0Gn?G^L=NKYIK`#>>-)Fiiw5#z|IOsKg9cM>ltm0{Rzyp^R zM?CvoKuw@VJ!Q%4$ge?N{SD>;8^TXe=RIDu>OFb88-@gyS}>4y&xU<`+_Z)*T2RBJ zNgJVtWDDvt(L?QpN}N)IV=WrgV27vlhGuIVUZ*8=?q+P!?IVM__^;zdHa|HJ*TH_@ jVLEYn=WSrJON=tO`Cw_EYE`nW9geb-qWg|EVUK(Rw8x(& literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..1553a6fc876c0faff84d8011b288e57be4e16c7a GIT binary patch literal 32768 zcmeIuK@ET~5Jb^U(NGnfd&LP}IMxgjssK~1iVaQP82FhNC5|ux1PBlyK!5-N0t5&U zNEdik@qR~54+|0?K!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0^1Ap_29hPxBU?Z2oNAZ ufB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pkKNFbYi3C#s literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab new file mode 100644 index 00000000..2ceb12b8 --- /dev/null +++ b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab @@ -0,0 +1,2 @@ +2 +0 \ No newline at end of file diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab new file mode 100644 index 0000000000000000000000000000000000000000..621a02b49bd6366aaaed9030eef2788bc25e4506 GIT binary patch literal 4096 zcmbR3vzw0r2$(jE2By2#kinXb6mkz-S1JhQMeDjE2By2#kinXb6mk0O=tB0I50-m;e9( literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream new file mode 100644 index 0000000000000000000000000000000000000000..ff25b2f46f3104d1550bf63377923f47139be1c3 GIT binary patch literal 4096 zcmeIuF%CdL6h%>s(I}Wjpr9cW(Ta>;Oz_E!{RbOREADGvbE}i5z3tk%9Hy$Vsfodv zefDbB*otIdwSN2_x5~4r!EfaOmjFH#6dEh^3|E=kQR@klJr@J%cTOUx-v4KB$qN=#2> KVE_Rz$p`>|QW6aS literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..01bc036065ce374bb566079184e612e994bd2f80 GIT binary patch literal 32768 zcmeIuu?>JQ3`IdJ?2%2FATuFRvQ`SJ?7%F^4i-|1bN{WUixNjT0t5&UAV7cs0RjXF z5FkK+009C72oNBU6u8&^I(tpNF(*KP009C72oNAZfB*pk1PBlyK!5-N0t5&U*i7JA zJ?(qPW?6Cw5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 w2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfWR*T6Fjg5U;qFB literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab new file mode 100644 index 0000000000000000000000000000000000000000..20c7354c2f2ab1d20d12de41091b7e7471ea036f GIT binary patch literal 4096 zcmbR3vzw0r2$(OmjFH#6dEh^3|E=kQR@klJr@J%cTOUx-v4KB$qN=#4H zW6)Iz2=e!Gbqf&rQtC)6dQ?$pKO>sRgNdDXDqMnW@Ek*(F*Gn)ua+ Lfo#jq1E~c7W;!sM literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..f768a77ff21c1e25205732a89dae8aab117c7558 GIT binary patch literal 32768 zcmeIuu@L|;2m>*5ET6GM$qvZXyHzTkwKrYsO9BK45FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk U1PBlyK!5-N0t5&UAaFt81N(dcjsO4v literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab new file mode 100644 index 0000000000000000000000000000000000000000..40ce955ad31750854f52553bc4c70bbfff801ba0 GIT binary patch literal 4096 zcmeIxF=!J}9KhjJYrza9DAb`DN>QkT8KkJxp&6to#K8<&6zX6GDGEB6L5h|-m_dp{ z9ZW%rLLE$@6orb|A%g~l=#W7RLUqWX1)(}*usOd&1xHum{o&nr@9wzacie35d3VB` ziVuG#_3Px&)tkMfUSL(=4%vcbH|5bsXZZBgr literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream new file mode 100644 index 0000000000000000000000000000000000000000..a5865cff8385b4662da5f66294dcd5297fc1e899 GIT binary patch literal 4096 zcmeIwy(>j=9LMo{GB6NEgECwXgXJQ0Q&^OT#ed*wvWVPGakrbYaHm^BlEEO05{s2l z27{CZHwKh)&*Hw{SNR|GJHzSK>GS=ZU*B`0M9b1#qI^XgxyN&n8SASc(Y3Ygle)c! zk-toNAZot+PB9t1Co>hq+0`qb#M!tghGz~M#7EUh1vWEfGq4%(_Vt~oXPX7hg63bu zMM1NmSOmjFH#6dEh^3|E=kQR@klJr@J%cTOUx-v4KB$qN=#2> WVE_RRFbO0WA^ed^j)np#82|upa}#O+ literal 0 HcmV?d00001 diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i b/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..a8708ad5d69d08b42cf78d1129dd3bf9b5ff408a GIT binary patch literal 32768 zcmeI5ZAcV(9LKlokTnWS?!^{a-bI{3>gi^R2Yk4(K zoj1KmKuiMVkUjCij3_bHQ*|2Zl-9uB?w;g=s<>Ox~Z20NZ?%p zZQ~q{Gf77Z-aW%3BtQaYA>hRQp||})idpnfhu8%C=%>E2#q!6g+(^K51O~7!@vj;? zr6jBfc7y%LyOr$heqI8nk?~6|+ns||>MzE4F8`;a&MNh=4lxL%%k%BQ&#sH1mMTfW z9t7fXT}pqHePNGk#jP?1JF%*m&R z>`<#7HFhG&n!MOyJ#v{bM<@E})7rc{J%udrvUljuFimnju z{opa^F8O@kNv$|oHBK%1rEKWWY^&C%wyrU7ne@_mRjoh$NI(sNA@p5M$(I9ad^PdG z9nQ@eopUsa#ULag2mvShK6$|lLDZUGW|q7T&78vL$Q6ca4EGZ^?{1l{V8+u15g0(; z=(%xxPs||xOlu4Q`3tH16(0T_j{y80%-0XkHh2OK2ff>g--|b-S4lxT*vzmN^+rE# zm>F)_rQqD0xO7>#ap?bsKsx$9z3YA~d60mf1XAVscIz^?o;jI|1W14cNI-i6O<0%p z4}PfI`&!ypz=**R*okp=mwo&^7+WE1P*3+qakJEFZH51maS2^&{pn|K0{Qaw6j!}J zR0{R*>#z9nX{df$+YewJ?@X`Vqjg-f#q)u8eLW0TAFixWvg7&S2zapm*!XOIa&XqhTU9}C?$O)1YLz6QFQa@5 zJCyu$V3)FPYO0bQ&y#?b1hVA$)?cz#%b1po1x~v^*}KV-wXrA?AOS-O#N+*u!<8BT zyH03=y46R&vE2WIbYXp!mb>0`-{;53R10AF+j)Bpeg literal 0 HcmV?d00001 diff --git a/buildSrc/build/libs/buildSrc.jar b/buildSrc/build/libs/buildSrc.jar new file mode 100644 index 0000000000000000000000000000000000000000..ca0f4983aa2dcc4c7006940532c814f584603be5 GIT binary patch literal 13255 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 m`SfEwJ