package Ġcom . m ct ech . data . di Ċ Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . m ct ech . data . auth . Auth Repository Ċ import Ġcom . m ct ech . data . quotation . api . Quot ation API Ċ import Ġcom . m ct ech . data . quotation . datasource . Quot ation Cache DataSource Ċ import Ġcom . m ct ech . data . quotation . datasource . Quot ation Cache DataSource Impl Ċ import Ġcom . m ct ech . data . quotation . datasource . Quot ation DataSource Ċ import Ġcom . m ct ech . data . quotation . datasource . Quot ation Remote DataSource Impl Ċ import Ġcom . m ct ech . data . quotation . repository . Quot ation Repository Ċ import Ġcom . m ct ech . domain . services . Auth Service Ċ import Ġcom . m ct ech . domain . services . Quot ation Service Ċ import Ġorg . k oin . dsl . module Ċ import Ġretrofit 2 . Ret rofit Ċ Ċ val Ġdata Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġ// ĠAuth ĊĠĠĠ Ġsingle < Firebase Auth > Ġ{ ĠFirebase Auth . getInstance () Ġ} ĊĠĠĠ Ġsingle < Auth Service > Ġ{ ĊĠĠĠĠĠĠĠ ĠAuth Repository ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirebase Auth Ġ= Ġget () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠQu ot ation ĊĠĠĠ Ġsingle < Quot ation Cache DataSource > Ġ{ ĠQu ot ation Cache DataSource Impl () Ġ} ĊĠĠĠ Ġsingle < Quot ation DataSource > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġretrofit Ġ= Ġget < Ret rofit >() ĊĠĠĠĠĠĠĠ Ġval Ġapi Ġ= Ġretrofit . create ( Quot ation API :: class . java ) ĊĊĠĠĠĠĠĠĠ ĠQu ot ation Remote DataSource Impl ( api ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġsingle < Quot ation Service > Ġ{ ĊĠĠĠĠĠĠĠ ĠQu ot ation Repository ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcache DataSource Ġ= Ġget (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremote DataSource Ġ= Ġget () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }