From 632fb0791e8f51072fbac8afa8d058605f8f529b Mon Sep 17 00:00:00 2001 From: Preyea Regmi Date: Mon, 29 Jun 2020 12:51:45 +0545 Subject: [PATCH] Removed unused files --- .../kjnoticedialog/KJNoticeDialog.java | 148 ---------- .../AccountManageViewPagerAdapter.java | 34 --- .../InboundAccountListingRvAdapter.java | 184 ------------- .../InboundAccountAddV2Gateway.java | 37 --- ...nboundAccountAddV2InteractorInterface.java | 22 -- .../InboundAccountAddV2Presenter.java | 257 ------------------ ...InboundAccountAddV2PresenterInterface.java | 55 ---- .../view/AutoDebitWebBrowserActivityV2.java | 145 ---------- .../AccountAddRVViewHolder.java | 27 -- .../InboundAccountAddActionListener.java | 9 - .../InboundAccountAddActivity.java | 155 ----------- .../InboundAddAccountConfirmFragment.java | 191 ------------- .../InboundAddAccountPennyTestFragment.java | 171 ------------ .../features/homeV2/view/HomeActivityV2.java | 23 +- .../features/homeV2/view/HomeFragmentV2.java | 2 +- .../view/InboundRemitReceiptActivity.java | 3 +- .../main/jniLibs/arm64-v8a/libantidebugger.so | Bin 21304 -> 0 bytes .../jniLibs/armeabi-v7a/libantidebugger.so | Bin 109660 -> 0 bytes app/src/main/jniLibs/x86/libantidebugger.so | Bin 25060 -> 0 bytes .../main/jniLibs/x86_64/libantidebugger.so | Bin 20720 -> 0 bytes .../main/res/layout/nav_drawer_fragment.xml | 32 --- app/src/main/res/values-mn/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 23 files changed, 5 insertions(+), 1494 deletions(-) delete mode 100644 app/src/main/java/com/swifttech/remit/android/common/customwidgets/kjnoticedialog/KJNoticeDialog.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/AccountManageViewPagerAdapter.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/InboundAccountListingRvAdapter.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/gateway/inboundaccountmanage/InboundAccountAddV2Gateway.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2InteractorInterface.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2Presenter.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2PresenterInterface.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/AutoDebitWebBrowserActivityV2.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/accountlisting/autodebitlisting/AccountAddRVViewHolder.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActionListener.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActivity.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountConfirmFragment.java delete mode 100644 app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountPennyTestFragment.java delete mode 100755 app/src/main/jniLibs/arm64-v8a/libantidebugger.so delete mode 100755 app/src/main/jniLibs/armeabi-v7a/libantidebugger.so delete mode 100755 app/src/main/jniLibs/x86/libantidebugger.so delete mode 100755 app/src/main/jniLibs/x86_64/libantidebugger.so diff --git a/app/src/main/java/com/swifttech/remit/android/common/customwidgets/kjnoticedialog/KJNoticeDialog.java b/app/src/main/java/com/swifttech/remit/android/common/customwidgets/kjnoticedialog/KJNoticeDialog.java deleted file mode 100644 index 6415ab00..00000000 --- a/app/src/main/java/com/swifttech/remit/android/common/customwidgets/kjnoticedialog/KJNoticeDialog.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.swifttech.remit.android.common.customwidgets.kjnoticedialog; - -import android.app.Dialog; -import android.os.Bundle; -import androidx.appcompat.app.AlertDialog; - -import android.view.View; -import android.view.ViewGroup; -import android.view.ViewTreeObserver; -import android.view.Window; -import android.widget.FrameLayout; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.fragment.app.DialogFragment; - -import com.swifttech.remit.android.R; - -public class KJNoticeDialog extends DialogFragment implements View.OnClickListener { - - ImageView imageView; - FrameLayout imageViewContainer; - TextView btnRenew; - TextView btnLater; - private Window window; - - private String positiveBtnString=null; - private String negativeBtnString=null; - private KJNoticeDialogListener listener; - private boolean shouldBeCancellable=true; - - private static final float HEIGHT_WIDTH_RATIO=0.9216f; - - - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_kj_notice_prompt, null); - imageView = view.findViewById(R.id.fingerprintScannerImgView); - imageViewContainer = view.findViewById(R.id.imageViewContainer); - btnRenew = view.findViewById(R.id.btnRenew); - btnLater = view.findViewById(R.id.btnLater); - if(positiveBtnString!=null) - btnRenew.setText(positiveBtnString); - if(negativeBtnString!=null) - btnLater.setText(negativeBtnString); - setCancelable(shouldBeCancellable); - builder.setView(view); - initialize(); - Dialog dialog = builder.create(); - try { - this.window = dialog.getWindow(); - window.setBackgroundDrawableResource(R.drawable.ic_rounded_white); - - } catch (NullPointerException e) { - - imageViewContainer.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - imageViewContainer.getViewTreeObserver().removeOnGlobalLayoutListener(this); - ViewGroup.LayoutParams imageViewLayoutParams = imageViewContainer.getLayoutParams(); - imageViewLayoutParams.height = (int) (imageViewContainer.getWidth()*HEIGHT_WIDTH_RATIO); - imageViewContainer.setLayoutParams(imageViewLayoutParams); - - } - }); - } - return dialog; - - } - - private void initialize() { - - - } - - public void setCancellable(boolean action) - { - shouldBeCancellable=action; - } - - - public void setListener(KJNoticeDialogListener listener) { - this.listener = listener; - } - - public void setPositiveBtnString(String string) - { - this.positiveBtnString=string; - } - - public void setNegativeBtnString(String string) - { - this.negativeBtnString=string; - } - - @Override - public void onStart() { - super.onStart(); - btnLater.setOnClickListener(this); - btnRenew.setOnClickListener(this); - } - - @Override - public void onStop() { - super.onStop(); - btnLater.setOnClickListener(null); - btnRenew.setOnClickListener(null); - } - - @Override - public void onResume() { - super.onResume(); - } - - @Override - public void onPause() { - super.onPause(); - - } - - - - @Override - public void onClick(View v) { - switch(v.getId()) - { - case R.id.btnRenew: - if(listener!=null) - listener.onPositiveBtnPressed(); - break; - case R.id.btnLater: - if(listener!=null) - listener.onNegativeBtnPressed(); - break; - } - } - - public interface KJNoticeDialogListener - { - void onNegativeBtnPressed(); - void onPositiveBtnPressed(); - } - - - - -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/AccountManageViewPagerAdapter.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/AccountManageViewPagerAdapter.java deleted file mode 100644 index e04056d2..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/AccountManageViewPagerAdapter.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.adapter.accountlisting; - -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentPagerAdapter; - -import java.util.ArrayList; -import java.util.List; - -public class AccountManageViewPagerAdapter extends FragmentPagerAdapter { - - private List fraglist; - - public AccountManageViewPagerAdapter(FragmentManager fm) { - super(fm); - fraglist=new ArrayList<>(); - - } - - @Override - public Fragment getItem(int position) { - return fraglist.get(position); - } - - public void addFragments(List data) - { - fraglist=data; - } - @Override - public int getCount() { - return fraglist.size(); - } - -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/InboundAccountListingRvAdapter.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/InboundAccountListingRvAdapter.java deleted file mode 100644 index 2a334f54..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/InboundAccountListingRvAdapter.java +++ /dev/null @@ -1,184 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.adapter.accountlisting; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; - -import com.bumptech.glide.Glide; -import com.swifttech.remit.android.R; -import com.swifttech.remit.android.features.accountmanage.model.accountlisting.InboundAccount; -import com.swifttech.remit.android.features.accountmanage.view.accountlisting.autodebitlisting.AccountAddRVViewHolder; -import com.swifttech.remit.android.common.customwidgets.banklistingdialog.BankIconMapper; - -import java.util.ArrayList; -import java.util.List; - -import butterknife.BindView; -import butterknife.ButterKnife; - -public class InboundAccountListingRvAdapter extends RecyclerView.Adapter { - - private final InboundAccountActionListener listener; - private static final int NORMAL_ADD_ACCOUNT_VIEW = 12; - private static final int ADD_ACCOUNT_VIEW = 13; - - List inboundAccountList; - - public InboundAccountListingRvAdapter(InboundAccountActionListener listener) { - this.listener = listener; - inboundAccountList = new ArrayList<>(); - } - - @NonNull - @Override - public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view; - if (viewType == NORMAL_ADD_ACCOUNT_VIEW) { - view = LayoutInflater.from(parent.getContext()).inflate(R.layout.inbound_account_list_item, parent, false); - return new InboundListingRVAdapter(view); - } else { - view = LayoutInflater.from(parent.getContext()).inflate(R.layout.auto_debit_add_new_account, parent, false); - return new AccountAddRVViewHolder(view); - } - - } - - @Override - public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) { - if (viewHolder instanceof InboundListingRVAdapter) { - InboundAccount inboundAccount = inboundAccountList.get(i); - ((InboundListingRVAdapter) viewHolder).setBankName(inboundAccount.getBank()); - ((InboundListingRVAdapter) viewHolder).setAccNo(inboundAccount.getAccountNo()); - - Glide.with( ((InboundListingRVAdapter) viewHolder).getBankIconImageView().getContext()) - .load(BankIconMapper.getBankIconFromBankCode(inboundAccount.getBankCode())) - .into( ((InboundListingRVAdapter) viewHolder).getBankIconImageView()); - - if(inboundAccount.getIsPennyTestSuccess()) - { - ((InboundListingRVAdapter) viewHolder).getLinkAsInboundImageView().setVisibility(View.GONE); - ((InboundListingRVAdapter) viewHolder).getLinkAsInboundImageView().setOnClickListener(null); - } - else - { - ((InboundListingRVAdapter) viewHolder).getLinkAsInboundImageView().setVisibility(View.VISIBLE); - ((InboundListingRVAdapter) viewHolder).getLinkAsInboundImageView().setOnClickListener(view-> listener.redirectToLinkInboundAccount(inboundAccount)); - } - ((InboundListingRVAdapter) viewHolder).getDeleteInboundAccImageView().setOnClickListener(view-> listener.deleteInboundAccount(inboundAccount)); - - } else { - ((AccountAddRVViewHolder) viewHolder).getAddAccIcon().setOnClickListener(view -> listener.redirectToAddInboundAccount()); - } - } - - @Override - public int getItemCount() { - return inboundAccountList.size(); - } - - @Override - public int getItemViewType(int position) { - if (position == inboundAccountList.size() - 1) - return ADD_ACCOUNT_VIEW; - else - return NORMAL_ADD_ACCOUNT_VIEW; - - } - - public void setData(List accountsList) { - if (accountsList != null && accountsList.size() > 0) { - this.inboundAccountList = accountsList; - notifyDataSetChanged(); - } - } - - - public static class InboundAccountListRvViewholder extends RecyclerView.ViewHolder { - - @BindView(R.id.bankNameTxtView) - TextView bankName; - - @BindView(R.id.accNo) - TextView accNo; - - public InboundAccountListRvViewholder(@NonNull View itemView) { - super(itemView); - ButterKnife.bind(this, itemView); - } - - public void setBankName(String bankName) { - this.bankName.setText(bankName); - } - - public void setAccNo(String accNo) { - this.accNo.setText(accNo); - } - } - - public interface InboundAccountActionListener { - - void redirectToLinkInboundAccount(InboundAccount selectedAccount); - - void redirectToAddInboundAccount(); - - void deleteInboundAccount(InboundAccount inboundAccount); - } - - public static class InboundListingRVAdapter extends RecyclerView.ViewHolder - { - - @BindView(R.id.bankNameTxtView) - TextView bankName; - - @BindView(R.id.accNo) - TextView accNo; - - - @BindView(R.id.iv_passport_id) - ImageView iv_front_image; - - @BindView(R.id.iv_link_inbound) - ImageView iv_link_inbound; - - - @BindView(R.id.iv_delete_inbound) - ImageView iv_delete_inbound; - - - public InboundListingRVAdapter(@NonNull View itemView) { - super(itemView); - ButterKnife.bind(this,itemView); - } - - public void setBankName(String bankName) - { - this.bankName.setText(bankName); - } - - public void setAccNo(String accNo) - { - this.accNo.setText(accNo); - } - - public ImageView getBankIconImageView() - { - return iv_front_image; - } - - public ImageView getLinkAsInboundImageView() - { - return iv_link_inbound; - } - - public ImageView getDeleteInboundAccImageView() - { - return iv_delete_inbound; - } - - } - -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/gateway/inboundaccountmanage/InboundAccountAddV2Gateway.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/gateway/inboundaccountmanage/InboundAccountAddV2Gateway.java deleted file mode 100644 index 2b785b7e..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/gateway/inboundaccountmanage/InboundAccountAddV2Gateway.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.gateway.inboundaccountmanage; - -import com.swifttech.remit.android.features.accountmanage.model.inboundaccountmanage.InboundAccountAddRequestBody; -import com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2InteractorInterface; -import com.swifttech.remit.android.base.PrivilegedGateway; -import com.swifttech.remit.android.utils.https.HttpClientV2; -import com.google.gson.JsonObject; - -import io.reactivex.Observable; -import okhttp3.ResponseBody; - -public class InboundAccountAddV2Gateway extends PrivilegedGateway implements InboundAccountAddV2InteractorInterface.InboundAccountAddV2GatewayInterface { - - @Override - public Observable getKoreanBankList(String auth, String Uid) { - return HttpClientV2.getInstance().getAvailableKFTCBankList(auth); - - } - - @Override - public Observable startPennyTest(String auth, String userId, InboundAccountAddRequestBody requestBody,String resend) { - return HttpClientV2.getInstance().startInboundPennyTestStart(auth,userId,requestBody,resend); - } - - @Override - public Observable submitPennyTest(String auth, String userId, String bankCode, String accountNo, String cerNumber,String accountType,String accountID) { - JsonObject jsonObject=new JsonObject() ; - jsonObject.addProperty("CustomerId",userId); - jsonObject.addProperty("BankCode",bankCode); - jsonObject.addProperty("AccountNo",accountNo); - jsonObject.addProperty("CertNumber",cerNumber); - jsonObject.addProperty("accountId",accountID); - jsonObject.addProperty("accountType",accountType); - return HttpClientV2.getInstance().performInboundPennyTestSubmit(auth,jsonObject); - } - -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2InteractorInterface.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2InteractorInterface.java deleted file mode 100644 index 6c672d7b..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2InteractorInterface.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage; - -import com.swifttech.remit.android.features.accountmanage.model.inboundaccountmanage.InboundAccountAddRequestBody; -import com.swifttech.remit.android.base.BaseInteractorInterface; -import com.swifttech.remit.android.base.PrivilegedGatewayInterface; - -import io.reactivex.Observable; -import okhttp3.ResponseBody; - -public interface InboundAccountAddV2InteractorInterface extends BaseInteractorInterface { - - - interface InboundAccountAddV2GatewayInterface extends PrivilegedGatewayInterface - { - Observable getKoreanBankList(String auth, String Uid); - - Observable startPennyTest(String auth, String userId, InboundAccountAddRequestBody requestBody,String resend); - - Observable submitPennyTest(String auth,String userId,String bankCode, String accountNo, String cerNumber,String accountType,String accountID); - - } -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2Presenter.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2Presenter.java deleted file mode 100644 index 9d760dc6..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2Presenter.java +++ /dev/null @@ -1,257 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage; - -import com.swifttech.remit.android.R; -import com.swifttech.remit.android.features.accountmanage.model.accountlisting.AutoDebitAccount; -import com.swifttech.remit.android.features.accountmanage.model.accountlisting.InboundAccount; -import com.swifttech.remit.android.features.accountmanage.model.bankaccountvalidation.BankInfo; -import com.swifttech.remit.android.features.accountmanage.model.inboundaccountmanage.InboundAccountAddRequestBody; -import com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage.InboundAddAccountConfirmFragment; -import com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage.InboundAddAccountPennyTestFragment; -import com.swifttech.remit.android.base.BasePresenter; -import com.swifttech.remit.android.common.customwidgets.CustomAlertDialog; -import com.swifttech.remit.android.utils.Constants; -import com.swifttech.remit.android.utils.https.GenericApiObserverResponseV2; -import com.swifttech.remit.android.utils.https.GenericResponseDataModel; -import com.swifttech.remit.android.utils.https.MessageResponseDataModel; -import com.google.gson.reflect.TypeToken; - -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.List; - -import io.reactivex.Observable; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.schedulers.Schedulers; -import io.reactivex.subjects.BehaviorSubject; - -public class InboundAccountAddV2Presenter extends BasePresenter implements InboundAccountAddV2PresenterInterface { - - - private final InboundAccountAddV2ContractInterface view; - private final InboundAccountAddV2InteractorInterface.InboundAccountAddV2GatewayInterface gateway; - private final CompositeDisposable compositeDisposable; - private InboundAccountAddRequestBody pennyTestRequestBody; - private List availableKoreanBankList; - private BehaviorSubject addAcountDataSubject; - private BehaviorSubject pennyTestDataSubject; - - public InboundAccountAddV2Presenter(InboundAccountAddV2ContractInterface view, InboundAccountAddV2InteractorInterface.InboundAccountAddV2GatewayInterface gateway) { - this.view = view; - this.gateway = gateway; - this.compositeDisposable = new CompositeDisposable(); - this.pennyTestRequestBody = new InboundAccountAddRequestBody(); - this.availableKoreanBankList = new ArrayList<>(); - addAcountDataSubject = BehaviorSubject.create(); - pennyTestDataSubject = BehaviorSubject.create(); - - } - - @Override - public void updateAutoDebitAccountData(AutoDebitAccount autoDebitAccount) { - this.pennyTestRequestBody = InboundAccountAddRequestBody.createRequestBodyFromAutoDebitAccount(autoDebitAccount); - - InboundAddAccountConfirmFragment.InboundAddAccountViewDTO addAccountViewDTO = new InboundAddAccountConfirmFragment.InboundAddAccountViewDTO(autoDebitAccount.getBankName(), autoDebitAccount.getBankCode(), autoDebitAccount.getAccountNumMasked(), false); - - addAcountDataSubject.onNext(addAccountViewDTO); - } - - @Override - public void updateInboundAccount(InboundAccount inboundAccount) { - this.pennyTestRequestBody = InboundAccountAddRequestBody.createRequestBodyFromInboundAccount(inboundAccount); - InboundAddAccountConfirmFragment.InboundAddAccountViewDTO addAccountViewDTO = new InboundAddAccountConfirmFragment.InboundAddAccountViewDTO(inboundAccount.getBank(), inboundAccount.getBankCode(), inboundAccount.getAccountNo(), false); - - addAcountDataSubject.onNext(addAccountViewDTO); - } - - - - @Override - public void getRelatedData() { - compositeDisposable.add( - this.gateway.getKoreanBankList(this.gateway.getAuth(), this.gateway.getUserIDNumber()) - .doOnSubscribe(subs -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text))) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .doFinally(() -> view.showProgressBar(false, "")) - .subscribeWith(new KoreanBankListObserver()) - ); - } - - @Override - public void requestForPennyTest(String resend) { - compositeDisposable.add( - this.gateway.startPennyTest(this.gateway.getAuth(), this.gateway.getUserIDNumber(), this.pennyTestRequestBody,resend) - .doOnSubscribe(subs -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text))) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .doFinally(() -> view.showProgressBar(false, "")) - .subscribeWith(new PennyTestRequestObserver()) - ); - - } - - - @Override - public void submitPennyTest(String depositReference) { - compositeDisposable.add( - this.gateway.submitPennyTest(this.gateway.getAuth(), this.gateway.getUserIDNumber(), this.pennyTestRequestBody.getBankCode(), this.pennyTestRequestBody.getAccountNo(), depositReference,this.pennyTestRequestBody.getAccountType(),this.pennyTestRequestBody.getAccountId()) - .doOnSubscribe(subs -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text))) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .doFinally(() -> view.showProgressBar(false, "")) - .subscribeWith(new PennyTestResultObserver()) - ); - } - - @Override - public List getKoreanBankList() { - return availableKoreanBankList; - } - - @Override - public void updateBank(BankInfo selectedBank) { - this.pennyTestRequestBody.setBankName(selectedBank.getBankName()); - this.pennyTestRequestBody.setBankCode(selectedBank.getBankCode()); - validateForm1(); - } - - @Override - public void onBankAccNoChanged(String bankAccNo) { - if (bankAccNo != null && bankAccNo.length() > 0) { - pennyTestRequestBody.setAccountNo(bankAccNo); - view.showInvalidAccNoError(null); - } else { - pennyTestRequestBody.setAccountNo(null); - view.showInvalidAccNoError(getStringfromStringId(R.string.invalid_account_error_text)); - } - validateForm1(); - - - } - - private void validateForm1() { - view.enableForm1Button(pennyTestRequestBody.getAccountNo() != null && pennyTestRequestBody.getAccountNo().length() >= 1 && pennyTestRequestBody.getBankCode() != null && pennyTestRequestBody.getBankName() != null); - } - - @Override - public Observable subscribeToInboundAddAccountDataEvent() { - return addAcountDataSubject; - } - - @Override - public Observable subscribeToPennyTestDataEvent() { - return pennyTestDataSubject; - } - - @Override - public void onDepositReferenceChanged(String depositReference) { - if (depositReference != null && depositReference.length() == 4) { - view.showInvalidDepositError(null); - view.enableForm2Button(true); - } else { - view.showInvalidDepositError(getStringfromStringId(R.string.empty_field_error_text)); - view.enableForm2Button(false); - } - } - - @Override - public void onBankDetailValidated() { - requestForPennyTest("N"); - } - - public class PennyTestRequestObserver extends GenericApiObserverResponseV2 { - - @Override - protected void onSuccess(GenericResponseDataModel t) { - if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { - InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO pennyTestViewDTO = new InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO(pennyTestRequestBody.getBankName(), pennyTestRequestBody.getBankCode(), pennyTestRequestBody.getAccountNo(), getStringfromStringId(R.string.pennytest_information_text)); - view.showPopUpMessage(getStringfromStringId(R.string.pennytest_information_text), CustomAlertDialog.AlertType.SUCCESS, alertType -> { - pennyTestDataSubject.onNext(pennyTestViewDTO); - view.showPennyTestScreen(); - }); - } else { - view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null); - } - } - - @Override - public void onFailed(String message) { - view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); - } - - @Override - protected void onConnectionNotEstablished(String message) { - view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); - } - - @Override - protected void unauthorizedAccess(String message) { - view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); - - } - } - - public class PennyTestResultObserver extends GenericApiObserverResponseV2 { - - @Override - protected void onSuccess(GenericResponseDataModel t) { - if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { - view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.SUCCESS, alertType -> view.onPennyTestSuccess()); - } else { - view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null); - } - } - - @Override - public void onFailed(String message) { - view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); - } - - @Override - protected void onConnectionNotEstablished(String message) { - view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); - } - - @Override - protected void unauthorizedAccess(String message) { - view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); - - } - } - - public class KoreanBankListObserver extends GenericApiObserverResponseV2> { - - - @Override - protected Type getDataType() { - return TypeToken.getParameterized(List.class, BankInfo.class).getType(); - } - - @Override - protected void onSuccess(GenericResponseDataModel> t) { - if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { - availableKoreanBankList = t.getData(); - } else { - view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); - } - } - - @Override - public void onFailed(String message) { - view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); - } - - @Override - protected void onConnectionNotEstablished(String message) { - view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); - } - - @Override - protected void unauthorizedAccess(String message) { - view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.logout()); - - } - } - -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2PresenterInterface.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2PresenterInterface.java deleted file mode 100644 index f3c495f7..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2PresenterInterface.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage; - -import com.swifttech.remit.android.features.accountmanage.model.accountlisting.AutoDebitAccount; -import com.swifttech.remit.android.features.accountmanage.model.accountlisting.InboundAccount; -import com.swifttech.remit.android.features.accountmanage.model.bankaccountvalidation.BankInfo; -import com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage.InboundAddAccountConfirmFragment; -import com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage.InboundAddAccountPennyTestFragment; -import com.swifttech.remit.android.base.BaseContractInterface; -import com.swifttech.remit.android.base.BasePresenterInterface; - -import java.util.List; - -import io.reactivex.Observable; - -public interface InboundAccountAddV2PresenterInterface extends BasePresenterInterface { - - void updateAutoDebitAccountData(AutoDebitAccount autoDebitAccount); - void updateInboundAccount(InboundAccount inboundAccount); - - - void getRelatedData(); - - void requestForPennyTest(String resend); - - void submitPennyTest(String depositReference); - - List getKoreanBankList(); - - void updateBank(BankInfo selectedBank); - - void onBankAccNoChanged(String bankAccNo); - - Observable subscribeToInboundAddAccountDataEvent(); - Observable subscribeToPennyTestDataEvent(); - - void onDepositReferenceChanged(String depositReference); - - void onBankDetailValidated(); - - - interface InboundAccountAddV2ContractInterface extends BaseContractInterface - { - void showInvalidAccNoError(String errorMessage); - - void enableForm1Button(boolean action); - - void showPennyTestScreen(); - - void showInvalidDepositError(String errorMessage); - - void enableForm2Button(boolean action); - - void onPennyTestSuccess(); - } -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/AutoDebitWebBrowserActivityV2.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/AutoDebitWebBrowserActivityV2.java deleted file mode 100644 index 3a5cb1ad..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/AutoDebitWebBrowserActivityV2.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.view; - -import android.app.Activity; -import android.content.Context; -import android.webkit.JavascriptInterface; -import android.webkit.WebView; - -import com.swifttech.remit.android.R; -import com.swifttech.remit.android.RemitApplication; -import com.swifttech.remit.android.features.accountmanage.model.accountlisting.AutoDebitAddSeriveAuthenticationServiceModel; -import com.swifttech.remit.android.features.accountmanage.model.accountlisting.WebRequestModel; -import com.swifttech.remit.android.common.customwidgets.CustomAlertDialog; -import com.swifttech.remit.android.utils.https.GenericApiObserverResponse; -import com.swifttech.remit.android.utils.https.HttpClientV2; -import com.swifttech.remit.android.features.webbrowser.WebBrowserV2Activity; -import com.google.gson.stream.MalformedJsonException; - -import java.util.Map; - -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.schedulers.Schedulers; - -public class AutoDebitWebBrowserActivityV2 extends WebBrowserV2Activity { - - private WebView webView; - private WebRequestModel webRequestModel; - private CompositeDisposable compositeDisposable; - private WebAppInterface webInterface; - private final static String WEB_INTERFACE_NAME = "Android"; - - @Override - protected void doTask(WebRequestModel webRequestModel, WebView webView) { - if (webRequestModel != null) { - this.webView = webView; - this.webRequestModel = webRequestModel; - this.compositeDisposable = new CompositeDisposable(); - this.webInterface = new WebAppInterface(AutoDebitWebBrowserActivityV2.this); - authenticateService(); - } - - } - - - private void authenticateService() { - this.compositeDisposable.add( - HttpClientV2.getInstance().postDataForAddingAutoDebitAccount(webRequestModel.getUrl(), webRequestModel.getHeaderAsMapData()) - .doOnSubscribe(subs -> showProgressBar(true, getString(R.string.processing_request_text))) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .doFinally(() -> showProgressBar(false, (String) null)) - .subscribeWith(new AutoDebitAddRequestObserver())); - } - - - @Override - public void onBackPressed() { - finish(); - } - - - @Override - protected void onDestroy() { - super.onDestroy(); - try { - webView.removeJavascriptInterface(WEB_INTERFACE_NAME); - } catch (Exception e) { - - } - if (compositeDisposable != null && !compositeDisposable.isDisposed()) - compositeDisposable.dispose(); - } - - class AutoDebitAddRequestObserver extends GenericApiObserverResponse { - - @Override - protected void onSuccess(AutoDebitAddSeriveAuthenticationServiceModel data) { - updateTitleInBrowser(webRequestModel.getWebTitle() != null && webRequestModel.getWebTitle().length() > 0 ? webRequestModel.getWebTitle() : ""); - String url = data.getAuthenticatedUrl(); - if (url == null || url.length() < 1) - showPopUpMessage("Invalid url", CustomAlertDialog.AlertType.FAILED, alertType -> finish()); - else { - showUrlInWebView(data.getAuthenticatedUrl(), null); - } - } - - private void showUrlInWebView(String url, Map headerValue) { - - webView.addJavascriptInterface(webInterface, WEB_INTERFACE_NAME); - if (headerValue != null) - webView.loadUrl(url, headerValue); - else - webView.loadUrl(url); - } - - @Override - public void onFailed(String message) { - showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> finish()); - } - - @Override - protected void onConnectionNotEstablished(String message) { - showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, alertType -> finish()); - } - - @Override - protected void unauthorizedAccess(String message) { - RemitApplication.getStorage().edit().clear().commit(); - showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT, alertType -> logout()); - } - - @Override - public void onError(Throwable e) { - if (e instanceof MalformedJsonException) { - showUrlInWebView(webRequestModel.getUrl(), webRequestModel.getHeaderAsMapData()); - } else - super.onError(e); - } - } - - class WebAppInterface { - - Context mContext; - - /** - * Instantiate the interface and set the context - */ - WebAppInterface(Context c) { - mContext = c; - } - - /** - * Show a toast from the web page - */ - @JavascriptInterface - public void onAutoDebitAccountResult(String message) { - showToastMessage(message); - setResult(Activity.RESULT_OK); - finish(); - } - - - } - -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/accountlisting/autodebitlisting/AccountAddRVViewHolder.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/accountlisting/autodebitlisting/AccountAddRVViewHolder.java deleted file mode 100644 index e6165d08..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/accountlisting/autodebitlisting/AccountAddRVViewHolder.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.view.accountlisting.autodebitlisting; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; -import android.view.View; - -import com.swifttech.remit.android.R; - -import butterknife.BindView; -import butterknife.ButterKnife; - -public class AccountAddRVViewHolder extends RecyclerView.ViewHolder { - - @BindView(R.id.accAddImageView) - View addAccIcon; - public AccountAddRVViewHolder(@NonNull View itemView) { - super(itemView); - ButterKnife.bind(this,itemView); - } - - public View getAddAccIcon() - { - return addAccIcon; - } - - -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActionListener.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActionListener.java deleted file mode 100644 index a44e3d42..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActionListener.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage; - -import com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2PresenterInterface; - -public interface InboundAccountAddActionListener { - - InboundAccountAddV2PresenterInterface getPresenter(); - -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActivity.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActivity.java deleted file mode 100644 index aee3fad2..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActivity.java +++ /dev/null @@ -1,155 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.content.Intent; -import android.content.pm.ActivityInfo; -import android.os.Build; -import android.os.Parcelable; -import androidx.fragment.app.Fragment; -import androidx.viewpager.widget.ViewPager; -import android.os.Bundle; -import android.view.ViewGroup; -import android.view.Window; - -import com.swifttech.remit.android.R; -import com.swifttech.remit.android.features.accountmanage.adapter.accountlisting.AccountManageViewPagerAdapter; -import com.swifttech.remit.android.features.accountmanage.gateway.inboundaccountmanage.InboundAccountAddV2Gateway; -import com.swifttech.remit.android.features.accountmanage.model.accountlisting.AutoDebitAccount; -import com.swifttech.remit.android.features.accountmanage.model.accountlisting.InboundAccount; -import com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2Presenter; -import com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2PresenterInterface; -import com.swifttech.remit.android.base.BaseActivity; -import com.swifttech.remit.android.features.homeV2.view.HomeActivityV2; - -import java.util.ArrayList; - -import butterknife.BindView; -import butterknife.ButterKnife; - -public class InboundAccountAddActivity extends BaseActivity implements InboundAccountAddV2PresenterInterface.InboundAccountAddV2ContractInterface,InboundAccountAddActionListener { - - private static final String ACCOUNT_DATA_BUNDLE_KEY = "ACCOUNT_DATA_BUNDLE_KEY"; - @BindView(R.id.fragmentContainer) - ViewPager fragmentContainer; - - - private AccountManageViewPagerAdapter accountManageViewPagerAdapter; - private ArrayList fragments; - private InboundAccountAddV2PresenterInterface presenter; - - - @SuppressLint("SourceLockedOrientationActivity") - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_inbound_account_add_activitity); - if (Build.VERSION.SDK_INT == Build.VERSION_CODES.O||Build.VERSION.SDK_INT==Build.VERSION_CODES.O_MR1) { - setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); - } else { - setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); - } - - Window window = getWindow(); - if (window != null) { - window.getAttributes().windowAnimations = R.style.SlideInAnimation; - window.setBackgroundDrawableResource(R.drawable.ic_rounded_grey_bg_with_inset); - window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); -// window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING); - } - - - ButterKnife.bind(this); - init(); - performDefaultAction(savedInstanceState); - } - - - public static void launchActivity(Context context, AutoDebitAccount autoDebitAccount) { - Intent intent = new Intent(context, InboundAccountAddActivity.class); - intent.putExtra(ACCOUNT_DATA_BUNDLE_KEY, autoDebitAccount); - context.startActivity(intent); - } - - public static void launchActivity(Context context, InboundAccount inboundAccount) { - Intent intent = new Intent(context, InboundAccountAddActivity.class); - intent.putExtra(ACCOUNT_DATA_BUNDLE_KEY, inboundAccount); - context.startActivity(intent); - } - - private void init() { - presenter = new InboundAccountAddV2Presenter(this,new InboundAccountAddV2Gateway()); - setupViewPager(); - - - } - - private void performDefaultAction(Bundle savedInstance) { - Parcelable data = getIntent().getParcelableExtra(ACCOUNT_DATA_BUNDLE_KEY); - if (data != null) { - if (data instanceof AutoDebitAccount) - presenter.updateAutoDebitAccountData((AutoDebitAccount) data); - else - presenter.updateInboundAccount((InboundAccount) data); - } else - presenter.getRelatedData(); - } - - - private void setupViewPager() { - accountManageViewPagerAdapter = new AccountManageViewPagerAdapter(getSupportFragmentManager()); - - fragments = new ArrayList<>(); - fragments.add(new InboundAddAccountConfirmFragment()); - fragments.add(new InboundAddAccountPennyTestFragment()); - - - accountManageViewPagerAdapter.addFragments(fragments); - - fragmentContainer.setAdapter(accountManageViewPagerAdapter); - } - - - - - @Override - public void showInvalidAccNoError(String errorMessage) { - ((InboundAddAccountConfirmFragment) fragments.get(0)).showInvalidAccNo(errorMessage); - } - - @Override - public void enableForm1Button(boolean action) { - ((InboundAddAccountConfirmFragment) fragments.get(0)).enableButton(action); - - } - - @Override - public void showPennyTestScreen() { - fragmentContainer.setCurrentItem(1,true); - } - - @Override - public void showInvalidDepositError(String errorMessage) { - ((InboundAddAccountPennyTestFragment) fragments.get(1)).showInvalidDepositError(errorMessage); - - } - - @Override - public void enableForm2Button(boolean action) { - ((InboundAddAccountPennyTestFragment) fragments.get(1)).enableButton(action); - } - - @Override - public void onPennyTestSuccess() { - Intent a = new Intent(this, HomeActivityV2.class); - a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - a.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); - startActivity(a); - finish(); - } - - @Override - public InboundAccountAddV2PresenterInterface getPresenter() { - return this.presenter; - } -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountConfirmFragment.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountConfirmFragment.java deleted file mode 100644 index 7b50dd7b..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountConfirmFragment.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage; - -import android.os.Bundle; -import androidx.annotation.Nullable; -import android.text.Editable; -import android.text.InputFilter; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.ImageView; - -import com.swifttech.remit.android.R; -import com.swifttech.remit.android.features.accountmanage.model.bankaccountvalidation.BankInfo; -import com.swifttech.remit.android.base.BaseFragment; -import com.swifttech.remit.android.common.customwidgets.GMEFormInputField; -import com.swifttech.remit.android.common.customwidgets.TextWatcherAdapter; -import com.swifttech.remit.android.common.customwidgets.banklistingdialog.BankIconMapper; -import com.swifttech.remit.android.common.customwidgets.common.GenericImageWithTextListingDialog; - -import butterknife.BindView; -import butterknife.ButterKnife; -import butterknife.OnClick; - -import io.reactivex.observers.DisposableObserver; - -public class InboundAddAccountConfirmFragment extends BaseFragment { - - @BindView(R.id.bankAccountNumberFormInputField) - GMEFormInputField bankAccountNumberFormInputField; - - - @BindView(R.id.bankSelectionFormInputField) - GMEFormInputField bankSelectionFormInputField; - - @BindView(R.id.bank_ico_imageview) - ImageView bankIconImageView; - - @BindView(R.id.startPennyTestButton) - Button startPennyTestButton; - private BankSelectClickListener bankSelectionClickListener; - private GenericImageWithTextListingDialog bankListingDialog; - private BankAccountNumberTextWatcher bankAccountNoTextWatcher; - - @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_inbound_account_add, container, false); - } - - @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - ButterKnife.bind(this, view); - init(); - performDefaultAction(savedInstanceState); - } - - private void init() { - bankSelectionClickListener = new BankSelectClickListener(); - bankAccountNoTextWatcher=new BankAccountNumberTextWatcher(); - bankSelectionFormInputField.setInputFilters (new InputFilter[]{}); - ((InboundAccountAddActionListener) getActivity()).getPresenter().subscribeToInboundAddAccountDataEvent().subscribe(new InboundAddAccoountDataObserver()); - } - - - @Override - public void onStart() { - super.onStart(); - registerTextWatchers(true); - bankSelectionFormInputField.getEditTextView().setOnClickListener(bankSelectionClickListener); - } - - - @Override - public void onStop() { - super.onStop(); - registerTextWatchers(false); - bankSelectionFormInputField.getEditTextView().setOnClickListener(null); - } - - private void registerTextWatchers(boolean action) { - if (action) { - bankAccountNumberFormInputField.getEditTextView().addTextChangedListener(bankAccountNoTextWatcher); - } else { - bankAccountNumberFormInputField.getEditTextView().removeTextChangedListener(bankAccountNoTextWatcher); - } - } - - @OnClick(R.id.startPennyTestButton) - public void startPennyTest() { - if (startPennyTestButton.isEnabled()) { - ((InboundAccountAddActionListener) getActivity()).getPresenter().onBankDetailValidated(); - } - } - - - private void performDefaultAction(Bundle savedInstance) { - - } - - private void updateData(InboundAddAccountViewDTO inboundAddAccountViewDTO) { - - registerTextWatchers(false); - bankAccountNumberFormInputField.getEditTextView().setText(inboundAddAccountViewDTO.accountNo); - bankSelectionFormInputField.getEditTextView().setText(inboundAddAccountViewDTO.bankName); - bankIconImageView.setImageResource(BankIconMapper.getBankIconFromBankCode(inboundAddAccountViewDTO.bankCode)); - bankSelectionFormInputField.setEnabled(inboundAddAccountViewDTO.enableFields); - bankAccountNumberFormInputField.setEnabled(inboundAddAccountViewDTO.enableFields); - - registerTextWatchers(true); - - startPennyTestButton.setEnabled(true); - - - } - - public void showInvalidAccNo(String errorMessage) { - bankAccountNumberFormInputField.setErrorEnabled(errorMessage!=null); - bankAccountNumberFormInputField.setError(errorMessage); - } - - public void enableButton(boolean action) { - startPennyTestButton.setEnabled(action); - } - - public class BankSelectClickListener implements View.OnClickListener { - - @Override - public void onClick(View v) { - - if (bankListingDialog == null) - bankListingDialog = new GenericImageWithTextListingDialog<>(); - bankListingDialog.setData(((InboundAccountAddActionListener) getActivity()).getPresenter().getKoreanBankList()); - bankListingDialog.setListener(selectedBank -> - { - ((InboundAccountAddActionListener) getActivity()).getPresenter().updateBank(selectedBank); - bankSelectionFormInputField.getEditTextView().setText(selectedBank.toString()); - bankIconImageView.setImageResource(BankIconMapper.getBankIconFromBankCode(selectedBank.getBankCode())); - - bankListingDialog.dismiss(); - }); - bankListingDialog.setHintAndTitle(getString(R.string.search_bank_text), getString(R.string.bank_placeholder_text), getString(R.string.no_bank_found_text)); - bankListingDialog.disableSearch(false); - if (!bankListingDialog.isAdded()) - bankListingDialog.show(getFragmentManager(), "BankSelectionDialog"); - } - } - - public class BankAccountNumberTextWatcher extends TextWatcherAdapter - { - @Override - public void afterTextChanged(Editable s) { - ((InboundAccountAddActionListener) getActivity()).getPresenter().onBankAccNoChanged(s.toString()); - } - } - - public static class InboundAddAccountViewDTO { - String bankName; - String bankCode; - String accountNo; - boolean enableFields; - - public InboundAddAccountViewDTO(String bankName, String bankCode, String accountNo, boolean enableFields) { - this.bankName = bankName; - this.bankCode = bankCode; - this.accountNo = accountNo; - this.enableFields = enableFields; - } - } - - - public class InboundAddAccoountDataObserver extends DisposableObserver - { - - - @Override - public void onNext(InboundAddAccountViewDTO inboundAddAccountViewDTO) { - updateData(inboundAddAccountViewDTO); - } - - @Override - public void onError(Throwable e) { - - } - - @Override - public void onComplete() { - - } - } -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountPennyTestFragment.java b/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountPennyTestFragment.java deleted file mode 100644 index 8dbe79d8..00000000 --- a/app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountPennyTestFragment.java +++ /dev/null @@ -1,171 +0,0 @@ -package com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage; - -import android.os.Bundle; -import androidx.annotation.Nullable; - -import com.swifttech.remit.android.utils.other.Utility; -import com.google.android.material.textfield.TextInputLayout; -import android.text.Editable; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.EditText; -import android.widget.ImageView; -import android.widget.TextView; - -import com.swifttech.remit.android.R; -import com.swifttech.remit.android.base.BaseFragment; -import com.swifttech.remit.android.common.customwidgets.TextWatcherAdapter; -import com.swifttech.remit.android.common.customwidgets.banklistingdialog.BankIconMapper; - -import butterknife.BindView; -import butterknife.ButterKnife; -import butterknife.OnClick; -import io.reactivex.observers.DisposableObserver; - -public class InboundAddAccountPennyTestFragment extends BaseFragment { - - - @BindView(R.id.depositReferenceInputWrapper) - TextInputLayout depositReferenceInputWrapper; - - @BindView(R.id.ed_creditNumber) - EditText ed_creditNumber; - - @BindView(R.id.txt_pennytest_msg) - TextView txt_pennytest_msg; - - @BindView(R.id.bankNameTxtView) - TextView bankNameTxtView; - - @BindView(R.id.bankAccNoTxtView) - TextView bankAccNoTxtView; - - @BindView(R.id.bankIcon) - ImageView bankIcon; - - @BindView(R.id.agreeButton) - Button pennyTestCompleteButton; - - private DepositReferenceTextWatcher depositReferenceTextWatcher; - - - @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_inbound_account_penny_test, container, false); - } - - @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - ButterKnife.bind(this, view); - init(); - performDefaultAction(savedInstanceState); - } - - private void init() { - depositReferenceTextWatcher = new DepositReferenceTextWatcher(); - ((InboundAccountAddActionListener) getActivity()).getPresenter().subscribeToPennyTestDataEvent().subscribe(new InboundPennyTestDataObserver()); - - } - - - private void performDefaultAction(Bundle savedInstance) { - - } - - public void updateData(InboundPennyTestViewDTO inboundPennyTestViewDTO) { - txt_pennytest_msg.setText(inboundPennyTestViewDTO.pennyTestMessage); - bankIcon.setImageResource(BankIconMapper.getBankIconFromBankCode(inboundPennyTestViewDTO.bankCode)); - bankNameTxtView.setText(inboundPennyTestViewDTO.bankName); - bankAccNoTxtView.setText(inboundPennyTestViewDTO.accountNo); - } - - @Override - public void onStart() { - super.onStart(); - ed_creditNumber.addTextChangedListener(depositReferenceTextWatcher); - } - - @Override - public void onStop() { - super.onStop(); - ed_creditNumber.removeTextChangedListener(depositReferenceTextWatcher); - } - - @OnClick(R.id.image_example) - public void showSample() - { - Utility.showImageDialog(getActivity(), null, R.drawable.penny_test_sample); - - } - @OnClick(R.id.resend_request) - public void resendRequest() - { - ((InboundAccountAddActionListener) getActivity()).getPresenter().requestForPennyTest("Y"); - } - - - public void showInvalidDepositError(String errorMessage) { - depositReferenceInputWrapper.setErrorEnabled(errorMessage!=null); - depositReferenceInputWrapper.setError(errorMessage); - } - - public void enableButton(boolean action) { - pennyTestCompleteButton.setEnabled(action); - } - - @OnClick(R.id.agreeButton) - public void onPennyTestCompleteButtonPressed() - { - if(pennyTestCompleteButton.isEnabled()) - { - ((InboundAccountAddActionListener) getActivity()).getPresenter().submitPennyTest(ed_creditNumber.getText().toString()); - } - } - - - public class DepositReferenceTextWatcher extends TextWatcherAdapter - { - @Override - public void afterTextChanged(Editable s) { - ((InboundAccountAddActionListener) getActivity()).getPresenter().onDepositReferenceChanged(s.toString()); - } - } - - public static class InboundPennyTestViewDTO - { - String bankName; - String bankCode; - String accountNo; - String pennyTestMessage; - - public InboundPennyTestViewDTO(String bankName, String bankCode, String accountNo,String pennyTestMessage) { - this.bankName = bankName; - this.bankCode = bankCode; - this.accountNo = accountNo; - this.pennyTestMessage=pennyTestMessage; - } - } - - public class InboundPennyTestDataObserver extends DisposableObserver - { - - - @Override - public void onNext(InboundPennyTestViewDTO inboundAddAccountViewDTO) { - updateData(inboundAddAccountViewDTO); - } - - @Override - public void onError(Throwable e) { - - } - - @Override - public void onComplete() { - - } - } -} diff --git a/app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeActivityV2.java b/app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeActivityV2.java index fe2babe6..c9d54f0d 100644 --- a/app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeActivityV2.java +++ b/app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeActivityV2.java @@ -189,7 +189,7 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra presenter.getRequiredData(); } - @OnClick({R.id.iv_help, R.id.iv_nav, R.id.btn_withdraw, R.id.view_about_gme, R.id.view_setting, R.id.view_logout, R.id.iv_close, R.id.iv_notification, R.id.view_transaction_report}) + @OnClick({R.id.iv_help, R.id.iv_nav, R.id.btn_withdraw, R.id.view_about_gme, R.id.view_setting, R.id.view_logout, R.id.iv_close, R.id.iv_notification}) public void onClick(View view) { switch (view.getId()) { @@ -219,10 +219,6 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra - case R.id.view_transaction_report: - showTransactionHistoryView(); - break; - } } @@ -485,23 +481,6 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra @Override public void showPrivilegedOperationView(Boolean action) { - View withdrawView = nav_drawer.findViewById(R.id.btn_withdraw); - - View manageAccountDivider = nav_drawer.findViewById(R.id.manageAccountsDivider); - - View transactionReportView = nav_drawer.findViewById(R.id.view_transaction_report); - - - - if (action) { -// withdrawView.setVisibility(View.VISIBLE); - manageAccountDivider.setVisibility(View.VISIBLE); - transactionReportView.setVisibility(View.VISIBLE); - } else { -// withdrawView.setVisibility(View.INVISIBLE); - manageAccountDivider.setVisibility(View.GONE); - transactionReportView.setVisibility(View.GONE); - } } diff --git a/app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeFragmentV2.java b/app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeFragmentV2.java index 3320e47b..b6b1bc1a 100644 --- a/app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeFragmentV2.java +++ b/app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeFragmentV2.java @@ -163,7 +163,7 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. List menuList = new ArrayList<>(); menuList.add(new MenuItem(getString(R.string.send_money_text), R.drawable.ic_menu_sendmoney, 1)); menuList.add(new MenuItem(getString(R.string.todays_rate_text), R.drawable.ic_menu_exchange_rate, 3)); - menuList.add(new MenuItem(getString(R.string.transaction_report_text), R.drawable.ic_menu_trackloc, 7)); + menuList.add(new MenuItem(getString(R.string.transaction_report_text), R.drawable.ic_menu_statement, 7)); menuList.add(new MenuItem(getString(R.string.gme_wallet_statement_text), R.drawable.ic_menu_wallet_statement, 4)); return menuList; } diff --git a/app/src/main/java/com/swifttech/remit/android/features/inboundreceipt/view/InboundRemitReceiptActivity.java b/app/src/main/java/com/swifttech/remit/android/features/inboundreceipt/view/InboundRemitReceiptActivity.java index ffb42a0c..6b1654ff 100644 --- a/app/src/main/java/com/swifttech/remit/android/features/inboundreceipt/view/InboundRemitReceiptActivity.java +++ b/app/src/main/java/com/swifttech/remit/android/features/inboundreceipt/view/InboundRemitReceiptActivity.java @@ -10,7 +10,7 @@ import android.widget.TextView; import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat; import com.swifttech.remit.android.R; -import com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage.InboundAccountAddActivity; + import com.swifttech.remit.android.base.BaseActivity; import com.swifttech.remit.android.common.customwidgets.exchangecountrylistingdialog.CountryFlagMapper; import com.swifttech.remit.android.features.inboundreceipt.gateway.InboundRemitReceiptGateway; @@ -205,7 +205,6 @@ public class InboundRemitReceiptActivity extends BaseActivity implements Inbound @OnClick({R.id.btn_link}) public void requestBankLink() { - InboundAccountAddActivity.launchActivity(this, presenter.getInboundBankLinkParam()); } @Override diff --git a/app/src/main/jniLibs/arm64-v8a/libantidebugger.so b/app/src/main/jniLibs/arm64-v8a/libantidebugger.so deleted file mode 100755 index 300b42256648187148091cec22060e771b3501bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21304 zcmeHvd7Kp0z3=I1rl%RGSy%=JR7QhdP?=_!fdNGvcEMqhMbW5DuQLt34Bb7`gCZhs z7>$A}u5piGT=LW?YSj3=dC`waG{z(vW6)f0jJeOCAqx@ZeZRjtr@OjmCb{pv=lv@M zUEkmN{+6@US*mKP>caW$3(8zBWj42ZQZcp9Ycp+H(R->E0Bvfz@?t+u9VWKr1yvtu z?GT$XsKmqGd!X88+4^mkT?T_&$~3Rh_%TVpo!W1w_A|IoSH+;Nh8hGP{*;MVg5#;f zW>9RACi2%(iCsUq)25X{oX_A7fn6c9g4Z zP}|ewSRR&5J<{^wocVA5$1}gVcGE95tU2tjYg1dFfBTHF=RKwB*Zkq8jXkSoUcbJv z>;#(rz0HkUnQ`K@b2FD3)55mqRe_-e>f4Jm3L`~KQ-;9&S0pje?_N#P!mY^!LOfIsZ!GR@zJ^8%SqoC$q76 zkzjX6MJJXRs*pJLm0VLCbP(EeGbjFi%Uv?fLDwjFzI{@52`yLX5xvbztQ z(`FBCa4PemyKT>h?g__^t5@l@UmRM+a^C?R%lNyBwgcl_gMWXQQmZ~cf6lJ`%VzIF zeRi;IZimfIv;+IqCHQef%ua^WDa;le6X_|FvH!1cQ>V^oncDhakKr2YKCuDWa~z^x zhh_q|0nY}8aiBK=&3S_BycNo|=?K@@q2s_RoXP4R>?e?DA9{Gr9c8zhu}l3-{KiB7 z4)x2m{yNX~Y!Ajg8^68K8y_V9x&5;R{&Ov$CuOq^>E%m(q`ggge@XgaNt$aRH=c8I zTd31x>|}mDJWQu+G@3p;q0A=!^u?hRrPp-YtW}e>VAiMxz37>>!>{u*YsP3D->i+> z%(|laeHzWUG;7%?&9`a7@OyQ}9CO^(%D!;@Ve&gd^TzJ8Lw0>kJ7Snh{a(=VFg-}x z==bULcCA04)21Fe{Fe@sbp`%^p}9`Z7hIq3=y|+h!qh2KCQoje(hv+}BH@NqvLW5v zGOc;~jL^h}P&|M?r3NU&4w5HaH z|5vf&@t#CObEtVnb2QQ#XpJ;A2Pa2^ftEn1b!uR8Qy?&HdULonFg4iJ6bd7BzIyHL zr!TSVlIclKREse%?6KgLt}sa1sMG?}HFVRJT?b+=5-#sxx4F!@2AumF2v9y~Q2Fgh zcxI#LJ_ey|M#Xml-ts9+z{Q}cB5Gv+Ns$#(fl3I9&z$tqK7JVSFnAhCiic{+Z z+M5KHvPFyDA9PHz%8W1+yA0fDdP1kS!z z;GBC1LvDUt;Fi|~Zv9x`wm}&7-XV945%@-{z@4iE?%E)5&*cL5UMq0l?E?2dAn?Fr z0=u3Q*!{A=gFh8`=+^=denv0ZcOmrp;wI-xO$?%_7enltP;3xoxlxS1a7=h;HK{i?0iGu=8pw#9gaIA-l4aR zC)CE91QN3alG0|iU1vyYLqZ_ESs=4rAp595_x}>;c~>C!H-X+-EHK{MjS~dUJ44|7 zw7{mX3taG!z~&zaT=g3}E+FAu>&k>ljL}2c@0`pP=^S1~r*deg+Zh=!C6Ik?; zz~VOrPW^X*_P+=$@#6g6J8EgYz%rk}@-~6fP7_!W6j<3ysLx&@&@H{EzUKx><)obT zz0$$zH{K%TdEXW|{|5q_{!QS5Ljs$};g+Mf{=#VjTTTUdb^^9`&aRT?u6u5VVzv^B#c*o)g&hmcVW|PUpP!4~`J{*3kkFwFx}DR^X8>0*~G*@a-1_9{)h#iG2d! z@r-4Zr$-AsGg08#lL2aQ`4c$LYpA>&`^8-EDzDL!w{oYJYAWx7#07A4<%3$n;yL6l zu5#{{wg!Lh9uPL^*^Rf0( zl_*vz>n~(4FJ`sF6wG`rcWp?kS6;B#b(bMum>qFl)C+mVvA%^fy!5Q zN(2wZ4$md9oe0r-e5hwTsFUmFPLhFdACz}VoaZ=7ACTB21(0c1b}})@?kAGX&#@mPPI((u_rK}6 z*`SG#HDrI8ucKZV>d5{|*l**U-9F6Hy4Bx7+I=|m6@#p!Y4)y|NwZOhrYHN3 z)Uw3cno8APQHjG~oVD9oR#!o+WdLgyjiyUfIdJu}NzAa1l4mCDmVu}_acn!l(~k66 zOt;EFUj=bk#0rpEFEKh{psINiXmyfJ7TCHJiEULhk+lwEkc_=r=2^*Ex6FmqZ^(y` zmN`sWKOt=oXmMi)0{uSe&%|2lD>c`;|Df*ff=<(Klm42}WK0H|Nncf*Z`E8}wJ6V0 z?4N{s_z{PD;PE^}>vftR?9beKi>gD#8Q77m_o(_pRK>;B`rlK3Z$U2wltNhhsY>ND zRMy`}bV(T5IaK^hc}-df2kRl55klh1akKu!Fgb^ri)LF(orjXWvXmW8HY<&upEcw- z$`MyqJ@q}Jm$536?Ci`NsQ*De^Qy;ieW$8XCv<1{#yfYNYDrg6enT^)dFf z;yR7`N5w(1shdgSGP_K5bD3DD3)s#?JReF~r;$h$h`Kc-wn#5gmY<0a^BqvL5waf_ zvpRl)s!Jst+gw>$65q-bc7&1Vlikk<*2NU>&mUGb@@ph|>0!OWV|97n8U6oSDrK^l zNV*$sq1{DJyPIiuu`t{ztAfNOc@t&bMdIsuLPy#KcEmD=-?vGe<{u zc$vf*4&rqZXF7!}V?fr8_prMjNwLj7Wu!RMY9UOJ5WM!qYDQwBgIGY~cn7hJgwH{+U)D`_5CIZR z4uT7R-4q9rA<^t0c#TzOFTHj-E+sM5VR1EyX%6Bh60Hv6E)uiyL=|r{DC-`wCsEd& zdpC(0%%#fC>M;^0IEZIS%+3>4yltVZ=g7{XYzOjOk6QrW2RYg|bnI(Di&t)A?3R(S z!?g-s8h=$)W9;^E((jUWIH3 zy{O-a`>3*qMBYOOJ3v*Fv;@n62di*%cFYthuk7*xF#xG*7F#aLdcLS4Yadt%Zig93 z);_vYKZd~qz}%)ea`V#6J`j$OW691h93DI5SIAx@XS?5#4aiKW&)`G_N83DGHn!5`c+h-P7 z-u)lDtDuoSA;qv_P>qS^hftL`SsTbE@~pCYNnDsGwAqDZcNF4E^`!q;mr?a_aZ{N_ zq3V$mFS|51QuSoNs&7#BR6*sa!#Anwkiv<+P|O3ksivyGz`m9@Dy>mi4#zag2(U-a zqjY^xib+;k-yvb25l_RtG*x{f_O-m{X+1~P3<)l0O(K0&j70yh)Spl&Mv0O2L+Z~G zy)5cd1M#=sr0T?i>obTdtyN{mXDI8}G}>J7-&UX4%gx1aMczbDX>ZbTPo6zY9pQX}&XpJnuOsktRW3%mjkBQv zqPmCdPhT~vKJ1=G z`tYm9?g4mCM*2mjXI0OGcue{CkZ>LDQ?6Rq(N)9C-BmTC##Yt3R%6mEYfBkVkwU_K)ok&iQSoyp41Xq3@2c{z(d8pA`?JFSEsGt$KpjUA47Eb?Kv zL#__DYmdIth&CMNX+u+)>{yL)<y%SPMv!jUXfb`#r8pw2<>7^GfipL4lBtFj2V$E)yj`BrD}mvLVv7mH?_d@BjQ zrSnep1-iO?nRLjPkUxQUb*W;*_E<0-NN@D%KfwDk;q|^`c>SbccQPE06#jai@$paG zzOFPLnT*A=zHlI&izO%ZPM_wV*5b=-%%oGPtgkzh_QjH+cy~DB3mtcyuczrt$qtWi zB2)Q$zE7S5FqwWSx%E@I|E_%4u>Wm&1!LI^mSM+pv6IlyjUn_IbTGd^*&UDLAzeJ( zsxsMdI1+8_ERxYJL$-o6p8%$jKN0Bl<6-5Fq(2J>+bA7NcG$j@K%--4vRby|$C5M$ z&zMNioFa;(b7kSgA`ytkQy~+D7Law6lp{!rWOid$Bm)wQETRR{%$k^8Qjd402lu`_ZvUs{ zBRuY-y)(-#&!^=hJ?);SJxe|A)mzJ59(U`fG+Fd19u=0zW(9K3bd{G^ju85vkKwe+ zV>rcg@$~*uc?f?FCeyGllnAVk_|lPh1W!Hr0_nuG zmPtL+@nrj1?K481u;9b??5-*t3B}ouCg{O9QE9=?XWub#H}N_8a4Z@Hk--}R0LK92 zAPaSEBqTM40x)FK#!#ZmPTCks#p6u(M$-utXIdhX2z91c2WCW)fnYr1k3|=)X%9Bd zpFe+jPfRSB!vGec7(+oTkm*VyB3>RycLmey`wbaderkxeG|;yHAh?Nc2cHIC{QtYL zp=TD^)OtcBolZ$Q9zp5+n0Ka2%R*?HW~AmRMw-?FsXLj$?1rb+IQrq#t-bPmrZXk4 zCQzZHP}E^4+HoNG*##s|(soK*3Q2J*Bnz%lrzaByN2UsXOo^LR5dB4}!;rR2iJc~^ zHgu=53a^r=cnXi+$qqUdkB4JDPzSQ9D0eaL;j` zZgd^nK%3j0ESu`qX{Zd|7<*O*(TtWZl^p9fN7znbp^(!&{`Ft@3 zZ=6JuJqn9y7Ig_`A_4RhwIL&i<*epFFw=`V0no{sQMFzsftcyp4-&y_Di^|Pfa8l= zVsaA;ghE59TmZ(FhN}J)pX5h^D&GoH%HL=vS$p2>g`sQL&vfyvqgbZ93xx#s+K%Y1;($IW3e+uYAA9sa9!dLj075L2Gi8Bb7ba&)lQYH1 zneyaJfpVrqIjIxlm@?%|p>n2FIbAFm*=Hx{k*0v!h{{T)^%IOrh0tNagUNl-(U<6ri_EY};M?X+2Us2X5Z$>qcms|r>V*bTUv>Lu7&M%U zWG0H?oje@(v^`y6=9MD_v?nSdWTp}-!{H^+N<{#?X?|Xk= z{ws()_3q9TPO6o>OXy#`bkTfF@&0wG;JOF~cALH#W6qz;)YmuRO1Ws;rftlPn=*Ax zk)DZrwGD3^adWAVEfn_8YLmZeWEdkK)SOGLDL81!ocEg|8Z;;723vI2eFFRg!p+Mz zTz`~qZjk0Z3#ZPF>mc*KMKM1}HQ*AdbaUex%Dj)^)VcBZT=U*SF<+s~`wqptSM9|` zQR(JZgOz#z!l`qsN@du(1PBbe^b7|QF1H((WLL@R=nla zcXKP;p6X|FE8b4-ySWvg-7MbNDueJIb}_5ekwWx6F2`v8s*?6^)qHyiKNq|UZ`_+P zvQzAoI$hhJQewYW^RJfhG0nG?@VFt;Z}~40dpvbr@_zYc!uRbbS8Cq8_bW;4wu>-A zRg`p}8-(xMpKk$QhSw1G;g2lb_|O-(Z{kNDLq;~-H<4`*_Wia0k3`!y-=7NKxBtH_ zeBb_K*Q;;8wd>WlU+tARef!l1!sB`AlIq@7q63dzv}dL^~kD z5M}0G!+)W9GY1>qjpO8Uj8oIj)c4oUwPOFtq0;$b40s-|LHc-^9Xf=Bc|+ap+4`upy} zodeiEF#!MK06d@3=JyZGad}6V;DZ6|4-UXr=yI0MtHTE<|5)(M*Bp1#J{JrS=Ss2f z(>&_t0qpM_!2V%vU-})3Fhcj&&QD96zTbywL$xPRmqJKXC{1aUb;LcegQk}2Hsgb&}h_T!2G*WyCSHyA|XmlZ^i z3p(Zz>A1==TO2gH4u@60=Ey zP9-soyH@U|b2o!|z@``Z7T-+s&pUJJ>?L?)!tb|l75F<*w|FG&&*6fRmx6vjK1k!A ze~N#>irGu%`%js-LircAFPk&F-M?(Xf|c`E`B%-J(>|YHnFwc6+C6{Y!5>Ln)JKe}NY zi$0ZMe-Pu#KV^4(paUP`;4K8)&NL;mzu}?3`e8^Zrv6?>-%pOnCs6F8rX5scW@927 z2m*22NwCvM?2(Nf$?it!*^_W1RZ^Y!_K9i?Z%o3|MqI&(#&mdR!Vewp&j#qArLK5Z zHR8i7*h?0AXf)bGqcPIykEU^B!`~T(uSuy!e7Ys(52Vw9jgo615ep$(+-7T(fz*g^ znJB)vn&1FylrNOvHe@tqUV>@|-Vf7aA`o)AW7KyCFfl#~WUwnMVyh1p@v8llM2*BL?p+@iXh1iPH%EpYcw#$<|!A7;GQFU(@)4 znEg#C<8Q8S4Ay7`%g9R~lfOBmY16#%H`hT1&3ouDlMTyL(RK<_eCONvo9iWm$7^d- zUt?!*HS~Ok+@#HQmB9w>&+;>GQ+`dWFa*Xn{^t72;96~H@;Cmb{z>gWN86d}G=uvb z{(RiE)So?&^W z{jUYjEKK{E>j{J7|AGIVCI04m(_mMLziB^1?}osqHOytXxh^%|Uo-7w?2W&{??Az} zH~!}Q)O^>Duc2{c|KVo*Ok94~izde3T<30Mp|J7zI5*>O@Fggn{`u=Doq@44F-p^~ zKtayrZ_e+$1NfI7zaQ)TCz}j3=KXd3joKs){zCg3y}=rGc5F+{3Ade;x@uA2->^5a zocy_y?9^)|%95n|bO8TGpY0zgsc@-3uW!he*8iGj+y9l4>tN$=a4-ZT+aC7*%vmi+ZfETmHP8AnZDyNQwtZ{siqQ#lBAT~jD4qn k+sSrng6^6V_uf^mw)F%+u+wF!AtZ1Kee<}a{vGU diff --git a/app/src/main/jniLibs/armeabi-v7a/libantidebugger.so b/app/src/main/jniLibs/armeabi-v7a/libantidebugger.so deleted file mode 100755 index f81d9a55152a06caa9d7fe2ff335f79fe7d2eb11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109660 zcmeFa34D~*)jxipS;7p-B!L77k!9F4AWJqvKtz_zkU&U67C=OYBr_oc*_@dqXcZ!& z;#yQ}0j*kVEmEq%T8j&XTI*~3s&BBiwbr(&)ykq0+z4pN?|aUDwg~~O`g?!>&;Qft zz31F>&OP_seSL=YoBf-jsNYEdsYF@P}5F(Nk zt_e0&)&;K)hy|4`mA>l6df%%0KqycjjQAQG>VgdcJshcQs1Eot8Y&~fmVhtZR96|U z^<{*sLxDhpuO%30^_4NLOj5#;%1~qu(#%uS6u#vd8TE|~!AN7s*A(=Zv=C+5X>u*1 zDN-8>RQi2TguK8|$W*WKRoAZZ)l>%S#Hv7~2@0YZtC}lAe$iSPj4+2wpeYintPY5p z#?Ts3S=AVdh?=HQupv?-YHI45!?mQq3$HRzSrzov2kNWqLb*}lrmGNK)zIv#XlM;K z_kBmaNwThSm0B6~1gWo4 zpQAC0#)nP9t@O_m{fRahE(LC`=lAbF`;WV>>0a5m;ZIjC8@76~WyZJmh@sRzQ{m{3 zcz73Qn3P=zHbELY(&6|PX>N)`H5SgXQ16*j3bqQbQ*yhep>Dtzz~ zY0twd+@V4-Tdg}4ZUKD|D&;$4d(AWy_KV+s+xpwv-oEDebMI<+#Dv$GaK8y(VZzHzc%cc; zGvPB$c(w_jXu`*u@L?uA*@VZLaGMGL;xohkPk`IR1Mdp)?ami_dJZ4V5n@Eol)wKA zxDX}(0Inn=ED|65dmQBA+)~!!{&weH$aMDf^z1>L&YxKxx8*C3iqUKHL~YOUmZQSm zbA0X5o#1u-%=-AEZrk3C?W6M7=Ec;e*IGCC9B(>0qCliwmFHOL=ont0>=0wF%IjY% zM)e$DeRND`&+)pWHgBSPlvj)vV<_~})0UsO5gPC9Iqp5$Pv=~5)a@M)de8BhM{{>u zwu-LxVtv|&9h83VQR~)>T1Tp7pRN7!Zrih6dwY%-9!-Hw*T4xlrR(G~)>?6)^Uund z*p;?1CEd1>&UovQ>y!a2o96%OV{6@W$3#MW$8*Q52_yDBcT7nTZld=qw2iSIxy@SK zWr?$N7I!IewlPU7f7vbeH_fN~PCC?`VDo-Af1CF%@7lb0Z*dofv07!bsI_etZp&uh z;s0)$-DSJ3!uwlKTbH=*hAykHA5;1d?iOvn!;Y1%*R4C(*_KJj?KOw8$>emMfh0H1Sbq+usg~E^B)J@@wxWU2nAA0$s(29T_)2k-lQiVGN@a zMAs{AD7#T&4BOGQ`Glj(AuQYM$1MHl9PUsocRux=b(`q=LNs<+Es3dfQz&igU83vb z&nd=_-plVo=j=)l32CD1M{U*}j;;iY*lgDMOt*ErwD?b-fBQX0S3lua(^F20E~KX< z=FUF+%h4RCtN6sV@9j9&uJjvU{D#ww@{9f3L8Z%PU)*>r{u6CaWZN&kS-f`?D%M&Lze3Y@G)ah_4T?xwU!I$5lYQqt{X#HWI+?D|(X@yBysh@*@-_8ztY z?%#UGk!?zU)Yp|Ol&)HRHJWgXn(GDkT=GwjPKu(@vOz2Flpo)A3vRro-rCZ`RwGN&UsxnVNY`& zP%g9|NSI`QBOUYyKDTy`oTU88;&yb}KW)1*ou!9=F49u=S=<)2&&1`={^*LFxPrI^ zYxCk3UX>SDcs2U?xALyZd*zVui(@-%ZuH4rACTYvLC^6gVOv$E5TgeRaSJA?d4LDu zv~gfV`!8yfy>_;BI@vnW{l@1{XV#{9(c8P8IXO7m)`|8v(m*dDTPKpO&dxs^5@T$z zm*{Vw>}_rFCkt9)&tdHnwssk;UGc$_8A3#`utOL|`A^+gQ*55nA;vcz5R*#|Saz0hFZIBRf&=zl;(Th$Vq8jR?8%s}#KVq+fgP5u znO-qQ8E&~#V0^Q0F7b*j7#n*wJ^RQpmuNrP)-~H{pQq#`On&E22m8&y$ThCh%eCb` zU|01II@$4b@!=HDpp%KUUAG}QEKgXP4LdHedUlPu>`IA6^tQ0 z$MbuXsUq!ghs7PU4OY9U{q)n@&u`yXCR-2Kw_1kV@3M5-w~J28cA1ltCuDj4<2_e? z@h1%}t^yb8-GzF0^;z%j?^C@$`F_vwJ@1QsD^ZrK(}kFTh1~#@PqZs z$2?*8I=pcRU3lW2?vljc^s^oiwT|6Rcl%!IbtxwmuhXrJckFY3Lh*Wzzq3!m&V6bd zy8S1gI_quTG5M}f@2pvyhni`712r?hJ2{Tp_1r`KeJ;*Lds4w0A>LD;KYun zt@nxxk9UZzwqyBmj&1hsyAEQRf!Sn&ck6ry$}1*qK!-C;Ie>Ae)9PN@ojeShx%6B} z6SK&z)c+>DkCa#Te-yoIjOem;Til1{O#UBXgjd4{m-y3 zo<_{B*b}Z}aZa=ohrQFab^Pj0a~E{%IHovKF)V-@gT8lu|BgMFclsTe5Oibi=*bXW zlTTnY>hHn`(b$E9i>|m6Zf^m!U4KG68-qOkrNg?_jy%O~b8wzy-`_gFUz)wck@j2U zDegee@qZq%K!enHq}#GJt&%JXorvEG`x0rUOwilNo+H!(Qd{EA)dG%C3wYv4&+(^@ zj71sLVl$nFHPuM0rwRZs0Bo8s1l9ddK8>m0(C+&5_JED+rs1IF(KL)Y3g-CA9vW$0 z9e0MlTds{XYdO8Ek>0u^-IK6(#Cq*jxIe*_AiWNxb6b1=0*q9(qiSRC#HysLt6TA6 zEFPb-Pq<^ZjmBtd+ZWf~ftt)avI{!;it`7=QTmKC;mBIV*-$%hHzeGN^PA?k{j3qK zT68_#t>mWcbGqC13ehvN?O=9C+q=1)ZST&6!)Xhxr~dAaZF@f&?&mPsVDrZ3$1f0L z*5*Cjou7Vno+Eu@_k#2n4hf6xm_y9QDyRPu+p!W+{K>W}2}kW=mY8@#xI6Z4y-c<~VM|$=~fp zoJ_A3t#Ir7+F{lXF|J>yeUZJ>jgd@@o4baj(!8hZ(bAq9q_k&q+8Y>0UKC2*qNXnP znbNW%l#MViur4D`);-j42J``zBo`FdRRLm5}8b*^^Ir_w{8t6i{q6yjCZ zLT@okuJLK+e7~E z_l)WqDIWZ^tx1mal4pCGcuSv_HNLsKO>yj|8l=9s^MsOi-T`;5GD?>27H~z{(F3n{ z*D6h@59i6`$_9GSQnhT6AsMOX>XR>CN5ODRNzk zb@=TY+T*<)hs2=G-eKO~*3ww8dA@?)n2AyrTSV7SPw>o7<*T=)jqNsXa=wd44s8wZ zu9bGUF>Wb4J?E`NTM=C^oXFj+Y)#v(V4R`wUr!`Ht++QL7pJeqZ#+~!0doUv?0H5R z)z+P#NaMsU!<-!phNbLF7_S_dnI792Ki=Bm8gD(2oo?^UO}BQ&jkmrbj$DUFdX+o^T{u%onQH6ba9H2J$Za`Zgi??EKi#J)Fc3_KY^+rI&6YUudN{fERdtp$?hpVgS^)@-@H_H1CwL$JK%pxF1%3xs$C zd;Ku%-huKi1>Euon*r8f>uFbR8reO~%+^-x`#OvK_m7e4O>i)|iWsKsb5*T^H zx@`hx2xXrmSN2+4yJKHF=8DM&w?Mb-wW7=3?e^|H*fCpl9eh^n$#X>hZpt;~e!y<@ zh9gR+=z8u5?OT)ai8LCCQ!rl9tcd;1_6uvbWBzx{rWSMR_@1K= zL65XiB;1TTugp*KigCP}dGJkG&=2|?oBQopQd@MgEGu^gBbp3a?ZL3IY?P#Cd z+!3?QS*sk`uQMvREUePT$#j%)FLc)}R>nED zqExVkQud{Jo$4y;)bZq_gVBa3=L{}D{Vo`cb@X7p4aap30&i;0pn^eIV-Esv5P09h z?#jHkI(7Wihi>nwjAo`<9?yc8(L`8Mv`h8C7JfEC6 zXcvgN;MDQ<55>MsV`ZD5dF0yQbG0bn{SO~e;s4FnOMfNf4eZyO{5r;^zlL$?uV!5O zLB^$D%eeGcF)sZY#-$%%T>5^-rC-gs^s5+`ekJ45mv&0u$8_mmaT+cumor`ZD;Ssl zWsFOIIpfm5lyT`VV_f=68JGSN#-(4uxb({zmwp-J(l2FP`oqy5OE@h3V#cMv1LxRF z(O16!JOTF^+{bWTa38=OhI4{T1#lxHsWmgZm%2m*IW`_afY{;P%7qg?k3> z=WtKLJptDa_ZZwRxSep6_9Ji)!#xD|Al&_M_rYz4+Y0v`xGivZ!EJ`S1MW7sTi|xU z?ppyj!QBA20d76qHE>tKwZMhpn&2AX>flzx)xy=l`QfVIR>EBYw*qcC+%mW&aOH5N za3yd>aQSdvxIDPIa49HP(fQ!tdq&=mJ=gu%Z{7c{++%H4_gWh4;PBe{`@LfS1Menu z-PXDJU{8-Z+}de%EOez$EH;B6qZ1Gcxfx9tKX{=;hc zeL&16qU8Oa_16G?0*H0J*!n@w`i+2{AIf+HiS9Tm!-;?-zXOoyd%7h3NkF0}ACvUi zfTX7mkkW4gB)hH#1X(-`*aYMqK)zS{NVNx$^t1tz{wDz`{u3(wWkAwn`&iN~fE12V z!?OTaBHk@(_&&fD2*0G#$9^K?O#~$ReSjqI__SxeA8;37E#S(}de+wgJ`6~9wgZx# zZvj%dWgnMzHUW~I*(YRvBY>L_-VaE2fAKGw-+A9vu515sTN|=2yo`4-Zl;@Yv&onuIF>dC2=NayCVf;U1oZmeOu)ommqe}zf=K6q`vZS#NFg!(lQ8J~fIauefYK%+? zhpMMk%4a518vJV}g#vYf%5Y#3o|{Ywtc?Uhxc#4kbgI{`oicec{conq)O~ezE%mHP z-hxl^hl$QC*0uj;N5N>X2!aaPz50O>D zFw%Ed;~habO0=Z038H-8-c$=?Gljny*Y>O29LjJv1w!FQdbJR_%3agkP#p<2Hn_u; zLBBf~akn-$*ZJMyNMn<`7Vj7)x~rNa?uN!zcd$Xm&m<{7gc}+ohFp{Z^8*oIL4z!u z|K+ls*NnV{CfA~D@yel8Eu{Z7BeVp=Y=ODHDns>por$o?G??kFYpgVEt!P+-@@{a? zDP82QAx>1hXxVXL%4R`BO`|u|SkLXMEWj0t79iD_Ydh4~9Kn+mfmaxTwWv{gpW=5% zDy!-OZhs(xmI`$T%1N$(5ktuCcELWQ3rU6SnrOh@8h0Qv#(R*dPV0NW78 z_PCMq^mYCo#eKt-aJ%8me{LA`O*kV8av{ziR5#noNIopsL27HMOcHCp!zv7k^cCWkyw1W@hemJb_Qo&B>TH{@>C~ z8yt65b=LH(n!vQmX@QKas`Q$w%IwPOX;UlHGb$@{a65SxeJ<^Dr&QNht_e(0x3*KTQ=#|VlUk-#it1YM>9IMs40wjUyl}cf3FAW# zf1tW9a#d3xt)aQD4$sBM3l;G}+J_Bu1|Fk_{K1+U5U?EzuA&VG=?de`JZSZmYkk;> zu4*7056JOg9H73jB_P6)5CzeCLxeX_fM}J7OhG`3QQyQ=2^zFuV_hAQ*VcsUVRjA) z)`lu7rw1Bnv*Qca6f7&O%J6tRB`v|#tfw|af|S4+1gnFb5adWG+=Tu4a=g9|HC2Vy z^r^YJWMMVQl7K3E4&}tA7*aVIga6N}8+?ioX8WXn$;9^sMWoeBr!NG z9r5`H< zBwSCA0(x>3FjCXvuy#F?9x{^Bqj7zpBgq1nh%5t%Q(T=*T?(BIB#HThEeK!P+!zsh z1>yr0Q70L7Dn#ebu8cI+P@^R%{Ef}%Duf5gt7DIQRiqK$jw~;v_9-KjlyF0*SbSn3 zn`9ln*`Q{lDq?9hzU-Y5oHa?2sM=*gj3<;vb_l0$ErNUsP7M>bS}+jRm34KE)uIMp z&|n~89ACUJl%K1pU-IzBEcDq4T8@W&oS6g~T15CNoS@ZoLY*FNFB@`4FpGaJacaiqHp4qNX(z#0N|y zkBo_$a3HXTd>M)a&_+T5I_MPD==wD7iJAa4LOBBB=!*uzn#Ly723iS2G<}*~LYN6~ z@*AmdstKZ%10qZfL(Vr`G%YeeYPpbkG#9bKEh;e>uB>Zlt``Jxyb4%_b=n%h>V`U0Yb*0`R0Pk7Of_}W?QRfT&reXt7cxSW?!pjV5??ft7c-WW@D>r zBvi8%sxbl$T(er0r6!Nl!v<>h5>h`v|AgU@dQ`Mpo;9s%tJDZBI;$nD(ZZ?_cv_27 z5o#&uatve(qY!GW6`@vqzDG3-5>cwLAdw;NiTL=9I%JIm7`r%FrvepXykatqPC#f$ z0>DcX3SvpZK?!LsLR4CdFjml#qh zFEOytfh5M+KGznSQt;7)rnR1B@zmP7TBv-sm=-S3OrswqAVah`VIj&tDWg&Y?31 zIA3V+|Je=KS4$W>2iz!?`IZ!vmRHOv^i>osEhx(Kc}wRk^5|DhWi)=Un3?S>^^{ex zR9RFsUs?H_((;0$`64fXk8Xoa_>5MRRp6k%P#1yqthr_7V-^OTkrm!3w?Fw={QOBW$RS$T1Z6!f5Ai@j7l^V9_M z=M?1?dP;rX;)>=@t}Llu|9>+HxKu82Az| zCCTKaixw>-)p}r_KqdNc=jAI+H_!|N%{0&~1I;$jsRo*3pwkRA*FdKmDC$8^85LpR zMuKG}CbE%uVX2917*b%CHjFAW(kU~NDKn*FXf89fm6|47w>%T!{(iB*t4|MuxDwhVb9W1!=9z3hCNG54SSZB z8ulP9!yp9ADVwSQ9CO;ZeKZU=)xy$wCS~(Xy5^a3G0)J10Zh}AXGrH6!g(fHBh5S` zzj;P>^Nif)8JW#9@|tJLYMv>ld8Ul!nev%u%4VJ^mw6bA4YN(D;u6-No6N2>bHE>f-acOJNO?ky7u0c1Yi%VUDZc5kG*7DHScofU?RTLDJV-8V680(g4IB{~a zwUD>4cn%Gq82a*jdBqiTvBRTeFm277=P4_bfr_HC5|11dJw?TfJc}fG?wq_*&wPnv zuE;AcD!f!D(3lQQm?@<|LD7;qg#~%)faF13Ie~I&%+!@G@syTfW|85d;({V?u{5#N z$I}puEyes)?kiYSQs`Oa!7QK--yhbeQ z18b`TP4tY#Ctt&u!-2|%X6-#pAmppAtgfZq9}ZYs0(cpqVR*ox((sN!#qgX##ioj? z%1|h%#}7A&D*RGLWrQBN@a7YVsJff9L~0s%l_&zW5#yzgC%@d6kG(DSc=-K`AQ@eW zlMXdg^BS>hY^?Lm#kmHpfaEJ4kCr{1LUK6C#b(^}yu+tG@9-@z%EL;-;#16p}k0ne+XU))$;n3=7mi3<14H@)L2$(X9K)WkE> zH3G@v<;y&JiL^Q^icE@21E{)ipaIJ@NWkc}@&82P4}r{vA4m4SR((Pm`A2!4sRs4~39Q(G&{ zVH||f@0V0JHe=UbA8cq2<5yv@X6;=;8ChDaQrz+c%xaj>M~vK(P-Ar<95z<7VbAK4 z%nZ%qsHSv!?G=^zGSZE>IkKOkfmE*+r)#Espv5#-S2fYk!Ele(SJ7C9Babz8m8-(I z5YX4w2D%izSYQLUDuSPkIW6lMXpco`%p^tWmv9T!C<0HG5UDUDtJ(CVEu)0P_`MzO z2fj#2Mke_BNOGofpb>_Cf=0fCLw@A=qiHb>Bif?`b0otI0<0`noyNe2wOT~>e6Z_ zz%>hoIUfcR{1Q$igdf#0^`HWJX@`a%-B{@np!Ul=YNqkv(AN}7@1qK`r9^QkD< zBMt=pm|}x+D1%B|7g0-;UZRK&^1 zk&&?0{4(NMnNpk@P%T;%B3i>+pAA&G0&FL^qDKEG!f_=P9R!Z;6mLO zR$t|saNH#FjCi`1a~qXOMioc!Lff0?fjKf`8bO@aTh6U<+G$@H(1^6=Zv^k+Zv1aWb-k;WE6BsH~Igo)%n^nZjR61r7UABTWepG`*-_ zMpb4uN}5VyZY5rS6*m-=p!M*oz*9w)&?oE5D9#`oHC;R!a-%R)zLc8uaAivX2OD$3 z%cy?!fatq7(kNlf=OKNCbXw>f@ldmxqz7-2Ou=(lE5|aer^<$+j%rcFv!_oZTaj z(af_e>!a^QFT0}KpfQY{wW*R;91yn9;EpZ8*)&dt!4Tz^B}LC%52Ut0Rf}`HbE$?Yg z`}b5V>q7-je4|#>(N#NLO|T`)6tyMmtZ_1?t69dd%Z3)_N#pw<|J#Z<3#ThOdoD6E zjTkZ~=I~i<$V^v7=b?hC-c{3j4eU+$LxE&eED#NZ>~e>T04b{5Mm}!fE%p((23nua#&Moo;9+QWswM z^>h_t1+DA4_-pB^uQ%B>Y0}rzRbaAf($}-Asm`S9>lIgh(4^{X<}m0fU09asqhc~` zi2lt67`Rf^qSfKWTvlIQp+8`%#0g)|xQwaV7^L2uKy@$5*J>mg8Gc;v8@f#)(O0iK z>!6L{7I)CC_*Y1@F@|g_i{!}f$TBkc(YddRu3-yIW7-)jEThl$JxZ-lqRTDa=fk}r|Kl@XtJple zHJXa=F?a&-;dnn72^W<6JQ-8z13&y&4E_5yH1&DPa(wt7YYA-UVHEyRoXTo?tKc(Y zSFZA)Ks3v~Ub(wb)YNF8&`5yI^96Cw`}LGhbVowXfmyhGjmjfx3Qx*S=~b?xml4!{ zqlr~PKYl%hf0G3lDTaNJKXch2Kcrq}%G3*TwF3KJu1dOk<|g#@%91L|l$+^TT=`q* zpGEqb*=Z>)r`DEnTI)m~@1uEsiH51#_4Tt$t12ITDryX6)Bc}i8UqR!_1Di5JvhPV zLNqcNnZolhUu|VwjSnAc;Z<8ppaA163fla|Z5TfV6vQB)#;38vGnL0g4<=$ywj4WX zN{&_)wep^Y7Y^z-yfdk1o<8WZM!u({k4Nym9BwcEFFJv5N1v*Z2eqN|^Od-0( zqUALS=~q)s!5B_YDWaJCQ5jK?PeTb3H8W`F##kU9gpe>D4DzK#W!Ts2^sVn}(Y#Dd zN>1%R+nY@^hIjgcv=|`z$M*bYEF6{f~0U@Rd`SGNm^2-?jbxs4ex^Ul~<5V*bPv zIQkwHt`HBRg5gsB)jM@LDg0N}`RSAb|4>}eSHs<9CoIbu7rQ0ErXEPaQM{@xr13B$!G&cz_~Nq{YR~ zoc@JDzBomR`Fz;4`|2|J_etqDOfBMC`k58}qu)oR-%mBu9zpmZoFd9Kv8NEEpKgVi zgCPB!t0GD?b{u}jWf&Yt=L5`?Xc0iUL{Ar7OoA(zyIA8+KyWUTR#4nhiE3ODu3=IM zfeuE?{{ZkE{Gcj~y&vEg^gHl|-4v&Z1s4;Lah4cymKbrCnA54_IHd$`VRSixt&CO> zkeZeonwFEM&7Asjv!>M?r;LD%bEy&MQi}5&$GKFC!%3*WrGhlKeX9{@;lkL1|C{Sw#8+T6^h>Ms4*WI7L)wV$^0ONpGEBnM8V?g2P~d zwk!YoqV0jqb8u+N1b)G2X)@Zp8xB+g5-rvAybmG4T%A;o;7T}iaxDm7&0-}4HZZEk z=tS@!lk}m5f}fm|^gbj`vXnlw^+BS4t1*>(tuB?0V0JWVCW84)(o3935hm&NLZlT; z(seCBu!Kpv^;aNB5zR%=7i~3U8aS%1?HU9(Mw2LbV>D?if;-{N3G_vKun)PHKzkhy zgFk^c7}ZBC;vQzw;*S6v__rQV^Zfw^N^~MXwnVi?U}!8Qjep?idXW*gi%DgM#xg@= z8EKrs8p|||uR;FIHWK&Wwb9VnmyN{zW^IfhLv5U?5&|0;)yssqTbZ=@et;(>`V_z~ zB>E=6+Y;5v#L!qu8tGq{G0mLBy^l#{hQ=~OV;N~YCkvG%jc)vA+eA3DlUV>? zFuL4=A5B{VrwF~9kYEvW7e5H_m_)}yXd(;h-GT&3l_E+B>}Pb@KnNwX;4+FMl`qq5 zG~$#|oaG#638iybqGS-MP{b07K0%^d^fU-fV8Idsvl-Pb|Nka8A4XmSXP!0|AWZ*O zj;YwsLc*{>Kd#4rn%KE$qCCC{S{@zG$b`-2`W@P=j`{zBVvu z#(II`g*Z)piZDoviL>@}ZiGpt1SHp}G?3QG2n2R8suu?dOYUL<8D*mRDkUJfdU;duiRcIhX)$s3oX&lcNu>lNS64^Dmt=%D z0cItV?d5X;$|b55$qRV^l9`;?_tKaYql}l0F|GSE8C#BuEk%6b!)%5?scDdgn3(%Sdn&$63AwfE)() zJpkm)!$cLrer7KwAS3BL@L@%-|S?;yi>G$e09* z7+p-DL{hb^QE22aINd1!|mJo=;uMMNQX*vw_Eb)x zgg`l?dIW>Jn7D4{>WLZLQsRzau5M@_>Xt#Gils^j+!7tZ;4UU^Epzq63~niLYnZDW z+K0N$kl4;rB?MlKj$m*X6ZawJ>b9RD!Y?2dBP#B;Ei;xvuYuOdvGoch(i==#OyDC% zbyJDdE5auronk3nNB8L@M=~Z0I8)CyNP2rUNTphnF-T<^DeiP#X&_}rt2aox`iZAY z%>XGcI^wL;NhKhaM@tc@lu5dJO$y6bhd%!IA$J9$t&G;@N3bTEv>L&NzDZFDTn(9P zqUG8U+z?H=5y9IeiNKqTmTM(?AA%1tNv}hac>8qHTTEI^Kyph79E=vE;NfV}hX{TY zP5K1E#6eL_f=Gf%iwO*7bP0hGjOwkz5G*CZ80IcZ(FOIkVhEOzpo0a=wS1=`n8T!! zJb;a-b7wMXF>%WotZB6l$hbPU6r^=<=1J%_gztbe^?~~k+$l-B0G^WQ9)M>g z`W(Ou5`78aRf%dgQ1sWCq&LFk!D!HMrbLLefJsqOg-p_mbQ6MiFsX#VCyZ8TDH+_w z#NEPNy&SXgBlWZ4kSKv?80~|*n79j=yF}AWad*J=9-F#A>t@lCm=qjx!I=(NPErhz zsC)^gFrNMZ!4Yt#P2m@YsDnfYtD*#@sNPzP*m_CLgw$L(WQ{-}qk7g#5L_a;1lCFJ z27rwc)pAL}JD8;RFe2T>q{a6GyuqlhnYctoMhvcAXa={8xPM^5Wm;mS^))zi34ceThC023O@dkq zeUK>rE~$ge`K?5?2*kbrtlTrlrHsaKn@E3v;0(r%{Veg@Nk$~z-ud&(A0V8vp@=JN z5Ou==rC8+>rRMmML^bAQASxdzNNStSuV)8Jv8dY@oAcb;) z&7L)$bdRJ4>6RrX#3)U*mg&)xQ4s@UW~02d3{qK)v2$6Hrm@+=GDPDEF|Kz65mu4516eIq43d&-~MTteodXnWR&fX}7p$%ANjo8dhz-}~?nCbX8efnv& zFSR;sC=soyoM|W*Qq57HYcr9l}L7}bK#jpfJFcEn( z71e;~k{dW&$w;EYUKV>P(o3Sa8AvOcVi7Wki3vYU<7d)7FkXPqzm z&;?0?8dsWDC|Vg%g>wyS1k`aXckT=I^0v$Jo~V{Lf z*Vq>{LpbZdH$Cp7QGA!q@L)p4FCk z=gCWkQq5b?V$d7qV4tQB9I$1)HgHVPsWAIOZ2+XJaxsb0q`XcZ#Hy#r;Wa&~Eu-~N zA!X>D00gXo^q$ATESfK~qsOMH`UsMf4)rwbPBVs*T%)YCK0e(%Cd|-`(3+Jr1C?*? z@iTd*;vRUhY!bMoN;0MuWcd;!Avu)Hj_#Lp^qjDoxzS_DJUfpIdD`&fF%MN<^SCl! z8^80(L>f#A7-j+P6}LvEpN6n9P`7O4$`gH+x{(Go-|?!AyGF=S{wUaaYmjjvRj z?J3ABhB8`6l$)iPTwzwDiY}4U#nKu2s%qI}*Yk!Am_a=J?Q6QeJuC8 zHu`r7fjb!DpL|y#Q7v~Oa1jv2VYfPF3-JKL)_dXEZ8rN)0AmK=UtRna5Xd9UN48{uVRqDfkDAz3>N%`!NR{WC_Kqv(IA|yIQkV`$e`HE zpkxJu#dPlC=vVq324(FG%3owq(aB)RNd`+3@jlqm@6rhjE}P9@#bpdGuOkqR(jdxpW|zh=-*PjVfxPyCs|Pyfl_$zu$D_638V_d|L!L=VSSZBqm(Gj;kkwM!i2G>nvuwfR1>nj*+tYUCun88i-cFYlX z^F0i1`5y+i9$|2sz+~ZwyJHZ8%@Y{hnaAL6dMo9KyQhi4cWz|x-JdYn`YQ(8{>tE9 zE2aWR+BWdjr z23JjHaP{R3zD4)nj-+euW^nCK8LWGi!TP^3XgkT^I=W|eByFJEV@J~U(->@A#NdW% z1~*>M;N~ANxb+td?)Vdf%_kV#*?%BKziSACyT>xvGL^wSUItss7;FnN*uIg$z4tJ< z@5c^#Zf$8`JXNZLiqDo4^!CKE`h&0`R(V6d95;v6Y! zS{c-BVo<-0LBmc4jn6V@dYQqMe_;^%kU_YIK_n4}9gdXdQ3O&ip^GR->gxtY`BTR^$#)FxQD?FuQIst9R@dj%3xD0PBR?CZyv?qmYEE0 zEoE?99fLb=VzBuk26ydcu;mQ~_k76UJ5DU^9K*j$J9x+Ntuq*GqvLqT@a;7W?!At| zefKf=-ct5KWM|;=@|a~F$^A>&fo`hH0&7u@Ja?h{1$^p=rqzX{71VP z?0A{Mqwg`;IRGbIj^RHZ&0tp+gP#;Jc&vfJ<99GzQV)eDWIbD<4f57vXkE;39fws8Fj zRL2(9X_z+faZrCp@)d?W8$IyPp#Fv-3fpe}l*7ZJgyrzm1JVL=fDvHy&iyMeAGbgZ=;AV!J#At-G`xj3dB zXbYj|TblsvmYC;3xr->Xxsh%nG%e;0P@f=lUd%s$?jUrsbvuCF5%Vc1uMy><7`#Fh zFA+M<`V4?Wi5UpWCq$VQGaTq4LNBns3DD0HGliBMSS9wK!`v0X2)Lc`+qG z(+Hhn9RSeJ5kt$UnM5gwp`}y-p@lKDoLWj~aSSb~0)&>v(6TB_=zrNhL%_l5L(81A0xDal|4gfC8PgEXf^A7ozP{h_wR%*VPzi@TE*xWg!)-;e{9wI zUm7zIOCKCRivC_M&lEy)V$wjR-F*M~oN*i;iT=|#iMfQTbPaP3LP)60lO_`Gk6h_e?G~c=-S8fRDrJjQl9Z& zI>aFQH^?`^#e08+D6(H#ZwJBVaBU$4&D@D(gWX1i7D`v`!1oiOm6WN3hlx<9tBOy; z3QiJ zBU08;%yn`S(z7Td4BQCbZE%TKa>e@^DjCezd>v^KS&|CH;qW)RWt2%$Y3hID~O#MFA>at?Fq!S)N*!p|$ zQT2bJ$bV%qEXgi*ws6vg-q4bux=1oFL^=?v!PiG zm@I26hEA-8fH3f)5eWb>GZCIc;b}4RfnEf3P%x$x=tQ8&3uCAVh7mf%l}~bOSaSme zL;@`dUByIgFsLa@h_ET1M0lb^2Ox@^YIQ2xqn1~I_*d#GxV%Q9D-u}_0UV8*7swGJ zf6mfe3S1s4?^@zLWbjn-4Me_$$wbi-xQ)oSMW-8IfIW*acLogiwfN$eC6HuR2c#WBOcTYFRc6E(txu8%8Rk6h!zl}P*+=5tSG zj6Iq75aPe2Cm#Pac6%a$_N}gw#CqIdardL3aN+ty4E&A3I?Ay=fj@wwP9lCgN8n^q zvWRe_v?*l<1y-vD&Z9t`u1dJ_iBNA4Qi_St#;ruSmQdiJ-T+l99o7u|Fq*3B_Y>;| zR!3znTx*E1OD9MTqe4XegfzIWCiD@#TE(dAh_IGoxNau&COtCR|F?-M5r|p&LaYs ztU4glR5}L4p<`pHxzb_U(AhldWfMBnbuoc7RzW*q;qnq;yg?XL48rAb=bdj5T{R>% z#YAW%Lb{2tmIxUp!gWN*G!bqgLY9d@%j%(Wf|j=2M}(;+30h_k%`p)kBf>NjVGj{z z>4bPXco42%67^!j)dv0&5vEfr@iM6cM3`YB&`%T$oud=t=^z8s7g6UDE)~VxkF$aI zK^!(EZp3GRt`qP^$dcjyL$er~s|8D-5wd*DexFZ!mIPpBi(CC2LrZp(>k0$}+el$PSDsM95@&+0zwbx+GQ> z%hGhMju}gcDl3+iOEs4hRn{)&kJJcPHBoa+sRfB3E5f9*k*FS{dZfx$qF%>qWKL)r zj!8rU8R=RF*2oFGJ~mhbDZ&jD>3h5|HaM=^iFy|gxjI#LD%TcLbs?{*db94MSoiaa zxHpT=kVj7BrEqW7PbgNvC{W^KZ$i|TXsWuTpl{(vR7SIe>sLgLL{rrW|4l48mT=-S zh1ZDck8UQy^(Il}!bF!<)x1rto!m${8Rk<^3_J`Ly{2*BZWzEzzJat|%OTDdgTv_$ zoCPXvzufm492ut;)LV)3kin60?gI5^#Cg=75g1g?=d3b7vV6-!!km{>pWll3vN_82Tv9zG}5DmIS! zhME0vNG1~E;18hVOP38>uMv~E7s%ezp9nu@Gl`1z3K4RdkjIe=C^DUdy6Ea)#B^59 zt0%^SEX4eg#Ghf9(M!lhuMtKpXFgBvoCA*UnnJ9LjHthXRxYi0sh?E2=+0uqIwSsv zy@aUrN6jOlX_OaNA<&T*7*!xwk>w=tj84T+dl^yYa-ncza`}l+s*9+@T0K#p)~O@K z=n@*oQE19ixiF6TS&0T z9TK4Dz19Umvh_Ja7g9=b&l6ff)VNm&T|!h>+*^b%X9>>OWrQL-{{Y>A?q$7zqNoMH zcx*D0?}Gs%el4c=bRf#on)C40Je>6hWO0IEi+?~CCsK!Fs~;w-6GI5H}}QPlUct z$auut1!T}nAkPy**O7F0J@6R3I}nk2jCE-;9SSHG;P{ix%reY*5={c_h88c*0q_;) z6!;b=oe5Z-KKM3g6MVaqJ}-}P-UGj%lRm6=IQPMKYN~cQ>Dy%Cd;`AX{0DrilfDYJ ziNVW2x7lt|od0482X@$sGYP)MIRd`bIUc^vnGN6WyaaxXa{>H*&IRjii@aH-41+K_* z#=`eF2gCO|N5P-(q;FpHopf} z!@t~_3I7V`EciYreKXqRq)$DsbXLI+IUC@Iomaz;IB$gC?7Rzpi}QZ?tC?$;oQL3F>--G=X@NLc`@a@7u=bScM`j8U{iXrqV*(ZfV z=!W&bWX7wnLVR0B)ZWFeX!0GZs$+Ou(q00|tid|lQ z4F4NqIr`Z~fI+th%6y*C==MOFW+U?iE^KWJQl>+IXFwN)3sVXxOsU{yps+1UxfEe5 zjr<&+ZXfNlQW}UDhG&m20*yS&b^(J5U9 zCMHWm%CkU6&|o=|#^I5FCXB{hVLONcZ!FBPOi1Yj)pi740!7N}XFmb@GK)7g7m&=g z%onNoz~9AjgC*aQx*T{4;fv$kuySE)5CpQ&QYccx8otPudaZ^RIa2AKn`MgQQt#C8 zl0=buF9J2BZK>OBPqCDzKB{pmMCvZ!pA&P5O{D%Dfz1?Hk?Xc6T9z}nAF^Y)45#wH z2KO=I`tynFOQlP6PI0A3{R411`mj{mQa{w_RSv`QYRnrcbmB5I~O}F!QdF?ZX9!}X-f=UmkVy2I!$!DA+lh%Oa99gu0 z80W}sMF?vox|SZ-FMB#d+=S>_+MZ?GfG}M`JJT*mqn|r0fvmDLg{IlpX|_yU4g#-D zWbk?f|ACd8_4S`%q8zW3zNZH!xWOCneRw>(zWWX^Aue18gWrR*PPAqr0c9f3%oDA% z5SVx#&9;-Q^s|T)r%RklW8x)*Pqto4^m@XlSpC2!MF>x~K1Y4PM%Nw!1k1jZd0^V8 ze5iOV*|sb+*s;XgZKDgJB0`^@Jmp&yy~=DymC24OlO5IEBcvVGCOiDn4qhb$Sdo}Q zU-el(vY2xBk;TZ}M;0S@A6tyveQYsu_ld>G-AN1QE^P&}RA-^u7*Dlvf?7@DKIE9o z?*t`~_%VW9IVZTTEGpihVg{2sxNDEK)A(>Fuk z7l;s-L@T9JG-_mYL47Wq^;Gf?!4h!EG!)R61%s%~4JPUYYBQNl7{RDxS%pG*%nCps z{dyk$7gj|{UWIre1hNI4dL+5%$NaLzci<(C`)D9h8>oJ_v? zrEsnczYRVY!#obB&qT!06!Ax3*huhVnGZ7WK{$kyFV#$IfDoJ33W{nPwFdfSKLBCP zQkO^oRYccYgB}O1;irgmhSu;5;&5v?02!?{M35eOrpWvhT(-K93zb{L9x|j* zNgj>}T%e=10=)p(>iHrQL%Nr#+SG@*v6Gs3cE?4z5akxT6}tw$Wh;nQy&I zt7|;r)-2o#Cf1u`(lDy8`?$WiQxb!7^gTuGi}9wucpmbom%c7qV^zCgyahF=cEKqS zr9wx?rG7%cp~%&HKlF0=xlIgOW+Cp+O5E>kk9|b}- zCI1%?8X~4y?sSkvsF<0aQBoAG}y3v}P2l+Gfr%XiEYgCVeqN_rjGxR4f;&74Cl0X(& zI{oln4wB1k04;}X+r$}Q##mxJ07fn`Ze@nrE(T)n$*pvYHMtE*o?-l4j>ufTBZ0{A zb3!^5MKZeDEYkWQYt76=IFG^)$#6BoTr@x6qM4LWyzeuQi)p7;Ob=U=?>}=fy@6!) zV$$QFn4UXxF;TnVVtN9IT1@+q+yp9(64=GXw3BT~e*p|PF=#yJV%lY;#jjdS@w{b+ z=}%gd>7Iw1<8L6!&G9clxH%pJ!t;#)!sYdAq%F%!Os4|_Y7)xQVrr2OE3{~sVMl-C z!;*)UX<*KvaYLS#D0EyhBL`u5T%ypbLZsXYDlgb+p>CO%G8e?@^ows&_peCzPN};Y z9f@`Cl)5(|%({0<-H#y5x_>NnPjA=Nyh&=>rJ5HsHSJQ(A2l`YQq8BDn%z>(g(*0( zp|AF>Pq6}JVv`K~2)$(@uM(e9XdN~2I!ULF?V5BK1@i_%JzWd&N zH~6g9zP|VSd*S5lZ?Co2-e;eE_BnfwOXfk!A-vpvBIQd9!9+K9dop@%b_?^=moAt7`n)CpF629a)jkRb$%xUOYc0W&hJ8C>79q<{5lnM z`&K3*wot@Qw;!4{sR_Aq7(3NrtOJ$>(JrBvP%9^5o{>&2xe{3V>RIV4ry>^*CQ9rj z6nnQPVt=m1-t9^6Jf+3nC-f2;porLeWc^n{HJ*sQ*W)R0rqJaZrZV)%9TfYxH)${A z$N@j@aX>p2boPe-V0nrxyF3~9(=^*IVVkrFSPt+x)sjwNsrh-e^33P*%DEA}pXPkP z2f#o8C#VTrboExaw4)7?QMwBe0|ILq|_xcUNN}0zyeir67Jow5@IJYLTR3EF=OvE=ClU$l|YA zJ6hw!n_Dn?d`U@BQCUer1KQS9(9vGdRa!QobYey0n1aT(`u3FtYhzvAt;nAkDTFl0Vs1Gf&vZDjhA-X%(bT!5zh}clr)6vn^*izrxUZ~19j33`z(o_~}Xl^PU z-_SgvthA}5ys4qFzPO>Gq-0{n`0}Eni4%&;$9yH(?3jYm#?p$?=2&@sd91j!p{Ti` zzO25ne0+UTaee)SiKR{D_2V0giyNCDI&pZlwM*;Nv2?F(AL9fzyNpVMC>rsYl6=;5 zpjVJHj0LWn5_u*ysN|kwZSy)Ei|r^3kFP2~!cNFnslUwrwcl&O{O4>opyU@}a2kUGSv&)kp>c?f$1glfV$TI1tR* z2hT6q0_)zu14$s=#RV8z1)`IYj^sp=dV_)Iocq-<2u}k7YMuV$?oaf(=T6O4l*7N}XJb^z>up3+t zkn=*D^A(|oa26)>Ol-I5tQc!Be=1s)>kZ7BgnbNo9-a;|{SP5C6j+qC3wt^In3MII zPB*7Hy$0dLr`<6Ee?l7r*$<+MMhpw5_q#|99EQT10)dcxna0*SIb)c&IS_DjodCl600nj4YFUI!KR_ z{3A{7l_c8(sLzYw+#9DcbRO%;HaK}coZK?d4k!J>Kt67%;OTAf$O-CmBdgG6sJ}897NA_%NdwFB!3g?w7`>@$v>9&_e@xpUdZL%v(?B%D{k| z!Pg6;HT0nLm>MAidH))O+<_dXgOP9s`AbGppW}sn8NVeUct_xsjQ=S{^K|dKe*ZU- z;Pc99RS|4yhHu6{_kpVm_M=q2O32EDNg^-fOyc}Mt^$$zNkXLQGR9r;Tml6 zXY?-zxSp~%`_=vD0Nh2e)qiR)Hp?652h#roIgWynI1D|;yul4%IfHCPKBWiJ`RZGZ z;lURn|54J4eRYSW7)9&-9P-mffmWjBvFk(Ra|Y*vFpI>}-Gweg{x;Iee3?_FZE>OJ zBL7j+#-|9CIdt$#AoLjx;)LCWjzIo$(#m~x>rNg;?^VdZg0zV#LdoY0z8wUPCa=Pm z8O?0XTcB~)^(Ms&!ne*CJhNc)rp0@N^*FsNkaZZdr|T+IKQtllMCMnfu%C{sTbVs0 zg}wJ($m6i}X6Xuhzlp4&`yp$t&KfcWu$@^Aeu%3qXUO+}Ze&iQ&bc4x56o%OIUfNb zw4W=Cu223}H;a#493nx!eD7BzT;mD_o~P-z5q7 zv6}{_N3nG66}rmZ=jc*AlaT3U*YWn@RG$WUp;z2AZ=cPeWf1+^4S55O2YMS@=oWWl zCU!DctBW!W{4PmXy8}MNo=UvX?Ka!K2V!Lyy30-PO__<}@`U6JfHMo{YBJpI_5)p* zoB_8X=VRvHlgy15aL2>y1Y79dB*_^tA33Kn_r7Fqyuf+LevzaHq-ClZ^1w6T4P=jm z3N-ZKZloe)3+Z8(ysA__TIdW|1JYeA^@z)BGkqA3OOYOCHu^a9gu4o?LUIQ5MNT7g zpE7g1k#i4ocd1-<53IxShtpU-YrOy{bQ5mJ8Gp`F)(Yt3ITEQJrpsW>!vP?!_ zo=r^OZe_+0Bxx+?jww*aav3z0()Te~QIEKD+1pcHs!<8{Z#xX!NW^m_7g=3j4AHl=U*bWlEI(27eT!|#VI&~uj z=V9lE3Y7M2D9sKFl)-|Or!hm?)S-L|l!XQ@ApF`9pCEhWX?S4$0EFN$-%FbghR*?R zMkZD;X_((eU5@l<&U9&h(HOBV8KbOA#whEOG0M7RjIu5nGbxYOC1aFz$rxo_GDcaK zj8WDlW8&5&1UD=gMnVX?*vi#1kQtg*skjTIJatgu*Pg~b{x{0M5v35zvWSgf(a zVvQ9RYpk$XV}->UD=gMnVX?*vi#1kQtg*skjTIJatgu*Pg~b{x+=W?des~l9E(nV? zR#>dD!eWgT7Hh1qSYw678Y|36c4_z({9P6nYpk$XV}->UD=gMnVX?*vi#1kQtg*sk zjTIJatgu*Pg~b{xEY?_IvBnCEHC9-xvBF}F6&7o(uvlY-#TqLt)>vV&#tMryR#>dD z!eWgTR@PWyWsMb9)>vU>jTKhbSYc(26;{?*VP%aKR@PWyWsMb9)>vU>jTKhbSYc(2 z6;{?*VP%aKR@PWyWsMb9)>vU>jTKhbSYc(26;{?*;X(arjTKhbSYc(26;{?*VP%aK zR@PWyWsMb9)>z?z@VHP&bum+6DUVv!gYi^Q;4B!o!lsQ5$~ys`L9(5Vd!UV9;)iHmOpT#MUT@Y<&cp9JLFo#1s8UGhi3w<`f}It)ka z3}rlyLN;dTsYqp+c6Mkh`{56F?RqTwj`yz81YT_9Y>6@Jq`yjKB^Jhi`sYcvX0%M1k zB3Yomn;yzmdo(#3PdlT%{cf^k1VaNkfI0y3&j9x$NMwXUpr0x9?db`+Bu+!_1l|ba zfAd*d3SFG;l=mum1j>r?UZuRBmG_#slc;x-px&`x3u^wo>{|B5p_TVu#ZL&zdmny~ z?AlhzuKh^ab)GD{Bd8@V@7?u??7H8U-5M&|%X_ceS9TjF$?nJlWp`AQ?2cX|yGE(ol3waR`$|D` z9+X}6uVpv)L)q2jVhES_pEpu=wUx4~J4AN#yJWZE6xl7jOm+v{ExSc8%Wm<?Y@edT8gXm z~)jb@Ob3o4V z709fZrE)oS;aEok1v2gosGdoTgyhV2XTX^>Wp5a%gFUe9*VAEmUJ0?IC1VXZ{syOEgjDE=G*nYb}Ip`Gr`XMw9<0`(QL z{Q`-%k#J^wh`%eq7gBuHw}IlbA)w7g74+1N3Y`41+?k8n)){}pu`G{E&M(ZJ*%zm& zdUOG7l98A}gI!G>G{>DuGurArP~Tz~4CevF%MP06&Wr$8yP%d+G#J8=(XNG$%dNf) z&8b2jE;jZ)FRk6Lx_n+>ye{(bG{3ihJ(vRdzi*hRxwPRe&nmkb`5AmFQLd#jUIC^JZ}#Y#jCYVe5NoTP zTWT^sLYiJ=a_*YvhjQ-7q8FL|gMjaJvgk!d((ocvumZqO%NPk-5Bcw(=jZ0!Bm7*D z<=m_IB@Hh!wc3kJ?rgq&2~p?b)X|7AXAPSb&!GF5oVBbZo>BNB1!~ zha?(elKw!_p?vH~ij0?{-S`2l99|^M87dPW9#TQCZ|j~`#B6zXXs1#yLbsr z>2k)Y_8zGH#^e;o4}ca7Is41|CUwd>n6c3~WowynlvGE>qG%VTvFgu^!K`Wy{w|e5 z2_EMF`i;rilzcs86qv95#`HZxx}1NUTJ1L`ceI=${&8w)fXgo}a`#Je&ewip`mW^@ zUnohbqu-dEpYw4rloV1&zcD!v+Psf2_r=7qs#8!$zcKyBO755;`o!`%3O?t73!Vi% zJ*|#@V{%>*Ht9anoI3iA$$5#~A**m5{l?_HDkLeeg~FBGwZ+RCaJC9;i zf%)3)+g^>yj*;ThG4r+Cx4q^kn@+M*N4IZzXNgP^Crz8L-M;O0V3J=^wA;764oOm! zB)Wae`;je4yM5bhRgzyM)zR%+-a0#%Zr}2z?&%=v==LpdqZCjz((PMbG*P3I@#Maa zxP5acWxRmo3eer*1xv6C1~UGDoXyPHKjUL0>GsVXS)km$Wn>g6w{Pxrxq)mWadZZs z%coF}H#dXN=5)5^)@JbeoX*zV1sQxsr?WM8Q3jvW>1@rd$>6g(ovpcbqJpEdHFu$` z^66~NT`Y3xY|TATgwffWTQ5mETXP#lE}gBp%SA4ot+`7@7@e)T4U(iuwc8|e>1@qC zDC0>S1)Z(Av*jrAnVcZP=vK{b5nj4gb5|}44uRIzSzhn{0SnIyAS#eP6z0_PuwoyB zL1**k z7!32=6(564(G`S6S8xd+D-4cheI+jdigKWe%7KGF#$la@EIf-j!5P(bpvtyZ--1Lg z6MsYkF%q2F5&Zdc0F7;MtNTI2z_wL8NX$V3zalES%8&>w`z{-^T^chI4APkG(ir+% z6~)DNQCu_tisIrT+98x|29&m4CW?!qP@m`TQ1yCg3 z$2S}$2Lp=4hm=GHOT+^?+PH-hpA?C!wZtbyB8~k-;*%orXIkP@RCSbGsU<$IBt8a- zm{TF~G)jDp62BW*C@p-A@(u|sloq_M_^E#@5dL$>|Bkfa8Qp?+qy=vQ{-F}o-}4P> ziH}EW5%DJ_f;udbR(T?@v@94<)r>|pAfRdg!D@0;H5YpyGBr14p-VHuats~mD z#)Xj7TPiyk4BhS)i|=QW+mmOO5w)=z5XqG}33WD)1W=INBY@0*CIQzztGhdSDSR$IuO8 z@ZdCD72FR?t-yehyB+LRK{?pQRj2@?9-TS^Ok3SWte|rb72K$fG7DTR!@da}<5nL7 zR*H`W4k*A5$4G^AP$Zs(jN{$4lz7e_B;FK1#?6TW523)x?s+V5^&Se`ECnj$2yYfE z3#XBK?3I|@%-{yi*ww^6wAB>>v4hQ_P&+xP;Cs8c&0MHcw4u*kbck;yJDI?f28 zTLWTL(fGSW6I)Q^boVnB;p$PJH>dGW36_(MOV|t_9q-{^@v}oH@)NVj4qfCGDKhzSV2&g2 z6?x$g{x)78#7C3Oh;~Itf4; z`m7Y0yc}3+eKshz5-S;KvsOgh4H56Lr#s^UI9pYo3czo1Ll4XOue=kO-+P80QuuXX zewQ5jMc{jUPFcy2nHXj0_niIk0Kpc092Y1jW+mNpmkC1=7s2_#8n)g%Ly0_(G6qi+&N=%(!oXV>Q!{$%KEjCg9auB`a8ES)kh0 zd?^c1m6niN1-~~==$B#v;547kUZFBg=G>_IKv>m>Ct)iU>CWMKNRP!fFrPTk zN;?mgb{aSCVB+m8to~`PqOye$1TH!v3;Yj?MlKmTC(IWNrsM4?e95^@=^!F6K zFBUr4#D5k%n@?i7F7WT&>bG&M8-Se|6VSi4=qnJM(A#eH-$9vzyy{1hs7At>aUlL4 zrdj^rR!4D=92GNLguD@dTQvDkZd>3KWX$0Up>u^!4eBb;(Z_6yXi-;FgX+u><*FvV z=gv6~g%Y||P6|?Hr(1n32%=Vf4+&ALD*fwvUGK+OF@VHjQ~io&=BI{99qh^A#oPcp zFt2(#D58TEE$&%bO316GYbTM?2i+-E9-*boV)V^nkWlp~Ps3tw5{5}-9r$(;FY)9Q zuK<3Xc#_8Mk+#Ot2O5Ma>BQ8G0#T#)eGmj6Q(^M8?a4|HOm`rDO~#v`)6w+a5$JFC9+8!YG<6Vrk8-m1 zMVi`%y~m_wjnVnxP*$nVABQXBw=VCwZ{xty0uK#^ei;{rgVz6>zGzt#>+b33`u3xi zZ|I|z|K_WelAP5>a^6S!18g5*`>T=v zJjxEoVsEAZYC#Pehb=h)`lK78(N$(}x z_^m%TesIsN0CKp|kcb=IyK&>!#oTU)Z~Q=&8$a#j#;+Z@(dvvJHd3R+jh_;7eZtr8G&WSoCZdCGc zqn3snl`Y(;J>f>R2si3JxKRhejk*SIR3UKVs+}9x=iIpL=EfB?w-@5u@37~_1uZwO zTDgtH4U5Z7t`E6!iO20cY+SQ(5yp)xDQ;XIapM|?8bcW$(YH8+F?)UU*w~q`ei`8eTn)DC=Yb4pWoB5 zYaUJq)l%o~V^Q;Ht^9u{httTEJ<8c8W18*JnseQLtr@r5FZ}_2t@bwiL(@W-4%ogu z(KuDHUrn0yIb?GB;xb0d;WYL|yqwy|tIKNbug09}ATmMM3R_Lrs#cA)CRJmt_|%wF zqFJBTO6vaN6uCr>D|Ni-@|-?#IVRe}Db$q5sg$??8_x%))Don3Kd;+@nn!E*cIQ!Z z73FAkood=bgdYhVbOIPwH9pmHf{^*I<%T=M(=_> zwn1yH?6IiJYo(PZ-bPj+y?Yx@3Z9U@jV>dk&v~1{>I!_ReIfG|`jWRFDoXYw zN6%LUaap`Y?fKeGogDp^aU^l+U zFYI2|+T2rIxR|@b`LpH~)^~P_pMcf!;eBVPlge1z+R#$|0UJIIRYvbF9L<)eLz?GFR5)02lqc!k9MZ;FR!nyqY+Lg;-~IkUYi~w_1&w- zt&FwDx>_6m$Lhq{{2!~Up|z(Q?=;$bTAOg$tXvuE8i%19X~b2COEwy9U(?ps+0(^) zRCiBPQ>;1Cl9KkI_*MjFN24koU0uIETHn^XvOU^^0*a}twSA>3%M`NlY}(xuPb>MY z?PNzjWde|$Ni->5D;p;qZLyX0jT=}WvZAf+ZLRIGZjdnZtgdgvV9^zjj6puUT(=D{#OURcsByiVuh3As^$lx$SGx}m$L zz9%MqqPSY>rEAy0=}4CnsFPsVNw%z~r7Kq7lxQ1DuWD~qC7@D+H48Kr838{#bH48f zYy9kp@7Dz92fg-Yd?1M#*mt>N@bUtFpUluyKL7E*xA`$}iEl zs_M!ab7jWEa7~;p#e!)<&3TxUl9M6km;?c7Jpm&51rs1jBV+?ELN2$xoq>QK%IxQ- z2P59qn`->bp!aeh;^)ls2jH>{NBqnhUSatWf2!As3wfR&@N#f%w`1z?PIR~X zW4-f4-rFMYM@ScXZ}TW>{j62~z-MHNDGY}FoI1a7j^E2$Q{#_@&jUIo@xb8l*4$UX7$9 zepYSJd-3S4LGMZzUGv=0Tm61P?>aX$1?~IjXm)LlKRoE2f`h^#K8c*+-i-h`nET3i z2EC_{gDQTF;~VQegyMzX%OGcZm&MZ&e-0WQ4i@?|=K2F`AwJ?y3wjTr|8l&0aJ<93 z`!>mBxr13j?{p7mYIX~x){yZQ5VO3;z=-<)bX3G2AM}2OW6qiDPxJl+Vh)_5qUk?H zL-K>(9cV~iG1~GraEW)WwB;?N_wmjHX=Je3&#%E$JTK_ohuq#l?^ZOZuXn~#+x@+n zs^OV_pyEoMMQ-j_^=$_u#9Ph3TTYWF+{V~|=9f1>h=?1qffNx6U9`!wi%f1_0PcR%6}YE85g^&Oj1-$$yxlUd&fsBbV%3+kFWH(up?pyS}KL~nXq zg5L8R+!CWos-wL3VOtw&d@6PV?_OQA2V=Vj(y1?C~O zes+;RbeunEu0OQU&o1bnbuJv)W zJ2&p&e0q(Kar?~19r7?D6C;&)-Z^O;NTD||=8u#i`9|7yzm&a-3Fb&X5_vyOtMPO1 z^2@x8t$zAAA7)h2$vxLGP1|GNF8)7V&3XgeJ30QPBGg0~hnm zTWO)?LGRonBS_U??~XOk3{-*Mb?BHt=3dFJr2^5rSGw!t<1Yz%H*HKAtkfTRPlKGE z85)jD=t}e^&iqS09?ve{xIKCNR3v&oPfsx3jnN0jhtt8hW4*yhjiUD$7zbwN$(X$X zBh3$bzf8vfs7*GEnnrJz2yF4aT0I_~=v|+{9yg+zrgbuhz?|nI~J{nt9TXZ(sNDM?W&1RS`bq!Uo?5)Kw8Kj zlIh)!B?oSE%5sCB2O8xZ&baE?5}E3Jr@GH1idfxYR7c zS76?6P@;Eco_c~~3-}_;dk4AcnXCNlV`SC%b9J{SneV~8kA+-^=V){RZvKCx>|;08 zB#(oy#Jnvok7Gg5`xMJP-1)is3$zBk505rFi!aE$Q^DCADkm@4oUDqk$FQy=Wv^uW z_>#=KWKaBjMTP~6!5>0{`J&AG9J#|Y14=e?`MS)z29K1Z&0M}T^WIOx3K&Q4-5W%= zJ>C=XZqDMk!g1cWVQW$Z->7*X<3TVJOYpp4L>)YZ^WB>FH+e+thbMD`!nbVR7M~Ri z%k-`eaTt5vu64VTV)^3DI}Q(GyNTs1IPWBRg0sZ(Wt?|iCeK+5R@YCikw@&uGP$Db zz?g0Kv*!637h&M%;F&iA`#~7P>A@ZTcu;HnarhhY?pPy33&oPH;cGna2}sV$EM!4- zdGH|lLeD#GPp#prJr5cMIRX!5M5(|se97lM18L=%cVT(5rrFztHs){ly&Xxxe9PzE z2p!~*%)g-j*W&8IBXlr$9Il+TSTqE^dom)W>~UU}eS7%~iJ`0Tj&g3tf02bhw=2REAoRjFdO`2T9%;}^ z$nau8?+OgD7qe=xcO%B~k#8csm*W-Wd0AMSczLM8TY;s08NeVcNCi-@vo9$fkwPSM zaZN((R*3x!Vz>5ib&yyH^981Nb2i((($5SH1yBpLsYD(7q|_gVSv!jsH5vEH2+uzu#sc}d*` zU%+~gAUh*-CFEqGi*WR}Vw`1pk3#8&K5MB3p}$;ZXi)G3xd&@Ikcgtxx=sVM|y=3 z61~?3A=ld)+vN|W27ijTd@EE**%3@>zIW4+%_x%Yy_eQ3__QM_BHjBi4P$-VM(BaI z1e?!VHwE3{0e>&dbr}Co zKsf`&<;!62gIm?bP!IJDdM^O>p6~amMay;|Q~K(+LG<&5kOvvp1#3b#@pL}6A#}RC zh))CgIB$Hv?cH6#0pt$rj{^!7c=tr(`YbZ=<+k^e0?z1VncnsohSCnK;h{zQCAxOF z*Dn3wJ$NJ!a+G&ARgXB}5I%d7&flvRU0?5wfeyjD1qa=40cZog6JlGD?|Xk7gxSN( zMsp2q3tyIdn|o0g0d?hP-7;u?n(aOnzyNr@E8-yy|E?-k^X*=GDh)V`folyM1ug?V2m1j2 zbzxs^(2oM9&5`;AobMws-N2`5681bE!cPCTlfqM)2FK`?;;D+C89~EmnIX_g_DWtJ<-JU;$&hv;WhE^ElgKWCY_FAOib@E zCZXiRm21#PkSbVt#vNVmg2^F}=Q+nEqZ&OeZfUrh69?)2EAx*ISrQT}=AL z7N%<#lTN2DCf;dbx^^+?f449lyqI*lb}@0Gh3VkMq|>#FiDy}u?p#bd{kE8Rg@s!! zOjj-@KRvvdc(aA+5JOLbW?3&x|%jIJy4sN&Z$jI&o(Bedm9te$Bl{U=*GnKc4K0?yfHET-k6xqZ%llh zh3N*zq|+CUiRlo>#Po_|;y+oK{&7rtCiH|Rrh6O{({qlA>5ALL^wMo&`qVKo9qX8w z?&eHPH*+RlVPU$SGwF0uXJWdbGcmo*nRuIp>2utq(-EDC>4(n5bVFxidXh8o)fWDl zh3SCK3`0o(-EDC>3z<`bUA0@4=fyn(%Gcb*_?^#OTxtTK4;=F7N#>glRm-1 z^h9UUXIPjn=uA3&(V3V|=uAvMbS7@FFx}Fbbb6&T@mdSh)tpH`*1{)Sn4acL{_`wM zr*kHq-Y85=|8pk3)57#ZXVUMtFg?$ibo!h#F@4OLn9k-*{JMqdTh63^WMO)dGwC@N z9$?|Y79MNi$ri4(aJ7XOSa_+054CX2!mBOZW8tGM{Cx|bY~deT_&f_=ZsFT3e7A)k zw(t`ce%`{rvG7|K{-cHeV&P9M{F#M4n9-W&JJZ6s79L>XeJwn~!s9GlYT-#1o@wD~ z3oo$nQVSnq;U)_oZs9HqZ?y0h3!h-&(=2?pg)g-56&AkA!Z%rXhlTIA@PAtPX$!w# z;nytuj)mX1@Lw(LTI<713-`0|-WFzXPIJ8NXW=pn?{DGR7G7ZCLoM8F;SLM0x9}DV zpJ?GTEqsB6udwiS7QVy6_gVN63;)u>jP7jq-|H6sgN14IZSq6$o`N$i+|R;8EIi7> zg%+M@;YtfvTX=zmms!AOw8cqCQiCiQ1a>K+@#-c;m0jZ zS6(LnZ!H|cyD5|2-@*(XZ_*nq%!t?~T_U_ohHCE?i_W0(Cck(wH~1NS#H2ICjfolN z#>8}0WnzZAF)>5ln3&;hOiX|1CT5r$6Z74jiRmuQ#EeL8;(QB_vG6ntFR*a4g>SL& z0~UV4!i-RFwnskLl?-)07W2J=f$J^I=;tPVi-j+-FoTDi{EQTCV!GTjF{;7p;vhdF={IG?evhWKQe%-?FT3F(S8T~C0#0=brFWC&tsA48&d@&O< z(wK?)X@!Xyeays+LuO(|Br`E%lbQH23qNn+-&*+37MAdRB2bMl2J$oI_p|Um7G{_~ zlb-?qOw7=KCT0*o6Ehs3iC0*dAp%W0g9VzHVFOLf0D>lFC_xi5sGx}%UeLrpw=hEv znsmB{GBLvtnwS9zP0Y}QCKd-|lA-#W;R;PU0~eZ@Aq-7C*1`;HXwn(r(8LUNXkrFE zG%>>;nwT!BOw5poCT4I%6EjSri5W1_#0;HiVg^w(F~cdEn1K~d%n*wvX0SyQGc25m zUA(3@ac>I`vM|Fln*0pZXkvzJG%ydO{z`I@Rufj$HEMVY0_c5 znSy&;c#wrhTA0x@)lbbQQ!QL$VFuPT`5P?UZef}%oBT9KHZh}cns~c~ud?uM7Jkse zPg(dC3;*82wmpLcz?BB6{$MCvvweLn%;2~tol$a4%y79TX53s8Gk~s%8A;c~T^43+ zU6X#Qh0n3@^%iCjUbFlo7T#&$ul#=7D*sjAPcuNW**^MyHSw3dpQZO#lb@lGP0Wz1 zCbsQKYyV>3~7JkdZ3CD}^ z1Owoh<@dJma0^#hc$$UhTX?mF8STWZ???+X{DVpVfrT%%@Iw}U+QQEp_-P34l~^xj zJI@0zPpl`homYUDB%XJ(o!5b%GW2XOz3wXML=_Ksz zguXP}2?9Tu&_8B7S->k2>*;KV`o^Ry+-xTobo#zfzicNDm>=?Myf<)ieU|ME1?ETZ znm!7cU$JXE4w&DsYg`JiM_r55LU5 zkb(QuPt6C6OJZXCd4f^=O!{IA+xmCL;4%4+w(w>PA8%oXJTc3^YvB(qZ0pYtEK4oF z%EDJ$_%;iFY+-kNs=S#No^RpPEPS4YU$pQW79KevwZ0+?ud(o57Jk^mq4HFDeJ$K* z;cg4xW8p_F%y8}Mr^Zvx#8k}q?k1hFxlPQd>?US_ZWA*~kck;8$HWXjVq%6CF|qx= zk}-cwdM^tz(2q%HupbkTwebEHW^{OypONBC%%JZko^D}AyEf?z>~3O4em5~g!<(3~ z<4w$<>?Y2$Fk{7=bOwVrF$2S!nDO0B%+T;AW>k0+GeW$Hudwj-7G{Welb_+>P0V2N zCT4h06Ei}miC0>f@it95qh*?yu`W%_Se7PcU`i7+=%k4m9n!=M^Jrp5Z8R~%F`AgM z7ER2+iY8|0a}zTRx``R~+{7ySIdk$Qn=#bYPhkdLH}Q)WUNSwE{%Z?=w=$J(uMchg z%i9*et#7g4mooI2`l|dI-;aLT`)FHV!RTsc{R|UiVulJb zF~bF!m?48q%#cGSW+*lj+x8j^31-q67RoS^K1xFSYPj)t7$N_wf_0`lea9#ll}zf7x!8|B;0+wD7|g{;K-k z$E@<7TG;-c#oITv|BEa<$-=fid8$R9Y2m{y{AK#)PK*B%3twa5mo0prmwG&3_Pv?J zjglg2{0=TiEkD}A4HmZTv21;}tq-^L=iQdP2Q0kH!mnBQLkow7I`N-6p2-%jw(!9g zKFz|HTli)R|6hOK^JVXEzO~0l9Z%odW2E-SxAqvR{qe0mMrwb2YmbrIAK%(zr1pnx zkMV!a-tj@}dEnO;e%HbShov6>7zRkLQVZMm z4h z;oB|zmW8v&q}Eqz;R*{MX5l6apJ?IJEqtqm@3Qcl79P4^YWt>GxZT3vv+#`;zTd)s zu<%C~4u@0gpJw463vaXVZ5DpO!k<_;du(cb{VY7v!s9LcLSAZl`}?dJ7XLyEUuNMC zEIfN$s{D&A{E>y{M^gDOw6If{N^FV7TvZ_dpwZZz7C7O+rp<=_)H5wV&TUv{E~&g%paHSf6KOq`*-`d z`M>VZ=6{p_nt>RK&-B&f5#QUou*2$~#KVDy8RU{HgMJY3a2|yGvYjaK&juxN40z(+ zNqji)#RfhCcgUCa)_b}diBe8P63^c)HSBP zVA9?{+c^_-`b^h!+6&S-y2i8*qziP7X&*?(=Ng}j@{b%uK+(inQKh@Li#V)_-fEs8JPBlNqhfn=SI-!m|XMI{xE6( zpY728@CAc@JNW53T=V}Nm=41=egK$m!ZrQ{Fg=26{3I~_c5D1BFuiqaOka0&&8_io zfaytFC$-z{&5Evz;NpbS13m-vOqZUya8AGf05O5#T0ce3t>=X5dM{M;YULIxs^8 z=<>AJOoo!rcB()ho`E?4`L3Jo90u%6kAGk9<~fH0(_d&>oPG>&5pY2qp9p*e>{HP# zQvQ74DqJsG-p#--gI*S=?*#4xy2kGS--$+D9H$3R(Hii##Bnb0FCgriI4%IDzYWHk zXL~0A4~4xhToW_j4JYW}6bM?iikUVb(3l?FZ*_(lVt4}1XH$4j2_=-VzE^(~C! zdw`E3F^=B@KGwjr{W{seb->y_mhuh(J`>|rw+F7Log*>+gK>EoNNh21J@C5*-U0j` z#%FDuzhAoJ91ePJ9Jc{~2wW1!j{={9`n3F!sCW#qYw+;LWaLm9p=&KijaY{r!eT^JoU?R%t{Uk{vz>$4}0 zuK+#+*TXFIGu!(t@Cl&n^UDD5)L{n5Tfal8fxK4q$+2i(5Sy}$?I z`kNT1KLNZGxFC*S1TbAI+BI83a7pz!BiI>B;MN zCh&OB_4!)>{2}T`mXtpjc#c7D13m-vDRKHn;6A{*{^Nij2iEdV1O6ob{*&kD=fL`X zCh_~ge>Ui&Fi`dUL;4}W$D+SzhaYhJIWgdCrlE5D7{%a7-~xp&jB<)3?v1%+HSh&-JOWt%D6h=IRTi!@Fq2UOv;0a6ueNZ~ zwqMOL8!Ygs51iXzlB;t5GsQ+-dpO2yinRHD6pb!^W8 zsfYKlQ9W!_Po&I=9$Z_|*un}sTbokD5ivj$8xD5-RR=MVX-Sqyc1fvZjF-RV{9DF9 z6Zi+bJv?muQGdaUG#Ky~CGZz~_=|G*Tfx62!dW7XD-q5T;VBVeCBh?Oq`VZY;4u`J z#si9Vw$yjWN)`%^Hg>f4AUs&KXJK&(=+Q=rECpCn995B*qBFtL)zKE6ftXi^H$c?< z;*#i`+66NzYopQm(c^ai?G2G#@-JVE&7G)PbJ)S+jkH;YvdN)FE& z`da$1L^`ol@=K-nONGBwcuIw*RL()E;uOhc!dWIfWx`V?)H121OnAl%&v@Y(FFfOg zXT0!;$O%&I1gUU>obHLZC~zUHZ|#Y;V5qmnx}xj4>N`7eDMX`9-5v2?JL*RuZ%73 zj5W44w>Hk=Wo6JA=B%TAaZi0$Pa=C!eQWm~q`{Z|8eD+7@X|$#qo^PS&&AN}>g=*| z7j|@}a4jZ1DsJ#`r0ZJSo1(ZZqn%wvd(JN2b9M=`SGKRwBAPjpou*i0M^h{sYw3w% zD(Tw5!C#Sx&sJQT2&ATw79&sqp`lt3{_Xf?9`*EswysuS5n!%ylU+?CbbwX zo!!<^--Ax8YW?QKcAH}D{{H%%P}zrhYJU0dJQ z+Vn5z;_*ClYuXz*8_eefzp!!D!d2hc8Kii9A&K~JY;cs6LiF7B=8oB29jm3g7suo% zs#YzU$Duz_T_a?PQ@X3ZspBds!^ouM8MxgxEoh&+P#(qPVT3%=TaVEKQUP z^BbM^W)WC;F{j(afU~bCn^*O!JR(%J+Fffgf9d6F@pDk=Nhw}~)v5B&F?zhU~3C(!4NSOv#?P(s|L&@^)B`vMp zDfeBg2lh~CBCAu=Q(|gbwdfz4v`UI98xU}{zOl!A2AEZ%I%9FqglH72sN&+{HGFD} zHgv3MZ<=d7*pw8RljYoaxK%tu6z}mNqN-{Y+6AF)2!T6y)v7A|mP8kq^Z%lGONydP zilaQ>WW}Y?s97}+%PjtnG^Ol|nu5BEqKhZ;KPoSdE@9nEmKrjPzxI_}r60MX&3GEliWroM5jWMUDer-LL!>gk!SI4?yt8tP#+S^*&V+q_--`*ID z7Pr^;w4#^0JKO5JTcX9?ja{)=dvtAUY+ZD*N4o9v*FMIXv22-`eJ2ICWANVG^(| z>uPe=AqcckxIBa$%mFc{xuffFr@o;Bi!uxa#H4O^nw#6!bhl8zZ2VD+r`565jcr}B zx@1hTC~+rdURf5Yi6lCk%PYukT93%f9FtCWdt78RCQ6oQw4ocLSS zy6QJL5rimKCB#9MYB(6J(l7jWD)X>$T*;dy#@@YUr zm1ZNFHngL?$@1~$GKWFh#%Yxl8M`;ER=iNXv}jQrTso~TcXhy&APTN=IK^fSQ9yNo zm=loPfGMCA3Du`P^$kv>y9I}(QhL8(wcxG}IX!ZSN*(tP{pF{qcqJhEcgAJYvDtKC z>P`6zgQofTu7KNcMUuaokBW1s++WHqx<^Jyo7&pY^jU^?E7aHB4oW%;9AZoR+0zZ}P_Lmh|PW@f~Hy58fE$LtbpE54()lQa=|r0ET>1f(Czp!Y9}sCtkkKV9T% zAo8=n_&#L{_^O3N{n32O!NfixAKxP!3qHO}&~)y39AmL*d1vAM!dZoQhlo7=)BLA` zN%P5xE!uPYmZ2c!vR>-TL*V0h)ITk+7#WlYvi!)G!HoEiNp5Gv_nNN{3YO1|GsS7- ztHU4e^{=`I$5EhBl7?4UDSWq_h4(nTP~$%><3E6Pnxuy=!gaJN&ScPzG}5GQ$P75I z^5Ek?E#nSgohIp^-T~>OI9r0Y51358L%{bGPh|Y3`>(IXHx>pLR}9l!Nf|tsro3O4 z2jui=PEC6o8JySjum8k=T<03=dJjPc4zE+^7lDuShW=@Jn~-pICiYF>+kCK^D^J6K mpuAjcYr$u9m-G4$0?zw*m!f}KUYo_Y>+*nemL`H(C;uP*L7e>n diff --git a/app/src/main/jniLibs/x86/libantidebugger.so b/app/src/main/jniLibs/x86/libantidebugger.so deleted file mode 100755 index 28f4e0a13ed867d43c2692680ea5dc6976f3ab55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25060 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
QAm5ze@aO&3)~|XMTOdhJzQSF8h}?D@UxVFFX0- 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 vG3&r#U2Nfevg79>_}jh!f diff --git a/app/src/main/res/layout/nav_drawer_fragment.xml b/app/src/main/res/layout/nav_drawer_fragment.xml index 75bc782c..7303917e 100644 --- a/app/src/main/res/layout/nav_drawer_fragment.xml +++ b/app/src/main/res/layout/nav_drawer_fragment.xml @@ -182,38 +182,6 @@ android:layout_marginStart="52dp" android:orientation="vertical"> - - - - - - - - - - - Гишүүний бүртгэлийг шалгаж байна. Тун удахгүй та GME үйлчилгээг ашиглах боломжтой болно. Гишүүний бүртгэлийг идэвхижүүлэхийн тулд банкны дансаа баталгаажуулна уу. Шилжүүлэх боломжтой нийт мөнгөн дүн - Мөнгө шилжүүлэх + Мөнгө илгээх Өнөөдрийн ханш Хийгдсэн гүйлгээний баримт GME дансны хуулга diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a6cbfbb1..0e15d6d8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -110,7 +110,7 @@ Send Money Today\'s Rate Transaction Report - Fast Remit Wallet Statement + Wallet Statement Home Profile We are there to help you (Available time 10:00AM - 12:00AM)