{"id":1780,"date":"2025-09-03T06:25:39","date_gmt":"2025-09-03T11:55:39","guid":{"rendered":"https:\/\/techotd.com\/blog\/?p=1780"},"modified":"2025-09-03T06:33:11","modified_gmt":"2025-09-03T12:03:11","slug":"1780-2","status":"publish","type":"post","link":"https:\/\/techotd.com\/blog\/1780-2\/","title":{"rendered":"22 Best Android Libraries for 2025"},"content":{"rendered":"<h2 id=\"introduction\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">Introduction<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Android app development is continuously evolving, with new libraries and tools that streamline coding, improve app performance, and enhance user experience. For developers aiming to create state-of-the-art Android applications in 2025, leveraging the right libraries is essential to save time, reduce bugs, and adopt best practices.<\/p>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">This blog highlights the\u00a0<strong>22 best Android libraries for 2025<\/strong>\u00a0trusted by developers to accelerate their workflows and build powerful, scalable apps. These libraries also integrate well with AI, modern workflows, and cross-platform strategies embraced by companies featured on\u00a0<a class=\"break-word hover:text-super hover:decoration-super underline decoration-from-font underline-offset-1 transition-all duration-300\" href=\"https:\/\/www.techotd.com\/pages\/ai-page.html\" target=\"_blank\" rel=\"nofollow noopener\">TechOTD AI Services<\/a>\u00a0and\u00a0<a class=\"break-word hover:text-super hover:decoration-super underline decoration-from-font underline-offset-1 transition-all duration-300\" href=\"https:\/\/techotd.com\/blog\/\" target=\"_blank\" rel=\"nofollow noopener\">TechOTD Blog<\/a>.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"1-jetpack-compose\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">1. Jetpack Compose<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Google\u2019s modern UI toolkit enables declarative UI design with Kotlin, reducing boilerplate and improving development speed. Compose tightly integrates with other Jetpack components like ViewModel and Navigation.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"2-hilt\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">2. Hilt<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">A dependency injection library built on Dagger, Hilt simplifies managing object lifecycles and reduces boilerplate, improving code modularity and testability.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"3-workmanager\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">3. WorkManager<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Manages deferrable background tasks, ensuring jobs run under specified constraints, even if the app is closed or the device restarts.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"4-room\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">4. Room<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Google\u2019s SQLite object-mapping library streamlines database interactions with type-safe queries and compile-time checks.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"5-retrofit\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">5. Retrofit<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">A type-safe HTTP client for Android and Java, Retrofit simplifies API calls and network communication.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"6-coil\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">6. Coil<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">An image loading library optimized for Kotlin and Jetpack Compose with efficient memory handling and easy integration.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"7-eventbus\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">7. EventBus<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Offers publisher\/subscriber pattern implementation to decouple app components and simplify event-driven communication.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"8-rxkotlin\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">8. RxKotlin<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Extends RxJava\u2019s reactive programming capabilities with Kotlin idioms, enabling streamlined asynchronous programming.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"9-navigation-component\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">9. Navigation Component<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Android Jetpack library that supports efficient in-app navigation and back stack management.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"10-glide\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">10. Glide<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Image loading and caching library for smooth scrolling with large or complex images.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"11-timber\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">11. Timber<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">A logger with enhanced capabilities, making debugging easier in production and development.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"12-lottie\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">12. Lottie<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Library to render Adobe After Effects animations natively on Android, improving app storytelling.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"13-gson\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">13. Gson<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Google\u2019s library to parse JSON into Java\/Kotlin objects and vice versa.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"14-koin\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">14. Koin<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Lightweight dependency injection framework focused on Kotlin, offering a simpler alternative to Dagger.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"15-espresso\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">15. Espresso<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">UI testing library maintaining app stability with automated interaction simulation.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"16-mockito\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">16. Mockito<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Popular mocking framework aiding unit testing by simulating complex objects.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"17-timber\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">17. Timber<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Logging utility to replace native Android Log with better usability and customization.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"18-leakcanary\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">18. LeakCanary<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Memory leak detection tool that helps identify and fix leaks during development.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"19-espresso-idling-resource\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">19. Espresso Idling Resource<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Helps synchronize asynchronous events during Espresso UI tests.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"20-stetho\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">20. Stetho<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Debug bridge for Android applications enabling rich debugging capabilities using Chrome Developer Tools.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"21-kotlin-coroutines\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">21. Kotlin Coroutines<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Enables smooth asynchronous programming with simplified syntax for concurrency.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"22-material-components-for-android\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">22. Material Components for Android<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">Google\u2019s official UI component library implementing Material Design guidelines.<\/p>\n<hr class=\"bg-offsetPlus h-px border-0\" \/>\n<h2 id=\"conclusion\" class=\"mb-2 mt-4 font-display font-semimedium text-base first:mt-0 md:text-lg [hr+&amp;]:mt-4\">Conclusion<\/h2>\n<p class=\"my-2 [&amp;+p]:mt-4 [&amp;_strong:has(+br)]:inline-block [&amp;_strong:has(+br)]:pb-2\">In 2025, Android development demands efficient, robust libraries that empower developers to build modern applications quickly and efficiently. Combining these 22 libraries equips your development toolkit with powerful tools to handle UI, networking, data, testing, and performance optimization.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Android app development is continuously evolving, with new libraries and tools that streamline coding, improve app performance, and enhance user experience. For developers aiming to create state-of-the-art Android applications in 2025, leveraging the right libraries is essential to save time, reduce bugs, and adopt best practices. This blog highlights the\u00a022 best Android libraries for 2025\u00a0trusted by developers to accelerate their workflows and build powerful, scalable apps. These libraries also integrate well with AI, modern workflows, and cross-platform strategies embraced by companies featured on\u00a0TechOTD AI Services\u00a0and\u00a0TechOTD Blog. 1. Jetpack Compose Google\u2019s modern UI toolkit enables declarative UI design with Kotlin, reducing boilerplate and improving development speed. Compose tightly integrates with other Jetpack components like ViewModel and Navigation. 2. Hilt A dependency injection library built on Dagger, Hilt simplifies managing object lifecycles and reduces boilerplate, improving code modularity and testability. 3. WorkManager Manages deferrable background tasks, ensuring jobs run under specified constraints, even if the app is closed or the device restarts. 4. Room Google\u2019s SQLite object-mapping library streamlines database interactions with type-safe queries and compile-time checks. 5. Retrofit A type-safe HTTP client for Android and Java, Retrofit simplifies API calls and network communication. 6. Coil An image loading library optimized for Kotlin and Jetpack Compose with efficient memory handling and easy integration. 7. EventBus Offers publisher\/subscriber pattern implementation to decouple app components and simplify event-driven communication. 8. RxKotlin Extends RxJava\u2019s reactive programming capabilities with Kotlin idioms, enabling streamlined asynchronous programming. 9. Navigation Component Android Jetpack library that supports efficient in-app navigation and back stack management. 10. Glide Image loading and caching library for smooth scrolling with large or complex images. 11. Timber A logger with enhanced capabilities, making debugging easier in production and development. 12. Lottie Library to render Adobe After Effects animations natively on Android, improving app storytelling. 13. Gson Google\u2019s library to parse JSON into Java\/Kotlin objects and vice versa. 14. Koin Lightweight dependency injection framework focused on Kotlin, offering a simpler alternative to Dagger. 15. Espresso UI testing library maintaining app stability with automated interaction simulation. 16. Mockito Popular mocking framework aiding unit testing by simulating complex objects. 17. Timber Logging utility to replace native Android Log with better usability and customization. 18. LeakCanary Memory leak detection tool that helps identify and fix leaks during development. 19. Espresso Idling Resource Helps synchronize asynchronous events during Espresso UI tests. 20. Stetho Debug bridge for Android applications enabling rich debugging capabilities using Chrome Developer Tools. 21. Kotlin Coroutines Enables smooth asynchronous programming with simplified syntax for concurrency. 22. Material Components for Android Google\u2019s official UI component library implementing Material Design guidelines. Conclusion In 2025, Android development demands efficient, robust libraries that empower developers to build modern applications quickly and efficiently. Combining these 22 libraries equips your development toolkit with powerful tools to handle UI, networking, data, testing, and performance optimization.<\/p>\n","protected":false},"author":5,"featured_media":1783,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1336],"tags":[1333,1332,1330,1329,1324,1323,1328,1325,1334,1322,1331,1326,1220,1327,1335],"class_list":["post-1780","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android-devlopment","tag-ai-in-android-development","tag-android-app-architecture","tag-android-coroutines","tag-android-debugging-tools","tag-android-image-loading","tag-android-networking","tag-android-performance-optimization","tag-android-testing-libraries","tag-blockchain-mobile-apps","tag-dependency-injection-android","tag-material-design-android","tag-mobile-app-development-tools","tag-mobile-development-best-practices","tag-reactive-programming-android","tag-techotd-android-solutions"],"rttpg_featured_image_url":{"full":["https:\/\/techotd.com\/blog\/wp-content\/uploads\/2025\/09\/Generated-Image-September-03-2025-5_13PM.jpeg",1024,1024,false],"landscape":["https:\/\/techotd.com\/blog\/wp-content\/uploads\/2025\/09\/Generated-Image-September-03-2025-5_13PM.jpeg",1024,1024,false],"portraits":["https:\/\/techotd.com\/blog\/wp-content\/uploads\/2025\/09\/Generated-Image-September-03-2025-5_13PM.jpeg",1024,1024,false],"thumbnail":["https:\/\/techotd.com\/blog\/wp-content\/uploads\/2025\/09\/Generated-Image-September-03-2025-5_13PM-150x150.jpeg",150,150,true],"medium":["https:\/\/techotd.com\/blog\/wp-content\/uploads\/2025\/09\/Generated-Image-September-03-2025-5_13PM-300x300.jpeg",300,300,true],"large":["https:\/\/techotd.com\/blog\/wp-content\/uploads\/2025\/09\/Generated-Image-September-03-2025-5_13PM.jpeg",1024,1024,false],"1536x1536":["https:\/\/techotd.com\/blog\/wp-content\/uploads\/2025\/09\/Generated-Image-September-03-2025-5_13PM.jpeg",1024,1024,false],"2048x2048":["https:\/\/techotd.com\/blog\/wp-content\/uploads\/2025\/09\/Generated-Image-September-03-2025-5_13PM.jpeg",1024,1024,false],"rpwe-thumbnail":["https:\/\/techotd.com\/blog\/wp-content\/uploads\/2025\/09\/Generated-Image-September-03-2025-5_13PM-45x45.jpeg",45,45,true]},"rttpg_author":{"display_name":"Kirti Sharma","author_link":"https:\/\/techotd.com\/blog\/author\/kirti\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/techotd.com\/blog\/category\/android-devlopment\/\" rel=\"category tag\">android devlopment<\/a>","rttpg_excerpt":"Introduction Android app development is continuously evolving, with new libraries and tools that streamline coding, improve app performance, and enhance user experience. For developers aiming to create state-of-the-art Android applications in 2025, leveraging the right libraries is essential to save time, reduce bugs, and adopt best practices. This blog highlights the\u00a022 best Android libraries for&hellip;","_links":{"self":[{"href":"https:\/\/techotd.com\/blog\/wp-json\/wp\/v2\/posts\/1780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techotd.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techotd.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techotd.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/techotd.com\/blog\/wp-json\/wp\/v2\/comments?post=1780"}],"version-history":[{"count":2,"href":"https:\/\/techotd.com\/blog\/wp-json\/wp\/v2\/posts\/1780\/revisions"}],"predecessor-version":[{"id":1785,"href":"https:\/\/techotd.com\/blog\/wp-json\/wp\/v2\/posts\/1780\/revisions\/1785"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techotd.com\/blog\/wp-json\/wp\/v2\/media\/1783"}],"wp:attachment":[{"href":"https:\/\/techotd.com\/blog\/wp-json\/wp\/v2\/media?parent=1780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techotd.com\/blog\/wp-json\/wp\/v2\/categories?post=1780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techotd.com\/blog\/wp-json\/wp\/v2\/tags?post=1780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}