&i;&Je+yLu4A0IVBwgHXUwC^n!17;4nt wV9uYJk8F*E82Rmo=%a37%qd@`WlZi-r7uXE&%qbjKvY0SbE8JuI_9ze0dKo@ZU6uP literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/yutou/passmanage/Adapters/PassWordListAdapter.java b/app/src/main/java/com/yutou/passmanage/Adapters/PassWordListAdapter.java index 70929e2..b447723 100644 --- a/app/src/main/java/com/yutou/passmanage/Adapters/PassWordListAdapter.java +++ b/app/src/main/java/com/yutou/passmanage/Adapters/PassWordListAdapter.java @@ -73,7 +73,7 @@ public class PassWordListAdapter extends RecyclerView.Adapter{ if (isError) { - data.setRemove(true); - dao.update(data); + if (data.isUpload()) { + data.setRemove(true); + dao.update(data); + } else { + dao.delete(data); + } } else { dao.delete(data); } Handler handler = new Handler(Looper.getMainLooper()); handler.post(() -> { dialog.dismiss(); + removeDialog.dismiss(); Toast.makeText(context, "删除成功", Toast.LENGTH_LONG).show(); + list.remove(position); notifyDataSetChanged(); }); }).start(); diff --git a/app/src/main/java/com/yutou/passmanage/Datas/PassWordData.java b/app/src/main/java/com/yutou/passmanage/Datas/PassWordData.java deleted file mode 100644 index a744a9f..0000000 --- a/app/src/main/java/com/yutou/passmanage/Datas/PassWordData.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.yutou.passmanage.Datas; - -public class PassWordData { - private String icon; - private String packageName; - private String name; - private String user; - private String password; - - public String getIcon() { - return icon; - } - - public void setIcon(String icon) { - this.icon = icon; - } - - public String getPackageName() { - return packageName; - } - - public void setPackageName(String packageName) { - this.packageName = packageName; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getUser() { - return user; - } - - public void setUser(String user) { - this.user = user; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } -} diff --git a/app/src/main/java/com/yutou/passmanage/Datas/ToolsPasswordDao.java b/app/src/main/java/com/yutou/passmanage/Datas/ToolsPasswordDao.java index 8597ea8..2db493e 100644 --- a/app/src/main/java/com/yutou/passmanage/Datas/ToolsPasswordDao.java +++ b/app/src/main/java/com/yutou/passmanage/Datas/ToolsPasswordDao.java @@ -11,6 +11,8 @@ import java.util.List; @Dao public interface ToolsPasswordDao { @Query("select * from ToolsPassword") + List getAllAndRemove(); + @Query("select * from ToolsPassword where remove=0") List getAll(); @Query("select * from ToolsPassword where title=:title and account=:account and password=:password") ToolsPassword isExist(String title,String account,String password); @@ -24,4 +26,6 @@ public interface ToolsPasswordDao { void delete(ToolsPassword password); @Update void update(ToolsPassword password); + @Query("DELETE FROM ToolsPassword") + void clear(); } diff --git a/app/src/main/java/com/yutou/passmanage/MainActivity.java b/app/src/main/java/com/yutou/passmanage/MainActivity.java index 7412291..ac990c9 100644 --- a/app/src/main/java/com/yutou/passmanage/MainActivity.java +++ b/app/src/main/java/com/yutou/passmanage/MainActivity.java @@ -1,28 +1,15 @@ package com.yutou.passmanage; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.app.AppCompatActivity; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import android.content.DialogInterface; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.text.Editable; import android.text.TextWatcher; -import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.AutoCompleteTextView; +import android.view.WindowManager; import android.widget.EditText; import android.widget.ImageButton; -import android.widget.MultiAutoCompleteTextView; -import android.widget.TextView; import android.widget.Toast; import com.alibaba.fastjson.JSONArray; @@ -40,6 +27,17 @@ import com.yutou.passmanage.Tools.Tools; import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; +import androidx.biometric.BiometricManager; +import androidx.biometric.BiometricPrompt; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import static androidx.biometric.BiometricManager.Authenticators.BIOMETRIC_WEAK; +import static androidx.biometric.BiometricManager.Authenticators.DEVICE_CREDENTIAL; import static com.yutou.passmanage.Tools.RoomDatabaseManager.addPassword; public class MainActivity extends AppCompatActivity { @@ -52,10 +50,65 @@ public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - initView(); - init(); + auth(); + + } + BiometricPrompt prompt; + void auth() { + BiometricManager manager = BiometricManager.from(this); + if (manager.canAuthenticate(BIOMETRIC_WEAK | DEVICE_CREDENTIAL) == BiometricManager.BIOMETRIC_SUCCESS) { + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { + /* Intent enrollIntent = new Intent(Settings.ACTION_BIOMETRIC_ENROLL); + enrollIntent.putExtra(Settings.EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED, + BIOMETRIC_STRONG | DEVICE_CREDENTIAL); + startActivityForResult(enrollIntent, 233);*/ + + } + prompt=new BiometricPrompt(this, ContextCompat.getMainExecutor(this), new BiometricPrompt.AuthenticationCallback() { + @Override + public void onAuthenticationSucceeded(@NonNull BiometricPrompt.AuthenticationResult result) { + super.onAuthenticationSucceeded(result); + Toast.makeText(MainActivity.this, "验证成功", Toast.LENGTH_LONG).show(); + initView(); + init(); + } + + @Override + public void onAuthenticationFailed() { + super.onAuthenticationFailed(); + Toast.makeText(MainActivity.this, "验证失败,已退出", Toast.LENGTH_LONG).show(); + exit(); + } + + @Override + public void onAuthenticationError(int errorCode, @NonNull CharSequence errString) { + super.onAuthenticationError(errorCode, errString); + System.out.println("errorCode = " + errorCode + ", errString = " + errString); + if(errorCode==10){ + auth(); + }else if(errorCode==13){ + + } + } + }); + BiometricPrompt.PromptInfo promptInfo = new BiometricPrompt.PromptInfo.Builder() + .setTitle("验证指纹") + .setSubtitle("使用指纹来解锁应用") + .setAllowedAuthenticators(BIOMETRIC_WEAK | DEVICE_CREDENTIAL) + .build(); + prompt.authenticate(promptInfo); + System.out.println("调用指纹"); + } else { + + Toast.makeText(this, "必须在支持指纹的设备上使用", Toast.LENGTH_LONG).show(); + } + } + void exit(){ + MainActivity.this.finish(); + System.exit(0); } void initView() { @@ -72,6 +125,7 @@ public class MainActivity extends AppCompatActivity { search.setText(""); new Thread(this::showData).start(); }); + search.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -150,13 +204,13 @@ public class MainActivity extends AppCompatActivity { void init() { AppData.key = Tools.getConfig("key", this); - AppData.key = "6B059119-C8F6-4E19-A8F0-71801D776A1F"; if (Tools.isEmpty(AppData.key)) { EditText key = new EditText(this); key.setHint("激活码"); AlertDialog dialog = new AlertDialog.Builder(this) .setTitle("输入激活码") .setView(key) + .setCancelable(false) .setPositiveButton("确定", (dialog1, which) -> { String k = key.getText().toString().trim(); if (Tools.isEmpty(k)) { @@ -178,10 +232,10 @@ public class MainActivity extends AppCompatActivity { void initData() { new Thread(() -> { - List list = dao.getAll(); + List list = dao.getAllAndRemove(); for (ToolsPassword password : list) { System.out.println(JSONObject.toJSONString(password)); - if (!password.isUpload()&&!password.isRemove()) { + if (!password.isUpload() && !password.isRemove()) { addPassword(password.getTitle(), password.getAccount(), password.getPassword(), -1, true, new NetworkInterface() { @Override public void httpGetData(Object data, int state) { @@ -197,7 +251,7 @@ public class MainActivity extends AppCompatActivity { } }); - }else if(password.isRemove()){ + } else if (password.isRemove()) { JSONObject json = new JSONObject(); json.put("id", password.getId()); NetworkTool.httpPost(NetworkTool.NetworkAPI.PASSWORD_REMOVE, json, new NetworkInterface() { @@ -216,11 +270,16 @@ public class MainActivity extends AppCompatActivity { @Override public void run() { if (isError) { - password.setRemove(true); - dao.update(password); + if (password.isUpload()) { + password.setRemove(true); + dao.update(password); + } else { + dao.delete(password); + } } else { dao.delete(password); } + showData(); } }).start(); @@ -236,13 +295,26 @@ public class MainActivity extends AppCompatActivity { if (json.getInteger("code") == 0) { List list = JSONArray.parseArray(json.getJSONArray("data").toJSONString(), ToolsPassword.class); new Thread(() -> { - for (ToolsPassword password : list) { - if (dao.isExist(password.getTitle(), password.getAccount(), password.getPassword()) == null) { - password.setUpload(true); - dao.insert(password); + try { + for (ToolsPassword password : list) { + if (dao.isExist(password.getTitle(), password.getAccount(), password.getPassword()) == null) { + password.setUpload(true); + dao.insert(password); + } } + } catch (Exception e) { + e.printStackTrace(); + dao.clear(); + for (ToolsPassword password : list) { + if (dao.isExist(password.getTitle(), password.getAccount(), password.getPassword()) == null) { + password.setUpload(true); + dao.insert(password); + } + } + } finally { + showData(); } - showData(); + }).start(); } } diff --git a/app/src/main/java/com/yutou/passmanage/Tools/NetworkTool.java b/app/src/main/java/com/yutou/passmanage/Tools/NetworkTool.java index e4e9937..defbe8b 100644 --- a/app/src/main/java/com/yutou/passmanage/Tools/NetworkTool.java +++ b/app/src/main/java/com/yutou/passmanage/Tools/NetworkTool.java @@ -9,22 +9,13 @@ import com.yutou.passmanage.Datas.AppData; import com.yutou.passmanage.Interfaces.NetworkInterface; import java.io.BufferedReader; -import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; -import java.net.ConnectException; import java.net.HttpURLConnection; -import java.net.SocketTimeoutException; import java.net.URL; import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import java.util.Set; @@ -33,7 +24,7 @@ public class NetworkTool { private final static String TAG = NetworkTool.class.getSimpleName(); public static class NetworkAPI { - public static String HOME = "http://192.168.137.1/tools/password/"; + public static String HOME = "http://tools.yutou233.cn/tools/password/"; public static String PASSWORD_ALL = HOME + "get/all.do"; public static String PASSWORD_ADD = HOME + "set/add.do"; public static String PASSWORD_UPDATE = HOME + "set/update.do"; @@ -45,11 +36,6 @@ public class NetworkTool { } - private NetworkTool() { - //HOME = "http://192.168.31.92:8000/nas"; - } - - public static void httpGet(String url, JSONObject body, NetworkInterface networkInterface) { new Thread(new Runnable() { @Override diff --git a/app/src/main/res/mipmap-anydpi-v26/app_icon.xml b/app/src/main/res/mipmap-anydpi-v26/app_icon.xml new file mode 100644 index 0000000..7699432 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/app_icon.xml @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/app_icon_round.xml b/app/src/main/res/mipmap-anydpi-v26/app_icon_round.xml new file mode 100644 index 0000000..7699432 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/app_icon_round.xml @@ -0,0 +1,5 @@ + ++ + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/app_icon.png b/app/src/main/res/mipmap-hdpi/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d2a80ad9161789cea94d50d24f3c85d28b16e101 GIT binary patch literal 1438 zcmV;P1!4M$P)+ + >wq0l~-&Rh$fY6%e6i z@ioC@)5S$H_m4u<>5{1t)RCAN<{wTbn=&$|lWjlGxf!Ie@@l;a_x7CRliQYZ==Z~~ z_ug~bbN&2CBaJlDNMm^e@VD6@kW1i9|BD;cSpZl6?_Otf?VxrD3M|K<#o~l6^AL2P z+nsEJe$D8$;|w^9*OC^0(dvL8%MgrNoOc0ZcHUt<_p*#>9rHn+Npg9Anw@vY=?({P zFK`N!N#8gB8HyONGV?~NClGII2L4ek%Hcxgtf-;|)9W`u)AB=^Yv#=e@;CP1XydFP z$DM_m!GEFb<*6Q=)e}Jh`kuJ~x-%{cLYZnD3!r&%>J6OL6G4Hx?%6@k3c?kH1=%Lw z#92KORNX!6U_y|#?HAbHa&Z$(fuZj@BZ5k8lW%z}NY{16$%LScyaNy&Bi%4D@p(|x z_&FnjN}4C$-g1Hj(x-tJA%fH$H6YC0w Hfnwk3`+ip4`5TyeuY%G3JLu5unt@weTadB$I^^Uv zK_XuX5n)2c$(3p0z0nEicANoOel1iS`H2W}Wv5&RAB|7LR~P?=kI!FYr=WzmT|kMg zjF8Az07a?crB_GbmEKWy3Q9~;L!spaBV=XQ0Y3rl#Cal! CraTJqPq|hD%X>KEX1!3@zLY&{o2*M0Kh(u;cODSisAg1AkXV4Hq>%a;@rvASm z-*g n$5OiYbjFpzoLg(`z@lEl9clEIsoV9h*bL<5A==zwD#p zx>1PaWukqHn1&agzNVnW)DrrWi_(U3z9C4{@C8tm6~y9N8eAb{y2Axs>m^V>bsE&x z4{6dU POM}GF|ixI376vfMe^mGGFQlgqn+OHJkjx8^!s_Tk_NkKA$ zlm1fqYDg=(85dM+oA73>#w?>1v=x>^l{A0vO$E)^xxS!I-E`jRv7n;HFAa;G;dL0C z5rnefC7Fi4d63l(@5NcI)~~m1c2VyGh{r2hr@zIehlhI04FnGZh{FW&&jlrL%7K zLIdUHC$OOHVX1{uP4nc0zUNPRH4W~V)u6YPzIP6anl4N}k)V*_j5#^BKtE4fSXj=3 zXcK}+$*QzJ|Kzi0h70P)KTsU{ OWm}d*%I&K8J}u@m5hkb`rmKoB?OS znQ*qyQ0gIXF23L&5+ZmQZ68BKArcULmXmNVOK@;-(jz#d_ZPVk2)3bW+Kyxep-vxV sGdKgzf-^C3JrIA6KpJVJk;aPlA4Gg_{hloyssI2007*qoM6N<$f|)a@5dZ)H literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/app_icon_foreground.png b/app/src/main/res/mipmap-hdpi/app_icon_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..2686d5fcef56080296d58961d07b450b5b6a9015 GIT binary patch literal 1091 zcmeAS@N?(olHy`uVBq!ia0vp^i$Iuz4M-mPBqq(kz{2I};uunK>+Rk1*|SR-j(_~C zxj66jwWZp#FD}!Ly(W}(ed5|jI(MaHXWOe;EPSydDn+bBA**}AIWPaF69>BInTgnN zC?#9>y?t;a_m!S?=kkN$^Vp@ie6wah^PH!?@7@Q?HB% 8(M1a=?h?oUk(1q-M1RU?&>6+Y~82^9ekuZsRX%~V2)&70^ z1b1zFE*#w==px|AVpuIuUMk=BfA7_|=Xx7Ck{%1pZdL0%&SJP!;C$UrjXD3GB#!Oy6 zTcEuy?a;x-@I%5spF5thI-;|0P1&>0`ww6F^Y)dYtAr!VMqTT#|6+lG0uC8uLVe5S zou6)MKRj_VRbcOt>3!j04sQZFF7g|4Ghb}oxbo(?<7|(UJGcGPk`Zw9IqHBg;EuwP zR{O&XliweemYAP?$~JpZ>GvtyT9!qgPyX6>{vS_Ll%m>J=A*@?jiv8(+72H4oV{)F z>Io-5Pg6(}eYEbd>HS)Er4EHA4lKlu$d2=SiZ?F=Mq03 e#-{sKuYoBM7 s=8m 9M2Npxq@MjG$uXL_8uoJKPb&405 q@W74*<|1Gq;9_FWfs;1fwZHmjQKquVr#xWcz~JfX=d#Wzp$Pza*V`um literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/app_icon_round.png b/app/src/main/res/mipmap-hdpi/app_icon_round.png new file mode 100644 index 0000000000000000000000000000000000000000..8802963c998b7fa36569f1426c9ac68f6d39a2a8 GIT binary patch literal 3458 zcmV-|4Sn*7P) 3WG&gh&yu+{|6q z+NUgQ+f_@=%FSwPYuj?$%vQy6y|C&k7NRio?f;$m&p2EL&I~gHTIYGb=bYzU{{Q>l z^ZnoL{Qt4D8^{g79;vJh9C{-5y4}xaBf@6wfgwbAN8EFLtkX018emi#92t%1VS8#b z+*e!=t_3?`9NBvz(PLM zpTjnGz?;}6wrx0kyS|XYs4;q#CvRIsgxE=dx!MI3O+iCP2NF5%P}g^8@Ejp+7t+vc z9R~MnI{`-8#y+qw!{ImRG|KSJk+&))beJ%22ns8p##GJefi!w>4Zy-avG1OE8fXLT zK!NcjZ}U|{V7k6_E0C7 1U~W=iv^D_77*I@~gqJqt zsV81-3J%#nsBX~iV>PC*uA|+Cp!96aDG$`{?MEJM3KH89@gxD{O*Ju$=$O(BG&qKK zN)J?{wn
#hz*ReNla%f z{}d)h=0jkp%w&pAFE<$^J&*MrkY966ZWT>p8&ub~C-w&%q_ooaz}qJlcpjm^=SOiO zFJ1(>e+o>Q_M};wguJ4*7u2^y-iBt0ML}X!vat3R+MKrjfMW=dz;7C)EO?s}MW&VY z3!qLQ)!u5$DL*sOBEyZ1A#z^?7c_QE2R(p8ItBTvOD9l>=A*i;u8U;zY{in0iimyf(%GfV}$oSpY zn?Y7?z7Er+>mW2Vj}gSy 5-Xfyen+=fO zW7XfD*O#{%aDW6+uxsz9@RzSz;FE7}L+xwd8U=^}sb15LT0f`i`%<%p8k_8?YHxaw zK(LjKEldR{C@>YmLX}ph;Gi_pcQTYN-v+N7I1X#JAMF(&CQc&GCU47)*4Zn*@HUj$ zB!JWn9j|bSb<tB~$@%2`jBmB2h8;`z3(DCz|YIAT)MvUjXT3BCbEX`r_+2)Hnmg zs+)4_%^2#^`^>4j0puA9zQRO^$*i(TKq$%E1<_GYLZDCz-d>R~F-qAdKs0C5qA{QS z>_3w@4>i_k71XsKGUm1V0*LP=f`r1|pxD@K6M%A``vH=3cEZ%D^FZjA$QdA3ww(1B z-sNPlSvAYAZ4F}sLUS~T&yNJjy#2OID@XvCTC^8pVithVKZ!FyC>zSD-1;M=mHj=Y zPg}&Qm}-054zAjBmjk4ek=P T< z8x0;= _z9)~pC>X0ASNb4 zZze5$SBhAO%ieSBW`7hlR~MT)yao$EhGY&v1&x{x%+JzS{$mx5i5$CXkVF2Kmfhym zd+rH )oFBAbG z8G3;Dya cyuP+)-6wg6F2mb0 MrcLOM1{SuGlG%bT|h@lrt zoco7fDZ8@CVna+(bNNR2%rgHwNh|eYAsOXkRJFGUoss53DJ6$2XQZo}n|;NPdE7}i z*qp=FbvTKG2G-3FBtX>7%d37kZRg@LvNJ$BkcN>+`dELzoLU+nfp;tuAN59=%RcEh zFKnQgwf5vE1Phl=bF^t#{XlN@rI!X9K)!-F-MP4@nRF&TrLr5%Df^d20K!yb*2>Rc zLo7O#JZNGzG;{5V73L(Xwg4z$RyE|;T(uf6n5<&TG-Khxb%;ez$*N=0g14pSOwqL_ zKz@D+FkP}1lCyV!a?>?yr5RZ6fP9j4M=5G$h()Jz2OVn;o{>2dl(jd{+sc!1ii1RX zM02h%6$31-S~CxuQ}z8tw_u46V$p5M14Zn?+zl81Y%4p&1t2e8IQR%+JCSm0i)Duw zYk!u1c8Fl`P-pGwY=@jvmVG?WR<7P$H&48+WvA*jXf;?(6c@j|6fr0+{>-W8rAc;n zP7@;JeyVM)&9)e3TmZuJSco?y<<=V(A70tdoxAKNOu&g%PDWQ0Wo7LdN_Hb<<=^eL z#W3UQ#jqf6NGcPHVSScb>u!Uz^!-;+c8Wo-pPrpXxiu;HkU0f>ql^#(ixUM c5O>5_7oz4#c&mVW`rn}uu-O;E4Eq?8qzD0`3g$8h5(KZR?w9+^{h_J}35NM3#t zCdU+Ynzf3P90oEDVr5HP{ Ar3;Uf8#ELClr#k451>^KPg $%N*^$@G>C%ds3tG|Ae38E}8SzNaIYY3P) z6MTJQ^@Lww`vNG4XqtTGmyo^YBovSrW--r&)9}bpl`MH5zow3*GIN|^mbC|M(QsaP zcC@1AY75n(etERqiYACld`1rdl8<-Hz!c2b%)Rn#i(7D79Lg#dmzg$CkvxEiJ`(@r z8)eLt+D2`^Y!ODnSx^5JW|tn*lV4zR-!@2?2vajEjFLEK8|1FPU{YFvvgB>P2GOeD zR-lX`QON`5Omww(6-43Z4_^8+Umaw;8d1x^RuA$IP664PZ@A}N4O-pMDm{9H$mT_5 zG;bv}Rl5 iOSahjUS%tLU!)q>E&ug^?x;%0*MPi!k`q8=I=I2sdHb4eB!FPfRkNyPBU4u z;!z^YI4YCHeo|oXF>%&I7y(3NZ+t3u!zBhJ#wMZBvlu`{B$Zgm(49}uO2)k#r(0l@ z2O6TV;Dn`@m!J&e1EnJ@2@bnCj2|D34f8@~mK9}J{cxRT!e)bH2oTyDoZrJHq~83f z{<(Q-keLYy6{lN*CCgBAc<%0^kxaeEN}Ge5?{xh0fu|rsk(Rmoo6|Jf)|gWsF$Bo? zR2G$aaSq`LwJT%Qm#4kLveJ=f%DdH9K|8n$lkhD}aB_ADl|KE!p}bB119r$^2+vgz zTtOHbKfhOsm2WgHeIPtA-`ELH$%~G> (baZ_Td*h7t0kmWrc@43 hq5?*L-tQR&nNhcGZ8bkfCxN36JMg zHl5F0bK)f4BUyBKuefm6^Y|>bLA3?j9FKj_g!AtC$&z76V8`d*hXE!XemM8fi;ypR zKPM-rNrXaC=rR1rM0fvb$w+vN=g74wcn{u7pTTF{u`MQOC2iZ%bz2`Sp>Qa^ZH#6| zj}96&Y}mt(U@e#ehemz^rSbIK7`zAX#b+2zA#L1Cp!90k89~KjN4t;^Cq6& t&$+IZ(6aR*+}nhk{Bm!?J)HmV z^q$APXWhEBL%;`f0vTQ}GWmpNNH{ntcr8UJ4Vh4$#Wy;h#myc+?q;9CU3@_6rWs;o zyJC1!@J9DIM%{tG&$|Pmi~K?|jE6>PrmISX|H%3me54>;fskOZ4Ns4gXxA(&5bi9^ z{+U}`frZ~_AvUluN6sOae}NxJ-82JjO#8^pg&m!zZ(E#oY3pawv+40~b6NlV6lebL zKjF9aNd_vgYh-4+X3t6S;;b Ikr-v(V~$kdviA_NHQTmUGvMBZtMY zA0K`>h5b*y2A6M+AAxN}%_u2xC60ncQK1p6ryDI@FM##UuD-w)=?)m%-+}F^pA*K? z^8>0)#~_m$QLuei?9RQ?0%Z-ov7g;IvGjZowQ4Va0_Enul*V~$?@vUag+GB(eJ32l z)5%U!XzKooUjdOw1 ?V0Xhn$LQYl*a&uIxEHE|;op~5C zMH87>8>0}*Y9j$@I8n}a?pjh{jCntWK8nt ?s z7uQ56C~ku7Xc`IJYwG7ZaTw#CQ`}_szYC=LaW^cGy-AM30yFp7gvzAa2jcp;TX*o& zyi|VyI-KTjYlwn5{7p&%I?r>`Wd*{U1{JL@-RT^=G)W63yTL);Z9|U1U=-}wTyh&6 zzD%;Mk7ti8W1~nV zF?OCgWgWN>v=2@FZW|6x)AMQ)uG2a=88jUD?3G)yOX=g25${grdP3G6vMQ}e?XDB4 z?f;=%VHVd#>b_m7)6pzfZT+PZ5(#rXx!gdwiDx#@EJ hd_>h Y0D%BAzFaVTJpcdz07*qoM6N<$f?|9u%K!iX literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/app_icon_foreground.png b/app/src/main/res/mipmap-mdpi/app_icon_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..4b2d00ccb889f42014daed5342f63f49877d1e18 GIT binary patch literal 973 zcmV;;12X)HP) ZgsB@~fB^;=0}L?00Aqjw1{h!ru#qcmc`>l(L2vGX_kd}+un7qRGY7q#C8q%c z46sqbGUpu=PjkQOMMgOQ8;ftGtof<9H{O%{hD(yyaB BxIan^ogvBjTcvozEp4&3 z_leWn4Op<}VJT$?#JlU6X3MWVJ9rWem;tUOP7Je1bY$xH%Ty*OU`Dw3JA8lvW_++r zPlqJUtdpoo=@J>8s(StxB-KoLwfT3xwtvbcGQh@YdCM=1fUzVl5X-;;gEHlJk^lXk z=00w7(<7MOzH;zLZ~8P3V1NMz7+`<_2AH;Bne&fJ!K$kPr`&7`m`=dd% Ti~v@&?uL}_c|Ev_wl{zo>9F23B_A-r02?!~s0h371{?pTBzOTc z(s@`$?oPmr0G2g-zwZROc-a-e{^n}BK8wTMHe}}XrJRT96|B1BgSrd2fQ=8Z6larU z&uJIenwx-W@*}bHqnP6>hD^D_&MVG(1v~g@#MSi#b0uK9JxV q@-Hv}(+QX(d$VK}wFO*x%S*tx zkrc3iU TQ^h=_=Yh=_=Yh=_=YNT+=Rd2wHEuPbez00000NkvXXu0mjfEkDiN literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/app_icon_round.png b/app/src/main/res/mipmap-mdpi/app_icon_round.png new file mode 100644 index 0000000000000000000000000000000000000000..bfd1f779d4d13dd063aa8451eec73bdfd0f36d06 GIT binary patch literal 2265 zcmV;~2qyQ5P) HnFck0RaK!p +PLol_Bx5E;P=Sa^5O(+P|DU~gy%+A?2fJvyGykyM zd+vX}@BGhm?oONL?+0MI`Xt uI=XEIvE!Zhh+N;2xA9se2V|FdIS6Der{2 zB=nuG$><3pU3V4udMnIFpazo_I?An%_e`Dk9)rc+XY6zglF)a$#_rJ=981sKaUx`T z;VPS60 Nc*kUQ45NV2YWG^`8TKsd(7pl>NX-$r59jCnccT?Hnk@DU<3Kx%7MtBG zp|L_TsEc&+F~KYxsQ3^DrojTqxN2Pj;C54oZH)f >CT2eS&P9iji#lFRF62b>D01xx4&aIk53W%<05VVJ`yO*W`Fm#Mc5pi(3 zIctn|Oqzr+8zA^&9C+S;Wmj_1QVm2#XS$V`#C&+F{&RVYIOkyV7&>mfh7hLvMnVug zMysuzffp$qBgK*u6}uJ^Qp;hL;i#l2vUfs6)JiC*Jty(}sL(R5#nQJ9TX+&)1va1K zO;-D6*UEF?$whL^rx3^vctZ8;1PKpc1~H2ZB=3 6aEg-L}_vj3Zj*@;{U;{)$iO1cuy2+b30w2WO4 !|6|6qEBd{>37y?zu z3buAZN=k(+0j_tl8`^I{(F EuEPjZkO6+Hi0g)61<7SJ`{=p3K- zJrM|$kUpv@9tk+xaVXmT XdUl!(Z*3BY*5 z5ew2~pCd_BZa^RJ_0%Up@qylt5cBO+x}xIDY(v`*J)Q`7Be^wya}kJ-D?s1=6~ryd zXa5&A^!OL>TxBk8ym~2Cwfm9Vt@HMCKQmfJuLPPvVnQ(}l~s@sUl>pVx|VPIR%|>H z;v$gyY z{O4bmwU6{oHGu_-vLPlRPb5j1Rcxo`3juBOP`^Uo9O@zvtEzcK*Y 2k)oTLuw{Xwp zF2o!xY~+GU4)z|IY62 &^rT+v(YwgZ-!7wbT9*m><3zBEppr9lI6@^!s*} z%3)I1UpR|c9};Z^_&CVf`u--)w3Butw?T}%uC$Duuv*>b^nLG7?i{%K4r<*qDo&C6 z1c|nl{Pyh8&?Ub>6J3 > rht5dl1 zJd-t;D&+{!$=s4vTSSsx_6N2tmDFn)v$4!`Xy8_2-g9cgW;S=v@aAao;nkbpYM`7; z=JTbvxeH<`NnZU7=-Y0}rA>#v?K?=X_|sm( OO(E6uqPr@4M^{xWidfu8pK`II)lB^b5SmouZ>>k{>QyTT@)H>+^1A4a`tH5#gIh zI;_&tt0oB%?7UcF;DM7a(z$NeXWg+`)f(pWIH%8U Rv!|u(_t !W!Hp_oF<95-~5aNToEs zyd%5%{S)X0U4_`QXkP5=Eo~aOMnd0<_J7@j?$R0&qi`O?q@pd>h8*KCWy>~ z91se;sNjd@Bt9OQrktCYn@K|7=^EYR#yrM7Gvki`*h9)9lquA8|DMUk32z ;t6^8_NYjDu^00000NkvXXu0mjfZS!Wb literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/app_icon.png b/app/src/main/res/mipmap-xhdpi/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1c7168582a715f24b538fb3f3486cb1af4eea9cd GIT binary patch literal 1982 zcmV;v2SNCWP) uU%VOrt+?JWex#{A-7@bC)qD~QCK;hdx*Oq_}EcS9cx!;%kbDD ~CSI^+yfafQf*$aNBHh*bI@<=_rtN?sSv$d> zO8vMf$F&b3UcAU7#tD`eDS@@339>30Q4Z05>}aaYD60)%v?e%dT8nGmqcW*-7++^Cw>MC!9o1-e zcu_~ZnOa(VUbpmzevH)w=a*Q@8&;E&pJlVxQ<*hkseevQR$F7ex$Fr{$-h|02mojI zN|$@2yS1Y6G$CxMu-nn>7t865sqp$)X;e<{mL9rQ`VFfq{jzM0x9N;*_C_@OC8E3` ztwd_k%{v;)Zi(Bq!13WO@gM&bKvl0=1mGHg^x|6+WPQ#5*PcyfuFQ(Le;yjvBD3 zx>lK5rXb!i0l<4)?xA1=(4HDl{Xk_b2_xPi00i**im~nnMa%-Xq?`2>0(f01 !26=R@%b$~toect^n*OYGl>ViEr`9in1?#_s z#YM+pqGdDvUP}Ij&Iw>@X)S2t*FkuAuG{T8Q&Nu6!?9C$;Froe*t+v5%$S`IQ&yhg zDgZg_3Jse8hmK!@6K8ATWK}&JIdKJ2*Z##l03(AZgDfPKbx9=}2va7&s)9Xm{P%ls z;Aj)}G@Y0A<*8P^%ZRuE2nJ;Q1>-zzYMhC>%sW6(p@V%{>6>$pw&_f00!gm;V9L zajQV3%4zjml2-i29RNb{SQwjL=H5lWrlywEK)iVmM8$jpsxdhbAk}dXfMjF>q!s<+ zp}8A7n77tK+>~;vIa)w9M+pdk^%bn`Paw`{LjVW>0U!Vb;E`TXG-%8_Avy01>*kZW zDZ`SJpiL;?E`a87fT *lyMw@fEo`3jGn} =@6>0 zfJ7Y2T>zeyb8=3G0R9i^)BvK#uK|^676S0didflW(9i!4;&To{Z1&!ENt^XKhyr3; z8AWC>C8C&S@kgkhzCS`qFGIFB52w -Uh(Mz3eiERAMEV+vSm 2QH zY`%>EJUI?X-&BnN*aIM^#{(^e09YG{DL^JmhcU_-t(3XtE&^b?8yXe8lpb&qO)b5T z09?EXNGrMlrVW>yWn5DQ($R_S2B1sZMUQsr5wEQQ0l2h#V*4YIYv$1Z9p6% lX 18qh&g5uu<^ zm?0uOw@r;R+7Lj;EXXK99rr2SlWI#7KRk>8a6#q`1|Z}|f-J<;EU}}TiU3#w@G>C) z1km{aSjy``zvz1ypL_U~il6%pJL|u%cz8FX0Al8SJrbWC-M$*2Fl|*b20$}opM?7I zI|#rv0H(rg|Ar>63vnBO -j =)PrOV14Q7;uunK>+RkD{#QyFju-x) z@`<~nVF629yUeqXt^xwCKa0G&B7e-?6qLSo>1D~OR_4)bBa8K7Q)k!yJh~}=-8J#; zcV4yMDp~vM;Mtv)b*tiU-8=dBK*FMqJM1sseY_KAU--Ced-b0KAOGF)ovr3MNrgz{ z+iA8(vMJKaT{MAB0))~U7@-Kl$1lWbz{~?e#s@Y@Mf`5mUbyS`lO=g?CrURkPMf*< z{;$9p{|-1$-W96 &_Tl#+-fgb8O1@@Xa4( z53m50rSfiAcHEA``_;FlVKZ;Ye&U+8EZ1_g`2BB9=g&q@y7pV5tbS+c_WSqe9I5@g z?%LM#t?TAFH%H(7dT7IZ{rYc82@Spb+SUat%GFzKZRIxi{WV)CI5qwJe<{7#pXCM5 z?e<%}dEV s! z>@4QZ*}vAcZhKzOr(G5!@vZzOgV6y7W*uK|xgW9yKo-!Cgoqq2rqlX)d>fzDuGD>P zJOAQ_Ti@dNdhfn(`*lvZf$^D1?UwdhMzBGrWfF?JW; lQ!zE)YW+1#tsbqolke~ z^Q`^)$|bk(Q^l?LH R$|b);wNn4-9};Yd61NA9(PLZU)!Xsn+gy{#3r*e!tE! z{lvBB!UhM9@vYhLvTwe0ywQGU!k$EggN}5g=#(vO- hM^ r3YeN%T;6ur2%{~JG0 z%`+2QV0PHhmOH;?C%4tRU5)1_vIEt>OE#7ETl#b}CnRDa$t34axQV(`Y4H6GYj1r8 zYGZuX I{zbW0F%ZO}MgDU?&!KiJuRo6{R=6hOixcPJI!--q-d#bng z&j%`WU%Kemr@eoE>Oyi7sz)ZX>!hc-YG}urzYA3<1IY!}w&o<=RD`D1*)QI+XImP* zyQ+Sl4QQv#R3^C1r>zp0^LIagezkAMoybB^K-(NRR>NunbT3kplSoir_d23}#Vd zopr0Hp(wssI20 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/app_icon_round.png b/app/src/main/res/mipmap-xhdpi/app_icon_round.png new file mode 100644 index 0000000000000000000000000000000000000000..3dde67f472469f1a030033a09a876e8324ff34da GIT binary patch literal 4874 zcmV+l6ZPzgP) V4nE%~r zPEE}HBgUA-MDx*DqVZIsB1Tg#z%n<#*?IUDSlIG**;U@>^ZP99zV~M4`4M@K~ z!13<}&+SAO#k zXADpa8*mnwoy85J4o2XADxx0JDdpVWq~NlkOj0(kgS7fRzQFHBQ*loeVjwQ`0XiGt zE_r&r6zO6U)CU X0pCg0ggQW%N(Nh1Q6iv@l~Cut+M*S`9$Y=JRx5SOu$LjHnnn4;ajCw+(?zj!m7M8c9 zr?G~X`5RX_n)>TvgGYOoHc5}s@B_4|ueNHOzAtJJRrKifUD^hI4};y#cua-$9V>AY zbv4Q^FcpDbQQRon+pX*CJ3F)(c*)T~+ahjP`|Et+vEdp)0%L5&0ae!_s&Yii>iUA6 z|3w+qmr;7 J&TcWBh*!uwl)L2~XKpJYVdw8B(>7f %+sIvm5l);vKPlU|jg0xKumR2=E9fL|IrRI7%%27n)W4y3E4QtV0e? zp#(ghdpruwZItVJkdUnH$jK#=+{1BNIKD?izvrixeSiv9A4mDCK0@&e_LJ|@|M;ye zB#6MkXVu&is&o`E*1ovDBa-Fk_v`HlR-HrquyPa-_&l itq{F@CzP9&0yaqgX zsc;uM`gtolbfN{#Sy+wy1Cmk9{J+ZN9T9u5<5!eXbtPUUo)KeUN@{<$ENbfdK~_Is zu<9)0&s>250v2#)P*o+Xs`sLk7ur$t`QOpu6SvSC2Tr3r;lE{4M}>`@oq$PBUEB5K zCCygc8f8d8iIY&eSl_)RkI@~707ZMYDx~y2@;Dg<-7aUtJ(J?5u8Slef`^-|mFkZGd)ojM99*Um;_F*X zI)v?1A7pRmN62unpMfIg{6#L$s9P1)wqE9!9ehe@qf9T>#ZliMfn9mPA8-WN1)-R^ z2T uKl| zaY2A9_RsxdR-p7X-)cm%Eq=~>C?tFpQAgfhxyaEWL~#NzM$lPvYg^l5mVE347&6H_ zMRdO|_HkHYl?Fso> wZFliZf&s1O>f-c+QcE69B5HNkm3Ldex %t~pmFmn~p&8T@(2jEWjW=j8Q#h6s4%5y5BH#+&DP5khmB^F)m9FWCAZ zQC`1)hyV!!NL-M&^#Mv)elkloTkt4))5GfL4P~bmpJW2MqvQH^?2>->4#srYfYC8C zMAC%k#$omIA4QGtKm-INR-&Zk&ETqO1o$}{ZlIL1PdF!laY?gkT5j?Sc1|YProBCE zpp2((_U6`9Wz|oA1lZd8BPW+ALV_j`5LdDv*K;}N1hCam%#wfS6JsnqH)0^~N3US} zFWZ&v{R2h9wl*_RKvES7fA-IVF8r8E6c|{_{Rj}NAyMJZ-%;x7bGrdssoqexh4%E+ z$9n6OstM3Ev7PFRoSkMNXU8yPhdT#X1TYv1)?fWnXZ&~rscMMve$v*Qcfc34u`hlS z2 !19d;4h($+orMjbx{?FZV zZy9U4QK`vx!OCw?aOhIx??3NJCZLOniWACDRrYNM9{H!k^R_*BRhj6QEm`ZXp@^c_ zQCRLS6fD@RkOZY}ARbe1o$W(%_>9=v__0#mfhaJ!O5rjYNvZgP8&9jLs}l@yvheFS zF~<76;sI8OJR*PlFNe7zfRjw+wuk7Mz~Wv6xVt7vPOA8nbWg;?Du|rTcQhu*gX}0Q zUrAka{v(XBL9es~{YRI_OEW6i`QNYDxeSdZz^w-Xz8Xvb#Zs{D>RBr*KXc;justCr z`{`5CWLebEer1RN?g;=xoU!5hHC|ll#9rA^hJet8f3v|urG*O@bcleyQWCdrdkNM~ zlSY7E%%TsS@X2jM1gMIDAMg7Lwms9!6JiL6Ed7TozTm+S0V*P3^X-Se8QXlM5il%b z;X$_{0#r+Yzo5<+u iKtNuj zeNjV))*E4YC3^mQY9SzV CX;l}`8jhVjju>Hylr)_O#xf?i z?*4~bk&5Vt0Lblod1j;O-uW^~QrX99Nkt?HzlKzVIl)>e)RQ29&lkdwFv5mnkG2y4 z6Dk1#3uRuMoBDFID)oPNGA?de^FEBRF~Pd$ V?bk%#sMbMp_f zSa(Ys3M|<3EMScF{|IR_Vk3OAws;mcbhK)UE29ey;5Ec;hJ%MNsDUmV~~rYK?U5nKFX%E?9`YMcik3$t=+TTx(6 z!vesTU$AGC^o3dC;9#_^PquUZj$eP!1U1BEB b-AR8OaC7Q zr`JeGP|Er~7iMX6B+MA!%I|JlyTk_pmbOs~N6Pb{Bv~VbKgTDmJY5gIGc2=Kb;Uz- z8f4DlYb*g`<12z^0>Ty?_!D4Av6OG$2+Ek5jbF|TJd}P^$0*>EfS};TC^%#(ib$_l zZz`g@_g}a($t^wvFr3UU7^TR=^14qs_`}xjR QTTI0VEai;>Rex{41jO z)n#~@-Vcelkdn7{0Cp5Z#db}>LkDbuxsjRmG{J`J=T#jSBrZ7A%X0||T7;Y&L$zX6 z1T*oHP;vUA!BdkU@G_Ul_wR2MI5@-ugA)P@cFoJf9*Hs!ZVx2Mi;j{#8`#1RTS1;& zk&6Ic7}+xp_K6! z=~qV z$*x(t<2~cRhaL9^Yj 4q>}xlb#<() zM(Y?F!nzj6sIsH`AlQJA8$xf5O2*+hz~6s9dFFQ@0VAKc<-Wq{2FUe?&V6@3U_!7F zKZ>fdH*M&do7;||Q)@2q%T64I*?zL@LPaDflnb&AKq1j l=8+EpI--s3Wdzf;0kLU1BA+p7i$0Q9S`-oiBo(A60hb zGkyKh(*XmD#c)-sp1w$6jPevL9x*R{^kKJQ2Jh(6WR6M*fJqm7TmNohwii$d0nip| za6#usJpX^7c3_$L6qeCd`x};^z!4S})8Gw5@D@6^S*3q}J8RRAsC!p+4oHwjK!3t1 z0o2bY-p(txAioa=7q%RjO4~kSFu<1}!DyWASUM71_(iY1f`heovKB`iF)KA1^0)tt zyu(V7gY!(8#l
%onpnV_Nu5WJG56({?A?~U z`fLmFl*DhR>!SH{(V&b9s^g&!P#3a-x$ZtnUiD2&aN+J9P-mz+v;o=zZBj>jQ%x z(J?kNn>vw>1{Z6`z=+T}`}U*=&)$MwM&_EuZ{z5Ip-+3Fs#Q!ERWlvbWhSmA)G1{4 zTd!H!`$thjYe(yDtf?wTR+Ti$$Y|VH6O&0`pdDaHKRv}KJg9K@7Cg+)fsKGjnvM#h zqR7;zIMXWXCPf}%==oI5k$b^C85P6q^ABz%)FH6o)w-uAdq+}r;{bJqI@4Z1OdG-P z6*+_cG&HoZG_kawN{MjM*Vmu!8CzZ&Ht)dSl2@L&27th%M)$~I1ndT+I zP)6;=yh*NM`SD{QO8`r^y_IL-V8`P2N`r+CRd|$RfpAdm{D)p8? zHSsVAZl>cLLOkOu7SDX{oi}1%{`54gD#)&BArsutTZvmKp7fR^N0KOU&&OUD>`( <-M@rYgVJlqTJNkNC*N*tg}D4Y8922TR;(rg5ICINIV7(G~% z3KJV7zb*#L6$9sv#S_$p(OBys3p=k_6CFe2tli@hK;Uoq&UmbKAe=+bb*DOg8oie- z+#AZE`rU|@J?wE)HHr|SM|JK V;QEDT@4{dAu_T}8j KeL!MFeb;4wn$TO3Ey z5944v_Vd@K-v9uYtdYJhHhBEo6b~k8TbzAWlCA1RX>~J{d6v9tK~q&Goj^xm^q _~|=0Zr{N|gbCg&YW)q%)jmPvrXll7<97+Q46j#qC7MmY)Y{c% zDu056ha4uD-*aLu0A 4D zQre+0CzM`;hohcQW9dS1oW)L=6rTt|{uYhwa(Es-egwC*?h{iHL>1HDr>tl*h=dE) zRv>s_;if|Gn8DV#k7gU)*S6HZuAQ#NN1Ei-bhHz5nhIVG*5rnv;+2q>8W#C|a%N3O z?9Nyt0@^eyg5LD%{`#&GaJMS^z#jLiX7Jm+z`7~hWrQxTI^*G~t3&jHrJAx-HfZ8J z=AG)^m%4Vr-%b!l2Vr9qz7}JB%J;yP=lBBG2?Tg|=2XxXR*6L^=Y(Nxt3C#kIrBhE zU}J&bdF2g#6Xl%)^@w78u-sT0!B){XD_ -(P z;+%lm%StnT1yiRNAms3&*X18c3$An|z>x@jjt4fWAQ-z&q|4YL Np_n z* Sy~*-d5OcGmqRx0!aCXipBeXmhC*b95T9BPL5jv zQT;k9*1*WLteK=|*z?mFju&z*=mQxoJEZug@VNfw$gW1Xiq$uENdSg|5hM=Qx91lR z`j=Pl|8}*ic3vhsDjp7o0NTQmpJ&T )s#BgP7h4M_;oLVz?%2KcigAhAdps!RDKkk56!p}ufm=%PO z=0|yFR6JDg(_F^JLFlT}BxI7wr3@LZ@CFxh@&ww(l&8ot846E5C@JG~cS88SNF9PF z5B11)J7~-t)LW2$2V@{bXiUJsQ>&XxHyMRhYgI0we9>D;N+l`S4S4` yiIq|8>`329O%yCWip&Eny}om&`Ku+#z5)^b zl)Z4ZNI-@IkoM>?^0tvp!yy?mil21Z+U1Zi#&^mUFvNafSLepHmp5&_1hcL4d5Hin zm_-LT@i%fsF}G(#x@`wK3|subNB#@#$)h`8rILH?c`rR 8zU6(pKj?Uisp z@F)sAiSf)1!3QVk|DXQ jC$9{$ctnI4@t=;E}@x z1=>$Kxnca`-p^xWFNR6?4}*1pC(GLnRdXYaCv|`!A! o z_x)230e~PsU l(hKyu%m&^kkL_ZY)qCQI=Mi`yMYy!21Nht#$(&t)aO!m>~ zziU7wsBb}v7m8H}P~9O&=HjP_$nrZbe zKKyvGqB`u8FE*|EO)^La+*Lp0pPt$r%l9e&;L!n=^|-FpcWx>)#d)SuVn4I%n94CC zBrqni(Sj+pAsd_Z{J`dUQ1NJByaiV9dML8&GexL##s>xP2u~QN%E-I-5Jx<+VtYXU zJu6s_!reXf X>?`YKNk6JctOqJ5slzd~4*;$rZ=M4xr5iYIl>DrZnQZP6<{xYzMT` zt^A~TiGI>B;w_$4?s*GY>AI&wOWl`^%;aYK8;_e{V-0Bei`4OcxiBX5l02l+ww4FC zIzYv-siyP$>2NQdEYd(J0p!b)mN)zhaKzrZg7U9Pt{Nd08Yp!DJx=Tn3d5`5@sYn0 zif@g)HxwiFI&->adu{Evp$)sf8M8>LUr)51eBD5Pd&MCWR$@gltIKV-PUBE<8&)_7 zUdCT%(!#~vfB&Mo{Q?r5zvoldbRei`6Fv w3&0bE(da1&pOEVk2`04dQ*& z0VCPWCY0pe9_eoD@yaAZ8p$yl!i{-slEX1C0nb$RNU3lhp(~5L7&oisrlY~9w7&mY z1Fs5hZ?HljvL3tJb m7RCJR0>RJw55V}69#`qN1fC;pcm_yi;Vb7q60 z#pCvNZ? w^O|LdZQl0dusff@|CliEZ?jRRZmtM_ASWS`^;!M zkA#vR_PKG0cXy(8cO;@l-FCHX-MBK!_3LaeC;aZYzPZ49V|?IVKJC^;D{oyEh--1R zXZ+S;%=^KX1|mcML%owYr`-o=J-5)_!b}L1OWD1sJXSW=hM`v5nxf|dgc01-9YlJEtDI0xdHl2>OjJ;i7cRJlL-4iwiTl}gtY%I! z+={7|t!w+rh``g!yiRzppVdr*;~(gu&mcTepSMNygkC4T*E4kbBce+vk)3QCY%i{? z5Ewz?&>sqJUP<7vd&oWYaCcK6VCMFyuv88j(=ljBZTlYnoYeYnJti`+FSJC8@ZFGK SPB_+%fRTZjeyN^g#D4(hBF%jO literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/app_icon_foreground.png b/app/src/main/res/mipmap-xxhdpi/app_icon_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..3fddc0c11a0c805308f3e3c2aaa5939e6719404d GIT binary patch literal 2116 zcmeAS@N?(olHy`uVBq!ia0y~yU~~at4mO}j{44ik3=ACHo-U3d6}R5rJ)eEOl;L>c z|0!8odA{4%*WFFIe^e-S#_ccGQL|2$oPEgm>*XfBrWp_X6cwkkl)ifAsB|-zb*}fp z=2$I%*(MGfm%B~nH7afQfBrr9cJuk~zkhzLwRu=tbWZ>N_v`G >NMlc$w?OmMW0plg|Md%Z zFewSx`T>>SzI8{vzV+tQ wnY0-gAVAjwT?bSH(tAU-`+k&g{pTk) zfih 6r@-K4+PK=` zP6pTsyL$WF62G6j*!Fdg4T}q-;d=$SHS@TS`_<-Yu9KX!x4Mrh&_U (w)Zc{H=Efu-aLCjAlts mQ#0Fpl>-9q7H8cZLlZa3H4xL(T+2 zrZO7->(6)zN*zg!j$6LvCdB`JxpU3^f2T4*!L_A#Ul2Pe1pt#F4gzc}F#Q7!2az`p zUY)*=f9k=RZAa}z8O0Qs0%O@9y>Z{)+L^IbKw2vPl*p__Hva0<_5n?d_$F)l{phv* zQLkkA+uOv=w#M2j=Y3`bO2i3#|K^|f>e`Ho-Q|7I1OW_ApxeRe5ojuELO`Tsun$4$ z2fuQlQ+Ydp!7l~M7$!ifF~gG0@ZWc9%XB^$g{VBoH(%yh0tLa=5Jf&^{CMGmll${C zK$}nNcFg{3lX-R~vmnS4pa+o2Fgbzci?3b*tJGHMIL8i)kuQr-Qa7@v%+5upfYR*6 zx5l6pi!8P4g(x_~;P)^rr@JU@V?J`v)?N7QO<-_7o9?rd6K+3Jx`3t;kc+;6>;>ny z%eP-XoqyP6%ciHiz50xxJP`j _}0rRg`aur&DSH8%lV=!>;V$y?x& 7@k2P*%UwN#R4|x-QE8GCC@ H0amAiM+>%n$?;$CFT0Lmcf>GCvtQvH4Dg<-q*tbF@wCC~__q)JDh z;&TkdMHuTHmn}ly`gPOH(isR;0U3nq2)KfoKxd=@gLIZ8Ff!7B{=*^=NW;2Q#WTqI aH-AfGw_kbRx_n^kfWgz%&t;ucLK6T)WaWSW literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/app_icon_round.png b/app/src/main/res/mipmap-xxhdpi/app_icon_round.png new file mode 100644 index 0000000000000000000000000000000000000000..8394f48cd850d114ac57343ce38ddb9c2fcf0d06 GIT binary patch literal 7076 zcmV;V8(ZXwP) {qb Uv#(r$u;Mi~u#0&8-acg73 z6Z`)lv`nc(@z^_5;to7SJw|(=G#A%4H-Z(_H8)Xfrq ygB1&rU6=xv|_u!o7lzxFEJQD@o$Q?$LMi3JJ+2vU$SfJu(oj+Z(E=ZZm! zWd8toucY9uZR3KV#T~H_cgXS9A*7`RcNznXB4OzcRAQjS=f;NVIJpLVEp2}!e2*&* zoKPGNUc-%lw@qkjq`!W|aTABn)}ih$xh8yVJV N>NMfKynF z9BHUx8kEsCNS#fhl_WnF^cu89du_yT?Rg#iUR2vWA2-}BmN0HocW~MbZ;VI6Z2@h< zcp%;zwH3*91D8$fH|iRyWD0Fq8y#kcHI3IsCACOTqII^TWvp=3TQVx;Wp4P##Hw~L zYp)G8t{@0+@vmwKZj^7@cpV;^4)hUAXnzB3*IubZ?S~*9rRGgpxFK$`yiN-biWFh( zkvF<2s(CoEy|z_*y;J-GTElxC`FJByUE^BZq}pn&i pa`85<)*E{0u;UtBp zL0Ju)H2ZTDoUlOYmOOutvO#Kqwk@oF`0K=qbIxkviI@v0sC(#%FYc1E;Q@=xtwv6c zBb08jliyH Ik6 z&KT;8tLh!_#avVsJQ@m+1fqhi_byFbbi8+kGbW7`Zo6qwT!&7m5}x(|a`TKup%a$M z)j|>%;{C>P2_P{ eZ;v?#;APkMN%ar#@#Fu z=5M-z;!>YS;o)=9m@%`FmuG@X#ILH%-7O4l+Wr~Zd;E^X%9gz-`8$M2nTn0LPxA4P zG;8(gY))ln49$fbZ#d$Uyw=kRU_3x!XzMGx(D$brB=+{s<7nyHH;Bb$ESAdzwcJhD zucyx0JB%Bmnx%V+x3_#F%fKiP(BlBHEvsacJVbS)sHOpjvWxq1pY>6>9-_4cZBb3* z(w^uZ9w1hE!8H`E-TWT<@BWMEzXvWU1Rw$t?xTXLyC`$z=?dsOmDPtB(JZREKeDH~ zr>6i7bsk0j?(LPR76#Wc%q0|!3Qa*Vad{|d!W4x8#OR^i=dYoZMF%6G4 #8br z>EM+8J9*6M=?*~dZqfKNv&d)F!Qfipn%LfG^9!G~vcyTt fpzzp5C?;u*T3BR!ISL+Gi~ MICM3=AkXQj-4)R=&qrM*g=Li;k$9t!kP_tL9HI<>#0AD} z_pzY<^$qA#g{Sq5aL(U+D~MUaOJ1`Ir2%N@(9y`lH;I@ECTuAMps=tRC}4Ot8t$Kk zJl*3I3J@cxb1JViCq1)U@q(JVIGv)}ruXGN8D1KI0%K;Oob{K8!C0BP0F+yC5v5H3 z6pbr<6NN{VN?-zr6bz7Lm?Lw=sZXIcq_8k1@jjbwL^2cN<#{2}00dJ-)pl-kZ4=5~ zei}tYmnjt>DyUn8m6uWCyxmC(^Fk8uQ`ht{nZUhWzRRj;JV4m8m;a^`fS@nI3#G3( z`GrEf5aWG>l~;r0Q8eTM;ub)R780)i8^u5US)|;(kRA{AdUe<>q3*({&h1V_XQWy=b1bD$gAqCQ?T{!Tt%+c!vmyZ zfUt`(eVu1Le@?B_)US tY6DLG^ViYD#Ya)< zjL%Vc)B=?PMEV%(p{$j^o$?GRw(M~jW5Snk!{3pt@P$+fkR}YKvQ0$*A*Lo2`_zXM zdK|{+mvjrN?ygc)?S}`5n*f1Sfw@9SrTeRZf$jtJDEkr=)imr=WcJllfc!@nqmaZh zwXjjK^HEsXQ)qP941Dc#a2tqCl>otv#q^~=AH)n8b~}tQ<6h~DjtniTYq_P!?2DgN z&zi2{5{i7h$0J{#WMb~FQK|umW@A~a|GYCwxYdtTrn^&AWU?<| ^y;zb;rns|UT2p~oW;dDM}!MEFi1?hDV z#JbE(a98?;)em;@0BI&bkTih~N?CH`TcU%232Af?qkjUj*IQv%c8=;FK7?tS2cm X2PUMNCq!LUpS1F0!(n+AWe8{ V=+Kcld4c?`~nmjSBe57rjtffgt@v$$?u+a?*xUNC)>uPuT}aK zTbSw!LOOcdyT!nSR6?2pB*>|}x_|&w+oY6*z+n_PfAdYU+LxkjMATEAKoLk%=@9`r zj~S%a<=*6zAt5?OM>7-eG9AWzb67(Ng<2}h?BP(k&*e-@}oyF6DE`m?ap#|NYivJ zEnQ4SH4P_ufOvp_fwZMRpD{MJg{6XZDI*=~A1EN|1}2u<7S%SMS5^&(2Z+N@O2jfI zW5uaUu0eT2$jE$WVT=N#7be{1B&uz?$^*m$L 9+2LKhy``Q9hzCeqjXw9lKWSMAaW0(!L`&8B z5mR>f6>V>M$OFU!L;zZQzR_>OvQS{dGqYUKB|u|}-}2`H;sKHXwC-GkQ~*);q(6G{ zt3E|_E%$kVx&}xdLm4ptn9Bf7T=Q4Gcha*E!t?_IO7yx0D5u5)@8C9{g>?;(yH`B& z4=a?(B7|GHTL&UjThHF{i=G=OH9&sp%ZK7G|H}i^H9+z(c$f;O)A*IYUmF%y WAlefOvoap!8+GTpH*z))m;G!x^0egsq=w+k;>Dp$rWNhz@0>K6mU4 zW?}$gL(E8rn~s*FBdp3`S+Moq0UjXD2B^5Uxf$kZB`-R71T$ex+30jytG1(K1boOM zZ`1V;_~{%{h-lX+vN*Ub7Mae?QUJ4d;<$NV!*mWy%0}k^VUg4qznTj-{Jo6_sB3^= zmZGeWI)JA%a&gsI=GLD0nV-P2cjlChPVdan4hfkJx3ZdLtT?q$nNwPMfVc+`OlgIu z`b15AdmS**9e_*|=k3i_#A>YS4p2n&LX;qUsauvh^DAxwv>ml%ufK$Xg;h@i6H)=> zk}w0ZFq1L4b))c()N(*okpRVvuTZODjI7naKk$tyjRz(iBMJ?=1c>JOMgxY7a=-%W z4|UAMc!0W-!XLe0HP8oYKt@^t0eW2lq(z>kX=7uAUv2U>-S`4_qHaQ(2dEnv*fU>$ zOKLy^2lkabXSIt>$I~;@7{6LgT=U09b F>P+ zEKnw-dIW;bz<}{Un`OehukzJVNXvCJK4m4!+i*o<`5UjP1wceVue*Q+^ya651 L#S+3DD4CW01Q~VyBi{dAV1$4-8?5E6}@PiMzps1t|rzL`Yk?hMM44+w`Ts ztl #m zsIF0M?$VI!bPl&DvYvBimREVDSB0;Pm8TlK;^s_*zVC_tc{I5UW}umv^n)-ath}r? z6U>x78V}FH=oR4$dmqTY66fxM)i|7K-|Kf*|FFZD9(7@MiO+oXEX+<*#+uPQKq@O9 zHbe0+EO*-)=yN-}AOJ|OC*eyH#;mP9L4o(T8yex4xB2GZ>QGcv>~xMYGQWpy1zYa) zisB)>PAEHg#l|ssB=otJm8(fl!&j>?W^3yYYr{CCEI#@ocp*hUctzH=7GYVo&MYu` zCO??k&e&JZ#($yq^EULgjg3!#S;AMVYz!8h!mk5;5*Lik-*V?6m&eDlmj8l+$IeG1 z ^QV&^8acy0?2kl44cl>^*d=90Sj$a}DQCl|dC4^a2L4@{hoeqzUG z(6_XYnaN{v0f-UP0#j3a@Ir$mjmO^3cUF|h;hBal@*cjSeP`t=)T2c#y=-}_SGw)>p(Lg{6PkgsnF^7b0np}~XQ zG=4r1^*->3@9?5mA@g#<$&x*p`z$B%+-^!w2_4+eDKKzi#kq^*L^xEPo>YDkg-4cl zTG;dSh}U?4nA?_<7VP`SVz6JR*!v8$l1J*^X-W@-Qc|5GC%?52)H_r#d4PJ|l-1_U zRcBCe#`=}emx}g2t+Wss;x{xLgkRlKo;$V&LK!BykqeC@T=fTvPv1fw9o3O}`z6Z_ zppe9cD6{;yOjcN3uj~=`M)={!&-myE+=uS8FU=L9eLBp@jI14Pp=RI~HYI6N#rgXr zlyPB*1D}Ve`a!1_6f;Y1069C2L@roU$zsBF=aoKWkzDpez0=5S5YA4D%Dg)BLQo?x zH8*#3#ILR~)81JPW$@lI(8{&tU4#|qlsexhbLD9?DtpWG(08;CO=+L%XenW1ybxJO z$iTo1mcaKIU%LNGSjmCQ<765Q5No_E=E-;WLZ8vTv!s2g6z}txpzhn(Y5);ocHSWw z%T8W^`6OJ2NaFya@Dy&VN8{%1zGObYeGK#&?z@4?5YAl*YBMI31tu>QO `Ks%FN6GypNeOgmYJ+3 A@riXLfi$yoj?3K4GJ0)0gLsvm2>R9j0$n 31?&;nw>KDHcM;75mf&Kfz;ApigMun6ri}w6!?0 zvGtIpftigHRH-fdyM&Bi_}yuEbTpSBQtQPPC_K5FuA{LtKl$Cl+9?eBg7%3e7j#co zdI&0-R#d3D+q#BEVu;R4JP{9&Qs9Z7_1RxGPJuDd2e>alR#?%#(d8mMt!6J$fo9EQ zW&lxA>Aq83(L|jA1ZlaqR}u;sp8c5lcuydJaS|Y=P*`~dmgPM|;bAf^YuYDzT!yFZ zPzSjkh|=$2(cd{VVa}I_Vg3n)sD+yVb #aSw zjYmLR(>AxEeW1rR(JXCdCZHE!t8Zcj7vzC2&@bwV9sdh+QD8z7@kUC9NG$-OAq%Dz zr!V^jg%`d2K5kooXk*&ewr$e&UIR}@5ZTZomOH*s->}@84R9wwLDgNQ>ms-}45neo z!@?(SR2e)l4=bhYU{g@mhRx8X(6+RVZF)OA?LlNr#GHY_5P`9!Cw}ka89!@s(!9Or zplS^> yY;2~{lVBkarvoV(nh4R!y zMl_uqY;0@`5P3tLB6|9JyI_tA+$zMCRG*`3_mEmz`tp+~vgFOL&8-~6p$&~K26>US z48?70)EhOAw4O+h)*@gaZxDva1IA}S7lmYRu1GFBbeBv_!=ex-eRHXLtx|Am#X=d% zAW5bB?gnR6R6?6U+tDB5AljyV)e)Zdij7bWh1Jgn>g$^f6Bt=|gBy1AOHGcQ{^7oi z6{irycPbJ!6C`Fz3~mGP%;0sRr|#JA;5#mjge=@<(00& cxOWVp& z-Stj)y^%hxU09J{n7;lnBcuL4knTex4h_i>MwGnuNy?%__rR@_j13FRUK!rlVG5_@ z5T>)&U4)0*-iw_4`ll` t%#d2!ToA5y|k8uDKbYHil{II0oO9Rpzd`C zpTu+ujxSs@4Ob4dEzEeY(>-luM6(NU*$x7Mu{&fQj7Kst=^q-DzIsLMj1Pan;f;7D zSiTNAhJYmYOwDAVQ58T@V3 +>v{5?m?+5R+^YthcO-pt`V-4f@4eD zz(|v|PEWm&E_Kz$bRrboKIBL}5)<0|umw1cNY5UXTU8rB^V4Ig&mFCY> _`9HF<1>7*ed>4jc=zakv00snq=E~pDczh1A(?8e;=QJ!h zrvRU0AU#)KICr=Ps&N>P!+>MJgCl>C3~1w8(0MK(ES<2+_aI(LAYi-_bkOkrgS_H= z;^sUZmQ!69{lq)F$IaV)28X*_(6JEmAmahBAgqvj6XUTuGk63j{w&-;3Ezd)y}-L< zt@<6FFM2ESncZjLSa3|A*x57t5Auwsp2nYe8+?vpZ(|Hqcqe)d{pmIF9!E(a3252g zlx8La=va_50~5 oH+RO)_~=05++8Qe&ENCK z_=N{9q%1ys1;cPHb;(aR(#ntDNLzC38V2vmgtG51B+cJ@Hu0ISPQ=al_(0Uu|Je!q z2uxqQ2KEX2*45Pwp~v#4$EKb}0*y00*8%k0&FHlVcyN>pQXiU;FkZ=w1rv-74Z)$o zRbXu4MLN&Og3(QFp&Cv-L?Cp&v6Wq ^*)8B#g7Y{%UCD|N>%E;W#57K4u z5L#le*yh*9B!AO- J_sx%d&0+{zzn9xwxQ?3hNi8z;lbf3OnqtL&76u;YbsRj zs7G+1o$W+I3v@nsEr3jH9@N|^9Ig})XZoEXbRUE0K5gkSEa@>#=sEDv^ir7m&`#5% z;?$7VRE(*9V!-N0LyI*Pv^Eq5w%O3XS<}z +U`f=w*Lo2;uYZ-v)(QM O0000 YO?I=CvCxgM z+Rb96eW~ 74C@IxaSelr+ zYxced)p5kMKV;g3H@XgagiYbh;Coawj)k+qo-1Px>+2-uirl%PZp5i4hFGmXh>EyJ z7(s42^q6A$yxtQ3(5QA~n(heUcI0aUBLnuQAaN^V<-A5{J@s @6+c!JC5NJ=fNqmfu$?SZ`>k z+e*WiOhkP?wTn_L54&X8;!npZyfj-5C&ngZw5^7gnOU`j63Ti*sBP+>hCDllv)}w& zpzi-HHYB-hT^fLIS?Nk2F~u+~mTnhn4qkMo`|X=1JMPs?YJMd9f}?Urw_;}axvb!c zoWNP-T7TPq+G^I-GERa0M^hu1e@5NH#T8C}*C5-Qw$8;#mcg@1b}Wap`QB_5cE#F` zCXu>CBblhyP*#WLoUPZaFS-wA;Gy{*G+LDe%r@l-xV8|U1*uQf^o50{YaFc1ddHN( zvaaWN%x*t%*kA*$M?m66m`D>0Z5A0*fpNU%8GvUF;I4HHu0}|On5MsngAW!>FfG>x zqqW#HtjtA*V6$U1#ml 4P3O7!YX zbr -={813l54{DlU3&&n o!pYdk%or rZDrSlzU`*7~SB0HkiS zE5=7|+|VCdo?29AgBbT)7>B{os($pXMI;aM*hAY*HcJ=)z1-BWn>^!h)@2jDHPl@V zYj-#nSE8T+ybOu-LiG?M$Xze&@``Rg8~}$NX?<%m;#R^_(`dBnyD3+2ySSzNi;wJL zCBoHqeNhew`90U4BVw7{fW}2FUq6xQ=8b=x+HLT~JX2NcKo5CgC8~N%oa&4!SpIP& z)>(T|t_jrCyp!7Ak>ELxr;|If+ViiHZ5<=0yXu8=C{=6rpx`)I`W74SRBK`AI?BVt z(~fVDkSe)kHmI=Nnapn)lfE9~$1D1LTT@>1LF-Bgl(5V5tDzHWH&^SGEMuy7WWBt$ z6%~Ws${zQAKLwRy7Ko>|%9%mwKyn2DnGYVAs`ip-_3o!y%7@mNQZg{oc^E6G!Q9ih zB fXQ+(oEVR&$V`N6FZF#js$jN
z3L=?feyhBu zcRdi=n$u5aFej_cg}bv=@x}qW&z!Z!Te(TBt$hR9Gn{oTOZKWuLiLP>{3Ir>4MW9A z0H9q7-k pO31T&t+#OawK*S(+gJMbMR;*8%!eC_PBorGqXwUs#PKWTe@hCa z!2*3oKA8U6DC+nvO4_K;#zP*P416B9QA)KaAgECS^ATzSe`Ar3!{#%)D`IPMBi#~8 zqc_~|A)#H^IQk E7n+HVr6FYf$rS-3f*uyw%90-EW*o|(oEYd9Q+KvZUhBvXsd~_fkAT+~ zwG=GRQ *4Tm=-P$q??pq+l7 zPrK}U(T@Sm-i2RR*8f}j5hN0o{!*E7W}VCwHFT=ifFNjW)K7*Opa06ge*xpsAe7J7 zfKb}(5PhI{;#XS~PVs%qM&BBZYTJH3W8%b|`PbxMSX?N@%bdH_Yr=FfgKN8?>RxAS zmhbI6dkTvFAA!2SLdRpr&5ew%s>l_;l!mG-1@6f5P=e|u4$)chn5D9GC>koSE40FM zFR0bJd7gRB%{Gt~g|Q8L{DTOY?JLFS2CyhuY;an?MF0eTWy#}X`5U$0PJU|_Ho&^O z#G;RY+LsFY#9@7CVAhG>i^95BK3w^qK|zjoYkQo3ve>G$B$B(Kkj{+&4*Yx&MZ4RF zf9`IOpy53yaug0a*!;2ugQ&92yCEU&7sgCp{dV=Y9vN^JO0F^*Gq*e%JqTIe!cal( z*xk7}lZHn!NfzrLaF9=Zbmm~Ext<&5UYCl~k$rWDsslp6Q$U*@qr5@X%3Cz{glPC1 zmKp)33h~fao@~gYtvj>M5vjGV$aDOU+Bw}=A1n!Dnmm!J{2Jz%>$KGr7@#V=Kb$y{ ze1le|@jpoP!Vs8?LL?*g!RD6?UrbT_;-mgR?7R`8Gsona9sksv&CsEpIrrwRtkz z>6EHnq2(>|3}p}iHN;kc6h}Ed{+CHx#^y~HeaYE@2L@Q-;{PlX_X0IT3nCH~Br^HX zePr#XAk;&57{lP7@&B%@o-I}n#}_WVZLsVOpq+AV;|0~>C_q9&+QHNJk$N15m`lyywHd(9rnD2a%$Q||-w#yNWwYTlg{^%BT~ZsXJv zIB+!tWSfNI6_yRwP^}O-l6T^-*LL7UKL^LjV;~;0dn5D&3`B4c!wlYR1uLYlrz3y* zgrZIbW`9zXkrB%b&H*l$CxfER+Sw8Ks;$kg8~zO*3t<0KIKF7h-{{tS!(GM^y4qQ5 z*!*IOR=kfx ){1E#>~H6kreifDnpJw56nd+gOw9wfOHa)uWncbuKn+%4 DZf_ap95E+d5?Z* z$;&HaDAuf+ aH0J2uK=xnZ$JfvGluk+!9nkSt2r4C#t$ z>l249vjDzuBVwo_{q+#}!lm3=L1~_^N-d^0nqyAB8V9UTOq7NORx03mTaW;5LG5Ep z3&yjN(fFWehCl6(?kamL+NNS5Vcak#@bud~=0QVU%EKGDLqqGB@i$w%nON3LZC6qc zzKi*VzeS08url) ezU+m_WnX2pP zQ%kgrZ!Pv=MN-`^w6yPn(o?N@xb^EdnRUhMIg_Edo`Rc?ri@gH_bcnAN1=dU`OV^j z6sTPvA5AWmg!Fn(j*d>wVH4$!-66y$$Hc_=67RW-u*>z)*biU}xVqgpuSf4q%6pyr zMTvkemtqLcMSYU!md@1Oa+FlA%xo>$Y3Sl!_Q^V!w5y-K)_+oiv!c>0`OEREJhDkg zNH85Yu>|k(3KQ SDV6a*?amNwqbz(?ymXUycrUUW0n{8!(3sysSI=n!G9@f z`uM^MSG fjBkv ECn!?U_DWcQQazg2nSzLC>!Q@Lv$&pF83E@j(jV;~}6CHiuPK*lZyVRT^BxDz* zj!$%)QBoyWBQ>`>i-cqD(pcx6x7&0GDr~n=6KMq%qt3iMdV~Mxe-JWkTfmcjy?yKi Sd+@IV#_)`(UfyY!JO2Ui<^;9? literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/app_icon_foreground.png b/app/src/main/res/mipmap-xxxhdpi/app_icon_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..7032b3275a5e55f3e5069c8b3bf4dd155485cfee GIT binary patch literal 3161 zcmcgudsNG99B;KTU0mL5?kbni (nC@xAq0|apMI^eYPL@k0UG_fD^ZPZ8I{alj+n(?D_dK8P?eqQaiEvr(prbim zQ%y}xhxVtPtC|`?1V7|4KvT5d%t%d5Tc2jPdQ ke10rD|Gzp3fss%_A|Ju2>Og+fH=$#Jj2{mg#kL~ zl9h2Pr*;O_lvCE8AwTkb+e9;>>~&^w<3L0Da$ZZ -ceb8HNnBnIX&i_nwQth2m2@;V{glWRb8{V zJ||*Zlzgx#yJB(3LI$YqxY%*ApeW;FOKH-wc*W9rzqMaa%TMzF&Vv1s9BFw+gY9nM zHwYf)1dBi^!th~^R)L?JHzF1 BkMB8pLrD z9ha@~d6-Kx_Q+q0P^-9AC+&7R?4ixl61*rh4QI6;G4B{i7S_*)Q8sl?;rE^O?Als* zKx2UrL~OuNX9B}R2>_xYBhZ-OXxI~WvF*;H)P?mZJNJzl0Vz)&n|HpxpmXWVeOCMl zf@4<1DFkps)4k_d b1K2{F$tLku>w))1sT); zlYmEGoq|;vQY*E1zL4V(1WO+{g<*m|9kKw9el?+w#S1p!m^sr#)d@UXdBWl(_S@e2 z+to{6bn@F16mKU)RcCaW!b+QDsmE{z3WbLRUb)AjYRn%%27?Ev2Vh$u2`DgH02vfa zG?m2elIDm4`$&-u&(?0Iz{-8FW>D)X)OmMLKNCc`c}nQm(a8GZl3d$+#VdTW@_ofv zEHU(NYK@DyH6Upq7XT_zrc@$c4mpI=6w-2tw6b?cKZ#xF7Dw)x3f{g?V8ML3TV^%9 zYI1SCT-<7E %C zh(p&h=k8YQn?TYgh 1ZiIN4m-e>#f{w&$>nF;ueE*hhBgq4^}F=dmz9bM1W z7FX`*ae%!pYSojZSw=@o3a$t;dgAwoBGM~c7MI|xRHg{OR7BcKjoQc9wsg)o=ke$S zuTBrunc4Yyn^##0I`^X~vCo|0Xne?a^JayUP^1qVkQ`g;DP tB_ EI#krUp^4J0o-i+x>Ng41b3(X2cuj nh*vn=@=x6*f9d@h80&4^`{D4M`vhLNKQv9VUvHPbhH?CVNajF} literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/app_icon_round.png b/app/src/main/res/mipmap-xxxhdpi/app_icon_round.png new file mode 100644 index 0000000000000000000000000000000000000000..f5ae096011e761032123a6836fba99251465e396 GIT binary patch literal 10047 zcmYj%by!sI^Y-qtz|!3yDcvb0yEM{BNiN-upybk$64FQ`A>D$oD-FVj5~M?r?rwhg zz1~0GKTcfNd7e3QX6~7}pLtHSmWC1@HZ?W?0KijGme+Z@qW&EajHk2Cf-@!nz=okB z57T`&w{ME6tJ{CsCwmAXmsc?4DAY|gD}nrBGL_)IAQll7jxMz4t`jrzd(3nceiV)$ z?@4wo6wpqgv=Yvm!Qpgy@Uq)nwK9d^7%%aj{`bvJy7hMG`(gX(qNK0w+1bnwe4pAd zx;;3i =Qk`f^BH$ZD{!LC-tnF7~D+-Vi=4j20?cN4zZ-qCbe~OV^5_ zM5u`GV?R;!$Tk41eBI2vdptEzaOJ?lSt&1fya{o(NVd~rX*P6BIug5*xuGMv!wACJ zwC571 nRC=;6sSxg^_2i4r#iY@)xBz~#i2QrU^yMa8~6mj;g zo3eC5O@F}Cb}A13TC)62G1x0KcP-FU ME=z<^E%N5hv5!zq%r)GSd?oIIA)mue7qIA?^tQU-1e@G84iSc1r zSi_aR=5~JFTL$V6IdY+#dscc^oGaP%rx={@TpFW-V@H)n7iWgfYm)tY zF0n6hFL@6$4M$N4tfTC^+XD7#{D@GPE1a*L0&U0qJ-i4}Sp>x#6V;L96g`j#XJ3$R z9CNx;&4qD(4qcsn*u9<|7Z061xPuab)M-CpSSEh57z>Er&!y!jswLv9e3su5MTys& zipN9r=h=JFySSsukx(abmo9v|RPj4x(n=HcNEd2`5AzI9y c>fD3$B7AgwrRh1}NAF?ktaTkBj;MJ+3wk3K5)*!+tW+-^;G!8i z%XwCwgVHmAJ(^qFKhs)kF8I-aCG&a656qJ$A lKt|K+@Ex9gN*o2`E_#QI9INsOWc{8n`#)gGX95h ~bIXOTzr$Z0EvyTg+4|zlBy>UO!X8JiC(aQX1>4 z6eEnBb^~>;Q(0>&IUb&(2ts(!>WSknASUfgQO%K}>6g4S1+F#bdU;Xi15_`MGW!k6 zg_E0w8pU1xr)kQJcV!YK(Q0|`^VIN>Awa!z4&9*X58u)5c-K3aeae(i;G;tLVh`x7 zzF_89UX-Lova&*Q)G23Tdf&6soI$#fp+ZjGAMtd;KZomz){>QUv?)H&Tw`vWqc73u z78EJWJBDVk=-8%})>|;SE*Pt$Y7~ceaT>peYTSL((+zSXPLZbr%iwmb0i5VgZ;WPW zRxWjQ-?YD!4pb6T4D~@E-`(TUEPOZ|vVKoF(Ad3`tz6q-Yp1`hVyp;KKq2>YKNt*Y zX*!-#l{IP-YnSTjdOXfAOl_J{Va@Tk>eY5k6NoJwsvYhsrzzjyYg=4*2+e+deD(ul z#7M=9+~8MyPy9IndT`Yki>CMZsl8zjDQxa2Nl0tsBt SLA?_{abiYh>bRg-X2^9%W{}Xc~Fb4=y1pH0Thx?B#R*G!u z0MS14@^7H{$}3}?MN!X>gxQ!8o+^pR^NamBJ-a^=WLPhbC|o+$Vrf 7KE!K*V+s}B_OjQlAH#YIW`gJgwCu&|F)JhPqq=JK=zbCT! z%XXD&H*pfRYNQU} d1*=%g*of860 z7MQf`hd5Ks45sh8*w&oH*bogVGT0hMU($A!C^``J`u7EUL~D_uF1}-}sdi#Oee2pH zG?<%0pmxJsG07SGZ%&VjNdlVrM@Qm4vU2pW1K07;kqP_Q)an4Nj=O`F5ofRSsDb`l z*vkGN>V)KtLjwhIk)h=Pv=SZ}X+5@3OZ>Zt`2*bkeB@FiQ#LVm91&DR|9%K~_IGg3 zw%KX XJLU^4+f}Tm+C?LM#HzP%qvY@IK{F8%FLOVBu}pBb4#tdr2_s^ zLX37IBSrOs5!22=QHHJ_<&F^OWRb$(%kkFIha1M~cTwt-_I1 EA&;Ep)J z4l|;X$Lzjs2!cvt2;SxS)OqrIQ(5W=pgHF;HbT*+JalNs{`yh~ z76882kJrO+MRBZn%y?oAwSCty;=oSF{9c#aAs{vHIDKa#$YHzlg Gp3AvJ@excmhI>#y`Jk7OoKaC1YWqHt*GzY&|(M$ESioxJoeC>#U%DHODd5 zdMg|OkL#`Ou+8y@BC)L5!oPgw5rBmyJaL)_g~8a5 )2|A)VI4+bunm9p~CaR zo|Af=He6mKq$dY6!M+YpPnd9e=L)*CvCCevw~39SZ21)fP|b0=dp}97*On}&1R VRzfhaf||P4suy^CE&1o#Tt2yStjFyvg7nIV zF~rU0UPDin-Uj@`3@Ba(z%+24!YC(mt$_(x{XX>zSMngtVPOFY$Kw^J-ro`R8C`xk z28P%_R-^wFDX+i}_=gOD+o7(oGAXwRcl_0H2rC4I-ZOjE5lb&=0xeGbqV&OG&@mk~ zD;ZaJDO1dQxcm(C4t=9=Ra@voL`gLx-{%nIbCB}9(2IAR0*UfE#P**6#T1B`@y2@d zP7ktCvC=n;BdO}I>86`%@2cfLFCnGDltP=Y4dW4%)?}1N^pv YmPx!P1xpx3MN5@Z*8R(R{{)%OT zw@RO=$@He^^-C}8z*}cv2E#Bj2Af&U3;+KK*~6On-}B +JKJJ%Adwo6fDI3ylIz z7|m=p;H?EP!+ewebkVS$oukso0$piy9O0DFA~x57i=OXB6cK_5`h}uwbnzW}H2vcV zI;wbR4WMz$#v?Ob(^|30J@pU=hyzfoMt8Mp_|5Wd%AI^Q0b~b}aGmR^BV5sq-PE12 zgB+k;5ELZ8{FD9k91gq1f!!$}n-eF}VTVM`Tu1vd RbGbEQiQXKFM> zJ)LJi-anqD+TFA0#fu4(-3fyDK?A=qlXSMv$dF4hIkn8R{1wDh@@R1f5%aF;WkpMQ z|8xy8%V+ezfBvZz{`d-2b`rKap~DnR3!03N<=nYQ!W*ri*=dRf98dZb<}__a|E+$+ zgki@6bE#cpL)Cw4KSXk|JI!(k3tB|z6Cr+Kx^%?%y*$1rqDexcC++AAa~eEYSKqm` z60U3dLjZguF7Cnth9=GMc^8a;YHIIWQ(?{`kU}4Cfs2G@I|SMfo-oMiBole)WiR>3 zAaOM%9lSfDRDS31OZOs5{e$*s0Dy-XP|3RpLH9iNy5vTy aAy=CXP{ z{xfbBUQCkn*qZtN-+I`qBv{TJmFY=S$`jr+O&JikW7_P3EueVrfHW$@AQ5c(H=* -AtCAY}3Sp|A!MvQN;L>9ZBz0pZVECCCNB5!#_WRcU!U8$s zL1GSzf`%+^c6Vaxb#8ai*txurL7sxZ 5;J _^6vk9 zRFX%41-pPpLjP|}RWI;cc6H&nmrR&6dK@HjUgR0Wy|%CMZ}@59{^d(MF#HP-7(vF| z^E?V!=YCYnxci|w3Lxw^O^|(KBokl>Lq}OphKp=!D_=R2Qocx{ #2GpX+Lbg$y$KW*-lMm;4Gzz*+71{rM*#|9>Z 5V%0qQ#%~XmYf7P~Zv%fg4Hn!7Xzy7O*6&Q&&`J0A| z8sY`!A2JK}Xl5nvoX`VZ-B>rby;fBoz-95ow+3$+vX&7E!UQILWo^o|+aU}wc@_}8 zw@;R;B9Xn9d2#@Psa%Uano{I8tQ6Qy`ZI V378D6YB3`*0t`b?domEMJmfV7 zwRG^KD~i9@lR_Z|k^g`hWUXI&f529ZS>_CveiEclSw@z@lxgU>#n4xa{-d6B61xP7 zS6TI$8|UX?u!0|A$nRe=sA7b!UbNc}cXjs<5Br_7Fn7fi%W?p51AA2Wo~JgkQ9c2u zF$Q2*g<8+3`xt!t)eGJRsjY+n+s3|^TNwKEG6WPh{0pBsMZgF2 cmfE|znbPv8lo_H@7_yP 8yn5Td9aO@-MFw>KnSP?N0MEi$9(Nq$TBOFb*$ z2huWQM}x5ktB$(ZZnNXjAYp)tdKj+-d*G~Qn;4 j)TIf6uKT7W*tAM+F1O7OG$L!Yun-v7K>O<8^Sl9*4*vu!ld-WOG0 zWEHNRjfGN={9$WQd;VYg|Ga8|ZyKgJDs#l#=WZTqLqLG0fCYesxjdxN fVTJB!&-_7b#zb1EG?KXj5cjq>ozu#eJ6S3lga6R#5dBeIsxgLaB zy=B9Z$4YG3rj7|*zc)o##QZ&Q;f+|)5AV*CuAjbZN>h)azyJmW3LZUb8ni{M?%LK! zeSMwsr{TA${CLXJJ92)tx=KP|TlAe5oVP@Mu0C(0-bOndhOh_{uXrFi6EDzG1Gk$EN8FE{J&(|ENpp_Oz-B`&!Y^&oqsQ%!SM=F zjgKF~?+)Ll=Jw!O2s-pl!y;w}GHnzM_sSIRks+IwbEU%IWay?@gfh0PNl4lb68Ov7 zl8z2~1B~&FrjWLsX!%HQ_0*T|vuh5Se-;@`HT2enD JO=t@yEVhUM0o|=ODrB?_R~x Sh9X{JSfJ_LI4|S`BK1cuad3=wyBru3s%Y5Exht#ONtJujVa*MH@w- zRbrBh$y?DlFJ*o&Gry$dpI>^K0?n{z_d0!cwR~ScZTc=dRne(G0I|wU54$#Y^{D_* zHY>zr9v?g_d;~V=+%KEfm`e6~h1BNeCUtb=@jNtAq|;_$F5+^
ve1J`q9fw?`M^4Yc;+Or!V}KV#{aWVp0ExIM$%+NR1r zCkFy=;@=$gGWltz;oE=-W9}T(%sr^l|2iAvP?i{q9DI04k4I}g2KXOpKPN(;Kd3de z5>7(*#Fh_}XLPAYWPB^jCm}=_gPuE#uX2TfPD!2&6}ad(b{E`|K%DO&1s(0fm?)@S zTS7gN-KDh}R4;_#JC?xlo2j;@B|EO!yuI`E{2MR&R2k{>$|@eoNKziLgKYor|*mKt%u^2?LWO zW9ILlE#V8B0zgOaYyhP{mF7dFY;0~Y7QafJL$%uVX(F!R?q6IFsLXPBvi6f(P3#1f zC%r-`@;y{F6IJ#Dei~nX)G&zlEE)Zypyb*XnV^ZLmUTfpqdI%CS>T+Qo0^)M8;!-U z{;6%RN3xir%(-lL`1v 1c&r|`8=gQ%NIN;P8Qu-)r2cSI{ZY$d^K1d(KQv*L*A+)Q zfwKiwRQ>=yBFGI_OfZ`rF6@_@64#H&Uy|7^Keb<9r;94TJk%7huNYcs=}of8c - zc3e+2?$_UY`d87!7}QkavfPPhGf83=_F3~Kn%Oi`tnJvU345ZMEe3+dWU_eR0h6~F z3JJm2a>>`gVU-RUne%c{koymQB!&CMhYVp(t8@DF0Y|Wr8S^LhYxC?~R}fmC5U8wR zgDvP_>8D1w&})E`;1aT3;s;+g@pJ#^H%1q}U3t}YLcVSTi|(0f86izZ|EjYD?Uf~W z3Ac1YXnixvPo_F8?LL2RHqCMry0~O+#tnCHUO?+Z&pB7G`mU2k`&bR%b*bV_f`bV) z2GQuwZd8_gCO*CkwxYqzy4G&LNdJxF?vH)B;uo^I?S$Q5b={E0J6xQq!|t*K`;>TT znawTe&}0N5Oul1zm2;jn!Gq)ERPc&^fICJNe;PkNTTFfD9;?r9z&c1+77^8l4j1h# zD0uFzc~E2 zN5ao3|4rRNx^87mI5^eS&jo~A-iC}z46pF;`zc|K4LlK~G4gG+URRj-d@c}IoBO