# This is a Gradle generated file for dependency locking.
# Manual edits can break the build and are not advised.
# This file is expected to be part of source control.
androidx.databinding:databinding-common:4.1.3=classpath
androidx.databinding:databinding-compiler-common:4.1.3=classpath
com.android.databinding:baseLibrary:4.1.3=classpath
com.android.tools.analytics-library:crash:27.1.3=classpath
com.android.tools.analytics-library:protos:27.1.3=classpath
com.android.tools.analytics-library:shared:27.1.3=classpath
com.android.tools.analytics-library:tracker:27.1.3=classpath
com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
com.android.tools.build:aaptcompiler:4.1.3=classpath
com.android.tools.build:apksig:4.1.3=classpath
com.android.tools.build:apkzlib:4.1.3=classpath
com.android.tools.build:builder-model:4.1.3=classpath
com.android.tools.build:builder-test-api:4.1.3=classpath
com.android.tools.build:builder:4.1.3=classpath
com.android.tools.build:bundletool:0.14.0=classpath
com.android.tools.build:gradle-api:4.1.3=classpath
com.android.tools.build:gradle:4.1.3=classpath
com.android.tools.build:manifest-merger:27.1.3=classpath
com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
com.android.tools.ddms:ddmlib:27.1.3=classpath
com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
com.android.tools.lint:lint-gradle-api:27.1.3=classpath
com.android.tools.lint:lint-model:27.1.3=classpath
com.android.tools:annotations:27.1.3=classpath
com.android.tools:common:27.1.3=classpath
com.android.tools:dvlib:27.1.3=classpath
com.android.tools:repository:27.1.3=classpath
com.android.tools:sdk-common:27.1.3=classpath
com.android.tools:sdklib:27.1.3=classpath
com.android:signflinger:4.1.3=classpath
com.android:zipflinger:4.1.3=classpath
com.github.gundy:semver4j:0.16.4=classpath
com.google.auto.value:auto-value-annotations:1.6.2=classpath
com.google.code.findbugs:jsr305:3.0.2=classpath
com.google.code.gson:gson:2.8.6=classpath
com.google.crypto.tink:tink:1.3.0-rc2=classpath
com.google.errorprone:error_prone_annotations:2.3.4=classpath
com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
com.google.guava:failureaccess:1.0.1=classpath
com.google.guava:guava:29.0-jre=classpath
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
com.google.j2objc:j2objc-annotations:1.3=classpath
com.google.jimfs:jimfs:1.1=classpath
com.google.protobuf:protobuf-java-util:3.10.0=classpath
com.google.protobuf:protobuf-java:3.10.0=classpath
com.google.test.platform:core-proto:0.0.2-dev=classpath
com.googlecode.json-simple:json-simple:1.1=classpath
com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
com.squareup:javapoet:1.10.0=classpath
com.squareup:javawriter:2.5.0=classpath
com.sun.activation:javax.activation:1.2.0=classpath
com.sun.istack:istack-commons-runtime:3.0.7=classpath
com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
commons-codec:commons-codec:1.10=classpath
commons-io:commons-io:2.4=classpath
commons-logging:commons-logging:1.2=classpath
de.undercouch:gradle-download-task:4.1.1=classpath
it.unimi.dsi:fastutil:7.2.0=classpath
javax.activation:javax.activation-api:1.2.0=classpath
javax.inject:javax.inject:1=classpath
javax.xml.bind:jaxb-api:2.3.1=classpath
net.sf.jopt-simple:jopt-simple:4.9=classpath
net.sf.kxml:kxml2:2.3.0=classpath
net.sf.proguard:proguard-base:6.0.3=classpath
net.sf.proguard:proguard-gradle:6.0.3=classpath
org.antlr:antlr4:4.5.3=classpath
org.apache.commons:commons-compress:1.12=classpath
org.apache.httpcomponents:httpclient:4.5.6=classpath
org.apache.httpcomponents:httpcore:4.4.10=classpath
org.apache.httpcomponents:httpmime:4.5.6=classpath
org.bouncycastle:bcpkix-jdk15on:1.56=classpath
org.bouncycastle:bcprov-jdk15on:1.56=classpath
org.checkerframework:checker-qual:2.11.1=classpath
org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
org.glassfish.jaxb:txw2:2.3.1=classpath
org.jdom:jdom2:2.0.6=classpath
org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
org.jetbrains.kotlin:kotlin-android-extensions:1.5.31=classpath
org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.5.31=classpath
org.jetbrains.kotlin:kotlin-build-common:1.5.31=classpath
org.jetbrains.kotlin:kotlin-compiler-embeddable:1.5.31=classpath
org.jetbrains.kotlin:kotlin-compiler-runner:1.5.31=classpath
org.jetbrains.kotlin:kotlin-daemon-client:1.5.31=classpath
org.jetbrains.kotlin:kotlin-daemon-embeddable:1.5.31=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.5.31=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.5.31=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31=classpath
org.jetbrains.kotlin:kotlin-klib-commonizer-api:1.5.31=classpath
org.jetbrains.kotlin:kotlin-native-utils:1.5.31=classpath
org.jetbrains.kotlin:kotlin-project-model:1.5.31=classpath
org.jetbrains.kotlin:kotlin-reflect:1.3.72=classpath
org.jetbrains.kotlin:kotlin-scripting-common:1.5.31=classpath
org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.5.31=classpath
org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.5.31=classpath
org.jetbrains.kotlin:kotlin-scripting-jvm:1.5.31=classpath
org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=classpath
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
org.jetbrains.kotlin:kotlin-stdlib:1.3.72=classpath
org.jetbrains.kotlin:kotlin-tooling-metadata:1.5.31=classpath
org.jetbrains.kotlin:kotlin-util-io:1.5.31=classpath
org.jetbrains.kotlin:kotlin-util-klib:1.5.31=classpath
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.0=classpath
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0=classpath
org.jetbrains.trove4j:trove4j:20160824=classpath
org.jetbrains:annotations:13.0=classpath
org.json:json:20180813=classpath
org.jvnet.staxex:stax-ex:1.8=classpath
org.ow2.asm:asm-analysis:7.0=classpath
org.ow2.asm:asm-commons:7.0=classpath
org.ow2.asm:asm-tree:7.0=classpath
org.ow2.asm:asm-util:7.0=classpath
org.ow2.asm:asm:7.0=classpath
org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
empty=
