From dc6c225d44da3657359be5b4fe27a44747c36304 Mon Sep 17 00:00:00 2001 From: gme_2 Date: Fri, 22 Feb 2019 10:30:49 +0900 Subject: [PATCH] language updated --- GME Remit.xcodeproj/project.pbxproj | 3 + GMERemittance/AppDelegate.swift | 8 +- .../New Folder/flag_uk.imageset/Contents.json | 21 ++ .../New Folder/flag_uk.imageset/flag_uk.png | Bin 0 -> 25371 bytes GMERemittance/Library/CountryInfo.swift | 5 +- .../Interactor/RegisterInteractor.swift | 25 +- en.lproj/Localizable.strings | 2 +- my.lproj/Localizable.strings | 2 - ne.lproj/Localizable.strings | 353 ++++++++++++++++++ 9 files changed, 387 insertions(+), 32 deletions(-) create mode 100644 GMERemittance/Assets.xcassets/ccr/flags/New Folder/flag_uk.imageset/Contents.json create mode 100644 GMERemittance/Assets.xcassets/ccr/flags/New Folder/flag_uk.imageset/flag_uk.png create mode 100644 ne.lproj/Localizable.strings diff --git a/GME Remit.xcodeproj/project.pbxproj b/GME Remit.xcodeproj/project.pbxproj index 8f9de081..ea1e718e 100644 --- a/GME Remit.xcodeproj/project.pbxproj +++ b/GME Remit.xcodeproj/project.pbxproj @@ -4171,6 +4171,7 @@ D977859C215DC55E00754079 /* TransactionHistoryViewInterface.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransactionHistoryViewInterface.swift; sourceTree = ""; }; D97785A9215DD04400754079 /* TransactionHistoryTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactionHistoryTableViewCell.swift; sourceTree = ""; }; D97785AB215DD23400754079 /* TransactionModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactionModel.swift; sourceTree = ""; }; + D9835812221F826E00748962 /* ne */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ne; path = ne.lproj/Localizable.strings; sourceTree = ""; }; D99B6A4C22040E440096C1D6 /* LocalAuthentication.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LocalAuthentication.framework; path = System/Library/Frameworks/LocalAuthentication.framework; sourceTree = SDKROOT; }; D99D72A9212D595B00601F48 /* CountryInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountryInfo.swift; sourceTree = ""; }; D9AFE855215C7166005F3A25 /* HomeCollectionTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCollectionTableViewCell.swift; sourceTree = ""; }; @@ -10197,6 +10198,7 @@ ko, "my-MM", my, + ne, ); mainGroup = 9FD260EB1FD00458007A511D; productRefGroup = 9FD260F51FD00458007A511D /* Products */; @@ -12649,6 +12651,7 @@ D96EB14C2214E9130025A04C /* ko */, D9C9601E221E2251000BD633 /* my-MM */, D9C9601F221E266F000BD633 /* my */, + D9835812221F826E00748962 /* ne */, ); name = Localizable.strings; sourceTree = ""; diff --git a/GMERemittance/AppDelegate.swift b/GMERemittance/AppDelegate.swift index 63d44e7a..ffea346a 100644 --- a/GMERemittance/AppDelegate.swift +++ b/GMERemittance/AppDelegate.swift @@ -52,12 +52,16 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD setupNavBar() setupStatusBar() setEntryPoint() + isetupLanguage() UNUserNotificationCenter.current().delegate = self return true } private func isetupLanguage() { + let language = UserDefaults.standard.string(forKey: AppConstants.firstTimeLanguageIsSet) + let a = Locale.preferredLanguages + print(a) if (language != nil), let preferedDeviceLanguage = Locale.preferredLanguages.elementAt(index: 0), let _ = preferedDeviceLanguage.components(separatedBy: "-").first { Localize.setCurrentLanguage(language ?? "en") } @@ -92,12 +96,10 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD let mainWireFrame = MainWireframe.shared // self.window?.rootViewController = let tabBarViewController = mainWireFrame?.getMainView() - let sidemenuVc = UIStoryboard(name: "SideMenu", bundle: nil).instantiateViewController(withIdentifier: "SideMenuViewController") as! SideMenuViewController // let sideMenuController = LGSideMenuController(rootViewController: tabBarViewController, leftViewController: sidemenuVc, rightViewController: nil) // - sideMenuController.rootViewLayerShadowColor = UIColor(white: 0.9, alpha: 0.6) sideMenuController.rootViewLayerShadowRadius = 8.0 sideMenuController.leftViewPresentationStyle = .scaleFromBig @@ -106,8 +108,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD window?.backgroundColor = sidemenuVc.view.backgroundColor self.window?.rootViewController = sideMenuController - - }else { // go to splashscreen diff --git a/GMERemittance/Assets.xcassets/ccr/flags/New Folder/flag_uk.imageset/Contents.json b/GMERemittance/Assets.xcassets/ccr/flags/New Folder/flag_uk.imageset/Contents.json new file mode 100644 index 00000000..758f6b94 --- /dev/null +++ b/GMERemittance/Assets.xcassets/ccr/flags/New Folder/flag_uk.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "flag_uk.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/GMERemittance/Assets.xcassets/ccr/flags/New Folder/flag_uk.imageset/flag_uk.png b/GMERemittance/Assets.xcassets/ccr/flags/New Folder/flag_uk.imageset/flag_uk.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c78652083f88cb927ec19be813e8fa29fd9a2f GIT binary patch literal 25371 zcmdqIc{H0**Ebvyq*W!YEEGkFp(9nIBc-M)YK&R6 z#+ploXi;Ng3?g|iy`TFT)_U%5ed~LlZ@p{1{<-2>*O~U&`|RJ|`*)H|uIjNJsWUUS_ zBJA$0A!3Ozk~Q+XGj73jd*CGeJTh_{zdfNF?_ z$lrcdf!~L(WkiJkeiG=ZA@Yw&-7qo{zU1rgB8-q$lyZ_)R1#KFk(NU!DP2^$AS^E{ zhmes~kWrA8l2=f@D64u=UijbsM1ax!on2M0>7f5@EZ{#4k=ucReyTDu!NI}O!3xs8 z{%$gIDk>^6vhp(W@>0MTQURepfww}Wd;;MA>_NvRz{%g;FVNlBNBFSETaLa#ff^#f zO#iV2Z@+)<)+gZK!~_UTCghf%jGVOW;gbIOp^?%5^QYe4|NeDA;5C>3nD2kvae#TK zpNq^jmjK@&eu>Js>-A45n%wpc^bNS}>nD8a(qE|wi(9(; zIQs?%Nc?SMWTa}~6A*aI$H~P&M?(bYMcUon84#zAuCkWyB?W}aB{?}=6>V8vxl3qW zol7c8O29++pKWz~or1hwd;io;Lhw9+%2aK%a;_rUf#To7I>n;3u*{bgU zdM;Z3vcG?8>-?|hqWv%1$^es*Io#a;wAufB1!&OW&wp24;Gch2eit7=EhE1*$`i}q)W<^a^nu@NhQ(?K*g?o z{oMRIW?%hzh>L+D$g-(WW8~X{G(3fXJQJ6G?P{hTmxTb5blW9K4m2bG(D}n7@it#H1E8BH#GLG@ih8*wC^tq+^q8)}EfD1D@`dGO8|>&2puqLJh|79VSx$o-Us z=z`keHs~@Pj?T+U89#wJT;W5r=GR?4v;tDmNYNb2(<5vh(YfAbp6!?URM*{gM&EB+ zV^N<{vgFT`Gr558+wU0)dY9}@wBY-0*LyU0(B9{RwC^zvAYZaoNnx~Tt}N!I`>b#d z5&GEt{J~%Qw=p!&rsw-dY0g+0S$bPyEsHIC=k0`K+#5Gf_pi3NbC2_!K*l*Z>IB@vxFhx5mNC=cbW!Y=*beQKQI2_ebJ`U2612$6%5Za(KGouKWinnVzVnx zQz&HguoGn9X8>09=Ef2Hfa~z>0gqv?VV_}={edN>4^&WV{Ls|&=Ow~tz6CQz-_$5( z#Nq(-@Dyv;qF6k#$hLT`TVzooHXCermKx5Smz+}NMq{#7?w6@T+${+?;)@Mqu3S_r zZohXCe7GK=cnog9Vc2olc^DXr-J7JgHoq&yXkyecZNH!0yw13pCRW2Ls+oD(SH6%o)pz2QC^~Pyc&wbLTdy&9 zbExqi`cMw!cv4YE;Yi_J;dUW2ow?SQw8ZNHDoG!h)sE^A-aQk(^O<|%89wpWZ0@BM z=D$=}Fdx1?d}H`W99PmSla1hyu7#ANt}!V>#%(S+2P^s4jNn49VTSN*@D zYZI8^WwVg7FtYGwtMvnZVOG-k0n=5#IYemYi&?!6myMtX6qqR^%5ZkWDHF?o^s7!(g> zZ|FiqdVMlMm{yu1u2ssDh!{tfv<`veka z2VB^jz;jUpsA274o#74?A@ZZgen5ie!OWa{h7JR%qBX*VSgN?SvDj!>wX zd~iPnqDxBdCl23~92pj8Nt3DzCa*tkv2&jw{Q_*>(RjvkJBcKOO#NmxqDL337Ae{2 zA?bB%Y<4}<-|yq2);p(0*xha|D`YFVLZW&-byd8E=uoP#00MQaVn|B=92r z4vfyd*Z0C5Bq$->X~dqMI`D{hrl;Hy^0WXZ-g>y)L@X!$$WWbD96kYx$-Nig<*z1nHZUY1(ECas8VdfIN?4vqVJT999pa3^L; zeK|2{ZoZpoBn;`KO=}17%SY#m&wbBl*~b!pqfAlxQ#hn8C%v6IlndWr4jdJ&9*T0j&%TS9; znwrL}2gZ#pFdcOdDFpr{1M2UH3`(CT=+))DokIJ(R0AO^Y!f<%AIi!NH;F%7y*O2b znxI3e=qI^Kl7pkZ8Yf}Cc3vmizfZ!~LouxiafEy!TU$0%i2H8t7VEIwZmSEQyj4n5 zTDCg`aNsRz_p9}ZX~|mo`BoG?3Sn2DldepycWpdN9p<+x?b>P}@jB*$3v7Ng1|QrD zxUq?iRdt98yvMYmGo*45&G@Ww9CDroAM&G_Fw>{~dc@Mv#LH8CUS3gj2`j`X73IAjG*R}*_P#n<3RIWhuqWo16@B9!D28whXly-y?>Ro=BdJ)9y3bD#0Pl-v&1_sJsn|lC*-T_q>eFq$?{+$!F9F~~n zQx`qqNl0ntKJ};^OdRHWf?tDF64E6`k0QWrJ(JJy8MF!cPM+%g)(-8yWGIgXhCFe3 zX0#Alg2)YRL0Vw;C_B^qiVS+A?@5;0S&8Tof_O)ZG2=8Amd<6^xsNMp>o@JXp%x7P z+mvy}ck104=C;nfR;STDJ&IU8`zYzoLkcfVo;(5J2g&qvUFqC+^>7e8{M^QH=2;t| z+1`TwIk>nDAN6vD6Uo-pei7{7@`p0LVZo;=f6{Z#D-Q+$F(j03;Vp0r)yJoP@C6aI z8&VC$hsQxNg?be4ObY7}=rQfp3^??PcZB5k&c@b9MbL#KpZ5|pL+FnLKi67lI23(T zHDEQi0uHq)R{X0S^P1{Kjq7WbVSQT(lsa7@3$g00g%qy$OTb}`){kq{&TqO)EN#IB zU*ziiDRGX*B1k9`w05c!t{g9(<2|b@3r@35wm@#SC*V3~7OfY*buBXA?FS^EINDOW zV^Z^MQNv=bI4mvl2m1y9IIRoiq@4?bN9?CAAQJ^K$G=@|j-H9nA2&8X9d76-r#PhwwJ zJE9uV)|Bf_dJ`vshtd}${L)?|zFy)@B3WuW-LY?6IsO(#YZal6*TJl+j(coJF_<0@ zIj+^s-K01dSrFXp@sB{ zQG+kGAOBtYQl?{wbORCH=qW2&484z;7M24KM+*ZB)0g0) zsn^VV_ksL3{EDw1Xy{Ue)?-P@y)}ACBr&6wa<=4Njwm&;!$pO2Sd~b7wBh3l=4WBo z6!w(p4bucw)PqYY(ToGi<+tEfX9G7bf`5KMM{72z!G*;>ry4ifIPu3kA(R~AABiVP z^dD*h*==;nCCgnc%2{&SKpXNZC;eI)NvS-PxC6zse=|{-k$Kgp0m!UFXm1CD5ds;* z9Ztpoiwae!Y7dV0q(F2$;2eY`Z1l5*Bc+$HP3doHZjes{uKExqjs857gnWs`#M!UD zEirvGEhv$M86*b85gL<_m*bFExG*i>Mo!V!L}{!_ApCdei%D^Go|}>!cosH3F$g7@ zR*RgBF~(bY=JMar3_lH6=o_7*^sQhexuQLx@UogUq?!z&qR^g`{?tVz#Nu)sDZ9=7 zkNl8fgzly#C#LvzDJ`70k!$)rTKMZA)NAVs+m+}FH#ePgflp=B)5RKi7noko4wjBM z-2QHJVgGI{A4m=yRPxA?Ui^d>`KfqpQ&~k2hPNVyJQbuI0^*$6b01a`2 zl*rFw21g#i^gF(fFa6Fw`e_7uXrs%*)CpZmz{bG(YKI6_j$)>U6s1k7KcWl*n(1m_ zKt&$JEx%}ZNRiPiUM)TI(K0x0=tGn#ZC@9|+f;*g_@?MJjGitg`<=V1xC9x4h9ua@ zs?wB#irpbkqbhO%$+ht$;eXp=jfix!Z~`kP=K6sFR}T%*S>-`2z3$J6X%8zHU*gu; z#!C4U@f7Ci(Uhi<;;|{U5p&sIyAiq7x>s%bB%~+Bk^LJ z?s^$7AK#hax&ohG9_MCw!B0BckQW%C=`D3X#gGSH*6Rc*JVaU286>xmIQ$Xjj?U?f zyEJ`jD5tboBFR{L?r!m3>t&r`+>;8HTTevE!QsP(R87t(!pUfRz8HNuu&Hv5Q3?vD zTm;h}VvARWH#Jwo!ei|mR2wt1JgWHYKA=%DXu$9ik@5Dc2&F>OWg>>s_zpm1%cnl0 zjTMQwnxOdn#cFpVJ2agx6mp)NU{R9r;~^y|m0+szT?Tn?jhkWvFAGXQAY{E>4MRom zI>D#UhBg18IEFoNhw$`SxoIfs1Lj6{2apwh)R4-KoK7f2DzTSj%+8Fo;hky>s4i#8 zykjb4p@(fa$t1i#qXD(_OkwF!%wv1Zak?%k0Nb>EdTc~Vu;fir;?T3>?ZN2iM!7Vb z&#-h>lg?-MrLF0(fHHk7D!LO283g3@K%82$I}$+k7s4CFBg>@(Yx9%(kg5Pe`Sbc* zmQ=Vxbxsb2b@@4k{j~PoRn0gLV%mP4C{55$N7v?|P#66)^(0zYCj~V!k~21?bX+=e z6jj=rXt>(coO~H{&Pd3FE(Knzym^ZQy&)lCd*$r zcatv@`$pRA-!gav9SDf*@0BjfXfjV9gPZuF;pvr5ymvRTO4f+Q?Uuds#HM}@ySOPn zh8k4Rm7IpDi(uAIFq5&v%@-xJ7ON-W4}M}JaTH_Mn*x-S@9mM28ZEvXDp3a1n-3}9 z3P_!X#5FF~1cmw=)Wl~|+*9w-O-UR&BAydhmqRqQUJyhFp*q{k9qsq*Uh#fNEo}oG zGcfFE$&z@%FC0g0Bz=qAo!ftY%R&2?VEyQh1^(uwlK;KXrR8#4$+IWWW5KC(o0-zP zOdi4EKfTiD69ajQgeocGOEuW0-k)OwGR+-bkxA! zB-){lFNPuMDQsbwDdUJOjN@zjy{SCjPpR&}ZsYaNI?V(ExX%PYV)Pi-kTaUhE7Y>j zrNWW|C8CmKw^b|eLYlt_b^8i6On^;$Rm*@H`jFC!Ak!~#Vw99$z}olpWEy|&0YW;W z7tI%A8?J7~$W@FME@uUQizAC{cK~Ky;ocruqkr@Rti&*xld(7}+TKr$v!NlOAjF@H%YhKEv^)Me3MDQZ7UM{CG11`kyE|J&A zop36aXh9JGT$J(ihCN%(>C`nl?>M~IEn;7_ClM*0gh77Qu}MxV@={VE-b*Zi7K#6;}yEB~^y?X60p2M*%^eB3?G5#-2qHt_BxzYq&+oJe!lY9;hY zA%k9}hq$bLijmKH{s{C27B#YZFgAr8_~EFmH3|*nhBu*`B;mqJP#`a`xf0u@ppK2c z%BFnpHUuiM+JbxJ){tXNQ-5b0uyI!ta|G{634zfizD%06aAHE>I_>9f6zzFGr(kY@ z7VFo2KX+bfz7zala^kfVJkQ=dCNibzCblV;ag40(>xo6Zs%-ajsQFkgaiSU8y%+U5 zi$Al-m~Elg!3!8{DhVmh;VoGI)%;**YN~&y1+%Pd^ZMNLXAP$b6(b);KSlz_VP6+P zhWXu@!pG{yL2G=C|(w)2{gez@la05!7=LLnp3@X1^(%1=l69-~Nlg&5le z%Q-7g2vP0p+E~sZ?qJjD{II5uMhP%94A^v_qthK9QK|(mcGMe%r;!LVEHiy4W`q<0 zWTWu+cu}Gb)tW)a(}}@q^CFT&mf;>`YH(I8E!`WT6_QvwXW z{Q@ber9mFT1}RNL|H!jY5M-A3q$Q#zj5cuqfCo`>zLOz^ltFomx5z>li^oTQX)K>R-97hh1T9=v%NOIfuL$;lY$w5h z6Mx9L@4mJz%>1Rg@A<=%dS)S0BUs^nYG(3Uen~lJQV9%*i`w*BaJTrYCxmL4fou%n z=iE_(7!8+Z6~2}B{NC*TwG`4b$rDi%=V*ZjRCjT%;TxP7T0f->^~EiBBRn&>h2t@;s6Tp7p}203+pJGc_hozV|7Z3y=(&ja>ezjIkgF$+DN z@ZPfqfa>#B*QG3HgNnLjB_K4AGoA*`TkY0K4{?DfwItt2Sm=GsPzKH3xe@{QZH0{@PI68nokdnq90`!w+KW2wMb>l1BBqyAqI=mBO`u zt%vo;SC#Cn@CI)#Oql9N*6%u$>>EjV%bjbOQhZ(xD7MgCd$Z_Z1^_~Me24JJ> ze(W_a_936TbK14+DZhhqW`SFW~+QvImD%~QqUk}B{)n9u~Np=QZRRTYO9aJ+U zF7vXE`Ykzk1-=y)75=K8=IaUf6J}JSeHSVjFq>X30Wtwk4Y@<#g~Uvi1>T0sI#W(X z0QT-&0Tcce%!SdHU47h!?DtKgLv32mHECSe{u#wh6W{M6*9}U|jJ6Rf@HZ)^&0~zC zxyL~-JRs*SP@9qmJx>#*y&=DT$!+L#K;tF?u_%NwJUulBv$7T%(I4g^Tp+^B%JUXR zkq%{L7VBvbwl69739PMffMP)}NpS0ugd7&ET;pu{k}Qz7IV~5(5oJ566me=2E;jqw zv!Nzi%Bu6 zwf|aJv~)|G?|x_SA*~(={4WiXTdBo->W;@72N2+!DvppAcZj|O4*)%09-rJAtK@q; z##8;%iZCyfvp;z2GvJcrCX0gjt6!`XMO~(R(^b;LLSRwS%iC!T%0Zfz;%N(bbzi}J zS>NdIQulZAGnqt>=iBBpt7B1Cs&^X|`@J6iS{^ru>Rfe%e7?~yu*sZ18*Y0c^KptV z{)V>{&l{NVTO-Qp=Fc1CrL*MD>AM*7gM^?v1ZB@uf+%fKe96maw$1kl=D3ZxwHX&( zxKG=ssxnFmlrIqTATjE#(5t;|)Q^c=J^k+^&qL2947&HBg(saLleuVzU(U)-xC+5D z@2_RKJ>*?rGwx(Z`XD?ZuD~9@6(GPeeg(q;0$>je4c>lVzI5D_E5RHnxZA4>HO#4_eWD2+D#v9o1 zRl%4Eq0^pKfm_~i6P^K?olApQR=;s1;r{D)K%VElAe_V57|vlgth_jx(mHmq!<+GA zfoBGm zhN%uVGZ)jG4@kQn74e=EcY7jejz?_sOb^~pB`y#5{Lq^oDiVFov7Dk@iNSlPpkjuh zneSs#V#jtz8T_y>Aa2VQu4g?A!V^9bQcy)31G$t|w#zub$QoF2t5p%XLzKl88O}oykM4hhjskYb}tz||K z?JtID4ao54+f6I>guMlF0ZGhEulk|gyN=l1Z0`w#(%R$3&V+pwJE6E+?$=4ZI}@Jm!auPHceZ@%tYaY+J?Soq2v{O5G2?tKe%bIwcVED}F-G`PZrL z6BS`$>wDX5-F;E~MP zU^t7<@7eQ_^w%&q$o><3RetDbLx>YUW% z{g(z^nI*|g#$_Kwa{oBfz3w2%M5JFQ~1M*9nC;vz! zx{r1*Ukxgi!J=wDx|$|j*H|@u)cs97b?xRXfU||ad%RZp(9(VnIAb*E5hwr5P9f6R z7azfDJ3%#mo6JQ{Qx8w`sYV=shiP0)dC$Niz(Cw@D`k6}zlfQBFCd#|Y5l2jMjpsY z>}kDWs}`JB%V<3E@~kk~4G18)XJjnrJ%E%BcW(#~Dz}8>a>v{hq1G;We7t@Th8$WM zjb$`Gf;oey@#WDjE&2%nsCeDdvm0|^j`q&gW4cjIV0Q?r!?xgl6;kmsT@f7q3Fap< z_UBVDTo{ewonNR0K;~u=g7rueFW}if7b8C(+u-r8=4U{F#XbTND3FLTQ73I;uM_cI zK>GQIwbKU`+NEp`&RmsS9ly-aq8 zeAhEZ&y@^!K$X2lp-ndRT8@yfOy-sRF_^|fsoW^`4ZfOd6?zw zb15NP1FmU7O;}dlFjPlaROGuI7Bw@3x&`-J;J8aCND?;*mvlzmIL7nUPG!KdP!wfOMKNpr^V-8G#4eBGlMlHnqEZsz3tJ-Dksfc$2(FY-^T+vPnn0 zkm>6Ppk61+Snlv2W^UxQI5CN_ha%Ms*Pv;5Nb_7VuB6?&e!weCof3!+z@iSIP7t0e zm$m9nzW@At>K)%>arCq_;bcs7nTd`D&S3=lS?|ijP4y$4cT4U8>D<g;FAUOe39YZuDQ?yniqpo>L}VUYy07y@!9|1^FU$mAZnf>G}}t@w>Fp z-f}CAX9iin^@%hQluA!2#M?9gB?UaQn=yc3UaI#!5TO!2bUFYj#$Lm%^JIH-0kCMO*F_yn+%1;jK593;RWlXrfEpTP;j zj9(l#(GTWHiHAQ-W@^y#U9f)uyCFXRS~@dp@6S4h)ZEI@44AIj|=AUp`_p;YKAHXrq}S{Zrn?@V{O)o1H;0LgZ@LsNdp&c<;3A7Nb{kLP z=Fhx-SZ+eQy}2oJmS!IjUqFB0%RNxf2NxO(?XTUPnt;Uq>X?{Hz&1(9JbV(r`NqJn z>&s-Lb_(hydn}i6J52ca_TR6Fg6l7Bu+#0r6;Bo}h$TsmVppdrytU9{F zl22Jv*hUMw zfErbFxA$FN$Y$6HIBC%MOYeAc+1D+OTZ$(Zr4I$z&dnc9yakG&g)ax6@uu7W>bWBs z3Y-`N4jQvm%7WUg>X{~3_oFKD78wJ3oQc(&0P4K->PB)3WdcMsg!{eb19?LPqw=!s z`5AV;kp0+3+wXl_@rD2%2zMMV>88|jenhPjE&K)@WOwT#=praeG@QWj#(>xd)PFY= z4XBkpk2JPWZ0I4td)v)= zs~fFDsH-L8mr%jH-IG?=Qlf{Uao1}nFM>@QYMZs-C`J_HwDk-j90hJyuE-eef=|Hs zMSxWI6HZ}j!iP4Q9hjS!o@TG5jwUY4W2)Ef2p$^sv+$V?B{_|O!VULp{fX^KRuuFe zo!mhS8wRR4v*QO-n7$^w1pD|a(%YJxNCO?oeOUX+4 zbZb@vi?Y}kh-pp8$Z24C`9%7XPPJRN8RMDC+mPF!+n@)c)bMTVK5`mH=q7RvrLQk# zKz(um9@af44-^*2YwY=_I$1w`@&TPkbV*$J z!H^O83CPmqG2}5&jAjT8?CuXK#qE)5hKZy#-Wj?<9RBUN$E0Xf1A()2pwOOoN9rJ~ zq4GKYD#A0vUM_M?pR5F$M}R{=(|XZ!!!Ob_LY@FMI3&UA+?$DGLKC0fwDHAU0Qe!l z7e(qP%n}!QjsLM7C8Raj3_VShc1MKT8Jt8K<(VmUcA7~L12C#mJuE|`uIYUeGP=e7 zgyw+ z4hXPsnvxkKgCi4ox-2F7V3j#c_BT{e_bK&eCUuR(k}HozwJR1Y@8~g_c(6rZWf08S zcx^Kec$`_rfXD^4<$HNM&mt!5)|kFzWF)U!PC1;Vjisv3JZOp~WRqA;b)&U+z1A5ivZ5wK8*~$f_>|kr9~2s|=C73m;@}eVFD>3cJ@gt?puThCeGwF7^QkoIUk0Zohq;1C! zXbJEK8UM%m?ElTm|1rw{DMtAJMFjq9UytJ$pmI+ zJVU#6>09_6uW^6n7I-Mo)z$l~zpZW3(3joF4je?M&&<&r$ZP5LP2X07eGEqAME)x6 zt5cwMY-i&Ccavd`P5`(i(0{2c|F3(d39G1tQqf($*V1!ZV^JYAE)OgRb-oezV?&G` zit>rl++IUlR$K;e;r+aB$oXNaN#+t8djyuMAhx zUb1Hfa-b%S7OYWSZ_FRoL?FI**2g}w4i^4&R|;ZLa_rZHb@x#nmZSbxUrl1Ae(y!0 zOF{{Rid0uur*6G(vQA+~kDk&hFwH-IZ!3WH=&}n)lV7vbRcRBXa_hJ7ywGEMM#4H9 zzmtj0F;&e7w)Vro&h@B`Z(3`)kq8a?bf*8?x71Y=;}a@ssUnwY7tGOZ2gY#fc<1kP zcTVGPU-OW_v<7`a-nmw?QSKM1eq8ML-pCRh%KeKzH?bWigF1e6>NMl1wG$BB3A`xJ zxll}k6(R~%cE$WbUg}15{jtz%7?0;rjhSz}qFH zTOl5__f^ws>oRKm5vOKg>N|iop;f=yh9me(GkaoZoIdU>>;1r>&p1&Nl(TBMUY@Ds zu&Mbd>LH*AW?(?~`hRB^=1nl6eHEC#vXG*Gl6D&cxJ0)5qCM^FzDoKZc;F^_DJT=N z61bfJdI9h*ZigB>9ZN}Te!cR1E*NJ~e{9B9 zmlD2%(qG|kUz~pfAOLXy4hzI=9$AAg&7X!!7@+gCSar6yFM_oimB2V7>*T`_VRLEA z5duzbfQdIUH$gF)WgF?cPT%VIZ$*pJkd^r)UL(rJ%)_=d!81vi4Ne%XFt^Pf9EZ2D zjSJ?Q!Ps$PdKMgaH@<`VK_{%?Wk9@+LBnkYVw@%bJdK?`f3_KV>IA%>vp3fkSnoX$ zk}rmCWSjibAfS9Ro9!vNzma0m^F-J2uRiPbld@)LT@W>Vx<B~1ZFstpejPv9NPo{%&$)66LbK2zSV@n4Z;K~$=_I|c@&W=5O_>h9pzP@c2XHk0!_7kV&T)HYk z9roS|?*{}owyFk$r=Q!&*aYl#>C4?XWe))OItBpm(88@3!5K-mGbu|cAic6RftalK zhtwRNzVm|Ernd^9{5X2v&0qN~rOEq(uEX{h4~dlS_e5z1%2gJ;I~I~ENq9#M&pWtt zH2z`l-Gjfw)xtt9=QB@rcHyd@q@$ahAkqL=|FS@g50un8)Wi#{>-@MAy?Lm z40HhyH_axElq~!+(AVtP<2HIaALtqcDDK9GZ#sY0yGjzJ`N3%7*{t-xu};6?76)wq z*sHLuXt?V45ds$*h%I^r|N21s^ZhghY*Sb31Q4+?g>Fxvr)}USYpQY#wy=|gBMfKG zXwoS%?Vw{PRd|zK-&!G)`C}aDCmHA`qXRhUMmq>Z68+`=%`ILPa`Hl5f^l2<%2_>1 zh5xqjhij2KK-q7oP3ZLRjXur5Uy#D<>npC;E`r)yL6q4#>0Puin|nOADWe$5RuVs5 zxShk_Pk$C!2;+dKk1=H=(cB@8FETv%V{{eF4t_u>Q=k`Fl=$qkf7lJZlDC7E=D5vI z%=GnUv>}g_WLRy1FZ-k?`Pz*R^Y0^jE*@WT)ee{aROg zNOQ?M{h-HSM$&(Zf@j|?Es>gdf2*lYD;l$X?yOI~;0?LwnFuR5U;Q$|dMdfs10s#@ z^*VRr3|#i&(7X^bXglnfpd1TpkOzu<2R>cLBEnjIY4YjuD3tUqix zd}a9R>z9RZHOGEXhyu~tGlb_p*Dyul&m9*(=xkip`10hy?h)>Zl-M-ihlX|Z@`8Yj z*xc2Cdy7dPYWc-UgpG%S+_a|kmjwsJrQ20^&Ummzavv8OJz#yd(iVG~&}>vpXyRRy z1{XekhUaHXfG3Jsxx=J3Z1u9&?D`lqcsF142gHVWLPSghz7*Xq94)u$i}~H!y;VF~ zBL|$z+q*7TPcr1YK<=(KAD075_|uKTogRnc?#Y<`y{ux+hG5$pN%n@#{>C)GcrQ&Iae3l&syN;J;BU$dR}4=5#$+RQ3R>imQ~hPW>-wG-f4q`rI$YFC7rAK07)GzXP_K_}3TO0lCGuKTdfw+H>QYqj_MbK`sIioY zdRk!SdM$F>2yMAZNK}tUzxzz-xg`7qq34^*=G?R=j|Wj`oAF&#NfL4?kT@z36~$nz z=%2bIty~8j4YFGba^N%@py2P@+5?p2xv~;H3U)Cv*}4t$-jL-@ibG80mpy=D{Fm<( zr)H3XDwR&WvhW~UmLSD5AOYlg46rKI$PL7vJehK zO-l~Wv<$d9SV%Vq2;*(W^&XISjrbcWP3J#_Z}M*(UAOkBPwD)U4QLA(LErkA597mb z%B_X+$J|yfw5S-hdKVxN^K-xaHRjd0zlKQ3qj6i=vJY$g3~WCRnM@3q(B19zSrT># zFlO@5Emv3JkH&I3ic@tp(yqF;B0Ru04=HJDR*~0-(;~9Z(PDx789Qe#*u>%YksmsD zsU}hRp8B!K6SP-9t*^d_yFB?SYnD*MnX15v^iu8gJxhyxNGa7R z9>V~>V(T&ySADxKbf9BXAs+cS2}j9;efiq{iJeE_(QY&!L*%WSOWD%%a_b#XeenWv z8ZT@-KOywfxCdk;Yy@gv@rOSK(9joO#sfeTEZYymsiMlWYF3BkGfgG1LM4n(g||!L zS~2K7prorb;F<)@2`JvswT!6Veru=MLg#o)DL-Ftu0(L913V6{-$yOC<|ir^fofRa z_d+DmaA=i`Nn9NM*}cDOLwUB`WMTkN`i)(~Wj=NM$&Pso%yYO6zm>Pk`{NV-Ykkg|CQ$E+r^mq}gTFhUnrQg(;uJsu zTv6!+XmS9-Y9659+%G6j!l&Ul=`G&ZiFED5i(V|&V!@hRNb**D#9g@TLF?H$n~3RK z#&Ev?4M8|i;EKD?Uy65lcdUn}H6Dv{U{h{c8HYmj;^4}{K>nG(iv7w(vxav7H?k)m zjf$;J&2l^>y9I2Kwb(YF<@|&~=+8;jkrWTJEkeM=6Lp1T|I#n&x4g$C{}S!s)Vs!1 ztF3u`B71Rbf7@!$`xxFs@e zp`k*`(PwTb8ekAUR|LyEN4*Tsdy|%X4a^_oR|Ff&zMmtrg}_EDyi^e3sueENRv{q3 zj^MzEgVu8j2wAruKY&YmB$;^n`HJsbxf5BG4&jnz z_VyT$r#f40`dR! ztW*IM=e}^vAfo|R+3VTx>|j?G%c5o8nbAiNE4e1k_oo#vk;v)UVeI94_LD8bbMvkz?XVRyAm+SeNuz?{oL z-MMuqfg?wYxoc4&zoRi*&n9JbU7Xz3^2O?CgX@j0j4X7@AG;+^| zf|+zJq}{YHF6X4bFT}MNdjU$q{qe_PO>>LzHuEidy1A%(2$gMp8&WS1wvdGH4b#w~ zJ@>VpfUGa-;wjj+0(kH9YZnMmE(UmKkyqdx8KhIM!aDap!TR$`;gtQpa8mbqaHw8d z)~C_{)vWN*=Y@pr0BU>^@*}KJY*Y8mIokOr5i~Ngo8Ylsms^~?|Et6O2!pydlh4ohi2OV3~2V(g6F8$xRXL{%36W8O?QZ z?BwXc6%53paJtT^Yq0B^r`m?{_xnk#Mw~MQoZ}I^C=Co;4he+Ozy{O|BT@1WkU8ci zSRNp$pNGAs6~Y&PDDdoK*On=DivisFpEw!x-kUpBf) zqZ=U24!Ufhh3lUWLzjb{@~J+549qw(`UgH#AH9Gf^Rj*i+1w`5cQbDe;51$3Q`d~j z=P0c4NJ1~bzr)MDLXgGo>Y4n00O0nud2hKo%Sg%hP?amxH;;i^9hQl(8?kCajX#zP z!@`$vX58b2QRYkpxFkcBP4Z>;*_RiDzj}2$5#BQZ*0p7b0a&LWDqr@u*DDQz zY*0icNz?WWmsKF7IqKpqMP(47vSh%M@K?;ubaob4-PTHI2GoseM^d5+<$e;bA38l@ z{B(ArbY!|@yGKsETnZrPdPB}zqBiYwl}Zan<2gRH!U#s{L#r$R6T{_M{d8I zPZ?X!!)UI8Gkq0q#9%jJ0TJrJb4t6!Wg>gwul@E&LeGTb90fmYBp!GN=X3c_9*N7p z3g*Y}ME#jBN&0E&>F1{AiETO!T)*grnqTlmfL(=Rj`*bwiha7Kj&4fDqMH98z_m9> zl`(+jYU@>`MJpYOpqHE0s;5H{yOBgk0hf2LAKc{zIB|Y2y@Fu0INJ3{^Tro_NLsc^ zc25A6urwPn?{mpuM(o!!v@me*I}t|NuCM^;8QUzyJ>#n$-!!ZMD|~WZWN$bMNTf)j z9a4s&r}Po5)x|*Ft}&VE?9fWs@E|l0bG&!zXZP$w;Hu$yDpII2clOz%R#95C0vFz> z2&i+O0yrWbiKNcs7iC`eCpQZvVah~lYk{fAgd`lt+F@ZTf8$G%Z zur+MI%95`Lu1ydBgeYDrtArH*Jheo?8}12z?tB1CTyxgYq_7D7l-^<%2Cfy&z(qTI z)J+4EfZM5sN&pwA3Am@bN1b(BiW&ss_{`d;Nx1anNod5*_<03{U$&-ZW z0?aKb{J%Q;@^`4a|NogWF^V)~cT*;*Y{|Za!bBxnkX@FU>_Q>S5GAs;ScYt=$eQfC zG?whLM;Jm8W(b2>K4}_fKZr8hJjG_M><5axt`1gIXRq7%7_19rvbiKzHgsnhy}bj_2Y7lX$URMPGl$4_2kDwQXzh})~v%CLnl@x6CVCuP!A zD&u9RdStrZqqArIP>IjOZE(23Kgs#~h}7PxJ_RL{We%OSoG;$LS+yJ`$n~S?MyRgj zR|K&i*4&I^hSVP+dj(%FUTeJV;2NWP2J}XqKm^O7b;iajJZ56$yrnLqOmZ{}nupn* zHwL{9b+yl`EOh%Q039y_fh+ph*{OyWk1;zo@sOW_aXOU+?|=jYss3dVzu{|dkF%5L z@9Jb!i)LR+Zgexoci12R+6OnJ@&-58tgoo0pLHS#mL@keq*X4Qew=lLp$w}HOx+()xVefF52e|S;3at>2wqKfIjsA>(^i;I}l{HIZ5J__L&C|cvUr>GsFQg=Bp~#aT zm$enhV}LKRDWTWyPwt*;vX}{q#67$-BIbF%`YKWKEjS%_Q#J0#$^Z5cB?&-*KZk{P zxuOPypEuS;v!^;KM`|=-jiO!P+tkg47g)%xe}jJD-4pfNSq-U5MT9J`CBk|#VI5s- zX%6U4gRc`G`s}3%&Um(%An8s<)Q2xWbQ6pX$e!?@nS(8^@WoIGwEcHW!qf~03jr~O z!=ji@8t`PF3Jvh|Maqske17{?wF+A)0F@NEmRBqs&g}^CQ8*l}TMm$1psbgF;$Psk zO4n%9K_wo$aD}GwnMgakZVf<(Sa}cPlczMHf5B1GCv}X1SJ=|h$Bqmk0%ibc>$2iL z0K*tZ0`jEOnyrlZvYtWY5Fi6Y8&JJm=5YLyhdre&qMNHu(o=ecvjG!)#{H}*1H>jr zLoZ&w0RUe1)5A*b!_`gwX+kv&S>S)f>Il5aG(H>N(;$hqV{Z;hk`abZ3WZJmjTr3< zsjHC-;kjrmLDvKTb$3H*?MbqohXg%R79q{ExS5b8+o~NfY)w^_Y1=zwxpkAmei|4R z9V1v>;r8SL*@Fa$3-d>3UlqJ1HqLV$cr?R$gSpYFvP^2irO2VTf95>l?pR0>feCOL zBZ%GlGAj2wJTQKSo9=VJhipesRqxA$ zzRrAPweI06Di%Cj(hjc7srK$j@#WosAw*3ja)9&kgOa27;s9XCq6o}N0P^Ec`_^{A z+k_NCR+$AiE{;2qVk1r!6sMZ!nw6R(@dLcj9A;MS|FMd4N|w!efI$pCc)%C?ueMPI zPuJ}JM=)A*X?6T*iaPQnKb(EB%spjIE!PeHzy)8%8>$mVziu5_%&mIgh37{tNm;*`1q9PuhRtUA4fp`3_S?E5(kz)~NHU|V-a&4StR z#pKh;W~l7-3_&e+yoPyzPAmXS7OLnP}AFoyiV~B6^5b(%VOc@K{;4S@(ADDP8 z(u7%d&zQ%~Nk#(na?j;9-SQ%|y}g4~1r{}%!J+yHIbtpxF6+I*_a*lv%6D>u`AA`w zMBf$wbb0|e=ut1lsmDK8N)!A0%gac47Ol96`}s)}mGVlbur>U;Bgi&BI-a|D=Xp&4 z{J?FiZPx1)_T&6_;Ts!evn%%lywPVo>q<|vwpX|7?x@VmZ@fn$IOT7$>^29&pr2* zgQ_N+AR$I~hs)xjoob0sDyjiG@?})za_PcEOGjVf-XR{wR{qG!{msJ|+zGned$&2` zb_ZViu>=ycqu>FAbXub*SHE?X@Cbs?F-v3v1Oib~@%DP#0ML^y1-J;{&sFcVJmA5e5Fb52=>;2-arjfbyLJWz_^oUJ z>1H_BY#YhQ@@{`{&Mvcb*Bu=bs4?@Rbj<2eDgQBW<=xFI@{kLgz^f4YeXJz_h;8QZvj~h+8ZHg)(5lgCYDSB1A2{K6y5xQ-GB-pjdo3; zS5$cz{lORZoOjdyf1yPfn8S<)XuNmft;T}k+98dHW!AY-|6)}7!L2sIe)wEao8I!3 zC_mjCWvIeY(l)xPr$rkc%>c0olEYs z^(tOuZj^BXLYj7mM|2;0KUUn_aF{=wRs55=3LpZWeGoHoY~4W##@`D`B`~rE z&E~Z08sQRj-BY;7C+L|rJ*-;LZ~(u|3axBEL3f_}#2@#oT&Tp74Vo-TN?_vN?-;_38HZ*0D_S zAzKw#v`sPEzQ<{Bh72Tg9y-GtlpzyAJ18S=T)V0v$o3+IZg87zF~K$L3#AR$xp7#9 z9S70UP5G?gT2|c?7MwQKQc0pK+zXcN$Yynh5hT<&G` zY`4~3n;ma&6JItZAoLi=QQn_{1$MM*rjrTUWELlybt>h`QsGenKKOeE~9(#c-uL#p0kk80e_7WRL&#sa) zKY-jB3^&d+#o{TaSjG`Rv(l-)G&1&rntsm9nLBnGAnEJOZSZaY zacVFAMFXtpbve7S0YWG^2*vS7FhWwaF0G?e$|k~v#V;-_X!z*nTu!bqAAkejU&&JI zKu}Ado!=|jN~+t%9bX_A*LmsRCGwV==YYfVqvygVn;5R_`w6KN&%Z+f|jmcH89h2>I5T;igu*>}aq)=m$Y)FIhm+UJ@hjoS={7apO*a zC3I1ifEccfZCMVqA`kBf%M$<|7ate4gVt#+J-jpS-?Pv9sQkg7i)kn59EQ{he7!zp zCA%o&@k|eSUAN>Q4uzyo(|PDzS~k%tisb%@PJ%JwIDZ-PHZ4~mTuj;CVDiZ?G5&}= zvHIkWPB#?kwczIuMvm7cLIDCU3r|U(c9)>9^#h3&ZM(-gsF!7!Yj;Nana|JyJa~6q zHg*f$N#)kCOb56q5tJ(6Y(EcVy8{%sriR?wCIUB~js(2gR^wI%ov9x4SFMhUzbElr?37T3x$%2`QSgxyRks9E9~|o5uCock5GzUg$zl+wuL?E?Q-eSvCR$q} zkcasiV{(uJ+`jL?vI?AgD4NTC2NL?6qEFfXtE0D+M@3QJFB_w~teLhvibW-Ux~q|y zl&I|2qbU!Q4|sBuMOg{51f(+-t6L|oaN|<)XdC49;0g|}*tDo&ARUpD19l*yEDkvy zjsULk_s#*C@kD;nSYEGY$kaKa!FzN}ZC-yz*li`)YoSw_tg}-DT+&IpXK3MG9@U%&cW#tcv+Fmf zqW$m8++E*D zIm_|nN9Drd_q!kD4BecU*IV0-s6d`-M9%`8^0E~YKh8y~crVJJ2EiM{Fd%-o)_OuwAUqx{(`A(bP za;_OC38B38ICY-H)}@>v+X*{L(Bq9M3-gj8HAi*ZRz0k1+ECQ%%(s5J7oDB#3|E!~ zFiYT7zpVvK8Pxl1XG3k+Z&%3nzA%Pq z+=yKkbau>Ol#$ef+-?P)I6$WbDp?XG$nhLj`+6@P#ytQmScxZL0kuxDp&ITLi;pt0 z+)BAlEDdev2XP-bm@dUaKDum)`mF*CKI0wE-OVrLJwXvRISeTR@R=;RXzed3s?7Ie z1?K*@R!EY~ROR^@JBQ5qnTES7fstTgBWiU}CPR*Jv(*dLSjjXG;(f7j&+ROs@oZN6 zUVUTg7{Op}{R!zX{li{IbGZPJtGmSPc# zi*4Ln;gun0>Ad3;r#1#Q{GRMzFQp-+)mw zw2sn@X$>za;T)Z!OM!;_oZSE+*X6Ow3r<;{`J+U627>VlD8Ky)Muuk0%jq%);R86% z$x1=U{V6>jbk_PksfT_IUk^7wcGZ&Y0f~gAC6tsS|3PnVUaP7Lx3X^EqHTT&-Hq;O zDDM>cS$w4m3g|AEK)ePNo*Ymn2dsbq%P++VX`M0jvF%z14>%tXz-s~}7##n`Js7W5 zg}#%QA=P*vdv7N7>ml-D>h5@*Um*f#F&ncy>JZA@6^V29aMxS%#&|EIiG-T?m!!p0 z@~|>S|8!%U!Tqs&5Qcy2vof78hmO9m%#mOX`S7k%|HE-t2lqEhwyuh4I^Fj_jKlWc z4n`%PgcVzU_HlV;BBd-eBb3Ya(IkS;&RvSXR;DWK=n-L_Z0UM>s0Q|nkBqcNxfLb& zg{)mkw>( zxg7hh^SaID2kGut>g&0-tjH|hyduo(8~xl$IJP?hHNR+-bsKXHpNQqy`|=FS7q+KH zZ_ZF1uc|B;VGIn^YneXj$D2I~DOUU3?Btv|Z)f+wYudDHe^Z2Eutb5@sK@Ahh-ta6 z^6E$Fx|GayIG?PI-C`fb>D8n6eBmDQ>BjtF@i&SoGhcZbF-Tvmw8(anoMNz)x=&m4 z#zKkm@OD?3vKa_LEYi!_CITi4_GcPA;a0ULfh4LSuLhFpM58zG`bSm zdAi5#N@eDi8!OJVGH&NaFg_sY^7H(Jm$;G&nji{ap3e#!)_C$9LaQ7c1w-~77jj$*FHa`p zz(iVh;}Lpjj2Q-ld62nWuSDU&&IB|)Dy#gd0V`3Y%(K%J&GvIU0lf&PJH2=Jw1Ir13lkvnkVD&zpZ57LEehBSL~=$QkG(H7w`(S6zBCS z*EU@4EL+%>Gcc7=(C{wC1>=fwlZ(;8>?ZW>#2w-dTb1vYRiWTE{J<;0elPg6lf`yG z8}e5l`Sfb9dv9!SQDdxlqB-5G{xvKy^vGtGe=%R4diTq2MLIrxB3&>TdC9Q}m*Zty1QChfojwqut^DijyJF|R{~YT2GGv~FTRj3=fXDv( z->)sELh1fPA=O0|>wJtil~cjsr4cO(3unblyAWXZMyFx;+UJcn z`o})0DyWsKDb#%`=^}lbgeAIYsV%O)B!?MG+stg;IpB*ek@Z>&E^L}(jxIsp-pTwV zRvC-FWQN5Umz--DJCOZaHPE&H&AVb572My!jm{#ag*cl>Vh~mbWM^!AQRYARjEM}v z(A@*a%&E^(2r-QK1J2V$BW?i5S#g8J(h?>M!;ciA$`$JC&uNxZe+HHyRr4SsxV%Pb z>Tcae_@tE_B7?m9K&s(~*B`$iVZQQPVkCHbck#nu!0v1Dp}osrKL_f zj80-9-uk2F_`15%^_tOa&S_qS(-=##EEG~>eW{Qmmys8X-Zi}%MLPt+cDe`Wbaf@4(GV^eB}i7wEDFod zJ0vG*H6%hI)4B2HcnUGK)ZAj?Xk}=?r`@0LJEo2*$YBa;TrEl%x1?|tQ~dZ}X_4Us zV|sC_{zz;>t@dJ5suk51;?4UVxw)TODWAR{tGfTL;Y)dB^T`<{U7B-c0K?A literal 0 HcmV?d00001 diff --git a/GMERemittance/Library/CountryInfo.swift b/GMERemittance/Library/CountryInfo.swift index 3081d1de..56489135 100644 --- a/GMERemittance/Library/CountryInfo.swift +++ b/GMERemittance/Library/CountryInfo.swift @@ -72,11 +72,12 @@ class CountryInfo { "ae" : #imageLiteral(resourceName: "flag_uae"), // uae "uz" : #imageLiteral(resourceName: "flag_uzbekistn"), // uzbekistan "by" : #imageLiteral(resourceName: "flag_belarus"), // belarus - "mn" : #imageLiteral(resourceName: "flag_mongolia") // Mongolia + "mn" : #imageLiteral(resourceName: "flag_mongolia"), // Mongolia + "en" : #imageLiteral(resourceName: "flag_uk") // english ] var defaultCountries = ["Nepal", "Cambodia", "Philipinnes", "Sri Lanka", "Vietnam", "India", "Pakistan", "azerbaijan", "Bangladesh", "Belarus", "Georgia", "Indonesia", "Kazakhstan", "Kyrgyzstan", "Malaysia", "Moldova", "Mongolia", "Myanmar", "Russian Federation", "Singapore", "Tajikistan", "Thailand", "Uzbekistan"] - var defaultCountryCodes = ["np", "kh", "ph", "lk", "vn", "in", "pk", "az", "bd", "by", "ge", "id", "kz", "kg", "my", "md", "mn", "mm", "ru", "sg", "tj", "th", "uz"] + var defaultCountryCodes = ["np", "kh", "ph", "lk", "vn", "in", "pk", "az", "bd", "by", "ge", "id", "kz", "kg", "my", "md", "mn", "mm", "ru", "sg", "tj", "th", "uz", "en"] private var defaultSendingAmount: [String: String] = [ diff --git a/GMERemittance/Module/Register/Application Logic/Interactor/RegisterInteractor.swift b/GMERemittance/Module/Register/Application Logic/Interactor/RegisterInteractor.swift index 606488e2..7510fcff 100644 --- a/GMERemittance/Module/Register/Application Logic/Interactor/RegisterInteractor.swift +++ b/GMERemittance/Module/Register/Application Logic/Interactor/RegisterInteractor.swift @@ -54,35 +54,14 @@ class RegisterInteractor { // if password.isEmpty { - error = error + "\n Password cannot be empty" + error = error + "\n" + "password_empty_error".localized() isValid = false } if confirmPassword.isEmpty { - error = error + "\n confirm Password cannot be empty" + error = error + "\n" + "password_confirm_empty_error".localized() isValid = false } -// else { -// -// if !isValidLength() { -// error = error + "\n Password should have at least 9 characters" -// isValid = false -// return (isValid, error) -// } -// -// let validPassword = hasNumber() && hasLetter() && hasSpecialCharacter() && hasUpperCase() -// -// if !validPassword { -// isValid = false -// error = error + "\n Password should contain at least one symbol, one capital letter and one number" -// return (isValid, error) -// } -// -// if password != confirmPassword { -// error = error + "\n Passwords does not match." -// isValid = false -// } -// } return (isValid, error) } diff --git a/en.lproj/Localizable.strings b/en.lproj/Localizable.strings index 24c9170c..d5e56c06 100644 --- a/en.lproj/Localizable.strings +++ b/en.lproj/Localizable.strings @@ -334,7 +334,7 @@ "delete_auto_debit_account_hint_text" = "Hold to Delete the account"; "no_lanugages_available_text" = "No Lanugages Available"; "swift_to_delete_account_text" = "Swipe left to Edit or Delete account."; - +"ok_text" = "Ok"; "english_language_text" = "English"; "korean_language_text" = "한국어"; diff --git a/my.lproj/Localizable.strings b/my.lproj/Localizable.strings index 6783bf70..9d6b4d58 100644 --- a/my.lproj/Localizable.strings +++ b/my.lproj/Localizable.strings @@ -372,8 +372,6 @@ "language_text" = "Language"; - - "english_language_text" = "English"; "korean_language_text" = "한국어"; "cambodia_lanugage_text" = "ភាសាខ្មែរ"; diff --git a/ne.lproj/Localizable.strings b/ne.lproj/Localizable.strings new file mode 100644 index 00000000..24c9170c --- /dev/null +++ b/ne.lproj/Localizable.strings @@ -0,0 +1,353 @@ +"login_text" = "Login"; +"new_user_text" = "New User"; +"hassle_free_transfer_text" = "Hassle free money transfer to your loved ones"; +"connect_local_community_text" = "Connect to local community"; +"earn_reward_point_text" = "Earn reward points and get surprise gifts"; +"login_title_text" = "Welcome To Global Money Express"; +"login_subtitle_text" = "Login with your email address"; +"login_user_id_text" = "User ID"; +"user_Id_placeholder_text" = "Registered Email"; +"password_text" = "Password"; +"forgot_password_text" = "Forgot password"; +"new_to_gme_text" = "New to GME? "; +"login_register_here_text" = "Register Here"; +"register_title_text" = "Register to Global Money Express"; +"register_subtitle_text" = "Register with your email address"; +"create_password_text" = "Create Password"; +"confirm_password_text" = "Confirm Password"; +"dob_text" = "Date Of Birth"; +"already_have_account_text" = "Already Have Account?"; +"register_text" = "Register"; +"password_length_error" = "Password should have at least nine characters"; +"password_policy_error" = "Password should contain at least 1 number, 1 letter and 1 special character"; +"password_match_error" = "Passwords does not match"; +"password_symbol_required_error" = "Password should have at least one symbol"; +"password_number_required_error" = "Password should have at least one number"; +"password_empty_error" = "Password cannot be empty"; +"password_confirm_empty_error" = "Confirm password cannot be empty"; +"password_capital_letter_required_error" = "Password should have at least one capital letter"; +"email_text" = "Email"; +"forgot_password_title_text" = "Need help with your password?"; +"forgot_password_subtitle_text" = "Reset your password using your email address linked to your GME account."; +"forgot_password_userId_placeholder_text" = "Registered Email"; +"reset_text" = "Reset"; +"kyc_fill_text" = "Verify your Account"; +"kyc_verify_pending_text" = "Verification in Process"; +"penny_test_pending_text" = "Continue the registration process"; +"complete_your_registration_text" = "Kindly complete your registration process with us to start using GME services."; +"verification_in_aproval_process_text" = "Your registration request is in approval process. You will soon be able to use GME services."; +"complete_penny_test" = "Please verify your primary bank account to complete the registration."; +"remaining_limit_text" = "Remaining Yearly Limit"; +"send_money_text" = "Send Money"; +"todays_rate_text" = "Today's Rate"; +"transaction_report_text" = "Transaction Report"; +"gme_wallet_statement_text" = "GME Wallet Statement"; +"home_text" = "Home"; +"branch_text" = "Branch"; +"profile_text" = "Profile"; +"help_you_text" = "We are there to help you \n (Available time 10:00AM - 12:00AM)"; +"cancel_text" = "Cancel"; +"reward_point_text" = "Reward Point"; +"available_balance_text" = "Your Available Balance"; +"gme_wallet_no_text" = "GME Wallet No."; +"auto_debit_account_text" = "Auto Debit Account"; +"about_gme_text" = "About GME"; +"settings_text" = "Settings"; +"logout_text" = "Logout"; +"logout_confirmation_title_text" = "Logout?"; +"logout_confirmation_text" = "Are you sure you want to logout?"; +"exit_confirmation_text" = "Are you sure want to exit?"; +"yes_text" = "Yes"; +"no_text" = "No"; +"recipient_listing_title_text" = "Select Recipient"; +"new_recipient" = "New Reciepient"; +"edit_delete_hint_ios_text" = "Swipe left to Edit or Delete recipient profile"; +"edit_delete_hint_android_text" = "Hold to Edit or Delete recipient profile"; +"delete_text" = "Delete"; +"edit_text" = "Edit"; +"add_recipient_text" = "Add Recipient"; +"edit_recipient_text" = "Edit Recipient"; +"who_to_send_text" = "Who are you sending money to?"; +"first_name_text" = "First Name"; +"placeholder_enter_receiver_firstname_text" = "Enter receiver's first Name"; +"enter_receiver_middlename_text" = "Middle Name (Optional)"; +"placeholder_enter_receiver_middle_text" = "Enter receiver's middle name"; +"last_name_text" = "Last Name"; +"placeholder_enter_receiver_lastname_text" = "Enter receiver's last name"; +"country_text" = "Country"; +"placeholder_select_country_text" = "Select country"; +"address_text" = "Address"; +"placeholder_enter_receiver_address_text" = "Enter receiver's address"; +"relation_text" = "Relation"; +"placeholder_select_relation_text" = " Select relation"; +"mobile_number_text" = "Mobile No."; +"placeholder_enter_reciever_mobile_number_text" = "Enter receiver's mobile number"; +"state_text" = "State/Province"; +"state_placeholder_text" = "Please select a state/province"; +"district_text" = "District"; +"district_placeholder_text" = "Please select a state/province"; +"email_text_optional" = "Email (Optional)"; +"placeholder_enter_receiver_email_text" = "Enter receiver's email address"; +"transfer_reason_text" = "Transfer Reason"; +"placeholder_select_transfer_reason_text" = "Select Reason"; +"save_text" = "Save"; +"first_name_error" = "First Name cannot be empty"; +"last_name_error" = "Last Name cannot be empty"; +"select_country_error" = "Please select a country"; +"select_province_error" = "Please select a state/province"; +"select_district_error" = "Please select a district"; +"address_error" = "Address cannot be empty"; +"relation_error" = "Please select a relation"; +"mobile_number_error" = "Mobile number cannot be empty"; +"transfer_reason_error" = "Please select a transfer reason"; +"todays_rate_title_text" = "Today's Rate"; +"you_send_text" = "You Send"; +"recepient_gets_text" = "Recepient Gets"; +"select_payment_mode_text" = "Select Payment Mode"; +"transfer_fee_included_text" = "Transfer Fee Included"; +"current_exchange_rate_text" = "Current Exchange Rate"; +"receipient_gets_text" = "Receipient Gets"; +"calculate_text" = "Calculate"; +"sending_amount_error" = "Please specify sending amount"; +"receiving_amount_error" = "Please specify receiving amount"; +"no_currency_selected_error" = "Please select a currency"; +"send_money_title_text" = "Send Money"; +"payout_mode_text" = "Payout Mode"; +"amount_detail_text" = "Amount Detail"; +"verification_detail_text" = "Verification"; +"pick_money_text" = "How would you like to pick your money in"; +"select_bank_text" = "Select Bank"; +"select_branch_text" = "Select Branch"; +"account_number_text" = "Account Number"; +"continue_text" = "Continue"; +"reciever_details_text" = "Reciever Details"; +"full_name_text" = "Full Name"; +"mobile_text" = "Mobile"; +"transaction_detail_text" = "Transaction Details"; +"payout_country_text" = "Payout Country"; +"paying_amount_text" = "Paying Amount"; +"exchange_rate_text" = "Exchange Rate"; +"service_charge_text" = "Service Chage"; +"payout_agent_text" = "Payout Agent/Bank"; +"i_have_read_to_text" = "I have read and agreed to"; +"gme_user_aggreement_text" = "Gme Remittance User Agreement"; +"agree_and_send_text" = "Agree and Send"; +"enter_login_password_text" = "Enter your login password"; +"confirm_text" = "Confirm"; +"alert_text" = "Alert!"; +"account_number_empty_error" = "Please provide an account no"; +"branch_empty_error" = "Please select a branch"; +"bank_empty_error" = "Please select a bank"; +"payment_mode_empty_error" = "Please select a payment mode"; +"terms_and_condition_title_text" = "Terms And Condition"; +"no_payout_currency_defined_error" = "No payout currency defined, please contact support."; +"select_bank_first_text" = "Please select a bank first"; +"receipt_title_text" = "Receipt"; +"transfer_success_text" = "Transfer Successful"; +"transfer_success_info_text" = "You have successfully transferred your money to "; +"total_payout_amount_text" = "Total Payout Amount"; +"gme_control_no_text" = "GME Control No"; +"gme_control_security_text" = "Please keep this GME control no. very secure."; +"share_party_text" = "Share with concerned party only"; +"transaction_date_text" = "Transaction Date"; +"receiver_text" = "Receiver"; +"service_fee_text" = "Service Fee"; +"ex_rate_text" = "Ex Rate"; +"total_amount_text" = "Total Amount"; +"total_sent_amount_text" = "Total Sent Amount"; +"done_text" = "Done"; +"request_to_cancel_text" = "Request to Cancel"; +"request_to_change_text" = "Request to Change"; +"transaction_report_title_text" = "Transaction Report"; +"all_text" = "All"; +"unpaid_text" = "Unpaid"; +"paid_text" = "Paid"; +"search_with_controlno_text" = "Search with Control No."; +"from_text" = "From"; +"to_text" = "To"; +"search_text" = "Search"; +"placeholder_from_text" = "Select start date"; +"placeholder_to_text" = "Select end date"; +"filter_by_date_text" = "Filter by date"; +"invalid_date_range_selected" = "Invalid date range selected"; +"no_transaction_found_text" = "No transaction found"; +"wallet_statement_title_text" = "Wallet Statement"; +"amt_deposited_text" = "Amount Deposited"; +"closing_balance_text" = "Closing Balance"; +"in_text" = "IN"; +"out_text" = "OUT"; +"particular_text" = "."; +"no_statement_found_text" = "No Wallet Statement found"; +"setting_text" = "Setting"; +"change_password_text" = "Change Password"; +"about_me_description_text" = "We are licensed by Ministry of Strategy & Finance to operate as the first Non-Bank Remittance Service providers in South Korea. Meeting all compliance regulations set forward by the regulators was a tough journey but today we feel proud about what we have achieved and how robust our operations are as a result of the hard work completed earlier. We are now ready with a 100% compliant and secured system that guarantees your money will arrive safely in right hands every single time."; +"app_version_text" = "App Version"; +"follow_us_text" = "Follow us on"; +"check_for_update_text" = "Check for Update"; +"change_password_title_text" = "Change Password"; +"current_password_text" = "Current Password"; +"new_password_text" = "New Password"; +"current_password_placeholder_text" = "Enter Your Current Password"; +"new_password_placeholder_text" = "Enter Your New Password"; +"save_password_text" = "Save"; +"password_policy_text" = "Password should be At least one sumbol, At least one capital letter, At leset one number and be at least 9 characters"; +"confirm_password_mismatch_error" = "Confirm password does not match with new password"; +"success_text" = "Success"; +"confirm_passowrd_empty_error" = "Confirm password cannot be empty"; +"profile_title_text" = "Profile"; +"personal_title_text" = "Personal"; +"personal_subtitle_text" = "Tell us a few things about yourself"; +"full_name_placeholder_text" = "Enter Your Full Name"; +"email_address_text" = "Email Address"; +"gender_text" = "Gender"; +"gender_placeholder_text" = "Select Gender"; +"native_country_text" = "Native Country"; +"native_country_placeholder_text" = "Select Native Country"; +"address_in_korea_text" = "Address In Korea"; +"province_text" = "Province"; +"province_placeholder_text" = "Select Province"; +"occupation_text" = "Occupation"; +"occupation_placeholder_text" = "Select Occupation"; +"save_and_continue_text" = "Save And Continue"; +"mobile_number_placeholder_text" = "Enter your Mobile No"; +"security_titile_text" = "Security"; +"security_subtitle_text" = "Let's get your bank connected"; +"primary_bank_text" = "Primary Bank Name"; +"primary_bank_placeholder_text" = "Select Primary Bank"; +"primary_account_number_text" = "Primary Account Number"; +"privary_account_number_placeholder" = "Enter your Primary Account Number"; +"verification_id_type_text" = "Verification Id Type"; +"verification_id_placeholder_text" = "Select Verification Id Type"; +"verification_id_no_text" = "Verification Id Number"; +"verification_id_no_placeholder_text" = "Enter Your Verification Id No."; +"source_of_fund_text" = "Source Of Fund"; +"source_of_fund_placeholder_text" = "Select Source Of Fund"; +"issue_date_title" = "Issue Date"; +"expiry_date_title" = "Expiry Date"; +"save_and_continue_text" = "Save and Continue"; +"upload_title_text" = "Upload"; +"upload_subtitle_text" = "Upload your documents "; +"view_sample_text" = "View Sample"; +"selfie_with_verification_id_front_text" = "Selfie with Verification Id Front"; +"verification_id_front_text" = "Verification Id front"; +"verification_id_back_text" = "Verification Id Back"; +"passbook_text" = "Bank Passbook"; +"passport_text" = "Passport"; +"submit_text" = "Submit"; +"kyc_document_note_text" = "Note: Verification Id can be your National ID or Alien Reg ID or Passport Front selected on Security Screen"; +"kyc_photo_upload_dialog_title" = "Add a Photo"; +"camera_text" = "Camera"; +"gallery_text" = "Gallery"; +"please_provide_all_images_text" = "Please provide all images"; +"camera_access_denied_text" = "Camera access denied. Do you want to change the permission from settings?"; +"galery_access_denied_text" = "Gallery access denied. Do you want to change the permission from settings?"; +"done_text" = "done"; +"kyc_first_name_error" = "Please enter a valid fullname"; +"kyc_mobile_invalid_number_error" = "Please enter a valid korean mobile number"; +"kyc_mobile_empty_error" = "Mobile number cannot be empty"; +"kyc_gender_error" = "Please select gender"; +"kyc_native_country_error" = "Please select native country"; +"kyc_address_error" = "Please enter valid address"; +"kyc_province_error" = "Please select province"; +"kyc_occupation_error" = "Please select occupation"; +"kyc_bank_name_error" = "Please select bank"; +"kyc_account_number_error" = "Please enter valid account number"; +"kyc_verification_id_error" = "Please select valid verification Id type"; +"kyc_source_of_fund_error" = "Please select source of fund"; +"kyc_verification_no_error" = "Please enter a valid verification id number"; +"kyc_form_fill_up_number_error" = "Please fill all the required details"; +"document_issue_date_error_text" = "Please select an issue date"; +"document_expiry_date_error_text" = "Please select an expiry date"; +"invalid_date_range_selected_text" = "Invalid date range selected"; +"start_app_manually_text" = "Please restart app manually"; +"permission_denied_text" = "Permission Denied"; +"no_internet_connection_error" = "Please check your internet connection"; +"select_currency_text" = "Select Currency"; +"search_currency_text" = "Search Currency"; +"no_currency_found_text" = "No Currency found"; +"no_country_found_text" = "No Country found"; +"select_gender_text" = "Select Gender"; +"male_text" = "Male"; +"female_text" = "Female"; +"other_text" = "Other"; +"no_gender_found_text" = "No Gender found"; +"enter_your_login_password_text" = "Enter your login Password"; +"search_country_text" = "Search Country"; +"select_country_text" = "Select Country"; +"select_district_text" = "Select District"; +"search_district_text" = "Search District"; +"select_province_text" = "Select Province"; +"search_province_text" = "Search Province"; +"no_province_found_text" = "No Province found"; +"select_relation_text" = "Select Relation"; +"search_relation_text" = "Search Relation"; +"no_relation_found_text" = "No relation found"; +"select_transfer_reason_text" = "Select Transfer Reason"; +"search_transfer_reason_text" = "Search Transfer Reason"; +"no_transfer_reason_found_text" = "No transfer reason found"; +"select_occupation_text" = "Select Occupation"; +"search_occupation_text" = "Search Occupation"; +"no_occupation_found_text" = "No Occupation found"; +"select_id_type_text" = "Select Id Type"; +"no_id_type_found_text" = "No Id Type found"; +"search_id_text" = "Search Id Type"; +"select_primary_bank_text" = "Select Primary Bank"; +"no_primary_bank_found_text" = "No primary bank found"; +"search_primary_bank_text" = "Search Primary Bank"; +"select_source_of_fund_text" = "Select Source Of Fund"; +"no_source_of_found_text" = "No Source of Fund found"; +"search_source_of_fund" = "Search Source of Fund"; +"select_dob_text" = "Select dob"; +"select_issue_date_text" = "Select issue date"; +"select_expiry_date_text" = "Select expiry date"; +"search_language_text" = "Search Language"; +"select_language_text" = "Select Language"; +"no_language_found_text" = "No Language found"; +"search_bank_text" = "Search Bank"; +"no_bank_found_text" = "No Bank found"; +"search_branch_text" = "Search Branch"; +"no_branch_found_text" = "No Branch found"; +"search_branch_hint_text" = "Type to search branches (Minimum 3 characters)"; +"search_account_text" = "Search Account"; +"no_account_found_text" = "No Account found"; +"select_account_text" = "Choose Payment Method"; +"no_result_found_text" = "No Result Found"; +"auto_refund_title_text" = "Auto Refund"; +"how_much_would_you_like_to_refund" = "How much would you like to refund?"; +"withdraw_text" = "Withdraw"; +"refund_text" = "Refund"; +"you_refund_text" = "You Refund"; +"per_refund_bank_charge" = "Per Refund Bank Charge"; +"penny_test_promt_description_text" = "Your bank account verification is required inorder to complete the registration. Do you want to verify it now?"; +"not_now_text" = "Not now"; +"deposit_reference_text" = "Deposit Reference"; +"resend_request_text" = "Resend Request"; +"proceed_text" = "Proceed"; +"penny_test_close_text" = "Close"; +"penny_test_title_text" = "Penny Test"; +"new_update_is_available_text" = "New update is available"; +"update_text" = "Update"; +"auto_debit_title_text" = "Manage Auto Debit Account"; +"are_you_sure_text" = "Are you sure?"; +"auto_debit_delete_confirm_description" = "You want to delete Auto-Debit Account!"; +"add_auto_debit_account_text" = "Add Auto Debit Account"; +"delete_auto_debit_account_hint_text" = "Hold to Delete the account"; +"no_lanugages_available_text" = "No Lanugages Available"; +"swift_to_delete_account_text" = "Swipe left to Edit or Delete account."; + + +"english_language_text" = "English"; +"korean_language_text" = "한국어"; +"cambodia_lanugage_text" = "ភាសាខ្មែរ"; +"srilanka_lanugage_text" = "සිංහල"; +"myanmar_language_text" = "မြန်မာ"; +"russian_langugae_text" = "русский"; +"vietnam_language_text" = "Tiếng Việt"; +"thailand_language_text" = "ไทย"; +"indonesia_language_text" = "bahasa Indonesia"; +"mongolia_language_text" = "Монгол хэл дээр"; +"language_text" = "Language"; + +"email_valid_error" = "Please enter a valid email id"; +"dob_valid_error" = "Please enter a valid email id"; +"user_id_empty_error" = "User id cannot be empty";