[ {
  "relativePath" : "tooling/utils/intellij-broadcast-core/src/main/java/com/uber/debug/broadcast/core/AckDebugBroadcastHandler.java",
  "extension" : "java",
  "linesOfCode" : 14,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/utils/intellij-broadcast-core/src/main/java/com/uber/debug/broadcast/core/DebugBroadcastReceiver.java",
  "extension" : "java",
  "linesOfCode" : 63,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/utils/intellij-broadcast-core/src/main/java/com/uber/debug/broadcast/core/DebugBroadcastResponse.java",
  "extension" : "java",
  "linesOfCode" : 23,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/utils/intellij-broadcast-core/src/main/java/com/uber/debug/broadcast/core/DebugBroadcastRequest.java",
  "extension" : "java",
  "linesOfCode" : 76,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/utils/intellij-broadcast-core/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 19,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/action/rib/GenerateAction.java",
  "extension" : "java",
  "linesOfCode" : 146,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/action/rib/GenerateRibAction.java",
  "extension" : "java",
  "linesOfCode" : 21,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/action/rib/GenerateRibDialog.java",
  "extension" : "java",
  "linesOfCode" : 39,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/action/rib/Generators.java",
  "extension" : "java",
  "linesOfCode" : 50,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/Generator.java",
  "extension" : "java",
  "linesOfCode" : 119,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/GeneratorPair.java",
  "extension" : "java",
  "linesOfCode" : 17,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/rib/RouterTestGenerator.java",
  "extension" : "java",
  "linesOfCode" : 12,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/rib/InteractorWithEmptyPresenterGenerator.java",
  "extension" : "java",
  "linesOfCode" : 13,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/rib/InteractorWithEmptyPresenterTestGenerator.java",
  "extension" : "java",
  "linesOfCode" : 13,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/rib/BuilderGenerator.java",
  "extension" : "java",
  "linesOfCode" : 12,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/rib/ViewRouterGenerator.java",
  "extension" : "java",
  "linesOfCode" : 12,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/rib/InteractorWithPresenterGenerator.java",
  "extension" : "java",
  "linesOfCode" : 13,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/rib/ViewBuilderGenerator.java",
  "extension" : "java",
  "linesOfCode" : 12,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/rib/RouterGenerator.java",
  "extension" : "java",
  "linesOfCode" : 12,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/rib/InteractorWithPresenterTestGenerator.java",
  "extension" : "java",
  "linesOfCode" : 13,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/rib/ViewRouterTestGenerator.java",
  "extension" : "java",
  "linesOfCode" : 12,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/java/com/uber/presidio/intellij_plugin/generator/rib/ViewGenerator.java",
  "extension" : "java",
  "linesOfCode" : 12,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/resources/META-INF/plugin.xml",
  "extension" : "xml",
  "linesOfCode" : 54,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/io/Response.kt",
  "extension" : "kt",
  "linesOfCode" : 7,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/io/RibHighlightRequest.kt",
  "extension" : "kt",
  "linesOfCode" : 11,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/io/RibLocateRequest.kt",
  "extension" : "kt",
  "linesOfCode" : 24,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/io/LogcatMessageDecoder.kt",
  "extension" : "kt",
  "linesOfCode" : 47,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/io/RibHierarchyRequest.kt",
  "extension" : "kt",
  "linesOfCode" : 21,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/io/AckRequest.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/io/RequestProcessor.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/io/Request.kt",
  "extension" : "kt",
  "linesOfCode" : 10,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/io/LogcatRequestProcessor.kt",
  "extension" : "kt",
  "linesOfCode" : 113,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibHierarchyPanel.kt",
  "extension" : "kt",
  "linesOfCode" : 143,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/AndroidDeviceRepository.kt",
  "extension" : "kt",
  "linesOfCode" : 66,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibViewBrowser.kt",
  "extension" : "kt",
  "linesOfCode" : 136,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibProjectService.kt",
  "extension" : "kt",
  "linesOfCode" : 201,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibHierarchyUtils.kt",
  "extension" : "kt",
  "linesOfCode" : 119,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibHierarchyBrowser.kt",
  "extension" : "kt",
  "linesOfCode" : 223,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibIcons.kt",
  "extension" : "kt",
  "linesOfCode" : 6,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/RibHierarchyTreeStructure.kt",
  "extension" : "kt",
  "linesOfCode" : 89,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/RibViewNodeDescriptor.kt",
  "extension" : "kt",
  "linesOfCode" : 60,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/RibHierarchyDescriptor.kt",
  "extension" : "kt",
  "linesOfCode" : 46,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/RibHierarchyRootNodeDescriptor.kt",
  "extension" : "kt",
  "linesOfCode" : 66,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/RibHierarchyActivityDescriptor.kt",
  "extension" : "kt",
  "linesOfCode" : 25,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/RibHierarchyApplicationDescriptor.kt",
  "extension" : "kt",
  "linesOfCode" : 22,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/RibViewRootNodeDescriptor.kt",
  "extension" : "kt",
  "linesOfCode" : 30,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/HierarchyBrowserBase.kt",
  "extension" : "kt",
  "linesOfCode" : 66,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/RibHierarchyNodeDescriptor.kt",
  "extension" : "kt",
  "linesOfCode" : 25,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/AttachRibProjectServiceActivity.kt",
  "extension" : "kt",
  "linesOfCode" : 9,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/CommandLineUtils.kt",
  "extension" : "kt",
  "linesOfCode" : 54,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/native/intellij-broadcast-rib/src/main/java/com/uber/debug/broadcast/rib/RibHierarchyPayload.java",
  "extension" : "java",
  "linesOfCode" : 99,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/native/intellij-broadcast-rib/src/main/java/com/uber/debug/broadcast/rib/RibHierarchyUtils.java",
  "extension" : "java",
  "linesOfCode" : 23,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/native/intellij-broadcast-rib/src/main/java/com/uber/debug/broadcast/rib/RibHierarchyDebugBroadcastHandler.java",
  "extension" : "java",
  "linesOfCode" : 440,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/native/intellij-broadcast-rib/src/main/java/com/uber/debug/broadcast/rib/RibHierarchyWithSelectionPayload.java",
  "extension" : "java",
  "linesOfCode" : 11,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/native/intellij-broadcast-rib/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 19,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-intellij-plugin/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 80,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-flipper-plugin/src/main/kotlin/com/uber/rib/flipper/RibEventPayload.kt",
  "extension" : "kt",
  "linesOfCode" : 74,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-flipper-plugin/src/main/kotlin/com/uber/rib/flipper/RibTreePlugin.kt",
  "extension" : "kt",
  "linesOfCode" : 109,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-flipper-plugin/src/main/kotlin/com/uber/rib/flipper/RibTreeMessageType.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-flipper-plugin/desktop/src/utils.js",
  "extension" : "js",
  "linesOfCode" : 25,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-flipper-plugin/desktop/src/TreeChart.js",
  "extension" : "js",
  "linesOfCode" : 105,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tooling/rib-flipper-plugin/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 19,
  "components" : [ "primary::tooling" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/RibActivity.kt",
  "extension" : "kt",
  "linesOfCode" : 193,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/ActivityContext.kt",
  "extension" : "kt",
  "linesOfCode" : 3,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/lifecycle/ActivityEvent.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/lifecycle/ActivityCallbackEvent.kt",
  "extension" : "kt",
  "linesOfCode" : 79,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/lifecycle/ActivityLifecycleEvent.kt",
  "extension" : "kt",
  "linesOfCode" : 47,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/ViewPresenter.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/BasicViewRouter.kt",
  "extension" : "kt",
  "linesOfCode" : 6,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/RxActivityEvents.kt",
  "extension" : "kt",
  "linesOfCode" : 18,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/IntentCreatorImpl.kt",
  "extension" : "kt",
  "linesOfCode" : 7,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/XRay.kt",
  "extension" : "kt",
  "linesOfCode" : 84,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/IntentFactory.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/ViewRouter.kt",
  "extension" : "kt",
  "linesOfCode" : 26,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/IntentCreator.kt",
  "extension" : "kt",
  "linesOfCode" : 6,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/ViewBuilder.kt",
  "extension" : "kt",
  "linesOfCode" : 17,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/RibDebugOverlay.kt",
  "extension" : "kt",
  "linesOfCode" : 29,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/src/main/kotlin/com/uber/rib/core/ActivityStarter.kt",
  "extension" : "kt",
  "linesOfCode" : 7,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 26,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-workflow-test/src/main/kotlin/com/uber/rib/workflow/core/StepTester.kt",
  "extension" : "kt",
  "linesOfCode" : 37,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-workflow-test/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 21,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/internal/CoreFriendModuleApi.kt",
  "extension" : "kt",
  "linesOfCode" : 4,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/InteractorModule.kt",
  "extension" : "kt",
  "linesOfCode" : 2,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/Rib.kt",
  "extension" : "kt",
  "linesOfCode" : 39,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/LazyBackingProperty.kt",
  "extension" : "kt",
  "linesOfCode" : 8,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/lifecycle/PresenterEvent.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/lifecycle/InteractorEvent.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/lifecycle/WorkerEvent.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/RibCoroutineWorker.kt",
  "extension" : "kt",
  "linesOfCode" : 120,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/InteractorBaseComponent.kt",
  "extension" : "kt",
  "linesOfCode" : 4,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/InteractorType.kt",
  "extension" : "kt",
  "linesOfCode" : 7,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/InteractorAndViewModule.kt",
  "extension" : "kt",
  "linesOfCode" : 6,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/RibEventType.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/EmptyPresenter.kt",
  "extension" : "kt",
  "linesOfCode" : 2,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/WorkerBinder.kt",
  "extension" : "kt",
  "linesOfCode" : 216,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/Builder.kt",
  "extension" : "kt",
  "linesOfCode" : 2,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/RibBuilder.kt",
  "extension" : "kt",
  "linesOfCode" : 4,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/RibEvents.kt",
  "extension" : "kt",
  "linesOfCode" : 109,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/InteractorComponent.kt",
  "extension" : "kt",
  "linesOfCode" : 6,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/Bundle.kt",
  "extension" : "kt",
  "linesOfCode" : 47,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/Worker.kt",
  "extension" : "kt",
  "linesOfCode" : 17,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/Initializer.kt",
  "extension" : "kt",
  "linesOfCode" : 12,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/RibRouterEvent.kt",
  "extension" : "kt",
  "linesOfCode" : 6,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/Presenter.kt",
  "extension" : "kt",
  "linesOfCode" : 42,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/Router.kt",
  "extension" : "kt",
  "linesOfCode" : 193,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/WorkerUnbinder.kt",
  "extension" : "kt",
  "linesOfCode" : 10,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/Interactor.kt",
  "extension" : "kt",
  "linesOfCode" : 172,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/RibInteractor.kt",
  "extension" : "kt",
  "linesOfCode" : 4,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/FlowAsScope.kt",
  "extension" : "kt",
  "linesOfCode" : 29,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/WorkerScopeProvider.kt",
  "extension" : "kt",
  "linesOfCode" : 14,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/RibRefWatcher.kt",
  "extension" : "kt",
  "linesOfCode" : 60,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/BasicRouter.kt",
  "extension" : "kt",
  "linesOfCode" : 2,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/src/main/kotlin/com/uber/rib/core/BasicInteractor.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-base/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 33,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android-compose/src/main/kotlin/com/uber/rib/core/BasicComposeRouter.kt",
  "extension" : "kt",
  "linesOfCode" : 17,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android-compose/src/main/kotlin/com/uber/rib/core/ComposePresenter.kt",
  "extension" : "kt",
  "linesOfCode" : 5,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android-compose/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 18,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android-core/src/main/kotlin/com/uber/rib/core/ActivityDelegate.kt",
  "extension" : "kt",
  "linesOfCode" : 25,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android-core/src/main/kotlin/com/uber/rib/core/HasActivityDelegate.kt",
  "extension" : "kt",
  "linesOfCode" : 4,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android-core/src/main/kotlin/com/uber/rib/core/CoreAppCompatActivity.kt",
  "extension" : "kt",
  "linesOfCode" : 66,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-android-core/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 12,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-workflow/src/main/kotlin/com/uber/rib/workflow/core/internal/WorkflowFriendModuleApi.kt",
  "extension" : "kt",
  "linesOfCode" : 4,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-workflow/src/main/kotlin/com/uber/rib/workflow/core/Step.kt",
  "extension" : "kt",
  "linesOfCode" : 80,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-workflow/src/main/kotlin/com/uber/rib/workflow/core/Workflow.kt",
  "extension" : "kt",
  "linesOfCode" : 14,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-workflow/src/main/kotlin/com/uber/rib/workflow/core/ActionableItem.kt",
  "extension" : "kt",
  "linesOfCode" : 6,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-workflow/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 18,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-screen-stack-base/src/main/kotlin/com/uber/rib/core/screenstack/lifecycle/ScreenStackEvent.kt",
  "extension" : "kt",
  "linesOfCode" : 8,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-screen-stack-base/src/main/kotlin/com/uber/rib/core/screenstack/ScreenStackBase.kt",
  "extension" : "kt",
  "linesOfCode" : 12,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-screen-stack-base/src/main/kotlin/com/uber/rib/core/screenstack/ViewProvider.kt",
  "extension" : "kt",
  "linesOfCode" : 37,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-screen-stack-base/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 16,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-debug-utils/src/main/kotlin/com/uber/rib/core/RouterDebugUtils.kt",
  "extension" : "kt",
  "linesOfCode" : 20,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-debug-utils/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 16,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-coroutines/src/main/kotlin/com/uber/rib/core/internal/CoroutinesFriendModuleApi.kt",
  "extension" : "kt",
  "linesOfCode" : 4,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-coroutines/src/main/kotlin/com/uber/rib/core/RibCoroutinesConfig.kt",
  "extension" : "kt",
  "linesOfCode" : 18,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-coroutines/src/main/kotlin/com/uber/rib/core/RibDispatchers.kt",
  "extension" : "kt",
  "linesOfCode" : 31,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-coroutines/src/main/kotlin/com/uber/rib/core/RibCoroutineScopes.kt",
  "extension" : "kt",
  "linesOfCode" : 80,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-coroutines/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 21,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-router-navigator/src/main/kotlin/com/uber/rib/core/RouterNavigatorState.kt",
  "extension" : "kt",
  "linesOfCode" : 11,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-router-navigator/src/main/kotlin/com/uber/rib/core/RouterNavigator.kt",
  "extension" : "kt",
  "linesOfCode" : 85,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-router-navigator/src/main/kotlin/com/uber/rib/core/RouterNavigatorEvent.kt",
  "extension" : "kt",
  "linesOfCode" : 6,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-router-navigator/src/main/kotlin/com/uber/rib/core/StackRouterNavigator.kt",
  "extension" : "kt",
  "linesOfCode" : 341,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-router-navigator/src/main/kotlin/com/uber/rib/core/RouterNavigatorEventType.kt",
  "extension" : "kt",
  "linesOfCode" : 4,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-router-navigator/src/main/kotlin/com/uber/rib/core/RouterNavigatorEvents.kt",
  "extension" : "kt",
  "linesOfCode" : 22,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-router-navigator/src/main/kotlin/com/uber/rib/core/RouterNavigatorFactory.kt",
  "extension" : "kt",
  "linesOfCode" : 13,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-router-navigator/src/main/kotlin/com/uber/rib/core/RouterAndState.kt",
  "extension" : "kt",
  "linesOfCode" : 98,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-router-navigator/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 16,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-test/src/main/kotlin/com/uber/rib/compiler/RibTestProcessor.kt",
  "extension" : "kt",
  "linesOfCode" : 24,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-test/src/main/kotlin/com/uber/rib/compiler/InteractorTestGenerator.kt",
  "extension" : "kt",
  "linesOfCode" : 69,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-test/src/main/kotlin/com/uber/rib/compiler/Constants.kt",
  "extension" : "kt",
  "linesOfCode" : 8,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-test/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 33,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/TypeProcessorPipeline.kt",
  "extension" : "kt",
  "linesOfCode" : 20,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/CompilerUtils.kt",
  "extension" : "kt",
  "linesOfCode" : 20,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/AnnotationVerifier.kt",
  "extension" : "kt",
  "linesOfCode" : 11,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/InteractorAnnotationVerifier.kt",
  "extension" : "kt",
  "linesOfCode" : 84,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/ProcessContext.kt",
  "extension" : "kt",
  "linesOfCode" : 8,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/Generator.kt",
  "extension" : "kt",
  "linesOfCode" : 9,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/AnnotatedClass.kt",
  "extension" : "kt",
  "linesOfCode" : 11,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/VerificationFailedException.kt",
  "extension" : "kt",
  "linesOfCode" : 2,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/ProcessorPipeline.kt",
  "extension" : "kt",
  "linesOfCode" : 21,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/InteractorAnnotatedClass.kt",
  "extension" : "kt",
  "linesOfCode" : 11,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/ErrorReporter.kt",
  "extension" : "kt",
  "linesOfCode" : 11,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/Constants.kt",
  "extension" : "kt",
  "linesOfCode" : 6,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/RibProcessor.kt",
  "extension" : "kt",
  "linesOfCode" : 47,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/src/main/kotlin/com/uber/rib/compiler/RibInteractorProcessorPipeline.kt",
  "extension" : "kt",
  "linesOfCode" : 38,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-compiler-app/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 29,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-coroutines-test/src/main/kotlin/com/uber/rib/core/RibCoroutinesRule.kt",
  "extension" : "kt",
  "linesOfCode" : 18,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-coroutines-test/src/main/kotlin/com/uber/rib/core/TestRibCoroutineScopes.kt",
  "extension" : "kt",
  "linesOfCode" : 41,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-coroutines-test/src/main/kotlin/com/uber/rib/core/TestRibDispatchers.kt",
  "extension" : "kt",
  "linesOfCode" : 29,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-coroutines-test/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 23,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/RibTestBasePlaceholder.kt",
  "extension" : "kt",
  "linesOfCode" : 2,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/TestRibCoroutineWorker.kt",
  "extension" : "kt",
  "linesOfCode" : 23,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/FakeComponent.kt",
  "extension" : "kt",
  "linesOfCode" : 18,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/InteractorHelper.kt",
  "extension" : "kt",
  "linesOfCode" : 34,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/FakePresenter.kt",
  "extension" : "kt",
  "linesOfCode" : 2,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/AndroidRecordingRx2Observer.kt",
  "extension" : "kt",
  "linesOfCode" : 55,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/FakeWorker.kt",
  "extension" : "kt",
  "linesOfCode" : 2,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/FakeRouter.kt",
  "extension" : "kt",
  "linesOfCode" : 11,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/FakeInteractor.kt",
  "extension" : "kt",
  "linesOfCode" : 12,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/WorkerHelper.kt",
  "extension" : "kt",
  "linesOfCode" : 9,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/PresenterHelper.kt",
  "extension" : "kt",
  "linesOfCode" : 11,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/src/main/kotlin/com/uber/rib/core/RouterHelper.kt",
  "extension" : "kt",
  "linesOfCode" : 61,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "libraries/rib-test/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 16,
  "components" : [ "primary::libraries" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial1/src/main/java/com/uber/rib/root/RootView.java",
  "extension" : "java",
  "linesOfCode" : 16,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial1/src/main/java/com/uber/rib/root/RootBuilder.java",
  "extension" : "java",
  "linesOfCode" : 64,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial1/src/main/java/com/uber/rib/root/RootRouter.java",
  "extension" : "java",
  "linesOfCode" : 7,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial1/src/main/java/com/uber/rib/root/RootInteractor.java",
  "extension" : "java",
  "linesOfCode" : 15,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial1/src/main/java/com/uber/rib/RootActivity.java",
  "extension" : "java",
  "linesOfCode" : 13,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial1/src/main/java/com/uber/rib/SampleApplication.java",
  "extension" : "java",
  "linesOfCode" : 3,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial1/src/main/res/layout/root_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 5,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial1/src/main/res/values/ub__strings.xml",
  "extension" : "xml",
  "linesOfCode" : 4,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial1/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 20,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/RootView.java",
  "extension" : "java",
  "linesOfCode" : 16,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/RootBuilder.java",
  "extension" : "java",
  "linesOfCode" : 68,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedout/LoggedOutRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedout/LoggedOutBuilder.java",
  "extension" : "java",
  "linesOfCode" : 70,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedout/LoggedOutInteractor.java",
  "extension" : "java",
  "linesOfCode" : 31,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedout/LoggedOutView.java",
  "extension" : "java",
  "linesOfCode" : 33,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameView.java",
  "extension" : "java",
  "linesOfCode" : 32,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameBuilder.java",
  "extension" : "java",
  "linesOfCode" : 71,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameInteractor.java",
  "extension" : "java",
  "linesOfCode" : 33,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeBuilder.java",
  "extension" : "java",
  "linesOfCode" : 70,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeInteractor.java",
  "extension" : "java",
  "linesOfCode" : 71,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedin/tictactoe/Board.java",
  "extension" : "java",
  "linesOfCode" : 48,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeView.java",
  "extension" : "java",
  "linesOfCode" : 95,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/loggedin/tictactoe/BoardCoordinate.java",
  "extension" : "java",
  "linesOfCode" : 15,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/RootRouter.java",
  "extension" : "java",
  "linesOfCode" : 24,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/root/RootInteractor.java",
  "extension" : "java",
  "linesOfCode" : 16,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/RootActivity.java",
  "extension" : "java",
  "linesOfCode" : 13,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/java/com/uber/rib/SampleApplication.java",
  "extension" : "java",
  "linesOfCode" : 3,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/res/layout/off_game_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 53,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/res/layout/root_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 5,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/res/layout/logged_out_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 23,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/res/layout/tic_tac_toe_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 100,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/src/main/res/values/ub__strings.xml",
  "extension" : "xml",
  "linesOfCode" : 10,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial2/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 28,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/RootView.java",
  "extension" : "java",
  "linesOfCode" : 16,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/RootBuilder.java",
  "extension" : "java",
  "linesOfCode" : 81,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedout/LoggedOutRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedout/LoggedOutBuilder.java",
  "extension" : "java",
  "linesOfCode" : 71,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedout/LoggedOutInteractor.java",
  "extension" : "java",
  "linesOfCode" : 40,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedout/LoggedOutView.java",
  "extension" : "java",
  "linesOfCode" : 47,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameView.java",
  "extension" : "java",
  "linesOfCode" : 54,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameBuilder.java",
  "extension" : "java",
  "linesOfCode" : 78,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameInteractor.java",
  "extension" : "java",
  "linesOfCode" : 59,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/ScoreStream.java",
  "extension" : "java",
  "linesOfCode" : 6,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/LoggedInRouter.java",
  "extension" : "java",
  "linesOfCode" : 55,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/LoggedInBuilder.java",
  "extension" : "java",
  "linesOfCode" : 103,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeBuilder.java",
  "extension" : "java",
  "linesOfCode" : 76,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeInteractor.java",
  "extension" : "java",
  "linesOfCode" : 82,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/tictactoe/Board.java",
  "extension" : "java",
  "linesOfCode" : 48,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeView.java",
  "extension" : "java",
  "linesOfCode" : 95,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/tictactoe/BoardCoordinate.java",
  "extension" : "java",
  "linesOfCode" : 15,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/MutableScoreStream.java",
  "extension" : "java",
  "linesOfCode" : 27,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/loggedin/LoggedInInteractor.java",
  "extension" : "java",
  "linesOfCode" : 39,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/RootRouter.java",
  "extension" : "java",
  "linesOfCode" : 36,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/root/RootInteractor.java",
  "extension" : "java",
  "linesOfCode" : 24,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/RootActivity.java",
  "extension" : "java",
  "linesOfCode" : 13,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/java/com/uber/rib/SampleApplication.java",
  "extension" : "java",
  "linesOfCode" : 3,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/res/layout/off_game_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 53,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/res/layout/root_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 5,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/res/layout/logged_out_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 31,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/res/layout/tic_tac_toe_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 100,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/src/main/res/values/ub__strings.xml",
  "extension" : "xml",
  "linesOfCode" : 10,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3-completed/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 23,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/UserName.kt",
  "extension" : "kt",
  "linesOfCode" : 2,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/RootView.java",
  "extension" : "java",
  "linesOfCode" : 16,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/RootActionableItem.java",
  "extension" : "java",
  "linesOfCode" : 3,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/RootBuilder.java",
  "extension" : "java",
  "linesOfCode" : 81,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedout/LoggedOutRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedout/LoggedOutBuilder.java",
  "extension" : "java",
  "linesOfCode" : 71,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedout/LoggedOutInteractor.java",
  "extension" : "java",
  "linesOfCode" : 41,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedout/LoggedOutView.java",
  "extension" : "java",
  "linesOfCode" : 47,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/RootWorkflow.java",
  "extension" : "java",
  "linesOfCode" : 25,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/WorkflowFactory.java",
  "extension" : "java",
  "linesOfCode" : 12,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/GameProvider.java",
  "extension" : "java",
  "linesOfCode" : 7,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/LoggedInActionableItem.java",
  "extension" : "java",
  "linesOfCode" : 3,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/GameKey.java",
  "extension" : "java",
  "linesOfCode" : 4,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameView.java",
  "extension" : "java",
  "linesOfCode" : 74,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameBuilder.java",
  "extension" : "java",
  "linesOfCode" : 82,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameInteractor.java",
  "extension" : "java",
  "linesOfCode" : 63,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/ScoreStream.java",
  "extension" : "java",
  "linesOfCode" : 7,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/LoggedInRouter.java",
  "extension" : "java",
  "linesOfCode" : 55,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/randomWinner/RandomWinnerView.java",
  "extension" : "java",
  "linesOfCode" : 16,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/randomWinner/RandomWinnerBuilder.java",
  "extension" : "java",
  "linesOfCode" : 76,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/randomWinner/RandomWinnerInteractor.java",
  "extension" : "java",
  "linesOfCode" : 33,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/randomWinner/RandomWinnerRouter.java",
  "extension" : "java",
  "linesOfCode" : 10,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/LoggedInBuilder.java",
  "extension" : "java",
  "linesOfCode" : 149,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeBuilder.java",
  "extension" : "java",
  "linesOfCode" : 77,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeInteractor.java",
  "extension" : "java",
  "linesOfCode" : 83,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/tictactoe/Board.java",
  "extension" : "java",
  "linesOfCode" : 48,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeView.java",
  "extension" : "java",
  "linesOfCode" : 95,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/tictactoe/BoardCoordinate.java",
  "extension" : "java",
  "linesOfCode" : 15,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/MutableScoreStream.java",
  "extension" : "java",
  "linesOfCode" : 28,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/loggedin/LoggedInInteractor.java",
  "extension" : "java",
  "linesOfCode" : 45,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/RootRouter.java",
  "extension" : "java",
  "linesOfCode" : 46,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/RootInteractor.java",
  "extension" : "java",
  "linesOfCode" : 25,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/root/RootWorkflowModel.java",
  "extension" : "java",
  "linesOfCode" : 3,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/RootActivity.java",
  "extension" : "java",
  "linesOfCode" : 47,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/java/com/uber/rib/SampleApplication.java",
  "extension" : "java",
  "linesOfCode" : 3,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/res/layout/game_button.xml",
  "extension" : "xml",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/res/layout/off_game_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 46,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/res/layout/root_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 5,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/res/layout/logged_out_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 31,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/res/layout/tic_tac_toe_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 100,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/src/main/res/values/ub__strings.xml",
  "extension" : "xml",
  "linesOfCode" : 10,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial4/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 25,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/RootView.java",
  "extension" : "java",
  "linesOfCode" : 16,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/RootBuilder.java",
  "extension" : "java",
  "linesOfCode" : 81,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedout/LoggedOutRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedout/LoggedOutBuilder.java",
  "extension" : "java",
  "linesOfCode" : 71,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedout/LoggedOutInteractor.java",
  "extension" : "java",
  "linesOfCode" : 40,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedout/LoggedOutView.java",
  "extension" : "java",
  "linesOfCode" : 36,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameView.java",
  "extension" : "java",
  "linesOfCode" : 41,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameBuilder.java",
  "extension" : "java",
  "linesOfCode" : 71,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/offgame/OffGameInteractor.java",
  "extension" : "java",
  "linesOfCode" : 33,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/LoggedInRouter.java",
  "extension" : "java",
  "linesOfCode" : 55,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/LoggedInBuilder.java",
  "extension" : "java",
  "linesOfCode" : 79,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeBuilder.java",
  "extension" : "java",
  "linesOfCode" : 70,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeRouter.java",
  "extension" : "java",
  "linesOfCode" : 8,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeInteractor.java",
  "extension" : "java",
  "linesOfCode" : 71,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/tictactoe/Board.java",
  "extension" : "java",
  "linesOfCode" : 48,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeView.java",
  "extension" : "java",
  "linesOfCode" : 95,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/tictactoe/BoardCoordinate.java",
  "extension" : "java",
  "linesOfCode" : 15,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/LoggedInInteractor.java",
  "extension" : "java",
  "linesOfCode" : 22,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/RootRouter.java",
  "extension" : "java",
  "linesOfCode" : 36,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/root/RootInteractor.java",
  "extension" : "java",
  "linesOfCode" : 24,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/RootActivity.java",
  "extension" : "java",
  "linesOfCode" : 13,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/java/com/uber/rib/SampleApplication.java",
  "extension" : "java",
  "linesOfCode" : 3,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/res/layout/off_game_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 53,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/res/layout/root_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 5,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/res/layout/logged_out_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 29,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/res/layout/tic_tac_toe_rib.xml",
  "extension" : "xml",
  "linesOfCode" : 100,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/src/main/res/values/ub__strings.xml",
  "extension" : "xml",
  "linesOfCode" : 10,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "tutorials/tutorial3/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 22,
  "components" : [ "primary::tutorials" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "gradle/test-libs.versions.toml",
  "extension" : "toml",
  "linesOfCode" : 16,
  "components" : [ "primary::gradle" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "gradle/libs.versions.toml",
  "extension" : "toml",
  "linesOfCode" : 84,
  "components" : [ "primary::gradle" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "gradle/app-libs.versions.toml",
  "extension" : "toml",
  "linesOfCode" : 25,
  "components" : [ "primary::gradle" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "conventions/settings.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 11,
  "components" : [ "primary::conventions" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "conventions/src/main/kotlin/Extensions.kt",
  "extension" : "kt",
  "linesOfCode" : 28,
  "components" : [ "primary::conventions" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "conventions/src/main/kotlin/ribs.android.application.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 45,
  "components" : [ "primary::conventions" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "conventions/src/main/kotlin/ribs.android.library.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 42,
  "components" : [ "primary::conventions" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "conventions/src/main/kotlin/ribs.android.application.errorprone.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 20,
  "components" : [ "primary::conventions" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "conventions/src/main/kotlin/ribs.spotless.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 42,
  "components" : [ "primary::conventions" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "conventions/src/main/kotlin/ribs.kotlin.library.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 17,
  "components" : [ "primary::conventions" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "conventions/build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 23,
  "components" : [ "primary::conventions" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 13,
  "components" : [ "primary::ROOT" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "config/lint/lint.xml",
  "extension" : "xml",
  "linesOfCode" : 4,
  "components" : [ "primary::config" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "config/spotless/copyright.java",
  "extension" : "java",
  "linesOfCode" : 1,
  "components" : [ "primary::config" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "config/spotless/copyright.kt",
  "extension" : "kt",
  "linesOfCode" : 1,
  "components" : [ "primary::config" ],
  "concerns" : [ "::Unclassified" ]
} ]