From 0e1613d1da86f2cba8921ac05f5d52e10b6e58c2 Mon Sep 17 00:00:00 2001 From: Wickedness Date: Fri, 10 Jul 2026 00:19:27 +0900 Subject: [PATCH] Improve spear equipment icon silhouettes --- docs/equipment-icon-quality-audit.md | 70 +++---- docs/equipment-icon-spear-polearm-pass.md | 29 +++ ...uipment-icon-spear-polearm-sortie-prep.png | Bin 0 -> 120270 bytes scripts/audit-equipment-icon-quality.mjs | 132 +++++++++---- src/game/scenes/BootScene.ts | 176 +++++++++++++++--- 5 files changed, 315 insertions(+), 92 deletions(-) create mode 100644 docs/equipment-icon-spear-polearm-pass.md create mode 100644 docs/equipment-icon-spear-polearm-sortie-prep.png diff --git a/docs/equipment-icon-quality-audit.md b/docs/equipment-icon-quality-audit.md index 9a4803a..aa59373 100644 --- a/docs/equipment-icon-quality-audit.md +++ b/docs/equipment-icon-quality-audit.md @@ -22,16 +22,19 @@ Generated by `scripts/audit-equipment-icon-quality.mjs`. - Treasure/common distinction often relies on UI frame color plus a small palette change, not a strong unique silhouette. - Reused helper silhouettes are the strongest quality risk because several different items collapse to the same shape at 14-22px. -## First Improvement Target +## Completed Improvement Passes -- Target: weapon spear/polearm family -- Item ids: `green-dragon-glaive`, `serpent-spear`, `sky-piercer-halberd`, `iron-spear`, `western-cavalry-spear` -- Reason: These are high-frequency equipment surfaces and several treasure/common weapons share a thin diagonal shaft silhouette; upgrading this group gives the clearest identity gain in sortie prep and equipment swap screens. +- weapon spear/polearm family: `green-dragon-glaive`, `serpent-spear`, `sky-piercer-halberd`, `iron-spear`, `western-cavalry-spear` + - The previous shared spear/polearm silhouettes now use item-specific helper shapes with enough primitive detail for 20px and 30px equipment UI reads. + +## Next Improvement Target + +- Target: armor silhouettes +- Item ids: `oath-robe`, `reinforced-lamellar`, `cloth-armor`, `lamellar-armor`, `rebel-vest` +- Reason: Armor and robes are readable but still depend on simple triangular torsos and small color accents; this is now the largest remaining shared-equipment silhouette group. ## Follow-Up Targets -- armor silhouettes: `oath-robe`, `reinforced-lamellar`, `cloth-armor`, `lamellar-armor`, `rebel-vest` - - Armor and robes are readable but depend on simple triangular torsos and small color accents. - accessory charms and tokens: `bravery-token`, `mountain-guide-scroll`, `peach-charm`, `war-manual`, `wind-quiver`, `grain-pouch`, `yellow-scarf-charm` - Accessories are the smallest UI read and several use compact badge-like shapes. @@ -39,43 +42,44 @@ Generated by `scripts/audit-equipment-icon-quality.mjs`. | score | signature | slots | ranks | items | | ---: | --- | --- | --- | --- | -| 15 | `drawSpearIcon` | weapon | common, treasure | `serpent-spear`, `iron-spear`, `western-cavalry-spear` | | 8 | `drawArmorIcon` | armor | common, treasure | `reinforced-lamellar`, `lamellar-armor` | | 8 | `drawCharmIcon` | accessory | common, treasure | `peach-charm`, `yellow-scarf-charm` | -| 8 | `drawPolearmIcon` | weapon | treasure | `green-dragon-glaive`, `sky-piercer-halberd` | | 8 | `drawRobeIcon` | armor | common, treasure | `oath-robe`, `cloth-armor` | +| 6 | `drawAxeIcon` | weapon | common | `leader-axe` | +| 6 | `drawSaberIcon` | weapon | common | `yellow-turban-saber` | ## Full Item Inventory | item id | slot | rank | draw helpers | calls | primitives | colors | concerns | | --- | --- | --- | --- | ---: | ---: | ---: | --- | -| `green-dragon-glaive` | weapon | treasure | `drawPolearmIcon` | 1 | 11 | 2 | single helper silhouette
low primitive detail | -| `serpent-spear` | weapon | treasure | `drawSpearIcon` | 1 | 7 | 2 | single helper silhouette
low primitive detail | -| `sky-piercer-halberd` | weapon | treasure | `drawPolearmIcon` | 1 | 11 | 2 | single helper silhouette
low primitive detail | -| `twin-oath-blades` | weapon | treasure | `drawSwordIcon`
`drawSwordIcon` | 2 | 32 | 3 | none | -| `white-feather-fan` | weapon | treasure | `drawFanIcon` | 1 | 19 | 2 | single helper silhouette | -| `iron-spear` | weapon | common | `drawSpearIcon` | 1 | 7 | 2 | single helper silhouette
low primitive detail | -| `leader-axe` | weapon | common | `drawAxeIcon` | 1 | 7 | 2 | single helper silhouette
low primitive detail | -| `short-bow` | weapon | common | `drawBowIcon` | 1 | 18 | 2 | single helper silhouette | -| `training-sword` | weapon | common | `drawSwordIcon` | 1 | 16 | 2 | single helper silhouette
low primitive detail | -| `western-cavalry-spear` | weapon | common | `drawSpearIcon` | 1 | 7 | 2 | single helper silhouette
low primitive detail | -| `yellow-turban-saber` | weapon | common | `drawSaberIcon` | 1 | 12 | 2 | single helper silhouette
low primitive detail | -| `oath-robe` | armor | treasure | `drawRobeIcon` | 1 | 7 | 2 | single helper silhouette
low primitive detail | -| `reinforced-lamellar` | armor | treasure | `drawArmorIcon` | 1 | 12 | 2 | single helper silhouette
low primitive detail | -| `cloth-armor` | armor | common | `drawRobeIcon` | 1 | 7 | 2 | single helper silhouette
low primitive detail | -| `lamellar-armor` | armor | common | `drawArmorIcon` | 1 | 12 | 2 | single helper silhouette
low primitive detail | -| `rebel-vest` | armor | common | `drawVestIcon` | 1 | 4 | 2 | single helper silhouette
low primitive detail | -| `bravery-token` | accessory | treasure | `drawTokenIcon` | 1 | 4 | 2 | single helper silhouette
low primitive detail | -| `mountain-guide-scroll` | accessory | treasure | `drawMapScrollIcon` | 1 | 13 | 2 | single helper silhouette
low primitive detail | -| `peach-charm` | accessory | treasure | `drawCharmIcon` | 1 | 4 | 2 | single helper silhouette
low primitive detail | -| `war-manual` | accessory | treasure | `drawBookIcon` | 1 | 7 | 2 | single helper silhouette
low primitive detail | -| `wind-quiver` | accessory | treasure | `drawQuiverIcon` | 1 | 8 | 2 | single helper silhouette
low primitive detail | -| `grain-pouch` | accessory | common | `drawPouchIcon` | 1 | 7 | 2 | single helper silhouette
low primitive detail | -| `yellow-scarf-charm` | accessory | common | `drawCharmIcon` | 1 | 4 | 2 | single helper silhouette
low primitive detail | +| `green-dragon-glaive` | weapon | treasure | `drawGreenDragonGlaiveIcon` | 1 | 23 | 6 | none | +| `serpent-spear` | weapon | treasure | `drawSerpentSpearIcon` | 1 | 29 | 4 | none | +| `sky-piercer-halberd` | weapon | treasure | `drawSkyPiercerHalberdIcon` | 1 | 24 | 7 | none | +| `twin-oath-blades` | weapon | treasure | `drawSwordIcon`
`drawSwordIcon` | 2 | 32 | 4 | none | +| `white-feather-fan` | weapon | treasure | `drawFanIcon` | 1 | 19 | 3 | none | +| `iron-spear` | weapon | common | `drawIronSpearIcon` | 1 | 26 | 7 | none | +| `leader-axe` | weapon | common | `drawAxeIcon` | 1 | 7 | 2 | low primitive detail | +| `short-bow` | weapon | common | `drawBowIcon` | 1 | 18 | 3 | none | +| `training-sword` | weapon | common | `drawSwordIcon` | 1 | 16 | 4 | low primitive detail | +| `western-cavalry-spear` | weapon | common | `drawWesternCavalrySpearIcon` | 1 | 27 | 7 | none | +| `yellow-turban-saber` | weapon | common | `drawSaberIcon` | 1 | 12 | 2 | low primitive detail | +| `oath-robe` | armor | treasure | `drawRobeIcon` | 1 | 7 | 3 | shared helper silhouette
low primitive detail | +| `reinforced-lamellar` | armor | treasure | `drawArmorIcon` | 1 | 12 | 3 | shared helper silhouette
low primitive detail | +| `cloth-armor` | armor | common | `drawRobeIcon` | 1 | 7 | 3 | shared helper silhouette
low primitive detail | +| `lamellar-armor` | armor | common | `drawArmorIcon` | 1 | 12 | 3 | shared helper silhouette
low primitive detail | +| `rebel-vest` | armor | common | `drawVestIcon` | 1 | 4 | 3 | low primitive detail | +| `bravery-token` | accessory | treasure | `drawTokenIcon` | 1 | 4 | 2 | low primitive detail | +| `mountain-guide-scroll` | accessory | treasure | `drawMapScrollIcon` | 1 | 13 | 5 | low primitive detail | +| `peach-charm` | accessory | treasure | `drawCharmIcon` | 1 | 4 | 2 | shared helper silhouette
low primitive detail | +| `war-manual` | accessory | treasure | `drawBookIcon` | 1 | 7 | 3 | low primitive detail | +| `wind-quiver` | accessory | treasure | `drawQuiverIcon` | 1 | 8 | 2 | low primitive detail | +| `grain-pouch` | accessory | common | `drawPouchIcon` | 1 | 7 | 2 | low primitive detail | +| `yellow-scarf-charm` | accessory | common | `drawCharmIcon` | 1 | 4 | 2 | shared helper silhouette
low primitive detail | ## Recommended Next Batch Definition -- Scope: replace or enrich the five spear/polearm weapon icons while keeping `item-${itemId}` texture keys stable. -- Success criteria: each item reads as a distinct weapon silhouette at 20px and 30px, with treasure weapons visibly richer than common weapons. +- Scope: improve armor silhouettes while keeping `item-${itemId}` texture keys stable. +- Item ids: `oath-robe`, `reinforced-lamellar`, `cloth-armor`, `lamellar-armor`, `rebel-vest` +- Success criteria: Each armor item should keep its slot identity while gaining a distinct outer silhouette and material cue at 20px and 30px. - Keep the existing 64px texture size unless a UI-wide equipment icon pass is planned. - Add before/after contact sheets and verify the sortie equipment list and equipment swap panel in a desktop browser. diff --git a/docs/equipment-icon-spear-polearm-pass.md b/docs/equipment-icon-spear-polearm-pass.md new file mode 100644 index 0000000..82d6773 --- /dev/null +++ b/docs/equipment-icon-spear-polearm-pass.md @@ -0,0 +1,29 @@ +# Spear and Polearm Equipment Icon Pass + +Generated after the spear/polearm icon rework in `src/game/scenes/BootScene.ts`. + +## Scope + +- `green-dragon-glaive` +- `serpent-spear` +- `sky-piercer-halberd` +- `iron-spear` +- `western-cavalry-spear` + +## Before and After + +| item id | previous helper | current helper | previous primitives | current primitives | audit concerns | +| --- | --- | --- | ---: | ---: | --- | +| `green-dragon-glaive` | `drawPolearmIcon` | `drawGreenDragonGlaiveIcon` | 11 | 23 | none | +| `serpent-spear` | `drawSpearIcon` | `drawSerpentSpearIcon` | 7 | 29 | none | +| `sky-piercer-halberd` | `drawPolearmIcon` | `drawSkyPiercerHalberdIcon` | 11 | 24 | none | +| `iron-spear` | `drawSpearIcon` | `drawIronSpearIcon` | 7 | 26 | none | +| `western-cavalry-spear` | `drawSpearIcon` | `drawWesternCavalrySpearIcon` | 7 | 27 | none | + +## Browser QA + +![Sortie prep equipment icon QA](./equipment-icon-spear-polearm-sortie-prep.png) + +- URL checked: `http://127.0.0.1:4197/heros_web/?debug&debugSortiePrep&renderer=canvas` +- Result: sortie prep opened on a desktop 1280x720 canvas and rendered the generated equipment textures in the roster, slot, and detail surfaces. +- Follow-up target from the updated audit: armor silhouettes. diff --git a/docs/equipment-icon-spear-polearm-sortie-prep.png b/docs/equipment-icon-spear-polearm-sortie-prep.png new file mode 100644 index 0000000000000000000000000000000000000000..93794af450d838b5156a260c50f98d2d71deb49c GIT binary patch literal 120270 zcmeFZWmH_vwl3TR4Z+R@I#K%xBK3HLF&wzMZ~Z24E=2$jbm=U;qFZ=s&>i96%C) z00)l%4~KvNkAR4XfP{>JjQsE+G7cI#3I;w70RcV^9v%@X4LK1p6$u_51v3Q|Egb_R z10gvJI}1HK4Lt+>oe~&CL_}mHWNc()YEcE{mP!W;fAHpHPqrw0lz{0^}Vj*BZ=D-0V z;!<*QOQ>mRI>wf-;HzuBbc$=mqvCqy;OsX-^TZ`Hi<*ZQXd0j0Hj0!`xhiR7oKta3 z%f~Ne;$JmJAQSL*jZWKj`~=z&APqI8Pi}V@Ie~PT+560VvRh&_!(!iW%d^mT9U?od_qGUws!`)Ih>j^vW zhl7}CFlL-cX)-!$uElpJ;Oa*(g7{xBq8ECepqxr<(ScCDX=itbj7bkx2;;Vgj3BB&4LorKI4bq%a@gz)5N1+6!Cy0pZypn40jo zDhgq_h%`?%fhx!dYS{D{Ow&xQQdo?ZkJ>0j)@h#{hlO&j1Jxh_fw%`6jP(SX%f2BY zVH>!(PcboZ?sVQO7MFTr&!3Tfz3Bdw&DOyU9qSa4gyNDwObaJ0avkDdm>?ygsVRjk zEhP@rl!7PzD3>GrAh4Ttm0b;c0~e7RS_zZ@N=d0{AVUg-V+xuf6sJXjKut3Hf@WF_ z59z&!Z^_g=VStD!j4MD44J4o%VqD;_t3ZhrO;YmMjhYH?6pwhWC^t_2Ir5Sb`5i+&1g<}}~O+2`}>C~lHiWYmXwcdtiMxMI9oyeYBX!#DR`!ai18(dBmdJB**5wQy!j^*ZP zQ5m)zIXGPMkvE7wOB_qrTZIT=)tTJ_a%$3QJI(3A1WR=0JmwddcJ1X% zBB2JW_sXhplu_*Bs)(w*ylRg?+TJu(=PeAUN>J&^e~|u2{ozU(3Q9Y3I{DLI+L8X& z-d)ZVeG90%6Vq5vSdzE-XM9k2lV9_DsaoQ6J(qAZDb0;ur)K;zPH2ZEzvKic5-LxA zU(!W>`KN8@_rw&PD)@kAp|TlSzhytZ1~uMGsQ!Y_Bq252^-V~kFc`{8i@d?FUYS~c zO0KZ~jd_W>`(KI{$<{Xde53v84Tuo-PjI>qXoL8AXHj)Un&)l-y&U&G(pXRaWh>_2 zc)MSj{l({B;M#mriy9N9v!|1+)e}sIG z7#bVDJn+kV?a;vb_e7bddL`~D(-!^dpgWc`$U4?<0oQlY4iuG-zW4GU<~AVq3S22# z?!DGnPr2`(DgAHH4~xn#+#`j&j{6w`|KK66dzb&@!T>s2{_xNb`JrDCrSj9Bp^@M2 z+a{;px(^G(7Wp9l1D+3aC;I2WzpKTl+jm4h+yc^}1NE;`{prux&=<3FllVqUE`RXm z`z-+XIq2nC+SDyz2&&J3B59q8@9?d6!xhrOYJYG*k8 zi5_nxYE&$x5mF z?_u;ur^iBACqo-NcP8Kb&2x|t&Wjf|cSQUvX{q0k|7M#0Z+pdlbqM)Qxl`5O2GR9u z-#bU+7v)T;f5-cXsKUp4-=xz#|K*0iF@>H2fBByAugI`i{a1R6?p^u+MX&ka#;Afm z{EDfcu(gH$9@<&26W-j16ymE=Dj|8x?hAyL3J&$a}6t^3aeMLwtImCBVze? zGydI#lJh!2`YdW;3OSvI!<(wsrELo-eQfR5eP-l`!mE1;*$YNfp~&nSvpu&?r}&dU zbc=zq&p;ECUklM+72J2?^ploIq0s^bH&M7D@*3mExLCDUn*Awqz#dT8KV#Fsg;mZcBUnIk$RD;zA*}R- zkrFoS1I(%>39dUi5&aV~iHDLs6d9Wk6rTl4f}lSLfak>21TN#Ej~9K)c!6_*vvHp1PLV}Pi4+3OS^wKFNC5=e?BVLqj8@`F zh#HKrTnMAE95!RJG*AsjO5y61y$z87Cd6GM?ylK1}zx~A{SumFkKK8Nt zA?;mjB9Eresp?7oJ+bmX#hw4U(8u5@ylARYsQFt4^1=IFA>{0@Hs9sf)qe`4lD&bV zfp*2Urm24BQGP`zn5&UJaMx!Oo=h6eZ$#EUK`Moct;TXWKlKXUcLKfe5-7)TZ@_N^ z!935g;(qG*iM|O>D$FpNFF6hZ{4Hj&2JP<7hEy`^AHP)R{#5;U|3$06VcwAjg~>(< z`K9`|d1P|A-1qeSE%&c*YyKo20{)AHe`2ni`!}S&NEyHhO1p=r0)?LhQ9stf6o>X^ zb_R99Z+pLo2wSQ|^S+U!)6BnjAcH$|1S5m=Jwtbbad(2`_m^gFQ0`3rWexQcBx(!^ z5+r&E3g42$0^F+y++6@tUg z>S4i}xEpcpEZn?qBPUdUpfKGPgHXAM40FJzkr|iP`nnARYz1g$8|k zp&EYuhUTf}6L(6~#`4Y91>V!rQt*(P^rIakEa3@}0XXa^BHfK~SM48z6U`NGHcYzG zGi(RbCI=4=zfciQ;c>5NPxV?ghw@6A9!`2N)ntuSoi?gr2quCoEFi=wSYtTG!Q52= zNk-90{0l`Fc{`O_Q+hyQjnWegT3H0MlMefZ5(9=gg#c7J7~WuNnlgqn?NA$t-M6-I{5?1B?Gy%`|;rP)R*9;PPJ(nsk zPe?)jm&#VLIh`z{h@H)D4^{}Ah@5LRWJ%J^2g@87llz~4IZPPC#19%U-bb&x4CjF# z1h;(dVX{~&jI2^vfus27M0+p$nzFZtui!uvAa;kQPykcB4k1BB_m~Lm9mmv5Nv;wUTzB6 zi%?2##8eh=(#dz_+1I_PESyF5usz5C4PS7~T3oh0QSx1DumvpK0^Wo=IrXq*+yeGf zm#<&$s$b_l7l~_i$tncz=6N#@s9`E8!Gf0>$*q;+EDox9_`J(&pV5Tb%)Nl1Oi(!o z6j;VK@vkL?nlqK`BYbuhD46MC69QIMaJu5#mCU{;t`L?e8NYnM;m?s?1e#>gu~48q zowhOXwW$p=8`pI`jA}p-lFZ4=u`aPHLwji5VFpLyZG{e;jx%`?rE!{W>>TUw=J^UP zcJ)S#=Z)+B3Thf;L846Sodq+uIySXq8TWW?lsIe?BF)U|s=aCi@ovvGj;pL!QM&#? za$}Fn;8cBC^&s_n$|YP}H--OetAY1;d=S&6RiTF2&{=`kKPJ*=7ouDC-^Py|;G#=< z%Q3Hru6H(dd9r(imBYDp}XI5_D#N9`_2YP+`y^8t6Yf* zG#>F-9@RPi*hmX6pZrozJ!dzkWV@7~>Fo0+4bvx1dn)a6_iF0-oK0%cjMz2zfJt31 zT(xGYZSAMkO;Vs|*F(Um{RuNX-7UZvyi`s8!@aX#*D}1jVac>=l{YO40GW_Nd^EXQ zz|R;~uas2~0H&nOiQnYUQ^-@3f^N+~_a!j?+b^IR1`rn$UhVfEO~^}3*oSYWP-rnR z*xyNsw^35OWDoIs+eV3iQ`LfvUMjLnL&Fv*xfksj*VaBEbs82bo+u6*1#mbmxRP3Q zRVi2a@bLYV=(&SQ6j(1_O&gJb8r{rsd6Z075=}L>Gyf~|=T7cL-SE#dcB8akDqO;x zL!0(fUsdvWu{>9n9yOq0>JmpWZXW69A%jDcOrL6fwP(&~{vHz&!R0x85h zl(&F*<3RkDh=juS4a(UbP7BdH*d8;2or3qU4QNlwz3}#&f(C8;O6tdW2GSVbqhR*Z zk>IuHP}xRAV6`)>BK2&M8>L28+wk^3FXhqNn~&3d!I`8!QC?j52D{NpiIwGXb~L_E zYfSyFhE;W@zantx7sMCBZ#b0Y=bLSl%&qqktt^Mcl(ckRu#|FMuS6=jL6!{0UnnmM=A~Sj(}u zf{&?mWOAlbRaWiEOu7z>(z~$aax=ZO%`IOlLc&ck%evrKyAW5~h7(DL8eoM#eO^&s zknGV5>(oQ}7cWJhPGOo| z{kgdrh-Zv*{qr#TI?8sos!Tc+>-jKl^rQV|}2Vo?_O^=fNa>LJ~2Zkdx3(ut;6O*Sof$A#L$#S0_I<2!tE=Q5@*G8iW=p~0l z^kQ=HT8jMXt$cki(vdBj$9et@{*W$)P9a;|;~IhU&$`A=^F6afI{qVRK3p+4u7({h zQ_p)nUO)=DwZkkJX(1+$(n&F`OlOnvI@CCAX_c z%8XDTbu~KpKxQ{|jtQ(gg$NV0jDjXATq0qc9F}$bc@gXEeq5*CqbrEjlW=bS11KZ4 z;{O#F3K_QI$E8pzF!VVeMJMPnSiGhs*Y_HI#Vom?{dQn4-7{1XxWeVRwU{NhLX8vx z5kxdSyf*!Kw{9Zi8N24aoa4Lp{f^Hugu8O=qvU-HVAB#iO27oFdFn?KG2*Iq!abVA zfCs86y##7HX)@9`485418Lj~@Dt?)<^EhHcHb zpzhwq_+)oRWj6_PHyJVrB_M46s zczS`NWAjW#l{RU^ymIACI|~wUl(coJ6m}L8RDQ6b!u$!R-NrUWEjFYxfGtTqkTc(O3pm=+aPYc9tK;Kjp52NTey^AMB$vhEK~x@54R6JZ*$^2* z`bqnX6Jd0Yj$`4zrJy`6rMYjn0E~B)mCgHU<9d&0I9}|FS)^r~?^-BLpr?K|TBbr} z^IFRNV9&ZtJbxnzn&73XC^77pwx5Y?$OIkPMV?Ah+p#3d%|AqYIquwCKg8AEA@|Af z&3@%AV3Ozgh4sg;vBfQ87x1&;rK1a_IOi8y?b_Ph`&OIr{5(gjfK^VefDQQwK}#^x zEntQ)j}oF|cg;E83f+VQa>qM79qZe5>sH1Ne~+zl3qXZC5&M3+-ePaCI5sU?f%{I0 zg;-ufoVM#seM(chsmq~A$%wyqYlG=6>$Hw31d?ahp6V77@(zFaJ#JN%o;JzIGa>Zp zy(O8hhx2B65fSUK3msgkbcxzSR@=|7slLjLdsZ!e(>%co<8o&I=<;67$SSDUrgX@V zH9dxxk#!2hXFx{C_s+D`t2~;HvVN*>vG>hQak&>X(#{?^O-FU7##{&vIM(Pf@~S*z z>g8<6JV&$dcfJ(VMP#FAk}19gR9;M|s|{(;ct=zaEKmiQCQ-x0MGxF41`6ureW}em z-4iks-Bx(<*H&YAZ4+IqUcIQ!YE9-q-KzF6Z`pcsCq)s+dx}M2A1mJx+ zB2N7__GQr~=w2#s%KGMDyq>V>$}rQ`HlBP5&mcNS^`KF}TmT)jQKDCzFaH-f_r%aD zxW2FJPKL(z?F)_O=2w*wasBD6Fb0Nfn&(O}8lMceQX;?bI|<9J3#Gx5$cjF~2CDBE zMIjkOFxZW|xxup};=Qmj!UEA0&&Ar^JqzAJhH}GKvmmtLR}^}7uXcM2FWSNo78_L+ z)mQsMm(-{^EKsSfIC=@G_^mLop%B^moJn`CKkXS8IaK|!LP0}GZNiU5*@-tiz`iEGp zoA5);M6YHM=Sv8&LllHch;f^gD;*#*xhYeAXmnCQV!k=ge+$r-l`f7=ViKrrEIuFw z(geS>ov8V0SqO1$t3JxJQ7U!buPwi-*di0~ijGKC7G4<8RbRBm@s2)9>}#wRd86Qu z7N9Kqy$%SORzQoEHm34iqx5M~F>8mgq96b;H&x6yV47^e0$It0Lb~&%E36XUV z&7-|suQO_1eFJH*9eQ5;#d@$`**@4Lu+8fWMIGW?!MhdNSkUG+5%Eytr<DY zY8bJ=yu&!vT8I5hW5rZwtvzpp7CNB1Mz;hGcO-{M2lrl-=n((~3;jS3-6*oUve&6f z@2yBd?QF>u(i*s>8ANEnf!698@<{*=CWe)E35$Re17SSuJD0^zIj2_}L+OCv0grXQ0~Ls*R>Ve?*WeqI^V( zNq++6gr;e@g4C=5zO`NThZ#NihCKPDPp-5bBuC;V6v;b5F;&MNK3Bq0h#ISSg zq8WwApl1Eu8qapz%|v${Mfowtxn`qiS7)L~l}{%D?OpY44Efa&1Bs=eIs2Kbx#`3? zi!_Gpy!>kQWNPR2^%lvd*g+%lZZe8A5@DZf(tb(WkP$CQHM0T;J7uAMRa-m+qAh4(r)gyF%!MvRWlnts1~5PbcN{pXu)8 za>%fg#x}0`Ew~kto9w4bN_=DEz9332vc?(Jcyggn)U%FmVZr+HZJKNlNxeU_3@&d~ zsmGZ!YcD>sU~}X&0R!XC78tyEp-Q68GZ;D>j0o_GJI5VT!`sPc)=7RJ5>n;=Z_Fl% zNo_CByPKtQbC2J7I~=LIKl6kf7dAT`sTDFdG1}>0k6VyXhx~_(<5Av)J-_RK&$1YN z|7nvbdT;c{jot2>)3~raO%J6Hig7ax-?byM&~^E-&}o#st%jGi%edmA02I;kgBZ2` zvB3@NO>v;7?rpmUZ*_7G9#cEirjbqbPpR!QEFF+vxP39SBU~T)GBE{v*`7}MGykCM zpL6xBSyNzS*sQMLlzWi1r40MkCkMo{G@swFpF22aT~u7hOW?`kWKI+8QMme~?fa#G zg)Jic(-&&i*{|4W1M-4(J!zX4uWQc0E^C5L%}3?kB$I*%#)Z|xvk(aRqwIQd%f~3x ziB%$>+ba-Bs!sb*bSVeatOvYJm|ZZ2%&i?!{8(la>7r++AG8wcb zhE)&*N^1~O6Bn)}RPd|^#a!^$!Ue49*u@=WJD+PFtE-Psj0O`HT3GFDrGiyRzvan2 zk8#J0*gz-UPvto0&R|vO2way6C5vZx6j2)Ap#_WDTSrwEoO>RCl_eEnJfrp zNwN@?HS|!0+}>KEBFNU#0n*5%2#ocl^e`Pk0lA^ue6NV=%VsW97y=ZJHy@0p8WB*F z2|tN8bEPt8J3H0XJ8-ehwZ>BE9S{x@aE49fXw4B=_XnIFOO#{{P3$Ku1`X&q)Q$E& znbpY(JO;{q&7~DzokB>wY;Ijk@D-QRKC7|HHE6I3WT~m~M0$ud-VK|IV+>Hqhw<~3 zSld8i##C06SJN`VDO2R#)X}UIcWfUx|M^B zjV&Aqg!zvpqNN>dGa>cblClzT3Ah^koc!5@PSN9)Xfwn`W*J8B<+iOD^<+tZE!Z*0>4TTPIE-GqriNo|?XF(tq9 zanS0t&&mZ=WR|sU>t326SR`Y+ zd+476E(-AUOb=sbnNl^FvHFhZWsIDanO!BuQDU1OaD4JbIxYQNdUXBRsayhOVkmQr znk9uNAvWn{Hv#IP!L=^Z)da(Z%8Hti%S7CqG{2Wl?!*Ys!k9c^e;FF0r<~h(4QXzj zx}N#Y&iX;Km94W<$t{4nB(No4T&K!YVB@RD-iZ?$BJ>arO$qsu z2?YDDI?Wm_f1}n(bV+Ma>24W6l-Pl3fU$GSEooh5Pn>TVdr$Cc3|#!~=b-+Vygl!C#}JaDRG zv>%`-sbL$Hdm=Z>e`TM7=>HuNh8pBX5tsko-ci?sd1LeQ6~Aj(OXg+Jl&T`LW1k-L zK~e}!DQk|A?%-An8Uet_|5;<=T%nGR=JazQD!m(B-&CDh2YXlD`j5^EEo;)jG_SYH zXP%@q9S@oMd2pwaSL$ll`U6qIl?Wf#jBamvC^MLy9J1h!G4-(7+Z{8(=jNn zl{A_G(;J0-bY%KGmz zm9tnW*4jnw4zb^8Wj5$pi5yevdH0Ou62boxp_Z;s1wgK|ToYTSt)XTeoTJBO59rW) z)@?)`B@Q~&pCu7(vC;!&(P=-NlZB<6Bpm@iZ~XM5RI&QS)y&#w)>_N3Egt1kh>o=4 z{N%*wV84Y6Dx#yzzQT-Nt}iztca^V<$9lX3=ayDULW6<%dO>ZQB{8Xng<;R^R(+1Y zOAJgq0)Kij<5G>v&a3RiyfuO_USLCHy%pG)!c32IB$32kY`(IQ&at>*!IGtVFuQ~` zWh&VcrK0B>9&2#M&x z18IbEv!^uVNsS)u5@Jh|al$wUW@}HRTQEmtR1f&a+2q%9EUj~`zb>Eug5+W=k+d_my8%v)PWPb4P-39U#YAE z-`3|-Zwwb0JQ5<1Mr)nG*gtP({JZN7z8?bz{WVrmVm*k<^+D+$u9MXE=a#Ie$bUeW z9iLTC49OAK$1cA&Kf49AsO=~tE5UV-Yv=Z^$xaq#?;$IBJSikNrHF_@hu`H}^IKga zIu`bj915l;o8QOI_cfH^gaHEhBeH$bHhlfxvSv?fe4G{AKiaH!+%*V9bg6OVROpKEl_8!=< zCbgTE2rr+UTVXNwshf)5sKc?OR9jcDPXkxPe@6U!KubO-=i`Nsqc-1lj9ucznAU!k zt2sR%F&ozc6Dv=(=Glb$L=|A?-Hfr7{wMZ!VtsMM@N<$Po6@>&tIX*+;Ajx?H2wA* zizZBoMLeP5GF72Dby?My$jMC}P?r#wLhi-ry-B1Tsn$C{6j*JeuU5}#q1N6L{ z*Y%@AgMzf!J;sqz=nRD2>aCBszj|_g`yzShU+pxZms&*fC|y^wBdA@?&zu_SXiaskANb^F~3rLF5QUny$g>)i{OZRRJIFr zX(zxDVmP|e=W5G$N6pb48D%=sIAFcMbtw-iw1;u~rVJvJHdoSVcpGF(hjRUOUDTa*!2mvUTm>@Mi-cfT5+w@y5xt9vc9nPo7 zK1VLJhOpr8?2T$D%l6_uZJT&k?z@n+AkRAbY*#1Ym5qo`bRkCihr)HRL%p4*Os;L` z_T}TVhc2M0ZsGDiQ%J&T-vZ3EmHw8!o$Fczi#Pm4Um}r0Hm-;ZkMj%ImV9f!;N9$LoBrhDQ@EJ0Md+LYb6D zi0FHLgX8MzGNSWV{Sh@x=TfIv{eklAhAa<@)G+76Me5|L@tCord9HxRktJ-c)R#J| z@)BZ3yOomF@j#_C5M7rXD#Uuwx*;flV1Z+>7mWe~Un0+TNcYfnPv-Li!>aQXqmC`c z#97kd4pq!61k=<=E8W#Y*7ndY=QYIGVW4PG1Gto8j2eqqE7*}H2Q$6Mf70$Wwu* zbV}la2jWCT1F$rd_z%#I^uu5Ao0W@Hed$%Li07#9dSdi_E}*rWT@}{9-T?J#%c`Id z1YQ1H+DKLl3NnUL*~0MKd4r%&sHtx(znm^v{)k%=TiUn<6e6^QSV7dpI+8|lNVM9gq~2qxZlcxlY;J=|F>Ex(NL>QXlD zNRI4Wg^mVikDX(E8J;l@JIY0u&EKU{Ad6NVR~(Ww`Hxa;BB+TWrC0Y*oHMu2Zls#d z{ts0X)_iaL9b)qjKgs)zSSPFL-te%W1pN=P>JL}_+9TDtw@O+~+aD=EAI|Y{sK>T- zSW#OZbfZV6h$?*DX^?YOzAdZFpOP`^{s3Mn)hB2Y6KgNZGkVQ;Imgp}3#dbHbv*US zg+8rS7JJh_5q-U}pJEi2_kmSAB~LrIbB}6IS+Ykv1$x|bLi$Oep>~;QF1${ZSx3PZ zKJ@u*$Oq+CVGq{)X?2EYypco3enGxFtZ=YHpbaB3p6Nzxfw`h~7gCWzi!OJwu+y(I zw}4KL?;CT_{nW%P2%A?=79*rQ_sB|?(>|b&DL~a<0*oOWuAaB-@l~*I1GJ5)T1V!C zR$+^n9#EWY+yJL>cvpJwx3#=StHbJtbA4aBYu%fum?15CU%D4D`JXQA?C_V7HzarV zjdcIT!P#96oh+1?hI=dTYD!b@8tvSXAa-AKFP?YD(Y^T2eWQB{@5S@~Cy8$}oQh+& z$)8v%RTw;AY|f2#Qf0R<$e?V(K^yKC%}Rwnz=K^12>6bj5v`PSJ>)-VZpBOO5<)b3At^YS@?xU2Or4rgd*FVZO4y5Qnq>bKz-7Jb=z~1aQ(^ zNz=zK>|D`)x7keMUJ=mYA3iJ!+yK%@bYv3n1L4U4!pQ#NWv;YGcH}dt-?hmN0?PTk z+<)}gtv03c^`&nW3oiS7b%K+A(h|@I0j0N5o(DHe<>ViSG`~EOTbET^!Mf^R%vRTQ zmue}$ESN}Mcp+Uryz8kRDd9lOL2Hi`!X~ zl&^1L!FR0T9IAtNm3c)Otp=;HuxdUie*!;7e~oOwWX{M`aFK0nNniM-r66p1s~ZnN zB_HXS-(fWuIHt;3t~7+E70y$gh~7IF;hb7iwcyf0v!uu9cEU#;Ni$90=9J=rbXwGV zfo;BXQHlyqT*$i=a_Lt77_m#F*m$7p!Tt5S!e*3hVq!(Ou@I@FZSOpeN$jdyQeN$!E{N%5K z{EAV0!XmNSMbu@1=ESdpI=}onk{_zx{;Rz$VCBJZjVlTl7BN`&~m2uyY zK#ad9g1WDNmw!zPLNB0`0{jz5f%dS6G>zC>={suqLReCm4nkDbqU)^fhKy8&yLrayHD= zXMOy$Fq7`)tX}$JmRpSGjJp;qX#|Y4VGN(Fi;epAC`bZ)x4r`#begU8%cPAOo>NCL z$`02@fGkZ_Xp%hFR!yXA03`MR6o!j1Na8^STXRs@3a;uC^Ag<0CrMmdd2v9BQ>RDL zwFZY;trRu$O!OV^*l@lGiags$!A!GS@IF0o@RhW0&;~vsEpii)T%7-AugYC-(%ev3 z1soo40jCv69q565m26Kf0sgWR>2tBIHt(P7Ib<1g%tKz)ce`hXt>l?kotZVgAUJl% z3-W9CBYo08i7J*6 z)zv37tAwd3;5^;Z)PyRK7uGGV$8g_+)4iy*iZ5>zS!>~tGM>x%F)rIkHo;gve;5Bt z%N=7cDZ_(|`efb79?M)-D}w^q;&oWR*z*;m5gfJu^8CI0@1HvOeNOC;pFjBH8vH*5 zNU@`WLNrp+r06*j=x3z3Q-#I#J=xqFjJtI8VeEWv(75}2VdiTQF4*1D!=^cWyI_yE zf^3HPaZV7Q!q+3*phQ9s)W^$YdksAVRDK54r#AW^5#oD(|7N2<5v zurbNcqhS_r^tA^YMOc{mu8nIk+NJsmQu)1js=CM?Rm_t_m<8dRHEUVJKb;NJ6P+2J zJt_U(=6}i<$mf4+GW;Yon&RF}07Z+chNT>4U7N!@3*PJ5he5t-} zb+o*gE%MHqb2R3Cv}9X|A~9IF9i7*H>bSrvunZ8m`jK1ny81%=7V!KQaHx3;_z|g4 zmRAt&?b*$Q+o5t0^bxu-VE{dr`8{>%l$8%BI!sF*d%l-I61f zZ08!*_j!ql4YdT*Hg%y^kw=Kaf<$5^_8QMmQMjs_LsO$?dnoz3F?=1|3S7|n@pawBc4n8gLBy$gyhwylb2?6gcgq%Y3rPjFDuBR#%(V4 zw2n?)m-4lRtsq@K)nB4F4#!-_S0yoIwUVE#xFMAYfE9ntNentdhpuK_ERfdt-J@r=BCdil^sJQ zwFVay4%QIdjmu(}$etN+&_hZoz22OIO{u=I%7v|N@Q6rvK`a?o9 znzR%)@bilsLSFFHe=7z2cSpy6(oW;)R~xZezQxSH3OUE+eF{gY1=q4(rs5CBQ0|8M3={LSUkCNT%*bslePe*@-t3=mP+naMMn-kEm&4-jsrxw&`%&pja9VpcX%dvCrz*0Ln5Nt&g>JOC-Y%Wwr zLF$!j*k_oiX%R<;ED|dOvOYcTC~qf`Cs=m(wyMz_E{=$FB)Bhu{D*0H4h19)=iUQ zo1A3im$}YM=uFtWSmf=(qK?YZn&%B3Kgg_=&tU64)Ft>N^ZL2&&b3P|`V4C~ooXM}%>xb&BE7KHH%=P8zs8a$h!U`epAf9m?99(Er z3SZX>L%(#k1b%=&*=3m=cCV#Mltn4MDXTFEooxoq67PFQr^2#0)O9|xJ;x$Sst(-n zJsxXU4Y{1Jb6AdN%QvwR+I#i7sw6h=+4KRc7uN#dwN%8(b8#(KiN@&*!x5KhgJctg zwo%1KkHSRGt1Nj7D=>-vqJUr>NSu1jZ&74(L{)6_^UB;r;JyIf=L1z^NX^K82@7d` zVlq-zLHrbVAGO&QObqn+pIGo@wP=?RnPnsWjJ4Nu^P(W+JVmMq^pa8_Y=`cX^Lo4$&uTsVb}PDO=HGO!(D!vkNKvY*qG}Vw!CiVK@^!OliSjzyD9jrg()DY)*F&XwqeFAsZDE$G?0vEGa`^7l z4%&Fsf}Vu`>f-_>C2R42d>9cX_sxwO==@hbVzO!$$4aQOlf+0tFa+UX17jGe~Mk8wXs>s z;RK^DOG6XbwzAqqZ5WG*mkOt$rmi^!lvS2g zdy^XJsteu)*2$y^NnFXp{ixclj!TKm+1aW3C@Tpo^w-O1vbav>GfX_T^Na8ell^&v z(m))HkjF)ZJ%UbI&(a8nc}xalw_ro8>M_=l8pKRelfs5i)T}E+rzCL(^SumIpFQ-E z8@y28UL0Ictk2B}b}&D2diy)W&~xp2X7F4VC|px$DL=}v4h9#VZNcsJ`dUsbu5}L4 z^Wf-3wzW$uIyaupDh9$g$Co4`HY8sK)W-63M#hxY*E{)+JHo)7AitNj%gC9@xFYaF zfS_`T_{wcIBt#3WIwWB^uluUPmAj^ei%DB%7tBB)Q-py^1P;t;eD;%*vGt_W1k`)f zD90xo`r|V!hjn@@`8>`8Ue8(dfml4JlGrjOW{NT(T@p#8o|TSun(%68J&r29RMVVN zBP*eXAXzHPG=}-jI{w()Y>q}2faOtT4F5|b*Qh8^SbeM-q4)yNXeV`K>~L>4Gpjiu zw!MQRh3ql2LHNI3nEWQ@kHre~+Fu#hzn6Mtx>_IA*xl{H87u5GzZd%XGX}{q{A*0D z%iqC1w}7M~^2`4IXf&&#NYBR}RPdfD!EU)8CyZYZFCaLwalO!AUsIu1fQIC&edWbP zu?pg^rGogs%OB_>PxHU+p?!s(^=N$xf#4o_{9B3EXKRx+x$l$!wc_0U# zi)epy9DPmSkWJN`x#b)@$@|4*11bZdK@#p1W1|p(ArdqaJoK`Q$*22mMmHEGQAcm1 zj^0a*mW1^0@h$iI-S@qo=Q-=Fb9^uernw<-h1< zweTF)vJpJmib=!G4NG}=6D>R|TL~eWiBmD~!wAT3eW2!S@%`K$V|dw|>T8@eUr}X1 zs13MRJA)@tC38aCD49u$F2=iWGp2?^j_?(#5)*^3-Z@n*s-HMzBuTtOR~ar2-GYA5JTWMAWH`5X6W6=C zmUO$qRI=HDnwI(L`RT=68LbPNTE&|GA`JfZ)@lj<-&*AVImNTQ{e6wSLiId4_;r&eKhCH6q>FFP9q(L!&+Gp>g#T+^AMY|96sv6{C1$=iwJFVya9x?^>hFpN z06M#J1bK~AVk{cCAFdl4($EyotFtg?M)eMV(KHJ5MB1>N=y56%ct9(PN0#kf^0S^< z#;S6kKfmF`ykjsfUCC`5B4lPza@m|x zGU}ktmE8y3$BcGUteV5pPp`2pzHYI`9TxBZ0@pQ=6ix@Y;b$*%R5`yltQ+%K*PwYH z)qfXt6%#Eec|C^HW1`G-((L$Qd%|@$mcC^P+oJd#+AxCbaE%a46rY@Yq!e^Z`i%?4 z)!*4WC&UO}&5NV;ial(^C#AQwSQ!tt4K*n*pt+hkIp|^!)Cqv>-&40HmxDur4Zm)9 zkC8urR-7rf-Ocnn;TTo%CcMRtI-CZLdd-QY)>47JNSA8~_+sRokeNJ@(;Lboz-9Ao zgby#Z`T<5Ic4ZEZp3}j}KC;@u3#`V`j!c8{Wqu6>GTK|oUG;OLZc1}F+K8MUA}_mE zyhV|RN0<_ox0Xnisuw5Sh@H=e-v=h1YwsxeA&qY2DU0FUs+RpPD#weN8qZ3CpUG89 z(ph`LZbW;nc@u8h_-B~~2F!l8_+HGOM z3k_~i)u>I}ndrQ)^q`)x7t9sgR-NzQhq$812wUo$O@f8ZZuIqy1muoYo{);9;pjO0 zTZTg=u)QeIr&q3fDBx%F>L4Kr^4{Tm>nBdM=%P`@VZSgr8di$#SA8n-85DqVJzgOe5e$4_9drVJtvnViQ_o8xDsR!ECcAIG(78%Q`hCOp@!cpe zegP+wAB7sV5bE;!Iy9WvJ=P_QX|TV}u1mPigj^I*9Lz~rzb#b7Jr(RZWg%*nQMy-V zd)78Np``YW6hjSIR}=r5>UIcjz@1G@>+dD{@dy$1x7Bo%wb7EoF`Ww{dm?V~l|vrL z-f5ZHS<=kFSs%gGi%;$L0z^Pva`G`nuMsQ!w*o!y@swGr;8d;5PT7MK$An;`FFjbL zuP_Nt4)cEaJA=@sM`JkTC3^?HZ!v>4<>ttfMXhE|Vs@y$)o^}g1)`{dplgtK9z3mZ?Vw;wrq}E51)q+anNC9vPK?dE_zM#cugYgS%Ny=6LJMC> zS5gDpAB_d_>e>vac+AtW0IRLZCzt6Aq!8M;)}h&ZPrYH;JJpZ`gkX4&dzRV9mz%0@ zdo0H=h37h<=|>M9FSIT2&S?}<31_T^1vIoGdlnklP3HA({zO+owSb+W3*vsg^j%P% zT)htD1rAttj(SNtr**SlytrZaf6Vj$xkdT+{R|E8N)+)|LFgXqzY50mfWpcnQc}JD z`3=Iq3Mrk&e3}=_l-Qlx|MBMs3P-2-jtr;MIrV@3^9s?(BD&+7^gqf~+xVKn%%j)m zHvPA}zT^W$?HG( z-^U$)T^4?DnQOzaeX)lUAbs%KY#n6h6tSU8EZ!)qgM6M8~QQ~ z42#)bl8pAo*Rq-4y!54BH8(y7TSv>HPS`Su<&~wM@?JrF0 zMoqD<7tGyg@UyxwA88cAy0_nlwC5^raak#T_zwz~WwQ@`1udG>1pO6Q`%{?#zi?E7 z>&iMZ@M@fBTxizp4`63R+_H^oZ*4)ykJsG7KNp0;YiL{e!#)c2H2Jfwb^&0E$@_23 z84)dG^KSX5oGk4{sm1^sBZVtJ=La)obi^ZGdYZp}Mhb2~uxoghCRS%;J>&$cz#5SC zcDfw`Hbv{IpS%LSS6EJ-6l6UslK|7^Ltf2j&)}WU)VttY*-hDL*Y{6;-{za6?fdva zysTkDI;DAH*gH<7z@APked^q`Z({tbkLM z5SsmslTxgB?+~9Q=ANG)h$S~qPP(Aj@XHYKl&HwIU6yevLIjoXn>4DfFfn}`S@rvj zz6dt0rHDsLFb1=?kr;+{X5y4BC+{^Ay)uEV%9#7Zz3`TxlAe zL`60k>0$?61q3Mq9lkaJB=6{+>VWCDJex?T&BMJulxtFW>v>1VxGxfZXgma}d4S4D zaZhc+XS)euuPj|K(59_)=2U-G4acL0>t|X*n-QUW#Zf3RL|ohS=O)z+HeizK2(4v! zDNI1jHFH_Z#G%!Qku}@;Gzd|do4zz_|E9R6FiLxdE!u^ewvoyr#%BvvKJ19B%sb6Y z&=Ip?o|h93zLkJBP9$Z9=+G&uO{F?b4O^(!C${PVwH(h?xB=GFz={MNx#ztpVbf97 zVO-LKVd}v`ne@dyk9%sNx2xjvE5Mvk%x)n}F9~jRJPeDbTkj{Jz&#_&jC9Wi0wh`a zz=VKODO}<>Sc_lEbVEs7FY4&TZT&-7b?{x&XKczvjE6-UCMwl>#$ZDo9*qKq>(J+Z z0vDMkM|2Qqm5AejvRn@odeIGUEs7~94b|Q%i%_Jp-D)W67*5?la*RiYchKt8__3sB zX|IR~W5VwL+B#SujV*C{<~~ciCrJUl)`SoM=zmlw2Ro`wo9OwJU~Xhqu=<(I+r#ed z_|T?26v2D}urqQBGy~K*05_cXN=vJJ!3z3nIT|cj-$_#aAr~kC+yBF$Zjm<^Oa-&g zhe005!{Z`N`?_r2$8M4*ybdCuqX8Xdu_y>xzpSsxyAjS~dDj=ekgPCqd| zcksw*er);t#ZY^RZ$HLk%v23D&)k*%i}A`qeFla91%Pxm+c$wAv;2lWyK;6iDT^?+p*YXQ_$l6c(m8_lAQx=MF*JPMz&EkAD)>n zZhZoe2ujm@8cMoVZL$kDSpT^nZ5j>h((M3^GSEyF9a-+r1NiI5%(J>D@YRzOwa)s~ z^LfmG6$7d9>_$3CI+Zuj(mdS0R&UhXEp(cjTW-QO2>Q$g@Y2p|_zkoQuCGmmxXlB^ zlZQD%t_?g5M9Ob@!+d6eR4DF8MjNa(f5P7_U4lono4LsG;mv~_R{9hhc<9v zMC!bWF&GvRSG;IkI!Xi9QVHrxUy+(Cw1YEUq3Yt5q|cpveEI@0{`f1|96oHLCGPtO zU!0LRt>=o{HqFe$$Gc@n zJm@vYNi%0!(P!&|;NA&*pJs6=bfYJB@=LOo2~{_#AT^w<_8Wle?RF9G|h z_TEWWQZsFibbtgh!>fH!q|l-!9n&YC<#AlX?R3p!J*=7;P8^I5T38j`emfN=Mc9ys zhodsis-54VmLM<`&an=yYw;u`Q6{boO$Ffb;E0n9;i6Z(pjdh+uVIpNu zn63Bi1?3XZl&{(qSt=5j@&<*NTlX|`Hd;V^^f!@e1itAQaeCVcL z^NuZ-9t4A2a|?4F8Q!L{%BtP=OAkw_4lisw@V=Yn4N{X%D!rr3jpO@OP>Re%ro9`e?7@?!U$ zf{?rdJvi0_k$*if!CwaeK3FDW<;UEAvVC{M&zN@}|T|rjD)_M9U0zP%c zIN*Gi4GryzOHdFVRw(b8At@fb*7q5Q$-@S6EGed9m7h?}h z0V?D3IIg%X2jNgOp{8#Ae<`7IhxQ-QGW|M}9*!7y*vMrw-2|KgG zxN&NZ>HR?=k_HdxUpk(&{LljMeoex+1ml>UT{gut52;h1ZlTHq0HAk*pafUyYduAk zQ~>S!?v-QiWVOD27t&=t=Qkx>INpTabjn2R?;=e>Ub+l^9bB-MLsh}to`DekYhYcF zLzK%C1|MhuoMO4}C*W#ub-)oJMttYcqRtszd09+sr!*(nip`+Q>%!u4_%%o_ocuHsJXOg^&~3!lfmc z_)>Y^HfiNMZO*dZ&*hg@=E{|4J*h84%4!L&^O;bU&j}H3csg|!<1Sk(!KL)bCKMfW z5+6VG2WLp*{zk2}V?k)>Xo9r5us7ASU;_tOHdFrE#8!A1E!I+zVtKKuMcK5jvU<#9 zL1bqay@yxA(BF`I(?oGPFs9+l79|I2)jm{Is;`$h%@V>5Ukw()THrI*rANdL<*sVc z+a%tX$N4MvFS{l;*@MRPdkyNQzw;E&ojo$-(E=Jeh-YT%Cpw$0?Vxh|%Ondd1kD?y=4T&iT%#pneQ`n%RM z^$Azi;THwEYuVdsa^_uMw$2{2uqbicOoMbG*>TwY`&5n1a5?8(=@z;$#*x|Aw%G=^>u;!)zB z-FGn5Oq>We^*|$eBcGR)@E;N*K5<*3&hFZ(s6$gz<$UH{_=|HFz@5CJq6#DaxQt{a9+II;i(i`hm)GnKKt22k=re_^8Zi!Iw+!h2YkzUc=_qnezzWyXm|th%ryy=*Wvd?=JB9Y{ZyC_~N}fr~+pJQT0Mjl`GW+Py z64wXo73d{^HmdZPL{*cgnWAyJWgI6%yNW55R9s1SL<*$!te1xOCaOjTks`*PI->uC?%Zrieih6>unnJgbWYwD1OI*{}fv%(C z*gEJTye+SOymny~UK#q?fI%K3xJxUqPH(VbU*Mh;oJsIEoRIxxAHkBbG#yyp9n+12 z{Ic$tf8Oxi6^cWD-AajI?0j_bqeNgRu+hxF6sPu4sGWQBfx<;gdY7$2ECzLZ)AI+v!Sn|{zhCI zUY^D0T@gk{+3jdw(IEHP!cD)7u<32xZ9bh&E%K9f_#KzBPp*2qXC7>28p&KgZErD zI30@;k4<%LXL+gWZm=sx$o6-?6QwuMo|}C5kc4rQfX|0DJlHLDz$^pD*cDa6TT;Ti z9*+86S_`pe<7^D7tH1C?HVf#lzl(s)N3|OU_4C<>tMR{{fZtr@VZ}kPx8}&Y4UeA~ z%bgw@<{^P6;dxkAp(bHaAK;2Wzx++I6MS*;Kz@L}XAR#*#c(pnTyP3rvR$E9 z=W}K}M#_EwC9bVXkPdCUOQGDV)`z7jH4$8ZGxn=8dcDS}1}^P374u8PMX^$a+5g;~ zFSYRD(DBc9TqLHaJD!uXi5g()p-hnWp8V>8!%4WLdLK0d#XZ3Ntx|b0+^mh{OuXty z+xW1hd))1Ul+6*DgC$!Yeo3Jb!R+kUkS(I=(yhwUch2I+=2LAa{ie)&4be>-O;pmJ zKE{lS-%(9}8#^!mo`aX;WZ;j|8DOqUGC=`b(3)(oVBO}y5-5`EGS@C4^RfN^2JE=8`H=8uZ^Dv1;iPDcWd+j2a9&>T|0CcXV zUH-oJ{Z@OBo4KjH;myalZ@z*Of~W+fKiCqj%y-Q9yJy{v!wnZg&;c0xKM0Rd(m70@Aj#7KD``k!d(o1qlDoifg&RNk?d9im9j)OET@JLuZNEs=` zy4tz8%aMm_>Ib&n7SBF>Vp`o`bgDfDoA1~N++O#UobEE#VGzD+8K+(Y2}3Cg2y+C2IevrHvgR-g;H)l z$UKgi2=L|@XsoEJYBM%u2-83E_fj{evgh>Pn3keMhC~W^`lm_be&v=1!phpSGZ;6;7L^8il}r_Xz!M2hbP>o6;|x#GS7| zN$0{LUY57(Kl9I}L=&KElmEE{0i9E$f}P+#kY7AYk45dG^e=Ksxu3|~(knBUrPXQ1 zI)|c#5z<4LJ)CxNlCxN41K5|Yz>q;A4pn&>3;FO{ut%WYUMIo3pK!Bqjw^bM2-c$= zoAdZ3(vpFxWO-y3%K-q$EOsaK=3ZRSeqBQz?p^c&em*tKpF5{lMS&nX#!wVmkGI!8 zKI4ImAN#r_!Ef!M8(Uizrpdiw>x}nE%QHkm;@WjyUS01gG*@u;k?PTTW*=_3?}mu# zW!KyaB-gaTgp>G?bXy%L(ZvgJiII*PiAzK(aJBHzOk^}>wSn7B^=R4$cGh;hU8(Wr zp6@F3eJ+hhyTTi+ zk{%Y!eCJDa*-eZ+;9e%*%1qMjNvfJ3_e2x7vYwI~AQG%6+(nb7gAZLT+Z#3Lfx9Cm zx_imf1oXD0N(aZlv05kLn{n;5wz=nKiwQxF2;9fm^KSPsMRXMnchP-GN{SnH|8xL8 z-8l_UZ1te&eZ2S_6)|zs{`PJdpN=2|!=3k&v^Z~de&wf9(7Y&e>g}Zdk0cZEO}0;OK<>O7Tx~+xcR;KsE9PMjbZ))``h>2vZD z+>!o_!X~3v$KR}Ts>uP!zHv;wqulC&1r@s|^Q9uBRT~E7rbV$=Mht?{47+bous$qr zmqa^yo8>H^7>yF|Z%Vi_s^|>`=p9%YQ3?n$tVrh7WT~?eZOadU-fd}J9!RAU>0B*Y z>Kd1T_2d<%2q|qYV)h2#7R2Ov9I<{T*iRX~BO-RIByr-ZwG{ys;YBe*m*N4(hDS6y zmP-C zhCvhQec$b^M#v_%qQof;RONd=V4abx51KvW5OGm)jSDs5UJidT_cU{p=(>eP!AHxk zOLOy%%@DY|czOzx0onmR5Z3oKJ?&+yo(Od98N}FBTdWAF41MNs4TNNaChH!}udk=nZ<)Q1mjzj$%t`_QN=olg=9&w4f=EFcNP>oF` zQD{8Dk$?!K9L?*C@{Q;xEB(34xw(f4-+-S`&Fv- zO+8wg0|UiQKAWJW=lbwdoRhU zHsd=tFOwB_I0AHxG}33J^k{+9O{?ZK%|L7dn$4_TgL7_@db_vnt^yDHsghLhc0gHE z!K@9B%%(>rv>ue0Zl-P?2A&`TQk%%BU5>bT7qJ6!)6(t+hJTI9J+`Azj=^o0Dw-+a z_eH6Bm~%F@1*@=27P1^U(21?B+v({tfW|*;o9MX`4(_grRx($$j+C6Y0t%C zc<*``tQ#tz5`eH3s)lPfs|!1TZjwYQSy6b=02^b?exn?1v_S6lm+~`LfuLM8psriT zmE`21J+)8PT1C?DD_FsM=wnvRAp#Ps)@ z#Xl%Qvi_h*!0wGp5-nyu&d&Mp=Hu$(({;{;jqO(6YzM-v{SnsWRX(JV&zMFN1(j|4 zemwSbi!?w+2J(8Y>dLiAf*k*kb#9F(oD#j#=X;MpAB#usewY&*%q|=y4<-edbwM=0 z=1%Ymcqi`5fM$c!$LP6?Dt_rR)&M8rs_A)^^$S=(ITNG11DM5&-o6LP9D_~CRAIv1 zq2-wQohl%k{^gQEcwBz_xx&j0>xmK(7RqKo66dq6gYyk+1iqpL(V|Q?{&QRbEkeU} zEZ}@DZ^hVDRwF=twD$*2;bee}E`W8h%T7tPti2BWJwCtFX)2)Z^KFL?Dh-FFmKM+f z1R)rJvc{Fw)k*l_`H6<^ZN$oYX?f?Uo>G9`gSD=%9yVhpUSR#A$Af}8>#}#QQtfDz z-ZOs}O98)zX09)!b;|Zfwo;Md6}>ZacZK1I+NlX8V;u?ZMJ}LY-a@VS=s=C>z-}?p zB8pD6r&~HakvjXxg@W=6Wf+cJNK!?U=o<`2YWw}puW=R3_dasi@#hs#5Z@rEq8@6z zn9B?@>btuC1#p79R9F;aAj!LxVaX{N9_D2m;I;YF{Cz+^*>4FS9oV`{4aZSdH)`%%U{8fuZful&3P5u0v zb}T9h_Dye4)BC+SmXH*fVBa$u$H?ro|IoVhz@I)5T8hP;N)3v89TvitbnUr@4XLx0 zv%)A?GvK{M4b^2ZbPsd04o-^7mybEi?dwhS0QCY@uA%MGAd+R3yo>7{R9UGc%XEB9 z>~Xt-On!i13~~b20_~VQ(t!;HDw2JMeum5x!7&J1#&KlLv+*J))~e=yMK zhc!D>Q3=tBztVQH%NTLc>Vl*%8d3G$6Lk1xd85I1Hkik%Xl~VPpe@g@S4aMF>1!PC z8zE_GPKe?A=`A+`{7PE0fF$5#&^xsFqp=N(Axf7Ai}gin%OdE^JfR(cuZlj94|vGt zoPJL68)u2imh&T>G7)U0Cz*J{{$>IQog9O`6J-=dh?yS9%GBcUqLk%+a%Krg9q$7_ zZATYR9p-2NFCY**@y?EX>l2N@VNb7tZ$mM{%3s}l=AuJNBHtwe02hJBn9iWtnX^kB z#{eg)eR|?jT$;1m?44<8OQ1~j@I83TZqM_>mX?-6#k{|!anJ2zjw1~|v@}1|L)B4p z1bGZN9ym4@$leu@TTy8-x+JXP!*owQYStqz+GS_2>;^=v{{B&)>+Q0w5L55PLk2I^ zyl75E5MesMa+XNjKfO@84D8HDye}|Q%jDEF(H59Ah+Kz~G@7p8qnDl~MU=S6KO;Zi zsb{U9WW6>;paBD|OROU`V&p1k2IN0Mqpz?77U6o0%OW@+M`6O3Ek#At;) zBEvA`>_gE@WsDu-8<$7+lT6%H1wx6XH?fCuJJU7`pFq9nkh{+YO!r$^pU;-^m!d?T z6Ev&5uDEMXsa>^N0!WQ{88f5#gPJ^85g!ep9@E1xKP^TUU-i#3x7VPgp;eL%Rg8*p zqGOq-8R|Uo8Q!ymMeg+%W$b-DYWJ#C5-ciOnd-c2)igOCi?`fWJ&l?-@WqdcPt_20 z=WYvx;|;p3HM&RFHxA61e(CVEfAh|N)jV!G*-uYDVy$6)Z$u@8ZRVNN$RN%fAIF`u zq@T8s7ko2w9^fu`9gIL`E=l8pZsX24>`^Y0j=nB39iNx%E2 zJ6G`C;(M(j459QmT z{Q0h^D_TV{&^)*r=DH`}H^29U-?101uP4%@c3jtK^+bUFRf4ZW)cG~iTA;+J=f{nT z>M?b&bGdu1t!6bLDBrIkxwFq6`graJf6QhL8}jUWz?nd}WhNGkwmO!GMU5C*)++01 z7zi19j@pXs=5rOI+(aJtUJ(&$qO_ZNK{}Xv@nGRbU4yxm+s9WA;;fXQuk&y9aL-q2 zL){I7NrZ-q-qx1zQJN3tn6iU(#W&WrnwnOAY;%63oPs8z+A6F#FH^KcNdO{|nI@ws zcY(U4Vvh=d(4h&dy=b_UFgf}8F}IlYw}$4|VSo)#MWE~Iho}}hIvV(V)VTRz-I(5! z`p+r*!v;AtvbzTgv{Pwy@q@*32aDoFnL4g<@;x=V2DH`a0s<3QTn2J3go(40ibD#E~?f z%_@D($GkTiyBwuuVrdMD!#%|tCj3)c2Z4x#cXBj5A}I?c5;WmMX=h>LV; zK)*UO2>5yXgO7~3-Fc;ZmMSJDcpYuPMG2$~@k7GVxiZPTtKrRWjR~+kdKn75N+j`> zm6fL!JKy6*GKycYV*)8XJh$dL%O7|sw}_Cz){{OmIAlWuQ>K-Rtw=sJquW5p;HG^} z-}MO&CXa?sWDVEb7(}Ts+pV5c`$^{5s$i6P4Qf^@*Ry*&q z;i&53fIye&;4{l%%x7Z_-7X==VBI<1p@yQK%n?dhYwOg%($cX^CSp)J>e_SYZ&`(e ztAec;cp~VeQIS7o*B(~J&rT;>K-|_77BE@dktOJumH_n+E}n7zE&ZsEys`-wD%6$b z^aI=^{VKW7ZQ-xlCd?*fq}GR!XUVcZj9L9Hb^IELgMg|K-{S#}RaOn#;pa&za!rva z=I#Il+dQm<;Gks1=>h>hy~&=L<^@XI+zj4m z!Nv7h=Asuo;Ao{dzGwly`8Jge!!6+`C`Wu`tS=y}DL#UNCdj$P3ot#u@{Aqop9Nl; zqY?9*{34~1Mlcdm?eC?pe^F`6q(k-Y25SOJXHZ}x^&likXat5Zh~3hIoH_h(>|NGy zBfko6S`?qh`6}9pQ`S((vLrEaxKNo)Euif=rVaw~>&C_uUe!@rnhbvL`eb;w=2god z6iY1WH%-mB$`$WUy`8)3?2CCw-OpBwO_BERw zYqi(*dk*xi+)$*l9-slKugKT2!rR-$wSR^3j_0Kn*oPxA;W=7;PBDqa$|3}sQh#x2 zujrHZ&WZ23wR-?)Dto)9-@Qe|z}VEiuJ5+96hT%v_Ved0ZQ>9i>}*s%uTVwG!Ie)= z4xuB)4#Pt{Y#^?S#%#Dz#o{D9m02{$^KBDScmGg(JKI zX*NJ3UZW~hKd<+U8`PzxUu2cXlR|0^X#;Go@+aJZ(}&S9x+-pW@XZZQX*JDsxK$z( z><+W2;?EUa0LAda4FnZoNFoYR7Ez0n)jXq{fIvm$nr@6#KN`|3=tmks&;V()Vtc)f z`0+l&IfdHKHO5y@071)P{p}UviujVhr)M<9iIq0@Icq%^OdQk$1A!X8hV+Zv^T}Q- zUfMcLPc>^>EPtokz6|~II8^cIe*roEAJ1oIbeHSz@%As5|5Xrvjd)}c;GsiOK8Ftc ztDw6ooP3iS%yXsAa=p$D!9#JLp;txj+j)BI#pV5J)jvPJ7oZ6Ux$)-4->|^Vq0OF$ zbsxbUqcjh0aN4E`QFfMYmC^~B4CS6)&RAS{Y1KHjNk0}q7q-2rzD}LTE40I;G85Tj z#@!E>>|WgbOFq7y2UqKMOo}+!GT^RpV~}9#r*=-az0196{Ap_WoE4asfAjklzJIt! zCYZk+tLI_n|GMcs4>O1V`zD5U3bzh{ma)nY3}h-L(`(kB;1$9G&uN=j6I!1tC=OYh zY30_I*J^AmX5bKKHD^5&Ids(~f{pRo-{Ja4T5>fq=2~L2{aN|i4c&B&58+qdI${;o zq^`tj{}=r;F5>22Af5mE_4&urn>YWP0QFxjnL_C4{TEnk@_&12Yst-nYX1h7P_1Rt z{hIH4!amTK0r2Rx-d2eUlTk!gJ?9n(uG8%I^u3Q3p1kbTw_6|q8{|5U;7L@nC6>3X zkA_<=bt%yMG0kZXRzz{Rr7yE2Ap;7+$9E-tVV5{owp1FhTMN!;FI*dzWNPA45TWPs z8K&pIi$E2x8h9hvaPqXkHqK&Ql7e~@l#YppASeQSV2BPn7E5?g!ws50l|LdW;nROW zOjrfA1HVg5p!{W|?nz2Gyq@i+N=uON^AByDr)T}-w3k~<3VP~Oel0WXdsd^)TBj33 z!e-cW>AWJm1}vrD>s7H+Ae0tg9zVr)?V87wkep;`X&lGU(-RfxVx5Nb9{jFbIF2N^_&`)vl}A9*OaCH_ekc*@z;|Jqxjak}U`$g1*@NiW&}i)Dmbn`< zNsR#PU#J*Os1uIq+YEh3AGN0+j#@yQt;vQZ*YRaUcO>7_5TM zdL8CupK8^tLi!Jjea#&1blIKR{ZnOi z$HQK;%wRv~?QDXVJ0d~>I^o^X(?m$Lbw_lQhnrH2Wv0>x=GT?>bI2e0+F%hT-U`~6_Ah#9w{%+(N>Xi+ITA6;Sv2Lo(3ITlcaO)wb+hQGSrO;5cRzzNh6mmbt75ex-# z@)buZ%c(#k=f_uF+e2;;7@FtkP&Ynobk>l9zZ5wbnN_N6EFYofMYngJiw)eM3~}3? zk{e1Zs71NHd%|)&u*8=k*quo6wJWlw=T-^Dwqmww?GGz!4a1J} z-bkb%NFuxFu^Y=5n|6gc&m*N@!#jx{Y4JjgevmyLFg+gT?CzT!TR`M?aOql>H^Oeg z2x&8&bCOe@sBa#1IxGjVBgk6=44#uxt0{z(-<&tB8c~<>5h6ly+A=0(3ZO!|gmu2J z)6b#h{H3Az%X-f;Gto%-T6Jbl{sV1|K_A!$e<6bLRTlQFn92q#fl$piW~RNTdKE~> zVvd0D9zlpT8lna7eB$Ds(}0Oetq+jA!|KhuL7`5q%ruovF`>tIv?f~_%kTRqf#v?< zO>NDSi6c;Ui#Z^q>BC9DdFs3dc@g*CLd$KBP*1#mbnTi#3r=1Jpq@}q=Oz$I7vL3w zy6!pU3J=Q9pBB^7k_8gP$M2nxePpEknw}OFaHw3OUbU}eK|Wj%b=j2gt=8YMwnWlr z>MDM3k~nlK!$4|NG+lSxxW#)?S)7jcBn%lru*ecdNx?=AC#jiG0~6Bav=?U9qPys4 zu(FLz1sySKNLtzj-p=!-oUgEh!B6u#@xe~nO{5597%A7#Md)Vb8t_nc0H0yX?2-ov zIJNzVOZi^@t`<9xx?964%&Fd8eDC};#O$}X5C_cxPN2WWD>dW-xAh4fMn zs-)gl)J?dgxN$)UO%-d8plcp~H%;N-qcYVNDin(MX6!_lp`IuiD%z%{keXThcce^8(g-PpBSUJm)!{PjE{{z=~sPK*DpPBQ-Q#{5;^qr)4Y7RiQx)>mr7 z_Sa)~|5ahpU;j1h&k7&nug_edq-I|0to*xODy`11&;f3`XR!dPoP>8=7yrG{=;FDy z+)`hD6#f+F?zt>zl!)l-JID#|4s}a*Cw~tPhUPb#;}g3nB_j(XWXq>kmwkB6YHcF^ zrx~n^*5?)$Q&TfHhq1QtHhf()RfLQp>@v?^PuckYV!I^%?9JG}`pMw0-c4*TI|L6$62LqXy zIT~4~Oy?YNgp~F64L+*O7Hosfj+Kp#`jZFKjV7}9Pbp+*0}z&cFIgme{(l_c|6@m7 z?LCrty#J!-@7HmPjDThF!D6|t$VALlz@n@sbS7Eeh3u}yX@il#Z_|ZCEsRp5$yip0Uda^2k$&n{zW_Lkt$>}i*j-r%XJSUm zEhG=K1b@tH0uMUxz5#7(_@-%@aq&cJFaNql#~^2)kdf8;WhRyb6*Cvp1ea(XxAJ7a zB+9=qe$P$ty2*40DuR}4*UnyVP0?B9=W7=+EZLmo{`z!KLit%~#5O3AxIjB<^8A+9 z)9Xmh-1@$g8_7P>;lnjd*xZ1@#$0SD5M@ zg>f=#J5!HEtk}-ZuGnq2B20LLReoHFrc^Tmc0(ZNA|un-Jvu~yedaj%%NxkY-0~vn z*wuhwh7_E31n7JUyK+olV{YT=3jwS9l(f#DMlDh?ng;pp#lDfZw3A3l^yc5UgC%W! zATA&{*CI9NY{Ht!LI?va%NQ;r_14=)Z&Q`bNUQzbDB;znb1Xp*^z5Vcxin3yJ+I@W z^PcxLy&FpgZ`H2(ch1tm=xvT~{1So`w5T2i!{?NQXyzVTr}&zYaSPMOdoC`8WyLKN zmU7p0PwxSDhAJ7m0-Xt6ab5IcH(O^QmF!lR=_Yi)=7^IshJrK6f(riJN%1Q8Ae(PI z+;Jb7U5c74CMPFw(jH}L&Mq6Fl-Hr&uD*pWDmv!@8WVSi>6TQYOOWAOI$f{ZDyC^( zf{b*FR&?WX7HV2EN)gaWiWcO8kL_=uprN(RjhDH;8^k1c2uXf^kw~&h5#Z3dQQlo` zPx%~s;6^60&{ednEo&J-a0O-cI_VpK~M=5 zX@*crVo>Q;q#Z&UW&mjzVCW7-d_d{0p=*GlVdxN~yK9E-?ocq!=;O2Zv-f__@4WBl zbN=|9_-n0ut!v$Rtvj#l`;|`q2jg=Oco)0%0+cyNDdkJTP8029Abo+j-x^^4i0=27fB-B}25nm!qJWa&1vzp6d zWK=Dq2C()3K|$qW+n|dj2w$x1Sr&dNcix&=X7KH38PEJUgwSOF7k0GP4UD;?q4e zX(LMP6c#7^9Atk4pqPk0vaQ+EJmXIw>7dJi`YUGMj%G(eZ3LP*KyrNZ@7ffOj0AEvLQt859AL86=*#mi;7|qqIbD~Gi`LN;sJ;K&7*TTg=}n=# z!r?so4$sHP|8-~M{}Ka6S$YZUMqstz74VO{m``0CT#bU+d-T`|Vd3wa9EX_hyVp3w zu;k|6AH;+r=yASM@fbX*`(NTm)+RKCj1xIcH=Oy;*uv9JNIvN(9IpTzG*s`3g1}#2%vKGI`Uz19F9P&D*K?RjU|%hy0I%_{5#jz}i^akC>Nt(Dc33>88#d{3sP z7tye6cvgM1)%N{p0!8gDGv3DVEB;*)VsT!=yWvFoyYIB@OVKnoK#ehwD%Uf*`2HI$ zcs%pCT@y=h*L1Y^B48Hd`ambiEkzRgrwUPLE|FtOofiPJaJ}hC(u1@Lh1M%I;kt{f>pQ z&-yWEo^z7w$a3zmlBaVUgk{&K>)9YJL7Moaf*Wt%7m#c0(8F?GT=6OcPO{HnV^V_W z1T;xEa6~d9JuKn<%VYN*Pbxa0AZeq!rfzS{m`V!sc^c?KHn*AVGPT7lP z8C}04cXJ&vLlPKbwd*_?j0xZ#2_v3>@wRd2PTSf#GnjdHxwy2u_$jXPxpGvEanBFX zP|2p3w`*eL-BF6K9MeGFTZv}5nIGQUpAwiUiro-hB{}+{BCfkvJN>!(b(eXqT1aTQ zmS`4jkhQT5ZI5Zv(I#%d03k6u?OY0(u!H&&j-(IoxZ6N7vLjJHckc-6o~qv7wa)pN z`(}@`;&mG1^n~IY?3p22%>d85wAwD&DBA&^0!iE8MY>lNdq(B-l!nvt<*7>Qdmh&9 zzVUQ%Q`lOoRU4DX$CT6M3?Gj!9-kzw*h|vF0bjAimHN|Hz){)P1?I{I0s<VIKY9a4V3(AXhlL=5=34+v%}pdLWrl`g zz4}&iHYc08gn6wj*MmUzj~-xFcc$>Kk47uc19X4js0!^m-PVi<7EMgoxC^JOrRrqNX!PiGa7^diq}t0u8SDzx zjEanC4*|qF6_o*yPczg6?}~>OCqrw5mkMzA6|e;u--y4S1Z5loRI02qsjD9@=p13qus10{;(C0=GaAHGA4rt z2eTC~bws&H#7xtYWK?R*Cb{MRAzE@vURH~ke<10=VO|i+_C5}tO*>)7VxZ!2ne0Bd zKbyjpb#)a03ShPSORr8pxEl^&*mw-ZU&SkYc1-5MJqWzpU!=ynx>-Hnef3DW!ktKq z6==%kC0ox~U>U5&qJp&pR{+2%^l^Hf%0;|UdcyBNKR z9%~6#5uaSHO@>UcB?UHym`wYohd@h}YZL`sc*V_25IMF>*%D(p6U=zDgk(_qf3K4#5mY6w#wLeS=MbvFRq%`Mf@KHJE7?5q0 z#rM+3mezMU7N=Q23ij{F0>zlPZL6-a?cg5c71TMjy#?^CLV&l8mhH@|ranK&GM8oX z%FT;T8JzK6@4P^j^(#=am4>xzx;^7W?YvtLL+13@Ql85cTdd6-v^WE9GH{1-E4{wu z`=<5Pbg^oqPO!Gt@JJZzKD;`!taDhhvj1om_o>dc7{NK1+k_()K1HxIoKI;hOu#r0 z6gmNOw$`Q3jeZKEy+KVn=p=vbfVyN>=Vmd*UCNh)eGd1MI5>@BU+nQ(dlEZ(kn-RY zT9d3rwQw7b+IG+*5UHm^+eA&(P&(@Pu$I9E9wQ#om8^qXd@D*d!u*txP48GRp}%FABfw~+;+jn= z-Ez*onmVZCR1#f|0}g|@YLIR9_b#^?(+YTDn9Q~M{YxrIo##`$g6&;fJ}~bKEPkpG zC^c$!t(h5K&Vhh&k@xSfKde8SD$h-Wx4v@Rq7vnthDB?;Axd=V#d&Otjd+dTQ`Q1P z=C+5@2Ni2TNTN}c`cz+|Ip zYhXdc=}l`cXiw{cl)_AQSfi_?`W8)Q2JuF?Pg18{q1*FtxN@>bQ>WD<0cWYv)jyt; zbpfu5xB6=R#Tv<;^hxq#;W<0?s?c7*9XmJL2n+5JZFz5)vP|WZat(kCPRF4C_w~XKjfdo&(Yk^6xmmB@}e_hbk{S(Nv zPoSb&Vq;o)35RIqD>~Yv9AcVKmi>@v$uUVZA2G^r6T7fQ_p*FDTq&**! z1PxuY*879pV`(sPACTtsPQTbwluLproN}s5wP+u(Uc3= zI=()+O}==YGehH4JG~X6^ji9AooDp(?R^GYjoxubT+s zBV@PKb=}JggVIuOBeHTYvRjOlPGKQkc^mq;*xO!ETREyuZA4jX)GRGrG>^V*dDtLr z19Z4g{k;r&>{m?^fR5LgDT%EC?dfYhVj7dy)6+$>6ACA}V!bsdozo*qF=ON@aMtj)I!mr87vo#{HtZLUdEv%ih0-$*AT?(=4R*?e|AOKeWDR`Ol-?TKe2 z_w;Icw@Bw#)1;dKJx4|psbKkV{(zv;qcyz}Dz-y@-)_l|V;3AcE=|U*za{p1HRav|5|?^Y)ycfD);#Ll1S>a6I1S zvnk6*O#YLLsFU@oxZ&y(+m+_sTts|u{UWQcmVxXicveQYzW!z((d^`t@MVT)B>VED zL}?j+Ap!TRO|v7b;3H}v8eqIaM${nLi|J0o^}|ja!X%p3PHlQy%AGxN!D%ScYSrhk zi~p`BuRekN!~0(>#Io>G!?zkgZxE%iSw#%b2{vyQV?-ouHdnS{T~4&hL~kIR+tL## zQ4Y{fkYdkLD4E>z>Y3gf`#K+>=C(sN@C&Oy{Js$BZV>RN(XikMGhi(|5;M?=o27Aa z#d(E~KT6*Zrp>-_m+zfvq;c!sDD91-6?nVu&Qf+mg;)Gz4e_XlSbo!Z)X~1)L*UR4 z91;D4peI_Fwo_Y;yi>(Vn<#-Q{_&a{3#ub?K=Brd(}AdpRRu6%SSVBEJSk3S!Or=M z;P60%qTLlT(U{kcbu*)`#Zr#$<;LnIl5X!jzJic)aC^(VAlx%apoCMfCr5EXl!n*2 zQDiB7l6uAWsaZ(u`Imi}&TfMF1mrHPiKRrgRp|@G;@iKEymX?0kqPyhsnb%9#daY*@k zr0$`?y9^+t+h1!pBRQwr;)e!L%W8a4PiH<3I2^r}eP!Q=xSd4m@gW3#@*lp(QS`rw zi2gdxR$Mc7eB@1)PdQPB(NMLh9qsb08P-NK&(kowR=}b9AcMRHZ&!dY>SFf&AviJL z!RmUEF!l1i97Z8VtrrEsS);NmZgZ91FfBWDgZX4}QTQ$QWvjhN+2>oPEM!x5-~nkS zfY{qkahpdow_$r%vc}|^h!U@wS$YVo49Zdc+8k?UZh2knKF-_XSqCc7Ey97W36)5n zSzoPGQG3?`!Ag&rFl27_v{&DC<;e?}&qQ$n8D^P`P>$KzfbMO)Bz`R;_5SmYxoSk+ zm9(A#$SJ-qj;?8?@L`sX<#5a70mt#@!8GAPPeKPS$Uh_341RF&2natx@z)r{=H=#R z=7gWn+pM|D3gD9uxDW^imhGcwBNtcNJ-R4tq^c6U#9UlR;^A4*>{PN8Fo3{w?vs%w zQ&dF05jUfPq@5(v<=y(qc40KoU-c|1 zb>euY87gWr>2IB+M&b1{sPXF!j9k|6XJu*rDw>px*58WAkn>IaX*n|bdmI+cHh+P` z8GVcc?8Gq~kPhlG^E`X$MiRbThA|u*eyLxg({##LclH!+Zfc#igm`QoN$rP2y6S7A z9a6#S+FY@P_IjbPxwC^s3W>X$^h$&7441e)ZR>4`IDv4qa~hYzKarw)w-Ec?ZQh8grXlBd3k)Kox054~sZ3vLFOe!Fe3TFBf*M@V^rhj*E)97p zpifoY**>zQsDNER)bf@`>mzSeRincO*=^z!bGw&rFUu=1a!a!J?133D31y#iIZe$T zo&)KHQBe@UN!YALcq0uIdit~d@_sdCWq?wY=BE#Z|4g(noAW{GKbtuti}P>dxBlf- z(W_j`y<6qq)9k0$RyBnIf%55E9%i|v&Mo*2BG<1EkZ8sVIF5gsHej)2QYKziT?9~=L{zo^d#h6N81yon z)5}YE>x~$l$v7k>zH<~p=W$Ui%-CToL|=v4llXwPe=-X#z#15uktyqM*X5+kB`(^` zG3YUVesT*EhOH=YTCZj2#x|jJARnJ+_s%`h5JGgWU(z zSlqTfQ?=&E`jsvSKSA0;JP!58{#oIgDWVqK<(i#)A?63Cf?-8MApv>SYJ`#sTRG`X zo(KB+>kVpl&h3uEtgj~bB*K?md|d}yA&&X+MXKUe3D3=@e`#jSi*myssxY3%z_uLy3JSv8WbfUF6@|ru;_M1(o-s ze4VskJ%9iykV)VjGvHcQ`Dc!wlkTc>ezYho8BOwSFl)2VbS7xIW`M;$fqt`(HG;Zl zS@GL@F12uz&Mgus&CuPronOU#k;NJEq8)9wO&{&eEQ``~Q9WHMQeJ`J?6YZ&hZ`aiuTK%T<<4U#Va`3^ zx@ZIB;nqQoO^QYCgu398EI{5vchY+PrkQhiJj!U17-;#=_R&7>*dJJ*bS*B!6i3xV zcr+(%DC$2beVV?#y2}mcTmE`t?ZG%n{GCW4r+Ex=&QLM&yr-jg<>i+@T>5{@GTdSLL7#xq{;W6ko-Aem?9QA=z?tABQb%Un6wmsBOVai5Xm*LW zOHEUu4D8gseON9OHHlAsYL%_AQJ5JnA@W%JYB})n6yI$8Q%;(4FgF(|}G|Lw|J*Dl)# zr1-Huc5|{%{GOaLR}C@Joc}AqNp`o49cwm?xZIN!aKt|oK%@#*SR~Ii?!`~&9_ToV zyA>dzE2!WbLgC~M1#elDrdL=qv!7-YzG#`>*9O-^lWfY)v3!g{dhAL*=m&Fw`(;aA z_17=!j=Gr2{`R94soibmxOU&wZA0;@;VFelX-VVOQ+LbdB5mkW!CIx8M8!+k^t9c0sEkz#G;s31a$`+2D^NZt9BWm;|fc%uW_Eup*#IbhW|pa$~t&kCnXOdC@Z zSBVuS7U>KWwAz?^zY@<&s&gMQH&r1s1>twApGz%o4!(aU%x~h_+_;7C=b)3;66T1f z4B8)xg~GwD!OKr|KZK|hCfnW}pBig@l7F}Rux(_Ctf$Lw^wavb$dMUOF=)DeLd`uV z52id3iOVe@r}*%rDnP{d?n>k5|`lb1kg3-A@{HGs967gQijVlE%5`QdMEEAnX%5zWA7s z`1t6Xxkm;X(^MfUyysjU&S@dhP&-Y;`iR;)$EJco|1oKX91afgBX3J@MAML!FEg7_ zPSxm$ViS(}Q6=a@t2kd@*BL%N#` zr^RPGvEIy;BYRi~#ln&zIG6XUVKjPkvw!ra%YG`$QQ$V7NK2>uwdW`04H`x$$lf(C z_t7b}2~n>kJt(5sRd;-JR*?(7sen^My!6e^3~3vP8N={g^ajHV*C-^+!t-;(qmha- z>PdK&OuSu9`*P9xPCiyok{!(}!TH?BXv-fsoCUTBWODUO9Xld@Jh56Zp^NYjoF6!p zIn{d&Xn4q(Oo_#?Vc`~%&F5HsqSM%)>K^v&w>i?t>}?+osg2s77OYrEiF#YNL3M-T z(<%z`iP2@G#S7?Gf7I69PB4py$6RQFk)LzSDi}OyJ8^~TFSH2G9OZxQ6`q&fKOnNm zm^(}A5$f2Y!0N_*K0p6bivQ>aTb9{SP!-*KL6uMjyqu_dx?=3~k3@H=2eJpO_YaH@ zfAORNF5f-#U@w#+(MFoT;Rz01^ae2_ykrGK8xP~25`<4@!Rgzh+O+jp{A5gRQrXfT z0qCRWO(S2zc*cf2|B&IdXZ_o^>zg-J;8yy{vxX6)?*_>mgrkm&9+Y5$}PQ~j= z6`G0bZ{PZrkI3iS-xN6#>v=n%Y&`?FnIDyek5QOwHH+$|BPkc_rHND$#2Rd6KI-s3 zV+w#)dMm3!QRBlCkT8e^Fa2}5$9|tL%*;n>!wHi?uNwmt&ZFZnQUZe|W8@8+AVx~v z_4kMSXcp6!MZ#;hBO;>8>kX=B^s0SP(e;7#anUtoyzVz4bjJ>JJ7DVNXM==y1CT|N zqXt_%SqWK?Bsmk(+YWc}*c3Y59Xo|hdscL{SdIRU<^7js)pkhZUaWY z7=jI-ZyO}1tT$MoqMvpXK3c2`jo|4l;rbggNH6Q=vDRA8OD9&Z6hkd}ft^4RPP1#m zOc{$*2q#t#kwL1`2f>B4>C?#3#X%-xPa2j|*z%LLXN01Suc};m+UUQJys`L!BhdSv zcmuxO6e#vB^ZUSeo1x{e!OaVaF0Ci`2S@ID8yb82y%jf0!CC71TzbRb6I#`KaWk{k zQR4Ds5Yt?JQ+zZ()u8+N7x50e|tc7G(7j{*SlX&^P_$W{QZmn zu|Qdn$EICE7NZ2Af$05{Vb^h8nMM~O(60=o-ubdAy3GRWl6GnOdAs#zHvhL2;P|&< zC?tdjZh8GI(b%uT$^3gc|DP#P7>jKk#b52vB&(dIEj&Pq_x501L@9SAvtfLdW|e7` z3c$GBcwd%44w+h|oaf95#ULnA?|a_G5!yuLj$#?#!CCDZPqrs82POki!QZ@)fe5(R zJ6XOza2qzB_rAZw%tzgT=vpva1?JhEU+b`~ZdFqy*DfHLDHF@1LC-MH$rj1c`|C28 zx#dwt^UXQwH<*{k(Fyq?>PKYpD_e^MV%}2|4nAw>IrzKLZ4t&Ta zKoXX`{UPOejwLZKTA`;?cxwo^%fEk2>x<_OqOQGBWiYi0axu zpsH%=N@&3f)T^Y|#^Vt1>?9ikF2qyAosua=P|nqmzgz940hZIA0tp0rH5k%BWb@v* zZh4hc%!|GZ9sqk_a!_q&aa{wN6EE zlW4>3`wRTX!mUorHaSBxV%{L_!KukNu`h!q|JVtHjkuFoAT;c*QlQoR1zETz-Ljhm(zXg)P2m8>+fSwJUcz z$D%h)WBaXz0@fl0dBE}#qII8-&WdRigSHJ^(JNan>7Iuwzni>D26YDcwDUWX)ZhAJ z9R%Grr212vKH~2=o+4EnKXYkR z6i04nR0_0Zkas0?MU=M(Tr!w}Kq7pB5(Yp;)0|*mBPu>o72WkT+K32%R>+xRqHU#Z ztd_gSlAl)hCe(P#L2dNCs0h9-zVlJ4Of)W`_-z4#vE9tPcZe~}PO+mkiI0|&V^A7* zkOF?Rk8HD~4WvQeqFx)GgrTF)EU$|4r=3I*`0*+(;;buznm$2_JHhC{@`}FDz-xp! zgrVsV?8h4%XL^At?=4s2m*|_V&oxPQkH=N;VckI7Vq?=Fk~f5R`#Q^$Ev4i&d~J&6 zXm9B~Fb<4+AG*;O5HT~5U07C;8yjj9AZ6^hpnR9s)s%p}Y^7fOCUZg*WbgWN z))$AZIAv3_;pxLEiCNmmyoMXX=|$1Wn3#zPn`-cUFZf#Dbyn*AcX=N9ZnU~zlkhNs zk>7;z8y64730$sV6wPAH4}6uQj-V-8O@nq{KN7l_^3eJnIOgGrjF)NBX?SJZFq`*Q zys(fnAwO0*p^P4#g$_Q(U6jnos+p$)+3{;pZgWn%BaA=t`cK^qpmV`KSBOFzl#86XI(|VL490aohZmj zdSQ7;NDSanNGCa>Y+0{4iP_>8#-nF&%d2S!YDd(U$8$Rb!*qX`; zJ6N#BKX<*GQZHZoxv^l=tNh!as`XQu>VGMd9_q~cw>C9?X8%Vo4E9P0nED+O)A!|x zIgq?HK{htt$kXs==;m(?*3OSl%U$}f^!X9de{^W9c?BK@zq_}4zm>gM4JZNnU#fok zKXdy})&GB3W;rv2Y$KHfmb%D1Z8Fv` zRpoo%UuIp-RF2HSTXQM5-T$=my0{zn4?C}`HH{vP%k&PuRt<3+tUsUXwfwcMSw+Ja zw~bp)Xbe$i4vSe!SL7pPgyS*gw@LO5{F`v!1#Bxl-R5fZ42@-AZ0$nV*BCn|z;2)0 zpXei0NDXw#Y9#(PHB3-qJQ`|DQa*VF%&K;eqIOXa%JHaketf;0;(nw)*a z$?+?Jd%5X+gla%~RJB%lm8tAp8s36|8JdU=WEI| zp?p}~9OV80W0gra@cn5!hmZ+ZLSnQ+;tE#N8GF0VuMPkH4_x+mQg*t7nh zN#^~Q|0r!CLMi_{$=~uqo3>s5pUxtu0=rpEXB$ZQy)a&&FBDrx9OQA&1QABVIJcQ_ zuQZ`IupIN)(ZX;4+~z0IslI1P=1lvAx4=*5uqV(~8UPiRIgJ0?51dEZPY)7e)l)Hz zW}NW=cVYM4^(Gz#AIlp}4uBiW1uYqww~8H!2DP3YBZG7WB2}3Rncs*+tr&uLh0Y5? zTr08b3?MK)RbNMI7dZ6GNO&#!h^ycq*24^sx(oNd*c1LwEQTL!HoX(H8>^zzdL`?N zpdcT?*Jb!XMFB;QN^cWz*F5YPLdrhrK~*mz{3I9R=O<2+Rg&8KELq}h+yy=lmzCdh#}NLMplV9p6Va|oZg zAN@9tOfYpLIh#~e^@tiWWK=TpU3==a`gvj2d9%Tk?FFQG9|7$=shb$OnnV@?MWP>^ zSc=GE8W^nhI&{`Pt_sZ!EGSd-0?OI0noZB zhv^WNb-0{SR0>|oir;!=0o}rg)8S~8yFu=BgD=CZ?SS0i?zd{+aAe&`;H(iG9C^5f z_lmrJ)tNuR@-kbT!1LXJ7#qfFFWJT`ctJ;++dwksmY43TQSLSA58ckR^MD3_EOb1p zRY&lKiB+O?evR_Gs@(t=mOU-kmE69U(;S<74)1$HiMyAjx>vf14~2W*SCsU$mV29P zS>_;JHHl4GOc%n8ge^(Ch`&+{(NrL?hGxMJK9-HrVw$*_Gw&9Oe5%iox@jeH|9}UI z$MF1iOfZ%f7T=&VerXy#XDdjT+T114S;`aN9LyO6g&N{;({+KGoSpkS7scf}>q^Eo zTA?2`dN~B$5DCv5{4o&j(_`m@pxEBAGi!SuqEz7|#H2N}rchTFbCApqt=VNouCNX0 z71-Yf`i_d^l{i1VA7i+-9~ND=*KIW@wbDkUwfoMh2IEb)ON`>lD1c{I(`|3->JLUC zECRP5nHswIg9S(dj;${oO$v44Y=A9F8#AbFmAk_nq9iSNx_kBuqsoAjc({_)akOWY zU-kFy1_~3@u4@F;&7x#|n=7W@ByF`bNDf!DA(B9t@u3JlMM22}lOzR%1D8Y$Y)(ONcI6;N-QOL|Q)ZFEi^Pq_7{rne$lzU+!i$kb~NIm5X#5+0t5 zIxz1Q#1+)1i-+R9cex!Ag?|lEETkX3rtqQu@n2>_|AdUd-u2GxmedYUPD)lshr=T~ zXBgEQMIKG$;f6YXFVIPlh%Kx}=kE&$@cYLXj1bi2uA&qMjH2=)0Y@=c>K*7~U>Yzy zKi`~ab6w?hF&rc4a1Mtkwwg}J(j%n(nW=#vD3KooI;NV^{n z1Fu7YYZg~SaXoTEcN_eC5EW&A`#^*@v{_4z%%4T7^^vfhW6O zImd_Xv9oLN*N{22(onC*X~px%7}{<;Y>u^QxHHEd`*K;MCd1J-#y`m7Tkc7L#Iw=1N*ZX_hx2Baa|1Xh2P zDL7?XtvzR5)tooGUz{*)HQ$Dbp66HLz+e=XxB=FH&^<==vR$^EyPe;)!(*~s)BD=6c%!*M}tdE6C%q(`9FBD}Dn0zn1c!+b6Q&L>+{ZyH< z)%MIl>!YRRmdho4rTk=;b!o_xMcsL&|7|+egGz0F*(d59_xLRPHycVVIU(G1BzBvE zUS5#M(raM2Z%W!^SEWp%6|Yc4NMLq~B|z9Aw^8(@V+NU0i6!Hm`A;vGS9)6y3e&X5 zMfOY|xTJRSwJ~U!R5VCjdVQQT`$}oEWE$HJy0-HR!#_jp zGF3j82d0!K(>12qX!h|b{o;u#ZKQnJi)}px$D{Z_L81ERa>CbUEfa@`11ER6UBr}a zU>_|@*~XmW`riiTNzbcNRyMrXlx^(xc#Wm3zosLCOe_RqsSqnF& zyr~-q7HlPl(6$&g16a;56Zt`w1dk$|dP^FVJWH^6MExkz|7l^H@auNSb$bjg*B>>) zb_3)m@^oyuQN^ZJ*A!OhYHM)P#8ZTCGnmvnZ8Xlnw2tdO{+a)KS>R@0_wtZDZ8!0Z z?2o&~0_NUp(mjQVDqqs`OTazzWP=hP5pF_99K69`dEyPW4$Yx^9M&mUf5sm)0(>ReFx^4MQzuzu5xpV} zqG+n(FG*Q9m?1OmNhj;zo^b#2HofUhcNtP+d%Uz*fBOfH`@2BjW^d~-R&Nnn|cX5b6kb&5n><|lmE6oX9QnEm` zA+0y4D0zk9ql(UN@x8T?NRE(R?B6&Z<=T`!-Fu6t|K*5|vYq+O66Y-|PG-1aoYJBJ z9o*f{H2Gcl)-2koX}5DgcVA3-hJK2ZQ<|hONBPB!0k^{^2=h_=CutOx^I;iqZB2ND z1lkvwwMR!{U2XtNcJh)O+~3-}Kcb0s?_|+DXs?U3Z_6bG@Z~t+;fa7FEG}t5_U1$r zto8A?Ug%!X-uHh(N0-RVP68lMWdB^K!mXtZc_a7(r@{(lkd?LR`|e8dix%XIJi0jq z{l(p&Vs5{tJ}HlGa6{+m0Yu338+{G(Yt`2ed-gIha%mGA-fb#E22%;!FUp^jhQQw zdfzByom${5Q~cis@R;=N&_kN_TSZ`KA$OEazd_pwj6S*;g|(_{?2^)vpY$5X{2*+DUdP5MR(3o&X$WaF;jyZ}hCai`fGY(Kxdi?2fCsk;Kf< zT9Xd(YhO0F+?z(`7Qlm|Ykcv?*E#4Jh$`sc=A|jzw`veE&o00;P!vsQ%;j&}Foj#H z2f?SFjN+VMz)aser$jytjtaW>1BZ$iq$i8sqobq1PmNX9icoHjh8I+CAvyZc13a%& zv6j;HBxCJ>FWRXy&4JOFndfJUcDer1@e-XMj6&r)*KhQ+$>T;Ve&^H(q0owdn(_uc zaPO{L@Q0AXYyUE=J@`kE=iT&5d0X}1f`nRON%q}wUYvEv#YnB#W$RVvMeTl|@U^j( zr9LX!P+I3@y{~~m`?%c}z0Br@Rj@q2g?LQ#qyeEksdCv@qj^|QGHH4f{qJoX0jXJq{j71*hHw(suB!tT^Q7M!8U zm2^kNr@ODW9Jc;7SQc%OzaO-FMVxbWw;P04dmLuOZJecnHu_db98>AW}gKbneT+z6Jm z%+hS)DzW?{FS^Rd2h9!mD@Be{Sq^QeKAO5EnD0?pZ5faZ zBE*%eiEP5C>^ANqy+R!G~5{h50`%r0KM&!yc(q)&QQ?;Fc@4Erqr+q3DXdBzQAE*6dr{E_AGy~CZzo=8jGrbPuv%cLUM+d3Z9EtN zgi$XJ*GpIs`QgSS=!#q0@jc40oSMgv`8%)_PoqxW*^SLhQzI(2>HJoNGjXi?fB+8|F(qg~7CbmJM@=BJ~7zO46p|Zb53r zxHe_g+z^3@!?XPeUhTY!d!uuLgK6Pe*(gez&@lfJQISq}q7c|fz?G$sFR-opWpjm2@Bov2#WJWNl91QK z4|kn_l7u`Pi&JK9jXbhc-xXs096Pn9-K9A1;EE{cruXc~3!dCt`rHlPfPAgZ=C zyXO;uS?jJ{*Avt01aw>VST!Ye&X`LMC)1;|Cjk)zg#vv3HlQx}$voJ@rvWA|9 z*1c&?;!(myLVlwf>UHNK|4}vT6fvh5EsUzEu2QlNe)+2{ZVH!Om+^@>81#dJ2>iqehlwCfT2vLM*-J+o6X#lz zF%IFfw%P!4^J?^N&VsS1XYV2kxY`CpvfMe4BbHLT5l%HQRkL7-xYh_p&}){?29es* zESxxa{nAO8%3&z-nkR6<-ahukjjwKGFKv9Ox-0Z;#p5C0B!_TdAcHmC_mk6g1a%}zty>XJD&&c9O^$h+&v?I1F- zdIZGUl}^@&1(lCgSXt8$ZGpD3Qj-@)a7nMXSYp@ffZNzfv_F?irR&UGhPlPG8c1zq z4{P^p{Q;VBdkjGGxaV!mz@X#uN=N(mmU0NqD@9oy$KYl)d@a;H^_wA}KkOW+S@`dT zhB^?!r$#6T-obdtt0u;u4EKHX4-UK~aUMN#-_)ZPubnuZc4~y2ivQPwBKB|VikF}N zbzSk7Z}q>dE9!@gxc1J)s$|1wG+bbK)0Z`EFmr~}Mk~8wEj*PJQ)WrkVkh&28CXt( zZE^oBw}3BMS*HoF-3+^v0*i4=#GNCKAQfv1$|Tg>nS|gRq_Ca>kgWC!Hd5;OiuF_P z-nvKFqD^`qtz00fkMn@Ti*JodsWGfg3lH+p#?Q7mw&*1T`KwCZuwDqsRyH37J&iUx zS|VNneIuVv{lK}3d-?+>8%)t#oweqOEG>@l*3#nINV=4Em1wW)!t?84k6sCQ8*gzq z=aH~9Eyf088{35~uh zyRH?%vq2232NtiR39*3MmUk|0VO@!Q!n?f-z$#O zA|LDHy3gaEc}P_?NCWj2_IsUs`mNInSQV|VZv*3xQ(MvJJAYmpw%3hso|{C2&$!&I zoSXInoQPy{3(E3{3U3j15FsSoF(6zktsunOLSkVG@_yi)TALbc>9@DaI;wK#SrRqj zpm$)v>K%y<%auUdqypJxaBb>C?>0a0v^}1&Hs%k62^39koanm!i(8_;vC|=`5-cQc zLDp{JWg{{;%-3_njgN72j#k2H09-b1&0ng{$WQht+?C=}bE6uZ0bWuf%(YfSM|wmN zW~pVh5ayck1>_|&Ej0~8VviLyPF=>muZrpp7FNM;W{Y&74H@TJ=x5zLlmofbHtoC# z;u_rcW*sFY@q)EhZoCS30A687eJPj@LpManxlFRpp=o>^l157pfP+#9?+_j3 z9|L+Pbo4pdKA%ts;Z2 z&PxFa7@qE@v2NDEr0>*)&Xf!0wY5)EJ8^06)6zBAGw5pvVCp2u-tWKW_f$}$Poyii{ zHw_;TwUOHsgQXYl-)~JYC$ay5N~5}6vfx!$cv#Tn?mbb(9?*uJ6qZuKW z3*0F8iE}UP;OPQ66d)=L*m;oQ$sogHYK8p}#V#jdr_1=z;0YD03K_J46IS&quRu~b zLv>S(bE42TEH zH{jqVFtFp`ekFUn3@^o>;G>M&LvAR_s%&oCYGdB@h5S+VDBs4fWnXSzo7iE9`$*gq z_yfldYD-CyI>UJ>5nt78Q$>@X0+P_PF_=BHW2dGc*@)|%m@x0GuD)eu!^LTRA7S@_ zIbKJiT&R0k)k&BX7o6YNJ{w$2^3E&|ft@T#08Y+>ha98ICgc^x!y??nPZR3e{pHVs zaMIbYPr$UT8|>z!Y_q467H6iplEhs68P>z;N%$Z2?EZ&r z-kFgpQL{CHMJ2DwuHYa~1Ie zM<~qd)SVVhjbzR$D##1ZO)kKYml(yR3$!q7`pSC#FWQqln+WKc9q}EgHJ=O|x$EZq zpB>OI+*a7P@NHXErT#0Q0)HwyI0r^TjMa25-;8YA^YlVQgk+_U>!oa{l5jf$8edSz zJ=Y9N{XW}UXx8wQB?3@ir?YG z@`5_@cB~~1XrieH$0skvnzFy-{q^vdLQ*7kx;49I1k1W)ym~u82d*vcy*R zp)rb2Oj_fwkK7P7BXfI<19oCk6~n`}9W~ft{#XlAXzqhsMSc|oKHre&c5byNHC|A! zFWz-`%Pwjd1F1cGWs?c}WHR-UG}P~zy>rK`j|U@o5Q#fb_IZ zMCLb&T>M)_W6djfm0`Z&;2G9%c!^xqIJw518Ls4k&c_PEc=!&Yb=M1($s?6nG&(=8 zg>^)jc4A#4?ntd_pn~{>OpFf4T6e4vVaKX$UQ((?$ml0GuSErPM#|2AXGRZ1E~~B|&jW zJvy~ZDh0W&cKv!}rRB%o8BS_H_1I!2g+g1VvZKV&o<*jz8nXEtU%vjpQC53$@3Pha zvpeoM^Khrc#B$)3x=HTaIPN?G!9$<$s67WfH5)m{o_X0aKFeK{K-^K{)_N=^qaY`6 zP4|Iu+&(RQ2E2*kdN%Q%fAMogm3P&-=v6ULs^+;>fsr{sxwFCr|C3_okVNpZE7@+S zqogdCAi^2thRHc~i3ooi)j`4povRQeC81&22ohmQIl4@^mETeL6A9t&51cm%3dj$( zSN5heNLYHU_B8&Zc+Tzz6C@hzrg+(`1K5)rNoOqT)hdc-a^gI@I=S?i{s)fS{5E6G zSfL7En!a-=_xkXj4$O8pV{Qr*R5SNr1u~jzNeneb34v63g*WiJs{%gWmSg1y*DdTc z2v=zc7}7O&VW9hTK+gi#;OOd#pd$YLXg&DWV3y(I8Cn3iMTHi3EoCG0^h(G+-HO{K zG|MG4A0@BH0xNLwS{>D2X^j?{Az_xLOA~+MkLuJfWZq0hCYkUj%~H>0bSkn$%15xL zOBz0_(82nTep<6a7G&8LXXXW_9)a#Vq)RO;wlHgZI)3L8FgCGB3PRhT?~m&!XC1ZK zp$#H3YHat;7tvH>Jq%030%LtlA&^!k>tJzr9z4+T(*MEUR|Z7Yw(E|9fKq~@#1Il9 zH3$q{A|+B1Lx*(d&<#qLbPq^(cL`F`F?4qf-2#GVjQ4xr_dDOW_da|7IOoUt^Q>pV zT2C){p8LM;>*`yfNU_o}@2{JXxlFRqG+?823LS0*f2cNhq|_W@#@?7e9N<$`n6Ivm zt?pH|O0T*nq#EP;Y2OynrI{TR1^Pl?1}?>fDy)q2+ITsoqm$pxAhX2eIP zR?*vD;V%Z(fe=8qkdt$&mY=~VWj%EkY=~vABsM&?=3|n1e~b%0CN842#X^V^fANK3D2)nlR|Q)|L_1lBF=yOL(=Ti+Tv;F)`vQnx$H(7FM)Y=VobG%uPgm+%3`C znaI81DbJ9>NlIu2DK6iYqki<&vApX+Hq;(%DU`@&Sv*i{r^C+-8TA}8F!|BgF3c}h z&0p^eaVJs>jQvp<@N*kuao_A#(PLx8wlR^luh)9YCHT|XwqB>;Tl6n4Pj!uYxt&jJ zbC{NQZpO?TRAsJ0i)ZYs;m@nWvq~~!>Yc%SuY?S7+4A~Zsj)&BS6$g(txpjN^b063 zNzxSNR(B|av2wZ|`TKM6cX87spb(-nsLwDJW=->`sP(?dF3?X*mDj{fWw3r>7W_m9 z8Ttf#YlFHNoMbrlW=LTO!#tfhUuAke0$mixwd*E|IotK!r*9?rhtgz})+;3!NH>gQ zQ0a2s<^z8-r_J1i~K!Q}$`)_;$=d`Dzbl7LB`< zL73g+r&TG7mMnGMCMW@8T|v8{{(*|^aJDuWsbahIR8vf;%D$3uKn6@op{}C;A-h#d zl~B8%zgSm071Ib;W$kSlHs2Bl(JFaW2P9vh8^{k$7_*Xlz-Cm>gc}4nrfnB|yV|(3 zH}pnr*LGxVY9&A6*h*A}f*BhgN}l2;6mq!aYvSH0>hy`VIsNVe4wc!mTOkfq4KM=y zGCh7kNN9yyWP}tvO*Y9lwB1KkK}3e}fCY|KLgwYu3v5}OJmW~!lZbRKT#T=J!72W{ zskg#_w$=3N7)g4hU{`_Z?U0?f*|GD}fxTSkvN8S6A-pKWfG@NGWc&)omgQO{5aqin zlYIlddRF&4y-?Hy^tPMz=wx)S4JM7P#l60Vks>4^3z5;EAC$$i-hUS`f~hj@orB)nuba%MQk7~H4s&|1bJ2{9cctc4f`z}#*Vwx~EAP|4Ax)!t@>9Pc3c#XY9# zUEf3BROg3|Kw1@dnRLD#+!=XXgNtJ(WEmSq#`vKsGhg+Q(U1XS@V+#$Q%F>|aSLgRRNTHI=i5f=r5nqYJfwn-v>(VkKe8>2}%WEDy zO*|=!2K!XQY9(IOYhtJTz38*<9A^WiS5BVj+!1l5_c6$`z5|YAS<-i^vTBmr6^~!( zWa??MOSOFmh+>Lq?azdvY(FvQv}oKqu|Krq`8cxGPD-ZMzXl|P&xxXWXNK|*+SwrO zfX1L}v<{n(KDTL$8O>wvd`mYOOT%)S^O11|V?D*@8WvTpOD!S)wy6x3ma}|J!gMFQ z!2H=#txl}tfN;IkGz&S<)Tt8}M1{%iIu&dXXRvLUnB!^_GbHfg^;fkOBGBkM2i@u@ zye$yrhyF;aRdK8jlo2b(HP~+1#c9KmU%4{mU?Ze3#bb1K@BUu?C2A<1C9$if46sx0 zR*|)#ddNX5;UOqK-l;-Enyq@`%9B$!F*nHYDW_54qk0=1j*z4&W)pwtS$*WDS<9DuaP?+h}hP<`rMv};l_cvx`2K6^r zSmjiUeVM$rCUpU7;Ao@3=4mfW2-lxG6>+4Ojc8IAg?
olxt;X^6l;wBVqXI$(A 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 l0(0@^B~ colorMatch[0].toLowerCase()) })); - const colors = [...new Set(drawCalls.flatMap((call) => call.colors))].sort(); + const colors = [ + ...new Set( + drawCalls.flatMap((call) => [...call.colors, ...(drawFunctions.get(call.functionName)?.colors ?? [])]) + ) + ].sort(); const primitiveCount = drawCalls.reduce((sum, call) => sum + (drawFunctions.get(call.functionName)?.primitiveCount ?? 0), 0); const lineNumber = source.slice(0, match.index).split(/\r?\n/).length; @@ -210,16 +214,13 @@ function parseSceneUsage(source) { function collectItemRows(itemCatalog, equipmentSlots, iconDefinitions) { const slotOrder = new Map(equipmentSlots.map((slot, index) => [slot, index])); - return Object.entries(itemCatalog) + const rows = Object.entries(itemCatalog) .map(([itemId, item]) => { const icon = iconDefinitions.get(itemId); const concerns = []; if (!icon) { concerns.push('missing generated icon'); } else { - if (icon.drawCalls.length <= 1) { - concerns.push('single helper silhouette'); - } if (icon.primitiveCount < 18) { concerns.push('low primitive detail'); } @@ -240,17 +241,24 @@ function collectItemRows(itemCatalog, equipmentSlots, iconDefinitions) { colorCount: icon?.colors.length ?? 0, concerns }; - }) - .sort((left, right) => { - const slotDiff = (slotOrder.get(left.slot) ?? 99) - (slotOrder.get(right.slot) ?? 99); - if (slotDiff !== 0) { - return slotDiff; - } - if (left.rank !== right.rank) { - return left.rank === 'treasure' ? -1 : 1; - } - return left.itemId.localeCompare(right.itemId); }); + const signatureCounts = countBy(rows.filter((row) => row.icon), (row) => row.signature); + rows.forEach((row) => { + if (row.icon && row.drawCalls <= 1 && (signatureCounts.get(row.signature) ?? 0) > 1) { + row.concerns.unshift('shared helper silhouette'); + } + }); + + return rows.sort((left, right) => { + const slotDiff = (slotOrder.get(left.slot) ?? 99) - (slotOrder.get(right.slot) ?? 99); + if (slotDiff !== 0) { + return slotDiff; + } + if (left.rank !== right.rank) { + return left.rank === 'treasure' ? -1 : 1; + } + return left.itemId.localeCompare(right.itemId); + }); } function groupBySignature(itemRows) { @@ -298,29 +306,61 @@ function groupRiskScore(rows) { } function buildRecommendations(itemRows, groupedRows) { - const weaponPolearmIds = itemRows - .filter((row) => row.slot === 'weapon' && ['drawSpearIcon', 'drawPolearmIcon'].some((name) => row.drawFunctions.includes(name))) - .map((row) => row.itemId); + const weaponPolearmTargetIds = [ + 'green-dragon-glaive', + 'serpent-spear', + 'iron-spear', + 'sky-piercer-halberd', + 'western-cavalry-spear' + ]; + const weaponPolearmRows = itemRows.filter((row) => weaponPolearmTargetIds.includes(row.itemId)); const armorIds = itemRows.filter((row) => row.slot === 'armor').map((row) => row.itemId); const accessoryIds = itemRows.filter((row) => row.slot === 'accessory').map((row) => row.itemId); + const weaponPolearmComplete = + weaponPolearmRows.length === weaponPolearmTargetIds.length && + weaponPolearmRows.every((row) => row.icon && row.primitiveCount >= 18) && + new Set(weaponPolearmRows.map((row) => row.signature)).size === weaponPolearmRows.length; + + const completedTargets = weaponPolearmComplete + ? [ + { + title: 'weapon spear/polearm family', + itemIds: weaponPolearmRows.map((row) => row.itemId), + reason: 'The previous shared spear/polearm silhouettes now use item-specific helper shapes with enough primitive detail for 20px and 30px equipment UI reads.' + } + ] + : []; return { - firstTargetTitle: 'weapon spear/polearm family', - firstTargetIds: weaponPolearmIds, - firstTargetReason: - 'These are high-frequency equipment surfaces and several treasure/common weapons share a thin diagonal shaft silhouette; upgrading this group gives the clearest identity gain in sortie prep and equipment swap screens.', - followUps: [ - { - title: 'armor silhouettes', - itemIds: armorIds, - reason: 'Armor and robes are readable but depend on simple triangular torsos and small color accents.' - }, - { - title: 'accessory charms and tokens', - itemIds: accessoryIds, - reason: 'Accessories are the smallest UI read and several use compact badge-like shapes.' - } - ], + completedTargets, + firstTargetTitle: weaponPolearmComplete ? 'armor silhouettes' : 'weapon spear/polearm family', + firstTargetIds: weaponPolearmComplete ? armorIds : weaponPolearmRows.map((row) => row.itemId), + firstTargetReason: weaponPolearmComplete + ? 'Armor and robes are readable but still depend on simple triangular torsos and small color accents; this is now the largest remaining shared-equipment silhouette group.' + : 'These are high-frequency equipment surfaces and several treasure/common weapons share a thin diagonal shaft silhouette; upgrading this group gives the clearest identity gain in sortie prep and equipment swap screens.', + firstTargetSuccessCriteria: weaponPolearmComplete + ? 'Each armor item should keep its slot identity while gaining a distinct outer silhouette and material cue at 20px and 30px.' + : 'Each item should read as a distinct weapon silhouette at 20px and 30px, with treasure weapons visibly richer than common weapons.', + followUps: weaponPolearmComplete + ? [ + { + title: 'accessory charms and tokens', + itemIds: accessoryIds, + reason: 'Accessories are the smallest UI read and several use compact badge-like shapes.' + } + ] + : [ + { + title: 'armor silhouettes', + itemIds: armorIds, + reason: 'Armor and robes are readable but depend on simple triangular torsos and small color accents.' + }, + { + title: 'accessory charms and tokens', + itemIds: accessoryIds, + reason: 'Accessories are the smallest UI read and several use compact badge-like shapes.' + } + ], topRiskGroups: groupedRows.slice(0, 5) }; } @@ -356,7 +396,8 @@ function renderReport({ iconSourceSize, iconTextureSize, itemRows, groupedRows, '- Treasure/common distinction often relies on UI frame color plus a small palette change, not a strong unique silhouette.', '- Reused helper silhouettes are the strongest quality risk because several different items collapse to the same shape at 14-22px.', '', - '## First Improvement Target', + ...renderCompletedTargets(recommendations.completedTargets), + '## Next Improvement Target', '', `- Target: ${recommendations.firstTargetTitle}`, `- Item ids: ${recommendations.firstTargetIds.map((itemId) => `\`${itemId}\``).join(', ')}`, @@ -397,14 +438,31 @@ function renderReport({ iconSourceSize, iconTextureSize, itemRows, groupedRows, '', '## Recommended Next Batch Definition', '', - '- Scope: replace or enrich the five spear/polearm weapon icons while keeping `item-${itemId}` texture keys stable.', - '- Success criteria: each item reads as a distinct weapon silhouette at 20px and 30px, with treasure weapons visibly richer than common weapons.', + `- Scope: improve ${recommendations.firstTargetTitle} while keeping \`item-\${itemId}\` texture keys stable.`, + `- Item ids: ${recommendations.firstTargetIds.map((itemId) => `\`${itemId}\``).join(', ')}`, + `- Success criteria: ${recommendations.firstTargetSuccessCriteria}`, '- Keep the existing 64px texture size unless a UI-wide equipment icon pass is planned.', '- Add before/after contact sheets and verify the sortie equipment list and equipment swap panel in a desktop browser.', '' ].join('\n')}`; } +function renderCompletedTargets(completedTargets) { + if (!completedTargets.length) { + return []; + } + + return [ + '## Completed Improvement Passes', + '', + ...completedTargets.flatMap((target) => [ + `- ${target.title}: ${target.itemIds.map((itemId) => `\`${itemId}\``).join(', ')}`, + ` - ${target.reason}` + ]), + '' + ]; +} + function countBy(rows, keySelector) { return rows.reduce((counts, row) => { const key = keySelector(row); diff --git a/src/game/scenes/BootScene.ts b/src/game/scenes/BootScene.ts index f98898d..8dc668b 100644 --- a/src/game/scenes/BootScene.ts +++ b/src/game/scenes/BootScene.ts @@ -35,11 +35,11 @@ export class BootScene extends Phaser.Scene { this.drawSwordIcon(graphics, 0xe8edf7, 0x8a5a32, -4); this.drawSwordIcon(graphics, 0xd8b15f, 0x8a5a32, 4); }); - this.createItemIcon('item-green-dragon-glaive', (graphics) => this.drawPolearmIcon(graphics, 0x5fbf8f, 0xd8b15f)); - this.createItemIcon('item-serpent-spear', (graphics) => this.drawSpearIcon(graphics, 0xe0e8ef, 0xb86b55)); - this.createItemIcon('item-iron-spear', (graphics) => this.drawSpearIcon(graphics, 0xd8dfe6, 0x6cc5ff)); - this.createItemIcon('item-sky-piercer-halberd', (graphics) => this.drawPolearmIcon(graphics, 0xd8dfe6, 0xd95f4f)); - this.createItemIcon('item-western-cavalry-spear', (graphics) => this.drawSpearIcon(graphics, 0xe6d3a6, 0xb86b55)); + this.createItemIcon('item-green-dragon-glaive', (graphics) => this.drawGreenDragonGlaiveIcon(graphics)); + this.createItemIcon('item-serpent-spear', (graphics) => this.drawSerpentSpearIcon(graphics)); + this.createItemIcon('item-iron-spear', (graphics) => this.drawIronSpearIcon(graphics)); + this.createItemIcon('item-sky-piercer-halberd', (graphics) => this.drawSkyPiercerHalberdIcon(graphics)); + this.createItemIcon('item-western-cavalry-spear', (graphics) => this.drawWesternCavalrySpearIcon(graphics)); this.createItemIcon('item-white-feather-fan', (graphics) => this.drawFanIcon(graphics, 0xf3f0df, 0x6e8eb8)); this.createItemIcon('item-yellow-turban-saber', (graphics) => this.drawSaberIcon(graphics, 0xd8b15f, 0x9c6b2f)); this.createItemIcon('item-short-bow', (graphics) => this.drawBowIcon(graphics, 0xc58a4c, 0xe8dfca)); @@ -95,31 +95,163 @@ export class BootScene extends Phaser.Scene { graphics.fillCircle(8 + offsetX, 23, 2); } - private drawPolearmIcon(graphics: Phaser.GameObjects.Graphics, bladeColor: number, accentColor: number) { - graphics.lineStyle(3, 0x8d5a3a, 1); + private drawGreenDragonGlaiveIcon(graphics: Phaser.GameObjects.Graphics) { + graphics.lineStyle(4, 0x704728, 1); graphics.beginPath(); - graphics.moveTo(8, 24); - graphics.lineTo(18, 5); + graphics.moveTo(6, 25); + graphics.lineTo(17, 5); graphics.strokePath(); - graphics.fillStyle(bladeColor, 1); - graphics.fillTriangle(17, 4, 25, 8, 18, 15); - graphics.lineStyle(2, accentColor, 1); + graphics.lineStyle(1, 0xc99755, 0.85); graphics.beginPath(); - graphics.moveTo(16, 12); - graphics.lineTo(23, 15); + graphics.moveTo(9, 22); + graphics.lineTo(17, 7); + graphics.strokePath(); + graphics.fillStyle(0x236f54, 1); + graphics.fillEllipse(20, 9, 9, 15); + graphics.fillTriangle(15, 4, 24, 5, 18, 15); + graphics.fillTriangle(17, 13, 25, 18, 16, 17); + graphics.fillStyle(0x101820, 0.42); + graphics.fillTriangle(22, 4, 25, 8, 22, 11); + graphics.lineStyle(2, 0xbff0cf, 0.9); + graphics.beginPath(); + graphics.moveTo(18, 5); + graphics.lineTo(22, 9); + graphics.lineTo(18, 15); + graphics.strokePath(); + graphics.fillStyle(0xd8b15f, 1); + graphics.fillCircle(16, 15, 2); + graphics.fillTriangle(13, 16, 18, 15, 14, 20); + graphics.fillCircle(8, 24, 2); + } + + private drawSerpentSpearIcon(graphics: Phaser.GameObjects.Graphics) { + graphics.lineStyle(3, 0x7a4d2e, 1); + graphics.beginPath(); + graphics.moveTo(6, 25); + graphics.lineTo(10, 20); + graphics.lineTo(11, 16); + graphics.lineTo(14, 13); + graphics.lineTo(15, 9); + graphics.lineTo(21, 4); + graphics.strokePath(); + graphics.fillStyle(0xe0e8ef, 1); + graphics.fillTriangle(20, 3, 25, 5, 20, 9); + graphics.fillTriangle(19, 6, 23, 10, 17, 12); + graphics.fillTriangle(21, 3, 18, 1, 19, 6); + graphics.lineStyle(1, 0xffffff, 0.75); + graphics.beginPath(); + graphics.moveTo(21, 4); + graphics.lineTo(22, 8); + graphics.strokePath(); + graphics.lineStyle(2, 0xb86b55, 1); + graphics.beginPath(); + graphics.moveTo(8, 23); + graphics.lineTo(12, 21); + graphics.lineTo(10, 18); + graphics.lineTo(14, 15); + graphics.lineTo(13, 12); + graphics.lineTo(17, 10); + graphics.strokePath(); + graphics.fillStyle(0xb86b55, 1); + graphics.fillTriangle(14, 13, 19, 12, 16, 17); + graphics.fillTriangle(12, 16, 16, 17, 13, 20); + graphics.fillCircle(12, 20, 1); + } + + private drawIronSpearIcon(graphics: Phaser.GameObjects.Graphics) { + graphics.lineStyle(4, 0x6c4b32, 1); + graphics.beginPath(); + graphics.moveTo(7, 24); + graphics.lineTo(20, 5); + graphics.strokePath(); + graphics.lineStyle(1, 0xc49458, 0.85); + graphics.beginPath(); + graphics.moveTo(9, 22); + graphics.lineTo(19, 7); + graphics.strokePath(); + graphics.fillStyle(0xd8dfe6, 1); + graphics.fillTriangle(20, 3, 25, 5, 21, 9); + graphics.fillTriangle(18, 6, 21, 9, 17, 13); + graphics.lineStyle(1, 0xffffff, 0.75); + graphics.beginPath(); + graphics.moveTo(20, 4); + graphics.lineTo(22, 7); + graphics.strokePath(); + graphics.fillStyle(0x6cc5ff, 1); + graphics.fillRect(15, 12, 5, 2); + graphics.fillRect(13, 15, 5, 2); + graphics.fillStyle(0x50606a, 1); + graphics.fillCircle(7, 24, 2); + graphics.fillCircle(20, 10, 1); + graphics.lineStyle(1, 0x1d2b34, 0.75); + graphics.beginPath(); + graphics.moveTo(16, 13); + graphics.lineTo(20, 10); graphics.strokePath(); } - private drawSpearIcon(graphics: Phaser.GameObjects.Graphics, bladeColor: number, accentColor: number) { - graphics.lineStyle(3, 0x8d5a3a, 1); + private drawSkyPiercerHalberdIcon(graphics: Phaser.GameObjects.Graphics) { + graphics.lineStyle(4, 0x5c3c28, 1); graphics.beginPath(); - graphics.moveTo(7, 24); - graphics.lineTo(20, 4); + graphics.moveTo(7, 25); + graphics.lineTo(17, 5); + graphics.strokePath(); + graphics.lineStyle(1, 0xbb8550, 0.85); + graphics.beginPath(); + graphics.moveTo(9, 23); + graphics.lineTo(17, 7); + graphics.strokePath(); + graphics.fillStyle(0xd8dfe6, 1); + graphics.fillTriangle(17, 3, 23, 5, 18, 10); + graphics.fillEllipse(21, 10, 12, 10); + graphics.fillTriangle(18, 9, 27, 10, 20, 17); + graphics.fillTriangle(16, 10, 10, 12, 16, 16); + graphics.fillStyle(0x101820, 0.44); + graphics.fillTriangle(22, 6, 26, 10, 21, 13); + graphics.lineStyle(2, 0xffffff, 0.7); + graphics.beginPath(); + graphics.moveTo(18, 5); + graphics.lineTo(21, 10); + graphics.lineTo(18, 15); + graphics.strokePath(); + graphics.fillStyle(0xd95f4f, 1); + graphics.fillTriangle(14, 13, 19, 13, 15, 20); + graphics.fillTriangle(12, 15, 16, 17, 12, 22); + graphics.fillStyle(0xd8b15f, 1); + graphics.fillCircle(16, 14, 2); + } + + private drawWesternCavalrySpearIcon(graphics: Phaser.GameObjects.Graphics) { + graphics.lineStyle(4, 0x72512f, 1); + graphics.beginPath(); + graphics.moveTo(4, 24); + graphics.lineTo(22, 4); + graphics.strokePath(); + graphics.lineStyle(1, 0xd0a061, 0.9); + graphics.beginPath(); + graphics.moveTo(7, 22); + graphics.lineTo(21, 6); + graphics.strokePath(); + graphics.fillStyle(0xe6d3a6, 1); + graphics.fillTriangle(21, 3, 27, 4, 23, 9); + graphics.fillTriangle(20, 6, 23, 9, 18, 12); + graphics.lineStyle(1, 0xffffff, 0.6); + graphics.beginPath(); + graphics.moveTo(22, 4); + graphics.lineTo(23, 8); + graphics.strokePath(); + graphics.fillStyle(0x2f5f8f, 1); + graphics.fillTriangle(13, 10, 20, 11, 15, 17); + graphics.fillStyle(0xd8b15f, 1); + graphics.fillTriangle(14, 12, 19, 13, 15, 16); + graphics.fillCircle(13, 13, 1); + graphics.lineStyle(2, 0xb86b55, 1); + graphics.beginPath(); + graphics.moveTo(9, 19); + graphics.lineTo(12, 17); + graphics.moveTo(12, 16); + graphics.lineTo(15, 14); graphics.strokePath(); - graphics.fillStyle(bladeColor, 1); - graphics.fillTriangle(18, 4, 24, 2, 22, 9); - graphics.fillStyle(accentColor, 1); - graphics.fillTriangle(15, 11, 20, 9, 17, 15); } private drawSaberIcon(graphics: Phaser.GameObjects.Graphics, bladeColor: number, gripColor: number) {