From 20816a08b95073403776692033e2134ef4068f5f Mon Sep 17 00:00:00 2001 From: Fan-Wu Yang Date: Fri, 2 Jun 2017 02:18:03 +1200 Subject: [PATCH] Everything has now been personalised to the person --- src/main/java/controllers/MainController.java | 3 +- .../controllers/SharedTripsController.java | 11 ++--- src/main/java/model/DataManager.java | 46 +++++++++++++++--- .../java/utils/DataManagerSerialiser.java | 20 +++++--- .../classes/controllers/MainController.class | Bin 4313 -> 4278 bytes target/classes/model/DataManager.class | Bin 11578 -> 13345 bytes target/classes/serialisation/sharedtrips.json | 2 +- .../utils/DataManagerSerialiser$1.class | Bin 692 -> 692 bytes .../utils/DataManagerSerialiser$2.class | Bin 692 -> 692 bytes .../utils/DataManagerSerialiser$3.class | Bin 693 -> 693 bytes .../utils/DataManagerSerialiser$4.class | Bin 692 -> 692 bytes .../utils/DataManagerSerialiser$5.class | Bin 659 -> 698 bytes .../utils/DataManagerSerialiser$6.class | Bin 669 -> 669 bytes .../utils/DataManagerSerialiser$7.class | Bin 671 -> 671 bytes .../utils/DataManagerSerialiser$8.class | Bin 693 -> 693 bytes .../classes/utils/DataManagerSerialiser.class | Bin 9934 -> 10169 bytes 16 files changed, 58 insertions(+), 24 deletions(-) diff --git a/src/main/java/controllers/MainController.java b/src/main/java/controllers/MainController.java index 97b8fdc..438ea11 100644 --- a/src/main/java/controllers/MainController.java +++ b/src/main/java/controllers/MainController.java @@ -46,7 +46,7 @@ public class MainController extends Controller{ } public void getNotifications(){ - List notifications = Session.session.getDataManager().getNotifications().get(Session.session.getUser().getStudentNumber()); + List notifications = Session.session.getDataManager().getNotifications().get(Session.session.getUser().getID()); if (notifications != null){ for (String s: notifications){ popUp(Alert.AlertType.INFORMATION, "Notification!", "You have received a Notification", s); @@ -57,7 +57,6 @@ public class MainController extends Controller{ public void login() throws Exception { //validate login if (validateLogin(username.getText(), password.getText())){ - Session.session.getDataManager().newLogged();//sets new arrays for new log ins getNotifications(); changeScene(SceneCode.HOME); }else{ diff --git a/src/main/java/controllers/SharedTripsController.java b/src/main/java/controllers/SharedTripsController.java index 8cca545..82239d5 100644 --- a/src/main/java/controllers/SharedTripsController.java +++ b/src/main/java/controllers/SharedTripsController.java @@ -13,10 +13,7 @@ import javafx.scene.layout.GridPane; import javafx.scene.layout.RowConstraints; import javafx.stage.Popup; import javafx.stage.Stage; -import model.SharedTrip; -import model.Stop; -import model.Trip; -import model.TripStop; +import model.*; import java.net.URL; import java.util.HashMap; @@ -132,7 +129,7 @@ public class SharedTripsController extends Controller{ //book button Button bookRide = new Button("Book Ride"); bookRide.setOnAction(e->{ - trip.bookSeat(parent.getSession().session.getUser()); + trip.bookSeat(Session.session.getUser()); tripDetails.close(); search(); popUp(Alert.AlertType.CONFIRMATION, "Success!", "You have Successfully booked a ride!", "The ride has been successfully booked and can be viewed in your booked rides."); @@ -161,7 +158,7 @@ public class SharedTripsController extends Controller{ Pattern stopNamePattern = Pattern.compile(".*"+stopName.getText()+".*", Pattern.CASE_INSENSITIVE); //ignore direction boolean ignoreDirection = directionBox.getSelectionModel().isSelected(0) || directionBox.getValue() == null; - for(SharedTrip sharedTrip: parent.getSession().getDataManager().getSharedTrips()){ + for(SharedTrip sharedTrip: Session.session.getDataManager().getAllSharedTrips()){ if (sharedTrip.isFull()){ continue; } @@ -192,7 +189,7 @@ public class SharedTripsController extends Controller{ @Override public void runLater(){ - sharedTrips = FXCollections.observableArrayList(parent.getSession().getDataManager().getSharedTrips()); + sharedTrips = FXCollections.observableArrayList(Session.session.getDataManager().getAllSharedTrips()); sharedTripsTable.setItems(sharedTrips); tripNameColumn.setCellValueFactory(p -> new SimpleStringProperty(p.getValue().name)); directionColumn.setCellValueFactory(p -> new SimpleStringProperty(p.getValue().direction)); diff --git a/src/main/java/model/DataManager.java b/src/main/java/model/DataManager.java index e622385..12780b8 100644 --- a/src/main/java/model/DataManager.java +++ b/src/main/java/model/DataManager.java @@ -18,24 +18,24 @@ public class DataManager { private Map> stops; private Map> routes; private Map> trips; - private ObservableList sharedTrips; + private Map> sharedTrips; private Map users; private Map drivers;//seperated from users as they are two different types of accounts private Map> notifications; //indexed by user name - public DataManager(Map> rides, Map> stops, Map> routes, Map> trips, List sharedTrips, Map users, Map drivers, Map> notifications){ + public DataManager(Map> rides, Map> stops, Map> routes, Map> trips, Map> sharedTrips, Map users, Map drivers, Map> notifications){ this.rides = convertRideMapToObserver(rides); this.stops = convertStopMapToObserver(stops); this.routes = convertRouteMapToObserver(routes); this.trips = convertTripMapToObserver(trips); - this.sharedTrips = FXCollections.observableArrayList(sharedTrips); + this.sharedTrips = convertSharedTripMapToObserver(sharedTrips); this.users = users; this.drivers = drivers; this.notifications = notifications; } public DataManager(){ - this(new HashMap<>(), new HashMap<>(), new HashMap<>(), new HashMap<>(), FXCollections.observableArrayList(), new HashMap(), new HashMap(), new HashMap>()); + this(new HashMap<>(), new HashMap<>(), new HashMap<>(), new HashMap<>(), new HashMap<>(), new HashMap(), new HashMap(), new HashMap<>()); } //////////////////////////////////////// @@ -132,11 +132,35 @@ public class DataManager { return convertTripMapToList(trips); } + ////////////////////////////////// + //Route + ////////////////////////////////// + private Map> convertSharedTripMapToObserver(Map> trips){ + HashMap> ob = new HashMap<>(); + for (String key: trips.keySet()){ + ob.put(key, FXCollections.observableArrayList(trips.get(key))); + } + return ob; + } + + private Map> convertSharedTripMapToList(Map> trips){ + HashMap> ob = new HashMap<>(); + for (String key: trips.keySet()){ + ob.put(key, new ArrayList<>(trips.get(key))); + } + return ob; + } + + public Map> sharedTripsMapSerialised(){ + return convertSharedTripMapToList(sharedTrips); + } + public void newLogged(){ rides.putIfAbsent(Session.session.getUser().getID(), FXCollections.observableArrayList()); stops.putIfAbsent(Session.session.getUser().getID(), FXCollections.observableArrayList()); routes.putIfAbsent(Session.session.getUser().getID(), FXCollections.observableArrayList()); trips.putIfAbsent(Session.session.getUser().getID(), FXCollections.observableArrayList()); + sharedTrips.putIfAbsent(Session.session.getUser().getID(), FXCollections.observableArrayList()); notifications.putIfAbsent(Session.session.getUser().getID(), FXCollections.observableArrayList()); } ////////////////////////////// @@ -200,17 +224,25 @@ public class DataManager { return true; } + public ObservableList getAllSharedTrips(){ + ObservableList allTrips = FXCollections.observableArrayList(); + for (String key: sharedTrips.keySet()){ + allTrips.addAll(sharedTrips.get(key)); + } + return allTrips; + } + public ObservableList getSharedTrips() { - return sharedTrips; + return sharedTrips.get(Session.session.getUser().getID()); } public boolean addSharedTrip(SharedTrip sharedTrip){ - for (SharedTrip t: sharedTrips){ + for (SharedTrip t: sharedTrips.get(Session.session.getUser().getID())){ if (sharedTrip.equals(t)){ return false; } } - sharedTrips.add(sharedTrip); + sharedTrips.get(Session.session.getUser().getID()).add(sharedTrip); return true; } diff --git a/src/main/java/utils/DataManagerSerialiser.java b/src/main/java/utils/DataManagerSerialiser.java index 674827a..74031a6 100644 --- a/src/main/java/utils/DataManagerSerialiser.java +++ b/src/main/java/utils/DataManagerSerialiser.java @@ -31,7 +31,7 @@ public class DataManagerSerialiser extends Serialiser { Map> stops = dataManager.stopsMapSerialised(); Map> routes = dataManager.routesMapSerialised(); Map> trips = dataManager.tripsMapSerialised(); - ArrayList sharedTrips = new ArrayList<>(dataManager.getSharedTrips()); + Map> sharedTrips = dataManager.sharedTripsMapSerialised(); boolean serialRidesSuccess = serialise(rides, "serialisation/rides.json"); boolean serialStopsSuccess = serialise(stops, "serialisation/stops.json"); boolean serialRoutesSuccess = serialiseRoutes(routes, "serialisation/routes.json"); @@ -100,9 +100,12 @@ public class DataManagerSerialiser extends Serialiser { * @param filepath File path to serialise it to. * @return */ - public boolean serialiseSharedTrips(ArrayList trips, String filepath){ - for (Trip trip: trips){ - trip.serialise(); + public boolean serialiseSharedTrips(Map> trips, String filepath){ + for (String key: trips.keySet()) { + List tripsList = trips.get(key); + for (Trip trip : tripsList) { + trip.serialise(); + } } try{ String path = getClass().getClassLoader().getResource(filepath).getPath(); @@ -202,11 +205,14 @@ public class DataManagerSerialiser extends Serialiser { } Reader reader5 = new InputStreamReader(getClass().getClassLoader().getResourceAsStream("serialisation/sharedtrips.json"), "UTF-8"); - ArrayList sharedTrips = gson.fromJson(reader5, new TypeToken>(){}.getType()); + HashMap> sharedTrips = gson.fromJson(reader5, new TypeToken>>(){}.getType()); reader5.close(); - for (SharedTrip trip: sharedTrips){ - trip.deserialise(); + for (String key: sharedTrips.keySet()) { + List sharedTripList = sharedTrips.get(key); + for (SharedTrip trip : sharedTripList) { + trip.deserialise(); + } } Reader reader6 = new InputStreamReader(getClass().getClassLoader().getResourceAsStream("serialisation/users.json"), "UTF-8"); diff --git a/target/classes/controllers/MainController.class b/target/classes/controllers/MainController.class index 02469598a0579ac3760e99fa6d513647b98acd92..764da6ccf96f4b73f4033aba3dfcf10bb12d05a8 100644 GIT binary patch delta 1358 zcmZ9M_ji+J6vsc$n}jEM`!q^9_1GS*Emoz08X0kRL^E$*%S3v%>$pQLz{AKrWKd*}Cl?|a^zHTjzK_P;l81*Wmf zWeV{C^SIDuGV=p;agi&c+vQ>sCG>EKrq{(!UqBN2T^6uVbE!*`fq;mV%^tMbLz+b{ zV{KxR%dBUyja_bwuW-4Nt29eW*q?N|gsZv6ifaR0$Mt@0@UzqcSZ0UZ=yDUwt#z}@ zEiAWzTdlaw0=?aq+~H@1pF90zT<+p-JMo?p?&Us1IYyF9>ynujzGEBu24UCI7< zUzegf)|2z7g-Wf;q?}#eC7MTaanAuN-AI$>QNv?AZg_&#nkNlwc*^iJ&uE@CJjbx+ zdBa*>P`G^y=6Cgm+oiE#9a+OM9IMG0Mp&=dw>lP}FAPsyq{M_sQ)D z)Tx}WWQ9skmd^@2^2m4;5wXUIK2kIm#a=$gl83`_5_M?!U%suA+lXwIXjrro?F(%{ ztt+HQMcO17$MGT!<%JAR;6!;}Wn@XZ)WoHI) z{-RFPraALZ>8xlk?k=%K_~e~5Q$wKwJcnDIC+x{{#NLQzNUNFD$i?d9 zW|mEhC{!Hq@1-KliP2er8R2ZskyCl)4Civ5tha~KqGzsn9L|>}4i~UdbeUL5IqQaK Mh5Ulv=fh~lKNvvl{r~^~ delta 1389 zcmZ9MXLOTg6vuz>n}jEM`!q+&(IbvRtB6ghu}DOuNUL?yB3iLj0WA`1u|vCX5=ES- zsKJ4&E(B+7THjI>+za;>_g0kScjf5u-n7N>A@|<*j{hD1=fp4AT9DfE*T&7j6t;UD z#G(jiu-IcV$p~lC;E6cPqmd;!oK2IV*&|F#L=sv(&f#1`n@2kx5fPo5-KE(}4d;1` z*2H$sSI-3+yHJZS^0=5~hExu_bBV}HS+3%;2rIZe%oSm-)BCRcl0!%DTT^|+3e z8n|BZR;hJ^PJ5%)-4rGrW_6gGJ#OJvZF^e|Yq(v9yhFvE9(QrKq1$keL%6d&+166u zob3I*({b)ix4PScDZ_nz^81SZ=L)2ykABOcOgB7f@fmQ~Wl4QkeY~l@r6FF^(bm|~VAx=Jil;4`*lc-* zXD!ds<6wt?sw>+XyA@&YefUgBlLE0$Mz%^{ja?d)i5idQwZcUZRYx-4LM zgEuX2F<^Md@*eM}D?^FW5BSgu#|gtnmXGB^r=)!NXa z313*gRNBE!5)yv^hCQ+9e|H;=nAx31mMB}0z(V^G?PH#57 zLZl|a7!DU{No6xQf=c;xI8v(JZ1q&p8jHj-xITf}e-Jzg!QS#v^M_HgiNhdANh~O( zN6SwxC$e0S^JPU{GLs?b6Y?2VJcw~gFUwu;RHP?Hi)ZLSPqBR)8(eRf(|Fmh6mT-g19BQ{QJJO z%#*BgiFM0xLD7i~DJIP>32nmG1u~53r=+GXm?5ghAP2bA%Gh3sPh7RnfdQXV<#uSQ z-2?~e5fuIkgufzTaEg$i6UBx)>?9{a9j9ccOmHgmg`6OzOk2Q00UNomx)yMncw9~w a5SMy3ip~?OU6>p!A1i-OZ}V>X*uMdm7Wv-* diff --git a/target/classes/model/DataManager.class b/target/classes/model/DataManager.class index 38b8cf8f5a5d392010166c838f2fdc0fd4b90405..bcf5d32833445af50175b901a19f2cf05d19eba6 100644 GIT binary patch literal 13345 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 literal 11578 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 DgOFHz diff --git a/target/classes/serialisation/sharedtrips.json b/target/classes/serialisation/sharedtrips.json index 0637a08..9e26dfe 100644 --- a/target/classes/serialisation/sharedtrips.json +++ b/target/classes/serialisation/sharedtrips.json @@ -1 +1 @@ -[] \ No newline at end of file +{} \ No newline at end of file diff --git a/target/classes/utils/DataManagerSerialiser$1.class b/target/classes/utils/DataManagerSerialiser$1.class index c63b01fe8b6c35da00042b6224fad78631377247..9f0b43cf040a3e0fbd1f1e7ea77bf20949377966 100644 GIT binary patch delta 13 UcmdnOx`lN^HWTBf$vI3O03uBUi~s-t delta 13 UcmdnOx`lN^HWTCe$vI3O03tpFi2wiq diff --git a/target/classes/utils/DataManagerSerialiser$2.class b/target/classes/utils/DataManagerSerialiser$2.class index 43eb8fe39fb3001ca221990c17a77d240623421a..e7b4e0d28287cef3ae0faa09b4b73739c3fc9a2f 100644 GIT binary patch delta 13 UcmdnOx`lN^HWTBv$vI3O03u-okN^Mx delta 13 UcmdnOx`lN^HWTCK$vI3O03uQZjQ{`u diff --git a/target/classes/utils/DataManagerSerialiser$3.class b/target/classes/utils/DataManagerSerialiser$3.class index 371b202826ce2d9999aef93ed6f38e80f9d857fb..2be77cb123fed5128af85f7cc98fdb0562444627 100644 GIT binary patch delta 13 UcmdnWx|MZ94in?9$+=7(03w(Km;e9( delta 13 UcmdnWx|MZ94in?{$+=7(03wM5l>h($ diff --git a/target/classes/utils/DataManagerSerialiser$4.class b/target/classes/utils/DataManagerSerialiser$4.class index 125f6aa1c0792d3e347d106edef8f411bf301c8c..48ac049b3b6c9b0606f2f0bb102f57a6d3ac3697 100644 GIT binary patch delta 13 UcmdnOx`lN^HWTB~$vI3O03xgep8x;= delta 13 UcmdnOx`lN^HWTBa$vI3O03w|PoB#j- diff --git a/target/classes/utils/DataManagerSerialiser$5.class b/target/classes/utils/DataManagerSerialiser$5.class index 488fe2b13eb4a1fb3e8eebef853d8f05770da73d..f4a135af560b8ff93cc53c187cf5e108e83dd17e 100644 GIT binary patch delta 53 zcmbQtx{GzfW5&{nPxPcb5{ol@6ANs7vJ%S@^>Y&Q()EK&iZb)kttYcHYHv1RlwxGO JFxi{Q0{|Gw5;_0? delta 30 mcmdnRI+=CCVB^M03cojXaE2J delta 13 UcmbQwI-hkz7!%{2$>B^M03bjFVgLXD diff --git a/target/classes/utils/DataManagerSerialiser$8.class b/target/classes/utils/DataManagerSerialiser$8.class index 5dde6902fa2de30013eed05d00117706934b2141..3eee03bb411df7caeaf699c6e2a26319b9f21d0a 100644 GIT binary patch delta 13 UcmdnWx|MZ94in?c$+=7(03(A0#{d8T delta 13 UcmdnWx|MZ94in?!$+=7(03&4t!2kdN diff --git a/target/classes/utils/DataManagerSerialiser.class b/target/classes/utils/DataManagerSerialiser.class index 65e9425bdbf3e007389b0ed1879348d97cd77633..ebe59eb335f17e47f22dfd8c0da77dcdd25aafc2 100644 GIT binary patch literal 10169 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 a6ZFqE^X@Y5jpp5M-fPW!wRyMd_wN96zjams literal 9934 zcmcIq33y!9b^h;YG;j3gX|Zg{jEz@pBgvM9kuA(vUS!z*`X zh43HveF*=F|B}al8~7g?e%-(yLYRl&8~9%n7vZ>x|HB(5{vU6eIH6!FrF@1eFqGd! zjVcVPfQf2l6k(SNnyN^drV1&`P{k&esS-n#ny42p0kTwOCK_r_?EGSqAntuogt zbM-PZ$HW#H*&<8ln&^5+vC2%lPLs6~dl zSi#zqNW@ajgVA(4mR1Nf#uM?(8ij(Y>g@{t=44+?p|mxgh_#Ij?TV#3qq_zE zjSg;)rsC4qgZ|9!IC;!!9m&K8({&r7nds(dB03ODb;L+G7*EGis}zd(a(W7tRjor5 zG3X^;Reh~Os4u@-Vd^AQ3Wce7pD110dSi4?v`(bfZH^98L}5CU92Rp@$&rkZ6lPL! z83?6!M^mxBPN!GlS=f|HMfbJF(-|%=cQo84>^nw!dt+%XRn$sPbO?8MVydRLMY*Gz z)RyE9Uf_^+KCN&Tv~Y6Yr1rMlr@FWISc?blFMvc1Quxbr|72YxrflTvQ?-6rudI-YjtB5#6^QiVH z;<`U)blyj{;l&-9Xzxu_*N%02_bf0}6_Xm{&v6ICdz%io1yvr_5|U2Wi?sxKp&gzI z#W|pD1Gz)&adCk{nTL}OPsL~~Kba%9>u@x)n^FI+R6G+)xohLex*hfi9jLf@b=Y%w zQ~Sofy|G~lAkGE**X$*T(e47vvJ9lTQuQKwhC9AS)DuT^h6IScb&4Ff*zG_n7VR6KR<_wA z+(A=4a9kNp@0OfLKF*3u-B!KZTJE-1xUB}ab(z~*sj%^6-sg~1@@Ln1@$sBrE$5|= zo8->ZFgNok)SsO~6ZZ0ob6MqX8-=USZrxdhtf6XH8M6|1kD;`o78`1bp=u4aloK7v zkyLN2g$I+uj7clXr6S2f4E>g>Qg)p_$jjO|_OG_9be)f0JOp*juKWvT6IhoP>qR5$u_Au+!GvDCFPWje~r?s7YF{ISe%W}KZs-{-X0lyEh4 z(xIiUQ#(a`5AQ;!xe6^CY@KD2bM<@ z%jbN56HDc2CP^YEav2tm9~I`xk^pH%E6h$js`v}Ms9`AXR zoYS}5PE`{Kr`lJG^n}rJJLgOoETLw3Z?j%psDC^sI*jg{lD z$hlX_k=@aBTWl{m^6LgK6#j(WnU4ck&L5?ZiyI7A;NZpg&Oi1k?;4#aOK&`#W zp}K)&a$qo4Cqs2t@IkGnO*YQ^Z6j{ruO~b>nM4tqv9eVEe&K)F$y@Sa# z>x$B0e*NGf!wY_AD%#7DsU8HI($4XtP(7K^jyyR_^5+0m&t35*On9{Opf8bF21ZcA z_G}bl4vn3QG9pxo`TWFv5td*9R$w94Vi7jsVsxMi*Q1)I*Wg`PYytknLq%d4~1oIUlfp9>RPM4NVdr`y)8(Azk zbmEmmC!Vg!Vqq4GmSk~p7FBIysO}y^O?T~KEG}Pi7_|}qlUPdLS=7nnl0z`tYO}bs z;8FjhRCEX4kGrr;yMB%Bx)pSK18Q*@TKUI^t+*VW1ak)(3H@riVGSL$mg}0iave== zqU+Y?ngXA6@V1F*5zZdsWQa=OgAX^3GRe}#Q1pMR@z+d1a z93xb2=p3|zLpI?-e3UDEwhJrycKD8xugs-!J8cms%|YM|SO)HY6a0qwfPs&({RhlC z4qwW^#{+nfL_U0iY$Ihi0*dcx`RHt zhCbR!A9WMmYw3mSh=0#GAAJ&^(ms0F_0eCRvyWukp2|lLbNf3!%HWQ3^U+_CoHtbM zqd8hR=69eGPi;1BYp{Q0{-fG?udCrv(w!Xmok-rX)#RPW-~75F~48J4ByP8 z*2=WDm9f{!p5J*K5b=_Z#K!XsEO0N? zyMeWcXAO9cmg0UEC=ajz`55OPBE`pf+C0e9>k~Y=K565yhM`jGhR}RBgqC|ksL>6f zMtoLV-*{38$=v6(^#*)t&$;pxhqE~B7+v@TYm+HFZeANhq+1&U>?Kj zZq}D;vRIqNx-Xzf>csV4`cRI(jr6r+XcqbnS!{IZBYvLd;})=JbOb~SxgyLuvqhF% zk;RpINg!OvHQ_)Oo9uc-4y#;6A}w8#1jB)FFpI0CA}I!c_BW z`?NdkRi0(5*2NHAj4`x|E}OGx)4BwumRT=yv@W(Jr#cduS{E}M44YaP3UhR^!j`KG zTQ+HZq&QrhMf=IRuyEG86p1cHW7s0PY|UbutxF(chUuL3B4%XbfG#czYH*w2_v;vtHI}BdMd-e2%oVktJa(OvDH{v+y;CPQ2ii z!unoIDHbWkW9Sws*Jg2@mQo^yuNMwlN@=*%mBN;mQWh==6AMaVn%X%*3U3ZtN~uUG z9Yc>uc}Eu4Ybj;nQc4-a4c$w^euJfZPeFooA&*Ho4+jw3*kMFD3@B^R14}Agr$XA6Q z`&Qs5zLof?uN^=04d4aeAYSy{jhB26;OD*v@v`qJ{KEGfe(8H2zmjaB0+>O4oGLa% z?VKvMh`QF>Rcw%&IH!9t^}3k%f&&Oq%X<5;GO3HqJ`Ib~i&^#GhZ4#wrnUF+*kMZ0 znWobBJz9U1X=91+80&~*OdT!0hl#>b*1|o${j4dD5!1cCcM_GOzy<9~);A42XTbZsA9xcr6AJq`u{KA= zvj61Sh&_9kea_GF5+BFH30-`PI#@(`8NQA0;JbL9)_sp-K7602D|pWdGKQU>ZvF1k T?=AY>s^2a8-K^iMo%bIB#4kYi