From 2d725cf4ab94dc53451c6354a08ddcd9b4921f0d Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Tue, 2 Aug 2016 23:00:43 +0200 Subject: [PATCH] Grid filter change: max 9 items per grid filter, but 4 slots in grid instead --- .../container/ContainerGrid.java | 4 +++- .../container/ContainerGridFilter.java | 20 +++++------------- .../refinedstorage/gui/GuiGridFilter.java | 4 ++-- .../inventory/ItemHandlerGridFilter.java | 2 +- .../ItemHandlerGridFilterInGrid.java | 16 ++++++++------ .../java/refinedstorage/tile/TileBase.java | 4 +++- .../tile/grid/WirelessGrid.java | 6 ++++-- .../textures/gui/crafting_grid.png | Bin 2168 -> 2278 bytes .../refinedstorage/textures/gui/grid.png | Bin 2043 -> 2157 bytes .../textures/gui/grid_filter.png | Bin 1832 -> 1799 bytes .../textures/gui/pattern_grid.png | Bin 2712 -> 2788 bytes 11 files changed, 27 insertions(+), 29 deletions(-) diff --git a/src/main/java/refinedstorage/container/ContainerGrid.java b/src/main/java/refinedstorage/container/ContainerGrid.java index fddc3a828..a893a0919 100755 --- a/src/main/java/refinedstorage/container/ContainerGrid.java +++ b/src/main/java/refinedstorage/container/ContainerGrid.java @@ -60,7 +60,9 @@ public class ContainerGrid extends ContainerBase { addSlotToContainer(new SlotOutput(((TileGrid) grid).getPatterns(), 1, 152, 132)); } - addSlotToContainer(new SlotItemHandler(grid.getFilter(), 0, 204, 6)); + for (int i = 0; i < 4; ++i) { + addSlotToContainer(new SlotItemHandler(grid.getFilter(), i, 204, 6 + (18 * i))); + } } public IGrid getGrid() { diff --git a/src/main/java/refinedstorage/container/ContainerGridFilter.java b/src/main/java/refinedstorage/container/ContainerGridFilter.java index fc636d98f..47fc3be72 100755 --- a/src/main/java/refinedstorage/container/ContainerGridFilter.java +++ b/src/main/java/refinedstorage/container/ContainerGridFilter.java @@ -14,21 +14,11 @@ public class ContainerGridFilter extends ContainerBase { this.filter = new ItemHandlerGridFilter(stack); - int x = 8; - int y = 20; - - for (int i = 0; i < 9 * 3; ++i) { - addSlotToContainer(new SlotSpecimen(filter, i, x, y)); - - if ((i + 1) % 9 == 0) { - y += 18; - x = 8; - } else { - x += 18; - } + for (int i = 0; i < 9; ++i) { + addSlotToContainer(new SlotSpecimen(filter, i, 8 + (i * 18), 20)); } - addPlayerInventory(8, 91); + addPlayerInventory(8, 61); } @Override @@ -40,8 +30,8 @@ public class ContainerGridFilter extends ContainerBase { if (slot != null && slot.getHasStack()) { stack = slot.getStack(); - if (index > (9 * 3) - 1) { - return mergeItemStackToSpecimen(stack, 0, 9 * 3); + if (index > 9 - 1) { + return mergeItemStackToSpecimen(stack, 0, 9); } return null; diff --git a/src/main/java/refinedstorage/gui/GuiGridFilter.java b/src/main/java/refinedstorage/gui/GuiGridFilter.java index 002913bad..7020e5928 100755 --- a/src/main/java/refinedstorage/gui/GuiGridFilter.java +++ b/src/main/java/refinedstorage/gui/GuiGridFilter.java @@ -4,7 +4,7 @@ import refinedstorage.container.ContainerGridFilter; public class GuiGridFilter extends GuiBase { public GuiGridFilter(ContainerGridFilter container) { - super(container, 176, 183); + super(container, 176, 148); } @Override @@ -25,6 +25,6 @@ public class GuiGridFilter extends GuiBase { @Override public void drawForeground(int mouseX, int mouseY) { drawString(7, 7, t("gui.refinedstorage:grid_filter")); - drawString(7, 79, t("container.inventory")); + drawString(7, 55, t("container.inventory")); } } diff --git a/src/main/java/refinedstorage/inventory/ItemHandlerGridFilter.java b/src/main/java/refinedstorage/inventory/ItemHandlerGridFilter.java index dfd83bbfc..1184700c3 100755 --- a/src/main/java/refinedstorage/inventory/ItemHandlerGridFilter.java +++ b/src/main/java/refinedstorage/inventory/ItemHandlerGridFilter.java @@ -9,7 +9,7 @@ public class ItemHandlerGridFilter extends ItemStackHandler { private ItemStack stack; public ItemHandlerGridFilter(ItemStack stack) { - super(9 * 3); + super(9); this.stack = stack; diff --git a/src/main/java/refinedstorage/inventory/ItemHandlerGridFilterInGrid.java b/src/main/java/refinedstorage/inventory/ItemHandlerGridFilterInGrid.java index b51ab73b5..a3393d0ac 100755 --- a/src/main/java/refinedstorage/inventory/ItemHandlerGridFilterInGrid.java +++ b/src/main/java/refinedstorage/inventory/ItemHandlerGridFilterInGrid.java @@ -9,7 +9,7 @@ public class ItemHandlerGridFilterInGrid extends ItemHandlerBasic { private List filteredItems; public ItemHandlerGridFilterInGrid(List filteredItems) { - super(1, new ItemValidatorBasic(RefinedStorageItems.GRID_FILTER)); + super(4, new ItemValidatorBasic(RefinedStorageItems.GRID_FILTER)); this.filteredItems = filteredItems; } @@ -20,14 +20,16 @@ public class ItemHandlerGridFilterInGrid extends ItemHandlerBasic { filteredItems.clear(); - ItemStack stack = getStackInSlot(slot); + for (int i = 0; i < getSlots(); ++i) { + ItemStack stack = getStackInSlot(i); - if (stack != null) { - ItemHandlerGridFilter items = new ItemHandlerGridFilter(stack); + if (stack != null) { + ItemHandlerGridFilter items = new ItemHandlerGridFilter(stack); - for (ItemStack item : items.getFilteredItems()) { - if (item != null) { - filteredItems.add(item); + for (ItemStack item : items.getFilteredItems()) { + if (item != null) { + filteredItems.add(item); + } } } } diff --git a/src/main/java/refinedstorage/tile/TileBase.java b/src/main/java/refinedstorage/tile/TileBase.java index 7bf1fe33a..796fd6836 100755 --- a/src/main/java/refinedstorage/tile/TileBase.java +++ b/src/main/java/refinedstorage/tile/TileBase.java @@ -163,7 +163,9 @@ public abstract class TileBase extends TileEntity implements ITickable { ItemStack stack = ItemStack.loadItemStackFromNBT(tagList.getCompoundTagAt(i)); - handler.insertItem(slot, stack, false); + if (slot >= 0 && slot < handler.getSlots()) { + handler.insertItem(slot, stack, false); + } } } } diff --git a/src/main/java/refinedstorage/tile/grid/WirelessGrid.java b/src/main/java/refinedstorage/tile/grid/WirelessGrid.java index 19a56c128..3d10a0992 100755 --- a/src/main/java/refinedstorage/tile/grid/WirelessGrid.java +++ b/src/main/java/refinedstorage/tile/grid/WirelessGrid.java @@ -45,7 +45,7 @@ public class WirelessGrid implements IGrid { stack.setTagCompound(new NBTTagCompound()); } - TileBase.writeItems(this, 0, stack.getTagCompound()); + TileBase.writeItems(this, slot, stack.getTagCompound()); } } }; @@ -64,7 +64,9 @@ public class WirelessGrid implements IGrid { this.searchBoxMode = ItemWirelessGrid.getSearchBoxMode(stack); if (stack.hasTagCompound()) { - TileBase.readItems(filter, 0, stack.getTagCompound()); + for (int i = 0; i < 4; ++i) { + TileBase.readItems(filter, i, stack.getTagCompound()); + } } } diff --git a/src/main/resources/assets/refinedstorage/textures/gui/crafting_grid.png b/src/main/resources/assets/refinedstorage/textures/gui/crafting_grid.png index 3541a86c6c269b6f853ea90baa4dba354b95308a..f00b3b24e4bfd5fec3979cdb8bd8afa646a3f751 100755 GIT binary patch literal 2278 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(0|PTd zfKP}kP~62^QA&dRf`N&DBm;)v@9e6; zXy+{Oh%9Dc;M)ztjK_amF#`%pmbgZg1m~xflqVLYG880c=9TE>rIsj|=o#o48m#5w zIshzSyggkULn`9l-eD|WWFXL%xa#Zw|0(BN&g%$VQkuTBWzYRmw%ttc><+)2SeRE~ z*WUKI#(n?ui=U73oPT(+;NIt{?LT}IGOGR^|88-g-#Mc{N$EiO=ACyR)!6eawC&<# zxV81DL<3i3AKQ+~r|ZOLq_ch4>SOV&pka6LwcT@=Gp{5}R{jCwI;1VP{}? zIQ@_CiEkRug2E3N&0oWDHS6;FNu@KHUvy46DR&fXZpw1LLYdTf)z?A{()>V?h`9&9 zX|ORcxHbIodzCZw!cygick^}nvaN4LnS~}zpQW?RsG-lZaLttZN9jV!M!jxMJF_Oy&cIKwBDqtrG)M5BeF8)tjzKd0O{r z7K4?^=~FuyEQAvN-+G&F`CfFxnP>T*Yo~o?TG2m+tDf~*%`c`1!52IV;xBj=gkSI_ zXkL&%;Pl`T!>aR(pC9|eVIcfM(BXXVPKyIJkNtkRzT|i4zyFfYfj_v4`GT@{IzyF# zXFS6#zssTrqWriIbX@=jbMDF)5BQlH_|9J9cKB!asjqCtlSvHoK`Aic{#7O*#js$r zK2t-Q7qBL_^N9`nM#&Z%tIfvSCZjhRWbN3uTG|<05(t+iIxQx#1eS8bo z9^LqecY*5MDZa1m-NQgCzyP8Q%K5#IuQ27Pq{C}HvEy51b9HBH-DB8wDM&{DS*<8k z3EUnqzu~@@-`XzYhHJ5~^tp$zWa(0ixHG@CU>cx-3+3*gIwwjry}=CRpB3-3Dw#9h zUVXG<-)dkoJSy!l-%PVlJ_D!Tt9M{}YnkuFFtioiOAC^J@O5$V_6Y}>6=GP|rsV8O xlkvM5#&BWVZH5K8+Zi2h=P@^IoBQnNA9nNBc>g;hHC`Zxc)I$ztaD0e0ss_z@819b delta 1041 zcmaDR_(Nbr2n*L91_r)8j8pd%c}|XFQLksd>*?YcQW5v|PIu8Q0|B>0_CvqzH@!aH z|0Fx7Z^Ddv6!BMaz|4zUapIO^-wbs=xKY#t@zq_-xRfgWFuKnHp!*{{Ts=w>s z7uMSAIQ8GiW%#jf+wtUx`~2M(l*?W-ez_oZnn5a})a=0F)ywxC*dux1`lf%D%b9KF z-kSGR#-X0y_iHl)1H*w07xn@v28Om^N!Esa+bXv**tBm?kbB8}X1CmdlZ**$3%>jB zT;8|SUM})%(WkicOb+Kg_pUSBH0x-SkA}ds)dDS*ed~7b1iE z#EWlofD|3b5rL__;N-;&V!!ZzyM1!9=_8&6wbSQ3zSq~c(^>f*gH`sak4bvcj35;= zdYM2J2t;{gg6Y32|CSZ4aht=q<^81MJGUd!xPjD<E&n71qIaSX#8&VYU8zay{jWtt}YFLU4d zU3v}ACK~I3?i9d(MJG^ukSX#s#KJfzCA#Vz?vqV2$iTe=E@kU7%2(wLKC@ zGB8+Gvm&?$7#7GEoRIxh$RS(Y2aKg#mpo-}{kJS;0V@R(K$Gj?k;S0#yRgI99W9c= zqYyC*(q@vs8K#?o;SZKrB}T(5Q0f9&Ud5bI_1^UPj{U2X-(Bc1Z-~nc>eJ7FrU;;t zhG)5AaN8R0=dHWiVeBBw$l#FE(9Z2}dH(iUZy0y+&)wZ7#ozExYsJ#SOVcdpY+A=~ p!7zv6g@hSH36C^`72Dd}|BPoR&3xPT^x!>^X`ZfrF6*2UngC)po96%k diff --git a/src/main/resources/assets/refinedstorage/textures/gui/grid.png b/src/main/resources/assets/refinedstorage/textures/gui/grid.png index fb1d4edf2cd04bff8f1c38363044282ae5605e40..0644972f7763853fcec814f32920127b5dd0ecb8 100644 GIT binary patch literal 2157 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(0|PTd zfKP}kP~62^QA&dRf`N&DBm;)v@9e6; zXy+{Oh%9Dc;M)bljH3I^E&&B4OI#yLg7ec#$`gxH8440J^GfvcQcDy}^bGV24c2mT z9RQXnmpok@Ln`9l-et^xWWdw*P%h{HfAwPTUu)Zz-K?6qSNX@^l1Zk)UVm0dWwq^i zS{AK#?yd2!oxO7J({}2<7k*y6@1MYZPMzTM|Nm_}_x-4V)uP#4AIx&~rd!2U1fWhuSf{xS+d~6X@70j@6*zk732~ zA})ri-0x?Y3f68<5WL83^Xw->oh8E##uxui7KLv8^W1OqsomAK{0z3~r+;rQofUeo zmz{y(Y5OjmAjaO3}!gH(woU$^0moomIKE? zMJ!+X2IXCh3=N_S_D-(a<`s;d z*+M(EFV3>Ox^nfE6w`AIRp+K1=&oFId5sW*G=GEDk%#YlL&6W(z2Ueico$?QgUNC| zPMK7w0wCXF&cVJHYzz!x4C`xW?;zHpCs+z*ykVHG!r(n~%VZt~`QnUQX7_8BK3L6A z!*i)q?)}qL1~*VJfPv3GGRLo%Qo13-Qb$slWxVZ_O>oqpVe;` zkda&RwlgR&)bbq``Vq+=dU~awNyE39+gS4QdP`w8!L@(|;^sf@c+J9`asMbZFgw{U zOx>pXAxZ8vTtn3MXgHhUQCZO*tAh-;$~UsSd%GgauXGV($ZTze}9V>2}D zm@Bj1&)|Rz)Oj^b8Sk$O?byE>7;!+mcAuSgza6CNo{pOmV^4sm>|1jG9dwIwB$ive|$~Dzv_AjgHTGRc_=YZyOE{0W^%nez$ n7#7SjV_30_mrC4|jCtGle|puF?>(t2^QA&dRf`N&DBm;)v@9e6; zXy+{Oh%9Dc;M)ztjK_amF#`%pmbgZg1m~xflqVLYG880c=9TE>rIsj|=o#o48m#5w zIshzD5a`X@4N2i01(Ox*2k_`BaPs&uy0?_iZ9a;Hqr zUp_E1|Kj=AFTT&7`Rt`hLEiJ*c1Qe~E?;u!tL?j)CEY!d_7E%%I`@ zTg@^MsO6d7VAL}AtDZ9>8!y92##6?@r4#P)uoct>ys0f>d~u=t=i8s{%ojEnWta5) z<6&P=+YSzJht>Q7Kz}*>=Hq5yy71i~s^|XKfZUr`3z;*{g(S=5eJzCr0mEBs9XOjI z@c!curDqss?cO4hZoNu(w^bg)-AvPCvv;nChi=CGL~xjaHGS|cT4a^Ra5groXS3|p zX|b~A4ez!{JwAKqI$X_`_ZtxA{{RQ`0SS;SP~r}QNp-H_x$@BHveG*YRohn@?puh< zY5OwsLXPtoxG^v&m^&O(sf_=V;i1C vFglp#G6eWaGlX1bW4OA7N?bL|12+HJJK6T~7F+ljfqdra>gTe~DWM4f^VMtb diff --git a/src/main/resources/assets/refinedstorage/textures/gui/grid_filter.png b/src/main/resources/assets/refinedstorage/textures/gui/grid_filter.png index a1c7b0fc36d05a101b168c7f85c82bf326c3a384..25ad95901bd15448b9bb5efe18fac09ff97ed4c1 100755 GIT binary patch literal 1799 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(0|PTd zfKP}kP~62^QA&dRf`N&DBm;)v@9e6; zXy+{Oh%9Dc;M)Vjj8pd%c>)C`OI#yLg7ec#$`gxH8440J^GfvcQcDy}^bGV24c2mT z9bjN!%JFn@45^5Fd+VZ?vZF-H#mMA)|0iyi)-`?<%JFxzS*cx1(>{q?&JGgAck+(g z-Mv8|>|Or=0)y`J~B#r|#G9moWk5KmZ~SVHf=T!*y(X-R+YG2jqZ8D146-14%r2 zDa`^j;!brWh=`R?zwMn2CH9Y z__@SZ>W{&GtX?tru9gn80OpTt;tu!r&g0#8|189+{bv1a{}=4Vq1CJ$s`Ucz2Q#LE zJM(w@zGnRQ_sLD`5+8;;_N=?VRKA?bYg4qIAtjr6!dhO3ZDtHNZw+#eHv5jd|Ck)- V2EHs;8@;%Q~loCIAA283O2^QA&dRf`N&DBm;)v@9e6; zXy+{Oh%9Dc;M)trjPAcDtOW{6mbgZg1m~xflqVLYG880c=9TE>rIsj|=o#o48m#5w zI>5ld)a&Wu7*Y}U_SVI$+YTbGfmi$f|DSx<%JSD>=IyMlRy7_ zqyPC|ea}DMSkBg%y!`+F$BW}02tP=kp0~ZIQQTqPK43}3aH4uTu%KdKsQkqSEY1|( z$BF?tc8qnk@8`w-eLgv_;rDhq`?oA0B|tFYyB;@$#lZ03-&f(D`d^vqXBl>uN1EPy zn-ad#aVv zd+wW8S3J!f_H8NemH)g|7;2`&z1=!6;~VzPp0jFlT7xanFF^4%`x$mt$C}=Ip9Tq+ z>(62z%WuKqu!`njxg HN@xNA?!zhP diff --git a/src/main/resources/assets/refinedstorage/textures/gui/pattern_grid.png b/src/main/resources/assets/refinedstorage/textures/gui/pattern_grid.png index 12de1c6bcd9c8c5063f668015454b0986ecb5161..b6b62fc4221a967b87d32653179d8807a9981a71 100755 GIT binary patch delta 1666 zcmZ`%2~bm46#f76!xDl-ibz#r!crE63Mdt{`iX%Ev8*CHi82*58d4P@DE<#sXppTS ziYOSMrLja7v7(K%Q9vvL23J}J42Vr+kpuxl3D962JJXrIIWzCgyt(I{^Uf(=Hngm6 zCyf6E0G9j$4pZwTg)y)#s_WxJ^W2#nGj`E1sh39dJ}4-r`)Ks-`OzfG)xm&xp7mF} z?=}SOFyPytxu#fHAU23sun&$^(U*!j-_3ARyF6mU|F~IJBy!(!utT1McV!~z1?kAg zovU(qR+rbE*3|f0CJ1;=yy+cA^4$%AuQY|B`%cvQq+h=mKkr6Bag|Dj`-uX4a!B}J zsYTD(1p-Hx5_$6+_eim|p7EWz-An_)7uDaGA)rpMWPV-G%1?Zfx#qg!F5G0Q^Y=QU ztClhjX@;~-vbtg-Q;&+6la5baJ_ZK+_r%?Fz}!0XJsY45J?4EIVut6&6>uLJTe022n=z%eA6m*-V{9XQ5Z?1IyHA@nREO`c14QqyVJR}Z{{*n@V zip*Cz(Q4=(72Qg}X)IdP@2mN%(0j0Su5hn!<)5e#Jv-c~Z=_EMRoJRtuJsv|-?_~< zL&ksG&WUU(ei@YVnTc|JmY-H?S!=iRHgF-UJ#UXaId?%*zYFSElizPyIpgxPn&Ft1 zY{JYQ2?2Q`i}E!y-Arr#MgzYSm(K$!l-PZz2{tn7+BC)F`jR?Ra)Uqr(_dfMv8FE) z&~FMUy*A`Gd4r0{MfR3%YqRG%pQsL)eH8^YsMP9Nm0F=zD0;25&Y!8&KU`X!=b!7B z+ZLM(9YTOjU|d0_@e}UT0XsqA!!b?*=T>u&q-s0rQDoxwyb~@?3Tkw;jC)0uRQiRQ z7yBJ+8k@dr5e@P-PalncY?>uR!-Mu_6+m4cef?EGVx33jIvEVv%J5lVMEr>3{JGxb zbs;otBT4D6(^nixiKYnF?3Z0h2|-9~x9581v%~Mcz6W}OH=G1YNwCmbBscPdMBL@lI73sTjt99jg_fgOd@yoj6eehlUb0u=EXX6qY_Ba3IC`3~jZq!k>ccotk~IoX9n@ z>xm~v)!H`_ZdlRiQemuf1T-D%iA>>&<=^72fq{{rSK5Cyql+KM+De9{g#>-!Pgr8& z$*etF&(gss?;4@?jsf~w2%19w*?F6E7IQoU{Pl5qmDJce{&8})+6>7#mrb=OPxRJa zy$AN^7-4bpJ+MPt^TXm=8h~MO{QL52$BNLi1NFuCz5aI$KucGJE`0zA$17Alz2$+y zc7u^XNJK{49;fALAIO1{M%RBS07#Q~D9UTIp-^|x9rEVrT`DjYvw<`#UcVpjb=*); z{Y6HbVZ=>+7-4Js`VQ|B{LmtztoFi)!(ceFK`US8C>Zxbw!Ln2xv`u~x;E}0RZ@^$ zo*~<9$4rdHA~Pal6-matuOmRtfiz&nd6!EIdY2=1iP_NjeL%Z>y!>c2R95=mHc`jt delta 1590 zcmY+Ddt8iZ6vv-;t~F8(x{RVxsnw#SlCa(siL|qZ8I>;DBoVomiuWZNO1UImXuUL2 zm{Lup(w!2jS%s8oXa?<66Phk)v@>HryY~6xoX>ea-`_c(bDr}^^wRY1Y#>mo0no07 z9EnWxWIuu>LR7fBI&X;d8+diEQz~6JQQAt2fwsRJT77ImWATG)te&|SuU=`p`c>RMHFsX9 z^Qj_ZQ6Kr-v>gB5rP2Bh2D>U*(vRf)Yac7O=*mwz4&Ojr*jpvtZ3Ek=HMgE-i*y=C z#8N2TBp|x z1j+ZU2S`r(@}=uRUbKAp{RkB7(Ik881eVz)&ClLe^P$)1u*TgyaS~|?Bwx&EM(eNk z#mv?VK)B#?EWVMdX|uP!FDrhDbPd5!#IBwQAD1!uXJL)`Ef6_^h#QwVCEfBP8<&gE znSInX)FFM1AjNhc$uE789I4?LTWjFoJwqO?P}IVvuxSYt{N{6t89#P-r%6p56TJ3* z`!>O#ysTQqh>HzfY|HcCdzCb?ScHV zV{OUC^_81x-HG6j$nNwTV7zQFQ-d(ZZjNbv0jeh6|C)kZ?SJ%%a$NpVsmKWqx_sE$ zG6nb0gYw#YLTVigXA*8yvrMonn&G+H&|v?QODqzW?e-P7A#LvC zdvcB}Lp*WPpiL<>Yz3mZmLv1Ga3aXZmWh@`ZI!p)hmQ z71w|BO>6M9l?XoHXGfO(x1UU5VFK^ED2_~7>-z{C zFu2d`D5s`0O2z@rtfEa8Hq?kkmI5$qDkha+H@LF zACw|mlfLp({xO>XpdJ&X&X;Xq+xt4zwY zMSDfZZa3%yUS)>FH#f1x?M()+SuoS1ZkYgMe?l5}gWk?5mV?*lXzUg~@4A!T{}`Jd zZfbYBrvPBp4rEwSqHnYiKAb?R(PB`w;1{II$(QEn049JdPU3+t5h&}cAh6Sr9`)?( zx%*$6q&NYS>ArIk*pO5|nGth+B)DnP*-Gmc+F1`-t4uie5LC!4bfG_X(}&|w8OgP9 znjnZ#flU7mc)j#S!+fZZwBKv3em5^)<4=bDTVmZ2ngo) z0GO>BB%_)~RFAGOLIadj$smQ)(H_s}4jN3LV#X>$-IfZ$c&T)i&k;SxDIJ}Fotc#; z`GOLPEl%qpyMTA(spK6iLz4AWkox>9RYz!`$=Qye6EyU>uZQ7_gE{t18{d$ybbZbq zTZ3EwD3nfGTKr!CKB(T)1}`X2&=hxS7h9BBy#jV^JvN^20{>SB(f>hIm169p7mV&D zsP2Zlye|U&NNC;Ns<<6MEn6;ZUcmEbM~5YpflLe!7C4--USdS4#b;)&<7;YPH7JOXmWEKWoTXGy>?Yf N_m!Tmc`E{r{S9uysvrOW