From 1b7860be709e6052415e0a4c7d7861ae7f7307c0 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Mon, 11 Jan 2010 18:35:24 +0000 Subject: [PATCH] the MAZE ! git-svn-id: http://svn.net-core.org/repos/t-engine4@225 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engine/generator/map/Maze.lua | 3 +- game/engine/generator/map/Roomer.lua | 2 +- .../data/gfx/terrain/granite_wall_lichen.png | Bin 0 -> 996 bytes .../tome/data/gfx/terrain/maze_floor.png | Bin 0 -> 1674 bytes .../tome/data/gfx/terrain/maze_teleport.png | Bin 0 -> 1837 bytes game/modules/tome/data/zones/maze/grids.lua | 22 +++++++++ game/modules/tome/data/zones/maze/npcs.lua | 31 ++++++++++++ game/modules/tome/data/zones/maze/objects.lua | 20 ++++++++ game/modules/tome/data/zones/maze/zone.lua | 46 ++++++++++++++++++ ideas/zones.ods | Bin 15594 -> 13363 bytes 10 files changed, 122 insertions(+), 2 deletions(-) create mode 100644 game/modules/tome/data/gfx/terrain/granite_wall_lichen.png create mode 100644 game/modules/tome/data/gfx/terrain/maze_floor.png create mode 100644 game/modules/tome/data/gfx/terrain/maze_teleport.png create mode 100644 game/modules/tome/data/zones/maze/grids.lua create mode 100644 game/modules/tome/data/zones/maze/npcs.lua create mode 100644 game/modules/tome/data/zones/maze/objects.lua create mode 100644 game/modules/tome/data/zones/maze/zone.lua diff --git a/game/engine/generator/map/Maze.lua b/game/engine/generator/map/Maze.lua index e2df15fa40..778e181443 100644 --- a/game/engine/generator/map/Maze.lua +++ b/game/engine/generator/map/Maze.lua @@ -5,6 +5,7 @@ module(..., package.seeall, class.inherit(engine.Generator)) function _M:init(zone, map, grid_list, data) engine.Generator.init(self, zone, map) + self.data = data self.floor = grid_list[data.floor] self.wall = grid_list[data.wall] self.up = grid_list[data.up] @@ -63,7 +64,7 @@ function _M:generate(lev, old_lev) local ux, uy = 1, 1 local dx, dy = math.floor(self.map.w/2)*2-1-2*(1-math.mod(self.map.w,2)), math.floor(self.map.h/2)*2-1-2*(1-math.mod(self.map.h,2)) self.map(ux, uy, Map.TERRAIN, self.up) - if lev < self.zone.max_level then + if lev < self.zone.max_level or self.data.force_last_stair then self.map(dx, dy, Map.TERRAIN, self.down) end if lev > old_lev then diff --git a/game/engine/generator/map/Roomer.lua b/game/engine/generator/map/Roomer.lua index f3653f16df..98e8e0faae 100644 --- a/game/engine/generator/map/Roomer.lua +++ b/game/engine/generator/map/Roomer.lua @@ -240,7 +240,7 @@ function _M:generate(lev, old_lev) -- Put down stairs local dx, dy - if lev < self.zone.max_level then + if lev < self.zone.max_level or self.data.force_last_stair then while true do dx, dy = rng.range(1, self.map.w - 1), rng.range(1, self.map.h - 1) if not self.map:checkEntity(dx, dy, Map.TERRAIN, "block_move") and not self.room_map[dx][dy].special then diff --git a/game/modules/tome/data/gfx/terrain/granite_wall_lichen.png b/game/modules/tome/data/gfx/terrain/granite_wall_lichen.png new file mode 100644 index 0000000000000000000000000000000000000000..113ad44c7d4a7c6da18bf3025987805c9bde7d5f GIT binary patch literal 996 zcmV<A0~`E_P)<h;3K|Lk000e1NJLTq001BW001Be0ssI2{21+{000B4Nkl<ZNQsSB zt&ZbJ5dPu|2rM`-w3!1Age7pn(3ScHB6Z%t^oZYJEM*@c(rVd0K+GBph*>XOXkgIb zK;VJTuBmg9(Kd)W<@)cheikAEAfGaT>RMqsP1EF4mV<;40K^!bb15a~T(fTggiA;% zbzMjPe99D$F>be8Y5-8coSbuvk(aV8<sjaB5-CF)R-`OT`<I+C#u%gbzAVcEKnQ`x zQ%dczr42eIA|gT=GC1dUZ#%uuY&hp~&dxavx1hiL{LIaIQ&ZP=yG<#Pjd#+Yos?3c zp;gza-qhg|)E7BOy{XlAx<VhrCD5&re#$ew&Ay@SLYb^0duflYQb^<@&!XJD?X1b& z+m391tyZhP?_XYC+GES)4#Pm1zVBB*SGU(2fc5*@IX4W$FbwPW^^dPV*6(WoUDx$} ze|x><Z+W>~sw_p?W4o|0m4n>pkzoCVsQG!wwgeDDz!mkT_TJOp_&H|)4I2LC*YTY$ zIOD9GV*!OxN<?zb&AyR?6hyjJ%A-%hyoC^E$@SjTN8%#JSa0f_b4rQ7R9Fz{1O@;R zvF~hA=$zAvgLz~TVV#pWgKwchrIg63U~iADYN1ox?N*^e71gy;k?LBpPPLstTLs0m zPry{4y2%Qd;aHg&pYk)Y017K(6VmJ(Wzq<6cdR|F7<(2X;=O0c<W{~J>}=0zkF9<s zUDKj&bzPTFd0}z+;qN2t|M^kze98-aN4Nw6>3lvbht38<px)FrCJu@JDb2arH-w_T zupFeQu9fx{g*Jc~BMXAiq5v62wy9S5tJ(qR1$<;oFwhqZm%zV@ah(Ai5||*b69#vU zk|KqOFo;=Msl1L37?_c+5wKCRZf0OBm<mh-#D25dQ%d0y*j_YT9Z=TxYy=gW89t+p zQ7;z6m<EFuEp02rH9zCPv0igUkb|_x);Xse1GOmjN!Og*k60dJ@?#!+4*Z7$<C&DD ze;BY!5z|#&D?Sf>(asD&%Tvd=h;R|YG&xvU1%R?FIq@-pdUWKj{}8zB_{ymi_6+ZR zvu|RIA~Nnp7JP&zozncWva}m(KUZ8>C^I<T+haR!74@cOUDyb4haXI1$2MmMI;&F# z0nP(mq|~yldlh43TzDA4?rmo&v&6D17wYw_XdiBEwk&LWup!#@61o@NUT<Ii{i2a_ z=i!pW%?Ci=_rL!61wc8;!2M_azGi*&eZO2T0sQ{^w;bg0Ja~4VtxuoqPX7U{zLtn2 S<k-9b0000<MNUMnLSTZGqu~<( literal 0 HcmV?d00001 diff --git a/game/modules/tome/data/gfx/terrain/maze_floor.png b/game/modules/tome/data/gfx/terrain/maze_floor.png new file mode 100644 index 0000000000000000000000000000000000000000..9a5fa937057cb880268526e8be3c9cbbd1fe1b6c GIT binary patch literal 1674 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 URbl(CN&o-=07*qoM6N<$g0BM}fB*mh literal 0 HcmV?d00001 diff --git a/game/modules/tome/data/gfx/terrain/maze_teleport.png b/game/modules/tome/data/gfx/terrain/maze_teleport.png new file mode 100644 index 0000000000000000000000000000000000000000..318dcd74fb72687bfc75b5151b10d12d67fe62cb GIT binary patch literal 1837 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 b10ee!HQOS41)?o?00000NkvXXu0mjf?nj5o literal 0 HcmV?d00001 diff --git a/game/modules/tome/data/zones/maze/grids.lua b/game/modules/tome/data/zones/maze/grids.lua new file mode 100644 index 0000000000..840f331d9e --- /dev/null +++ b/game/modules/tome/data/zones/maze/grids.lua @@ -0,0 +1,22 @@ +load("/data/general/grids/basic.lua") + +newEntity{ + define_as = "QUICK_EXIT", + name = "teleporting circle to the surface", image = "terrain/maze_teleport.png", + display = '>', color_r=255, color_g=0, color_b=255, + change_level = 1, change_zone = "wilderness", +} + +newEntity{ + define_as = "MAZE_FLOOR", + name = "floor", image = "terrain/maze_floor.png", + display = '.', color_r=255, color_g=255, color_b=255, +} + +newEntity{ + define_as = "MAZE_WALL", + name = "wall", image = "terrain/granite_wall_lichen.png", + display = '#', color_r=255, color_g=255, color_b=255, + block_move = true, + block_sight = true, +} diff --git a/game/modules/tome/data/zones/maze/npcs.lua b/game/modules/tome/data/zones/maze/npcs.lua new file mode 100644 index 0000000000..b107ab1ce4 --- /dev/null +++ b/game/modules/tome/data/zones/maze/npcs.lua @@ -0,0 +1,31 @@ +load("/data/general/npcs/vermin.lua") +load("/data/general/npcs/wolf.lua") +load("/data/general/npcs/troll.lua") +load("/data/general/npcs/snake.lua") + +local Talents = require("engine.interface.ActorTalents") + +-- The boss of trollshaws, no "rarity" field means it will not be randomly generated +newEntity{ define_as = "TROLL_BILL", + type = "giant", subtype = "troll", unique = true, + name = "Bill the Stone Troll", + display = "T", color=colors.VIOLET, + desc = [[Big, brawny, powerful and with a taste for hobbit. He has friends called Bert and Tom. + He is wielding a small tree trunk and towering toward you. + He should have turned to stone long ago, how could he still walk?!]], + level_range = {7, 10}, exp_worth = 2, + max_life = 250, life_rating = 17, fixed_rating = true, + max_stamina = 85, + stats = { str=25, dex=10, cun=8, mag=10, con=20 }, + + body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 }, + equipment = resolvers.equip{ {type="weapon", subtype="greatmaul", defined="GREATMAUL_BILL_TRUNK"}, }, + drops = resolvers.drops{chance=100, nb=3, {ego_chance=100} }, + + talents = resolvers.talents{ + [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=2, [Talents.T_KNOCKBACK]=1, + }, + + autolevel = "warrior", + ai = "dumb_talented_simple", ai_state = { talent_in=4, }, +} diff --git a/game/modules/tome/data/zones/maze/objects.lua b/game/modules/tome/data/zones/maze/objects.lua new file mode 100644 index 0000000000..8db31735bb --- /dev/null +++ b/game/modules/tome/data/zones/maze/objects.lua @@ -0,0 +1,20 @@ +load("/data/general/objects/objects.lua") + +-- Artifact, droped (and used!) by Bill the Stone Troll + +newEntity{ base = "BASE_GREATMAUL", + define_as = "GREATMAUL_BILL_TRUNK", + name = "Bill's Tree Trunk", unique=true, + require = { stat = { str=25 }, }, + cost = 5, + combat = { + dam = 30, + apr = 7, + physcrit = 1.5, + dammod = {str=1.3}, + damrange = 1.7, + }, + + wielder = { + }, +} diff --git a/game/modules/tome/data/zones/maze/zone.lua b/game/modules/tome/data/zones/maze/zone.lua new file mode 100644 index 0000000000..455060db68 --- /dev/null +++ b/game/modules/tome/data/zones/maze/zone.lua @@ -0,0 +1,46 @@ +return { + name = "The Maze", + level_range = {7, 18}, + level_scheme = "player", + max_level = 7, + width = 40, height = 40, +-- all_remembered = true, +-- all_lited = true, +-- persistant = true, + generator = { + map = { + class = "engine.generator.map.Maze", + up = "UP", + down = "DOWN", + wall = "MAZE_WALL", + floor = "MAZE_FLOOR", + }, + actor = { + class = "engine.generator.actor.Random", + nb_npc = {20, 30}, + ood = {chance=5, range={1, 10}}, + adjust_level = {-1, 2}, + guardian = "TROLL_BILL", + }, + object = { + class = "engine.generator.object.Random", + nb_object = {4, 6}, + ood = {chance=5, range={1, 10}}, + filters = { {type="potion" }, {type="potion" }, {type="potion" }, {type="scroll" }, {}, {} } + }, + }, + levels = + { + [1] = { + generator = { map = { + up = "UP_WILDERNESS", + }, }, + }, + [7] = { + generator = { map = { + force_last_stair = true, + down = "QUICK_EXIT", + }, }, + }, + }, +} diff --git a/ideas/zones.ods b/ideas/zones.ods index 96ed0b2ff9e86ea42159edb92c196bd190de3c43..dd93e8bfa647bba439392bab9a5fd931047c57da 100644 GIT binary patch delta 11287 zcmZvCbx<GMvNi4&G`K@>3GVLh?(Xg|xcd(X5L`lVcXx;27Tn!Ez<18M@7}ua)i;04 zn(6LcGqq=`yZ2t}#Jk=KSxFWW3KQ(_gRYr230WEPZ!l*62Qt+Dfvd0oGLnM$d5{qQ zD;#71&iSthQqVLH!hgGxu1G<b;OKvQK~NAp|DZ4g39#Gr>3zd6NZEpCN!lvfr`EuR z*R^%8Dr42!$HUjYTbP0(9|jx+ELtPLAFN9%g<gh4UZri3*bGDKOrTwh9vg9nbF=#i zssarseP%7*b>SRLO#i^Rt>ygB?r|aeg&*)3fzOd^iX+c|5H3(K>w=ql!l_hPnoiZ( zoSisF1B5`t(1Zz~s~#(82U>C1WR~O%)g@z-E)95j$z>5U%*3z}R#<xu^<}i~rE>|c z?lQCfb)Twy+kZIWb`?Xim_<|m3ZCMHI*8bN_uN#U!kWJ7fhn%3{1JT}b}mPS!F#a| z=E3PEJR&W(-^xKIg^1DQy1$HDnLxodSYmw(Bw8I!qj7Q|r(7*mL@)F$lWW94%(cjl z#QBp`ZDenBSqgOeGYKw6xM(v|o4yLW4-un2>Kbl!mD0<%o6>&U?a`VH<q^zbX$mTX zr9fm0Upw`H^|;9@jE_&2B#<3&-MdhB!9n*lbv__w%`9-W6F1IJ^_Yv>wH1vF2IuDm zjyKQ{s}t|Li7trODQ~vZKIc+3F=L^t*k`a6oe#{k(_2x&;5_^=t_m(;k6^6h+e3Hu z1aW=*z@?b>L3iZ6<PI-_Oi8eW5}-P@_YL@YQHvc(7N0sP9vZfs4_D)ss#%qXSFRy5 zEWr38d1v@Ejm9TJivspUj+Fl78c$^naG_W;P~2<=AHy?d<dkSSaS%GDI^ayItfGjP zLP?+Lu;fnO4d(J{=^xmI7Ju1g5QC;ee`x^4O>pXfYsQ4i#zLjnAIFkE*-a+8m=7w& zOmY3#`}E+JcWe+x-AVeR7J{2^xaWQq;!qFy1?0@_^oHGg-=@Ir6!Oq>pOw4}gr6Iq z^6n;YRjolD-i_-x%#*cTZ?zG$IQwq3iIz~bNXMkn;Y(#X#2^;%eohrzT1CnK71su0 zJ@T4)7}RcvkZasCrqpk9j=D0Txqsh_4d<tP<JwaqiGfCcP1JhcPL3EMXbFu7vW)BE zu_tkWb_%MXpUdb^9O18Y!K0J}1W{uGd)%X`_kYakyVunF9ndI*>bgAO*|?C*QWKhW z!u*jn9Lz~E`)<H|ar{+{-nPG2Q+t%PP=0zcbS4Ztqv_=9MYg}`A#pR<;sR{-r#+o| z%`t*&C$+t;NV~cvFc*E*NaA>fNTP<z_uAA7T#!mG;g`ZM*DOZ@Ok9YiK*={`RgXVI zaR5)NGSsAbfZXgDM(&zp8vU<;-{&6cP!PeN&Vn4<uBSPy7amqcKOZKQ*4BnXQKRh~ ze7V2GB{ztw35r%}wusfqa|^ME$Ct%x41JDH9&ek_v`RTpqm_|fGqkvEJyqbq6|VTH zVj;}XD^gV+>iQ@7-UXAS1t_H|W0ZpOIp-NBa2n1~z`(0CF{f$SV%ECQHZG6l;EpRN zC|il}3$hMpUolBgbX{;aO!;lt*EW67d9#;Ij*dwvHG!0=a`dvV(7iET&Q$smXK52x zfT1)eyyu69Ls&kA!!ezdt%fWqe%K|8B8ig{j!7iXwDD@QYI*uF4D`+2X&xnpQ#q`P zukl+GY@naiCf1J0=b~)n-H40%m#o(h9a{^i8Z{#_h0ey~-Y%}`_5_k2MNx{}Tu{+a z59V51)6~ushU(#fdK_6!is&2%S{hQ>U<n)(<ap`lM7D#rujABo#$|qxX9N=Bx$`x} zJ>Mfe#o6qCdrsn>2D-o{u#P5hQSiXH?E(+oA^9YcuLwAMTxY=)vuhTn@9vU2(9XZ+ zNWXDXVri%h2yfVzaB_9dBkZ|g6QY$>lRR9}1VsEg=5c*sK#~$M8+FfH4O3Hg$@e~D z3V`<fP<Fl_QXrlu_RT^zM~)xmv7`7TB-0r8;tM5ntyf(i2E3R`<-;Ch`Wb{1A+>_r zeXB&1%yEZ!_p<ft|D^Dknv0qI5J$CxIP1xb>DMcEK86W@{b22E;HVeffOLiN&To|t zIHJie&lo;SPSO=yvI%#iA1&6Xg-i5pyv7C(CwAy>3`lJ#s*s(09Xh?@sUNu=z$G<- zFXRy;LKf0Z0%W0xwj9|f3i5j-r8*;>iGPdQp;w<Iy>RXXCB&8o&gPiof)kSlolovh zhlU1Uvp<1_QJl*k`<|G*iC<2W{y4XO?Gd58Rh8oB3Ni4N@R&iW!YY2CK44Tv1|L;3 zt#}Y(cn)$#I{jpuSh>)?_W8&=LBn0^es$z0N+J^1IzYP<UFpFwY7w>YC5=xY#LO~J z{4v}TZ9V3Ez1sW7bgcl<79xq&LNM}SsBr6=>l&^@(mZcM#BE*3X9;f0t}A$cN++-N zF4(u5Q`kITnTti3tii8jQe|@d!C9snto>inYK*?B@Jupq(e3_j$6OOF;laQt#&vq* z5i0A((gp+#Q%#TC+|K><CDc`q#$L1~;apKiift-#y;TK%7KFg^q2%IgrN_3Xy4*gH znJ?_8h!YSqj%9n(BE){yPR-5(!JCTHk0)Nk5IBdm7%ukG*(lL8v6)ZFAimORQ!o1) zXu?Ng4XQim&$X&tlF6;aI<POf)16?WNsV6&PXc8gTZ|Nd#gmN61+mu3DI&<krsGi< zLZC-TM9$s$h+qGyMsGuZMm?Zsb@8unweS!lq}N%cKL{(A!PdS?Yu#Rf_V$QIs>AE6 z?;H?#y^m$Aj6ZiBB}CdoEs?kx&b4p(OV#?DM<CN!e53AFJ%X65R?^3)d~1eo!*~q$ z7LZe${Ef&0R2?jL!_oa~i2$kt1AXccuwl63b1pJfkjm}lB@Qpb8daQ-<QaKCgUzbE z117*OyUv4(beBD8u}?n)z#+mHsxNz*QKU8~^r+?cg)&K2BOOHFx=D6y?>}U;#S%4d zI?UBxEolYSjaMLZ)p@Jjke$pHmO9|*fXrIdU%`#ZVVa3*ijDqWjJ<^j!N|)BnZ~>= z1P#<n3gcnU!=*ma)N(^hMTio#>xdt@mdFV{#0iS%UwgesSm-hcbCqmd_Iyno_5OTR zwKIB>Hh#DH?srNFTUbt=I#v#8`&@BX#M(a;jkMHn?CJJtyt%B$ZyaT9T@&%{yAW*W z*G^TX{%--BWj-H(&i$EwN_Mkc-OwI?%9-^C;I;9Fq9h9o_XKiy$ASj~gHi(n`&Wks z2L|_dhXz7Kq63l_J<is>%rW7D1=z&5DEvz(WyZtFpp#c+iC_8O$^xV#Qhugt&}lbf z6h$E~FJ4WASxRJWzZ`gcQ?(2UqsXfK?S$QeV!@&aH?DCpjOy57`^fRK9bQ5cb<Mi% zoMHNduk-;^7B(eAPa}q|8PjewiNa-6DSlsNP}ac6A{9upzng6-qZnFNbBA=WrRz{t zO=WK?jJYWB<=ATSAp7M}RyPDuVt=2asJ<b6Qv5r{+kiwozF=9oPoVO5qsrjyWAoa% zov*+y*=_%z$@cdJs;!n@tl~VF)B%AXTD+hDE=2#B$yyQB-MM8Csfvlq+H^T&m7m|# zTSuuh2dDu2JSqcnmR1g=mhT(4W<EaCpeBd-c^?w$rFUH|Ho=W|pP$f4iuc8}gk>he z(W7e>zwG^|yfMl&ei|rYT=2m${yAw4+lcRL4*o)~bLE9eM2^Q9d;15|IuOxc$jhs6 zeBS+pyy&my=^<8zJ4=x!y7t>v`q<HrvPy|FwdqWtF!i;bB(e=9B@ucr^aAy!sm$P- zb)tr(hO(7X#RCmmnT5hXL<k3A=6+bedkDzels)7(xe)`KR_fg^$NqsH8`1C$;ZQN^ z7*gk!ARDek+pEkI_#)fbVMEU`237L2$i2Nb?KE-1`D`#<WvLI9tQt+pPUMr7%A%T_ z3lt)NnKhQmE9j(562ux5?QV!jAM9%21)qe#vc4a@LTL<ZzOM4(W8s^PF8iEJmX`Vj zQkyoG<bYBY;^F3CieKYyOJ3rvMGk3bwH9sSOve5fqo3a<XSt$GwC6C5y&cD?fB7W( z@<J(JQsL1Lp4U_CU($Nw!;UZN=Yd%-G}IFSx!g9=9eVO7Xl;bJLJSUkd}kUcIr>-C zs=loqeIw7>ZA_j}hew%|WqxC$+)Y=TLT(CK4C7i3;~t?qQ;g-LsGzrdIw!wF4|a?W z`UyS@2**#e>#u4uzw>9=v81`#F6!Bkw`5<->}~A!*mEX#IVX(7h2o=s3}}m_SX1Ex zVzPh!4A#qa>aY)nL<cYW`DE|-*l<)4GyY;46y{BxBL7;BTDLpVXN>)JyR_Ng>W^of z+v(TM8z3m_Y?y%KS-dj+>$D8NrGIjjSfi`oMQ_O(&%+h|zAZp9y8o`{rAivJfTHOE zsl^N)+ex<%o1B|+6wFK(oqwxP<r-WJ(2pJ}eO|LSSvE<oG&YJbqpXy80jtO2zLl(< zqtq~L@v&UdG6?9E0!XgB(Z8}5;v$f;;NDU&h2=D<)YT6`GcwPb_3@4bc3~<<5vT72 z-h|Ag;)js^mWPRG{vk7xyT$9L{l)XAOHSHE=FF9H%Bq`OzM50mUHN5iQbE5V0QE-l zR=Cn0Fh7X=sD<vkp5O7yluX>$plm89n$Jzq=!NANpKRcApAVd!md_oK8pY%A{CvYx zm*P6Iq1<&>+EL|-HgOO$PM1D434xAVp`3M+TBS7qRCSj_SL~SAORuG8s3zJaNT5zQ zwG@fzKtbJq7QXlBa_xk0xT%c*+^_QEM7?t%gdXBB!Mje3USvTZj0+*8s1bWZP_-ab zl0^$1cTJ)DX5|hBy*o(RkQ&*HI8~eY;J<UooP5Zx^;2G;<`~|K#G9Fl5Dih1&!-K+ zWIpK52tJe@72@A=yDERA*~Zd2x%v9~?h+%~N;?nqD!;qa+J8`?|CsX!sv$Mz*)}$h zE9X&pPHd86L{6(IPs5Dl-MNU7doO36(CR%~woFo%y%V%};mz8LkG<Z>m!@tJN+JvF zrSAU}42uq{N}6pHkY6%uZTI3LQZ>WuWpEQP;s}5C5<UvMvVqDchUrS1SGF>`1DQgG z9~~Z!kC*TN>41MxyLa0ad$pn5f3nYO?GTF*$JZL|QaXMv*>wN76Rax$!2eF)C~GNT z1<+t%aQOdD-~Y3~<|EXh7pa5<1FNj(L^lKnX9j)4U<79c4PlU=ad0u)b5e-7Ticm2 za5J;9fgUgn5LuYjSikbHbMml$1sP%rfpdcLFqw$hq*&PGIaT?X?9JVbdCbkM-K-rf z8O+>WjNPmq9Y8%;6reOL9}pgv00cJ|2nn0@U+Zsd8erkuy()ozN_g$o#Raw=1X9Qv znjcAM;uh}jb#@BeV9`X>B_RmmuPyD<VDQ4Q)GeZk!X91gh91oi#LHDD0_x3Wj*p#> zS+@e0)HPjH@TBCVFfcGti>~hEZb-tLVNWebC5dDUmPkl=tPJj0yFI@}5rc&~SHfW5 zeE6fAp8=(*^d%@fMZ;rC`4GJu!m^1#BlVyJ{Ras=<ZT;kUP$%!N~TvP0%<lP{VrEO zdBy=8$qB)5Pnrv+uw#%)pCqQ_hS%PB1ek~o&pXU?jv91mYb4dc6CR~0Lj~#p_kD*i zM2r_wcjtQb^Fb&37~b~LF-=p<DoPh<QZt*K0`O_$IKuXGmRCwGN!Pn%PSc51dE+vm zVE1}X5j(zX?z1}3>J9NKIYKU@Bq&;sfQ%{r#D+JH_I|*ne&*Xz(eve81_%-99D#h{ zX5?sl&iR;G)3rkD=-!ZGbwIr{!K~Ma9}K=smr)xJ)h8r34xoc_)LAm<^wt<U9H!6N z1MCyPth2V|9j>f#AuE_KE)kBV%_!zshw43iWWsZ3;LOMw2@NeWy+*V>*~8;IUK>}0 ztn{w+lJ2hELVVe(nMya_n|Gc3LX)IIRqP})-9z8=AHET87Q5-<Cl#3|FdBSA(mz=U z4i$`oE##P5yXr`W`KC?o?w*CJbTkbN0HpCt)VA|#iN(d}9W}S`xaqv;U#<#bwMegu zeD8M9z5MxytJ!%?fZ?7y<~?(r#B1AN!D)qvwi?1)@NgdEmQJQXzjYmd`>GSlo5LxT z6BVMSyYIVs67o}MJh*0hW_BQdTdStw)eJpH&K*4P=|h+0+JZ>tJO&UJE;c9>c<ImE zL|;z1x!n)(X*FEXItW7l3~Mlk67xBAXN~mcHVXij`p8Wg#8H9k8x(B&FdGGcaX)~( z9Sf%D$80Pk4$aIYw*Q~Vki%)1&?0?5&TyI-D9JlKc|lXr#=H?N^T~Y(3#n|!O)EGp zz4;<4W^6;&PB%Q=jpfk1hk8?>8;t>5DPt)$K1zPV#La{D9lGVo4if(s1?M{i*s}?T z77-okFoJvsRd3#3mEs+2F{7MzZAImCOs*kTzySK#E?-|OQ|KoNF=|$CPuC4raK(Mn zF*k)<wm>}&0fnkgu402KZ(QGsg)``VX#TsxzWE0OIfMYXSSi+dItdLxhepoDTiTw$ zug940a<w~$nB+xO;&~g1fRd@*cQNtS*8N8g`;M`kHset&@7#vh``27yZO`VL?^8<J z?K2IEM|x1ml(nhj&;&uLsVq%s(9kQh4!*cv(7A05=DTzRKG-+2c5(S$FCp$bbH(q9 zf%Kn<(d(WY0;}yZ<FOC`buFT^+)*q03&)@0<I*3voI8)d64)K1%RSSTCVg+mbxZh( zqbDPbAUZL%HEy~FWpKtOC!BQgcm#ASZk_MNnhMA`wRozIF3Zo%zb42Vja>*uCn{>H zz9&E%5NV%sZbp{~v9eo`>lxI)cnig~wY5<`$_0I^RVR{>k*Vwg+EYfRYO*xC{S(!n zkWm+QM>BOmefKl`DLi6)(G=Xj<F1RuFQOX-pjCtE`ri_&K2ONiDf5&8EJj^dRG3p= zjHcz=NyMjVTszeI2;T9e*Y;|f?gsZ)R#_z5XJKTP`3|>~Nlo<!%KYXTJ#L6H8+>_5 zhtG_8<#@J#qpzj_7)}jd?1O~cR<@2lgUJ{aH*?S2%a|+KV}&7tkg?UkV`${{Bl_OM z&-0cQui^!!s=lHVkIae>0?30~^8P}K(Ad<Z2;OcoQLig<M(5uhMupqOk6_Nkh5}gP zg4hNS``YpZ8_1@s_KRBNrb~;u71n*Eq2{%qcs5aquehjyXRVc$1^Zv6R9DG|%cbf- z9kMpej6=1XpxwgM`*5d(yI53hsZcZe4*b{3-O`_nqvDn1b#9ciZK6ggn0R%PZH2*~ zHQyR4*ogIQAIeM&A3Tc)4eyp*QDC0P!(FJi$*-U|UfdP)&Ci&t?TIVg%`Q?Qf@%x` zu4yMJ+6VCgxq6+#dus`ad<-|;ib4l>p&AJPceL-M@NjTxnK#AjpXb61O30!UFH{E= z)A__}?QI2>uW`9~ZZrkp+dI?oWXxui+q(01w)eBEDvswD#{)Em^8#@>k{B8(q?wHI z$tOljU%am8dM5dgvM&55Vz!<*ba;3sp{Ozhmq#gp>QZ^LE7-_`NW(~5D%OZ(oq3C! z4r9;fw<nnEx<0P5UQv~u+x`yGUOzr(Tnun2adB}UNGsvX=2+q0!_@EHD9sD=znD9? z*Is_SN6mI8TZ6E+a7*XF;kYI|o*b-wm>3yRkcR$fJ1~Dox9;Xn%V0|%(3sQ6aH}xX z**G%+Oigb&ee!$7FQyux#2~_;5+y=6vr*o#oYpevZJKS|?gLoyGM5H6SgfvnLh4F* zz|p_ZkS5Vy)sdaQ`jS};{sLz4jX_r^!Nd<3a~$mJV5R0}#SiZZ>J|x`A>yO7u_IKd zO`4fya*+hMGY~(EbT%cE^SH~-r-mcYI$C^zFS=f&ZDa<U?e%40;bV?*KN4Dzc{-1i z^bK0LHyyN#jEysd0_+gE46LqJ2O`cDP)r<DAojp4U@^E^<t@E$qNJmnSwh($PIA5P zqiI@%e$ac*``3+cV#shj>fF~;5dNWt{Ten2gAsL<Az4T9e5E0|NhWYhi9B!D`R=d* zB(H9_KemqzPA?ygdgP7kx;PL`GkLpMz#?JVZ7*?DD(qwAM9JTW@Lh6Eay_4Z_&Py7 zE|cHf%dmmQ*mkUtXT}A85?!gKp>}QIxK&yUlFPXS*`ZesH%1A=L?sEYfA+uJlvu5} z4}cRexTvvN|M(PsbID8(UVBj<(57Mlpf~doIUj9BC|@7PnAg_xEiX@Z?c+eN)hunS z+u@9yZZ~h_eJ2p)eDsaLwDtFK%4fA$gK6@4K!pwEbWq}GZFxl}v8z)m)~7j|NHaHe zMjx$>7Z#&qJFcCtFj+h*3x2hQh|eJ3y{3LwFRz|k3LMIu(miLqWDw~tET%UDlJc&X zE==kKvAm;=SFU%<s0SgpRQyJUjDpcDK)10y<FiWh#u)Whf`rB_0xPvyn>j4w4y_o4 zYkHLk+21-IsRGPZw#HOq60~7@zux;a1dr}^_fx!WlXXF<Z_9x`zmF-f*lu9uaFVBb zEH$9#%o!I!$a08{hdC_0ZHkWqHP;1@whHmvQuIIjc^|f^Vhi)zFngr_%2jbY_p}^L zAxX@Xr`A;!s7$$jJG=KVxE&98)scd5fASQ%iB9Ci^=w=<M0zt9mX?Oh+OK|$b|R2* z^i^ofG{$-oc&bZ|Jn5N2agNVv;VS6&j>I^=rOE3W=uYYWPS#7~$i#R9+WFcz)v45D zbG_{W?S^OHx36;Yn?zS;dbNj7+>c*jzR-;GI8&G%BK<k+6#avmd%-h;7Wm}N3qyHs zt$7qTP>Z)>G}2*P;7v!W8FC}pLGz^Z$)PD$GQb4P;sX_7(yJ?-4taw(bY*nx2#=WM zb$bUI1|*37>8s&%xJ#TP5c1om|1v~5-tEb4TF_qu5eX_~*Tz&qLw6*fuPoa+;7M#2 zR;9&VE;Z-Zl-`G)d$H}NHYF~R-&Br1kzXt4revo_tDtXIm{lHTqr4INxk2o=kAT|= zPfwp7b1g}&Bd#aeHnm3f;Xj}3l;q_n6TEn)azB0hnm$oqv8k4i1GwROifmZl3RBZb zMcT4la*{ZII+%xD*{rP*Fw*9gXqr(UZwnU8{%I(CCo@l;jlMUL_$1a)caVD79O|=B zb^2k;rl6Ir&6-n}X$xrtQ+;_qM0MRjH;5Tht#T83s%CGokI4JkO?KXq904uGuSN(7 zZPzzC=B~7G0~Cf$40L^8Tf67@L{gh~9nB9}3?}NwUdPZQIaV3u{aC}Xft4GLh-o+; zSg%Non|d?D?et^Eob?r%9BDhf)U95clK%+abFy)ToMypU?^yrMIK^w*5h3}2a&|iT z*Ht=wtcXBD_#mDak2z{Ue%*Oo@02{6CDm$iL*lY<dTcR02#7}}exp}Bu`1pU4urFy zrga&WXKpIi4tHY}w?JAz@a}DKJ+x(OSs9D;3&X+tkaEM{UT|WZ9U*?HQ-ycV4_9po ze1INPy=0TZi(G!WY-X(t59?ElQxwij!g(_7A7`efMb~%+h`32Q?U$Vhu9lzJHf==6 zh8V>q5Tcmt0qMDvS>h6=Mkl$5_1yd`0*eW2#yjmR0JquT80qzoPXNkK)ho-e)#T;b z!Yk{q+C!F{fGG>R_O=Db-D|qyopY+ay{t50&2jerAJmEnr_8X|Eau9Bp6>4=6}ShZ zy<5>dGkWN?Iw<+O*@TkV{sjr&)PrAR5RNLL|D53W0L^GRu8j`>fs$P#Zs)xv#*PU( z_+(|fn1(LC<6X3CqR{NAole16@>_2c4;NnC$ww|k6bZUPo?4>yL9AVB84GRRo8-j7 zIwW2lJ+fuU0eh1miR-Z+B{A{TCz)5PQ<dP0<he!;f5X(m8Yz1-O{H_b6_m(7Wtyo} z@UhbbK)a=}f}k)oD^Z26X-2_FW{J7?jc{qk)`r^o+}zxQr$b!TE%nBEVP7}!5dA?^ zgq>yE&!PWx0JMN1@-$DUp_UmkavIg!QQ>0HC*D6x(V6MM9oOZKgg@Jz>M9^W2CX!@ z#%vm-5Lbv_WMz3V7L0G9S28Pi(L3`yj4ZkVL7EF~!Bm_4-;ee3v@_x_#?Kir&X|zg z+*`vi@%S__vu9Eu+(ApREg~>n`QsGfHiL&o3VK_}v6~KLy!r!m{v{6z$q$I?zcC{y z;X!v6K5VT0$|+k;FER1Q`gm9|<A|&lLN4KvVH}x)c8ir{7jJi{V|Ok(Oul?Pj$Z7* z`~vk%*)Z|7ljQ|rH-p0ypHdFIxy|6-!tE5Hn-)Z=txHB_&LwYW$8VnBpJkHIrCTi` z@>hxoI~q7uk3Bbn4rpy`Y;?<aydMZW%}xX3g=a{Hbkx*RE+{gCzz_DW0~h}6nYoy` zCcixi@{3(nOu$(yqhZ>rDiVHAs;9gH?il#Ox<hio;t(m19PA?{-VqqaOU#@NV~p&@ zcyL8*A#bVMW(G!6>kW|$zit}n>0d8Ut_T|EQP{k()nsL6`qVs>50x1)Cl#~mAelB5 z-5IVF#+<i@8k$@3>@4z<+<ib(VZDFGW3eO?AuAxp!^3OOl&;Vfuqvuy8v4Bf(AJ>A z*q_Rmm6dAq1=7iff-tLRo=p>bpBgtr_P>E$G<(pT0~h8pv_|5UUBv1pzwvX^$)WpK z1}exegRHyK_uw7s7qBDr^$(p|e}5mH%^1@h-W*C1X`$$nCH!mYWp}%-k2;t5&a7uk zH-h{|{FJX#YmV8EBvCiaQQp=DAPm+f-|hn=a)(E42Gk-=c}1et{8+zOK^3nIJJ&&X za(OH(Z28`TD-=9DFH}9kX+y8a=O~{UO%_T|XPl*9%Qu!NX{iTW!+bO*alZa}zrkYC z$I(>N*X*g?4^sdiTMY_w$)t|E^gf=$RIsx<TY6HaMvn)bJ;}7Om@Bjb9C~_s0S1If za;z6`-)0R8#{G77Xaaf<#2DtaD4whF^bNnu<v+Xdmd%qC-Ni|X=;@6bLCm%8TwUl9 zep8=)6%dEtAMeDy^W3uxn^)7_6nve>$bH}o(_;_lNT+k=!u5l!5{l7S6mQ!q@4PpX z_JCT%IlsH7J1a0=(p)$IY#H(3fB$BZ@dC)^4&_=bI&x8{hla3o?c<*LinAD4!fX7E z4|=J*Fje9~M6wFl+fRBh(dwT4xcS#A{m6PP6j*N;Vm^b~oy&X5@l^C1O`GwjUGcC; zie2VMclQrOc}MsiyuAHNKyEl^_xn@8`UTE2!zxxc+ANsH>U$D^!k=D_q3uU_Ig<A+ zQSrGK*&gO64bAk$QNxo0l-^#LZ0@&THn}oGYl7;9&BJ3-%2zs?uu7OJynchN4U%+f z9X<1#cG!5fpM`&;LnN`ybBPyb?yfG&n2K?5@TKdqx*I~>twDl8wb30}>GDB){E)et z2zb26fQtSe{GMh5_z&fRYrW!oeouFJ2<XrAe|lbj6V=HT>$KqOl$SRV@v>Z&X_L68 zwKZzPv@Y%E2#0m!D7I050P4;@a0!n0(RX(_Yro^#ZP<b*@*g*#DjXR!_;YC&d3?cW zpJl@T{KBEWvGK%k-6#AOro`AIi-oXnyChU-mS2sNVRLr~bQDq4B_<q+nKF(vD9k1d zX&*%^i4-qtx$h@PH6@9}t}d5uU-B)$fb8Afqlg7Xz&!cIORNk%huy^XRXa3dYTqa} zVESH=E?5k!!QZqoMWIi0-cC&-%!kjP2ngEVv2*Br1Id!K7sivS#s@5i^ih73Y*Xqt z;E$&_2S$4WL$5{+vSn8h9u?-p=B70P{Kt97o7ZZWsHds;aC>pfgGO%w1y#xtOvGBR z)zbJr#854Pa18Me30ze+#<ducY&mF;UseFxJu0Lc4zsME7rU3ekx?hf2;!e*>O{#r z8|I)7l4vl^Ct;QhV65f?@xZdBXV2`fhhbCC3p4nD$;k{Xklh`vU2nXV?$7;%3;O4C zwq$~yz(VJSd3wfqCACL?chpv%OrcsZfBx$Ti=T*^nw6u{7Oi57E8jkEsC3=JQ(%S( z*y5dWvG0~?KAdj78(M~~F*nt-#wj2Lr^4Epxv!p#>TG&`R7PcK8`Hr(i5;ytv9uPj zUU}#NsVby@P|#|H)wizS>C(gqGw9<K<3iW11b?t^_kOBF_NEGZg}RP++_iC}LQ$;z zb)!0|Y627W$oFDsUsYQ}rYrXplN_he>@?uGh5f<pPQr_Vs>%ip5M}0_XZ<WVu6>fE zTH_`ORkTL%X*2z-QEof%3~4>X7mwt&OrT&b`E8aa-maCf#issf^wksQfQ{x;G;EW3 z)(g44(F_>O%k1ng&1#LtfJfrL_fg{@$>oFoQYT4a{d*tv-!xbND=}c`TEK(Zvw2zK z<kdMBy?oA~;0|kDe%_>y_+HutEk)T(YMe|ms|bWxm6)3^kxiX#l%mp7JZFPIAXkO0 zKc}ocjnHNU%Cj1H!(}QV1I0vSw@s{g287u(hP*)bTnY7FUz+6lmq0NB=P#jWeYP%K z+m#iqm140CU$!Ef;Q%-iNBCxOQ7Mjo9Y^10jlMcw+1L?R-Rm$o-FqK`;bG_7^g8d( z{8JzQg|_39zuLot_UJL6ZY*&cf2<UgkrZwCIko$u9DTaR#^g)6xs_$(uWwV&IzkVw zp-@OFYx9fEstc>pm@7IYpSyMBS2!--(ph#!dVd+AAzA;l!vn<8$0Wo;XO*W<1w{m) zy22E9nD^jsLc5Xu3v!NEH=YE<T!Hcv<jT_1_L~F<G$PWSUdp?hI-?H%R1MQ2pw<j0 z&e-pKe||4m8b^u8+H_Ym^T)5O98nU68#?h#)LLkxQjA4|FG0Lq1-L8<D}gQ)djeh+ zzYI4(C2J#-F2J6Exs-w;m|eu@DBhFaKeSIN=iA3hnZNik`Ago0gw!wQn_q|n9a|t6 zwxS)tS(%s>N4aWdns<&Gdv(O~%@rLQmHkA|RY<L_z^~H2JBsQk-_kyuwOy6}R6~2% z2+Qq!j2Qnigklu-Eb&@W6l9qKBRX2@W?Ax!rAIj@vlw7(tY8Y{ma89CJT9T!Zc^M; z6Vm*#eh407O$gfMO)-Isob`rC|E4#mHi5+2Hk*qBk4C>50w@mV|Kbn7@$Q0fkzuF# zK_4;1wl0l)-cV|7s6eN+1gTYw+M>pf5GlSZ0F^^uh)Oo_K#Iw_MGzP;*)1tT#GjW9 zg);a%{2Ay_ibDGy=p@C^13kgyhQ&(<X?W}Y?8gj`z30-2XgeTrER{9v$bk7cxR$h= z54{t1q6xKG<)^(gdNqXZ%u8A|{Y99mMvR138?z!oVU2gB{^Fu!_e^3ysI7;Xn+iCH z`_SHK5#RI1^bzXWaaCVY-L{l@k(17)Ii8l1?go<0#DX)y+CQb`7x?@U%F)>8yVw`+ z6@G{oruW?OTX$t*alw~-E`dbZy1FZhfisGl#pS>Is4A~F<Ir|teio5<`~Hg*+v9M^ z@!8udmRN$xcp7==_wlyX;t`dKqx*wb_9YKXEHC8nig;(hB0JJ%8o<Q=Y!1s)=c9Qt z&jF-Sd7B?$xArPH;_?JNZozQf`0NfKxvdDKeN?M4&lL8yv^zzm%28{vhrEWZ^)LG? zQy#u=9-BqM_K!bJ!42MBhf7`Dx}kIY{y}M>GGt_R#rrkhktx<uRsK-n_Q3mLS-m$b z^EbZnnT_n(XzOTz<ErJh8vb$eGjm%5BLTp$u+W_)pwq?e*euKA^LfW?fV3S9LhbVC z2kK|1V$@7FINUvJv7dihhuJ@1a9Ow@%+Nk*iW!YV4$Bac2SO8AI@)z%V5kN}?j@&E zYsSKeehw9k5%h&)VNMIvz$0?_X$r9;;umNV12LVPiblyr!xGU~*ZtmaTjw)_I50&7 z{6qCL6n^o60s{*s_`fO2lJg57Ytzq+CiKW3HnX9zrq1FF!Egt43{G{k{OKsd0yB9{ z6J>9XBjqp78(HcyP6E%mc2!sPoH_ZS3PW+S@aHd@O<PWn9n&|1?#P83W8>aq@Tj%9 zys=Y)?0$u!BOTPDQg@>y9gRxVBcJMI@!|8O=W{b10X3YfJmf`h6FxNn2lp>&nE=!o zRH#t{#FY0~_UZS+@>UHtOfnHgT`_E&k;K?i$g3s{m67(WW*Wy0WFNWfbVPnxlPxj) zNb{>aOuUKw1eM~?CD{ii*q&IQkcJ>lNxiN}!~8H*Nd4|i#b`ZeRZj-D&N^vemaru# zp37E5@(SX4S2lBzWgJe7bEu9b{z}Jb{n;)<{NtsXj(zpHA4?P6u2HBk)*cn&;VVQr z_Z%y6koHnH*2_?wQ^>i^H6vLcgRa&%H^a>>f1v)J;|Umf3lVTIFlE@k=NKFU6YM{V zRnR@xKk8Hv3J*R=f}8dqqRW+A<sZ!Z%eKq?<)3R59`S!rgGcgze4_t}0q6Z!3_Y(5 z@?RPYzW=B%Kq0*J#D81<o6tk}M=ksBQ!r?X7gyu&nEz0Ff6;qz|91a_dY{0+{$}bJ zz3lD&{r>+`$oT%d#C`r>qnNNjO4xW7|91e&fBkSs|7*Yl4H%fKx!d1dpzHtdQU5)S Ve-+gKI?5P9oqW_VOw51V{vR1ZT}S`` delta 13522 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 -- GitLab