Files
red-valley/cache/files/kq_carheist/resource.rpf

2235 lines
102 KiB
Plaintext
Raw Normal View History

2026-03-29 21:41:17 +03:00
RPF2<00><00><00><00>jCQ CQu<00>x<00><00><00><00><00>**<00>*(<00>*' <00>\;<3B><00>;<3B>0$X$=#p#EpxpU<00><00><00><00><00> <00><00> <00>Q<00>Q/.fxapclientbikeJump.luaclient.luaeditableeditable.luaesx.luapoliceAlert.luaqb.luafunctions.luaconfig.luafxmanifest.lualocalelocale.luasharedsettings.lua
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cz <09>9<EFBFBD><39>&<1B><<3C>Sm<53>A:<3A>*.<2E> ,0<><Mu<4D>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD>3z<33>`n<><6E><EFBFBD>C<EFBFBD><43><EFBFBD><EFBFBD>{<7B> @Q<>ȶ<EFBFBD><C8B6>!`\<5C><1B>T<03><14><><1C>ϔъY"<22>`FXAP<00><>7 `<60><><03><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rld},<2C>U<><55><EFBFBD>Κ<EFBFBD><CE9A><EFBFBD>*<2A><>gyw 
<15> ]<5D><>"<22>`A<><41><EFBFBD><EFBFBD><EFBFBD>ň<EFBFBD><C588><EFBFBD><0E>\d<>Gl<47><6C><EFBFBD><EFBFBD>o<EFBFBD>=֞@<40><>!>V<1E><><19>`<60>:9<>]#HC<48>dx[CRD<52>N<EFBFBD><4E>c<><63>m<EFBFBD>"<22><><EFBFBD>D<EFBFBD><44><EFBFBD>!<21><><EFBFBD>*<2A>;$<24><>5b)c<1B><>! <09>:c<07>)V<><56><EFBFBD>I+7<><37><EFBFBD><04><>W<EFBFBD><57><EFBFBD>P<EFBFBD><50><EFBFBD>=dLOP6EX<45><10>a@rG<72><47><13>܋<EFBFBD>F<EFBFBD><46>ڈ<EFBFBD>͐RyV@<02>:֨J<D6A8>C(0ƺ<><C6BA><EFBFBD>Бg<D091>V<EFBFBD><56>}<7D>5 t<><74><EFBFBD><EFBFBD>`<60><><EFBFBD> <0A><><EFBFBD><EFBFBD>[C<>i<EFBFBD><69>B<EFBFBD>
~-<2D>F<EFBFBD><46><EFBFBD>nM<6E><4D><EFBFBD>D<EFBFBD>Gb<47><62>2d<32>0N4<4E>9<EFBFBD><39><EFBFBD><EFBFBD>ɧ(<28>-<14><>A<EFBFBD><02><><EFBFBD><EFBFBD><<3C><><1A><><EFBFBD>\!<21><><00><><EFBFBD>5<EFBFBD>M<EFBFBD><4D>L<13>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD><15>Q<EFBFBD><13><>Wq<57>ca<63><61>s<><73><EFBFBD><EFBFBD>Y<EFBFBD><59>J|+ <20><07>a<EFBFBD>w<EFBFBD>Fw<46>|}N<1A><><10>gw<67><77><EFBFBD>R/<2F><><EFBFBD>nj<6E>Xʾ<> <20><><EFBFBD><EFBFBD>ls<6C><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<7B><>[<5B><><EFBFBD>LxA <0C><16><>p<EFBFBD>/<2F>w<EFBFBD>/ <0C><05>JX<4A>l 0d<30>+[yͫ<79><CDAB><11><><EFBFBD><EFBFBD>G<EFBFBD>ڦ<EFBFBD>VK<56>g<EFBFBD>9Vo<14><17>B$<13>\<5C><>E<>GM<47><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԛ<EFBFBD>ߜ<EFBFBD><DF9C><EFBFBD>gu{<7B><>U<EFBFBD><55>>3<>5<EFBFBD><35><1B>'<27><05>D+K9:<3A><>TC<54>j3<04><>2 <16>̈́\Z]<5D><><<3C><><EFBFBD>j¦~̮<><CCAE>#\Pl<50>Y<EFBFBD> ҂<>7<>E<EFBFBD>y <0A>5<EFBFBD><35>C<EFBFBD><43><00>1<EFBFBD><31>M<EFBFBD>h<EFBFBD>22A<32>O<EFBFBD><4F>m('<27><><07>ǟ<EFBFBD>qg[<5B><>,<1C><18><><EFBFBD><EFBFBD>*<2A>$1<1A><><EFBFBD><EFBFBD>%<25>DY<44><59>DW<44>X<EFBFBD><58><EFBFBD>0K<30><4B><EFBFBD>D<EFBFBD>`B<><42>Ǐ<10><>P<EFBFBD>V<EFBFBD><56><EFBFBD>w<EFBFBD><77><EFBFBD>pH<70>k<EFBFBD><6B><EFBFBD>'<27>s<><73>;)w<><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD>֑<EFBFBD><D691><EFBFBD><EFBFBD>h<EFBFBD><68><EFBFBD>Q՗m<D597>6<1E><>z<EFBFBD><7A><EFBFBD><EFBFBD>#<23><>J <0B><><EFBFBD>v/<2F><>h<EFBFBD>i(<28>B:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\w<13><>;<3B>ur<18><>EF<45>v<EFBFBD><76>y^D<><44>xPDl<12>%<25><1A><>k<0F>"<22>|޸r<DEB8>e* <0C><>j<EFBFBD>1<EFBFBD><31>C.E<><45>NB<4E>j<EFBFBD>Hx<48>\<5C>3$<24><>^z<><7A><EFBFBD>}<7D><><0E>Y<><59>IF
<EFBFBD><EFBFBD><05>ت@:<3A>@g<>"O<> <0B>t<EFBFBD>O栗<4F>p<EFBFBD>;<0E>HE*ܣ<><DCA3><EFBFBD>
<EFBFBD><EFBFBD>8<EFBFBD>"<14><>O~<7E><><EFBFBD>WA<57><41>^<5E><><EFBFBD>U<EFBFBD><55><EFBFBD><EFBFBD>X<EFBFBD>}<7D><> Xlw<6C>g<EFBFBD>?Z<>f<EFBFBD>kb<><62><EFBFBD>W<>́<><CC81>Ʋ}<7D><>zW (<28><><11>bV<62>Px r.|'<27>ɰ<EFBFBD>y<06><><EFBFBD> <1B>
<EFBFBD>V<02><>6<EFBFBD>8<EFBFBD><38>p<EFBFBD><70><EFBFBD>a<EFBFBD><61><06><><EFBFBD><EFBFBD><02><>`<60><>0i)<29>U<EFBFBD><55>D<EFBFBD>9ɭM<C9AD><4D>~൞<><E0B59E><EFBFBD>磷. <20>8$a<1D><>)<29><>gxJ;Mf<66>ʰ<EFBFBD>x<EFBFBD>O<EFBFBD>t<EFBFBD>gq<67>c\<5C><><03>$<24><><EFBFBD><EFBFBD>0C=<3D><03>/<2F><>o~Y<>Y<EFBFBD>J
<EFBFBD><><7F><EFBFBD><EFBFBD><06>cLT<4C>^<5E><>6<EFBFBD><36> 4<>5<EFBFBD>+<2B> <0C>@^<5E><>x=<1C>i<EFBFBD><0F><><EFBFBD><18><11>'<27>ս<>Wi <0B><>&)^<5E>ݐ<EFBFBD><DD90>N<EFBFBD>q}8<>W<17><>>0h<30>1<EFBFBD><31>)B<>nP~<7E>N<EFBFBD><4E>ʩ<EFBFBD>b<EFBFBD><62>J<EFBFBD><4A>39J#<23>.v<><1E>*<2A>H(pO<70>Yp<59><70>f<13><><EFBFBD><17>v~<7E><><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>ⱱܯ<E2B1B1><DCAF><M<>Bf<><66>Bn<42>K<EFBFBD> (<28><><7F>"<01><>`O-<17>YI<59>T(<1C><01><>dy|<7C>c<EFBFBD>k-<2D>5<EFBFBD><35>v<EFBFBD><76>L<EFBFBD>S<EFBFBD>~<7E>B(<28><>CB<43><42><08>AD<41>q<EFBFBD><71>nJr<4A>,<2C><>r<EFBFBD><72><EFBFBD><EFBFBD> l<16><><EFBFBD>s<EFBFBD>`<60><>z<EFBFBD>"aq<1A><>;<3B><><EFBFBD><EFBFBD><EFBFBD><0E><><EFBFBD><06> - a<>F<EFBFBD>^F<>><3E><0E>6peU(6<36>I<EFBFBD>m˧HÄa<>?<3F>=>@<40><07>d&{<11><>xI<78>a<><61><EFBFBD>4.}<7D><>= <20>".9l M<><13><>Ԗ<EFBFBD>lq<6C> <20>®ߙ'<27><>)ꖌ12<31><32>y<EFBFBD><79><EFBFBD> <0C><><EFBFBD><EFBFBD><EFBFBD>a<EFBFBD><13>) <20><05>̆yɬ<><C9AC>z<EFBFBD><7A> S <09><><EFBFBD><03>}<7D><18>'<27>Ɔ<EFBFBD><C686><EFBFBD><EFBFBD>M<EFBFBD><4D>s<EFBFBD>ܗ<>4<EFBFBD><34>!<21>C<70><DF8D><EFBFBD>-<00>Ԁze<><65><>a2mL<6D>[<5B>kp<6B>Dd<04><><EFBFBD><EFBFBD><EFBFBD>S'<27>Ɵ)I<><49><EFBFBD>><3E><><EFBFBD>b<EFBFBD>OO,<2C><><EFBFBD><EFBFBD>12:-<2D>vA<76><41><EFBFBD><EFBFBD><EFBFBD> <0B>%P<><50><EFBFBD>ݎ<EFBFBD>[9<>Z<EFBFBD><5A>Z<><5A>m<EFBFBD>Fk{<7B><>8f"+^<5E>2<EFBFBD><32>x<EFBFBD><78>{U<>v<EFBFBD><76>Ü<EFBFBD>m<EFBFBD><6D><EFBFBD><EFBFBD><16><17>[<5B><><EFBFBD>
Q<EFBFBD>'<27><>H<EFBFBD><48><EFBFBD>i~<1F>s<08><>opwX<77> <0B>~}<7D>*<2A>_<EFBFBD>RR<52>P\<5C>A<EFBFBD>{<7B><><EFBFBD><EFBFBD><05>+<2B>$u<>d<06><><EFBFBD>#<1B>)U<><55>.@<40><15><01><> <12><>j<EFBFBD>.<2E>4%e<>T<EFBFBD>4<EFBFBD>?<3F>`<60><><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78> Ka<1D>1]<5D>e<><E699BC>2jaD<61><44><EFBFBD><EFBFBD><06><EFBFBD>91r<31> <09>\.)<29><>v<EFBFBD>~<7E>e<EFBFBD><08><><EFBFBD><EFBFBD>e<EFBFBD><65>9<EFBFBD>&<26><>䘮X<E498AE>n<>Jw<4A><77><EFBFBD>"@<40><>O'v?<3F>)<29>g<18>K0-%<25><05><><EFBFBD>H<EFBFBD><48><14><><EFBFBD><EFBFBD>{jԎ<6A>i<EFBFBD>E<EFBFBD>s<EFBFBD><73>9<EFBFBD>_%f;H{<7B>r_<72><EFBFBD>y|-G<><EFBFBD>OqI<71>cx<79><DA8E> <09><><EFBFBD>A=<3D>b<EFBFBD><15>:#6<1E><><EFBFBD><EFBFBD>4<EFBFBD>N<EFBFBD><4E>ֱ<EFBFBD><D6B1><EFBFBD>be]{q <09><><18><>*>"<22><>K<EFBFBD>tA<>,<2C>oYO<59><4F> 3X<1F><1E><><EFBFBD><1F>;%w<>n ~<7E><[6<><36>AIO<49><4F>y6<><1D><1B>Tm8P<>
<EFBFBD><EFBFBD>\<5C>Jt<4A><74><EFBFBD><EFBFBD>L*<2A> <0A>y1<><7F>{<7B><><EFBFBD><EFBFBD>t9<74><39>0<EFBFBD><30><EFBFBD>X<EFBFBD>r0<72>\<5C><0E><>ָ&T!<21>SSٿi<D9BF>&<11>/X<><58><EFBFBD>Qb<51><00>l<EFBFBD>(<06>'+<2B><>t<EFBFBD>܁:<3A><>pq<70><71>ui<75><69><EFBFBD><EFBFBD><EFBFBD>JO<4A><4F>6D<36><44><EFBFBD>9<EFBFBD><39>0Q؎<51><D88E>FM<46>Z<EFBFBD><5A><EFBFBD><EFBFBD><EFBFBD>r&<26><>{<7B> T<16><><1F>Us<10><>ɍe<C98D> <0C><><EFBFBD><EFBFBD>Bޥ<><DEA5><EFBFBD><EFBFBD>x<EFBFBD><78><08><><EFBFBD>+\<5C>ߚj<08>1ķ8*<2A><><61>#m<>XG
<EFBFBD>VI<><18>`Gb<47><62>_<EFBFBD><5F><EFBFBD>ɯ<04><<3C>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><03>?<3F>?<3F><>#<23><>Et<45>M@<40>r<EFBFBD>"
=^7q5"<18><>ߥ<EFBFBD>8m@<><7F><EFBFBD>"4<><34><EFBFBD><EFBFBD><EFBFBD>ۣ#<23><>Fud<<3C><03>VAM<41><14>d<EFBFBD>2<EFBFBD><32><EFBFBD>J<EFBFBD><4A><EFBFBD>ٸ$<00>}Ɠ[r㪢<72>s<EFBFBD>nB<6E> <20><><00> <0B><<3C>Pl<50><6C><1E>s8Cf<1F>E<EFBFBD><45>k&<26>,@tؠ֐<><D690><EFBFBD>0<12>9 <0B>r1a1FW<46>r<1E>'<27><>
<EFBFBD><EFBFBD>z<Kf<1A><>Z<EFBFBD><5A><EFBFBD><EFBFBD>.4b<EFBFBD>tv<><76><EFBFBD>O<18><>\8<><18><>a1t_<74>Rb<52><62><EFBFBD>?B^ɠ:<3A><>g^;n<>8I <0B><><EFBFBD><EFBFBD><53>Q<EFBFBD>5<18><><EFBFBD>@N<>ۨ<EFBFBD> <0C><0A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD>y<EFBFBD>xt.\|<7C><><EFBFBD>쮛L<ECAE9B><4C>YʛFM<46>p̙1<CC99>3 <0C>L]<5D><>2ؕc.<2E>g<EFBFBD>ʌH<CA8C><48>@/XSY<53>(wHC<48>%<02> l<04>%<10><><15>FY<>d<><64>S<EFBFBD>ב;@<40>&H<>X@<40>ϲ7<CFB2>)d<>4 vq<1C>Q<><17><>I<EFBFBD><49><EFBFBD> <0B>j<EFBFBD>nS<6E><53>K<EFBFBD><4B> <09><><EFBFBD>O<EFBFBD><00> ӄ]<5D><><EFBFBD>„<EFBFBD>5<EFBFBD><35>[<5B><>f3#<23>k~<7E><><EFBFBD>S<EFBFBD><53><14><><EFBFBD>j<06>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><>\<5C><><EFBFBD>SB<53><42><05><>OJ$F唏<46><17>'<27><><EFBFBD><EFBFBD>Cr<43>͉<EFBFBD><1A>(2v<02><><15>?6U,y<>e<EFBFBD><65>F<EFBFBD>q<EFBFBD>c<EFBFBD>`<60>2R-ʇ<><CA87>J<EFBFBD>,<00> <0C><>̶<EFBFBD><CCB6>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E><><EFBFBD><EFBFBD>p&<26>;<3B>3<EFBFBD>uZ<75><<3C><><EFBFBD>R<>[߀<><1A>}=<3D>`<60> <><7F>+<2B>~<7E><><EFBFBD><EFBFBD>Þ<EFBFBD><C39E><EFBFBD>n<EFBFBD>Z<EFBFBD>Xg<1B>DU<><55><EFBFBD>0<EFBFBD><30><12>1<EFBFBD><05>8E<><45>g<07>v<EFBFBD>C<EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>Y<><59>;<3B><><EFBFBD>Zwu߁<75>k<EFBFBD>r<EFBFBD>;<3B>MJ<04>=P<13>z/<2F><><EFBFBD><12>I<EFBFBD>X<EFBFBD>82)<29><>9b ȸ<>r<EFBFBD><72><EFBFBD><EFBFBD>C<EFBFBD><43>&<26>jH<6A><48>)<29>j+<2B><><EFBFBD><EFBFBD>f<EFBFBD><66><08>8ރy돍<79>$+4<>Ak<41><6B>2F<32>I<EFBFBD><49>p<>3<EFBFBD>S<EFBFBD><53>s<EFBFBD><73><19><>Y<19><>eN<65><4E><EFBFBD> _-Fx#6xƸp[߈L<DF88><4C>h<EFBFBD><68>]A<><41><EFBFBD>
G<EFBFBD>/<2F> pl<70>J<EFBFBD>J&^<5E><>7fXYÖ;J<>R<EFBFBD>M<<1F> <0A><>2J<32>!<21><>Տ) <09>6s<36>1N|<7C>8Y&@s<>=|zG[-Q<><51>9<EFBFBD>?<08>~EBZ%<25>r<EFBFBD><72>b<EFBFBD><62><EFBFBD>tͰ{G<>6<>~^k<><6B>/(<28><><EFBFBD><<3C>V<EFBFBD><56>x<EFBFBD>dU<64><55><EFBFBD>8<EFBFBD><38>:<01>rÌ8<C38C><><D5AF><EFBFBD>6'/<2F><00><>V<EFBFBD>^<5E><14><> #%<25><>FW<46><57><EFBFBD>|<7C><><EFBFBD><EFBFBD>I?<3F>"α<><CEB1>v<><76><03><1F>8<EFBFBD>e{;HC<48><43><0F>A<EFBFBD>^<5E>%*<1E><><1B><>0<EFBFBD><30><EFBFBD>hW%L<><4C>I-o<><6F><EFBFBD><EFBFBD><EFBFBD>ur><3E><><EFBFBD><18><>C<EFBFBD>op<6F><70>e<EFBFBD><64>BO5Ƶ<17>U<EFBFBD><55>U"e<><65><EFBFBD><EFBFBD>C:<3A>G<EFBFBD>ʍ<EFBFBD>"Vn<56><6E>!I5E<35><45><EFBFBD>U<05>3<EFBFBD>M<EFBFBD>Dƒ&<26><>\<5C>Ɩ^<5E>o<EFBFBD><15>])@<40>3o<33><6F>i<EFBFBD><69>6ՕE&<26><><EFBFBD><EFBFBD><1A>4<EFBFBD>fY<66>I~<7E> <20>f-<2D>bb<62><62>W;'DQ~<7E>GD2<><32>rF3<46>9U<39><55><EFBFBD>8<EFBFBD><38><EFBFBD>|x<>d<EFBFBD>׮<EFBFBD><D7AE><EFBFBD><19>0R<30>
<EFBFBD><EFBFBD><EFBFBD>S<EFBFBD><00>2<EFBFBD>*<2A>l<13>l<EFBFBD>8<EFBFBD>Ю<EFBFBD>!<21><>]=<3D><>+X<>k <02>P}<10>,a<><61>k<EFBFBD><6B><EFBFBD><EFBFBD>l<06><><EFBFBD>Kqн <0B><><EFBFBD>7<EFBFBD><37>_s<5F><<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><01>1<EFBFBD><31>6<EFBFBD><36>O<EFBFBD><4F><EFBFBD> ><3E>mhd1<64><1A><>ڏ<EFBFBD>H<EFBFBD>4<EFBFBD>2<EFBFBD>A<EFBFBD><41>_<EFBFBD><5F><EFBFBD><EFBFBD>,<2C>-<2D>%5<01><> s<>E?<3F>AW<41><06><>}<7D>ntw<11><>(<1C>ھ<13><><14>4<13>{<7B><><EFBFBD>]"-@L&<26><>Q<EFBFBD><51><EFBFBD><EFBFBD>Ɂ<><C981><EFBFBD><EFBFBD><EFBFBD>f<EFBFBD><66>H<05><><D994>_ <0C>g<EFBFBD><67><EFBFBD>KŌulVEW8=&du~6a<36><17><>ۥP<DBA5>&<26>%u<>z<EFBFBD><
_;<3B><><EFBFBD><EFBFBD><EFBFBD>;<3B>7<EFBFBD><37><EFBFBD>G7<47><37>Q<EFBFBD>k<EFBFBD>χ <0C><><1C><>^<10>0<EFBFBD>[<5B><>839<07><0F><><EFBFBD><EFBFBD>C+<13>HrmA<6D><41><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD>!<21>؛<07><><EFBFBD><EFBFBD>A@<40>4<EFBFBD><34>co<63><6F>+ڧܞ<DAA7><DC9E><EFBFBD><EFBFBD><><C38C><EFBFBD><7F><07><<3C><13><0E>z<><18><11><>Zi񧟥Jj<1D>1e<31>T<EFBFBD>pFXAP<00><><EFBFBD>>H<>E*<2A>%<03><>r<EFBFBD>\ ☧<><EFBFBD>_N<11><04><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>c<EFBFBD><63>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1E><><02><><EFBFBD><EFBFBD><EFBFBD><50><C8AE> Bb<><62>fu7@ڗ<><DA97><EFBFBD>dX<64><58>{0<>K<0E><><EFBFBD>g<EFBFBD><67><EFBFBD>.Źy<C5B9><79><EFBFBD><EFBFBD><17>P<EFBFBD><50><EFBFBD><EFBFBD> qʸ?<3F>ؐ?b<>+<2B>jF?<<3C><>I>W o<>mG<0E>f<EFBFBD> |?Qx<51>a<17>
-<2D><><EFBFBD><EFBFBD>jGW<47><05>i(<28>Z<EFBFBD><5A><EFBFBD><EFBFBD>}<7D><>L<><4C><EFBFBD>xEp<45><70><1A><>)<29><>7<><37>'<27>Ƒc<C691><63><EFBFBD>i<EFBFBD>4<><34>B<EFBFBD><42><EFBFBD>3N<33><4E><EFBFBD><EFBFBD><EFBFBD>Ĩy<C4A8><79>L0<> <09><><?<3F><19>H<><48><EFBFBD>y<EFBFBD><11><>O<EFBFBD>M<EFBFBD>J<18><><EFBFBD><EFBFBD>s<EFBFBD><73>è?<3F> <0B><>0u\<1E><><EFBFBD><EFBFBD>w<EFBFBD> b<>G_<47><5F>ܞ<1E>$<1A><><EFBFBD> Z[<5B><><EFBFBD>\<5C>2<EFBFBD>}3 <0A>C@<40>X<EFBFBD>e<EFBFBD>i{<7B>T<EFBFBD>
ڶ<EFBFBD>_<><5F><EFBFBD>{<7B>: `U<>p<EFBFBD><70> <0C><><EFBFBD><EFBFBD>+R<>J<08><>J<11><>*z<><7A> R<>&mKQ<><51>ICk<><6B><EFBFBD>+D<><44>͜<EFBFBD><CD9C><EFBFBD><EFBFBD><00>6<03>F<><46>Ts<54><73>><3E><>JJ<4A>Hs<48>xk<78>X<EFBFBD>7;G<>.B<><42> <0A>CY<43><59>}<7D>V~<7E>Z<EFBFBD>,<2C>!<21><>LȔ'f<><66><EFBFBD>c5<63>MI<4D><1D>xbBѐ<><D190>%85(<28>&<26>ᾧA<E1BEA7>xE<78>EoE<6F><45>
y<EFBFBD><EFBFBD><EFBFBD>|<7C>-<2D> <20><>S<EFBFBD><53>0<0E><><EFBFBD><EFBFBD>[
Ҫ<EFBFBD>Et1=<14>w<EFBFBD><77><1B><05><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<><78><EFBFBD>"afH'<1F><>o<19>ۦ<EFBFBD><DBA6>?<3F> ;,<2C>}<7D><><EFBFBD><EFBFBD>h S<><53>K<EFBFBD>xWU<>˥<CBA5><19>6<EFBFBD>եm(<28><><EFBFBD>W<EFBFBD><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;p<06><>ee๛<1C>Yo<59>ikn4<6E><34>׮<>8<EFBFBD><0E><>W<1D>^<5E><>%<25>dz<64><7A>b<EFBFBD>v<EFBFBD><76>en<1D>(&<0E><><EFBFBD><EFBFBD>Q8<51>$<14>9<EFBFBD><39><EFBFBD><EFBFBD>wanh<6E>{<7B>e<1D><>d<EFBFBD>h=hnR<6E>.'O~<7E><>/Mt<4D> <20> <09><>O<EFBFBD><1F><>i<EFBFBD><<3C><><11><> k$<0F>#<1C>q<EFBFBD>HI<48><49>ޏ<EFBFBD>e<EFBFBD>X)?}<7D><><1F> W<0F>@<40><>2<1A><><EFBFBD> <20>Ia}.*B/<2F><><]/<2F>h_<><5F><EFBFBD>5<EFBFBD><14>$<24>i<EFBFBD><69>#<23>d<1A><07>,u A<05><><EFBFBD><52>^<5E><><EFBFBD>5<EFBFBD>$<24>q<EFBFBD> <0A><15><><EFBFBD><EFBFBD><EFBFBD>[*<2A><>Eu<16>(N<18>] <0E>nAn<41>]<5D>X<EFBFBD>$ <14><>@<40>I<EFBFBD><49><EFBFBD>+v<><76>, J><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:ʵ!<21><>;o<>u|<7C><><EFBFBD><EFBFBD>@<40>N<EFBFBD>DW<44>^R<>,zEԍ<45>E<16><><EFBFBD><EFBFBD>d<EFBFBD><64>Xrzk<>cgF٩<46><13>t<EFBFBD>ƿӅ<>-<2D><><EFBFBD>˗<EFBFBD><CB97><EFBFBD><EFBFBD>{><3E>/@k<>g<EFBFBD><EFBFBD><E297B0><EFBFBD>?<3F><51>Y<EFBFBD>p<><70><16>"E<12><>dG<64>}G<><47> <0C>B<EFBFBD>?Y<><1B>Lz<4C><7A><1C>qSq5<71>5<EFBFBD><35>x
<EFBFBD>U.<2E><> <09><>ж9쳼`"9=<3D>*[4<>#<23>2<1B><03>Bov^<5E>7<<3C>Hlx<6C>yV <1C><><EFBFBD>b<EFBFBD>G<0F> g<><67> i<0E><>}<7D>9<><39>-&Qٜ<51>o<EFBFBD>q4j˗.V<>pm<70><6D><EFBFBD>R<EFBFBD><52><EFBFBD><EFBFBD>Z<EFBFBD>IO<49><14>m4w<34><77>}<7D><03>h<EFBFBD>-<2D>]<5D><><EFBFBD>"<22>QI<51><49><EFBFBD><<3C><><EFBFBD>_َWNNc<>4<EFBFBD>N0Oݡ<4F>)JZ<>)@C3<43><0E><>*<2A>|<7C>ա<EFBFBD><D5A1>+<2B><1C>o<>?<<3C>4'=<17>ch<63><68><EFBFBD>^:Y<>ւ<EFBFBD><D682>O<EFBFBD>G<EFBFBD>\>o<14><><EFBFBD>Zva<76><61><30><D0B7><12><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l)l:]<5D>(.<10>-<<3C><><EFBFBD>B<EFBFBD>N<EFBFBD><4E><EFBFBD>8<EFBFBD><38><EFBFBD><EFBFBD>L?8<>I&<26><><EFBFBD><EFBFBD>WR%u<>=jZ<6A>o<><6F>9<EFBFBD>A<EFBFBD>s<EFBFBD>N<EFBFBD><4E><EFBFBD>R۟d<01>q<EFBFBD><71><EFBFBD><EFBFBD>6`!<21>1p,<2C><><EFBFBD><EFBFBD> <0B><03>5<EFBFBD><35>l<EFBFBD><6C> <20>0U/<2F><><EFBFBD><EFBFBD>_<>5<EFBFBD>C<EFBFBD>)F>Pn<50>"<22><><EFBFBD>a<EFBFBD> <0C>)<29><><EFBFBD>F<10>&G<><47><4B>q<EFBFBD>%g,<2C> C<> <0A><>|<7C><1E>h`<60><><EFBFBD>N<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD>ѳ <11><>1?<3F>P<>8=<01>\<5C><><EFBFBD><EFBFBD>W<EFBFBD>N<EFBFBD><<3C><>vv}<7D> ǯ<>n<EFBFBD><6E><EFBFBD><EFBFBD>[<12><><E28FAA><EFBFBD>T(<28><>_n͏9<CD8F><76><D28A><EFBFBD>Z<1F><>!y> <0C><><EFBFBD><EFBFBD>r(<28><>}<0F><>؂<EFBFBD><D882><EFBFBD><EFBFBD>lpY<70>&<26><><EFBFBD>\iQ6<51><36><EFBFBD><EFBFBD>r}yo
6<EFBFBD>A<1D>y<EFBFBD>Zsu<73>E<EFBFBD><45>6<EFBFBD><16>k<EFBFBD>6j<36>W<EFBFBD><1D>̀Pu<50>s<EFBFBD>_T<5F><08>O<EFBFBD><4F><EFBFBD><12>)#<23><>Q<EFBFBD><51>J <0C><><EFBFBD>Jr@<40><>LRO<52><10>) <09>tV<16><>@v<><76>6B<36><42><EFBFBD><EFBFBD>+X<><58><1F>6<><36>:<3A>4<EFBFBD>M<EFBFBD> s0fM{+T<><54><12><>{<7B>%?<3F><><EFBFBD>T<EFBFBD>Ӹ6<1D><><19><>6<EFBFBD><36>dф+E<>><3E><14>I<EFBFBD><49>h<EFBFBD>*L<><4C>V2 <09>Χ<7F>q<EFBFBD><71>S?#<23> <0A><01><>esq<73><71><EFBFBD><EFBFBD>W<EFBFBD>>[=<3D><><EFBFBD>a9<61><39>ϧ<EFBFBD>C<<3C><>)<29><>F<>j<EFBFBD><6A>ZW<5A><57>*u\<5C>p<EFBFBD><70> K<>: I<>٠ʴ<D9A0>Hp4g<>d<EFBFBD><64><EFBFBD>%<15>R <0B>H@<40>$@<40>G<EFBFBD>xN<>tS<1E><><EFBFBD><EFBFBD>E<14>9<EFBFBD>@<40>삭u<EC82AD><75>?<3F><>ا<EFBFBD><D8A7>%<25><1F><00><><EFBFBD>X<EFBFBD><58><EFBFBD><16>=<3D><>8<EFBFBD>WVZp4<70>h<EFBFBD><15><>]<5D><1A><52><C5A7>s&<26>-@<40>{<7B>;<3B>b<10>XRĝǁܚ<C781><DC9A>]5<><18><>WD/J<>u<EFBFBD><75><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>;<3B>a<EFBFBD>`<60>n)&u<>Վ#2<>V<><56><EFBFBD><EFBFBD><04><><EFBFBD><EFBFBD><EFBFBD>Lʿ=<3D><>7a<37>w<EFBFBD>ܒ!<21>Q<EFBFBD>؛<EFBFBD>ʎ<EFBFBD>!<21><><EFBFBD><EFBFBD>_<EFBFBD><5F>m<EFBFBD>;9);<3B><><EFBFBD><EFBFBD><00>Z<EFBFBD><17><>ԎRv<52><76>u<EFBFBD>H<>zo<7A>K,<2C><><EFBFBD><EFBFBD> <20>Y<EFBFBD>a:<18><>r<EFBFBD>!О<><D09E>.<2E>UU<14>4"*<2A>Y_8<5F>+<2B>Û<EFBFBD>q<EFBFBD> S<>5V<35>wO]<5D><>!I(<02><>5}<7D><><EFBFBD>4<>V<EFBFBD>B><3E><><EFBFBD><18>`<60>JP<4A><50>ª<EFBFBD>P'(0<>A<EFBFBD>aD8<44>~d<>մ<EFBFBD>i<EFBFBD>b<EFBFBD>F<EFBFBD><01>6/<2F>a3<61><33>]p<> ؓ#<00><1B>xK<>4<>&<26><>6<EFBFBD>q<EFBFBD>!@[<5B>܂<EFBFBD><DC82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B<EFBFBD><42>5З<35>4&<26>7m1<1B>{<7B><>LN<07><>ŋ<0F><>n.<2E><70><CAA0><12>\5<><35>r<EFBFBD><72>X@F<>l<><6C>m<EFBFBD><6D><EFBFBD><EFBFBD>zQ<7A><04><><EFBFBD><EFBFBD><1B><>I<EFBFBD><49>q<EFBFBD><19><><EFBFBD>>!h<>z<EFBFBD><0E>C<EFBFBD><43><EFBFBD><EFBFBD>pjg<6A><67><EFBFBD>?<3F><01><>Nʂ0<CA82>AaX<61>Ғy<>}v3<76><33><EFBFBD><EFBFBD>IIpV<70><56><EFBFBD>:<3A>z|<7C>ij J<><4A>n,.lkû) :<3A>7<>~<7E>n<EFBFBD>#<23><07>`c<><63>M3Z<33>M8ȁ<38> <20>Xd<58>Ә<EFBFBD> q<><71>˕֤sn<73><6E><EFBFBD><EFBFBD>;*<2A>$u<><75>YݸweͳrO<72>ي<EFBFBD>^<5E>_<EFBFBD>ñ8<><38>'<27>N-<16><><EFBFBD><EFBFBD><EFBFBD>{<7B><>C<>W+j<><6A><EFBFBD><EFBFBD>e=+j<>a<EFBFBD><61>iR<69><52><EFBFBD>8^<5E><><EFBFBD><EFBFBD>*ţQ<C5A3><51> Xb3<62>r<EFBFBD> 0<><11>-qC<71>h m<0E><>0)m<><6D><EFBFBD>l**<2A><><EFBFBD><10>n<EFBFBD>c<EFBFBD>XBM o#<23>~<7E><>YV T<0E><><EFBFBD>-<2D>rT<00><>ߟ<14><><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>"<22><>-Vw"A*<2A>
?a͚<61>w<EFBFBD>0=U<><55>J<EFBFBD><4A><EFBFBD>E<>q<05><>A;<3B><>a<EFBFBD><19>B<1A><05>^<5E>:<3A>S<1F>͸<EFBFBD>$<24>GP5<>z<EFBFBD>gH
[<5B>A<EFBFBD>)K¬'<27><0E><><EFBFBD>6K<36><15><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>e<EFBFBD><65>9lGQ<47><51><EFBFBD><EFBFBD> 3<62><CCB3><08><>G<EFBFBD>g<EFBFBD><05><>*<2A>2<EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD>:<3A><>%<25><>1&<26><><EFBFBD><EFBFBD><16><>5<EFBFBD>Y<><59>Q<><51><EFBFBD>_<EFBFBD>¡<EFBFBD>.uQ<75><51>s<EFBFBD><73>Br<><72>$<24><><EFBFBD>1N<31>4t<34>\<5C><>7%<25><>%;<3B><1C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k|%r<>J<EFBFBD><4A><EFBFBD><EFBFBD>E<><45><EFBFBD>(ݢW<DDA2><57>[<5B><>o<><6F><EFBFBD>Ayg`F<><46>P$<24>aXG2L<32>N <20>_<EFBFBD><5F><EFBFBD><EFBFBD>:<3A>k=<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F>p<EFBFBD><70>wg<><67><EFBFBD>3h<33><68><EFBFBD>~<7E><><EFBFBD><EFBFBD><EFBFBD><03><>SG<53><47>e<EFBFBD>ܕ<EFBFBD><DC95><EFBFBD>C<EFBFBD><43><EFBFBD>\c<04> 8<1F>9<03>}<7D>Rm<52><6D><1E><><EFBFBD><EFBFBD>c`<16>-RV<52>R8yy<79><79><EFBFBD>n1V<31><56>%|<7C><><EFBFBD><EFBFBD>/><3E>ݓ<EFBFBD>Np<><70><EFBFBD>!g<><67><08><><EFBFBD><1B>]<5D><37><1B>S<EFBFBD>c<EFBFBD><63>qr0<15>ZO<5A>r<EFBFBD><14>GY)<29><>
o;<3B>Jݚʡ<DD9A>_<EFBFBD>YO]<5D><>(SXR<58><52>R<EFBFBD><52>D<EFBFBD>,<2C><>ǟ~<7E>⃇,<2C>Ȭ\<5C><EFBFBD><7F>V<EFBFBD>/BV<>#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ے<1B><>[<5B>xh9<68><15>)<29>JX.<2E>g<EFBFBD><67><EFBFBD><EFBFBD>><3E>{hg<19><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V^<5E>ɖ7<C996><37><EFBFBD>k<EFBFBD><6B>b<EFBFBD>sp<73>),<2C>B<EFBFBD>f<EFBFBD><1D>Ze<5A>o1<6F>>S_<><5F><EFBFBD><EFBFBD>TX<54><58>`<60><0E>-%<25>9*<2A><>P<EFBFBD><15>΄ѕ<CE84>=<3D>I<EFBFBD><49><EFBFBD>Z<EFBFBD><5A>S<11><>Ȱ<EFBFBD>+<1A><><EFBFBD><1D> <09><>l<EFBFBD><6C><EFBFBD>?C<><43><EFBFBD><12>^<#4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E>K<EFBFBD><12>A<EFBFBD><41><<3C><><EFBFBD>ŠOuA<75><41>N <0C>w<EFBFBD>ڹ<EFBFBD><DAB9>Vb<56>h<>C<EFBFBD><43>ge<67>w5|C<16>K<>J<EFBFBD><4A>4<EFBFBD><34>&t<><74><4D>^<5E>;<3B><><EFBFBD>9s<39>t.<2E><>1H<31>ea<65>'<27>چ<EFBFBD>w<EFBFBD>x<EFBFBD>+w<1D><EFBFBD><7F><EFBFBD>6<EFBFBD>Iuaj<61><6A><EFBFBD><EFBFBD>ւwIf<49><66>j<EFBFBD>b8.<2E> =<3D><>Ʌ<EFBFBD><C985>O<EFBFBD><4F><EFBFBD>di<64>C<><43>z<EFBFBD>߀<EFBFBD><62><C5AB>Z1߭<31>ՀU{<7B>\%UNN<4E>I<EFBFBD><49>Ձ<><D581><08>YU<>s<EFBFBD>Zw\N<><00><><EFBFBD><0F>ᱞF<E1B19E><46><EFBFBD> <0B>J
<EFBFBD>-<2D> <09>٨<EFBFBD><D9A8><EFBFBD><02><>Q<EFBFBD><51>W<EFBFBD><57><EFBFBD><EFBFBD>3<EFBFBD><07><>0<EFBFBD><EFBFBD>|<1E><05><><EFBFBD><EFBFBD>avP<00>vE<1F><>˪<EFBFBD>N<EFBFBD><4E><EFBFBD><5A><D5AC><EFBFBD><EFBFBD><37>o0)@h+8<><38><1A><>&)<29>z<EFBFBD><1E>10ZYrF<>g<EFBFBD><><11>L<EFBFBD>û<EFBFBD><C3BB>)<29>X<EFBFBD><58><EFBFBD>P[ <0F><><EFBFBD>_<>c<EFBFBD><63><EFBFBD>ճEy<>8<EFBFBD><38><EFBFBD>u<EFBFBD>@<40>=O<><4F>׾d~@/<2F>e-)<29><>P<04>j<'H<>N]<5D><>:<3A><><EFBFBD>R<13>@<03>=<3D><>lp?<03>\<50>"<22> <0C>y<15><><EFBFBD>DA*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Xc<58>{<7B>H<EFBFBD>J0<4A><30>Z<EFBFBD><5A>D<13>$<24><><12>ײ<EFBFBD>X<EFBFBD><58><EFBFBD>T)<29>!<21>E<EFBFBD>c<EFBFBD>/Y}Ⱦo<C8BE><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1D><>w<EFBFBD><77><EFBFBD><EFBFBD>ڸ
<EFBFBD><16><><>Y<EFBFBD><59>a5<61><35><EFBFBD><EFBFBD>8$Ӂ<>H<15>czG=<3D><>˛<EFBFBD><CB9B><06><>><3E> <0F>7<EFBFBD><37><1A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>b}<7D><>%<25><><EFBFBD><EFBFBD>‡<EFBFBD>ؑeh '<27><><EFBFBD>c<EFBFBD><1F><73>U=<3D>ީ X<>ȟ<EFBFBD>ʳ#\<15><>(<28><><EFBFBD><01>P <09>Eu<16><><,%<25>><3E>gg<67>=+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1C>%?j<>p<EFBFBD>1<>sTދ_ <0C>c<EFBFBD>T)<29>BH<42>I$]<5D>y
<EFBFBD>Y<EFBFBD>q<EFBFBD>g<EFBFBD><EFBFBD>Jv*?}<7D>)<29>Gm;<3B><><EFBFBD>ZN<5A>Z<EFBFBD><5A><EFBFBD>vTu<54>i<07><><EFBFBD><EFBFBD><EFBFBD><1B>UR`<60> <20>0h<30><1A>3r<33><72><EFBFBD><08>!<21>2^<5E><><EFBFBD><EFBFBD>G<19><><EFBFBD><EFBFBD><01>F<EFBFBD>N<>s<08><><EFBFBD><EFBFBD>?<3F><> <0C><>GgF<67>9ʾ<39>H<EFBFBD>q<EFBFBD><11>e7<65><16>Uf<55>D<EFBFBD>\<5C>W =<3D>,<2C><19>&<26><>!<21><>S<><53><EFBFBD>+`<60><>Z<1E><><EFBFBD><EFBFBD>P<18>و%<25>w<EFBFBD> Z<><5A><EFBFBD>8KCv <09><><EFBFBD>b<>2<1E>z<EFBFBD>8<EFBFBD>o8L<>@b]hS<68>n<EFBFBD><6E><EFBFBD>yU8i<38>d Ánm{<7B>!fU<66>rn%mE!Mף=/qJ<71>@<40>!Ϲ<53><C893>z<EFBFBD> <0C>]<5D><><EFBFBD><EFBFBD>`<60><>;gm<67><6D>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><08><05>.<2E>;3*Bz/C?<3F><><EFBFBD>X<EFBFBD><58><EFBFBD>S8<53><38>"1<>LO<4C>6Tqv<71><76>Kn<4B><6E><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD>\s<>?s<><73><EFBFBD><EFBFBD><EFBFBD>nt<6E> Y<>q<EFBFBD><<3C><><0F>*<2A>Z#<18><10>}ہ<19><>t<16><><EFBFBD>FV<46>_<>!#9P0<50><30><EFBFBD>2<EFBFBD><32>]h<><68><06><10><><EFBFBD><EFBFBD><EFBFBD>s$L/م|<15><>n<10>h<EFBFBD>Q<EFBFBD><51>0L<30>Q<EFBFBD><51><EFBFBD><EFBFBD>i]<5D><><EFBFBD>+<2B>4<EFBFBD><34><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD>ZL<5A>Õ<EFBFBD>@x<> 6<><36>`2<>="1+M<>ۛ <0B><>J@+<2B><><EFBFBD>U<EFBFBD><55>!w<><77>fCK<43><4B><EFBFBD>o<19><>"(5Q<35><<3C>G<EFBFBD><14><19><>c<EFBFBD><63>hm<68>2zu<7A><75>[<5B>*<2A>%L9<4C><39>SzTl<54><6C>[8<><38><EFBFBD><EFBFBD>Ǩl|<7C><>Sj <0B><><EFBFBD><EFBFBD>IƵ<>#/<2F>'q\<5C><><EFBFBD>u0D<30><44>EPËy<C38B><79>Җdݾ<64><DDBE>ߍn<>{yx<79> :<3A><><1B>kE:Jo<4A>@ϙ25<>ă<>Y:<3A><><EFBFBD>b<EFBFBD>𪅠<EFBFBD>7<EFBFBD><37>~ͥ<><CDA5><EFBFBD>f<EFBFBD>_<EFBFBD><12>0e;<3B>a\c<05>Jaq6<08>+<2B> Xc<58>E<1E>[<5B><19><>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>y<><04>9Zɬ<5A>e<EFBFBD>a<EFBFBD>`ߴ ^fS/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD>D<EFBFBD>W<><57>d]5<><00>E<EFBFBD><45><EFBFBD>J@<40><><<3C><><EFBFBD><EFBFBD>:<3A><>K'<27>W<EFBFBD>q<EFBFBD><71><EFBFBD><EFBFBD>[<5B>~\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>J <0B>og<>R<12><><EFBFBD><EFBFBD>3<EFBFBD>=(<28><><EFBFBD><EFBFBD>n<13><><EFBFBD><EFBFBD>ekћjT>Lw<4C><77><EFBFBD>YIB`<60><><EFBFBD><EFBFBD><0F><03><><EFBFBD><>-<2D><>]<5D><>Mr<02><>Q<EFBFBD>Dv<44>m<EFBFBD><6D><04><><EFBFBD><EFBFBD>p,<2C><>ɴ<EFBFBD>@<40>B<><42><EFBFBD>";<00><>! ߽<><><DFAB>ㅌq~<7E><>Z<EFBFBD><5A><EFBFBD>r<EFBFBD>\4/<2F>c<EFBFBD>d<EFBFBD><64>(
fh<EFBFBD><04><><EFBFBD>zy4z<34><7A><EFBFBD><EFBFBD><19><16><>O<EFBFBD><4F><EFBFBD><11>'R<><52>s<EFBFBD><73><14><>[<5B><>=lpf<18><1B><><EFBFBD><EFBFBD>~t<>i<EFBFBD>p<EFBFBD><11><><EFBFBD><EFBFBD>V<03>[:<3A>h<EFBFBD>E*<>)<29>!I<><49><EFBFBD>K<EFBFBD>R<17>"<22><><EFBFBD>0<EFBFBD><30><04><><EFBFBD><EFBFBD>3 <0C><>Z<EFBFBD><5A>k<EFBFBD><6B>ު<EFBFBD><16><><13>ů<EFBFBD>\<05><><EFBFBD><EA8584>$\<5C><>ӻ<EFBFBD><12>+s<><73>6<EFBFBD><36><EFBFBD>U\ěN<C49B><4E>\<5C><><EFBFBD>g}<7D>b<19>8A<38><41>N<EFBFBD> <0C><><EFBFBD>{<07>G<EFBFBD>t-<2D>&<26>K<EFBFBD><4B>_kPj(C<>B[L<><4C><EFBFBD>CŅF1<11>Uf% <20><><EFBFBD><EFBFBD>B<1A><><EFBFBD><EFBFBD>Ȧ<EFBFBD>Z<EFBFBD><k<><6B>W<EFBFBD><57><12><>es<65>L<0E>ϝХѓ4<D193>><3E>3<EFBFBD><33><EFBFBD>[4j<34><6A>53nԑYz<59> lM<6C>xn<13><>0ɓt<06><><EFBFBD><EFBFBD>˩ŝ<CBA9>O<1C>`t<><74>$з̅<D0B7> <0B>gm$<24>Z<EFBFBD><5A>DB<44><42>J.a<>)<1B><>*<2A><>FI=|X*Ju! p<><70>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD>{<7B>B<EFBFBD><1D>!<21><><EFBFBD>Z,Z<>׶<EFBFBD>㷁#sy<73>@<40> ep<65><70>y,}<7D><>`
<EFBFBD><06><>5<13> <0C><><EFBFBD><EFBFBD><17>V,<2C>8f<><66><EFBFBD><EFBFBD>Y<EFBFBD> <09>J<1E><><EFBFBD><EFBFBD>@PN<50>N<EFBFBD><1E><19>V<EFBFBD><56>t)Ө<><D3A8><EFBFBD><EFBFBD>)z<>H<><48><EFBFBD><EFBFBD><1F>::<10><05><><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><01>1EI<>K<7F>n<<3C><><EFBFBD><EFBFBD>YC <0A><18>]jɴ<6A>%<25><>C<EFBFBD>љ<EFBFBD>؅<EFBFBD><11><><><CC85>Kx?<3F><><EFBFBD>/<2F><>˙<05> Ђ<><D082><13>t<EFBFBD><14><EFBFBD><7F>+<2B>,<2C>wr<00>Ș+ <09>b<EFBFBD><62>3 <0C><><EFBFBD>Ms<4D>u <0B><><EFBFBD><07><><EFBFBD>:$d<>Ƌ<EFBFBD>־<EFBFBD>(<28>W=<07> C<>,r<>r<07>^<5E><>ކ<EFBFBD><DE86><EFBFBD><EFBFBD>=<3D><>+<2B>Fd<46><08><>^<5E>ك<EFBFBD>4o<34><6F>Dx<44>+!<21><><EFBFBD><EFBFBD> <0B><19>kL} <0A><><EFBFBD>f<EFBFBD>#<23><>ʴ<17><>G<EFBFBD><47>l<EFBFBD><6C> S^Mw<4D><77><EFBFBD><EFBFBD>Ci<><69><EFBFBD><EFBFBD><EFBFBD>}v<>LŲy<C5B2>iz<69><7A>Ow<4F>ޞ<EFBFBD><DE9E><EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD>F<EFBFBD>h<EFBFBD>݄<EFBFBD><DD84><EFBFBD><19><>7R"<22><1C>rzP<0F><><EFBFBD>K<EFBFBD><4B><EFBFBD><EFBFBD>0Y<30><53><D492>#<23>$<1D>"\<5C><0E><6D>Tf4<18>Dѷl9K<39><15><>Xס]/  <0C>V<EFBFBD><56><EFBFBD>X\.+<2B><>ø1?<3F><><04><15><>G<EFBFBD><47><EFBFBD>]<12><11>a<EFBFBD><61><EFBFBD><EFBFBD>{<7B><>LA<4C><41><EFBFBD>aJ`<60><><EFBFBD>3<EFBFBD>0<15><>Gv|<7C>:P<><50>s<EFBFBD>1qud%<25>gI<67><49><0E>e<EFBFBD>TJ<54><4A><EFBFBD>_4<5F>M<EFBFBD>y<EFBFBD>|#9<>Q3<51>&<26><>z<02><>?W<>hj<68><6A>Y<EFBFBD><59>{<7B>榢}p_<70><5F><EFBFBD><19><03>g<EFBFBD><67><EFBFBD>1<EFBFBD>AS<41><53>Hmh<6D>Ie3[3|<7C>p?<3F><>
w%<25><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1A><><EFBFBD>#<16><00>%dG><3E> 1<><31><EFBFBD><EFBFBD>/_<>j<EFBFBD>95 >J<>7<>Q<<3C>?<3F><>.[V<>scv<02><>EI^84.qմ <20><12><>ߢ u<><1C><>j<EFBFBD><6A>H6z<36>%<25><><EFBFBD><0F>N<EFBFBD><4E>}<7D><><17><0F><><EFBFBD><11>q:0B<04><>Z<EFBFBD>1S(rB<72><42><EFBFBD>qC<><43>6<><36><EFBFBD><EFBFBD><06><>b<EFBFBD><62><EFBFBD><EFBFBD><01><><EFBFBD><07><><EFBFBD>UD<55><44> ZN<>I<EFBFBD>Xv<58><76>
`^<5E><>9uMQ?ppu&x\<5C><><EFBFBD>^"<22>Kl<4B><6C><EFBFBD><EFBFBD><EFBFBD><14>t^<5E>Q3<51>_8c <09>i<EFBFBD>v<><76>1<><31><EFBFBD><EFBFBD>[d<>l<EFBFBD><6C>)<1F><><EFBFBD>4<EFBFBD><34>EOc<4F><63><EFBFBD><EFBFBD><EFBFBD>AK<41><01> <20><1E><>v8ӈ<38>E<19><>-<2D>{<7B><>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>At._ ey<65>Hk<05><>I<EFBFBD><49>,u!<21><>V!<21>x^<5E><>;<3B>'<27><><EFBFBD>}#<0E><><><DEA6>,<2C>Vo$֎i<D68E><69>4࠵d>b<><62><EFBFBD><EFBFBD><17>Xl<58><6C>gi<67><69>/$X<08><>`<60>
]<5D><>#R/b<> <0C><>-<2D><17><><EFBFBD><r<7F><72>;<3B><><EFBFBD><7F><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>a佀)UJ<55><18><>G;<3B><>5<EFBFBD><10>`<60>=I<><49>:6:<3A>OF<4F>i6P<36><50><EFBFBD>?<3F><><EFBFBD>ԍpJ<70>4wqf[<5B>dׇjT:<3A><>
#<23><1D><><EFBFBD><EFBFBD><EFBFBD>\<5C>h<><68>Y<EFBFBD>@<40><><EFBFBD><EFBFBD>hY<68><59><EFBFBD>0}tٞk<D99E> <0B>*<2A><><EFBFBD>"+I?<3F>z<><7A>s<EFBFBD><73>{=<3D>${<7B>u<EFBFBD><75>-IFd6!i]<5D>3<EFBFBD><12><>B<EFBFBD><42> <09><><EFBFBD>=-<2D><><1E>D<EFBFBD><44> F<><46>~<7E><>sa<73><>~"=i<1B>=K<><4B>֤<EFBFBD><D6A4>y <1D>֬<EFBFBD>#<23><> O<1B><>B?<3F><><07>Ą<03>u<01><><EFBFBD>0<EFBFBD>B<EFBFBD>io><3E><>󙰰гv<>sv <0B>U"Ip&7<06>n<EFBFBD>Z<EFBFBD><5A>I3<><33>&<26><><EFBFBD>vEb<45>+<2B><>*Eղ}<7D><><EFBFBD><14>3#<23><>'^"<22><><EFBFBD><1E> <0B>8~3iޏ<07>+T<>x<EFBFBD>~<04>%<12>y/<12><>:S6sE<73><45><19><>1r<><17><><EFBFBD>܍<EFBFBD>&<26>*<2A><><1C><><EFBFBD><EFBFBD>9C7m<37>_x<19>&<26> <20>J<EFBFBD><4A>aCt<43>><3E><>0<EFBFBD><30>^<5E><>i<>I<EFBFBD>@<r<><72><EFBFBD><EFBFBD><05>+a<>pO<>|<7C><><13>F<EFBFBD><46><EFBFBD>ϴ<EFBFBD><CFB4>dT
<EFBFBD>Iv8<76><38>,<13>{<7B><>cd(<28>6G<36>ݮ]u<10>X ".l<>c<EFBFBD>4<>ڞ<EFBFBD><DA9E>WW<57><57><EFBFBD><EFBFBD><1B><><EFBFBD>f<EFBFBD><1A>6<15>C<EFBFBD>[<>J<EFBFBD><4A><13>><3E><><EFBFBD>l<EFBFBD>5L<35>_$ X<>3<>F<EFBFBD>i-D<>5<EFBFBD><35>Lusi~24<32>=<3D>z<EFBFBD><7A>ì<EFBFBD><C3AC>/<2F><><EFBFBD><EFBFBD><EFBFBD><0F>cp3<70><0E><>UI<><49><EFBFBD>7<EFBFBD><37>+<1D>0<EFBFBD><30>1<EFBFBD>$YAE<41>j0<>U<EFBFBD><55>kj<05><>å<EFBFBD><C3A5>l<EFBFBD>1<EFBFBD> i|<7C><>@3I <0B><>B<EFBFBD>-<2D><>P<EFBFBD><08> ɘ?|<7C>̙/z?<3F><>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD> 8y<38>T<EFBFBD>1<EFBFBD><00>&<1E><><EFBFBD><EFBFBD>6<EFBFBD>!<21><>#<23>Z4β<34><CEB2>Ɇu<C986><75><EFBFBD>:<3A><>7\+<2B>j<EFBFBD><6A><EFBFBD> <0C><>8]<5D>6<EFBFBD><36><EFBFBD>x<EFBFBD>>qY<71><1E><><D9A3>N<EFBFBD>p<EFBFBD>hH<68><48>3R<33>j{<7B><><EFBFBD>5<EFBFBD>k<EFBFBD><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/m<>\<5C>j<EFBFBD><10>k<EFBFBD>a<>N<EFBFBD>46<34>Op<1C>i{VVF<56>I<EFBFBD>7mG<6D><47> "<22><>]<5D>{:<3A>w<EFBFBD><77>ah%YT<><54>xǽ'qW<05>ܘ<EFBFBD>k<EFBFBD><<3C><> dx<01>FI<46><02>r<><72><EFBFBD>r<EFBFBD><01>fK<66>i)}<7D><><EFBFBD>pb7~<7E>~G <1F>t<EFBFBD><74><EFBFBD>K<EFBFBD><4B>-o;Zci<63><69>%<25>|~<7E> $<24><><EFBFBD><EFBFBD>ILCA<1C><EFBFBD>H<EFBFBD>M;Bv~<7E>=<3D>x~5<><35><EFBFBD>N?9<><39>^?)v+<2B>07G<><47>,<2C>f<13><><EFBFBD>_d[
<EFBFBD>V<EFBFBD><EFBFBD><EFBFBD>ԏ{<7B><>[<5B>BL<42>?<3F><><EFBFBD>ۡ<EFBFBD>(xAq<41>kL<6B> <0B><>x<EFBFBD>m<04><><EFBFBD>_<EFBFBD><5F>sj<73><6A><EFBFBD>r<EFBFBD>s,~ q<><10>e*<2A><><EFBFBD>W<EFBFBD><57>F<18>m<EFBFBD><6D><EFBFBD><EFBFBD><EFBFBD><4D>yVȝ<56><13><EFBFBD>k5<6B><35>P <0A><>w{<7B><06>%<25><><EFBFBD>@<40><>Q<EFBFBD><51>L<EFBFBD><15>7<EFBFBD><37>#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Co<43><6F>$l~,<2C><><EFBFBD>p^T9<><39>f<EFBFBD>[<5B><><EFBFBD><EFBFBD>1<EFBFBD>;<3B><>{<7B>
<EFBFBD>I<EFBFBD><EFBFBD>Q!sk<73>MvE<76>O뗺Am<41>"<22><>%<25><><EFBFBD>b<>1|VX<17><>j鵱c<E9B5B1><06>1&<26><><EFBFBD>\c<12><><EFBFBD>uL'<27>#M<>d(<28>h<EFBFBD><68>`<60>Z<EFBFBD><5A><EFBFBD>I<>i<EFBFBD>4<EFBFBD>24<32><34>P<EFBFBD>⧿(<28><>*uϒ<<3C><><EFBFBD><11><><EFBFBD>e<EFBFBD><>4\<5C>?d<> <09>b<><62><EFBFBD><11><><EFBFBD>GA^f vV<76>NC<18>ݜz<DD9C>f*g}<07>}?<3F><>y<EFBFBD><17>…<EFBFBD>8<EFBFBD><38>[<03>7<EFBFBD><11>$O<>e.<2E><>gx<67>Cm<43>F<EFBFBD>?<3F><>N<EFBFBD>h<EFBFBD><68>ZՙZ<@<40>i G<>I<EFBFBD>g<EFBFBD>6<EFBFBD><36><EFBFBD>,=<3D><>Q<EFBFBD><51>}<19>5'<>ps<70><73><EFBFBD><EFBFBD>|<7C><EFBFBD>ʗ<EFBFBD><CA97><EFBFBD> <20>,<2C>w><3E>i<EFBFBD><69><03>yj<12>/<2F>m~ <1E>s<03><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Mt<05>$<24>w<0F><>l<14>]n<>+<2B><>urh?<3F><>g<EFBFBD><67><02> <09>$D<13><><EFBFBD>+^<5E>ܓʘn'Hb<48><11>#<23>X<EFBFBD><58>J<EFBFBD>y ^<5E>^<5E><><13>i<EFBFBD>vWB<57> =<3D>A<>n<08><>W<EFBFBD>3u<33> <0A>f<1A><><EFBFBD><EFBFBD>%<<<3C><>3=<3D>C<><43>R';<3B><><EFBFBD><EFBFBD>H<EFBFBD><48>8v<><76><EFBFBD>T<EFBFBD><54>^l2<>Iy<49>u<EFBFBD><75>ҙc<D299><63>*/<2F><>6<EFBFBD>#<23><>uŸ<75><C29F><EFBFBD><EFBFBD>K<EFBFBD>VW<56><11>K<EFBFBD>6<EFBFBD>`<60><>9(<28><>x<> <0C><>-t<><74><EFBFBD>,<2C>G<1A><>f{<7B>&<26>ҙF6]<17>a<EFBFBD><61>mPV<50><56>x<EFBFBD><78><EFBFBD> Q<>bj<q<>Xv<03>"B<><42>ε<EFBFBD><1C><><EFBFBD>>#o<><1F><>*<2A>I<EFBFBD><49>u<><75><ۥ7<DBA5>/9<>e<EFBFBD>5<EFBFBD>C<EFBFBD><43><EFBFBD><EFBFBD>W$ۗ!f<><66>f<EFBFBD><03>Jo<>t<1D><>E<EFBFBD>Ew%<1F><>|<7C>qq<71><71>a<EFBFBD>n<EFBFBD>OCw<1E><><EFBFBD><EFBFBD><>;S<><19><><EFBFBD><17><<3C><>?t<><74>$<24>=<3D><1F><> dI<64><49><EFBFBD><02>w<EFBFBD><77>ª<EFBFBD>'qY<71>Z<EFBFBD> <20><>y<EFBFBD><79>;ɾw<C9BE>R<EFBFBD><52><EFBFBD>r<EFBFBD><72><19><><16>V_<56><5F>)aM<61><4D>
<EFBFBD><EFBFBD>[<5B><><EFBFBD>k<EFBFBD>T<EFBFBD><54><EFBFBD>$8<>}v<00>\<5C>`<60><>L<EFBFBD>v Қ<03>n<13><>{4``&p<>x/<2F>Fb<1E><>"-Ta<54><61>K<<3C>_*e<>˛<EFBFBD><CB9B>f<EFBFBD> *%<25><><04>><3E>Y<EFBFBD><59>N<EFBFBD><4E> <0A><>,<13><><EFBFBD><EFBFBD><y<><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD>t<EFBFBD>}<7D>wU<0E>k<><6B>v<EFBFBD>b<EFBFBD><62><EFBFBD><EFBFBD><0F><>/-<2D>Gi<47>! ~ <09><>cT[j<>~"<22>Κ<EFBFBD>Eg<45><67><EFBFBD>B<EFBFBD><42><EFBFBD>ك<EFBFBD>r<00>Jܥު<DCA5>Y=ĸn\<5C><><EFBFBD><EFBFBD><EFBFBD>D<02><>z<EFBFBD>d<EFBFBD>0<EFBFBD><30>%<25>@<40>hf<68><66><EFBFBD>LS <19><>-<2D><><EFBFBD><EFBFBD>f<EFBFBD>
*<06><06><><EFBFBD><EFBFBD>D<EFBFBD>e<EFBFBD>9<EFBFBD>S<EFBFBD><53><EFBFBD>:]F\<5C>\<5C>}<1C><><EFBFBD>?<3F>yor<<3C>NX<4E>P<EFBFBD><50><1D>?<3F><>=<3D><EFBFBD><E69090>m<EFBFBD><6D><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD>˴<EFBFBD><CBB4>'<16><>C<EFBFBD><43><EFBFBD>'Vma<6D><61><EFBFBD>i<EFBFBD>m<EFBFBD>9<EFBFBD><39>hu<><75>֨<EFBFBD>nm^<5E>NSK0<4B><30>S|<14><> _$'}|f<>$<24><><EFBFBD>B<EFBFBD><18><>0<EFBFBD>S$ Ǹ?V<><56>+<2B><><EFBFBD>\$<24><>y")<29><><EFBFBD><0F><>e<EFBFBD>}<7D>Pyg(<28><>Pv<50><76><EFBFBD><EFBFBD>t<EFBFBD>5<EFBFBD><35><EFBFBD>`<DF9B><7F><EFBFBD>T<15><>ҩ"<22>Ӭ䏞D<E48F9E> Vo<56><6F><EFBFBD><EFBFBD>ض<EFBFBD><D8B6>X<EFBFBD>jΕ<6A>Mq<4D>=j<>i<EFBFBD><1F><>/)<29>7<>C<08><><EFBFBD><05>q<EFBFBD><71><EFBFBD><12>7<EFBFBD><37><EFBFBD>M<>WoD<6F><44>%<25>wQ<77><51><EFBFBD><EFBFBD>Z<14><>= <0C><><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD> <09>#<23><>b<EFBFBD><12>9<EFBFBD>!<21>8<EFBFBD><38><EFBFBD>#<23>g<EFBFBD><67>p<S<><53><EFBFBD>5<EFBFBD>R<EFBFBD>nʒ9<CA92>P <0A>1<EFBFBD> <0A> <0C><>FZ <09><>]<5D><><17>o2X<32>؏<A<16><><EFBFBD><EFBFBD><1B><><EFBFBD><EFBFBD>y<EFBFBD>g<EFBFBD><67>W\<13>NR<03><>6<EFBFBD><36><EFBFBD><EFBFBD><03><>y<EFBFBD><79><EFBFBD>b<EFBFBD><62>u<13><><EFBFBD><EFBFBD>48<34>-<1B>p{.<2E>͍:<3A><>Q<EFBFBD><51><16><>nv<6E>koc<6F><63>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>><3E>.)<29>s<EFBFBD>i{M<><4D><EFBFBD><EFBFBD><1B>?
v$<24>T<EFBFBD>߾M<1B><>yZ<06>;<3B>F<EFBFBD>F<03><><EFBFBD><EFBFBD>~<7E><16>x<11>ˏD <09><>P0<1A>$ i<><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N =j<04><><EFBFBD>_<EFBFBD> <1B>uTýkt<6B>H<>8<EFBFBD>nS <06>Ε<EFBFBD><CE95><EFBFBD><EFBFBD>C<>(<28><>D237̿i<CCBF><69>v<><76>V?jPE<50><45>h<06><>N<EFBFBD><4E>!<21><>H<01>c<EFBFBD><63><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD>8<EFBFBD><38><`<60>'Q<>_<EFBFBD><5F>Ӫ<EFBFBD><D3AA>cI<63><49>K<EFBFBD>(<28>ܙ<EFBFBD><DC99>0<EFBFBD><30><EFBFBD><7F>5<EFBFBD>,"<22><1E><><EFBFBD>VCG<43>Z<EFBFBD>><3E><><EFBFBD> t<><74>{k<>N<EFBFBD> <20>~t-<2D>n/<2F>b8<62><38>.Z2<5A>zb<>9<EFBFBD><39>ܤ<EFBFBD><DCA4>[<5B>k<EFBFBD> V<><56><EFBFBD>RsV<73><56>d<08>ҿ<EFBFBD>%<25>o<EFBFBD><05>ύ<EFBFBD><CF8D>\<10>5e<1A>]<5D><><EFBFBD>h)<12><>?2<><32>L<EFBFBD>]<5D>D .<2E><>Ģ޲<C4A2><DEB2><EFBFBD>Κbg<62><67><17><><EFBFBD>$۲͍<DBB2><06>3<EFBFBD>8)<29>$Q7<51><37><08>eu<65><75><EFBFBD><EFBFBD>B<EFBFBD><42>+<2B> Mi<><69><>j<EFBFBD>ps<70>B?<3F>w_t5<74>{<7B><>A<EFBFBD>gW<67><57><EFBFBD>u&<26>)<29> <20><>l<EFBFBD><6C><05>~u<>#Z<>R<>V<EFBFBD> <0A>'<27>ac7ҧ<><D2A7>?<3F><>&)'<27><>p0d<30>m<15>}<7D><EFBFBD>0<EFBFBD>A<EFBFBD><41>y <09>&<26>"<<3C>`y<><79><EFBFBD><EFBFBD>2<EFBFBD><32>R^<15>$*Bޔ><3E><>><3E><><EFBFBD><17><>
L<EFBFBD><EFBFBD>TaG<06>O/<2F><>Ls<4C><73>M<EFBFBD><4D>?<3F>JT<02>p <02>$<24><>i<EFBFBD><69><EFBFBD>A<EFBFBD><41>58i7?~O<>=\ <0A>V<06><><EFBFBD><EFBFBD><EFBFBD>4~ֵ_<D6B5><5F><EFBFBD> <0A><><EFBFBD>a$<24>̘3<CC98>㨑'c <0B><>%<1F><><EFBFBD><EFBFBD>ph4XF<58>;<3B><>z"<22><><EFBFBD>#} vL<76>"<22><><DBA1>0<EFBFBD>tL<03>n<EFBFBD>Ȧ<EFBFBD><C8A6>4<EFBFBD>f<EFBFBD>&<26><>I<EFBFBD> <11>-<2D><>9K<39><4B>hi<1A>`N<><4E><EFBFBD>} <20><><EFBFBD>L<><05>Ş<EFBFBD><13>P<EFBFBD><50>)<29>'<27>,Q<><51><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z <09><>z<EFBFBD> p<>]/<2F>QEE<>?<3F><><EFBFBD><00><>d<EFBFBD> <20>Mx<4D><78><01><>Rh<07><>S<EFBFBD><53>0)<29><><EFBFBD>x<EFBFBD>N<><4E>Ȭ<EFBFBD>g-<2D><><EFBFBD>"<22><><EFBFBD>\<05><>˧<EFBFBD><19><>@<40>m#z<>C<EFBFBD><43>'<27>Pd<50>q
<EFBFBD><13><>A<EFBFBD>dM<><4D>'̵[.<2E>!J<>1\<5C> ۙ*WP<57><50>n<EFBFBD><1B><1D><>1<EFBFBD>*<2A><>SqPJ<50><4A><EFBFBD>n<17><> c<>/Wَ1v<31>W<>-B<><42><EFBFBD><EFBFBD>F1Eߺa<DFBA>{<1C><><EFBFBD><03>e q%<25>e<<3C><>Ũu<><75>ϑ<EFBFBD>t<EFBFBD><74><EFBFBD> s<>l<>"5V<35>H<EFBFBD><48> <09><>o¤k <0B>*<2A>W <0A>W}<7D><>6<EFBFBD>u<1B>b<EFBFBD><62>~p<05><14><>1<EFBFBD><31>9,<1B><>}<0E>`<60>SHCoy"<22><>&g<><67>0?<3F><>549~-\c<>r`<1C><>~<7E><>QH<51>8<>Č<04><>F~<7E>h<EFBFBD><68><11><><EFBFBD>c<EFBFBD>33<33>g[}<7D>fZ<66>7<><37><EFBFBD>%<25><>'NtBG>V<><56><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD>T<><54>,<2C><><EFBFBD>[<5B>I<EFBFBD><49>R<EFBFBD><52><EFBFBD>*¡[<5B><><EFBFBD><EFBFBD>v<1F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD><4B>@N$F<><EFBFBD> <09><>=p<><70><03>$<24><><EFBFBD><EFBFBD>9N:<3A><><EFBFBD>o<EFBFBD><6F><EFBFBD>.4<EFBFBD><EFBFBD> ¦<>i<EFBFBD>o<EFBFBD>-h)1IB<49>}<7D><>4<1E><>a<EFBFBD><61>{[,-y<>^YQ(<28>3RSu<53><03><><EFBFBD>k<EFBFBD>4<EFBFBD><34>ޘ| <20><<3C>Ug
w<EFBFBD>@yuu<75>V2EdX쎋~'7Ei<45><69>ƅfTm<01><><EFBFBD>b<EFBFBD><62><EFBFBD>p<EFBFBD>\<5C><>Jt<4A>u<EFBFBD>Qy*߅<>W\k<>@<07>%<>F3YF<59>O<19><>ҙ'y<>9<EFBFBD><39><EFBFBD>=|LG<4C><47>r_(v<><76><10><10><>[<5B><>”<>E<EFBFBD><EFBFBD><E0BF8D>nJl<4A>($<24><űT# <0C><><EFBFBD><EFBFBD>(<28><><EFBFBD>4g+lLjdXqK<71>k׍o܃x?pW<70>`<><01>q݂za<7A><61><EFBFBD><EFBFBD>-C<>a<EFBFBD><61>:&<26><>sW<73><06><><EFBFBD>!<02>'<27><><EFBFBD>kq<6B>1N<31><4E><EFBFBD><EFBFBD><16><>J<EFBFBD> <20>2<1B>A<EFBFBD><41><12><><EFBFBD><EFBFBD>SݢU<DDA2>(&T<>|<7C>T<04><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nc<6E> <20><><EFBFBD>a|<7C><><14> <0B><><EFBFBD><EFBFBD><EFBFBD>f<EFBFBD><66><EFBFBD>-x<><78><EFBFBD>Δ<EFBFBD>XV<58><56><EFBFBD> ݃ݼ<DD83>9!<21>qz<71><7A>$<11>;<3B><><EFBFBD><EFBFBD> <09><><11>v<EFBFBD><76><EFBFBD>3緳}H<><48>w7+ؐ<><D890>]<5D>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>qhk<>/#7 m<>MW<4D><57>t{Ԃ<><D482>݊<EFBFBD>ݽ|Jn<4A>Nc<4E><63><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD><67>d<EFBFBD>1<EFBFBD><31>-ˍ<>B<2.P<h<>2<32><7F>.<2E><>R<EFBFBD>N]<5D><>p81<>ܪ<EFBFBD>$g[<5B>K<EFBFBD><4B><EFBFBD>C<EFBFBD>s<EFBFBD><73>E<EFBFBD><45><EFBFBD>n<EFBFBD><1D>݀@"<1F> <18><>t"<22>1₃f*<2A>;<3B><>A<EFBFBD><59>?<3F><><EFBFBD>r<>^t<>lv<>0<EFBFBD><30>K<EFBFBD>Đv<>2Y<><59>Y<><59>99Mi?5<17><>ʭ;R7z<37><1A><><EFBFBD>,-O<><4F><EFBFBD><EFBFBD>PI<50><49>g<EFBFBD><67>o<EFBFBD><6F>`<60>_<15><>i<>O<EFBFBD><00>jc:>_E"n<1F>d><3E>Oy<> <0A>HC<48><43>T<EFBFBD>ab<61>6<EFBFBD><36>=J<><4A>r<EFBFBD>a
<EFBFBD><EFBFBD>t/<2F><><EFBFBD>C'<27>/<2F><>[<5B>oT+<2B><><EFBFBD><EFBFBD><0F>!<21><><EFBFBD>9<EFBFBD>t b<><62>(f<16><><EFBFBD>6)<29><>xAا<41><D8A7>ܪR<06><>U<EFBFBD>#~<7E>;V<><56>`T[<5B>P<EFBFBD>#<23><>݆<EFBFBD><DD86><EFBFBD>×!<21>C Թ<><D4B9>H<EFBFBD><48><EFBFBD><EFBFBD>ޭ4<DEAD>:<3A>!'<27>g/O_<4F><11> C:<3A>GlDo<44><6F><EFBFBD><EFBFBD>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r`<60>F<EFBFBD><15>1<EFBFBD>v2<76><18>N<EFBFBD>?<3F>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD>=a<><61>t<EFBFBD>O|<7C><>cVO}<7D><><EFBFBD>ߒ<EFBFBD><DF92><EFBFBD>4<EFBFBD>b<EFBFBD><62>ШU<D0A8><55>R<EFBFBD>T<EFBFBD>~y<><79><EFBFBD>_<EFBFBD><5F>݋w[Ö<><><EEA993><EFBFBD>v<EFBFBD><17>W<EFBFBD>^<5E><>,G<><47><EFBFBD><EFBFBD>; <09><> q<><71><00><><EFBFBD><EFBFBD>B <0A><EFBFBD>[T?x<><0E><><EFBFBD><EFBFBD>̳<10>\&<26>R<><10>8;<3B>c<EFBFBD>F3<46>{<7B><12>d<><64><EFBFBD>`<60>(pULm<4C>"<22><>r<EFBFBD><72><EFBFBD>2iYUu<55>H%<25>f7<><37>9c<39>E<14>#n<><6E>7q><3E><><EFBFBD>'<27>&<26><>j
!<0E><><<3C>ܪ<EFBFBD>4k<><6B>s v<>rPt<>lO]`}ʴ }9<>"<12><><17><1F>ה<EFBFBD><D794>ߝ([2M]=<3D><>~<7E><><EFBFBD><EFBFBD>i<>41<34>r<EFBFBD><15>_<EFBFBD><5F>P<EFBFBD>q<>I?@4<>"><3E>ȍ0 }<7D>0<EFBFBD>ᡰ><00>B<EFBFBD>9`-- Gang and police check variables
local heistAllowed = true
local gangCheckDone = false
-- Check if the player meets requirements to participate in the heist
function CheckHeistRequirements()
if Config.requireGang then
if not IsInGang() then
ShowTooltip(L('~r~You must be in a gang to participate in this heist'))
return false
end
end
return true
end
function AfterTruckCreated(vehicle)
end
function AfterTrailerCreated(vehicle)
end
function AfterTrailerVehicleCreated(vehicle)
end
function AfterDriverCreated(ped)
end
function AfterPassengerCreated(ped)
end
function AfterSupportVehicleCreated(vehicle)
end
function AfterSupportPedCreated(ped)
end
function OnStartOpeningTrailer()
if not CheckHeistRequirements() then
return false
end
end
function OnTrailerOpened()
end
function OnVehicleDetach(vehicle)
end
function DrawCustomMarker(dropCoords)
DrawMarker(36, dropCoords.x, dropCoords.y, dropCoords.z + 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 3.0, 3.0, 210, 232, 7, 50, 0, 1, 0, 0)
end
RegisterNetEvent('kq_carheist:dropOffCompleted')
AddEventHandler('kq_carheist:dropOffCompleted', function(reward, losses, vehName)
if losses > 0 then
Alert(L('{vehicle} dropped off'):gsub('{vehicle}', vehName), (L('You made ~g~${reward}\n~r~${losses} deducted due to vehicle damage')):gsub('{reward}', reward):gsub('{losses}', losses), 5000)
else
Alert(L('{vehicle} dropped off'):gsub('{vehicle}', vehName), (L('You made ~g~${reward}')):gsub('{reward}', reward), 5000)
end
PlaySoundFrontend(-1, 'PROPERTY_PURCHASE', 'HUD_AWARDS', false)
end)
function SendAnnouncementMessage(message, subtitle, coords)
BeginTextCommandThefeedPost("STRING")
AddTextComponentSubstringPlayerName(message)
-- Set the notification icon, title and subtitle.
local title = L('Martin')
local iconType = 0
local flash = false -- Flash doesn't seem to work no matter what.
EndTextCommandThefeedPostMessagetext("CHAR_MARTIN", "CHAR_MARTIN", flash, iconType, title, subtitle)
-- Draw the notification
local showInBrief = true
local blink = false -- blink doesn't work when using icon notifications.
EndTextCommandThefeedPostTicker(blink, showInBrief)
local blipConf = Config.announcementBlip.primary
CreateTemporaryBlip(coords, blipConf.sprite, blipConf.color, blipConf.alpha, blipConf.scale, L('Car transport'), blipConf.shortRange, true)
blipConf = Config.announcementBlip.secondary
CreateTemporaryBlip(coords, blipConf.sprite, blipConf.color, blipConf.alpha, blipConf.scale, L('Car transport'), blipConf.shortRange)
end
-- This function is responsible for creating the text shown on the bottom of the screen
function DrawMissionText(text, time)
SetTextEntry_2("STRING")
AddTextComponentString(text)
DrawSubtitleTimed(time or 30000, 1)
end
-- This function is responsible for all the tooltips displayed on top right of the screen, you could
-- replace it with a custom notification etc.
function ShowTooltip(message)
SetTextComponentFormat("STRING")
AddTextComponentString(message)
EndTextCommandDisplayHelp(0, 0, 0, -1)
end
-- This function is responsible for drawing all the 3d texts ('Press [E] to prepare for an engine swap' e.g)
function Draw3DText(x, y, z, textInput, fontId, scaleX, scaleY)
local px, py, pz = table.unpack(GetGameplayCamCoords())
local dist = GetDistanceBetweenCoords(px, py, pz, x, y, z, true)
local scale = (1 / dist) * 20
local fov = (1 / GetGameplayCamFov()) * 100
local scale = scale * fov
SetTextScale(scaleX * scale, scaleY * scale)
SetTextFont(fontId)
SetTextProportional(1)
SetTextDropshadow(1, 1, 1, 1, 255)
SetTextEdge(2, 0, 0, 0, 150)
SetTextDropShadow()
SetTextOutline()
SetTextEntry("STRING")
SetTextCentre(1)
AddTextComponentString(textInput)
SetDrawOrigin(x, y, z, 0)
DrawText(0.0, 0.0)
ClearDrawOrigin()
end
if Config.esxSettings.enabled then
ESX = nil
if Config.esxSettings.useNewESXExport then
ESX = exports['es_extended']:getSharedObject()
else
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj)
ESX = obj
end)
Citizen.Wait(0)
end
end)
end
Citizen.CreateThread(function()
while ESX == nil or ESX.GetPlayerData().job == nil do
Citizen.Wait(10)
end
ESX.PlayerData = ESX.GetPlayerData()
TriggerServerEvent('kq_carheist:playerLoaded')
end)
RegisterNetEvent('esx:setJob')
AddEventHandler('esx:setJob', function(job)
ESX.PlayerData.job = job
ClearPoliceBlips()
end)
function IsPolice()
if not ESX.PlayerData.job then
return false
end
return Contains(Config.policeJobNames, ESX.PlayerData.job.name)
end
end
----------------------
-- BLIPS
----------------------
local policeBlips = {}
RegisterNetEvent('kq_carheist:refreshPoliceAlarm')
AddEventHandler('kq_carheist:refreshPoliceAlarm', function(trailerCoords, vehiclesCoords)
ClearPoliceBlips()
if trailerCoords then
RefreshPoliceTrailerAlarm(trailerCoords)
end
RefreshPoliceVehiclesAlarm(vehiclesCoords, trailerCoords)
end)
function RefreshPoliceTrailerAlarm(trailerCoords)
if trailerBlip ~= nil then
RemoveBlip(trailerBlip)
end
local blipConf = Config.policeBlip.truck.primary
local primBlip = CreatePoliceBlip(trailerCoords, blipConf.sprite, blipConf.color, blipConf.alpha, blipConf.scale, L('Car transport robbery'), blipConf.shortRange)
SetBlipDisplay(primBlip, 8)
table.insert(policeBlips, primBlip)
blipConf = Config.policeBlip.truck.secondary
local secBlip = CreatePoliceBlip(trailerCoords, blipConf.sprite, blipConf.color, blipConf.alpha, blipConf.scale, L('Car transport robbery'), blipConf.shortRange)
table.insert(policeBlips, secBlip)
end
function RefreshPoliceVehiclesAlarm(vehiclesCoords, trailerCoords)
for k, veh in pairs(vehiclesCoords) do
if not trailerCoords or GetDistanceBetweenCoords(trailerCoords, veh.coords, false) > 25.0 then
local blipConf = Config.policeBlip.vehicles.primary
local distance = GetDistanceBetweenCoords(GetEntityCoords(PlayerPedId()), veh.coords, true)
local _, z = GetGroundZFor_3dCoord(veh.coords.x, veh.coords.y, 900.0, true)
if z == 0.0 then
z = GetHeightmapTopZForPosition(veh.coords.x, veh.coords.y)
end
z = z - 6.0
if Config.policeBlip.makeTunnelsLowerSignal and distance > 10.0 and (IsInsideATunnel(veh.coords) or (Config.policeBlip.unknownTunnelChecking and z > veh.coords.z)) then
math.randomseed(math.floor((veh.coords.x / 10) + (veh.coords.y / 10)))
local newCoords = vector3(veh.coords.x + math.random(-130, 130), veh.coords.y + math.random(-130, 130), veh.coords.z)
veh.coords = newCoords
math.randomseed(GetGameTimer())
local tunnelBlip = CreateTunnelPoliceBlip(veh.coords, blipConf.color, blipConf.alpha)
table.insert(policeBlips, tunnelBlip)
else
local primBlip = CreatePoliceBlip(veh.coords, blipConf.sprite, blipConf.color, blipConf.alpha, blipConf.scale, L('Stolen vehicle: ') .. veh.name, blipConf.shortRange)
SetBlipDisplay(primBlip, 8)
table.insert(policeBlips, primBlip)
end
blipConf = Config.policeBlip.vehicles.secondary
local secBlip = CreatePoliceBlip(veh.coords, blipConf.sprite, blipConf.color, blipConf.alpha, blipConf.scale, L('Stolen vehicle: ') .. veh.name, blipConf.shortRange)
table.insert(policeBlips, secBlip)
end
end
end
function ClearPoliceBlips()
for k, blip in pairs(policeBlips) do
RemoveBlip(blip)
end
policeBlips = {}
end
function RemovePoliceTrailerBlip()
if trailerBlip then
RemoveBlip(trailerBlip)
end
end
function CreatePoliceBlip(coords, sprite, color, alpha, scale, message, shortRange)
local blip = AddBlipForCoord(coords)
SetBlipSprite(blip, sprite)
SetBlipHighDetail(blip, true)
SetBlipColour(blip, color)
SetBlipAlpha(blip, alpha)
SetBlipScale(blip, scale)
BeginTextCommandSetBlipName('STRING')
AddTextComponentString(message)
EndTextCommandSetBlipName(blip)
SetBlipAsShortRange(blip, shortRange)
return blip
end
function CreateTunnelPoliceBlip(coords, color, alpha)
local blip = AddBlipForRadius(coords, 300.0)
SetBlipHighDetail(blip, true)
SetBlipColour(blip, color)
SetBlipAlpha(blip, alpha)
SetBlipAsShortRange(blip, true)
return blip
end
----------------------
-- DISPATCH MESSAGES
----------------------
function EndPoliceAlarm()
if trailerBlip ~= nil then
RemovePoliceTrailerBlip()
SendDispatchMessage(L('Our truck has arrived to its destination. Thank you for your assistance'), L('Truck arrived'))
end
end
function SendDispatchMessage(message, subtitle)
BeginTextCommandThefeedPost("STRING")
AddTextComponentSubstringPlayerName(message)
-- Set the notification icon, title and subtitle.
local title = L('Car Transports Inc.')
local iconType = 0
local flash = false -- Flash doesn't seem to work no matter what.
EndTextCommandThefeedPostMessagetext("CHAR_CARSITE", "CHAR_CARSITE", flash, iconType, title, subtitle)
-- Draw the notification
local showInBrief = true
local blink = false -- blink doesn't work when using icon notifications.
EndTextCommandThefeedPostTicker(blink, showInBrief)
end
if Config.qbSettings.enabled then
if Config.qbSettings.useNewQBExport then
QBCore = exports['qb-core']:GetCoreObject()
end
job = QBCore.Functions.GetPlayerData().job
gang = QBCore.Functions.GetPlayerData().gang
RegisterNetEvent('QBCore:Client:OnPlayerLoaded')
AddEventHandler('QBCore:Client:OnPlayerLoaded', function()
job = QBCore.Functions.GetPlayerData().job
gang = QBCore.Functions.GetPlayerData().gang
TriggerServerEvent('kq_carheist:playerLoaded')
end)
RegisterNetEvent('QBCore:Client:OnJobUpdate')
AddEventHandler('QBCore:Client:OnJobUpdate', function(JobInfo)
job = JobInfo
end)
RegisterNetEvent('QBCore:Client:OnGangUpdate')
AddEventHandler('QBCore:Client:OnGangUpdate', function(GangInfo)
gang = GangInfo
end)
function IsPolice()
if not job then
return false
end
return Contains(Config.policeJobNames, job.name)
end
function IsInGang()
if not gang then
return false
end
return gang.name ~= nil and gang.name ~= 'none' and gang.name ~= ''
end
end
----------------------
-- SYNCING
----------------------
function SetNetworkShared(netId)
Citizen.CreateThread(function()
local timeout = 0
while not NetworkDoesEntityExistWithNetworkId(netId) and timeout < 10 do
Citizen.Wait(10)
timeout = timeout + 1
end
local entity = NetworkGetEntityFromNetworkId(netId)
SetEntityAsMissionEntity(entity, 1, 1)
NetworkAllowLocalEntityAttachment(entity, true)
SetEntityLoadCollisionFlag(entity, not Config.experimentalSync)
SetNetworkIdExistsOnAllMachines(netId, true)
if Config.experimentalSync then
SetNetworkIdAlwaysExistsForPlayer(netId, PlayerId(), true)
if IsEntityAVehicle(entity) then
SetNetworkVehiclePositionUpdateMultiplier(entity, 2.0)
SetNetworkEnableVehiclePositionCorrection(entity, true)
end
if tonumber(Config.experimentalSync) == 111 then
NetworkUseHighPrecisionBlending(netId, false)
SetNetworkIdCanMigrate(netId, false)
end
end
--NetworkUseHighPrecisionBlending(netId, true)
--SetNetworkIdCanMigrate(netId, false)
end)
end
function SyncToServer()
TriggerServerEvent('kq_carheist:heistCreated', heist)
end
RegisterNetEvent('kq_carheist:syncHeist')
AddEventHandler('kq_carheist:syncHeist', function(newHeist)
heist = newHeist
RemoveRelationshipGroup('kq_carheist_ped')
RemoveRelationshipGroup(robberRelationship)
SetPedRelationshipGroupDefaultHash(PlayerPedId(), GetHashKey('PLAYER'))
AddRelationshipGroup('kq_carheist_ped')
_, robberRelationship = AddRelationshipGroup('kq_carheist_robber' .. heist.hash)
RemovePoliceTrailerBlip()
SetPedsRelationships()
Debug(heist.truck)
Debug(GetTruck())
Debug(GetEntityCoords(GetTruck()))
end)
RegisterNetEvent('kq_carheist:syncSellableVehicles')
AddEventHandler('kq_carheist:syncSellableVehicles', function(newSellable)
sellableVehicles = newSellable
end)
----------------------
-- ALARM
----------------------
function CheckAlertness()
Debug('Checking alertness')
for k, ped in pairs(GetAllHeistPeds()) do
if GetPedAlertness(ped) >= 2 then
Debug('Peds were alerted. Setting off the alarm')
SetOffAlarm()
return
end
end
end
function SetOffAlarm()
if not heist.alarm then
heist.alarm = true
if Config.useVehicleAlarm then
SetVehicleAlarm(GetTrailer(), true)
SetVehicleAlarmTimeLeft(GetTruck(), 120000)
end
TriggerServerEvent('kq_carheist:startAlarm')
end
for k, ped in pairs(GetAllHeistPeds()) do
if ped ~= GetNPC() then
local veh = GetSupportVehicle()
if GetPedInVehicleSeat(veh, -1) ~= ped then
TaskCombatPed(ped, PlayerPedId(), 0, 16)
end
end
end
SetRelationshipBetweenGroups(5, 'kq_carheist_ped', robberRelationship)
end
RegisterNetEvent('kq_carheist:setAlarm')
AddEventHandler('kq_carheist:setAlarm', function(trailerCoords)
heist.alarm = true
if IsPolice() then
RefreshPoliceTrailerAlarm(trailerCoords)
SendDispatchMessage(L('Our car transport is under attack! Coordinates have been shared!'), L('Robbery in progress'))
end
end)
RegisterNetEvent('kq_carheist:truckArrived')
AddEventHandler('kq_carheist:truckArrived', function()
if heist.alarm then
EndPoliceAlarm()
end
end)
function DoSparkParticle()
local dict = 'core'
if not HasNamedPtfxAssetLoaded(dict) then
RequestNamedPtfxAsset(dict)
while not HasNamedPtfxAssetLoaded(dict) do
Citizen.Wait(1)
end
end
SetPtfxAssetNextCall(dict)
local sparks = StartParticleFxLoopedOnEntityBone("ent_brk_sparking_wires", grinder, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0, 1.3, 1, 1, 1)
end
----------------------
-- RAMP OPENING
----------------------
RegisterNetEvent('kq_carheist:startOpeningRamp')
AddEventHandler('kq_carheist:startOpeningRamp', function()
StartOpeningRamp()
end)
function StartOpeningRamp()
openingRamp = true
progress = 0
SetOffAlarm()
OnStartOpeningTrailer()
local playerPed = PlayerPedId()
local playerCoords = GetEntityCoords(playerPed)
SetPedRelationshipGroupHash(playerPed, robberRelationship)
local bootCoords = GetWorldPositionOfEntityBone(GetTrailer(), GetEntityBoneIndexByName(GetTrailer(), 'boot'))
local grinderModel = 'imp_prop_grinder_01a'
DoRequestModel(grinderModel)
grinder = CreateObject(grinderModel, playerCoords.x, playerCoords.y, playerCoords.z, true, true, 1)
local handBone = 6286
local grinderOffset = vector3(0.2, 0.065, -0.015)
local grinderRot = vector3(200.0, 265.0, -40.0)
local handBoneIndex = GetPedBoneIndex(playerPed, handBone)
AttachEntityToEntity(grinder, playerPed, handBoneIndex, grinderOffset.x, grinderOffset.y, grinderOffset.z, grinderRot.x, grinderRot.y, grinderRot.z, true, false, false, false, 2, true)
local heading = GetHeadingFromVector_2d(playerCoords.x - bootCoords.x, playerCoords.y - bootCoords.y) + 200
SetEntityHeading(playerPed, heading)
TaskStartScenarioInPlace(PlayerPedId(), 'WORLD_HUMAN_WELDING', 10, true)
end
function FinishOpeningRamp()
StopOpeningRamp()
heist.rampDown = true
Citizen.Wait(1000)
OpenTrailer()
end
function StopOpeningRamp()
cutting = false
openingRamp = false
local playerPed = PlayerPedId()
local playerCoords = GetEntityCoords(playerPed)
ClearPedTasks(playerPed)
Citizen.Wait(50)
local welder = GetClosestObjectOfType(playerCoords, 5.0, GetHashKey('prop_weld_torch'), false, false, false)
SetEntityAsMissionEntity(welder, true)
DeleteEntity(welder)
DeleteObject(grinder)
end
function OpenTrailer()
TriggerServerEvent('kq_carheist:openTrailer', heist.trailer)
if openingRamp then
StopOpeningRamp()
end
end
RegisterNetEvent('kq_carheist:openTrailer')
AddEventHandler('kq_carheist:openTrailer', function(networkVehicle)
heist.rampDown = true
if NetworkDoesEntityExistWithNetworkId(networkVehicle) then
SetVehicleDoorOpen(NetworkGetEntityFromNetworkId(networkVehicle), 5, false, false)
end
if heist.vehicles[3] then
DetachVehicle(3, true)
end
for k, vehicle in pairs(heist.vehicles) do
if NetworkDoesEntityExistWithNetworkId(vehicle.vehicle) then
local veh = NetworkGetEntityFromNetworkId(vehicle.vehicle)
SetVehicleDoorsLocked(veh, 0)
SetVehicleDoorsLockedForAllPlayers(veh, false)
end
end
OnTrailerOpened()
end)
function DetachVehicle(vehicleKey, falling)
Citizen.CreateThread(function()
if falling then
Citizen.Wait(1000)
end
if NetworkDoesEntityExistWithNetworkId(heist.vehicles[vehicleKey].vehicle) and NetworkHasControlOfEntity(NetworkGetEntityFromNetworkId(heist.vehicles[vehicleKey].vehicle)) then
local vehicle = NetworkGetEntityFromNetworkId(heist.vehicles[vehicleKey].vehicle)
if Config.useVehicleAlarm then
SetVehicleAlarm(vehicle, true)
SetVehicleAlarmTimeLeft(vehicle, math.random(25000, 60000))
end
DetachEntity(vehicle, 1, 1)
SetVehicleSuspensionHeight(vehicle, 0.0)
Entity(vehicle).state.ignoreLocks = true
OnVehicleDetach(vehicle)
if falling then
Citizen.Wait(1000)
end
TriggerServerEvent('kq_carheist:enableCollisions', heist.vehicles[vehicleKey].vehicle)
if falling then
local falls = 0
while falls < 45 do
local vel = GetEntityVelocity(vehicle)
SetEntityVelocity(vehicle, vel.x * 0.98, vel.y * 0.98, vel.z + 0.24)
falls = falls + 1
Citizen.Wait(100)
end
end
end
end)
end
RegisterNetEvent('kq_carheist:enableCollisions')
AddEventHandler('kq_carheist:enableCollisions', function(netVehicle)
local vehicle = NetworkGetEntityFromNetworkId(netVehicle)
for k, veh in pairs(heist.vehicles) do
if NetworkDoesEntityExistWithNetworkId(veh.vehicle) then
local otherVeh = NetworkGetEntityFromNetworkId(veh.vehicle)
if otherVeh ~= vehicle then
SetEntityNoCollisionEntity(vehicle, otherVeh, true)
end
end
end
end)
----------------------
-- HEIST CREATION
----------------------
RegisterNetEvent('kq_carheist:startDriver')
AddEventHandler('kq_carheist:startDriver', function()
StartDriver()
end)
function StartDriver()
if not heist.endLocation then
return
end
local endLoc = heist.endLocation
--TaskVehicleDriveWander(GetNPC(), GetTruck(), Config.truckDriveSpeed + 0.0, Config.truckDriveStyle)
local coords = GetEntityCoords(GetTruck())
RequestAdditionalCollisionAtCoord(coords)
RequestCollisionAtCoord(coords)
AddNavmeshRequiredRegion(coords.x, coords.y, 100.0)
if GetDistanceBetweenCoords(GetEntityCoords(GetTruck()), endLoc.x, endLoc.y, endLoc.z, true) > 15.0 then
TaskVehicleDriveToCoordLongrange(GetNPC(), GetTruck(), endLoc.x, endLoc.y, endLoc.z, Config.truckDriveSpeed + 0.0, Config.truckDriveStyle, 10.0)
end
end
RegisterNetEvent('kq_carheist:createHeist')
AddEventHandler('kq_carheist:createHeist', function(newHeist)
heist = newHeist
CreateHeist()
end)
function CreateHeist()
Citizen.CreateThread(function()
heist.truck = NetworkGetNetworkIdFromEntity(CreateTruck())
heist.trailer = NetworkGetNetworkIdFromEntity(CreateTrailer())
heist.npc = NetworkGetNetworkIdFromEntity(CreateDriver())
if heist.passengerEnabled then
heist.passenger = NetworkGetNetworkIdFromEntity(CreatePassenger())
end
if heist.supportEnabled then
Debug('create support')
heist.support = CreateSupport()
end
Citizen.Wait(10)
Debug('attach trailer')
AttachVehicleToTrailer(GetTruck(), GetTrailer(), 10.0)
Citizen.Wait(1000)
SyncToServer()
end)
end
function CreateTruck()
local availableTrucks = Config.events[heist.event].trucks
local model = availableTrucks[math.random(1, #availableTrucks)]
DoRequestModel(model)
local veh = CreateVehicle(model, heist.startLocation.truck.x, heist.startLocation.truck.y, heist.startLocation.truck.z, heist.startLocation.truck.h, 1, 0)
SetEntityAsMissionEntity(veh, true, true)
SetNetworkShared(NetworkGetNetworkIdFromEntity(veh), true)
if heist.bulletproofTiresEnabled then
SetVehicleTyresCanBurst(veh, false)
end
SetVehicleDoorsLocked(veh, 2)
SetVehicleDoorsLockedForAllPlayers(veh, true)
SetVehicleCustomPrimaryColour(veh, Config.truckColor.r, Config.truckColor.g, Config.truckColor.b)
SetVehicleCustomSecondaryColour(veh, Config.truckColor.r, Config.truckColor.g, Config.truckColor.b)
AfterTruckCreated(veh)
return veh
end
function CreateTrailer()
local model = Settings.trailer
DoRequestModel(model)
local veh = CreateVehicle(model, heist.startLocation.truck.x, heist.startLocation.truck.y, heist.startLocation.truck.z + 4.0, 0.0, 1, 0)
SetEntityAsMissionEntity(veh, true, true)
SetNetworkShared(NetworkGetNetworkIdFromEntity(veh), true)
FreezeEntityPosition(veh, true)
SetEntityProofs(veh, false, true, true, false, false, true, 1, false)
SetVehicleDoorCanBreak(veh, 5, false)
SetVehicleDoorCanBreak(veh, 4, false)
CreateTrailerVehicles(veh)
FreezeEntityPosition(veh, false)
if heist.bulletproofTiresEnabled then
SetVehicleTyresCanBurst(veh, false)
end
AfterTrailerCreated(veh)
return veh
end
function CreateTrailerVehicles(trailer)
local lastVeh = nil
for k, slot in pairs(Settings.trailerSlots) do
if heist.vehicles[k] then
local vehicle = heist.vehicles[k].data
if IsModelValid(vehicle.model) then
Debug('created trailer vehicle ' .. vehicle.model)
DoRequestModel(vehicle.model)
local coords = slot.coords
local rot = slot.rot
local veh = CreateVehicle(vehicle.model, heist.startLocation.truck.x + coords.x, heist.startLocation.truck.y + coords.y, heist.startLocation.truck.z + 4.0 + coords.z + 0.6, 0.0, 1, 0)
SetEntityAsMissionEntity(veh, true, true)
SetNetworkShared(NetworkGetNetworkIdFromEntity(veh), true)
SetVehicleModKit(veh, 0)
SetVehicleLivery(veh, math.random(0, 8))
SetVehicleMod(veh, 48, math.random(0, 8), 1)
FreezeEntityPosition(veh, true)
heist.vehicles[k] = { data = vehicle, vehicle = NetworkGetNetworkIdFromEntity(veh), tracker = true, trackerLocation = math.random(1,6), slot = slot, hash = heist.hash }
SetEntityCoords(veh, heist.startLocation.truck.x + coords.x, heist.startLocation.truck.y + coords.y, heist.startLocation.truck.z + 4.0 + coords.z + 0.5, 0, 0, 0, 0)
if DoesEntityExist(veh) then
SetVehicleSuspensionHeight(veh, 0.075)
end
local offset = GetOffsetFromEntityGivenWorldCoords(trailer, GetEntityCoords(veh))
AttachEntityToEntity(veh, trailer, 0, offset.x, offset.y, offset.z, rot.x, rot.y, rot.z, 1, 1, 1, 0, 0, 1)
SetVehicleDoorsLocked(veh, 2)
SetVehicleDoorsLockedForAllPlayers(veh, true)
AfterTrailerVehicleCreated(veh)
FreezeEntityPosition(veh, false)
if lastVeh then
SetEntityNoCollisionEntity(veh, lastVeh, false)
end
lastVeh = veh
end
end
end
Debug('created trailer vehicles')
return true
end
function CreateDriver()
local availableNPCs = Config.events[heist.event].npcs
local model = availableNPCs[math.random(1, #availableNPCs)]
DoRequestModel(model)
local driver = CreatePedInsideVehicle(GetTruck(), 0, model, -1, 1, 1)
SetNetworkShared(NetworkGetNetworkIdFromEntity(driver), true)
SetPedBaseConfig(driver)
SetBlockingOfNonTemporaryEvents(driver, true)
SetPedMaxHealth(driver, Config.npcHealth)
SetEntityHealth(driver, Config.npcHealth)
SetPedSuffersCriticalHits(driver, Config.npcSuffersCriticalHits)
AfterDriverCreated(driver)
return driver
end
function CreatePassenger()
local availableNPCs = Config.events[heist.event].npcs
local model = availableNPCs[math.random(1, #availableNPCs)]
DoRequestModel(model)
local passenger = CreatePedInsideVehicle(GetTruck(), 0, model, 0, 1, 0)
SetNetworkShared(NetworkGetNetworkIdFromEntity(passenger), true)
SetPedBaseConfig(passenger)
SetPedMaxHealth(passenger, 150)
SetEntityHealth(passenger, 150)
SetPedSuffersCriticalHits(passenger, false)
if heist.weaponsEnabled then
GiveWeaponToPed(passenger, Config.weapons[math.random(1, #Config.weapons)], 120, false, true)
end
AfterPassengerCreated(passenger)
return passenger
end
function CreateSupport()
local model = Config.supportVehicles[math.random(1, #Config.supportVehicles)]
DoRequestModel(model)
local veh = CreateVehicle(model, heist.startLocation.support.x, heist.startLocation.support.y, heist.startLocation.support.z, heist.startLocation.support.h, 1, 0)
SetEntityAsMissionEntity(veh, true, true)
SetNetworkShared(NetworkGetNetworkIdFromEntity(veh), true)
if heist.bulletproofTiresEnabled then
SetVehicleTyresCanBurst(veh, false)
end
SetVehicleDoorsLocked(veh, 2)
SetVehicleDoorsLockedForAllPlayers(veh, true)
SetVehicleModKit(veh, 0)
SetVehicleWindowTint(veh, 2)
SetVehicleModColor_1(veh, 3, 0, 0)
SetVehicleModColor_2(veh, 3, 0, 0)
SetVehicleCustomPrimaryColour(veh, Config.supportColor.r, Config.supportColor.g, Config.supportColor.b)
SetVehicleCustomSecondaryColour(veh, Config.supportColor.r, Config.supportColor.g, Config.supportColor.b)
local supportAmount = math.random(2, GetVehicleModelNumberOfSeats(model))
AfterSupportVehicleCreated(veh)
local peds = {}
for i = 1, supportAmount, 1 do
local pedModel = Config.supportPeds[math.random(1, #Config.supportPeds)]
DoRequestModel(pedModel)
local ped = CreatePedInsideVehicle(veh, 0, pedModel, i - 2, 1, 1)
SetNetworkShared(NetworkGetNetworkIdFromEntity(ped), true)
if i == 1 then
TaskVehicleEscort(ped, veh, GetTrailer(), -1, Config.truckDriveSpeed * 1.2, Config.truckDriveStyle, 25.0, 25.0)
SetBlockingOfNonTemporaryEvents(ped, true)
end
GiveWeaponToPed(ped, Config.weapons[math.random(1, #Config.weapons)], 120, false, true)
SetPedBaseConfig(ped)
SetPedMaxHealth(ped, 200)
SetEntityHealth(ped, 200)
SetPedSuffersCriticalHits(ped, false)
table.insert(peds, NetworkGetNetworkIdFromEntity(ped))
AfterSupportPedCreated(ped)
end
return { vehicle = NetworkGetNetworkIdFromEntity(veh), peds = peds }
end
function SetPedBaseConfig(ped)
SetEntityAlwaysPrerender(ped, true)
SetDriverAbility(ped, 100.0)
SetDriverAggressiveness(ped, 0.1)
SetPedAllowedToDuck(ped, 1)
SetPedArmour(ped, 100)
SetPedCombatAttributes(ped, 2, true)
SetPedCombatAttributes(ped, 3, true)
SetTaskVehicleChaseBehaviorFlag(ped, 32, true)
SetPedCanBeDraggedOut(ped, false)
SetPedKeepTask(ped, true)
SetPedCombatRange(ped, 0)
SetPedCombatAbility(ped, 0)
if Config.npcShootingAccuracy > 30 then
SetPedCombatAbility(ped, 1)
end
if Config.npcShootingAccuracy > 80 then
SetPedCombatAbility(ped, 2)
end
SetPedAccuracy(ped, Config.npcShootingAccuracy)
SetPedDropsWeaponsWhenDead(ped, false)
end
function SetPedsRelationships()
SetRelationshipBetweenGroups(0, 'kq_carheist_ped', 'kq_carheist_ped')
SetRelationshipBetweenGroups(5, 'kq_carheist_ped', robberRelationship)
local friendlyTo = { 'COP', 'SECURITY_GUARD', 'PRIVATE_SECURITY', 'FIREMAN', 'ARMY', 'CIVMALE', 'CIVFEMALE' }
for _, group in pairs(friendlyTo) do
SetRelationshipBetweenGroups(2, 'kq_carheist_ped', GetHashKey(group))
SetRelationshipBetweenGroups(2, GetHashKey(group), 'kq_carheist_ped')
end
for k, ped in pairs(GetAllHeistPeds()) do
SetPedRelationshipGroupHash(ped, 'kq_carheist_ped')
SetPedDropsWeaponsWhenDead(ped, false)
end
SetRelationshipBetweenGroups(3, 'kq_carheist_ped', GetHashKey('PLAYER'))
SetRelationshipBetweenGroups(3, GetHashKey('PLAYER'), 'kq_carheist_ped')
SetRelationshipBetweenGroups(1, GetHashKey('PLAYER'), robberRelationship)
SetRelationshipBetweenGroups(1, robberRelationship, GetHashKey('PLAYER'))
end
RegisterNetEvent('kq_carheist:announceHeist')
AddEventHandler('kq_carheist:announceHeist', function(coords)
if not IsPolice() then
SendAnnouncementMessage(L('Car transport truck is currently departing.\nI\'ll pay top dollar if you can get them'), L('Car collector'), coords)
end
end)
function CreateTemporaryBlip(coords, sprite, color, alpha, scale, message, shortRange, noLegend)
Citizen.CreateThread(function()
local blip = AddBlipForCoord(coords)
SetBlipSprite(blip, sprite)
SetBlipHighDetail(blip, true)
SetBlipColour(blip, color)
SetBlipAlpha(blip, alpha)
SetBlipScale(blip, scale)
BeginTextCommandSetBlipName('STRING')
AddTextComponentString(message)
EndTextCommandSetBlipName(blip)
SetBlipAsShortRange(blip, shortRange)
if noLegend then
SetBlipDisplay(blip, 8)
end
Citizen.Wait(Config.announcementBlip.duration or 15000)
RemoveBlip(blip)
end)
end
----------------------
-- TRACKERS
----------------------
function CheckForTracker(vehKey, trackerKey, textCoords, veh)
local playerPed = PlayerPedId()
local vehCoords = GetEntityCoords(veh)
Debug(vehCoords)
local playerCoords = GetEntityCoords(playerPed)
Debug(playerCoords)
local heading = GetHeadingFromVector_2d(playerCoords.x - vehCoords.x, playerCoords.y - vehCoords.y) + 180.0
SetEntityHeading(playerPed, heading)
PlayAnim('anim@amb@clubhouse@tutorial@bkr_tut_ig3@', 'machinic_loop_mechandplayer')
local searching = true
Citizen.CreateThread(function()
while searching do
Draw3DText(textCoords.x, textCoords.y, textCoords.z + 0.2, L('~w~Searching for a tracking device'), 4, 0.04, 0.04)
Draw3DText(textCoords.x, textCoords.y, textCoords.z + 0.1, L('~w~Press [~r~E~w~] to cancel'), 4, 0.035, 0.035)
if IsControlJustReleased(0, Keys['E']) or IsPedRagdoll(playerPed) or GetDistanceBetweenCoords(textCoords, playerCoords, true) > 3.0 then
searching = false
end
Citizen.Wait(1)
end
end)
local waits = Config.tracker.searchDuration / 1000
while waits > 0 and searching do
Citizen.Wait(1000)
waits = waits - 1
end
if not searching then
ClearPedTasks(playerPed)
end
if searching then
searching = false
if sellableVehicles[vehKey].trackerLocation == trackerKey then
local removing = true
local removalKeybinds = Config.tracker.removalKeybinds
local keyKey = #removalKeybinds
local progress = 0
while progress < Config.tracker.removalLength and sellableVehicles[vehKey].tracker and removing do
local currentKey = Config.tracker.removalKeybinds[keyKey]
local text = '~w~'
for k, key in pairs(removalKeybinds) do
if key ~= currentKey then
text = text .. '~w~' .. key
if IsControlJustReleased(0, Keys[key]) then
progress = progress - 2
currentKey = nil
local display = true
Citizen.CreateThread(function()
while display and removing do
Draw3DText(textCoords.x, textCoords.y, textCoords.z, L('~r~You dropped the screwdriver'), 4, 0.04, 0.04)
Draw3DText(textCoords.x, textCoords.y, textCoords.z - 0.1, L('~w~Press [~r~E~w~] to cancel'), 4, 0.035, 0.035)
if IsControlJustReleased(0, Keys['E']) or IsPedRagdoll(playerPed) or GetDistanceBetweenCoords(textCoords, playerCoords, true) > 3.0 then
removing = false
ClearPedTasks(playerPed)
end
Citizen.Wait(1)
end
end)
Citizen.Wait(Config.tracker.removalMessedUpDuration)
display = false
end
else
text = text .. '~r~' .. currentKey
end
end
if IsControlJustReleased(0, Keys[currentKey]) then
progress = progress + 1
keyKey = keyKey - 1
if keyKey < 1 then
keyKey = #removalKeybinds
end
end
Draw3DText(textCoords.x, textCoords.y, textCoords.z + 0.2, L('~g~Tracking device found!'), 4, 0.04, 0.04)
Draw3DText(textCoords.x, textCoords.y, textCoords.z, '~w~' .. (L('Press ~w~[{keybinds}~w~] to unscrew')):gsub('{keybinds}', text), 4, 0.04, 0.04)
Draw3DText(textCoords.x, textCoords.y, textCoords.z - 0.1, L('~w~Press [~r~E~w~] to cancel'), 4, 0.035, 0.035)
if IsControlJustReleased(0, Keys['E']) or IsPedRagdoll(playerPed) or GetDistanceBetweenCoords(textCoords, playerCoords, true) > 3.0 then
removing = false
ClearPedTasks(playerPed)
end
Citizen.Wait(1)
end
if removing then
removing = false
if sellableVehicles[vehKey].tracker then
TriggerServerEvent('kq_carheist:removeTracker', vehKey, textCoords)
CreateTrackerObject()
end
end
end
end
ClearPedTasks(playerPed)
end
function CreateTrackerObject()
local trackerModel = 'prop_cs_mini_tv'
DoRequestModel(trackerModel)
local playerPed = PlayerPedId()
local playerCoords = GetEntityCoords(playerPed)
local trackerObj = CreateObject(trackerModel, playerCoords.x, playerCoords.y, playerCoords.z, true, true, 1)
SetEntityDynamic(trackerObj, true)
end
----------------------
-- DROP OFF
----------------------
function RemoveDropOffs()
RemoveDropOffBlips()
currentDropOffs = {}
end
function CreateNewDropOffs(hash)
Debug('create dropoff')
math.randomseed(hash)
local amount = math.random(Config.dropOff.minLocations, Config.dropOff.maxLocations)
currentDropOffs = {}
while #currentDropOffs < amount do
local newLoc = Config.dropOff.locations[math.random(1, #Config.dropOff.locations)]
if not Contains(currentDropOffs, newLoc) then
table.insert(currentDropOffs, newLoc)
end
Citizen.Wait(1)
end
Debug('Got ' .. #currentDropOffs)
RemoveDropOffBlips()
for k, dropOff in pairs(currentDropOffs) do
Debug(json.encode(dropOff))
local blipConf = Config.dropOff.blips.primary
local primBlip = CreateDropOffBlip(vector3(dropOff.x, dropOff.y, dropOff.z), blipConf.sprite, blipConf.color, blipConf.alpha, blipConf.scale, L('Stolen vehicle drop off point'), blipConf.shortRange)
SetBlipDisplay(primBlip, 8)
table.insert(dropOffBlips, primBlip)
blipConf = Config.dropOff.blips.secondary
local secBlip = CreateDropOffBlip(vector3(dropOff.x, dropOff.y, dropOff.z), blipConf.sprite, blipConf.color, blipConf.alpha, blipConf.scale, L('Stolen vehicle drop off point'), blipConf.shortRange)
table.insert(dropOffBlips, secBlip)
end
math.randomseed(GetGameTimer())
end
function RemoveDropOffBlips()
for b, blip in pairs(dropOffBlips) do
RemoveBlip(blip)
end
dropOffBlips = {}
end
function CreateDropOffBlip(coords, sprite, color, alpha, scale, message, shortRange)
local blip = AddBlipForCoord(coords)
SetBlipSprite(blip, sprite)
SetBlipHighDetail(blip, true)
SetBlipColour(blip, color)
SetBlipAlpha(blip, alpha)
SetBlipScale(blip, scale)
BeginTextCommandSetBlipName('STRING')
AddTextComponentString(message)
EndTextCommandSetBlipName(blip)
SetBlipAsShortRange(blip, shortRange)
return blip
end
function DropOffVehicle(vehicle, dropCoords)
if DoesEntityExist(vehicle) then
TriggerServerEvent('kq_carheist:dropOffVehicle', NetworkGetNetworkIdFromEntity(vehicle), dropCoords)
if DoesEntityExist(vehicle) then
SetVehicleDoorsLocked(vehicle, 2)
SetVehicleUndriveable(vehicle, true)
SetVehicleAsNoLongerNeeded(vehicle)
SetEntityCleanupByEngine(vehicle, true)
end
end
end
----------------------
-- GETTERS
----------------------
function GetTruck()
return GetSomething('truck')
end
function GetTrailer()
return GetSomething('trailer')
end
function GetNPC()
return GetSomething('npc')
end
function GetPassenger()
return GetSomething('passenger')
end
function GetSomething(key)
if not heist[key] then
return nil
end
if not NetworkDoesEntityExistWithNetworkId(heist[key]) then
return nil
end
local entity = NetworkGetEntityFromNetworkId(heist[key])
if DoesEntityExist(entity) then
return entity
end
return false
end
function GetSupportVehicle()
if not heist.supportEnabled or not heist.support then
return nil
end
if not NetworkDoesEntityExistWithNetworkId(heist.support.vehicle) then
return nil
end
local entity = NetworkGetEntityFromNetworkId(heist.support.vehicle)
if DoesEntityExist(entity) then
return entity
end
return nil
end
function GetAllHeistPeds()
local peds = { GetNPC() }
if GetPassenger() then
table.insert(peds, GetPassenger())
end
if heist.supportEnabled and heist.support and #heist.support.peds then
for k, netId in pairs(heist.support.peds) do
if NetworkDoesEntityExistWithNetworkId(netId) then
local ped = NetworkGetEntityFromNetworkId(netId)
table.insert(peds, ped)
end
end
end
return peds
end
function IsHeistVehicle(veh)
for k, vehicle in pairs(heist.vehicles) do
if NetworkDoesEntityExistWithNetworkId(vehicle.vehicle) then
local hVeh = NetworkGetEntityFromNetworkId(vehicle.vehicle)
if veh == hVeh then
return true
end
end
end
return false
end
function IsOnBike()
if IsPedInAnyVehicle(PlayerPedId()) then
local veh = GetVehiclePedIsIn(PlayerPedId())
if GetVehicleClass(veh) == 8 or GetVehicleClass(veh) == 13 then
return true
end
end
end
function IsInsideATunnel(coords)
local tunnels = {9, 12, 6, 15, 7, 3, 21, 4, 18, 5}
return Contains(tunnels, GetInteriorGroupId(GetInteriorAtCoords(coords)))
end
----------------------
-- HELPERS
----------------------
function DoRequestModel(model)
local hash = GetHashKey(model)
RequestModel(hash)
local timeout = 0
while not HasModelLoaded(hash) and timeout < 100 do
Citizen.Wait(100)
timeout = timeout + 1
end
end
function Contains(tab, val)
for index, value in ipairs(tab) do
if value == val then
return true
end
end
return false
end
function DoRequestAnimDict(dict)
RequestAnimDict(dict)
local timeout = 0
while not HasAnimDictLoaded(dict) do
Citizen.Wait(50)
timeout = timeout + 1
if timeout > 100 then
return
end
end
end
function PlayAnim(dict, anim, flag)
Citizen.CreateThread(function()
RequestAnimDict(dict)
local timeout = 0
while not HasAnimDictLoaded(dict) do
Citizen.Wait(50)
timeout = timeout + 1
if timeout > 100 then
return
end
end
TaskPlayAnim(PlayerPedId(), dict, anim, 4.0, 8.0, 5.0, flag or 1, 0, false, false, false)
RemoveAnimDict(dict)
end)
end
function Shuffle(tbl)
-- suffles numeric indices
local len, random = #tbl, math.random;
for i = len, 2, -1 do
local j = random(1, i);
tbl[i], tbl[j] = tbl[j], tbl[i];
end
return tbl;
end
function string.insert(str1, str2, pos)
return str1:sub(1, pos) .. str2 .. str1:sub(pos + 1)
end
function myDot(a, b)
return (a[1] * b[1]) + (a[2] * b[2]) + (a[3] * b[3])
end
function myMag(a)
return math.sqrt((a[1] * a[1]) + (a[2] * a[2]) + (a[3] * a[3]))
end
RegisterNetEvent('kq_carheist:notify')
AddEventHandler('kq_carheist:notify', function(message)
ShowTooltip(message)
end)
function Debug(message)
if Config.debug then
print(message)
end
end
local alertTitle = nil
local alertMessage = nil
local alertActive = false
function Alert(title, message, duration)
Citizen.CreateThread(function()
alertTitle = title
alertMessage = message
alertActive = true
Citizen.Wait(duration)
alertActive = false
end)
end
Citizen.CreateThread(function()
while true do
local sleep = 500
if alertActive then
sleep = 1
local scaleform = RequestScaleformMovie('MP_BIG_MESSAGE_FREEMODE')
while not HasScaleformMovieLoaded(scaleform) do
Citizen.Wait(1)
end
PushScaleformMovieFunction(scaleform, 'SHOW_SHARD_WASTED_MP_MESSAGE')
PushScaleformMovieFunctionParameterString(alertTitle)
PushScaleformMovieFunctionParameterString(alertMessage)
PopScaleformMovieFunctionVoid()
DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255, 0)
end
Citizen.Wait(sleep)
end
end)
function L(text)
if Locale and Locale[text] then
return Locale[text]
end
return text
end
Config = {}
-- Enables debug statements which will print in consoles
-- Also enabled a command /cheist which will forcefully spawn a new heist even if one is already happening
-- Do not enable this unless asked to by a KuzQuality staff member or you know what you're doing
Config.debug = false
-- Experimental method of syncing the trucks between players
Config.experimentalSync = false
--------------------------------------------------------
--------------------------------------------------------
--- MAKE SURE THAT THE CORRECT FRAMEWORK IS ENABLED ! --
--------------------------------------------------------
--------------------------------------------------------
--- SETTINGS FOR ESX
Config.esxSettings = {
enabled = false,
-- Whether or not to use the new ESX export method
useNewESXExport = true,
-- Account on which players will receive their money after successfully dropping off their vehicle
moneyAccount = 'black_money',
}
--- SETTINGS FOR QBCORE
Config.qbSettings = {
enabled = true,
-- If you're using an old QBCore version set this to 'false' and uncomment the old export in fxmanifest.lua
useNewQBExport = true,
-- Account on which players will receive their money after successfully dropping off their vehicle
-- Using 'crypto' for dirty money feel; change to 'cash' or 'bank' as needed
moneyAccount = 'cash'
}
-- Minimum police officers that have to be online to allow spawning of the heist truck
Config.minimumOfficers = 3
-- Whether the player must be in a gang to interact with the heist
Config.requireGang = true
-- How often the truck should be spawned (In minutes)
-- If any players are still near the old truck new one won't be spawned
-- Set to 45 minutes for RP pacing - prevents heist spam
Config.heistSpawnTime = 45
-- Whether or not to announce the truck spawning to all players (Besides police officers)
Config.announceTruckDepartureToPlayers = true
-- Announcement blip
Config.announcementBlip = {
-- How long the blip will stay on the map
duration = 15000,
primary = {
sprite = 161,
color = 47,
scale = 2.0,
alpha = 150,
shortRange = true,
},
secondary = {
sprite = 477,
color = 47,
scale = 1.3,
alpha = 255,
shortRange = true,
},
}
-- Whether or not to use audible vehicle alarms
Config.useVehicleAlarm = true
-- Bike jump config
Config.bikeJump = {
enabled = true,
keybind = 'X'
}
-- Whether or not to require a item to open the trailer
Config.requireTool = true
-- item names that will allow players to open the ramp of the trailer
Config.cuttingTools = {
'kq_angle_grinder'
}
-- Amount of key presses required to open the latch/ramp (Set it higher to make it take longer)
Config.latchCuttingDuration = 15
-- Keys used for the angle grinder / cutting the latches
Config.grinderKeys = { 'W', 'A', 'S', 'D', 'G' }
Config.tracker = {
-- How long it will take to search one spot on the vehicle (in ms)
searchDuration = 15000,
-- How many times the player has to press the keys to unscrew the tracker
removalLength = 50,
-- Time that players will need to wait when they misclick "drop the screwdriver" (in ms)
removalMessedUpDuration = 6000,
-- Keys used to unscrew the tracker
removalKeybinds = {
'A',
'W',
'D',
'S'
},
-- For how long the GPS location is going to be visible for police after tracker gets removed (in ms)
stayOnMapAfterRemovalTime = 90000,
}
-- Name of the job(s) which will receive the alerts
Config.policeJobNames = {
'police'
}
Config.policeBlip = {
-- How often the trackers locations should be updated (Don't recommend putting it too low) (in ms)
refreshTime = 5000,
-- Whether or not to allow tunnels and underground areas to lower the accuracy of the tracker
makeTunnelsLowerSignal = true,
-- Check which works better for detection of tunnels but makes all trackers which are far away
-- from the officer display as if the tracker is in a tunnel (Still recommended)
unknownTunnelChecking = true,
truck = {
primary = {
sprite = 161,
color = 47,
scale = 2.0,
alpha = 150,
shortRange = false,
},
secondary = {
sprite = 477,
color = 47,
scale = 1.3,
alpha = 255,
shortRange = false,
}
},
vehicles = {
primary = {
sprite = 161,
color = 49,
scale = 1.0,
alpha = 150,
shortRange = false,
},
secondary = {
sprite = 595,
color = 49,
scale = 1.0,
alpha = 255,
shortRange = false,
}
}
}
-- ADVANCED! If you don't know what this does. Do not change it.
Config.truckDriveStyle = 1074528293
-- Speed the truck will drive at (I don't recommend putting it above 30.0)
Config.truckDriveSpeed = 20.0
-- Color of the heist truck
Config.truckColor = { r = 255, g = 60, b = 10 }
-- All possible routes that the truck can spawn on and take
-- (Be careful when adding new ones. Make sure that the NPC knows how to drive the route (test it))
Config.startLocations = {
{
truck = { x = 1541.56, y = 854.07, z = 77.5, h = 329.0 },
support = { x = 1524.74, y = 822.16, z = 77.5, h = 328.0 },
finish = { x = 138.46, y = 6414.1, z = 26.13, h = 261.80 },
},
{
truck = { x = -2875.27, y = 2188.37, z = 35.23, h = 129.0 },
support = { x = -2841.30, y = 2207.92, z = 31.11, h = 121.19 },
finish = { x = 2506.23, y = -280.09, z = 93.05, h = 91.77 },
},
{
truck = { x = -1947.37, y = -337.79, z = 46.23, h = 280.77 },
support = { x = -1980.10, y = -311.63, z = 43.65, h = 231.09 },
finish = { x = -680.03, y = 5761.55, z = 16.88, h = 304.37 },
},
{
truck = { x = 1156.20, y = -1695.16, z = 35.65, h = 164.31 },
support = { x = 1165.83, y = -1669.85, z = 36.45, h = 150.35 },
finish = { x = 138.46, y = 6414.1, z = 26.13, h = 261.80 },
},
{
truck = { x = 2666.48, y = 3454.13, z = 55.73, h = 247.0 },
support = { x = 2636.36, y = 3462.57, z = 55.37, h = 244.77 },
finish = { x = 1379.78, y = -2068.52, z = 51.99, h = 156.80 },
},
}
-- Whether or not to reduce the drop off reward based on how damaged the vehicle is
Config.reduceRewardByVehicleDamage = true
-- How much percentage to remove off the vehicle price based on damage (0% nothing, 100% cars which have 0 health will pay $0)
-- Set to 80% - forces careful driving for RP; damaged cars are worth much less
Config.reduceByDamagePercentage = 80
Config.dropOff = {
-- Minimum amount of available drop off locations per heist
minLocations = 2,
-- Maximum amount of available drop off locations per heist
maxLocations = 3,
-- Whether or not to (almost) instantly delete the vehicle when dropping it off
instantlyDeleteVehicle = false,
blips = {
primary = {
sprite = 161,
color = 46,
scale = 1.0,
alpha = 150,
shortRange = false,
},
secondary = {
sprite = 524,
color = 46,
scale = 1.0,
alpha = 255,
shortRange = false,
}
},
-- All available drop off locations
locations = {
{ x = 1274.95, y = -3239.77, z = 5.88 },
{ x = -302.86, y = -2723.41, z = 6.01 },
{ x = -371.68, y = -2273.67, z = 7.60 },
{ x = 452.45, y = -2755.19, z = 6.05 },
{ x = -450.44, y = -2442.52, z = 6.00 },
{ x = 489.70, y = -2227.92, z = 5.91 },
{ x = -161.13, y = 928.02, z = 235.65 },
{ x = 2469.17, y = 1589.04, z = 32.72 },
{ x = 363.70, y = 3411.08, z = 36.40 },
{ x = 3803.85, y = 4451.05, z = 4.25 },
{ x = 2150.34, y = 4797.62, z = 41.13 },
{ x = 1905.25, y = 4924.22, z = 48.87 },
{ x = -197.12, y = 6536.59, z = 11.09 },
{ x = -1585.75, y = 5157.74, z = 19.57 },
{ x = 143.53, y = -2445.9, z = 5.99 },
{ x = -38.46, y = -2547.16, z = 6.00 },
{ x = -224.98, y = -2657.44, z = 6.00 },
{ x = -566.59, y = -2341.45, z = 13.83 },
{ x = -853.87, y = -1257.78, z = 4.99 },
{ x = -81.51, y = 361.99, z = 112.46 },
{ x = -1558.67, y = -247,35, z = 48.28 },
},
}
-- Color of the support vehicle
Config.supportColor = { r = 0, g = 0, b = 0 }
-- Possible vehicle models for the support vehicle
Config.supportVehicles = {
'baller2',
'kuruma',
'buffalo2',
'dubsta2',
'stanier',
'tailgater',
}
-- Ped models that the support can have
Config.supportPeds = {
's_m_m_chemsec_01'
}
-- How much health all the npcs will have (normal npc's have 100)
-- Increased for RP difficulty - guards are trained professionals
Config.npcHealth = 250
-- Whether or not all the npcs suffer from critical hits (aka headshots)
-- Enabled for realism - headshots should matter in RP
Config.npcSuffersCriticalHits = true
-- Integer between 0 and 100
-- Below 20 they barely hit, above 80 incredible aim
-- Set to 55 for challenging but fair RP encounters
Config.npcShootingAccuracy = 55
-- Chance of NPC's having a weapon (100% - armed transport convoy)
Config.weaponChance = 100
Config.weapons = {
'weapon_minismg',
'weapon_snspistol',
'weapon_combatpistol'
}
------------------------------------------------------------------------
-- chance = the chance of the event spawning
-- trucks = list of all truck models that can be used
-- npcs = list of all npc models that can be used (driver and passenger)
-- passengerChance = the chance of the truck having a passenger
-- bulletproofTiresChance = the chance of all heist vehicles having bullet proof tires
-- vehicleSlotChance = the chance of a vehicle spawning in a trailer slot (there always is at least 1 vehicle)
-- supportChance = the chance of the support vehicle spawning
-- minimumVehicles = the minimum amount of the vehicles on the trailer (max 3)
-- vehicles = {
-- name = Vehicle name
-- model = Vehicle model
-- price = The max amount of money the players will get for dropping off the vehicle
-- }
---------------------------------------------------------------------------
--- Chances of all events must add up to 100 !
Config.events = {
{
chance = 20,
trucks = {
'phantom3'
},
npcs = {
's_m_m_chemsec_01'
},
passengerChance = 100,
bulletproofTiresChance = 100,
vehicleSlotChance = 70,
supportChance = 100,
minimumVehicles = 1,
vehicles = {
{
name = 'Adder',
model = 'adder',
price = 40000,
},
{
name = 'Entity XF',
model = 'entityxf',
price = 35000,
},
{
name = 'Furia',
model = 'furia',
price = 45000,
},
{
name = 'Nero Custom',
model = 'nero2',
price = 52000,
},
{
name = 'Nero',
model = 'nero',
price = 44000,
},
{
name = 'Cyclone',
model = 'cyclone',
price = 45000,
},
{
name = 'T20',
model = 't20',
price = 40000,
},
{
name = 'Vacca',
model = 'vacca',
price = 29000,
},
{
name = 'Bullet',
model = 'bullet',
price = 28000,
},
{
name = 'Itali GTB',
model = 'italigtb',
price = 33000,
},
{
name = 'Itali GTB Custom',
model = 'italigtb2',
price = 38000,
},
{
name = 'Visione',
model = 'visione',
price = 49000,
},
{
name = 'SC1',
model = 'SC1',
price = 40000,
},
{
name = 'Taipan',
model = 'taipan',
price = 47000,
},
{
name = 'Thrax',
model = 'thrax',
price = 55000,
},
{
name = 'Emerus',
model = 'emerus',
price = 51000,
},
{
name = 'Entity XXR',
model = 'entity2',
price = 54000,
},
{
name = 'Reaper',
model = 'reaper',
price = 41000,
},
{
name = 'Voltic',
model = 'voltic',
price = 30000,
},
{
name = '811',
model = 'pfister811',
price = 39000,
},
{
name = 'Lynx',
model = 'lynx',
price = 32000,
},
{
name = 'Autarch',
model = 'autarch',
price = 44000,
},
{
name = 'XA-21',
model = 'xa21',
price = 40000,
},
}
},
{
chance = 35,
trucks = {
'phantom3',
'phantom',
'hauler',
'packer',
},
npcs = {
's_m_m_chemsec_01'
},
passengerChance = 80,
bulletproofTiresChance = 40,
vehicleSlotChance = 70,
supportChance = 40,
minimumVehicles = 2,
vehicles = {
{
name = 'Sultan RS',
model = 'sultanrs',
price = 25000,
},
{
name = 'Schlagen',
model = 'schlagen',
price = 30000,
},
{
name = 'Jester Classic',
model = 'jester3',
price = 28000,
},
{
name = 'Comet',
model = 'comet2',
price = 22000,
},
{
name = 'Comet Retro',
model = 'comet3',
price = 27000,
},
{
name = 'Verlierer',
model = 'verlierer2',
price = 30000,
},
{
name = 'Omnis',
model = 'omnis',
price = 33000,
},
{
name = 'Kuruma',
model = 'kuruma',
price = 24000,
},
{
name = 'Space Monkey Blista',
model = 'blista3',
price = 25000,
},
{
name = 'Coquette',
model = 'coquette',
price = 25000,
},
{
name = 'Banshee',
model = 'banshee',
price = 26000,
},
{
name = '9F',
model = 'ninef',
price = 26000,
},
{
name = 'Massacro',
model = 'massacro',
price = 26000,
},
{
name = 'Massacro Race car',
model = 'massacro2',
price = 33000,
},
{
name = 'Dominator GTX',
model = 'dominator3',
price = 29000,
},
{
name = 'Brioso R/A',
model = 'brioso',
price = 22000,
},
{
name = 'F620',
model = 'f620',
price = 23000,
},
{
name = 'Elegy Classic',
model = 'elegy',
price = 30000,
},
{
name = 'Ruston',
model = 'ruston',
price = 26000,
},
{
name = 'Flash GT',
model = 'flashgt',
price = 27000,
},
{
name = 'Elegy RH8',
model = 'elegy2',
price = 32000,
},
}
},
{
chance = 25,
trucks = {
'phantom3'
},
npcs = {
's_m_m_chemsec_01'
},
passengerChance = 100,
bulletproofTiresChance = 100,
vehicleSlotChance = 40,
supportChance = 100,
minimumVehicles = 1,
vehicles = {
{
name = 'Turismo Classic',
model = 'turismo2',
price = 60000,
},
{
name = 'JB700W',
model = 'jb7002',
price = 53000,
},
{
name = 'Torero',
model = 'torero',
price = 54000,
},
{
name = 'Cheburek',
model = 'cheburek',
price = 15000,
},
{
name = 'Dynasty',
model = 'dynasty',
price = 42000,
},
{
name = 'Monroe',
model = 'monroe',
price = 40000,
},
{
name = 'Swinger',
model = 'swinger',
price = 44000,
},
{
name = 'Cheetah Classic',
model = 'cheetah2',
price = 62000,
},
{
name = 'Infernus Classic',
model = 'infernus2',
price = 61000,
},
{
name = 'Rapid GT Classic',
model = 'rapidgt3',
price = 26000,
},
{
name = 'Savestra',
model = 'savestra',
price = 27000,
},
}
},
{
chance = 20,
trucks = {
'phantom3'
},
npcs = {
's_m_m_chemsec_01'
},
passengerChance = 100,
bulletproofTiresChance = 100,
vehicleSlotChance = 45,
supportChance = 80,
minimumVehicles = 1,
vehicles = {
{
name = 'Comet Safari',
model = 'comet4',
price = 45000,
},
{
name = 'Drag Tornado',
model = 'tornado6',
price = 47000,
},
{
name = 'Apocalypse Issi',
model = 'issi4',
price = 37000,
},
{
name = 'Drift Yosemite',
model = 'yosemite2',
price = 51000,
},
{
name = 'Lowrider Primo',
model = 'primo2',
price = 42000,
},
{
name = 'JB700',
model = 'jb700',
price = 58000,
},
{
name = 'Raptor',
model = 'raptor',
price = 35000,
},
}
},
}
fx_version 'cerulean'
games { 'gta5' }
lua54 'yes'
author 'KuzQuality | Kuzkay'
description 'Car Heist by KuzQuality'
version '1.0.14'
-- UNCOMMENT IF YOU'RE USING OLD QB CORE EXPORT
--shared_script '@qb-core/import.lua'
--
-- Server
--
server_scripts {
'locale/locale.lua',
'config.lua',
'shared/settings.lua',
'server/editable/esx.lua',
'server/editable/qb.lua',
'server/server.lua',
'server/functions.lua',
'server/editable/editable.lua',
}
--
-- Client
--
client_scripts {
'locale/locale.lua',
'config.lua',
'shared/settings.lua',
'client/editable/esx.lua',
'client/editable/qb.lua',
'client/functions.lua',
'client/client.lua',
'client/bikeJump.lua',
'client/editable/editable.lua',
'client/editable/policeAlert.lua',
}
escrow_ignore {
'config.lua',
'locale/locale.lua',
'client/editable/editable.lua',
'client/editable/policeAlert.lua',
'client/editable/qb.lua',
'client/editable/esx.lua',
'client/functions.lua',
'server/editable/editable.lua',
'server/editable/esx.lua',
'server/editable/qb.lua',
'server/server.lua',
}
dependency '/assetpacks'-- To edit the messages edit the ones on the right side, not the ones inside the square brackets.
-- ~r~ e.g. are colors. ~r~ being red, ~b~ being blue, ~y~ yellow etc.
Locale = {
['Car transport truck is currently departing.\nI\'ll pay top dollar if you can get them'] = 'Un transport de masini tocmai a plecat.\nPlatesc bine daca reusesti sa le aduci',
['Martin'] = 'Martin',
['Car collector'] = 'Colectionar de masini',
['Car transport'] = 'Transport de masini',
['Press ~w~[{keybinds}~w~] to unscrew'] = 'Apasa ~w~[{keybinds}~w~] pentru a desuruba',
['~r~You dropped the screwdriver'] = '~r~Ai scapat surubelnita',
['~w~Press [~r~E~w~] to force the ramp down'] = '~w~Apasa [~r~E~w~] pentru a forta rampa',
['~w~Press [~r~E~w~] to cancel'] = '~w~Apasa [~r~E~w~] pentru a anula',
['Cutting the latches...'] = 'Se taie incuietorile...',
['~w~Press [~r~{keybinds}~w~] to continue cutting'] = '~w~Apasa [~r~{keybinds}~w~] pentru a continua taierea',
['~w~Press [~r~E~w~] to climb up'] = '~w~Apasa [~r~E~w~] pentru a urca',
['~w~Press [~r~{keybind}~w~] to attempt a jump'] = '~w~Apasa [~r~{keybind}~w~] pentru a incerca o saritura',
['~y~! DANGEROUS !'] = '~y~! PERICULOS !',
['Car transport robbery'] = 'Jaf transport de masini',
['~r~You don\'t have anything that could be used to open this'] = '~r~Nu ai nimic cu care sa deschizi asta',
['Our car transport is under attack! Coordinates have been shared!'] = 'Transportul nostru de masini este atacat! Coordonatele au fost distribuite!',
['Car Transports Inc.'] = 'Car Transports Inc.',
['Robbery in progress'] = 'Jaf in desfasurare',
['Truck arrived'] = 'Camionul a ajuns',
['Our truck has arrived to its destination. Thank you for your assistance'] = 'Camionul nostru a ajuns la destinatie. Va multumim pentru asistenta',
['You need to remove the vehicle ~r~tracker ~w~before you sell it'] = 'Trebuie sa scoti ~r~trackerul ~w~de pe vehicul inainte sa il vinzi',
['Stolen vehicle: '] = 'Vehicul furat: ',
['~w~Press [~r~E~w~] to check for a tracker'] = '~w~Apasa [~r~E~w~] pentru a cauta un tracker',
['~w~Searching for a tracking device'] = '~w~Se cauta un dispozitiv de urmarire',
['~g~Tracking device found!'] = '~g~Dispozitiv de urmarire gasit!',
['Deliver the ~g~{vehicle}~w~ to one of the drop off points'] = 'Livreaza ~g~{vehicle}~w~ la unul dintre punctele de predare',
['Stolen vehicle drop off point'] = 'Punct de predare vehicul furat',
['Vehicle dropped off'] = 'Vehicul predat',
['You made ~g~${reward}'] = 'Ai castigat ~g~${reward}',
['You made ~g~${reward}\n~r~${losses} deducted due to vehicle damage'] = 'Ai castigat ~g~${reward}\n~r~${losses} deduse din cauza daunelor vehiculului',
['~w~Press [~r~E~w~] to drop off the vehicle'] = '~w~Apasa [~r~E~w~] pentru a preda vehiculul',
-- Gang & police requirement messages
['~r~You must be in a gang to participate in this heist'] = '~r~Trebuie sa faci parte dintr-un gang pentru a participa la acest jaf',
['~r~Not enough police officers online (minimum: {count})'] = '~r~Nu sunt suficienti politisti online (minim: {count})',
}
FXAPL<><4C> <0B><0F>r<EFBFBD>鮔7$<24>Z<EFBFBD>{<7B><<15>@<40>;<3B><><46><D69A>><3E>-<2D>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A295><EFBFBD>e<EFBFBD><15><>M<EFBFBD>Q<><51> r<><72><EFBFBD>D#8<>,<2C><>95<07><>8<EFBFBD>PGc0K<30>h<EFBFBD><68>*P<><50><EFBFBD>%i<><15>^ <09><>p qh<71><68><EFBFBD>o8)
<EFBFBD>"I<14><>2g<1E><EFBFBD>M/F9h<<3C><> !+<2B><>^<5E><><EFBFBD><EFBFBD><EFBFBD>'`I<>`p<05><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>_<16>7D<37>a<EFBFBD><03><15>x<><78>n=<3D><><EFBFBD>c<EFBFBD><63><EFBFBD>3<EFBFBD><33>W<EFBFBD>C+}\<5C><>O<EFBFBD>1H<31><48><EFBFBD>peY<65><59><EFBFBD>۩<EFBFBD>?<3F>m<EFBFBD>:<3A>f(<28><><EFBFBD>t<0F>\x>"<06><><EFBFBD><01><><EFBFBD>fZ<66><5A>;<3B>x<EFBFBD><78>l!@̈́"<>><19>L~<7E>w<EFBFBD><77>!<1D>6s"v<><76>a<EFBFBD><61><Q<>ui4hD<68><44>7&<26>Mlp#X<><58>]<5D>D +<2B><0E>*w<>><3E><>=<3D>+z<>\<5C>=<3D><>*k<><6B> @<40>r<EFBFBD>Ÿ<><C5B8>X<>2<1D><><EFBFBD>|<7C><><EFBFBD>.0<EFBFBD><EFBFBD>Ou<EFBFBD>3t<EFBFBD><1E><10>JPI<><49>^+<2B>W<11>162<08>d-<2D><><EFBFBD><13>}<1C><>#<23><><EFBFBD><EFBFBD><EFBFBD>T<>d<> ~><1D>oBkf<6B><66>y<1B><>{NidvV<76>m<EFBFBD>ƈL҅<>ˁ<EFBFBD>]'<27>.<2E><>D<EFBFBD><44><04><><EFBFBD><EFBFBD><EFBFBD><02><>&<26>qZ<71><5A>l<EFBFBD><6C><EFBFBD>c<1E>dƘD<C698>#^<5E><><EFBFBD><EFBFBD>%$<24>Y<EFBFBD><59>5<13>E<EFBFBD>ۏ<EFBFBD><DB8F><EFBFBD>sYYk<59>P<EFBFBD><50>&<26><06>C<>w^<5E>
<EFBFBD><EFBFBD>h<EFBFBD><06>1G<31><47><EFBFBD><1B><><EFBFBD>j<EFBFBD>kwm<15>&a<>J<EFBFBD>D+p<>