From 56b2244a48c0f9d17e0895259b345bb746994a1f Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Wed, 11 Feb 2015 17:57:22 +0000 Subject: [PATCH] Updated Geospatial Coordinates git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-table-widget@111921 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../GeospatialCreateCoordinatesPanel.java | 93 +++++++++++++----- .../client/resources/ResourceBundle.java | 14 ++- .../client/resources/flag-blue.png | Bin 0 -> 638 bytes .../client/resources/flag-blue_32.png | Bin 0 -> 1351 bytes .../tablewidget/client/resources/flag-red.png | Bin 0 -> 644 bytes .../client/resources/flag-red_32.png | Bin 0 -> 1352 bytes .../client/resources/flag-blue.png | Bin 0 -> 638 bytes .../client/resources/flag-blue_32.png | Bin 0 -> 1351 bytes .../tablewidget/client/resources/flag-red.png | Bin 0 -> 644 bytes .../client/resources/flag-red_32.png | Bin 0 -> 1352 bytes 10 files changed, 84 insertions(+), 23 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue.png create mode 100644 src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue_32.png create mode 100644 src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/flag-red.png create mode 100644 src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/flag-red_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/tablewidget/client/resources/flag-red.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/tablewidget/client/resources/flag-red_32.png diff --git a/src/main/java/org/gcube/portlets/user/td/tablewidget/client/geospatial/GeospatialCreateCoordinatesPanel.java b/src/main/java/org/gcube/portlets/user/td/tablewidget/client/geospatial/GeospatialCreateCoordinatesPanel.java index 206be6e..8eab894 100644 --- a/src/main/java/org/gcube/portlets/user/td/tablewidget/client/geospatial/GeospatialCreateCoordinatesPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/tablewidget/client/geospatial/GeospatialCreateCoordinatesPanel.java @@ -52,6 +52,7 @@ import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; import com.sencha.gxt.widget.core.client.form.ComboBox; import com.sencha.gxt.widget.core.client.form.FieldLabel; import com.sencha.gxt.widget.core.client.form.Radio; +import com.sencha.gxt.widget.core.client.form.TextField; import com.sencha.gxt.widget.core.client.info.Info; /** @@ -84,8 +85,9 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements private ComboBox comboQuadrant; private Radio hasQuadrantTrue; private Radio hasQuadrantFalse; - private FieldLabel comboQuadrantField; - private FieldLabel hasQuadrantField; + private FieldLabel comboQuadrantLabel; + private FieldLabel hasQuadrantLabel; + private TextField resolutionField; public GeospatialCreateCoordinatesPanel(TRId trId, RequestProperties requestProperties, EventBus eventBus) { @@ -206,7 +208,14 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements comboGsCoordinatesType.setTypeAhead(false); comboGsCoordinatesType.setEditable(false); comboGsCoordinatesType.setTriggerAction(TriggerAction.ALL); - + + + //Resolution + resolutionField = new TextField(); + resolutionField.setValue("0.1"); + FieldLabel resolutionLabel= new FieldLabel(resolutionField, "Resolution"); + + // Has Quadrant hasQuadrantTrue = new Radio(); hasQuadrantTrue.setBoxLabel("True"); @@ -227,9 +236,18 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements ValueChangeEvent> event) { try { if (hasQuadrantTrue.getValue()) { - comboQuadrantField.setVisible(true); + if(quadrantColumns==null|| quadrantColumns.size()<1){ + Log.debug("Attention no Integer column is present in the tabular resource"); + UtilsGXT3 + .alert("Attention", + "No Integer column is present in the tabular resource!"); + + } + comboQuadrantLabel.setVisible(true); + + } else { - comboQuadrantField.setVisible(false); + comboQuadrantLabel.setVisible(false); } forceLayout(); @@ -246,8 +264,8 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements hasQuadrantPanel.add(hasQuadrantTrue); hasQuadrantPanel.add(hasQuadrantFalse); - hasQuadrantField = new FieldLabel(hasQuadrantPanel, "Has Quadrant"); - hasQuadrantField + hasQuadrantLabel = new FieldLabel(hasQuadrantPanel, "Has Quadrant"); + hasQuadrantLabel .setToolTip("Select true if you want select quadrant column"); // Quadrant @@ -266,7 +284,7 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements comboQuadrant.setEditable(false); comboQuadrant.setTriggerAction(TriggerAction.ALL); - comboQuadrantField = new FieldLabel(comboQuadrant, "Quadrant"); + comboQuadrantLabel = new FieldLabel(comboQuadrant, "Quadrant"); // Create createCoordinatesButton = new TextButton("Create"); @@ -295,10 +313,12 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements vl.add(new FieldLabel(comboGsCoordinatesType, "Type"), new VerticalLayoutData(1, -1)); + + vl.add(resolutionLabel, new VerticalLayoutData(1,-1)); + + vl.add(hasQuadrantLabel, new VerticalLayoutData(-1, -1)); - vl.add(hasQuadrantField, new VerticalLayoutData(-1, -1)); - - vl.add(comboQuadrantField, new VerticalLayoutData(1, -1)); + vl.add(comboQuadrantLabel, new VerticalLayoutData(1, -1)); vl.add(createCoordinatesButton, new VerticalLayoutData(-1, -1, new Margins(10, 0, 10, 0))); @@ -399,19 +419,37 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements protected void updateForCoordinatesType() { switch (gsCoordinatesType) { case C_SQUARE: - hasQuadrantField.setVisible(false); - comboQuadrantField.setVisible(false); + hasQuadrantLabel.setVisible(false); + comboQuadrantLabel.setVisible(false); comboGsCoordinatesType.setValue(gsCoordinatesType); + resolutionField.setValue("10.0"); + createCoordinatesButton.setIcon(ResourceBundle.INSTANCE + .geospatialCSquare32()); + break; case OCEAN_AREA: - hasQuadrantTrue.setValue(true); - hasQuadrantField.setVisible(true); - comboQuadrantField.setVisible(true); + if(quadrantColumns==null|| quadrantColumns.size()<1){ + hasQuadrantTrue.setValue(false); + hasQuadrantFalse.setValue(true); + comboQuadrantLabel.setVisible(false); + } else { + hasQuadrantTrue.setValue(true); + hasQuadrantFalse.setValue(false); + comboQuadrantLabel.setVisible(true); + + } + resolutionField.setValue("0.1"); + hasQuadrantLabel.setVisible(true); comboGsCoordinatesType.setValue(gsCoordinatesType); + createCoordinatesButton.setIcon(ResourceBundle.INSTANCE + .geospatialOceanArea32()); break; default: - hasQuadrantField.setVisible(false); - comboQuadrantField.setVisible(false); + resolutionField.setValue("10.0"); + hasQuadrantLabel.setVisible(false); + comboQuadrantLabel.setVisible(false); + createCoordinatesButton.setIcon(ResourceBundle.INSTANCE + .geospatialCoordinates32()); break; } @@ -460,6 +498,16 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements if (latitude != null) { ColumnData longitude = comboLongitude.getCurrentValue(); if (longitude != null) { + String resol=resolutionField.getCurrentValue(); + Double resolution=null; + try { + resolution= new Double(resol); + } catch(NumberFormatException e){ + UtilsGXT3.alert("Attention", + "Insert a valid resolution!"); + return; + } + GeospatialCoordinatesType type = comboGsCoordinatesType .getCurrentValue(); if (type != null) { @@ -467,7 +515,7 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements switch(type){ case C_SQUARE: gsCreateCoordinatesSession = new GeospatialCreateCoordinatesSession( - trId, latitude, longitude, type, false, null); + trId, latitude, longitude, type, false, null, resolution); callGeospatialCreateCoordinates(gsCreateCoordinatesSession); break; case OCEAN_AREA: @@ -475,7 +523,7 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements ColumnData quadrant = comboQuadrant.getCurrentValue(); if(quadrant!=null){ gsCreateCoordinatesSession = new GeospatialCreateCoordinatesSession( - trId, latitude, longitude, type, true, quadrant); + trId, latitude, longitude, type, true, quadrant,resolution); callGeospatialCreateCoordinates(gsCreateCoordinatesSession); } else { UtilsGXT3.alert("Attention", @@ -485,7 +533,7 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements } else { gsCreateCoordinatesSession = new GeospatialCreateCoordinatesSession( - trId, latitude, longitude, type, false, null); + trId, latitude, longitude, type, false, null, resolution); callGeospatialCreateCoordinates(gsCreateCoordinatesSession); } @@ -584,7 +632,8 @@ public class GeospatialCreateCoordinatesPanel extends FramedPanel implements public void onSuccess(ArrayList result) { Log.trace("loaded " + result.size() + " ColumnData"); columns = new ArrayList(); - + quadrantColumns = new ArrayList(); + for (ColumnData column : result) { ColumnDataType columnDataType = ColumnDataType .getColumnDataTypeFromId(column diff --git a/src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/ResourceBundle.java b/src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/ResourceBundle.java index 3c59a3a..3400910 100644 --- a/src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/ResourceBundle.java +++ b/src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/ResourceBundle.java @@ -4,7 +4,6 @@ package org.gcube.portlets.user.td.tablewidget.client.resources; import com.google.gwt.core.client.GWT; import com.google.gwt.resources.client.ClientBundle; import com.google.gwt.resources.client.ImageResource; -import com.google.gwt.resources.client.ClientBundle.Source; /** * Resource Bundle @@ -156,6 +155,19 @@ public interface ResourceBundle extends ClientBundle { @Source("table-type_32.png") ImageResource tableType32(); + @Source("flag-red_32.png") + ImageResource geospatialCSquare32(); + + @Source("flag-red.png") + ImageResource geospatialCSquare(); + + @Source("flag-blue_32.png") + ImageResource geospatialOceanArea32(); + + @Source("flag-blue.png") + ImageResource geospatialOceanArea(); + + @Source("flag-green_32.png") ImageResource geospatialCoordinates32(); diff --git a/src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue.png b/src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..2b13ff4c6dab45dd30ee9b56260d36bd6517c728 GIT binary patch literal 638 zcmV-^0)hRBP)6hN|grmRhJ*u5)D8+J3xtHdjyXmDj>AAVW zoqMkqp31|(zGv0Wn4w*}*rPqTdCG9AjR=KcsjBRSFCX*W-CgOq*}^P<1V}#iK1iKh zObX%#oNU*)+9w%E>&#a|R=j{UKR{}_*V!nh-AXG#q|E?G`%xv;)vD!g<>HtUYy%>o z5ka}JH8-}a%3ji`e_V=cAX39`-AsK@c_VziLy0M3hZgg4NoefB;M>aAF#|fS|mr*|v%A`T3oWrXsTKmc~}}J8VnnaUcpIE_Kcx zGf4*Prfr#&%ih#ZPa;&d!x1b7uu%ucfJ_3ChT`sMofV%6LsD*Q5!vMUXb^(pgColB{5k#AtvE!2AA17Dw2U0n-1juATn;YbW~g~YHLmB zp}75tO|SsysqQY@vh|whuMfTWyt^Sy3#1nH+O~!7SM&Stn--vvSu7UW+^kIgyZj&d Y1t%HU+0ke58UO$Q07*qoM6N<$f&tAoC;$Ke literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue_32.png b/src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue_32.png new file mode 100644 index 0000000000000000000000000000000000000000..b0e7e97decd2875f69a06c6c70932edc1caea46d GIT binary patch literal 1351 zcmV-N1-SZ&P)+-NiyNk~vJ!D!SpQ4&!j@dpS{3RoKHf~D-vYfn+=xjYc;Cc>_}E&h zW3MT}%gb6MOIjo;TTn4Dcg7ZIsqauy zJOyIy%K6H9>0X;+2*X89p`s~Q4N3@_97)WQtn5(cheO-XrWZ5;;CUVh(O*|U`VD`L zRBTt0&d5hm^ARN>lm;mT2^-cewOP}n_^Sx#%Njq>6oY82{n`?WqOlKgVQ`-7c4Cad z_ljUleG81>U7)kx>Rm^$ut{)thvLBnii9N?$b)N7lP&`%E(8>+=DSYJ3OD5f2G8>W zd31^ZcWa>)nBVS7*54VUBP{`lD@a(7P!P8uE@3o)Q$D1oBOiy7f`OcRs}u24GURauLmE)vsTTv>O2*Mz@ zdFP4zQ~^R~0Xou>K*KNR;O{aRqSZIXARUXwxVk!dBwXaHLDG z0pi%?u<<=0GHt1-D_5#B=ddL-ID%$JQqhupNi*b!_!W&1XrRYUB{62a0>o4cEO%?6 z)j(@>MBl83<4Ux{}bIfY1o4I_iXT9Z6T(;*4Kq-(cA?(49;riAu1D6lRJAR*02R zXj?Yl46Z$@OP$vUM z>nsXt8L(tjdiBr}hh=jhCg9^kA$$5mLUXBGDk)H>s&u%5mGekBPHavrW>XpSsZ@fI zO}kEyOc5XjS%BIexUCs}KM$o4q=04zZgydD6ST#n^l#f=;XqEKBqb^NOkjQl=?Oy` z!-`zdJo3?|4GZTM8(CZPzfK888Ng&gPzj;Ijz}Kri2j`12~Un{cKi|WXWk$M9|$XW z@#l5vbCV~1cz2;qhNUBxQh=f0d5AhC2w;K80POm;!sEBcXiQvsN6`j`J;RxT=D?Yd z{t=B3AfKg@LJ(kM7{$$sinWdRmfh%VKC<7eMRoU{**kyiBJPnlu34^v} zUO4zn!=CBLFTwP>t{a_#1s_wV2LMPTcn&yyg_%wY!KVnG(B(w$!Do{*AP1n^t(Bnf zBN6p2C~r#cEkoA~C;d0*aozC}^ol6kn%06Fj?L?P(zdL&IZlj9d5m(olHa&Ifa(wl^=L1ta;H(M&eM>5x1`LIK0T4&0i<}(+LM(EVNdSDm2rw{R=s literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/flag-red.png b/src/main/java/org/gcube/portlets/user/td/tablewidget/client/resources/flag-red.png new file mode 100644 index 0000000000000000000000000000000000000000..0037ed57a8addc11fb3107f3fb9b90a4f063e6a7 GIT binary patch literal 644 zcmV-~0(f+UiU#TF_usCl=pWn{LQ;B$HW_AX^0H_Ugyhf=} zq(TIOh{RsRnX{;&5n5m7Xf73KE-zyUym~~%UB{*A%TEA?PTH|Xym!<%e*wZK*b$Hd z(P)8FULQ+q{O`qF*tC+a=eAl)bMpX3v&o?B>qpFHAU6-u4(LfhcVg3ORi`v6tZy(42E@t7rNX6Jr=5GrY@j zJ%493o`u}65Ze(0sMwxf+p^V)S1n$?`?j%mg?0@L>F={`i)yu!-B@qi07-H&m!nj2 erv6R-5Bvnv!`85zOuG#L0000QN5+D3}P!oN_CkVWNCZdVP8iR?Vh!`Z4(o)+>Ta=dFnQeDx_Ff;R zrPyw31sY#GFL!3{+4KL;`QLNSEd0kNw2 zu%HBr>za3ps5cQ+j}j0CGO;QdKKk&J=PvvG8@0D@AumIBmMW9ZM0(f0M>BR!eKb1cn}b6tQ7H$`A<#gaRfZQmovv#4OZ zY}g#N_UwbPG4z!obT)@66cEco)l{P@Do`6AGN&&byV97b0l;-#5a}vQV0?LUtBCa> zBFnDps00x;r7H#&#ZfzUqP9K(gM;X6BWTYM19!TAH5@Bl*B zbUy{4741Z9Bv}Rh{V;Mh1iuw47DqLvxpG4PT+RcyINePFV5D7YYC#0aySD~BX+~cY zOsnIBXT@_}KrT#oo2UYlk-F3*^ZA3=Hj-F`s;)s5i|A~YU|;~9_dr=1XmKjT5_DY; zWTpfW)8eFx0V%1i3!fC`oE@QA7G`N9vUo943Xq8osA}qnG&E8g9>nkXGGd@PQJEkt z!8}UL3<)AZKn8%?`uSxbVq;p`pt>4zS@emopt}qF0FqTm+X}3@fH~GBy1`6tZ*~X2a&nXtbiXqQa&) z=20yASN9z0zdD0}hIRp@HVuGjTZwd@3#CvBs;Z&k4oqts)TKcw^jrJUr%r;Bag;iS zk?)O&E09E3Z!Z7-*b4`bG-aJCwomF`rUW58gzW$(@DburSC6^>!Ekq4Cp5j?=z|9^ zz1<+{BU>Ub%MYD@Ob==vSe^ET^AXDe3^~_D%9P+Ffee5?eiZe{<49$4YFBH_l_AXV zAm+@En6C3+Ktx`(PxtIEuM^0(XNF&Yrt$5}s?2M^+!+uk0O*V7(eJ-8^)*v&8Y=12 zBD-Qg|Mu~0;5X!<)p49~3g$danH~V34EjZk>7OIgC4r+x*kO;wT4QJW<^c{svol$O zo`*upOAzbLe+o3tGw8pu7RQ+=K{tyLQx4!@%c?9n0NuU$}0000< KMNUMnLSTa7O>n9J literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue.png b/src/main/resources/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..2b13ff4c6dab45dd30ee9b56260d36bd6517c728 GIT binary patch literal 638 zcmV-^0)hRBP)6hN|grmRhJ*u5)D8+J3xtHdjyXmDj>AAVW zoqMkqp31|(zGv0Wn4w*}*rPqTdCG9AjR=KcsjBRSFCX*W-CgOq*}^P<1V}#iK1iKh zObX%#oNU*)+9w%E>&#a|R=j{UKR{}_*V!nh-AXG#q|E?G`%xv;)vD!g<>HtUYy%>o z5ka}JH8-}a%3ji`e_V=cAX39`-AsK@c_VziLy0M3hZgg4NoefB;M>aAF#|fS|mr*|v%A`T3oWrXsTKmc~}}J8VnnaUcpIE_Kcx zGf4*Prfr#&%ih#ZPa;&d!x1b7uu%ucfJ_3ChT`sMofV%6LsD*Q5!vMUXb^(pgColB{5k#AtvE!2AA17Dw2U0n-1juATn;YbW~g~YHLmB zp}75tO|SsysqQY@vh|whuMfTWyt^Sy3#1nH+O~!7SM&Stn--vvSu7UW+^kIgyZj&d Y1t%HU+0ke58UO$Q07*qoM6N<$f&tAoC;$Ke literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue_32.png b/src/main/resources/org/gcube/portlets/user/td/tablewidget/client/resources/flag-blue_32.png new file mode 100644 index 0000000000000000000000000000000000000000..b0e7e97decd2875f69a06c6c70932edc1caea46d GIT binary patch literal 1351 zcmV-N1-SZ&P)+-NiyNk~vJ!D!SpQ4&!j@dpS{3RoKHf~D-vYfn+=xjYc;Cc>_}E&h zW3MT}%gb6MOIjo;TTn4Dcg7ZIsqauy zJOyIy%K6H9>0X;+2*X89p`s~Q4N3@_97)WQtn5(cheO-XrWZ5;;CUVh(O*|U`VD`L zRBTt0&d5hm^ARN>lm;mT2^-cewOP}n_^Sx#%Njq>6oY82{n`?WqOlKgVQ`-7c4Cad z_ljUleG81>U7)kx>Rm^$ut{)thvLBnii9N?$b)N7lP&`%E(8>+=DSYJ3OD5f2G8>W zd31^ZcWa>)nBVS7*54VUBP{`lD@a(7P!P8uE@3o)Q$D1oBOiy7f`OcRs}u24GURauLmE)vsTTv>O2*Mz@ zdFP4zQ~^R~0Xou>K*KNR;O{aRqSZIXARUXwxVk!dBwXaHLDG z0pi%?u<<=0GHt1-D_5#B=ddL-ID%$JQqhupNi*b!_!W&1XrRYUB{62a0>o4cEO%?6 z)j(@>MBl83<4Ux{}bIfY1o4I_iXT9Z6T(;*4Kq-(cA?(49;riAu1D6lRJAR*02R zXj?Yl46Z$@OP$vUM z>nsXt8L(tjdiBr}hh=jhCg9^kA$$5mLUXBGDk)H>s&u%5mGekBPHavrW>XpSsZ@fI zO}kEyOc5XjS%BIexUCs}KM$o4q=04zZgydD6ST#n^l#f=;XqEKBqb^NOkjQl=?Oy` z!-`zdJo3?|4GZTM8(CZPzfK888Ng&gPzj;Ijz}Kri2j`12~Un{cKi|WXWk$M9|$XW z@#l5vbCV~1cz2;qhNUBxQh=f0d5AhC2w;K80POm;!sEBcXiQvsN6`j`J;RxT=D?Yd z{t=B3AfKg@LJ(kM7{$$sinWdRmfh%VKC<7eMRoU{**kyiBJPnlu34^v} zUO4zn!=CBLFTwP>t{a_#1s_wV2LMPTcn&yyg_%wY!KVnG(B(w$!Do{*AP1n^t(Bnf zBN6p2C~r#cEkoA~C;d0*aozC}^ol6kn%06Fj?L?P(zdL&IZlj9d5m(olHa&Ifa(wl^=L1ta;H(M&eM>5x1`LIK0T4&0i<}(+LM(EVNdSDm2rw{R=s literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/tablewidget/client/resources/flag-red.png b/src/main/resources/org/gcube/portlets/user/td/tablewidget/client/resources/flag-red.png new file mode 100644 index 0000000000000000000000000000000000000000..0037ed57a8addc11fb3107f3fb9b90a4f063e6a7 GIT binary patch literal 644 zcmV-~0(f+UiU#TF_usCl=pWn{LQ;B$HW_AX^0H_Ugyhf=} zq(TIOh{RsRnX{;&5n5m7Xf73KE-zyUym~~%UB{*A%TEA?PTH|Xym!<%e*wZK*b$Hd z(P)8FULQ+q{O`qF*tC+a=eAl)bMpX3v&o?B>qpFHAU6-u4(LfhcVg3ORi`v6tZy(42E@t7rNX6Jr=5GrY@j zJ%493o`u}65Ze(0sMwxf+p^V)S1n$?`?j%mg?0@L>F={`i)yu!-B@qi07-H&m!nj2 erv6R-5Bvnv!`85zOuG#L0000QN5+D3}P!oN_CkVWNCZdVP8iR?Vh!`Z4(o)+>Ta=dFnQeDx_Ff;R zrPyw31sY#GFL!3{+4KL;`QLNSEd0kNw2 zu%HBr>za3ps5cQ+j}j0CGO;QdKKk&J=PvvG8@0D@AumIBmMW9ZM0(f0M>BR!eKb1cn}b6tQ7H$`A<#gaRfZQmovv#4OZ zY}g#N_UwbPG4z!obT)@66cEco)l{P@Do`6AGN&&byV97b0l;-#5a}vQV0?LUtBCa> zBFnDps00x;r7H#&#ZfzUqP9K(gM;X6BWTYM19!TAH5@Bl*B zbUy{4741Z9Bv}Rh{V;Mh1iuw47DqLvxpG4PT+RcyINePFV5D7YYC#0aySD~BX+~cY zOsnIBXT@_}KrT#oo2UYlk-F3*^ZA3=Hj-F`s;)s5i|A~YU|;~9_dr=1XmKjT5_DY; zWTpfW)8eFx0V%1i3!fC`oE@QA7G`N9vUo943Xq8osA}qnG&E8g9>nkXGGd@PQJEkt z!8}UL3<)AZKn8%?`uSxbVq;p`pt>4zS@emopt}qF0FqTm+X}3@fH~GBy1`6tZ*~X2a&nXtbiXqQa&) z=20yASN9z0zdD0}hIRp@HVuGjTZwd@3#CvBs;Z&k4oqts)TKcw^jrJUr%r;Bag;iS zk?)O&E09E3Z!Z7-*b4`bG-aJCwomF`rUW58gzW$(@DburSC6^>!Ekq4Cp5j?=z|9^ zz1<+{BU>Ub%MYD@Ob==vSe^ET^AXDe3^~_D%9P+Ffee5?eiZe{<49$4YFBH_l_AXV zAm+@En6C3+Ktx`(PxtIEuM^0(XNF&Yrt$5}s?2M^+!+uk0O*V7(eJ-8^)*v&8Y=12 zBD-Qg|Mu~0;5X!<)p49~3g$danH~V34EjZk>7OIgC4r+x*kO;wT4QJW<^c{svol$O zo`*upOAzbLe+o3tGw8pu7RQ+=K{tyLQx4!@%c?9n0NuU$}0000< KMNUMnLSTa7O>n9J literal 0 HcmV?d00001