From be0eacd340e969e44b0cbe97eb8a7e524b11a57f Mon Sep 17 00:00:00 2001 From: mwinter Date: Sat, 1 Jul 2023 17:10:10 +0200 Subject: [PATCH] some code organization; still need to implement resource folder management and pruning --- lilypond/includes/part_I.ly | 2 +- lilypond/includes/part_II.ly | 2 +- lilypond/includes/part_III.ly | 2 +- lilypond/includes/part_IV.ly | 2 +- lilypond/score_template.ly | 71 +- lilypond/score_template.pdf | Bin 806447 -> 758187 bytes resources/46985d14/lilypond/part_I.ly | 10 +- resources/46985d14/lilypond/part_II.ly | 14 +- resources/46985d14/lilypond/part_III.ly | 10 +- resources/46985d14/lilypond/part_IV.ly | 10 +- resources/490b1e6e/lilypond/part_I.ly | 6 +- resources/490b1e6e/lilypond/part_II.ly | 6 +- resources/490b1e6e/lilypond/part_III.ly | 14 +- resources/490b1e6e/lilypond/part_IV.ly | 6 +- resources/4a8a6e53/lilypond/part_I.ly | 12 +- resources/4a8a6e53/lilypond/part_II.ly | 16 +- resources/4a8a6e53/lilypond/part_III.ly | 12 +- resources/4a8a6e53/lilypond/part_IV.ly | 16 +- resources/5e54c468/5e54c468_code.scd | 1058 ++++++++++++++++ resources/5e54c468/5e54c468_mus_model.json | 70 ++ resources/66f6a618/lilypond/part_I.ly | 32 +- resources/66f6a618/lilypond/part_II.ly | 28 +- resources/66f6a618/lilypond/part_III.ly | 28 +- resources/66f6a618/lilypond/part_IV.ly | 28 +- resources/6fb60ab6/6fb60ab6_mus_model.json | 6 +- resources/6fb60ab6/lilypond/part_I.ly | 24 + resources/6fb60ab6/lilypond/part_II.ly | 24 + resources/6fb60ab6/lilypond/part_III.ly | 24 + resources/6fb60ab6/lilypond/part_IV.ly | 24 + resources/761e4585/lilypond/part_I.ly | 10 +- resources/761e4585/lilypond/part_II.ly | 10 +- resources/761e4585/lilypond/part_III.ly | 8 +- resources/761e4585/lilypond/part_IV.ly | 8 +- .../piece_ledger_sq1_candidates_stitch.json | 3 +- ...iece_ledger_sq1_candidates_stitch.json_bak | 2 +- resources/tmp/tmp_mus_model.json | 74 +- supercollider/seeds_and_ledgers_backend.scd | 935 +++++++++++++++ supercollider/seeds_and_ledgers_main.scd | 1064 +---------------- supercollider/seeds_and_ledgers_mixer.scd | 23 + supercollider/seeds_and_ledgers_synthdefs.scd | 104 ++ .../seeds_and_ledgers_transcriber.scd | 36 +- 41 files changed, 2511 insertions(+), 1323 deletions(-) create mode 100644 resources/5e54c468/5e54c468_code.scd create mode 100644 resources/5e54c468/5e54c468_mus_model.json create mode 100644 resources/6fb60ab6/lilypond/part_I.ly create mode 100644 resources/6fb60ab6/lilypond/part_II.ly create mode 100644 resources/6fb60ab6/lilypond/part_III.ly create mode 100644 resources/6fb60ab6/lilypond/part_IV.ly create mode 100644 supercollider/seeds_and_ledgers_backend.scd create mode 100644 supercollider/seeds_and_ledgers_mixer.scd create mode 100644 supercollider/seeds_and_ledgers_synthdefs.scd diff --git a/lilypond/includes/part_I.ly b/lilypond/includes/part_I.ly index 3f9d578..9509295 100644 --- a/lilypond/includes/part_I.ly +++ b/lilypond/includes/part_I.ly @@ -3,4 +3,4 @@ \include "../../resources/490b1e6e/lilypond/part_I.ly" \include "../../resources/46985d14/lilypond/part_I.ly" \include "../../resources/761e4585/lilypond/part_I.ly" -\include "../../resources/7ebbb471/lilypond/part_I.ly" +\include "../../resources/6fb60ab6/lilypond/part_I.ly" diff --git a/lilypond/includes/part_II.ly b/lilypond/includes/part_II.ly index 6372dac..94de4e2 100644 --- a/lilypond/includes/part_II.ly +++ b/lilypond/includes/part_II.ly @@ -3,4 +3,4 @@ \include "../../resources/490b1e6e/lilypond/part_II.ly" \include "../../resources/46985d14/lilypond/part_II.ly" \include "../../resources/761e4585/lilypond/part_II.ly" -\include "../../resources/7ebbb471/lilypond/part_II.ly" +\include "../../resources/6fb60ab6/lilypond/part_II.ly" diff --git a/lilypond/includes/part_III.ly b/lilypond/includes/part_III.ly index c1b00f8..53f7ce7 100644 --- a/lilypond/includes/part_III.ly +++ b/lilypond/includes/part_III.ly @@ -3,4 +3,4 @@ \include "../../resources/490b1e6e/lilypond/part_III.ly" \include "../../resources/46985d14/lilypond/part_III.ly" \include "../../resources/761e4585/lilypond/part_III.ly" -\include "../../resources/7ebbb471/lilypond/part_III.ly" +\include "../../resources/6fb60ab6/lilypond/part_III.ly" diff --git a/lilypond/includes/part_IV.ly b/lilypond/includes/part_IV.ly index 9de4b95..650b9b4 100644 --- a/lilypond/includes/part_IV.ly +++ b/lilypond/includes/part_IV.ly @@ -3,4 +3,4 @@ \include "../../resources/490b1e6e/lilypond/part_IV.ly" \include "../../resources/46985d14/lilypond/part_IV.ly" \include "../../resources/761e4585/lilypond/part_IV.ly" -\include "../../resources/7ebbb471/lilypond/part_IV.ly" +\include "../../resources/6fb60ab6/lilypond/part_IV.ly" diff --git a/lilypond/score_template.ly b/lilypond/score_template.ly index f2845bd..9f24033 100644 --- a/lilypond/score_template.ly +++ b/lilypond/score_template.ly @@ -1,54 +1,5 @@ \version "2.24.1" -#(define (override-color-for-all-grobs color) - (lambda (context) - (let loop ((x all-grob-descriptions)) - (if (not (null? x)) - (let ((grob-name (caar x))) - (ly:context-pushpop-property context grob-name 'color color) - (loop (cdr x))))))) - -#(define-markup-command (relMark layout props mus) (ly:music?) - #:properties ((size -2)) - (interpret-markup layout props - #{ - \markup { - \score { - \new Staff { $mus } - \layout { - \context { - \Staff - \remove Time_signature_engraver - fontSize = #-2 - \hide Stem - \override TextScript.outside-staff-priority = ##f - \override StaffSymbol.staff-space = #(magstep -2) - \override StaffSymbol.thickness = #(magstep -2) - \override TextScript.self-alignment-X = #-0.4 - \override TextScript.staff-padding = #1 - } - \context { - \Score - proportionalNotationDuration = #(ly:make-moment 1/16) - \remove "Separating_line_group_engraver" - \override SpacingSpanner.strict-note-spacing = ##t - \override RehearsalMark.self-alignment-X = #-1 - \override RehearsalMark.Y-offset = #10 - \override RehearsalMark.X-offset = #10 - } - \context { - \Voice - \consists "Horizontal_bracket_engraver" - \override HorizontalBracket.direction = #UP - } - indent = 0 - line-width = 4\cm - } - } - } - #})) - - \paper { #(set-paper-size "a4" 'portrait) top-margin = 1 \cm @@ -79,28 +30,24 @@ print-first-page-number = ##t print-page-number = ##t - %oddHeaderMarkup = \markup { \fill-line { \line { \on-the-fly #not-first-page {\pad-markup #2 { \concat {\italic {"test"}}}}}}} oddHeaderMarkup = \markup { \fill-line { \line { \unless \on-first-page {\pad-markup #2 { \concat {\italic {"test"}}}}}}} - %evenHeaderMarkup = \markup { \fill-line { \line { \on-the-fly #not-first-page {\pad-markup #2 { \concat {\italic {"test"}}}}}}} evenHeaderMarkup = \markup { \fill-line { \line { \unless \on-first-page {\pad-markup #2 { \concat {\italic {"test"}}}}}}} oddFooterMarkup = \markup { \fill-line { \concat { "-" \fontsize #1.5 - %\on-the-fly #print-page-number-check-first \fromproperty #'page:page-number-string "-"}}} evenFooterMarkup = \markup { \fill-line { \concat { "-" \fontsize #1.5 - %\on-the-fly #print-page-number-check-first \fromproperty #'page:page-number-string "-"}}} } \header { - title = \markup { \italic {test}} + title = \markup { \italic {"seeds and ledgers: string quartet #1"}} composer = \markup \right-column {"michael winter" "(berlin & mexico city; 2023)"} %poet = "seed: xxx" tagline = "" @@ -118,12 +65,13 @@ \Score \override BarNumber.stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print) \override Stem.stemlet-length = #0.75 - proportionalNotationDuration = #(ly:make-moment 1/16) + %proportionalNotationDuration = #(ly:make-moment 1/16) \remove "Separating_line_group_engraver" \override RehearsalMark.self-alignment-X = #-1 \override RehearsalMark.Y-offset = #10 \override RehearsalMark.X-offset = #-8 %\override RehearsalMark.outside-staff-priority = #0 + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/32) } \context { \Staff @@ -140,7 +88,7 @@ (padding . 0 ) (stretchability . 0)) \override TextScript.staff-padding = #2 - \override TextScript.self-alignment-X = #0 + %\override TextScript.self-alignment-X = #0 } \context { \StaffGroup @@ -162,52 +110,41 @@ \score{ << \new SemiStaffGroup { - %\new StaffGroup { << \new Staff = "I" \with { instrumentName = "I" shortInstrumentName = "I" midiInstrument = #"clarinet" } - %<< { \include "includes/part_I.ly" - %\include "../resources/314s49e1/lilypond/part_I.ly" - %\include "../resources/4c01589b/lilypond/part_I.ly" } - %>> \new Staff = "II" \with { instrumentName = "II" shortInstrumentName = "II" midiInstrument = #"clarinet" } - %<< { \include "includes/part_II.ly" } - %>> \new Staff = "III" \with { instrumentName = "III" shortInstrumentName = "III" midiInstrument = #"clarinet" \clef alto } - %<< { \include "includes/part_III.ly" } - %>> \new Staff = "IV" \with { instrumentName = "IV" shortInstrumentName = "IV" midiInstrument = #"clarinet" \clef bass } - %<< { \include "includes/part_IV.ly" } - %>> >> } >> diff --git a/lilypond/score_template.pdf b/lilypond/score_template.pdf index b6cd406f1c8ec53967f0a3325a1770f7ce166aff..6aa5386eb53c96b59421714144a261c7772e9d65 100644 GIT binary patch literal 758187 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

YswAfIdaW#;TX=T-Xh&0Cl+1j;~|ZGLkoqd9G9N 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%0Al_ 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

+ebX+CENpK@g zw&h5gvJuY2ko$3*AvX_KD91rHkX}o^hTG}kqQLzqZUDam*wf^>YFVJ zAksshXw0*xrBn3Lb=qy^exjAc+jDRX^>w`ltHVO2Weh;$>zV7Y5QAfNSbt@NIl0Tb zLjzYkK5->7>f`)v5hP{QV804rhmLmc0G3x>3G4mji@z*F;C0>4t_#W)k3~zdGIw2+ zsK+RS{uv#y@9?!-EO+;v6M8e*Sp^ud%{cRD-Sfx*MSsoS{9E$?G`t zrJ}=j@9q4Z5pBla%(g+JLA*g>jl{W@H&~=ITkx`xN_zT=-6MPdP)T=BJjiDx*l_DC zfFi!rOedUbp1y-!U|Ep|8!-O92w7d&;f7QAfG?-JGUsVYm#0q~4kXiy^Ckw2MKJnx|@ zt-mj#4d`ZfEwOGq@0sl$1b(wC!fb9C95&Yyf#exn$mIT_h`RHVqfNxc;f1FpT?pf~ z+E&3%zA(O1YFLURxygX^+|8;$Pvhk zJtlD;rR$4cdP*5fzS*Z9)JRsBhyDIt_jg6iP)1n}quWjKf+7t`JD&hGx;5ce*E4B{ zF}jK}8c5*qTTTiy!-JnFO;M)6?o{iz_xuG8u)qF z4tf}x?8fP(yX*sbtRF$6#WgwQDN;7{X&)0Kz*-*A80ePIU-D(G!^sC(lm3zj&9V#n zxax+StIj&}bV=)Z)k{c0TB~V2o8#6eUI6oP65*n@0dORB)1|EMK2Clv&~v`o4?(t~ z{a0F8z2M=?%#H*SIA&r=+;Wy_^sohGHg6V0AXFo%If1W4c6R2IgOAR#-|UA_G=qzi zX2pz)LxmnKX?@Lyl5}4^W{-LKoBa?#FUxu8@$7FELK(qb>O&t?jQ1Br;NqFx)^mof znFX+TF8A{mTT`#y^NyDXI4bE?C0%`595bD#FuMQ51DJ?)%s7PY^LT2j$l zW{REvqH2_%O^507bqi`DnibVw3&FkKMWWfyjR*!jb?!oiCRm17Xy!OM(6XX_d+Uop zL@ITRaZX7qpNh19qiVA z8rT~vz-T^YhQ5cA_By%YoVsi~S3;>8)Uh|IhikG|LC(6RJMg_k6$O6NX_d^L+#FR4 ziSp24Ri~Y$zv$DX1Ag|Nf@EPuD&A4&HQSkPwV(&u64AkX+TNFyLpEq? zL^AKX*L=j1;pn4NzSUn4(PVNgFX|{Cg2ulT=Lr0kaM)Gg31=fMsOm3>px457W;r{i z187Yz^qnUv*(y$Eb#@BmLp|5Zv+dmXg}L5Mbs9n%lD0Q3gA#LElM>6Ev;8LQ(G-?K zyMx|}HY1U#kfo(Jsy0;3w;ANjU}K9+MFsVM(`skk&uMm^!vaTI^b%RUZP_xo^LbYn zrd$4&XHfk;5e0rpBl^>sFDS@M)IwAXp=ZiJFM22@b-PFJ?}{Kxg+in!{S57>^6==9 z$mVXvkY`KIB7oix?lkYnu-IvPcva)dC$~KW6B@7)+q==7(C#|%Dq65!;UbGeE}Bca z>P3%lVj{EEUlt+Y8`C3aB1=BQF@Tq%JeI|8Id6P$H4J;#Jx?#>+@0Q+ki=|-EYI${ z#(cMa&8GXF&viZg*q1V0Tqg0)*`x>iP`I{nitqIBdKGV5 zp+;Hn6$q=pDx#vuG>`teWGrYwQMgGDKDZP|Bnl_4Q)QAlKWY^W{SwAE4!c&qr5=qS zo{uo5)m9EbzeXd7b0+Rd;?amG@S8mmW^)_u=l4w^PU6x2FmgATv(rxdb*&r|JXAp^ebawskJPyyo`Tu`R0aohMnMs-HtqWs5;P;RdB=JyPRR2 zD$|+(3}ANyJ9fv>dpIr~j~PvaM&T;^sSl0`RH7E|&VwHH#WSqc(~gdZ0{b4;=F@9B zOE!AvxbrRW()nv6j8LiCwD_|k8PbwdD;|%REt@%;GIDsa^#Q1Jc&0b-aUH^jn|pKJUtp^UBxJ~Y7u7NARBG>i|?wxHA1A}CS@*rcd_2PzdB-uSTyUNj~RcB!p_J%KxxYGMUhr$; z3)_Kb5{^ls)W9|TiJZq8=)U^vBh2io$x5$FW5Ak=($F^)`fN{J?>|PZ?uT`D)$M7w ztDgC7k0N(NI@M&g$X48Gv@EW*u8Dh5WU!&xAXGV=Sk{0mpg9O+Y@aO_XJbmvQE$~P zx~hKUrn}+XLIbKX?c8}~5R43cW`>c_2RF9UMfYrPi_0}0#6Ht&ak&P?jy-41D!974 zLLG8WJ;?Vy1z8z~VKxlzDEpxZad__X9r}|y4f0SN@9&TRIpT97DsupJKuW)!!f? z-^Ku()#dvpFlM9@m*rKYiw#Nm3nT_|tIE%))O9ua%&Owi{SnpQAHm)3YpX4S*Ce1; z`DTvbgY*)Ad4vJi6AsznO&i+K=vFcoiSOY=GdD1WBqfB8Y&t0a78r_ZK z47wF1&FHy{k};dRVO*g~!G0W0_sKMP*XzmKa8~0jv@oOkOCw4b4~IRe#R)W=B`3Y{ zpQL`-)M=*!b>DvSmqr+NJ#9#B_PG#N2&8T}WB1reRKUY}kiR9?}nMbw+^S6vc9Jz9Lp3-N1=IO?yBFyyLG9olEiNE{v5LInf8wrmgk zn28AaczYL}|t_|Kx*VWGZx+|Uwj{5qmBgB-}W<)F2h$+3HWRkg9Q-ZZge{n<+ zbqX1iqVZmId1ZD!1%Brf+0!X`j7IZPo=YH*r|9ZAI)g5WU8HHtOdzj$IMUdxTah^N zyl??Bk-s>CehVXCWUY4D@$G$gLgG*!=<@RSZ@a%X!W_KOO3cBZZHRPP%*mgNdU!vk z8&8|Ds0?}TU_J`nuhJRx!77oQ$!SA+D`k=o1{N3?M-{ybJ?NgUK`uacdg}T|J)mJ2M%oVNDzS3Jk%(US^w{(1s zUf}1!2o(Z+p>6}du54H0Uls73qTjm0&YJRR0DT*D_Xb_i&E|;nZv<6qN}G4D8MgUX z7wBL9_RE*gzy0Z_pMU-I`MWQF`t|Mi27J?QC7u?u`355o9juI1uQ2eh9K(MCT%8RP zfDO?vN_;3A0+`#rp=p~>yVj0+thkRn>$^|_)^hQ;xisCjMtF7d}IkweLJ^E+N3 zq-5C2o8l_e7jcZ zCDo^vfFWJ1`zBWNwYiOyv{LA+6vQa;YzOhrib{Rfbt_;G-F07?+m;J$8j+MpHL<&x zISOsoHD%HQ@Cd`Y5tup09UA@4t`$NT3DmM_1xXCJ84BEMR%zxEl4e#D$^lNpf~~Mi z&&MliDowl@!6UwAy;Rb58@lH~DZAz?a%%>f$X&sUz}sLbvqR5j{T zKX5TU^5#o&&#QDQ-#wkO88!>a)2;dL`swLnyYrf_#?2;JG(O&aJZdMj>`&y&oU?D& zL{5ki6vQ2No_7h=PIP5-+ADg@%vwEGK8?%)U2J5o(S~+`vq6gKk!@nDkao<_dMQ1k zgQt+M{C;}4Jr>d3C~*&yTTo*r?^k_I*JeAfdTc-xc7;+ft9Cq;z&jb~~NbVE66Wo!nGD($h_w#9S+*@d#qTMKQbFYuyZK6KGr=%@n zlb(0tx~%scqepaFf#Mlm)pnN4Tu-_hj*{}~$xFJfLpM6WLq!VCu5;Qc$@CU-uga~| zBjF^mUPF!6WlgtSL|Ka{rlG+pn#3M*9d519+O#=}QY>3wm96JK?7=d{jRZF;eZ(*z zC7Q$7jrBSzMsK1Y=9~?sn;xu2g2OrPniPapc_u6j+E@Ua_*El*4ZUi3D+jnnXMC_giW; zTa7(eS6C=Bk)vN3tLDP{nO7M;XDG`P7pq448r%$zkhbWJI}5P|@rwx$v7tX-lI{uY z)u~XM)mPvyyyq+9z=~$oebL^$s+M!&)U9KW$?-N{gS*gqL$IqCsCMS3*i6Clh1{`x zN6)cu_dBE-+6GQ^(;$&BB;1p>&W@$;*mMsPvtwht`sNF8U%*iVKq;abZfF(>*UFqc z$tZBQIA_3(GiS(ibKs-U-SXT5XJ+qIv6CRG1sgk4f*(vBTi1VGzhCG5^N)Z2@o&HU z{L>GgfBF6|zy6`yJT~^weBtfOj%2rwZdi0*V0o-Nv@tQA8@@bKdCILS1HGgIGUY!YsF^e0% zi5J%yLzLtWB$ve;Q}<+_SM~Wz%faoO5vo(af?umq2a8*V&$Fwy0!v z9eHEDCqD8tmSfBzRLGo^ZH5}TtF3Him%_ff4Vlf3?C_5A@O^;-8oz^mL2YG2pKB$Q zEig!JQ_f0h24;BHq-~yg+)AK4!&~K{7vEizZLD!$`4kNOM!9C+@}WN~a%>7}0bvGT zYn$s%Pmvm&W*=ZqG1u7_#$;wr1^K|f&^EwffhslE>;oSF9NCTAzS3nzr0=6n{Hq7< zjAY?R1~+3NF5;c|%j`t3ebxbzB*V^Kehb4=#yT(BnV zD{WuEN3{Y$4(0%)yp_3H5h_diD%%F!%5wmRG{{q*SxS%uE(YB#&t1@md$(OdnF}>R z;J(DRC2y)%psma*0j=~VkIh`K5D`4GFQ@qm+hW1)T~q8VQx$~f5R~Jh=WV`3si8Lt z+uOnFgp&`fvgAb#O<9dTi&WvEz8i&Y?aEM5Y82=S+ana%r9SXrKc10%{YGMYV7E$* zSg}W+`AS@%Tai_NE&*8zyq6QnX|!n-X=XGVt7ua_flsTXNQEl&v_T2-fODrMFlHev z!gAfiXAWVpd8{Z4li!1GHXpD0W%I;tE^2ePFlUF|BDvZt@uY02Be^JaHvFtnu@1!HR^PJ}WdXnGSLE2c zG2MK?BvIF8l%h+2?owBx+jE(pOT_GMNGIeQ*`0Yi&9Q61FZqSnJ9pcAS^TXJX7qmD z@eEpkh(dJw`yN^dw$L{AZaeCU8|(s0Vl>3Qvp6Vs5))hWs^VJ&y1nl}?>+at&wCWN z8`DXRLnb#Cl}xU+7r864ks^&W;~ayt;o($d89B_%27nc3pE-`_RSUJ3wWBux-E1!C zomrE(3J>%kGkSsZ?SQ`y{HRJ6hJASHGWS@c7u}8IDs3j@H{N&xC{CgsN_Y9-oN!Ih z3{N-MCo0Jt1@1<1WNpZ*UAVQ&2zGE{*zl%e{>=^H%-&FB;n5(UIqcmSX|2nLRi|E2 zhkBJJYH)wy!!Wo39|q5iJ8E%%-9u$a83nz!Y8FRuiD6E@PHFMZ6O_VOP+@KHcRmcO zS1E46p*5>(CBUA}yNwb3;6?X$J{a&}^#MGy(Zk2x4d4)1VP3hS7&s^l|5_7PYw>zZr6i-`M!nk9*=kCTwy) zeq)|%g7RTQR+5IgKZJ7MJ<-_EuW4NHrZ#F!P zEX^LZD{4>us6~zLR^ZI&2ECclGeeKwbbrai1>N5B0X_3g4A}?r81Qt~XTQ zm{#wLNEz|bWk_pzbUEgB-&I}wg%9XpYp@Gjqd0^V30vjSLYM7TpiFn=&Gt~$pB&Bm z_98q9&-OIXae7@n@n9jh=tJ6aqv)2Imu$B0W!TtGP86gUT&_?N)H4Y?cA72+5TJM^p06IXcZ3cu^BA6Xq; zZ1wH}56-*hAYGtP%EcGD4;pkqE|jmKh<@Cf?N>%Wog5RKc=&*W_ZL1CtrCYZaXNUE z!0EJ3qQ~-?OmjLx!3%qkE4TP7A4CdXyXE+L# ze2`a{?vyqa9wa>#apa8`vEm7c?Xx{^r|ny4?E!+I-i@yWaT9izEb>9QO8vKn6k+Cv zJ+_N@I@>bdIQWz18L7)lpCd8wC~h~ByKocGFxGY9&K%GLf%}^t5cO|bFWhr> z8ZhiNf)0KLG#|L6@73FO_S&Mz-AGQVdfLo*9d$-_54>ICqaNGcwfOrTF5Gt12ky*A zJqp|n<7Q-)*v$BT)X7yP;-J_)?NN^+_X~3*Er>Sgq|Xq4=am=^eWt`GJ+^3gVIb9c z%;o``gI*CAGuW9AdK9-`j$<~r5ZInRT`T0#7t_*R9rP_-)Oz~#C~`M$n~@|y-k%7S z!VIstL{}IEQY~)Fx8cC5QIUm=i@)1pCMA`KU=LW~)>s`b@fC;t8UyYIZWnM>qVR17 zJo6=wBKMa&h#SO6N8dDCX+&zJ%gj2;%*Y`Ng=|jB<@j|q6FJx;a)Ts9--!@5@mZ(8 z7Q^jU;4a*X+;%Sei95ByqrlzBjrEL_7~dnewz8HER@E7~r7J`XLSPiS8@gT4;Y6td zbwQ`GrYg|`d386D^=azx$e>5!k-JbK#Q08TdE zVftDDigtUiIOg{4!78)A*MZ(TeIz)}r{4QQy4p&4YsmiN{IZqT$7vVGAI`{q>)hY$ za8=k9x69d$3VY^YhK5?`ru(}cD*HqiRKxm#@3UL1(59(^k4wlIIISK=?uKzyOi)xw zDzhv_S6+n~^_L)zO!-&?)=!!XM4=KOi?D6X$y#c|u`#13v{lrw?X)|uI%}4*-S!K7 zjjdE({QVA<220^NJB#g_>!47>=ao2^V}31m+udO90&Y3m0G`^f-Np z&;(BhZufiuPkqmWNt?gZ;YwHSo?E)w+iF?wc@(-|kfS6aDJ>aUW7&G$pg;0;$|2oO z1}w1!WsAShLB$v$*ZVC20`(m#Ea=R0Tv6a|6lcJ%!Il9$^`L6l=6*qL*xW|g?6jvI zY>67(4dNL7pctciGeubD(Y3Zpn^vS_o@)u6jc(b4j~A9^@fC+{NGNVBjkRch(QGooj;Ztlk5%dFgoWm*Hay zk&D07L2J}2LtND5_P%(Oc}>c5d;&{4Ki3OWK@kRjor9qskGj}mM6jvf^eApOjvKfw zbRW1ANA6M7ZVWe2TdHQ(PMoPlVY^j0kse7$uM|~$DMGl^DJuM^km3du7$<%+cGv8-wm8$4LL$$g)2;{Fo2AxcGdtLh{> zroXVma-N`h8}`hlXO?V+)<`e@A_t&%rj&N7@~F{K-6|5-{m@VOWHHYIEK6Hr>%$j+ zk%P{n0P%yZ}Q0l@wOKQ6ZOEdl!2O-}nNN50iC$%x;s!TGZn$6jDH%|>V)K2zS zIH>xz;|k^1HdP{r&3jN&Qz}jXd@hg(N}xD{=XM;OhEW^aI_V+dir!~mQ3G5H3Kfa3c&x*;A`j$Tal>s_+;C^U;!)skKh=QS6~BOIzT#2jZW-=E zKB}&^Et=Low8{Nt&pX&X_L0HJUyd}N8SS;+RCJ-%dxs7 z;`)Tcc;q(TJjn(of8;_t_tx2s=n6$S_1ewJ7ilXkV9)L3Lo4@If0e@peYkkVHoWxN zUHnp>%Y6lYMfuP<@e+qa1^GR)fm5*cE0B^4d&YI`8RAQ=vm4Y^Ht4P-tvc}<;FCU{ z__LW$JVm+C>Tot^`c@y%EvO-xsT6Nh2Q}^4mS#v&HdBvFLjs=`nc;eWjmJ2<_>EhRBX={sMPo?9p-&wr|8*g>Ia_X z9&>L!r9SX;kVv%NtaPw-9%Sl5kHS6E`pRaLqYoBnZ}vJ2FMowMQu-FrB6rCq27&1R)kINR_Dy*cGk_k zB|ht6le?ukGx_D%?UrYD>`|Nh3ms6nXEhCrdW>O!Oz?qlXyR+muAb0~#%QV&#~AQ& z*pb-kxKlg!C~!A`yMT`<=0cwOut%Z00h~cM*KW{LyY?t@H-4+A5j2EX%)?bw3AAuD zb?B-TJ=S9O7dx=c0T%olMP0@}$j!-GD;0{F{#)78@xafp9qf$zl>1$)D>Y@$%?<37 z;;Zywm7&vXWRt6gKXRrlU|-sExnD-NQfT$CGvvl@v-d;K{KrJ+E&ZXdu~oCHzvMxp z6za!XI0rj^)ip>Q&cT|DJ?(BdcL5(SoYW&b^3*R}5W2tR!Jyja8cxbJU33e z1+s=bb08Z9?#6QkS3bdr?u9sJz1Xiz;;PaN({4*j`5o4X$A~mk)E)m`;1DfD`SUKM zd;$k6*?Mt?2R`4T)w4JgTl27@B;_JMZ7!7xiKUv&p`5d3HR-D!>@reN4IroM#9-rb zA;-ZTOTHTHS)GX@cOyADHcoY4q^wpfo5NYN%J1-G(*<(901KNSB(=068s?dN0EbkM zRsn~70G}b%Oj$*?aB(wCiU5&<0M!K#frue}LOHY~F*fHMmxt;Uc28G-w&Na!?uKy% z25?15kA4HC86Gy)eKZ6MbP*D6jkhCDT@JONdrE=7?7_e*VV6*_fluz?Nv(qD-C)kp z@7!?INenzro`fc+#+WXAG;i}aK9HYNo6(~V9USjqVNLRL-{1(hK+X>R(erl$ydoPZ z78v;K=N^hMtjWNw_v1RIJhf_-gWga;06ngbHy%#SHs?L}Vbi;zoz$3iWU-aV)O~v^ z)GRggl{k?p@aCR#V9=3mbk3n?^}(|8!Xco#(Q(B31)}7e6w;S`8C-wl%lcfNk@N0` zcJSu5tw-_FONB`xel+u~nN7aN$ddRj&*D6672rK}r5sBPKM6ma$*h?x7LO>>thg@^ z_*fvXxMpVZLq&Ls7IN=2+jC~FQRM#02L&$$ek`Fo>$1)}g3Yu`>#332WwB zh0sHqoLhid;;(;bwLS{o&8~dI1soiF)hbZwNqOa|PKGAkc($EW-%w#%nCfMQh(fd& z!V2lnb3nqL4f!Ax1@l&a^@Bmbj6R^t=vztGc|7|OQRHqkCmQ%hj?=5MymTTiX_AIi+It>#ac(?E zpY5c|$>^xGHCC7%q_C-t9xPD#dmtKJ$Ht_O5eynN$_5()kC&EUz=Ixp*4$vOk*@6U z1=-uTHrbs2pLk zV(5Z4%&b@YHOw_f~ zpL@tPk@jcmgPU$p15li zBv_31mqAo&atkvc3TJmo(l86M^{+FBv(i$g162bZD1RLUt14j&>%J4sOLlLZ`rOgH z^n|;naNw15qdQbdn0h+dbaH!|6p*{i+>dCX{B`rULKyI#zY^3K@YF9{Z2QYb$<^`m zI^mRat}+$-csE*Bxet5`y>MDFeUIE8xHgcdu2MyTyYxBB+f}8~Ew{Wq^DU=R6X-f_ zJll@Nm8NSG$Tj$c?i#VIVw`DDs@k9whJWrW@f$2?4?8=DS$m>%4PG=NB_naCgaLmp zZ{i-B?Nw%WgMH@X;Wa~ck0sQq&GUQTh?9?8VMUABZ13i8hiKSc*tMy2hfB3E=Q#6m zK_^6ZGg~lg&|{;$8!xqEcIikqnoV}(7g})>A4T>fA6yHv(O~e-l12W z2CAq${Y>Dy5aJwY)ydQINn~|*^8(jkx#t>4{62vG^7UF#Oa&viuSXmdHQ{?o8N&@8 zc+mzc)jSC|OpHaKFG}x~-%08DUN+NT9GlpccVjz)F2DXT=Ul}LL||Hfbd>P+`5 za1^3DPx^%%84InY7Ke65Y`ajGPuPs;uAQl`<+UclF|u zKj@L>+ve|uARK~31afXRvHV3Brs>SQYqt0N3T5VyPX6X^g%EZCbH`65Hn;`EZ~8j1 z5}O#a{Bu9izah@yU3UXNq}bSEN~KCCA+Z!2;A88)Hl}+V@M^BFyn%M?>&*BcTLVx^ z$b0OiKNx%6{q+!H#V@qp47_;b6V1xh;C1YSjo0mFL&OY&4ibu`t{N67(4`Znu9|;a z`2g0)t#?axZDlfo@P?5CrK)cWGl0E5&4;k2o9I8?J$;GLL+3AtP<2XPfuiIg4Ff|? z9&==!cLh0GBhRwk&wOtFf{4rR(k3G!F!Y(b&Y+L5rZ;~<1O&1oMQQchVbMW5;H8ra zW#ZBHV7s0EqVvW9oT*+oqbT-h{LhdB{D4E9Ewti2T&p=Jp$KbY$lWp>$O()NHDV@hPk|@RyZ{cL zgr+5JxhtTHh4N71oa1iTuUHml(ZT?1?pPLmrhqcn=5LBX&0wiK=yu>`Zukkw&pS0` zoP3}IMd{J8`^@s*NxF-p^*Wacug}+sd(JxZl_~FfKOwQfi*?bT8JupsHdXU#lF**5 z*UUFQn!lo;>!9aFUqmglwggNw6d7~3;9|Z*Z6s-E8&llN@0(GeO z=r4>gi(7g6LY}%j9ksa|&lz-cbR71%CpEbpUCiiiKqrw=jYBAMC7OMc4Cf-r-NY;I z2x*9BBVrDlzbnGPUnR-`K6QywlB;3(ZdhmV?bMs?Ge7TLa5lEab@P`-NL0FO4BN>! zW%1l6pE_NjOh=IBJaMdtVYvD1J}*@C3gueu$;sP&#_ZHBB4rEGk_d9T&s}X;kDP*> zw9RLbFZ7?c+exU6;+u>7JnomTGd=m#y(oNLNKAjb*&HzrytQDw z!dbhXf&94JLY@YqV$E@y0a0Xp=Cz7L9 z!8lCn4g_8<1pMn|5#P=8r#|`l-EV&L>B~<){QSp%`y{Q=%L#r*dG3=+bko~+pT9dk z=|kgx%_ns?_+5w~b=A>Rk;c_C(7Y@m8An>G+6h=}_~bz|F5f8`IZk zZ=`)YM1>1HsZfQQmKl6-mJT}Yby)u8Z@+x`{M(;?`uW#SpTGO^r(fTGe*s75Z-JxK zNd9(I{24Q+=9iAE(if#JQRJ@gH00|7VtTlSe5E3Av~;^SPIgupy6Za|P5MGTjHwcw zCRd&5x{bA3I2P#F>9o%5s)uChH(!{&!M$6_^skE!FL7qnBJ)MZ%f%WRcdG1~Er5KA zmgm8?cRBotgTFC-0zEMs9dTGa*wJ7@%=2;@CKGhtw1v^TraKQalWGZ6y>xtq0e#t? zOMsr_%d#Wv)&)Q|$fz6XaP3un)B$+rk16L}Z?V;RYRNlBuOtFm61yVUiyG=%Wxj%S zT6|5Qv!;96I_Vk(oKT2JTgF39^s;v+cl!6Lnab|u^7?n}l!`1x-fo21G44vhd_8S5 z{vFCj?x!tgb3c$X;1eQyrdgh_JRBg)eAj_Z8VMo7;nqDgr#bxGDTDF%tbZ=29 z3}1|0P{K-LB{4?Pu{L%wZgQWmxzPa5SohKb;6AZD5|S8u@yGGB_l81Sy*iQyYjRZB`EVGdK=6s}VVHhixd7BEkZ;Xq@}UP1TcEc4I_#wn z$j;ntcD*B&azV!jSDm6y}r-8RicXU-Bh33%~m!>;v_<;)Xi$4F`7QG2eatbsg)Sn{79| zLMxvbCP{t6fgTa}*?s+WYRyv>k3bO|y3N`tvP+IQvC-M16EnIS!O=QrJ>-bs2;Qap zLC%)j=s*t{-4|ZhCd`A`8ueBXVecz48$rxEPXssFV%IZ*ivs_OZ1azm8G5G>?~t&9 zS38r_AwQ1I`5Xx1=A_S=mPSPuWA47{I@vhUxia!y3Ci0{33k%)$L6)9>nxhlqZ{6L zUv-_5D`K5oZiq5eGCBhfF|U<=Q<)Qkj}>S38`X9C>4iSJ&}zL1O7>_r^1PviK@OYq zzQ^>ec1r0^{K`}@Z8cTfSr>@Iv$9m;Kn{tQh_uhn)KdgFx4uexd(`7nKkHGGyR|q; zJ#Z*`T}JBDY*<<4;#1dUVk^V6)7i5*j0qa)_&7W}gJF`PUV2TIkS?j56Q>xYqviH!5;GFw*FF!BERmbI#vBD5Mu~!-{jeX~x4-NKO(^cUIQxL6>d%cU@ zS72}4>`8U#p0|q+P3lIGGV=qE-9vf1FTdVUAeRhrf8oj7b>0s?iPSGV&_j7UxZLAD zpsO4^vmer+^WtZH;loCEqdIZkwd8n{&;zkeGa@+qCTdMP?h?{GV5_NX^uFC&>}NVp zyy?8}B=RSND6fC7F+ro9(xZ3ab-+jA9g4wQLxX%rsZ?)UR{tLCw)vXt4Khg+qku40 z<1P!liiOmD+mLT-=_*zIVN)1SKzqxc+I_)wK|MNUNS)U9w&3se!V}HpTqDGk4^?x8 z@&V{BXKqorF4=8ZRFvu#=0mAeW;c3pt-X%1bJYb_<#=Ys@$ko+R%9~W)ZJcE4h@E< zm@E=e!0>*b)f!Nv&w4eW68Bl7tv6qEozgR&oHMRYD-I69eVXmL&0b;^I$v-70!{$G zlHpyz6F1)2AQTGVeZh4dZt)I!x0PXm%4C};HMs-$VE>6CjN{}k=>4ASv=8XI=jo!@ zUZ@D$+zsR^MG9Ju-MiCoX0DCvt{JDi3`vH&LWOu=Z2ju5s{;W~@anJU1LE^SX8#uKK=>l->_eofsFnkDcoitn zM2+r7a2nJtU4o*A?(Z|4dGj@;EEHkyV^?2eT~H;|Dp#&nV})d~(}UbeE?i0sX;$+0m6Rf2BlE0(G`e> znTHxxjtxHUzQj6RM%+BUZp?09_1M(M9{r5i>+VaeUxHgUvOlE8QtPqAq{hT=cb>TG z!VmeO1;xsOVo`2K&z4r!n+M)^gp?fcq6N1_B(hVZLi^HiqU%v4*J8 zsj3Hze%*DbvnPQx@m-G^-EFj@A;^@Ih9OR|G4{X0AQX9&Do#?dF+J-QLP@=sE7;lp z%|sTY4%80wJ^Tq+*Ga#Br{~@E_&kkJ`Ex5F_^++w0-UiErTf^ zmFOKkF>MPJtbEONZEqL)g?yc(^j2V7RGM*+OX$O99R-nt&xN8hj#QO)M>t)o{a(Jc6uS+BoV527(5zIKlg=i+p`7Uxv#a?|8d%rb*B_7-p@OWvNrlx=^uG~T@CoU zuXW}B5qx9u=cX=XZ^be4N7`l}yYw2nts~7Ks2Spf6$(8gRYrS%s*A z+7&!pK5}VeuMli7{TqqRh7uiLBVnYvfJS*#WmGs0V8>RxtT?47BzYIdy3wzvq6fYSA$VG+CX{n=l zu&e!i--m-ZabtI3zoK}2+=_$99L1L>+|ea458`iw;3;2Jn6;X`CcqZVp1CF;TZy>) zyC5#$qb7d=&*|sRntT+w8_gMVtH~Sk+%@?qbT^#4pqtUfF;S3{)9CiNg<4SlE(i%q ziXlFLONwqHdrvKnA6pT(LzQuS`v7i--GHY)?66B>CU+w_Lq57N7xKgf$uMv?jI*;o zh$RL*@sk$C?eBq*qU7GQ)3e!Hr5`QtmU@d@(6Qevf-vaguwT$KANDA6w;pFkw*bzN zXFlyw;BGbU0zRI!3wX}A{M^M%V{Z087;uYS4S3>< z9!Bm*a0B@jybk24AM`MEKZY~tgGE!&o|>49NKGb)9rxpA0R)ZI3FgdYbh=9uMV#D5 zk8y*KyY&wPx;<*! z#){4~)ge&i=8COPSb_nPAY)5jD1(?FeU|!GsX`s7(Numl0`c<1@>*WVFIWUwUv!B{#^zl_d35ShXoEj?$>k0& z$D|Kk2z{N{&Bf-N4u1`VA-@d2qqc{@LvF)Ip}V2n1$~5aX7rjlmWv|yV>#ZmqHujg z?*uX0?U>uoX}B%Mdq4a=5Dj&~!hrV$ANdBP8vYl6ADdu4{7n#&k(`-^sXKiKhMnsQ zE0#c~!milUEjqgL)|gC*2G=}4Kd?6l!RkJB2|7~UMlWVr@`5jrg74=&4u1`V48QRj zT&|wStsrBR+to*@p~uZ02x+n`U>z=x>GeiII=#zlxV#oIy&K*&(065c&VAtsD9)*n zgma&Jsg%S9dZh>KUHcK`S`>{?H z++E9`$KFC5Erj9q%Z@%a(t7xNA!hU@8Sq~us>@>E!j#v>!zb65aLi4GN<`Q~l8cAG z6=DEyWOGO;U%>U$u_7T`WxiJ`K^~cAJrG59PW#NAZcMjHX>_8_QRp-uC|t<-my!>; zL61zc9z0eq^jYM0RMPpKct-t4{)>tp7pe`}Y~HExVVk=FU173m(ZkL)*OZT_B?s|r zgLQBmN$Yh$k132E{ziyG0 zPEK7r=&$!pW86pl4n>)jVMa7gSp~%A>Jv;AtE3&Z#^oPF` z;)1Swj!RH+y6U6QJMY4djqaA^8p13S_xsG%71t2Y(1Gd5lSXn-r9SdbZ9?_~xhzu~;>jX{u=_e?=er7TBj8fTXu{i@lJ`)w$PzZ^pI5DP)CWijHA z7bI8{zwTW6SijZZ4PnSFi!tPxpZBQ0BMtRV{II!BeBq5V?z}l# za8OWMfjEx{Yi{Ur^}*7lzZpWee1<7)w|yy!>63i>oNu0EE-a{d+zYn59F{l&jsa$x`s5C3m z2yHW8^k@^p-v(jGbTi6x1lg@}=!GwS7JgUrXw_q2-Uj?DQ zGE14qMdx>R_a6Q0yhJLr3_=&(UjI`sBq)*0VsQ z3e;x(jS$o*@ad>Bjluo}dIi)nzRo+?&nCl&;^g7)gD~WBYFbWj$P>@Jg@L=(IRmZ} zuBgU?NMmZBi`L z*^<<3Hu`mmgP9eoXrUfk0#s3dBZPsss^mPtXAWpUAIe+(l@QRQ+d<5u9S_4Z2Z@40__KWZ39#EGI(n%9Cc%3=}#oHcK7N&}I!qGyYl#L$2d3 zeJVqqTDu|){f0Sr8oiFE?Sh{8Q4b?`BRMm=g|LP^aR?g*?#6NRN_NVK$YpXUgca4k z%+bsmR2gMOo#WdL`DOBfJhRE8z}+y;fM2eC0MDGLhE4AB<_!7e+U>AsmL3d4cl)a# z?aP=O%1o-wz##0)m@|j3!42F8;*rih2f209>8`IS2nfoQ&P$t$V1U9y4XJQ zzLOaFC7`bF(0Sh1Io;%buS5oI&id8KgRXJ}8zFkC3ah~O5hu=6DNcl_av*nOI78m^ zRFn%0dghA`_DG%zbT^1I=t@+nzF*K&7og+V-8gO`U+ZBT&><3-)fLudz3Oq~ejGQI zKHzo5am@4<71Njxm4dkficVjtQNNjiAb}?tZ>#-IacioNUH1Shmjx4YRH|D$`2_9SjdPj~bT^QTN z)?y`C3h8brXUH3``b;3N=5i&2(a=*u-qb)2aVEf<0lOQ_*?Bh)Z|6O=hmRh3e>a3d zHxF;nb9?wOb~l*2un!M^VbAR0!_eJmt_XXV2tTXuWs@wCh=Q57Lxeq@8_yLKR4Wd_ z_I#B~h$!=(FNyI$61){6!q>SWU0DzghA(4pyHv;u$}EZBc0`yW4JVMh0i7W?FK@^* zd-*tYH=r}<)_ySPncEL>=x#(;2;nwH;7l-^@+{Jl`Z}{ioqJcIZtmyPz{SXP3*K zo=bTy_bhnMyc^bC&TcRZB)NEWHRar~P0;XuT!*1m&a&7>@=S{a98w>8#Wt}45Nz+p zcINLax-oy3Il2kEJ2$Q~5y7`hwS%{w9NJB5nM1utA?+{k7JFS{Gnow)6& zOD!MViBEbQwj0r%u&rP*Q?H^`mpX9`1HV}W(a*WX@WbAjBe^(kw>(#f+=h0jn1ZH^ zpWWp1%I1?mzV7dWC=Bu*8tfX2o=Rbkm7$-^=?iv`rZ4_B2m^0RZwd;dt?vn7&@-tF z72ubdP&Q(DKbC`B!R$V+ZPe)C2Jet9(x3Y(b(Z^C=9x~5M=mKe+!m%EFZ}HM>1Dgb zVZ2U0(d_+tH^95$oUZ#yud0kOw>ER~*@9Vej=8BFb3~&We;7P&DE!0s0_I_?e!klW@leSFTl8`ND^N1_9T!T!FjT`GRjPSc!< zgW(hJ?}RYygm=q=PqY&cl@dL>oJ)`5(B04uAyHP>qNh48yA&J>A`huAdu;w?p8S;% z7xZ!BkzqowgpUIKlDsEAjNL8K8FoAIX7I}O1cr$xuCm%-c#&g=ysu`H; zu6H3}eVzDWkBx$G*WGCDf^K)6CRAnXPwu-O#_m?<4EuH0huKr#^)Pfdo-^pzT_0x8 zeAmOs-EhvvxC?#9N>vixUEc?zPa@&&PQ~zhP;HO>E^f=!pw9@@Oi%|6`i%RlC125E zV2@1(_$whU=&g`tPWz4+@7GO7e*JA;Va~2Sh0S`=gUVX~b0aw(ePq&E1p#n$8)mB1=o|5M;(Hzw zpaQuY$!VLNy2{<=2ReJK3)s+BP3+x|@Z1--)*1Gzoc5vxAceBLM~nB?B)G+5Ou-oDny#q$z$liBsY6ZRCAvEg%BFv)}kw! zy`mhgLM7a*%vKL>!T`A&&OsFHQ!w4?2MZx)+??u^soi{R-xJu~fUcLHaqY5tV@5z- ziHc%+X0r!ZA^_bD=^C8TgxtAlq+Nm4 z-Rj)P-XzSl({3Kwo7P&UP1vJ3jK2>;tlX1rxHPu;rZw@9t_0;8C$$e(*Vd!o& zhg73B5mR`td;|(*i0Mh+RG2UMi1EEZMfMWf!_LNSw>oFoyLQDpbSO5gK}@$Dz^op| z?lxPsy^}l;$3|F33@|eqqeNz=C`%JIn~xv$x!9H~?Cu71GrH&t(;o_I@a=_2cIy?4 zy!GgCDC_Tpm?=p%7JSWG^`qNPXnQD)%^b?^a3>2R0c8!m?*38;?JMQ|S4ek=P(>ua z^v6DN!A9^a{;oz?g#J>90)2{V^mXYA$KX)GO4_Ok+Y!I(?j8>1Gh}+VSSR}Eg6;dI zCvW8@Y`GJeJ)Fq+Yat3xy11h{_5B0j?#uJ{>RnPtuk`@oEALk73Oxu-IrckG;>y7H z+Pm$Uul)WjZR1xYpP?S*)TkT7{POhHac_D7*oc(5ddUFZvgKGc#Tw@`7iw4&XW(35H{V!DqBrJ&gp{Nk;BuN2=yfhVZ1ZXb0)%_ic}1U zP`yxJLe&h`{LN|W7wl`kU)MZOyI-&y_q{B*y|ArIq7wiUfPNg(Va;=#kT0{?gn;--69*qo;$J$WA~#vdaf&}zGC5jb>>x1e=H@hPSbTRBE=qCd^tORt{)5W!y*`wIq=uULPg<{o=+dovwz|A4Ht?Di5 zKvug)32yhcpU8FFkFTK9mfdiJ*`S-*gV5dBZeHOFGblMjxj4i!q+_F={LCQe zRFb~&6su#E8-Ia>Vec6{3J2=gls*BSaQs30eu|08_}8itetmLpG`a*#Kb`8rjzb@Mz(STzc5%eABjaT`%LP64aSvk;#c+1s4SVVX zABOG*apR_2^eP^)roi&%YEcJAN!=+gpH(v;8_N;{&F{+r5C;>{*e6uwICdsy+ zq*2jo%1ZF6ifm?D4P-j5DZc`m;`7b!2~EgFpev8Wd}>cmTp!EnP-F69I)gquy(XogOXt4wVeI}Y2{XHS zdNX@wPalWwMs;X)(Rbm553^rWu&GnoptJ{|ydytTpxjiw8fmQBkUaXy(^!TfW3%66 z`XTgqdND^2Tpz4UQ7e&yNt(m1&(`qu_hYc6`Yw2`dPSJ;I`-Q049h-sfTKCsa0TmT zo5b+;R|d~)sQAN)lexIVbHlq*v^oMqlf9~RX#>FOyeBSQ#v)tBoxCTW41SkJWA}HI zYqUZ|QGNEZUDV(Cv7MpE-xbz?7xZm9hn&c^O-UnL4t+GT{d%Lsck}$IFM0p&H^2Gx z<)k>)Z8?<}0!GJCm0X~Xt<1PI#h2K}$#oPjVELrds+|L~yHrM&{=tr(KyL!#CGyCw8dY zhY9AqvU-=!h@W>iIX1IjK8~nir$?07$?@weVO&7-ItOx=lm;LhalK-1CJNWQbXA42V%dMRA ziTFsukBvuRMKz*)+(hw9FZXS3&ew3SE3_TT{&wOk1rox+%m;pbmhvnSN`o)rUPZ%) z^Q+`E4Vx!N6p zBG8R``#A3Qs#o??An%*`RbQVA{{;5vijLuUIci^z*3b7Dz*j_(CPXiDpZA8@TgdKi zG{>YcGYGgjbMZ_M%j;$K@X;pEjePq+zCl>(l1LELH~K;w3tQkWepJ!-)ot&yM!|&j zPP_dyIRdXTbu--Ra!wyMKl}>!srnZM?#6M~S+`6b%pP=mSDv>b zsZ*v;G>NxT{M^=jChs;c&&EHIXvSA=r<9Kh3htbx(dd1lkATc&ckl4EOU^O{)YRas z?kl$!@i!>VD2Sbr2Bg-@)21kvC+_34L0;YU9?^7KuIQM-zx(hp~@p6#1 zdW{YS2Wd@GZ-?2VH7ee0$M9ABa~*oJwMy?n(d~qKJxh8X$NpimFt1E+NlXT{9aqhhJ-d2(~XljixZ${yiri|E{ zDNjA|O=!91>`S;eO0flrursnn`;E%Y2Gc3^kq3LMCQnhqvpNE{n!GYkuV(Y6Kv&K# zU(280Z)Y=n68$B90^dgn*OJ(||AHPth{Vb@YF^fNB(q&eIAVKbMnuv=Rq4Bid! z1XjvlES*F4k_s)&$emW)#(kh;pUvBw;ltyWH!AK>GY@Y4MrOMfs5Rr(Z|F(Th0ccl zGJSMs2b^Q?@=Ca zPMWpN8RZ2RbIrbxyDD}&W!)ac^I*a4 ztuSxc)|2hR_h()Ul@;Ab@>!A<=cOx5S7Yl7JdgcC^H$)w1X;mX^4S{6XMHXAqD~B3 z$X0y&N;ISa<3pxTech3v#@R*c*03Wz(^I!zc;{Dw91_JhO{0aDmx*gVYX-OrlOnVwl6DdJGRh6=f-%5!F4S>Lc}Xul{OM;s zB1L;&&0R0s!3_GD(XVf8)JDo1mzTL$6`jHImD~lr7c+*{K|FOD4$gkdTDgr?GJF;H zI%qfCd2Oi?|41vf73QrqEAXItKjQ43pKAjdER4Tw}8XIJv23 zc9~}f7!AepfnyJ=#y$2dTRf;!byrUpleNRdGBqOUXFiDBrQ0pg?3fa`eBDA=Te|N{?CXM>L1?pkM!%qs$mW8cII;;NcdK=V{Nh}3 z%qLiP**RCCNzg)&;=Jt__Tl2q>Y2yG!d7>Cu~K-}+s4k0U1D$uJgX_8nS$xVV%c^5 z*Y$gNkj+}Z+H)G@k2$L4*R`hbq_+vg8^*Iq#%P3SOkH=G;DjXyt({=xM5 zSIEy7Jq+9p18#xLOr|o?sZ1TngrU1J+|0X8x;nVy(6C6|h~P4F$4gA^ zviMr=3fQnOSt>i2_yEMi)BDh7iBF1T8<`0DKj{mR(}_T))h7`$7QyTDu4 zX5dq&ZDH(wL}zDy%stO`=s$Mu`PHF66SpvQH>R^yTo%O>*{sLMk9_;kgWHJ;d`Rb! zyP%(*?n0j0(}khCWjTXxp3bl*_jFJ<@50 zG2&TX``6F~xGdkORd(8J;$t6cxB3e1T0Ey*&a4idgrY2rGUkPniq9g-h=_TBTcHJO zp3M<$mSXv3b3vD=QEpeqEMyIk=!!4ju2nn}yLT<9t*BgRXItXZbTpdxb=xoCXGnYD z{@9TA)$86XR$<_7OlQEYG+kB2QJj-mv?~nV4e2iErqHLkD1~%+Z+aNGTdAu|flOVi zN+Yi9A}W2hzsItyl1>`VLHA)EBIMxRaPFE0F|#ufq+MKz&8{&Rz^@VTUyITIWA9O> zUwQ;HR4H+A+UAlQ{5E6xNI1s=3h!wjQH`daH27K;0(-`J>-((K|$2L~UC)jjNe znI=OaW_U{Z3_hkde0c^(LYUe1pxcPIMYF6D=G~(u`?1yOS5cj+)6rs;zeeH$enztw z?!?h-7`PkK8E}hcwTUM^V>Ari4eH2Q8Rf;NA=Sp|m{p`Y2YiAgS~rCA_C z<+*kgI4iO(murV}uuH@#wQrA&z!ZOjgn9OrT`85NfVnrdd;z*bKWIV#u_Aa*`P%eyEYUpcIKWMQWkKAvl;y)(UHHzmI;)b z9TE(CZLn&P;3bOzG|T21u}sxGcUI0Q<>=U?WAT?rGy{JCns&_vUK&m%UG{SFYs9UI zqIY9CLl2XPAur~8hv}QvDlF;dy6xPD!MjDehUT`KFct8U=W29f4-`K%>z?&>kCv+Z zRTAdzbmO%L?sRq)^{NWzDV;Xkb>G9T-i_<* z$cs=}=(pREUwH73eDl4XBp*HU{w@ha&f>$aF>lBl6Ya=AWjpkzrwc=O3v?HB4RbRC zc0q?YOiLym^l!xO26iY-5Ag;z$Y@{CPBafOK`OLsI;;2dP8NeiQG_o}vDJxbD{DOk z83k6{I?o*J5@up0<*?RtA+13V=5YQ(36`X=6)q^O=zcgij9!tf*`XE~^m@>TtLeg;>t&D4HT%0H%`LLLBV8PCAzcu<8_-dvB1GBSN0^xB0tB|mrG_sU2ZI~w>p z^L;NdQT=kWM`9d$Ez^*|JPVC^;D~Ox{#!oD5=x@%!%FV&t6{oJB+&)Cp6J87)Sl*F>|O=l@ILAaF%Tw1>J#lRjTjFXfG zpzCGRtb{?=*5jjoTzGd(f1JOpU;fkZ4ztIg`&%R!kXX^;tp|;0t_BjrXmIkz6YN1Q z%Nf-JJ*+CP&3}&Naq$~EbSHimBF?a9s{+03_{01vz&ZG57?lT?qc2Qj9p+qE4XP}U zw=T1<4@=7zf18Bx?)Z7tD|fP5_7PFFLuZ^e~j$IRYioupf2 z=CIk_FmJ}mt!&O{LtVcp$fpL9`>}&@7EEhz)=5ytVV87wb=sVxzLloq61zH@@nP(4 zmH{>!z4+4a%~v8Tf<`qCXM*+ z<)?nlPot;y@;dU-UAU+?c(EP%9I-sJ6PlXh@T+RQGCs^kRP`*g<#yJY4ifHemP)|6 zki?xXJiB<_8p8v-Tz}%=2DV}F!n@_WO0iZ$ay_`AY*|?i$l9db!A;RNT&499&4-)4 z62tVpq(Mq=rq6xt!?t&8cjCS{PKg2DD)txn%vBs+_b7TdxVySl^lebKx=b&} zM^7Z%J7=VfFnG6sXT$_iu*Ak$C}3$iUMi+U`yU4W1v8;P^3kBa-mI1woQ&@D;NK18 z?Spq>zCb>BNOA0LY*!ednZz-*RF;Z{Hs0s%QL+g(mdaLty+o04BZWOZ@r~hWB0Z{i z*}E1b@&$$B8laq3mc=+#dlZaW2YY5Vg)~+pvTLv6=dNGjkTe;7FYCpGfQ!GQzv+?E)BReWniV!5-ozAQs_cKh17c95Z|Bs%_Nl5Gp;hLo}Uf%Bw|pXiyj~-h?DX z?iL+SU36hw1&oKE7QG@N;b-+PH~w^X`SI&B2rPcDi0nJ~i3KQB_Of-OGbhUJ0y#gi zucw$1^!2kF=y3!#!RVftg(_sXI~?;A3Rp_DyKQqxzKn4YwNvRZpayoMZogxQtiYyJ+J-1$%+@q zzX`Y-&1i-947fAoOx3xiww z9y{y)!U=NE=)0K8{7cq$klD8TMQZwFFlfsB>V#Dz}0qHvwogqYP=nT{~_ z|EKP~!>y{W?%^0K*N6>!!yXm5XZN$OMgvxC7(xt+MkyCT=}nEOvG?8;HAb<CuOapbF$SJ^mUaRjr#7ZGhd+3+jf#BP66E^dibfP=H|H*+=;ZmbjT& z=sI1mNH&_NcD!R1Bf6JSKBACc3uS)fWmn2oax6w%b{FR1kOu-S4!iF|u_T+ft_jxw zdU>}iH@s{z!E`2J>Q3l*yd@B%j=&|y%ov*PMxpDT>9WCu2kx$RFikvgru3~;b8E2X z{%Ti3m-D%D&ApbJht7&cE4ADjKraKl61kYp!H@?@JbQ1&IJlpVG(8T^iHR)2k64k_ z$R-oSAG0J=rgQmWG%N&$L!C`fVMz?lr7Z+}L&cYJ8FHU;otu9VBT6x~_ zdgx-24nDwOl@+Zp?HjnutXpN=i!)s!i^mZcy*UX7^))pw^-p)4E4| zqowy_a;Pfle8eKzcmmxQ5KK^(WzctHf-KMSvtjWY1ib(yoIq8>k-aB8eg=IQ$aSYg zLJe-g4EjlCc>U`Utkg7@zU)8YLtmBjpeLO`zu5Nq*M@!BegZvQ^xH|UD$hPB^@-E} zv3>T{rZZ6!3yOLMS}6;dWx|W^A;9#3^|jX}`%OG3P@b;iYVg?o#GG~P+Uji+BMP?W zAdcWu{SXg&B!{+xJ_=dN>Mhz3!j&JE;2H9%`UL-Y$iQIRgN72cuzV|D`7}}N&{)Ru z_7>1r0l(C~^0_YG_g01e)VZ$gNx{lpOo2btssn1>K_Vc5Vo(IXsa7t$T-wmHtz=t@ z3O%H*@T#rA=P;bAo1@eFk`_qCWy0 z=U#ZBmTVOLywW_20`nX7>(jxiCuTg%f=Ld4hKEl@;KpjY!DAU!jJ(P zcP%5KG=T1knYiJV&_#+Jpx05dXKtG!ETWbZ)*QtcvCrO!Y+20Wh%oMW&8#GrRJ!I^ z#0tT+C!0LO%%~4{n52U&O6xX#gIHhEkK(W+jx@1OEadq}&)8PO?)TWq#|c_!6WsuN z*|E|GdNI30OCEjM1&OoM2hZ$=Q=6g2aXak6C?Sj$2z*@3mRIY)%2JX$>}W{yB>#C62oFr#wQv`qV?NS6F*o zZ%LgB5M}QI0uk^UBn!=~R{=XW9hzN_3XKA}?_GH0rh6A^=widxFS_6K8HNa4wr5$) zSHJ9HdRJjDpYeX#O+Vw+%PyvN920`gSasGpMw7sy!thzg^oa7Ti;0~_?$5eMZuzY1 zp^Isqhwf|jkaFx5qP1hXPp8K&rgate@~r!1w|v(1(8ZjNGjTb(82(--D=EXv&+=Ih zm1n()IR$i`I85d*H}J7Rv^Jj6VbyiDizen2sK{rIc~p?gLALFM@o?Mk7+}|GK*;VC z7%y_@`Hpd{a%do+-CgjIVsk~SvQk^?03#vRaO*QMsq-hky5qn!uHhV*zT?zKUd-t{ z^ym?56KHHFPnn3*nI+aFn8ayN0aOqkdudj)V4t za?!=4E`(`l4PtJ7!-piFp?zt)R);>cS^z;drtmB8W1U}l%dt+s^kQP?p;t=}^_Lu; zjJB6vyX|FXiVAxf>-@4?j&&i{sizVXXs={3Xh(7 zJsfBt_k;Fanb*UW%33qJ>`>G(DczB12pF;-MF>^y8s2bKz()(-^`{McE#lzop0lza zMTBFH))gq*PWr^DRb#xwsPc(tnClWe*^Z(_4lZ?8qxTYZy3_86{q@kOx2U>2FMCnM zF||*y$f(o9hRKQdl8z9Nb7+rjkTgSC(z(4RCUVqEUb`)Iu3iUUD}~+{?FAHv zy?Vo!%WnD+uU>VzAB)Sqj-Esr=Ww_4KD55-x}1)du+pj*C9CRUFA6u7?{y`&5SA(m z+~tbndsUntLC!DqyMu0IRQRMM3)MWZj4-#{_ zc10)VC(sUJ*>}Q&r)e-)Iq=&dc8EYES!S+4>1HB-5_U0@qo@}wM(|_}Fc*lsJtNsB zz-PFOCFbS=`D6un%moIT!9doagmCA<08!&ZUDaA_UJqZ zn$~j+4wJS*@c3;oY*OHg>Jh8AL7wRfin>8tZw@- zt#^c}CfLhP6f{nZkox@aY=muflm8F#&8`vN>gN+o)k!_g#~+$T2V zn1sx0(kL`{wY$7Vz2;(lE(EV61D^=Gl@Rj6nxpL$FvQ_e2l9>05T|An#u)Yz&N<>) zjl%T|aIgk~mII0*am5gH9ej*5= zQioEWOJZ5E!1BlVz6>99_`-H5sAS*;O8Y&)1T0MRicAJ=82?~5e9%)JUzq9z!a?^d zUX^Le6}NoQQ{_R2^qvB_KjBdkC?AGE@noL41iG8v-(5JRJp%AAJ7JB9;LJH-zLMLtHNA{_V#x^%Ao z%3)t{%`oSU=NbY4()oJLTzRG(5Kul>A-g6*$3#D*w@Dnr3l-3j$KfkrJ=UN+VL1mC zE5%r$vMPfw*1deI`(@{2J*k_EcJ7A5u2*rSG4~)MM;2dqg(kTOyUu6dh;TXo543X-OsuF%8BU8A#S4+}Vb&9d$=ImsTH-9JCy9$YGX>Yu#Dx zxUrbLj{d8)%&uDe2u+ws(}aitEFdlPqKyKrB6GO4%M=YHM$r*7#3(ysY-FwsmGi0BXWFu4d-IdGuWvEo|xZJ z&ZNfrTzTRX3R*GXnO=6(l5yfS`JHSs0RuJEq{*nmLk>SD>_*G~}ov*s-#S|~($RkMA0Zrf`^@ZCW_&KMv zQ9!;82ZPLZC-9tCzU#mn65e%$PPOs!X%mrXz@j~#HgJ`)mf{sp8>L<$8*Bpd2;-hK z5u}h0hb299%a3_PJM~46VRjKcm?j+iE#LDT4`Y`G&v|>znesJH^ayvMhG-%iO~5n0 z$Y$L|@0K1f2IJ=){|^!GRnbn&@i_L#N3GlV$nC(eL69fQ#%>i$O`iu@PTKV(8?b!o zcRjLtFmv3lkL*2YixfwXU9RAj%kCq6x$21YNeiuIq;{;TB--4Pce z-0C?T#4O+Lc+aRi(Xz>et66hk0MFVC@7hY>!SIVtOF)qAC0L?H8Kb)&f{f9yp-`pi zAxNc3DoZm$ob%BAD4>UKc@|KOT+He`avpBh?5IPGla6PMRT&>OZZV&$aF>JLe#Lpy z<#l@`QeU`I={m%yMhLq-0i`fSA-`C2ILLro$Cjk&MMpmpRU6Gv9LSOac!(1A0{wF);{iYvjiume(f<*YZ>Q~{oYpqPhZ z-8RC{lrjPF*xI|@FFVF#RMRnNy9n5m8Z?Ti%~))CC&3Nwv}?-Q-SYaktL!n61T={R zT3&EfecpDk11SzqSA|$vEPG54yBh>8N52!i<2g5B{m83d?y|{*htETwp?S&vL`K0% zQjsEa)jEIbgAA3MOhdfFQVQpu)JhVsNTMYT2gPsParlTnZ41o;8$4l)aY$v6789-t z;HUtBaZ&;2lvtLw&Re7ba6b&G!D){!os zU_7P*4njHR#BBrDCG$`zk@h--4Zy~#&UgxfAtxa%A98(VR<@Slm@heY{+O58jh}P1 z1TV*Uo3Fet*HHHW1966Br&*3yYV6}VE`6X@LURiyLt1GY07rJ+bHTT1vH&!LGr3svQg4+oMq z^AT^;CM(ZP4~aGq%aF>Jn;xFh=tCK0nt)iSv(t!WPYJF(w|#ZRmD}FP%RExRvSgb8_-nsC>|Rsxk7!p8~ED(vJ}*6nc$ z3v!iq8di3cVD6s70F+{7)a#vRC0BAe?D@_ZhnZHHYS zKm-6+9%Saty=B~aCwMfZA`N|9c9dYpIfocV2s4=)D5O5p^BAB>X)V&b;mA}=qQ#{x zY2AOHo zNsRK8i`g4y#lfKfeGpkXn(b)2py7s&4d);Yx`9=5k1_I?SdqwZm{BuK&YPcK?cjv4_GviMMIte^x{4)*$l@Xra)|dsc9O03^>UO>CBtcO` z$89;p>w$}DTm{@8_j1WiA9p==F_rV!efK2HNprO~s z+um}k8CvofjZjQRfDS8S&vT5nlR8$UHjyjL@UzL(#uX%MIuX`HwvWKkh6fsxIdW=( z?h#bGYCQI4IW>rLN^%7>TAD4ogN_8QhHgBDBES{qlt0K7nK`a(x#-Zb(8yRMvU>!V zog3a+rXY{=8{YN|m{!OFqYj#d_pBPf=S_z?ZhIYzj+8hl&X*^i@0bvJ(-8(GG6V_J z?--zu>m9M?mXm!X=-eG6-c_%-8V3bHGO+xL1D&d#;fF%2Es?Dx*knh9^HUK>Yr#vk z{E7o~RO69=HSe`2SXN=*7tkvjVF}%Mbv95JFJw0fZu{INIORMH%2iID)^3FsD-SJR zc)Vy9j+joI5enaR%;2Ue#*hrkMY!P${c-=% z{V?Fbah>hG$BY>}sja<#=g>*r2hpe|L~}2zLGckC4~&+Am&(t0Dy8;@?D$4PkXJ@J z@n!6xr{%JH=%$xlk6nBj`z`O6-EVoz%dX$?V&}szdxoY@ipgWY>>0K}W>3obr)_vS zrz_7ovzQc>lNfO>13NWE!faI9RK4A0*>*Jdu+~4i+A&?1GO00qwFA1!rUOG1(tFrL zuP$~f*ki`d?!C@6&pTpG1x(g#j}o*u9NiuhH_(WQvYIRZWgxGiJY;dw1~E?C>S?0d z?y-Zolw+U}r7xUyj209Ba)M@?jwAZqVxw*Aj1)!*tPRzNfXU> zRD4KitkC16C&*?kqt{kLU_&63{vwceXu4J*N2!-44VIBB$B4;L(0KV37Fp*{3 z=^-8=EM(|$K(8G96%?yd1b*!MD70C$2(a?dO+ZsZQL6(MA=*)u*>C zYIVjpKUSy%Iu9E7KWcjX?~;|H>A4Cu^uXxF1C zu>*tM4i|OQ=b@j0H>|mLoZIXOb-I3xEZvUQCRo{#E5n1oh9wW3=Vpp$JoM|Wo%3QC z<0ou)F|~u8rn}NoSnT0~%fMAcACg<3Zd3#e$dTHx1*?egvUEG)#u%4#j39b6D%hp{AuQig)--J0^46-lNAvC~kMv+Be~`V5{S` z>)}_Y9sv(;9BZe(f}cVNE!6~jS-YKZVN8L&j%yCOkDSMdK=fmBV|MR{%6KoUw}&Ch zH@Mo0Zf4eUMe^^ni9Ol@|@yY>XBMw-%0 zTVcH3WBv?En(5bjUHOocCEQt_<@go1JYVrKScR}Lu)OZ-!!Ap>SIC*wAPexwEkEA1 zk62m3o$Uw~rrD0*BbM#>Ix4p=#@Ecf-^)j=e%ZxJU5rWc1Uua4@@PC`xR|*;@*Sfu znV(XmmnGb*8_rd%;6diEIK#UhcO2GU@qm{F+{vj*@p|#QK0y_Ov-ob;C+6s+#je-i z@3Mk>jIqMN@ra8De2g}9!fFO~eQeJ?+r40cJ#YmajZ_qh5kf*wxH%^U$`@=5(Xbq* z@hO5qnww+YEP#(m+fXxU3pR}epPFb3A|BksV`Mp8d-Og`Rxhyjn2E*@O>0J$aj%~6 zF63e0(m&x1hrBRUCU>%udkBlgI%+#UTR#HtCZK%-z62_8L}1wG=*wGXVuUWw zLGVizX}+xN9wF@K92Nq>HUSX@oScGi$#!L6j)~#u2&wkA7qdKA#=}z`j3XvGl#uc@ zJj;oWl53jE%I*=KHwYdJ4m_F_jQ;G(n=NQ)Jsi++7SB7(xF{~h(rt{&Eh@P+H0LZ= z@IWlrcIEM6lfd&4PggEaucpg(P7bEw!KqNkF~-|eLJo%>uu3^TR1QvokiY>dUio$h zr=Z`6N1Y|$fK!d@ysKtUC3 zQyv0ddDil}qKurPd1yJ}hF6fvae0a8QKpR?&8)oRK+MP?rfD5L z^BV>23Oq^~J#rg%q0ym2-J(0#hv?Dcv*jbtnmyZ9ibp(xwg$dG_AzQ2A)Yt3r-XwP zTR&B8eKEaDA_!l*0fIv7D1osH#lUUfbU)$Xi{-ln;)p4gp1Adq-Y0m}C#ZFs-ujGr z>XR?0cqM$l^%IaXQV@|WZ+&ii9R5_%tV?C>cRx$x-*n{MQvu!Zn+|PC)dXQGYrj{> z%U4Z>-0-VL4_!?1Jaqr6@z71bYV_E}B(K6=zG?#cY#Wz1({6ZK_?`Znu-8S&vLIe! zo&>Wb_-I$?i8GUACTJA>Qd#&N4XHvKz@x{T&S?W!hYvN}NTG(CHc@_$P^n_Mx?Fod zFl!vWR{cC}BK!{Y0qON2_Bz@%G=6|bWA_Zdjz4OxmQhWMYo(Bps!7>B8odraI`q(j zp#(A-w4mW38i15yu9Q>3ufx`;u6frtk$=a0aP%W7(}3RVB&XReWRZ%6|7!9(++9M0 z5>F%unX-maB=-Sc`59*_4Zmv%K0$V?DCjhie=ouN)ILB-qmEj);nW`3 z0dHQ|^;N6`9VLY}o)7gIGTxfK9<7tI)!%Yrj}{GzJf;#(`J$~Rrft7ym788H-vK&? zC=ulFnhikBMPa9&Vxw4p&FXaOQ_PDATi%0DLAZ-(+y}y4j$tIeW$h()?uvtTpH8Me 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

KNnNSyfcUu*QaM2R|;s4k9dO2G(91 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 literal 806447 zcma(2QfSmNg@=;~sxWbb0=Vya+hZtBcSFK2IO`qQuAWNGJOYQk$~ zXya^3zz@wzz(8PcWChK`LoZ`$XYOJ_!1mLlL@#D(<6`PWKrd$VGlYn#vAu~YA0M={ zi<7CLEwo4Ww612nZKvXltWcP2$}P$>${G53=!sw#A)!c0S|1vH2n0tFbD6vXIOT02 zqJQH1gz~!e)!$NxC2jSNQr%9Q)q91S`LDm4w(nK9`u|=QPm;O5?;ksp%}(3D9?l-# z?0fnCJ@Jn?Z~KhheLfwOtIU~KUYa#>k{_|uIVKCf~IE^>tXqsttXz+q@IR z?~j*YaDV*ycJ?SwUTM2!@mN0HMJlTShg|kBZ9THEZs-N37A#Sv*Z8tV2*E3cMnh{C zh~^rTm6aG&a-1U)HDWiyr1p_7sP-))m|B?8kSHda=kHXIBQ`l*XsB)Rxa~2wLQuw3 zm%W{mRR?V{0v)+B7NSbPtoE#(Sr2V8P?1MoHv}<>^(Fbe#+U?P5^D&4mvD=)Nardf zBT);-HGG2SHgQ=KFjm4Ak&_C4YF;2Ts(w^mspk?g0La}g@gkT6kL^8kidXO&qD2fr zPqfiWRDoyIcV#G)aeU)N9zq2JeMH*gbD9+j57~s!dSA%=voq&qr1FK=3Z*s71dKHP zo-Db~NZ%KzA3?;CMixKWWuwhxoY0C1A0l*XJ_;-V0Mxz27#}UiA#tU5Vq!TR-kY9) z?lWJ_6Nps^7a6=x*ssW|fHUfe;MQXPw=%Lgeq*$;5Hy*sOBQD|CVAnkpfa0{%k&_v zROLCv4OGZ%HZVY`Y~YaMn!V?)1@;}SNu)4265tDjloOfkQ)DL8bhXtz9MaEeOjb32 zP>ZP=IGrPFqDhJj7hHxTbLKIU5~DBXU_bRfMCE6?$E=KcXi$wb6GmGop@)oOhGUyG z8VzDr6y3z(9!Gg1bXr;Gmt~G{S||h;Awvs4XQISFEh!FY2^mRq*>CAJYm)1b-I?BR zF!1EWeYB#715qP#$y$`kd-MopF>GY<{9?dc#C% z2_i>G>~H3t+4U{CRxw*L!qaTzE57&Jdr5DSucAPgqvV=6e#VTUg4@6BH@#oeP|>56 zE?@7ZzdqB|>Lzin=!0w9KhPB>s@hOnW8MmNi$Dbvz$`=3&w~!*6J0#OmQy{H=9>Ni zgJ-0{RbvxH&CnK~Es;a<9qN=F;p5ugn@oR&Grg`ULS2l9(!xU*CI$P$jdxkyS}p;` zxsiAzBWEd$afoFrlm9)T35uHlHhCA)Y9kIr<&rWdhY-sRi!V}r0tOOn9F$~MjNI>+ z-v6y3+TH$Hc&AyAwrtk3r_5xx8+(`Jy67OphrKiW{WoLHZ-M1V=b-kQHI@DhP*M@R zShP@v6ilQVUB^TA|8t^@NT;$4_+85ym9}y;=gU)D+z%83cCRZRiiwz9sf-Dha{DsCZ&( z%N^i*(K3`LM+6PdjZ&-XsC||Tk6mya6GVmRmxW~efmumJj^SXn-!I&Dlvk$;hUb)h$%G)a{5;9VmMFnyG5bV0aG9iO?Ie|4W^3@Xhve9oi zm2Q3QrfgWtHO7WF(?y0cR7hJ<(FvN$=Z#$&$nXTE%DE>$TO?g7h;8gB7A@ph*Ao0l zMH8c9k`|1+2bcuB&~$J#p7|mQVl^A0ZkPh9YC5CM#3BBLV_noE+-T1~wQFEPc?{>E zG7%PyDJOE1$L(-Zc=B{e)NXaC)NJg2WRU3%gV4`Kq;A4Y(1MNI>W=(5YGaF*Dswj2 z*wxMVTl!eB@ufzFM06f7xzeLe^eg4?`MyQ>LbXsic`H9*DOOBPoozO$gWZI5rjdDA(3PREA zbM^`X!B5M>hB9=|uyC6Z#Izm%0FlhcaZ;!>hz0ov5M}KJ)mpjUmBx4dELAY=Se);K zYy?-R&SE%qa3hp34Z>BFW_|jS!Q)w*T4@c%!4+%$6_Sf&=}J*4*%l3G&4vXO+(s59 zdy9S3zs_BkBsgxwf{QuaHA=1z%JUteT$reI$x=qw!VD((0tg3`NQK}PQzUg{N>&L- zZ3E}d_|Hk!G)1$Td0w$@m(3tWM5@Q8NTZey+m1UK15*$%{VWDiGpH~KG#{T&Uc2hq( zWc7?*IH*x>=7tIFjPD9kJCsyDg(*Z@P=4@`4xbSLU*f63UhhHy=B^%^%G5751;@~Q z)Z@a|)d}f%S01~7xJjb&zbRKMZa1wm6J}4A3`x8q&`X=tKG-e;)-K#UUc=BeP`NpD zYOhV1qkt?Q1|0^>j=fQWL<}jdKdJxo#~8}e!Rd3h0%MAQo;QQbihL4N%gpW;HuIj4jB+xG*?{l5 zpU?7HFng6dK~m5nMX;x-$z+8kf-A2&W~^0O(02hD`}u zb(r9iEP$r2QQ}$#t$_>{Hhgyb9Gu&GG(x7QrZT3MP?rnW9eqKmaEaQ7fBkO9 z`xu;Udk9<_UQ{0)k15kF?JKt@->Iq+B3$?c z5iLMvO=~P|mhKsH$+H}CyIro=f22+0z&C`nJR;a!z6j|owuut?NajE>qA8(j{7?URM{qSO?=R_L*+}sZe5UBCHBLS3R*QLmD83%9Y9=o+^CG= zM=yRejnizyGHJCxZ&<-{8O85fyA}}DhpsqTJExrJoglqgXz7hX5=oL{^-MZ4_}W9F z(6&fB+N9+HQ|_G$5=6(5#J5kB<%)YzmflCm%2q`zApOZ0$ooz$X6BM&+CTL7>iBs0 zz-QkUHP;dX#Q`X4J3$qJN}T3#hcs;k^mn4axzZd7z>ATvbiS7)la+Wa@bndkmy#WO zN7vxy^$~+3>ee0ACNvfHDg;8xK?_cXY{!=nlk6uTNBUv$6hO~Mu6ZqKz{l}QeH@^< zd5YbuC+KmBL-n_LqDw~82qHK2U(ORKmTm(WM8==}2;TOFDE+@aB75b6pSr!T4DjOJ z`49W8BpUce{jt!_$bEpmhxlO`r>NfHTW0AP^;zgDAi@}v_{6;E7%m+Yv05-r*dZCD z1ridpJW$gcH1J2fZ5M8HUsETTyb za7_~bH#d`d=Tmq4In^&yiz(3?T}9M$AYs?ZlHjG{P>c9oMQCSKqUw&w)GF?EkV^VD zr&)sVm!I=gqkKi?E`9XB4mI<7;=%9k|) zao#w^Q$$ASZnM#I#K2`INpM{N(dl^xm2DH3fJjcOSI#qdViP;Imo%Wx-cn(k5TcQX z;s%kkKwR)uq#&H$C!~u#0yd@<^32_9fGPpYdOEirVx8G7jn^2V!F-F(djw!IE2FHs zQIUW}-AT3O`h#HWB0%gd2Yx!DpDUnH)B>k8NZi7(Dg{;!5i}5HSE$1S(26ukGfUtp z*6|*%(`Ne6!ORtXB&%$Hs{Gi z8k$5-o=Q_y9GEjowMyjjvAIF>TcU=oAGlf$eq>V?eyzib%$o%olWBExN^anivKRPF zQqsW-C8wY4_}xbeZg0sUWa{$(3w&^6TIxxd0-2{t)WelI{8CS5< zXqA;ksVE;ifjPT-A^><`(e1_ze5om|3T_jMEsfi6YJIhY+_#1_D9@#Y@ioD~FSx|$m7(4m55jUeR( z%si(ENMigzm8R-FlX6A1(%c>q+W_P6vdMkJ6oDZ?$T&0zDrzkfW7U_OS(VGLE?R_B z7*>EZ0@gS-Y0s->nf>ay`!&ixAcg0?)#&ATJtX8QYU1sWn^v$=*d_}5HfDAl8#G7F ztDY)+ndsPP>NzVpPeY(5dY4t;^U{)U{a&avzJd+8VD~P_uIbAWKZBnAA42uGXGt*t zo)J_w!U-gc9joIg>nGz;nlDT=4N-l>&Xc1)JR>;=1^tTn0k!ANF%#8u4dBG4da^|x zUg|N}Ai&~?MxfndF;$~akcA>%R;P(~_V%F3M{mH86$9&td0-(!4>Z`06=g})>4Z)E z%Z7g5)Sa(B;U5I~OspW$!X${aY*|u#VZvMX3k8?1;^H!06hs6)MvW0+)%w~ONA11G zUjHnp@T3vB#U@#uu^CC>!9q4cP_B?+l|54$V*&pbEvbmO3yjT0mLpcIJg;j_DScSb zF35t=ueF|&Mi@3U6FlG#>Midbl8=m$_BmsGX?g;=rC?Dk#Yk)pI%#m?V1@9WD6}^S zDaQk~2qb_{T{#AQSTv)Z^JwwD(J2BIfhfZT7xrjN1(j)g-ul8&C-!SiF`KeUOhO4F zx|aLJ0-F{#Y4uEmegm>A4ObZ0yl_a6AMQP$Xu`zZ2#DtbMaQl zCfa~?*9s-@okipC6FqH}PusbBjhb3zMaVI=WC!Jj9^?V(Dp{||LdYT95SvaR3pOn@ zjx33sQ`#TvG{;HS&NoThvw=dAGTfK0WMQMM?~T0j2U_UBgfj{tnjBd!H1v^3pwuM; zq9K@IHaiq__c)T`l%99XIz{`DMX5ZFfRm$k zlse?#o4y#llKhth-s;$Jm{!}+vAaa{Gu&ei3GadV8>HgtylNzy0A~$<#TY-rG`Z7Q zT}_GVr;k&cmCW3JPsV0=yqT_2x07DN&@44*r1;&7s$LSMi$4Fx&XjAZBDHo74|k-s zVTJ0!k2;C5KRMt#>?TcvYf_O!%$#}vl;HtP{A!2Zuwh$aB0};PdXmtoa;V=VBkPGQ z4tm&ir-`k#DBKRVQTj=j&J5me?B25^A38n#G0!W0BY61?iEorh7L|kKtq;sZ zK@1+u_7(j-1>yeisjbxg&0ym?f?j9P0&5^OKs-(<#4S_BzBZbAMw3zU<2Pmd)|VSX zXK|&`67+FV)M?5H-u0f+4UPZ)CVFSH#}&6kp$o4mHaV63D($*U{(cU{l{)bt ztd!WwmxO2<{rU^nzPku^!ZZ<$VvCp-ay2Q*_l~xS0j2DhMkg;Q7n+) zf>>oR$}>-9)o}Z)6=*M%)F~t^6mVSVYS$J#-k%MebUEU213ae4mu?MaHSDi3LrcUN zLrT>Kqvp2OwF&36byG7${>MapSW7|BN^AT};WyzB)DS zYr?~a2MrSnnJlGTOa${Dc*i!Hw|Jttplv(5_PP9M!@iP{!jYH6b*cYJV9DA3e?ex` zV+)*?9?b!TR+SwJYNtClU}ZnxWUGNJKws2L8aR`@nRK{KS^#F2G#`l)eI+e1KumW1 zd2Y}ec@A;1*rzKNmgN#$0vfSZa$JMiB5yM8*m(yZ_X897oLUn@gDf~4a>mzWAsqYV zOne*SFvWt?1-%tBVQbcXsgc_=kOvAeBBFl7%A! zL)11uO&UYxk8sc)gsK%t#}>hYcbVz!v6S%ODa#6YYAr?Qm#Q}$x((Nn2j#Z_=-PV{ z`M*KmDO*VuvIub}<`^-xG63Y?Ca#42soLGsr-@LzS1fdG^eXY&3K?2{0k14WV5Ruu z2y$5)dHSe`aRzdsh8UlN`Mp@g)r9w0#1U?7qDr#?@|ox|P&|nENCUzL>*rRifIGsiz^UJh*=c!ZpvugI2MY)zY z0wrJkv`cp6a-?tx?@fJW>{<&o`X2v%){Jay$$9V&z8H=)yPWid?V|~#B9ssiZLzG^ zuLxm%YF|l-$q`lK(J^>OwFlE=kE&m3fVQc1zBJ$b6=qnJhTNWn{n zzJ1&xupYs&;}?kYy~S|x9z}u6gb*6WT0d;CbTC{8m&n|*;XfR15x;{w6iXxjrqNkU zCf=rGS2Q;qB_N6Hq6ctICj!>7kfT0!Q)M_NL(#1a+H$J|R{Yuff6oznM4F+?=ELQm za7s))QOqU=n!+fCpCQGDj0C3U2EPg8P}C-0u{Br^q=~MWdMu1yI~MPF;fQ)OX$uWU z{zKJ&mLND&ywZfr5u7NV=)#ro4;8GoMtP>if`8C+MaU0&Caco@s^A;bU+(-=^-bul zaDS`RI;`!P8S-tX0;Yv{c8 zMVm5KKZsKE4eZ}A@w)on*shA6$oxy{Pr$e)np6_s)U64K+`|YcT9+MfS+d2ms(1O&!jCuq{J-cnD!@(T(WTzB)xuH^FI;Sdw>uSaUT7QWTuBxNaHb4r?)ql^#Z% z2MLYM2E@~u-aT@MB!)E$pDeXP)tAX6jA*re4ywEGWR+aa@uHbS_Cs(+FH1rK`SG_R zJ-2YkU$N84(9#V?dd-57^|Xk4WdXouI}ceNv@({kFBJW3+piM0y?${Rr3>CfYNazv ziu1jD&F)wgvE0v(P%c&-&&MK?LJ)fYtQ+Eu`uxDjFK;|Y)A|cjKg}?X3Jmq!{39@p_^kt|G*WWKi$?eY^gz46JEG{=$n5) z`-xs9i34%dC9(-Y1?TB$`L_NNA>_Oeegu#-1O1%N@8~rMlC-E&ZH=rB6hZyNUi}eFMCCfQcV|sPxpIZ@Io=ATUO%dI-OzjK1d~c|MS3+& ztxvBS{i{;bsE5tpQ{$PELrLVR4M`0;EB46M^Sb5zANkAv@x#w*=*cZf))`sbBvh?x z>f9%aa^A9G*|>xnL@#swetQ1Fyl2g(tUn>ZSY@QZw%H=l3D3~lHATADc(^)25Ndhv zh~@`&7ylpZ#zPC85~{a~byF>;szf~|C7jYYS+6Hny8;&EQmR!}JNqG6)AT;dwm@m) z$%8#;r=QV7hm_irrbmoamX3{gVN3$;)dbo>W{?;M|cjF z*A;3iD}U*t7%*;2XpAV=ObvqlT2*;&#os9g&}hBxy~4}rkCq7wO`}|*fqYh#|Te-oyVmjbA#e`{%!h7pQ`HUlaGobP-0OO<@OG-U7T$vi3kGx>hNXjCn7HQ>#2K ztynuaF&^JZ_r%$oog)IGg-3Q1UL_Y#T6TM!iYA4Hb+u1%q-=1 zJ^$KlsYKS0tJHVP3qq`(C{;s2&f!c5sz@Ea2Z= z%i~eQPuphHKhwU{+6SX|JL2~5Bfl;?Q0{{Rb`z|p)Nax)&EH9ld%r!$rZ^J zX&;7XyYiFTb;e(?S@c`aGGf?!8KJ;l_faM0Uyi!D$~04Kl8OJuZUeCny9H=8!`rF$ z^E9(r|Cmhovky+w<;_6@D>w7O&MdOhvIiV9AHS*|>pvihk${eaoyu}`5+R0zx z2|vMIHLV+V@@DS4ihip|kUr1#cxCSn?;e zWz&s+6ydwM4h=?14ZukqEt^ielam;Azw2RG)^-kHwZl+hwfPngpA{qFn4Wqg>^j`Yh37{x|Uo?mh;d9m}-;kg;h3myK9yUe|cLj8$erb%a;W0TO7U z_gfn3Eferdd|LpnE|95Qib9AKx`miS?mWwlyXYC-P}GZ3ap*PZ*aS3sl^_iUk|@W~ zqfA8G&-&=q5mGEj_xRVDt72_Yt>^4L@lak9LwBm0&mr=a-(srTr=Op44x=wpOLnft zjA8QzhZ!@%W3zTeeH+tnOm^x}r*^BQQM+xBB6j`$4Qrls7*>J;O2&yLg>0mzC_waRDBvAHMj-Wy#IcZ@ znYzIh8w4Vf^vJE!-^8<;|94V%Bxd2sGlOl{4z1o8h7~Ed^D>DoHe;gjd^D>j1Ur4i zb_mVL;H`t8(VNPGYdFMs&6X6VUI-C0Y4Z?pBu(Nn&8hcvl=e54&nhnoS{obBmV`2u z!}i}%Wnq`mDI-<^Yc-2fBPOH%I5pcRmpZcNFx))}LAldl(xP?HK1)UF)8+(kZ5#1Y z)!w!MeHxvZUVY#l%~7hljYB1KRCTx(p64*2a8UzCqh}w^bGQi%BxRhnwv7yFvdf4* z*F?`L(G$Gvgz%iq6lrZY`eTMBf+&(;Otj<*E(>K zdg$L^is~5D<6&RdwPJ*Otf3bEl{6%LSXsu`&5-HNKru!U{?dKEhtnAe3g1xhlHzJ( zUl)k-$07t>rI8_3;I|5<7QUu-CNVBc$Li_=)eC*+*2N_He?+SHMm>){NCT?JYWQa^ zteA`+(*Wu;@9frVWF6e5qRkjy;wvf71#GS?LkXd+=Cfi%)sSj9=d~qD(@FpTAh#3$fU4$j1 zzfA8pc-Tbs$B0U<8*>#UTv3dVitmEm0NGeJk2Zg|cm8tk9S&1FlmAzy^V9lYY0v)( zdj5CiWMpKA{(pT;EDZlYg+ELzjQ{_Y{%FVBaLe&AJF`fD0s9Gc&(khNZ_(FEKu$-b z1rqDQ^VnL56>dv7CmyTEzDB<~+sUm|oY!o_>2e{MZ(fnqR1MVwHs7xPU+vF#S}nQj zSM8#`d}jU0doR8ItpE4m+0EBFhckQ@6I=QN!ffe+SYCBh*8E#`%4StDzc25<*V}M$ zTXsOU@9V61Asfc@;LRrg*X`>K|L6T90)MujXpWWdSM5&TLP?7I*{8VCF21}Pb@RFp z{KPBm$HQviJeysAj=tPClLOy5t(hcR(vDAVS;2~Dw3>pb@zwE_3>xrL9*Js(*|iF{nOZ_3a$9Kdtbs)c-4yZ=7D9?@(4Vo@~j{cAuS{ zVau^}!f}yVwO>YMzHM4uQk9YU_o{YoIkZ^`Rg84So${g3>(RKTaZC2l><#AI15S;+ z>1af`P1~I&mzYm#+(llS@euh+Yb=1+&v^7{XN~cm9gjA| zviUxQJ?4`}(6dvMT@h_c=Jyi1c|}l0S(8*&ZW)zXNdpVie?stW(3<`TfugG5#f+jl zJf%YRq^t5jY3@mm%zj=dPx`whqsp*ov?^vV`85)jQLeKclT-HdK$IcOew};dEoYP_xN6tEpeVUMpltNY046NRHr(vL{+rI}0y_Dh!#nZCR8lZ7}-^Yij zwtFGJuUJ}`WTmCZaw6%kBJbV5q1ZCUREfL=T>N?xrA0S6?#R}7Y=Qa2dcBv(<^(J7 zzr1iW*&q^(g1u}Mu(=O@#o0Lv9u4fuuwa5BjbBxM9t|4v%_FdVU81)+n-@e=&TAqB^}n*a^lI3sigL&Sm#x1CP^XAM`i(@6{F{)QiR?A zrGsnO-T#$Rt+asOcHApI!-4`?q(~J?B?B}K5}%Mw!UU!Uva+x|nE~kxq(EDgdPu(v_;AaE;D-7&G!uKQMD}Oje(5IHiNhle-nDc{+ z*g_+EXI+^~HMf*97reA4PHq}!i7YMzz`YEzP<5HBSpZe$zce=3RFS`TGPxx1TFMhI z@_UHY*i%Xe-7cgq7zclr+m>ewOPLF6tGA;2e~f|PeDD5bz;LPhhmr_I&3dnsZazcz z84=^OJw%}-)3!pV9(HFMiaefc9;>sTQ+6SkpUQZ9`&#c>i`+eFf}z8?N>gUK2V{WbX8ao}GY;p8i- zOc(CtIVoP{S|uZ2!4}JbOD1YEtY*$1cu)U(O9bay`cZSw zbBT%kWdMfOSF4QyY;=`z0(+zB6*r9SX?;PdQoph<^N~-h)7VaZYSOYvvdHQY9!g`h z()w_*y-((qNY1CREk?=Y9Vy7hDpO5*BduavyBY44ys*bi+j#xB)rR`%C`u-@X4^1escfjMK5Mp)>W>QkO zWC$b@ubKy5quhtCgAhz2D)GuG1iskOHnh<8;V*D5oAD5K6k?b#%rjdF780cv?>sa; zv1(^0@~%0;R0)9FV!t3Z(3CyX;JUjh+Ec}JK&1w*kpHlNLJOPATEYU~yUi_+74Oh> zNSbRj)rK9qoLHIaW!nX2!_gT}et9WrhiRtQmwytbhv^!znoC;zx%J;$ld^@IRB}BM zkSbiY1eBAQ&=hc)XaU;^>1K=mu51w;h$nLw%|6qqd#sz_gr=v2&s^>E#8x$Nr@3NKSvoTm999f#+&zL^L01&f$y6kbMyZ7R-IkFYgE z&y<7xGaCmqVUcwjoX$x0>ez{s5VKH{;u(R6oDl}OHw*0$H7p6k+@2LTtYf{=TBe09 z@)yy&i3gy0W<2LsC<&~9(TJTDp&ia-=OK(_F#8b)r&_EQgp8N*Xgdh>E{IT&XQOR8 zPc#iIdz8l63IE67bQWAf7V7sUk-62omg_GYC5|80O+n;`f9aaxdlY{=X))51&xgPl zIiUZio~bckhX&k4x*@MYbKCX~OiU1dBydS^y-4Qlt|L5a1K2LEr-;wCo)zK+O(XxF zLkF@HZ*e&Pi*+z1>bJO>{#$bCe@4S|W8H9%jJ|ljY93h4ek0s_p{XtRnwRvY5uh(n zT$(P|G~naFap-B2#_m;^Mun}BQ0epL!M=KI??4H0gL z3^@}Ml5FVzvvw#bBa6rNUC$+|*B@=07H-;rpr+&(jIc3VlthtYJKLx$)gtp^#4~P@ z8!&;tmRg8z6ql|>uE^Q}eALt|&{w#J7o<&lcHPzb`>71hw>1A?RAE*XZ-N4`)tJ~V&GQu=?rnqMGzZHFuV*@QUAy;r@F#|HiF>sbjatILP#7qG|B(l+S!_Hvf|PJvyIaCc(Z8nbU&YjXysh$&wwFMn5K|JR?iZns&NNud2p~S1h*1h<5?~ zsbaHC{&ad;WBo$%?RTFEylg7diWtd_sI`WepC-iaw`IcxMWjteWJ8fm$;opexz>h^ z?wapH5CV`xS5FK38>eZ`$k662+bx zvqO+2J@{@UZ-t8=055!F`3@Z{V*($kGZxx^4XPW&{Hol6z3TM)RCfo*&q2g)j3W5P zy`S1hR}54mos!5JpGzfT>xrN!>lJowBZ`>F68JTF&izydiETHS_95sls3KWCVv2CS zm64QvQa)}#zpixbalj7BG!wy1IyT(Hw)GTOTLDB9i?zVUbZ&PPOvm45zLc^e>QPo0 z*#4_x!^l$jY`?Q(Fux-5nAoVoK^_T2jajnqaAZTflwN?bg#K9sLZ@O1AN0k5Ykw_E zYmtr4ung&LlQ&g#{)Nr8xJS;#x-VKyZha-t#rl?!4x%IN{-7|jL@&W!ha zeU{oItAxhG72cFBavMO*1U+(eV|UV0uq)dOrWW@a$~zt|H=IUloA>rkXFvW-co+$z z#$wa_l}b{W@ZVgg1h^PpU8$s5cfD>5K$BenMzC`6&S8x7uBt{js{-*_}O$ap3rJ9Svcg-wf)j6CuG#UEX>qhwD{ zym5`Fc*um!MTlq@R~Vw@xg~HJeq4mR zIV>D`rYpeZZ*hkQ#X2!kq7T)lCU`38FxV`b6sJYai;(bsa7t*lRa;3;QQj&yV+DI(Xzw9yl`3vR!d!z(GTaW<+;5 zP#U8H{}w}-F~2wh)gUYP2n9pze0v#c&g916J@*8Bk8NPG)!0SKm&i^Q#;g8i@31~} z3jNOaER|JNRuEHPUyYLjlQGTCX=yzAMQ)5@M#M61B$;L~z6Y!8scV6DHC1qzQcrzp z+%kJ9(poSJurcfCfFX!xV$yFLhuY(K4y_9=L;hkom1tE_wF>cE1lfq;tH(d8t^$v- zYG}9(x7?5rqV6V+1!HT$41N1En~^0f&)e^j(-6K)jdtzu%Od-*O(c%EC54h^NSeKx{=kmzC<2% z6igO?vp`BB*d=JM!;+f!_bYw1sK zjEQ~*j(>lXEy?&TM5kDahDLah(59xJ^J7hH9c@rVGLDsVV;jt>yZ02n7U%n=eCC~q zSb=*!Q{2ufRW0469C6#6$M<%Ty`pDZbd{Or(Xh+h+a_ol2v@ZbNl`MN8wla5PTjo= zQblwk?bL4b4eEad{r#P`3B-rWwC)65kgB3vGs?s;wj-<(v|2>2rQ@|m82FDxVX|+m|_ruz~Pi%g%+8@3?7+MEgKUNhU<&& z0dSo;`?S#$%dMPVX4w^UsWBP+yaztW zt$4E&>7-$5aAncAYf%y1;g?mM>2i*-DYW`rK8NRlGbWhBdX6oUk(#OBX>OUUG}V6c zO&UX6#ONEb6_5&w1mGhFZb$^X!^2B>qFgrjcluJa2PbS<8glk{JRF{QO=r04AQThD zjg68l322O}F6y<$Lz<{uE1<%$m_)IKpgq))4Y9NyuROS1aohHkmwp(GpTAiYvJ=G= z$raO>=N;b&W1*Em+_0b&4t%s3=}YIq%?o(r`Cz(WH(-SR0+E-gSOAd4Z4f>i$Q(wP z;4c4sI*Fys1G{Bw7OFL}4`lhq3g#Ky4r|O8%>&aDyTa0S?}zzG@@U%jBw9*DZaQ^>Ijin* zuh$Iqfu*fsE)TEQd~d@wT`69rQm0Db_OT1q}-%4pFwY*#QWuHPoVW1yGJI&jv^*h%V2WU zx$G&=AOTK88xDwpZzyW-+@o4HsG8_Mh0wmckazK0z0kA7Em&_pe6Ob^jkf8|Vp!4A{4kXy8YiF(rLUzL4`RZz`dRYd1iuSeuB0chUMH&O zwSAfomQB@2%p=bOR%CqVtJ>7!j}P8AmMvmNQq!TvY%~_QQk}9`zReyeK#rr3_4@be ztR4pgml$qQ9?8ZAc%t!sFrsGKimpQgU5!CIrqBbCNkTDCo}WE|7rMx0J_nDOe(Aa| zA74jtL7A%BE2S*sQf^EcfdOa-DQ!v@n(!jqMx7DG&)=LpR+W)H_+4GZdt6~kxRUVk^snAQLQNKY!q zS=R@3Squk2NIagh1*->cv@tt3vXc7ix@wayJ3^@Nk=tq47wcHj_T5_+7$r?BrdOAC zbK;cWtC8Ex{uAw+!qWR*j+_uMsPsqbffjKxS+E%8fICDGl(tK`>d9M0UEb)_={+un zo7>rzC(B@AM@`r*W$ymZku@vh9w z%bhF%+@4LOEPPp&>Oq-wi<}dyc6blBxVFC3_$o0(w>hfCsOQEQAkq^WL}9x{TyIWD z7a?;5OcEXFqOUArMm{%%;XL5`KH0Zqrbhr6pd4wh9mXI-In*vNU|R5kF3}fg9fJ>s z98>sr`b@m(1wQCbF^5UEp%dc3T=&8c7tz<6!7n6>uE%hC_n5NPiHX;ml6<3O&zFp56ozd{H7yC_x>nw((}= zFrIsy1%p8FMI=w->%Vv3UCh^ktcxviA^5A(IXg2{OUNP19g&==$y>pnQ9sJ0#mHIyIGtK|=c4 zRzj6Knhu5|UUSg-$MGf2G|BIFV(i%`rhu#*f~2iH;Z9+J>nt{ipKe6$iCk@jr4pyy zZJURtDPGvF=G+dHKh}T-vyTF3DV6Q6_E26(eF5&(a5V?;qnlCXXBWk?RIIu`tXHo1 zRr#ZP|D?o^G0JJ2h`w`C8t6zA7Z`>ioJJC#s!y({goti# zl~sP%dw`*_(>069gkP*$(2l%VrYowCn59S8ul_!}Wjfc{J#O@DS1`yY4ZpO8hyVr& zJq5Xd@i2Kj+?<5bSYV1Wt~ca4Z(b!2-ci=;^a~2=y}5H&dLN!XW8rNYmQU4lgy=I5UaBJ@E8->NO?{_W9@})BfQ>oP=slj}RmP zgIfwHT?Iu|YTAhdL(f=sddFR0DJS7v_lwVO4zh+qOJoJ0mga3t*k24U z++jDC%=2U|xw(WR@6hzyV8M1j2%Ll4>o+zbOi>7Wr@2z-p1(j7O#BUd2*r5XD0HFXII4{*d@a)1ONs=ml&u_Ad*IMT(RM)(L6Tu} zFUiLRdoo>>7%7vMNnqGi@uMZv!eMOs7Dz2}KQZS7ToG=9zd`=cpy*#Drp0!%4|1(V zI*-KfJX&!D2_oBZo&;8478>bl^8y*RphRA*(CpoIDnauKVo>EcH~JcM2xU0pbgQx% z6>-QCt{UcLhNSX1YZ=!NlXD8fzYdayiK5y_Ov@{6*ra?GR&%ZSnkbvoeD!}XkvFFW zjXKv!TPE=tF>owkjHcxDiHzL1RI^Uw5K;a*93->Gyqci@?jS1&<0LpAbPd6*Ip8{h zBj&tmd)DRNZ@%HOg~%NaOLWdj;AcT|vq+DmT1Z6@Q&Np73i1u`juTvFKtUVbmFmG3 zQ#!L-V4?a8hbk$GO#L2NVPIC#Y!k>wp`Gt;3iBwq4%|qsZ2&)kJ{KUlB=MU^S995R}3bp#ErN~=x~X(!D%7|II)J}+rJI1GIzuZo6j>PAoT|1tKB z(UCS?*O}P1ZQC{{?s#I`ww+9D+qP}nww=s;x$ozB*ZS6a|GdAt`|7&TReh??Is5Eg zO5IpitwRM_??(1WdISaAJ4fAO(LAF+;96N}xg;%4aY}`BL3o7xa65(OoP)A|$S-3^ zke@|SQq94Qd%ykB{fa5=V$loVP7KCGYi)^}*3lXH3WB~*avVXYP+~{yLW{B8GbMib z(Q+%l6ma4eU5@JQvyp=G1Kx$sza|VvDf&@}xURBYWnH&Jkd%zMR7VFWbOl6esi<1< zLUY*x6QN&0lzz%}x`q$Z*Xu-9i>pYoJ_EE9VFE8MdZ?}P4nMv;~944`oFz z<9(hkPUM>^KmY+J*C1Z`i<~62D|@*W>sho+@POb}$ovT0z7VnytS zyjxq_uM9(kWNnb0n=eQKlx{*>iWkHTbQ1ua0_l`ozGAjhnOCc}pF;gC=~O;_*}fT9 z6hXWA<2H6ksVmYp9jUZ?lh{0tsOgZClsGOwpYQ>u)iK3u*6(#=+(ckM5~a`k0$N|h zw6DibUj$;X_)6dHfNcgbU0UbyA>b4d;|NF3EHibFT)sc%+EkkwIk;qCedIoBLGX7` zw144Aq&0`O{q%6N7(e&TED!cnF?E<*W4Hu--rF*1kxH?U;GLAX7g2Kzg+DefYZiE4 zFoclx65M=-;n{~4=WxPYa$=2A;F>4FFwza^KoEwGCvPAPSN5W8YnQy9SHRswy@Yq+ z?$&{yG;Tr7F6#Oo;^=nX9^Q6InN#KVId?|}<5WNdB28>jdsb(El}I+yFvJFe4UFYB z!95mu{U@7F5x)h-(7}x@#wC_1;CB8?3U8m4t(x7|Ob->r?UyX(+cLo-Qa1K8W7pWA z{gH4p@o47W@85GVjLjiZ&)L7xkWvU17p}>Kd6U8T8fD0p5OF`(#8AbIx;0efaP8)( zLbNrQGT)ZhYiW_c101X-)4lKeIYkf`2(+_Y{w&z-Vx|&?;Ucjgj_b2*k{5fiVEkRX z?YE#v3cNDKKUk)7234x=V%TCkIp$IjjB zcodJ-F2WiZlWqz(477P%-F2VjCi%{NUkgp3-Pmzp{Vs)S1Q`SG2Z@Ki5p9RJP|}{X z6Sp_m3ECU%UI&E$j(J`-3{GLvlHU4GY(pA~d{nscu#69Qp@rrDn5{H~NT5z(-64>I zo$HlRa{SF-UZGP=iM2YkdWlkkY^m|c!j(Es7{3M;H=SKMRHMt3iKCifw+A$57<|HX zLD2~#Z+C=x#qO>NS5H}o#=BC)RB9RlTL`@@G?Lb75Ei{1)D3sfkN# z?$i1w2&*EvlXuHod+y8EY}p-LcsF%~8(U-@;=d~z^J`eIPt2snB*kcEr(8RnDVPDD zDOlEML(yF>vaZ9Zr5H~<)&nc%^Q`96Z4G1ebHZuXw>z7IO^dyN$%%=gE4?oVMCgHu zpAnyF%5=v&+MHMX4k`EY2IzgrYBCdyl@d^-4T~gvc8cupD>n|ZX*I)D!+2(X;~6qt zO+*)%L$x0Ncr(^%jW2x@4^$KoHPySI>RxsLtJ9Z;M-5AbuL+YF6V#GZ>`{jBjfnS)m_l>$t+MDIg;UO@t&-~vZ z>w8g=@-`Sli>~n87`|jveD`r6goCdOUA5J8zs-x$Qo<{>%`_{7f6wkZlRiWtHYGii zRpTP`A;HoT&j~030-#_dlXow9D!Bs=c+t`ij{B*O}43sM0ZQJA$rSNjr%(5(X_f>Ye*=aXlO5=?20Sgu9p0dkfH^BnL_~29XdQI2)V{8+@DxAX<(neu=2@47teygQK z+h=BS({4XIl++#Vr9Ri2hF=U<8hpTASJ-C)pG#Hd4^pX7EaI%iM3)g4$Z{*cbNW4Trt;O@!GGhdUS{wE zumK3`AxGa-FLQ{C(yG4Q0)1|RMNl-N>HHDs8N+Fo`?ky|EUb&}CIg1Vh3HuLWyO&M z9j2_rGo;{Ji4WXkPnanQkRu1*(h*speW5lL{jr%wfe8RtZuIXW$0n z8@}j_;+83zIW{irPG-~}$OObhOhe7&m`xu`DCvh<{_(M7Vt&UdCVfg_hwl?Onfu58 zKUrLvIX)6jFomJ+d5?Hx`evlMV*`}AH?xn^Bo}7MS_%wcrHNKv;CB*_!=>3Fd%JFU z6?n}#x`@4hNnl*ejXvh6%UTW?FFo?3T1PBypll(RQPfLI)R9}9N!Ek4;#jCMFEq$J zHC-y9+y+FVtrfvN5HsfS5@I#HG0{sFLYkQ_hAE1@PyRDb^BD#GF(V?q`V6m6>k3O+%`6cFHWBoi**XA zcLkqK<4t*mP@UK#yqn;7aeam!442QP>XF;z(@@$6!gO{0L!l_da2j_+aD^HgoyQa> zB4S_i_f$~pMR=BvEK>YzB@atmMc)@QMYrUj2UoUOtd#b`U$||KJBSLp6-HRkWxCN^ z^r9bDDK8A(S9fvej|+DoO=1!EhuAnT9qK{aMBH{TT^sRcZM8KA5H((uo)2YGTuQ#e zlFrf8C8cHi?rabaaf56%vBGzYrhn8+{(_B}ONjrk+PDAIwEbKC#>vV4Kh;G2$re|x+VKY;_2Hr&%;S==1?gEp8|COQ(gDMu#X~l9X)2y)V78zX9Yl1Oa zqIs#lN$?a}=oEW(Ckv!EIRIcKyZ?zQru6%B<`}; zg6Y3^e;#lCT6gh{ShvuxKYWBLUl>l?C}gl5WxDooh3a{8e%U>oXdSSlbalMlEnjCS zJRd6@gbM8Zx%seF`1|(f5eL>{^6kZ!`^b7HaONbZuh%zg6Mq8zf$N&xiY!wAa|zsrQ+AH?@iEu?B>PW2SCc+a$StEB|UdQ~S^zZaPa3%Ga%Ca4`!P3l|y2-~P% zdfAr9yb?aGE?{juYUx`QNf|qu%%U*qORK-vNunqhmg}dBA_f~+KK+D>_pEX+fR`U8 zlL!Ku+KWl_j?DvFECl!G@1vo(z#}pM>>MBxy3AGuV8!@~gLR*vloz?-pqR)(=n-MK zIb}le&uy%Z5v~Dn%!Xi)F2fez?D|T{K8rY+B5VR0VS_OAqrG(IWveyIt*bbxfoO&d zXB4$>I?!w?r{Omf$+*t(5=AX^5-<=3sTPQ+78JpKsUVQ!6@(=FdZqh$T)|X`#Q<#H zetfa62B^N&%8U>3a)W-vwpN}cS`fYJvz}J?=gvpoGAwF=vH+8s_Nwo`8^#XN`(|lj zE$yOBAT}9@Wf$VmE}UK+*C(5Y$}*!>(kllW;TE%>=JlS*!zdY&?bBJ(re0PV3Fz}3 zm106bw$dbK7+fY-5qWlDty;EHarnA^{6XktNYnxuAq(uqixS`;&D{A5|7Vh;1>9vY zbkQfmo#8e76Vr-xyUnc`k(>!IH`C&JiuWtkX7UQpY879)^G)We_8!8p^r|2*NL8Bz!# zE*5~377{k>xq|{Ls4$R*fyFH}nk5K##uXkLv0k-a4SCp96h`3A9jb&c!w@R5yB7@% zjTR1>&08Vs{XCHS6wS}tIrV`cw+YKp&I0DgFSy>(-{-pqTl!r&zVCI^A7Dz;?COPn zdp_@XpSR}F5n$cMw03HahX2j&?f zlUfJG%Ql}Vi7*ks0j6_WFl8q%7tW|~xJ+u*@n$90{~N=6pf+KJ-D5LHZS+9uiR!SU zjLFlpc%A%C(@leXPC^o;gZtC&l0xdzC5Zl4qWSO_7HOgt%k{9kauzW(is6@FNU9*q zGo)nSwIMeA>LMbi))G>6|NGGJyw{a;sFI=B?#e8L&6PZnHe8U*GNL3h&nlQ+4$pFV zIhB?hm||P?8ag(ka7S6g*y?^QZ<|gS*l>>k9Z=j6eqPKVNb|9DUD+Ai?VX)8 z6b6j(f>+brSOV;xM%pd2-6}o)Qc{@M7n?zoFob>zvumZh=dV#3j@-UaG$%4zcqbazpH-(3Lbn#owmDSLDpp3a)7F(G-q8q z#Gre@N#|mI%T8p-XRsP0G?YZ$j2PM- zzBJLm>l$dJ5i%CfitJ?6Ax5E%Q3@`CdDR5Bnmj5;$Z=%v46I-t>7^Ms;kA@~yD+}O zCYS|?G_!#%1FPqv4_YR#b-={j9-CD^yaektsqM~mbx&It3#xsI*Mk6^LR+BDC3dq- zZucM+1@6`;0DFfedCB9X^kstpK0XQ#uk6UX2g_Zrx4r=Hb}z`A17kf$e*!7wiL?wX zag{Bg2g)H+m!)uwDv4x-%-AZsTJsa^zLc)k@Iq@N_VPMz?o-sa^!NxGA_L9%Z zLC`CY)@C26aLa5n2UJ)yYlgW$#!qs=%zE}0JvX@HngpP`fNHnmc{{E}yG10)`m5wx zosb`H=f9Ik9dAuw3Ir2s!Xxg4hpT(VL}k_c9IlD~LlTWB?9g=uUow)XXI@)s zCCAYr@l@)#8l?w$JQ=*&D7hke9R&nKTsaH1WR0_URcMO{2>IZCb#`QfBJjh= z-EOo)7>+YJqlj;!_!04##FC*y#Qtz6l)R8u5IyREf>Ghx!tsDQdT51yp*^WqN?s_4 zV2Zu`ThU1Q2pq!BENHp@7&M#<@Y=*IM9HMsz$aJiiFvMqoVo-eU~HN`_7W^}#K%Ka zGO-#ER<2>JMbv4+Va}{%;kHs;|7HK*2~rSdeeRdKjQA)@-#&z8_-_Hq_>M#?j_C~Rw!7d*^e)s_dE%hNLIj0?tv?VO!pejg3pd5mi zh*;3`XBof!5YnQ^aT4F3?uQK2v7bUm@ja!y_vQDe&TKGXmQa>63!TKtdw711jyrSL zZ}1;w=KPJMw<_+?KsRcC-Ek8^gLv%(DbKdYyS(~rp zUyPzGp$UOrQ^Co$o*!@fw)t{}C2=+r+ZmM%-s)hCc<2jC*K_HyK!=WaV>~UOi0JAh z=6y2-Qq%BGGJ?1enY0)~F@-9LUrGQ)ydj!C8J0vXLW^dgFsSRFY|7Cq>o7y~(KNdU zNl4S9$bEXj9qYuIH7ipWmR7o%EblQ6;y08jk2Z3Lib?q!uAPQ*31WcT9b zG=Q7;r=Wi)0d9Q~Z}ic~P#8{Rs{%Ty&L3D*?MwlUIB-(?U@|u9oD-0YN>bmZFSXC~ zAIm>@Bi*)tM)z@sB@{xs+J>L)Ht+LMsNUww2H(P@)gF2q0P(+uC zUfW<<%D(7E))l3$tlBK|5E8@u=K-9pe^9cQW1t4X+5C49N#Rygyk9A!;Vvz0+{B6- z^b5DjV(|M%{9wgpUxIq`qW-xOQT)a3Q4^Q1EJ8CqB~}`FRxm&bHuL!AicQ8}XH)5D zB(g0c1zZz(_i7t0Q+;%ZlN+gGrJB1}xq3;~{7_cCsGu8G6Zb6&1vz%mFEAc<2u3Z| z$aS^OTV6{`;f0JfVf-X5^TJqE-$D>o8DvnFNswuX(ZoWKRT&oNpAT$>6tZw(1`%SD zkKm#UhO4wHU)G^VnBlBEuzfGkC8lOzp~{U>4JIa6#wN?UMkZH6|Gqp)lxihR zleIqr?eN??<6gc3mnGy)*r|l}1Evq#^(<&5SC(O*ql~55RSb*k#D_I&J;pUjreuaU z)bPhq27vgO@W>+=38j&eFQUE<^3>DvZQfpg%n>jE4i4CsU)}n!32N$wM_|MNUMAd1k8wN3xpX@iYcCyc1_soRp2imcRP2N~> zP&C0);uYVLzJ_R*(M+cr-$y2{oDY-%c=wxgz4})2>MtZ<&~`C8&;^a>ZI+GbeV589 zyvkjNScVZCzDc}L81kGjO@f>;oSp^9yY|5H&Y(#09&nxras2J8yRSHO%lw^$lv=b` zfIp!b9UDBfS4P6QoA6t1!RUJO+9&paL&gBgYc5SDG?8siMV> z^GMLW&!5pU6>?>qcS-?KkDA^@Ux7B-0(Y-M9iD%d-&Rs26uURk$uE)wBp zVQn%rn}_}r=@h<`I^Zm&HgzfCt#H-^V#G&0RZ*&N){*kijxtfV@NCVAaAG0ufqDbm z*9=!)C7shIwHzP$)8lYcpHO+yaTWZ6S_aGdRd>1-z06D zD}%~+7goR*e~H`%%%3bQy($Trnpv!!b%OwGU&NzDuDrhul3>}cEacTQrP*_xf(?y= zE*)D8*9*#IjU1CujZ{a z@fC7JG}yfxHs9_ycfdW0<9lHskGI?noMgfS1#Qw<_fYEZDA*VSi`$yVx;d{NL2bFu{D7^ur+^?eGp_gsMPww=P!nZI7Yx3o5k?c#7|qtgJbC0kw=_b;J;z(pf~N6 z*!85L!*}Rce5>i^AC>v-$zr7|Sx`lSgema{iKR4YS2fSfKNrU^{}U`iTFKue$^`uB zGrcsF{ywS5fvi)I8oYzT{b`AESsh}pe>uv$rSm{Y!n|ee+xPSVKfEh^AM}tVHEezs zZjw2Yb|WgAjf_;oGBicXQQp;wuHhpYb$vXCX*nx)|C#LcgEw0xRul~0VsKg4>^nXH zp&&+L8Y)m{=?Z__bs?cqbNT^EFm=1$fL+&wk=`Ks?Ohnl?4n8+Uz}yvkJY~CX`ZRf zCz!fpo3kAySNi0WMFD=*v?w^_4m#JV_@R#~P&XF0$uTVYEzJ3U7Gf!V6)uNLtGlkJ zug7g>nmqbGk6XIyy`#*fyATCbt=h9AN`_hOcID18%#C^mh`MjCroELYr=uJ zXV;ba0%g)J?e2=M<&&$+(P*q?=4wvx9~W0)^Gb%r3G^m>j3(!@%VK^Va=W=-fw07E z;|;hVtc1qIWV=O);R%_MA+<2a$a3unMA^}x@36?9J)Zs1&pVWI!jMdpEx+5sBQJcf zT_!_5s?p0yEy>l-Wmj;EIdR!^dwLP*Py|g(&I!Bq9JhzXR_6OoVvz zl1@0;Xx}n2TlPC7;+R&ar=&#f6s(5uN|%$%Lz3#qZ&7J{IW)Ut>@mceAo1I+&|P*X z>zt(-a0+0%ul(vd(9GY-x7*+(df;2nx;`b!gq1ugd@6Ghjb2-aQT2&`r*?DCeajO_ zE?^&~mWdf4nL%iQ(Ai#83!7A!nEC!+H?)|RSJJ5WMM{dvPMxY6+RsEqnUqkA8w5iV z(4ohgvKiRUu$rcI(oy8Rb`q=Q6g85ib?Q}wq6B(d%T0M?MYD@Ya{Dq^-LQW zx@3$CLhqcLo#+)=J(0_}`Ho}IFAM9`frPoK!q;%&!1}a0FMf@JB5kp1;88|ArIJdr^ zlalW7UEWuF8>Mhk2VS3n>@(Y&4cUJn!&5Rm<@DB7v{fGDc>ftU8lGfyaJ>CeU=Acy z{=T@_$lR*#A@0*T9q#*d9OddRPu2KElKOy03n?;Le7sqAYVl=%svT+8-|3GkJ`(Vc zHYHk7Io}*Mm9$koRUHkV`szuU&|7UCtmAf-KK>^P`O~8*Jjhkss&<{XMdwLpd?_`i z#L@GMvKe&9d1}WrTmk2`0)aYB0zl}b;kpOfW<@q&3LM$Sm7aSL+~c&pM~-#UKQBLu zZ?QB$e#5zJbJ|vlFZ3~ii&KTNJxCL=u`?g?j>>pVrd8IC^~JR-mis&-$NS|T^DOxF zJUq5=mUbqo4Fg(6Hsu608CJFnAWQHybcOfj-1bWx$UUzsMn05|FDY4Q$$RtY*Zg`G zK3k!{#ezsA0|I)eKe4C+TGcFP4$l6T;2`Tz>c>vUTAsl3Cbi90-_OUEpOiLR#!=js zJzQUKYCalF{|mtQ4=nL7jsF|V_#Xg+o%w%A{r}&-9n2j6HvnTQ#;C)(n;jOX6x2Or z-I!b`3-?QA1IS;W1ZO1BDzkFf21i^0XaxLIMO>HZlTz`wN=bW(CwOVU&L(+izFVn4 z1hIxM_e}=Z&1=oq--nb1pFdw`3KRpYjvqTG3@5%{PVXsyYqzrxnzb;l-WC?hnwd;n zN~Y2sraN{r3w+-l-lsx)yjX2m<~k61KFnUGC_eUP?nm_a|GbpwW&gQaI8z^7Ontcd z>ova74UseBOZLOZ$H4?aOZEiSaNU64S5a2l*zxSs>-}l$5VyrCrUOn3N|Y4xpft%8 z`=)YaXS~c1T)tmN!+8>k!Eiizb992c1&reXdd#XUs?*>b$v{cEKTq{fxmDN2W4XOA z^nQ=)nfLp=M>SY;!MN=k#3aB4_WrF7n@*|v4M>zxo8(I`noE+X4os@_Ss53Xr>2#c zdl%08W0v$WJQ;q}I!!Xt4u+zlhZ0?<`a6y|2fI$@+Vz>o;yKP1z{`xl4j_m77oaJR z4Dsl(Ye`Dma;Q@nP-UpgW}*8(m8(o6pI}l@E91%~`Hx;VKF*6K%5LU6f+!NtC1iw| zI8WT4>5+w{@Kf7_9RK|W6!`eZGio(fm=+|Q%l{~XBzdV&B*bEyy-PR~zm@uzGC-s` zJPO%N7^gY}U{RPvb@Tzjslc%)uWeFj6nsB9^(;S^vg)@`z}B&8c|;m|RGrC$k2d3X z3w@8a@bd4nEKo3c6*Lw_4W&giJPD^cp*1jtA^f`jS*XvpA6YDdX z2`&=U-^{9KiFX)M544Ezc^FX!NYxlvNQKB%L*Tj8n>rPceGCGI#&r?<=Kbq9&E^s-za2n-8cnXX?d<<y{t;$jUVJ9&5`sViX0B(#Q_247rTMM3yG>fpJ6_jsnWIV(OEiWutvQcQ z_nGxv)0N$wjSewwSnnwrJ3ZSEY2s%N*PCrlM>rbgPdFbU3!lCdF+SGUEwjKl@)V82zz?!>7P?3 zYqW-ubrCzK9!7Lbc3uhCO7_{^gKmNv3Tv!L>zCk|v1-ldK9e5fVN9!Hl8|P_ZX9_B zZD*MPt2x8OHisq4uQePi6}-X>{HtK$SYrW0x3v~>PN;s3@3z+t+dkJ+5at8v9y#Zs z0S%ApqgRN2@U9&iJiXaY+%~5)-~p02xWKEB-{7-jjT{LA@kDNtjoGuB6@WacaG+|( zhO|0W2$`KWOL~5lzyed=}Ov`1_DV|41js zJ4`o0y(!73O-rXtc$S#?jCiMv%YhM0?detWfYE@)V2J z&Xd{&yUiMlc0O6L-AKT&&DuJ{xGtK2H{~3~{@!$pr{N`vgZ6S~VAdL7E7C`O94{Y3 z0DXE`I3v5ZfMxlso;LO52g(~cs^oE&N)mGwc_2dZ+%Wn4FYdY**^}xUOof!-0Moc( zp}lnoYgIf$ch27+SUmcd1^tT>Dfx;{R5+nWJm=*1&GC~)rf*SC3J;qPl7GB$aN4&) zxeb}v|MnV+;6R|y99b*^4jSg5)!m=nwkEEm$oeyK-jw$0kSNlZdBZ`Ay8_h=|7-YN zQ@Z7EB)nj{9#z=xs2bVwPDDhW=q|E(c>Q&x;VUw*jYtDr3Jrt>1peM;u6OGJq#BH* zQnn(*vp`fc;0#^tRlH%eg=n0lEw#ZTOB3Rv*q{Lu`SjsF{2c0QC6GP zve9%slG^Su>tQv|jumauq=%n69nk>qSH)8iSft?{fsa`wy)yqX_{8qN_4dLzyRYz4 z7`7Q^GHh;^_YR+OqCP|(Gb}h)QCudVX}wvR98-Va3ATxqNrgyq^n5911e`dzGVZn^ zD?(hg)+t&>B@_op-4YY_QU+VPs^>=f=?FF4EM8IWn<(MS37a3)jIQV8lc0%C}qTXiy4;Uf@ObLal1oGWg}(@JH{jf zqw|iSxHH@0GCF}!r%o}|V}m98o6&{jnPZL;S$F!QRr7*nb6ex*g~kQ32}|Q5uvn<1 zClWbPanlyeD&(ORC>3rE&=mPj@j3HtR{iC;K8q+lT#v+AdEvOy)%P<&m2Jpe~yKRW9$07K{p? zAJ?yns>B&446UvxsUIesZfKjy1cf@S720(lX<)~Q4wX0zi!uyu}+f` z4`nMRtOdJrc@;zQA{3rar}4I$`(CMh+A??lC65_;hl#o~2)_Il&yldR{v6YIsm-+v zltp@}r{p5f5S%XzQF@69MD=8+jQiLxWqipU&rAkwj;Vk+CO}7(hPeQgWt!&%1oxN( ziNqwG$|Sk(Y-a$zWK~cRi6y#$kG2s>b@J-1ieQVW#>a{1q3?V32uKT}GO`X$D>o3Q z_C+f`LFj+{R87qmfLwS`*Z1&&Tvz~7y5WUGx|(1eEena67oxMvDsytmC?sV)f}8x~ zKa4t%SC}=7x;kcG7+*UlzmP8uk>IZK9)x$IIt1G>J(oKxOu4~{gkzwDnDrCTMxyww zhh(`}E)b^qq^?-;htOh4Pps;l$l}Smgm4V;w9}b2oVQ9lGXVD}q$tQUBB+gxrHd;< zhggxgqmfx&|ISo?F9t#s;)hLiSaIFZyIcIiH$&P#@qX)e>}u@7b)e@G8Y|VQpx?U3 zgTc3uBMH+z(y@`dWphZ*X>hoU%b~^`pg9}#m`$lrk5x5tEw%~HQxrRA+rg0>V`?h7 z66oHSvv+^qDPt6H)d-B6sVYKCoxSo*>(L{pvbAix+;I}7!n;2!&lp-U|1zgELU_aY z>S1~-jJ-n&EJqtEdfU^Zm#_aLig+$rOl>Z*z+23bZT)KE)XLvi9q%LcTb5JLMbc>h zqX(8E-BGvaa=(n=9Wi}>Nkl+CH;~JCw+Sjj0}thLK}ee}bDk-Rfr5+6?c&Zsn1|0Gt?e~KdYPK+B>lVy?AcSCV`gR%FK&N{S>hAvP@jJc`#1LT+(hk}DVQtouHd?T zFS1Qy+5F!#X!q$wMzeGP1u7^rD&|jCOs66jXp?h8R6`-&oJJu=#>n3}y^gWpYb@c& zJ)~_NO=8xREtno?Ax===*Rc4=9exlKC$l&#zK%iU&kua<>_V(GR^7B&KL0Hs_TI%l zzO-&y1;~0HP7S-bLmanCCI>sl2BO^~VWStkY3ubXGo(aCNo8g$eV~Ga(Y$4#2Djl` zS{pf9dLj^skQIKikOL%AAz7HU(3leaYK)S8-a6nhm*!dqH!yb0Z1xixuBknwLZZ{f zPd_^~8(@U2aQy2P0g1<2mi~qK?lx>m6s{o1WfnQNmc;VsT)T|{O^~fc?116imfR%^ zBt8aQnog%R5|3;8Pz#dF>cu!-b5xf?NGB>#D{ts7X(CLtz;r_BJzhH_w=2ix5pOc0 z=(wUFnbL86=EWn(z@H+G`D`J-rr;dIptWHBi zCx5k)V-zw|YV$@N?!5w-GU14MLPqY~XzkC%KsDjE)vE^f1*N)z3hGex zk+KnZ>^#~%>wcgbj58&9av`A#8ftcD4d;hUq;s9cE`lUy5Pe2YgeU3MP#jx87#I~& zGZL4e29iPPv`C~DE;eY{+!>B(*K<9`3{QbrXMFK|6P#fz&l3S*QSdEz%>)%Nz|4{` zxP#Y~|MWN43H_Eb{5*J5ueT=0hU_y&KGGX*F-|R1^dwOFp&T=9R7NU zY}lGE_UP}WequOB*nqBGumusGL={#?r4?96{8HJ5LHN>FJ&NOrs#5;zX2^2u6OTEY z`1yzS!|NNv)uZt$3|G}A*+eu%Yi|ZQ-07_LKR+<~N5yoVkaFzRqYn^QwtTkD{wnbK zK<><~7m{qrfc&#V-h?t02(2q*u|)56klS~98yopxIxEj_T`SVJ)$s4c;}a8?4_cyD z3-RIp6^ntT-Au7azR8y}EHK7k?Clmnhpc@rWf#048$;gnzU)0a4jlza7att6#IKpK zhz|2yV*}O2l=7c(msVOa91WnT6XcoyCEV7zaSj{S1XqRPmclLTYRsc4Kojy%Rv5ik zm^xh_;FwZhc*6kE7=MpG@?xJtmjev%VsNZN{R~BUNy4&VufdqfN@|Uai~#YE%Yzop z8$w%-1_zy>=9F#hmKIde-?YO>o+^i#M0&ZMM;>)=bvu7indCWfUlyF zEF!t*aad~U*#{f?GyDfdQ$4EPxg!_+4RyGM5oX3ZB_U#0A^ixDV@>%oT7d)NaBhr> z=~`dej0VX|k`WiFjuRc@=q)?ncJs&4ADXc2Vf9~uBy*ag4f5(A>QdS7B(<-HNuovW z(V({ZtVDL)E9V3p{O4@gN#u>fBzoYm__y(CxsfYz9XZ1awMJUaz+#aFgE~i0$R#tlKyEn6Hnd`>V6E9YV1_ z>yUxiC->!LoUx0J%wG9nkDc*Ds@mI5ojs>7=;%(K#gJ-G%eaLKErC7vhJ>X|3~DWf&!7) zloNsuXT4u(#1ZU`ogWS4M~{2hJQnw&e}7*4J+Pi6Sp0}DF4Y|?FBfe_YD+V-6>|T& zlOTCH7sWJOgAeQGx4Zj!)`(;UuwGm{zRZM_O#FDF&hUhiyQmzjcE%<<`GvH;PhO>k z6B9|0J8rG|1W4QqjeR`n=6cyHA!zFy$c7xr0yQeEL<++;vb1{*LN=c{9wb%X;o4{gacG9)^ zsQxVN2G2&LeO~y%1*{Md9_jIsEM0n+zygIW zU1rA=4s0sH>Y;j8;ztM+;&O3fYPloojeptR`9f*b8<+)L&PiyKCRA&*&IG} znTH|s3U%)2mQXg4rWBwS<;f?JE*U-`*o>DGM8uXgSus}um}K!8g(s*2O|wVl~Lm6d{aUu~t7r%sh>8Jp3j{YYl- zf*G&!NU@PCBB;hd*lJ!=@txyx`!=c=LK%#$!{SM?%{FUMENqFEGntCBS^6z!53v<$ zJlgvGKgJm=2Y!;r0ymsDacC5xyn19B+w|9AQRTS0qYoZ^NC4%FQ)0}Gt`A`ppgtOo zg^teVRa>(1z8d?iGiM<-K_erxgu-_w&HRaJA|{dh(uZm;CN*d&JmmhR-|_L9~N`~`t{O_ z&aYaSESO~Z%Za`;rhK1!)sZk01)Oea66J`Ht*zUA0z{ph6wNY03uMCSzLC3;an8*O z^yX6IwTZQNGY+kb5S787a)Ndt@~oFFAWJrmbo8u0^PYd>ghiDU^rfmb{HS3Il!db= zOqho>A+(tC&;!kH{l0$ zRYU04oC~c6dLTZR;}5` z5obh6+Gz2nULa15AJ4sPBPdDyrtu>0;^O_2>1{7hGlaJ|PHi%YX{$~%JWl5lw>XX} z(!CXlYZkvu0f>;bk*57xzX28B-26SRvDlbX##x!utX)(;>Kta1pOC;Hy=2iHC900r z@M;%zG=sFC`QtgPn5Ln{6cMy0AF_emjld{5Qv5%?qbcAYbw!(L#o^H)e- z{7;nV=n;s&IFZr2ZuO%pxE0ZjE&89Ip(QA^)|_e*7j+o*oP_7g2Nl7zHl6T^_R6~% z{dam(65WI2SI=t0zOxY9CXfkuW9Z`-s@(`Ie?B5>i@3D<9Y}87B6AUDcs?-NxgZw4 zl@A327w*F-J4c#_rNq}uwj!3*8o%)U5R+*UY+4KU=7*p3y|QU>f5&6W4Aag?C-50C z`*;vFM0nG(#Vaib zhRr_8I6g^(i8?UqkY4>YwkvSLa;_+|GB2JLFsnCq(gE8(+yl_ne9xcj9TRsdEZc9U zDMs3t*LwoV`gY*(&5XVF5|icSPD6I^osE0?Ka=4yKQ09-pMere#oLe8)>pHibu_58 zd79F}`H55@Cu-QAH?g2OojENJzNg7`{gAo(i<$N!$2z-*qVzp+7U{h(g4#InPZ$%D z{kKJ}-4edijp@2R%N$4GeQz?w=+pEhHR~kk1$c*&_FeQKX(CINH&wSQ`{fb7quDGK zi6U!GX2^O1Ds5L<)w75>KG_f<0K46lTJlIom<|FSndjBk%G zGd-M9y4`~WJ6%UTZ5a1XvsR8|f0dI-MITVy%+V_|7_|pFwm!_AE#6-r=$OMN_3(qV z4cfE%C4jrmEf6Oi_vL+d(yD7kx%{rpkQMwhxXC_0wY*_^ttDq^~c) zWC>Uxv4qKl58FkK0cP-i?hJv56J^VP7PTgO2F-+-w*G*8U~{X5P=h6nXKyC|#;jiAhC%jK9jW7xanrL})ZU+tVM^U6pz7lgf<~O^Y9|A26r!!R>{!2=M zWkCk&eE&0O;`qkRW%@Gk>SdA;N8H zD0AMI==;ydXu>=vR(3d!J~{;-yCLL*^1sUwe*$;hyL=M1tA&&>aM`>-y ztWyNN@jIt!FK-I+f+Dt)*jJ;dk_IM9czgA`e>Z?pA(by<3_UqcQ<2P6)U3Jq@YMy9kVW5zChKXEKF=gsIgY!0oNA9lnL2 zF%kV8#Wi3qr7`T>c;T z#Ba-UB44x4^0Zb*IP?mc+iGQ2zas>GgUo4_K5rn=`5Dq-6H-6Rx`XVD#8!p9p z;f6v`kQE*4M40?eL>eu3YTlQ1pNnfDqrDv$8Jrm4(l}pcXh*iX2EJbvC!Oe^@{pVD zN$AvJzclG#TkLDcroZ8(vV}i1wg`mb7KOH%U2r?U632;ZAJ;j$zVV z=+$II`?g8JJ83eRaP9x#+IjwC(EoAmynI}M|IM`n*#Es4_%HSUa_s<)f9~_uS*7h9 zJ+0iySfw4!Jgp?HEL<$DgoP3RfA{;o`M-=5lC3(O3ZbD0JJ`ctf!`Il!}8IdN&stF*=CbmEvX7cxI!bVl<~Z|~YFKFZ6cs96Ahd}VW zu2CPfk&-)64~fWc2%D(?u}hxx>w8_5ZT;4*_tk@@W_PbJE`uOnkD;^omwExGLPlFO zI9>JYH=DLBB*#Gj2%ycm>@<)uPQL!J8ha?ZQYVFrX*!Htx)f*~lKqQ505R zmdO8i`B%6kM8*Zav~+>f%m1D#KB(QMUJ#+qT5omXNj*f8-KN>x>uxe0{0;%@)gW{B z!N89Fgv(;u)HjU&=g%-8L+Qp$Qg-}=qusC*S8n3WRSwwcvPyA ztp4+rg*6wkdpFjVs>bKgANe_Zi0O&|-G|JQAI01u@ry(T{KbX3%#5VntZV^@@sOXg zUl|q2mKTCU5ZJBr)o;Uc&tU6k>Arj84;*e@5i>Bx9Oisg*36k zCl+f}H_cu=B<2~#ubqtM6^LygpnZzNF;Gzlk(1(=BS`wjT!Iu~gnu7!js+$*8b$>} z5P$5kHV=F>|DD!B%fulvL#aYNLvYi&xa!*-#jCIF5s%3xwb*H zIDF~nEEDF61D+r0=P4x;L~wko1PCG~W|r%`aZLs`Lu3(P%W zivti#a)hEG8pQsJg{FK~32bQX+N%y-#-vbL zXy5RtYAQqn-3={M(CqxnLtG*P`BIqo6VwtOa)K$feL6b;@hE$=iP4%K>@|pp3pgdZ z45L)SFVMRkf1|VlB&)(h@A2pv$AtjZBUnjK7}5txp*x>xpYY%w{d+rleXYJ zSvcJ=`BYS`Y+V|#vWNT@c=N=IceElFUF)^GO%yvjj)%M@yY$($M34B;%x$=C5`o0} zw8j$PuUJmxT5>zo;8JyFPZ7ROXyF!gK9vExZBpPq{@;=|xaL;g`b zJ(NcAR>HJ0YpZwBdOY(sHaw+!lJ(8-MIA5|rap7of)IK}?*w+%g2DR4fN$BN0+}hx zj*~yu*n!x%^Rq!eBd8ZO>(?JWw~oVReerQak5PM|GwK%^7wx``h$vTlLuPVKi;M!p zGa}(mB!vVS%aeWa7Io{^2)hO??cNNF^Wuy-m#<&OTc<}Td0U}1n9oJDnS=eM^7x)Z?4MWro6M|6R_XQ|NFZ+=&Y=Ln`J}zd*7}OdW8{JMz;z^*!?@w#$kOF}kdt)t>B{b-fT;Y{kV z2YTq$z5%CvNhNBc>~u=%-p*YTeAuDRA}TsKOAcDlmhw_=wRqAOZ;?fW)h{=os~{32 zwbj77v0$!>&vh&;atPNOgJE$M$n}z6-BUC&$}q0_QP&N};R?Cb%H}Y5sQv~`089}E zI8+11c+uHv=)*Z(J0?q?JTv%P1!sz?e-?AG5B)PgV73MWI>=^BT1Meo?#`G8wE60YnJSoTbQJM)9>Y zp$(P!oVu+v)~3S2W5kYHSq7Vu4*0~qdO!Q5RN+xc5q9xc205xg$ze0Cj8XjSro1l3 zqi6F;bezFs@F;aCO1d1$tU?l(u}?TG$5+{5yx^j-{R}#EOXFiCW;mEI+?}^N5Hx8~ zELRlsLiMj{4LC4%glNRdhCy)IG5ta*VTw3b!P>ScCW*e)Z^*#q{{(ON={y_Xc9bqP zDHwT#Ag8dFh@=xrpecEn7>$}cZ4#ygF&m%SkmZ_Hm51&EP0)td4>SoO(W1C@qFqp6 zY=0o^PTGdoIF6U8&bJfWrvI-i@3|b{DY%z5+k1NZ*LdAbCOY}e0A5?@?&@FvvkgcnL!C%t1bKvJV( zk~DY{gAuC%;+rERvY4aiHUedfnmrUNv>StObLEpNcYaAzBM>8!Y_#-uHo2p85lgDn|1;o(4xiPkvxt@&}q6g@9HcZiQLfRzVx zUe$NS;X~zsETht}9ief##|>LCcD#?tZ=Az9>Od5*!p5TcZ&;75yV15C8|HqdvTDfD zL#AEGihJ~y0h=vdJ#iv9@NWakJU|}xw+a3Z2AkP;evTz^VeMil+tkc4_A=UgX66Y8WP>5sPQu@@(^|HnjiD`YDoQyJzzs-Ci z^%Eh|?L+c8+#4o7Q3$k*K$s4`&|UYi^$!}XEgNrue_5_k?3D;0M)d(i^1d@fiA;i4 zfNIE0qD{qDHXs4~2(Y={f!M3y2^*J?fcNGSXTvt@VUru#cb73mpp8hhTFgK_uKl&S zD|_e+K_0^9k50dnFKd@L$j;57Qjbe-(JLEE2`ozjj7-qRR^cZXQt`jHrtTULF;px8 zBu`Htr1?90QyZLJ%G1^ePfj1A?l;``AbFdwEe-mN0f%Qf)Jc{}UY4%tU6uB^%799L zdU_>VqIpk4^$MT|MTK{4dUO1J?LR0T%i;!f?E|4yVn|+ECpo2~y9M}RQj9WjZiG;} zzXXJzY&@h6WLrI5D@Q)DDOXUqlr*XC6Jsz&MCUnSp62V>_o{tXasEAAOUQk*FRj$m z^nG$jax@~Z6MDfSs8D&4*%pQ*x>NLcl$HBl)L3lpNpEofox`PM9vauh{`_~aQxRl`PccAS7+1=K> zWJp`exObO`x4eZw{%iuX^gte>p3xLqBbdim8r1Ys81UI8?Q<~RW*v|#?`OA1t)S!r zk>+Ss+*F*3I%b<567%n^eq`*XTuMzw>uf5-YKIIh;4?i@zDXq$I!_dP+n_?^$Y4OH zA1HBq``3F!O>Hh>!k~|3V_=k8ONMh;HcK3^pqEcdu`Q41*%RHV(@KzE4Pfr2 z^0-seLvxZ!dz5M(t2wcnp4(D(a!}KGu@eXg>2yBrMR^zVvY8<8J4amEU3NUwI!ExRVl9dJeTl+~@o(>=8gDGxj+I zf3Qx#^D!KVwX^+(C#taHJWVnDY7po~Nm%Gg_$e%z z-}o(+X!7nRwta}vEC}e0KC)C==47@VX~Gh=$Lahv^`vGpjH4Gy;5Q+^ey1wI1N3vSNcWWv>(JMqIls+@YTtB_Il zvs&?%_J>2omO*Hra=Web?kw`po_q=s{?%B?C2m+Ct={Y%i+FNQqYN(gx4|&F$apH1 zzs#j>AcX?R><%b}O|Tc3>_#nkR>2PL$illk;z86k78$Q20U#8ns*U3(CwJjdA>MQ9 zWM{OPjx^$N)*0z48Olhi7|lr@MD1Bh{6&t_u*a`Yp)j1rDOT%7}S|+5^6ku-`tl5=kdUe z3jFS?K5_Kkt+Gb+9&sdK!zG+xJ07~^2LUuYxo4%wMW<^a3hjKT*|o`^4j$|?p=0f*da1oe9G$Hv2`9wHXLIC5G3I2;a?T+u)PVmWe#w1e^pm zjky`h{o62FF?|Frml~%o0Fh>4>3{0ifrnpx9SoAhuVcb;D~&`&6|HHK&I)1|7^t0F zZ7#2w>c+=%rmdnq9mtWc>;egvEMtG$C+w0(A+Db#Z#sc1;n&`+bFHS)SCq(9UN+lP z*wZMkbwffw-i7hJ-lwml8{do+Q*SWPXcA%u{G!Tcr}ii)6F!sIgYmo*#fUZ1Q1-7P zbqv0owC4^S^jl#&b@D^J5)IkLqrw?k1}$l}42tiAj&IyQ7fl8n-w^%_ z>TMc>BTL)AKjrW(&J6C+e2yBq0xKWj5%wfy-+mJ9*;v=8l}_SOtFJ!|HU&M@O%zLx z#A*=_6P-!J-7=Gi>Vu7M8f`wd_L^ z>p=@M+5kD45xFk}1R`yCFG;2HUeipi6hj*b9P38p{{<%GLvIKifv10{M)Ktl+pQ{* z@PFo%BQjO47}N|jt7l^$S-ydD7>NF|2T^)#!aPgoGqad=C|Nbi5M!-OKvFTzbr5qK z6~92}KE(hM%A$+ze#1Sc33?_tlwVFvFZ56Zpg}f(2X0y{*jKm+7{cU%ayYNz#kckh2iQgwtU&n!j=3v2zx( zRzmN@>28o!PQoVaRpQjmRP4=USoWyty*=sC@1(PBdPE*Tx333IHk%M?pc;wcH+qF2 zNiB=wjrHSFN#@U2@a^>XoFAFb?yPBLrWt;~TBY1#@Am9#AFxOEZVG{nIG{Zni-t)32Z z$hHO=9z>)(CxbJssxYrDe5&osQHG7#Hk!IC0^S;`bfYa8`%p)axwwpduH-!|lp)0T!Y)(sTe@GED(`D_oW@daIK zM#WgYrr$g2srmIiarTr)zT^1tR|GWv#`xBC=SHKP?RF z5*wtO7y}Y=JzD|A26xCvZw?mIHp?J5QmHZ%zzOM0sNijFqCzgu@AYz}1pe^2w42-= zAh=#KFz4o?i`A1aCgy}g+2IK4`1-GU5kc=Pj%tm^@Q3Oa(~%;ccns$uQX#;W;urakWME1cO;%K2WO(`5s`-)5bPC7ya)R)i< zAZz!YbXQpsG~n&m5X-(wznC8ps%!u3LnqgG|5N!3@fulyDC{z zkj2jvD3F?2a4ukat0q}RuJ1%Sl1<2WYiODU+rNeZKlC|HXP7u@$U-|&K+kN1@o?!n zj--gGVPG3O=hhK`U(}7$Q#!*|4v(?i3{+$^PUTCGwnUMCIoBA}N%lc1)tY=YO^N^%VH(Pl~$iL&{a0$g1ZC?pmVB;>q@% zK!QOc7$NZ-=}$Zh|7?f&p?(eqSnk#F3=)5c0O%%p=HrDRsNYpcyOV0!r0I5d^YUN6 z&nwj5E`x^&t0?NT==DO@-3&Xwt} z$m-(RN8tj<94!66x<8CFUv#_}orz!BiOFJ*I~~U9&MZAee!_Uckt23aJaR>xeabC& z4vKELVCM19AcVYJ_WgF{Ae(4`62?~n+Q|@8`AIk-Z@;*Jl!JJ znA78NsueK?T8PN4^1a&|0$tLVSdpn1ZP|tv9tYeMwO3`<9{%!e0-e$Z;YxzvSoW>n}rLcX2Qrj&|iTU$E)=30e8PS z#t>^PoS)l6O`0N$Ru;KftO}2=fG!&xt?P(r$GF`R=khzb`=#$I=PTPG zZy#u+%7?F2^Cl{p9Y^m!qS1~_dIjG8w6k=0tR~z}6l@6<>f;AI(6~%5da#?_lDyyT z+zoArT-I+nBEDZHKTbQ6cX$7|6?u325V`6TdRywAcM+{=Jra3))8w%*r#m7Y2>lR- zxhk&AzQ{a#mY~&$HK;p!th!R!{M~~epgcNK4?apV>E2JlEE7{|kPnnmUvKar&meHs zer!{dE*dhc&bRc-<_m>Hv@GSqmW5|AJAHR#*}3z`aK1EyL3u)8mg{dHb{9I#>97W~ z7T3iq0%=}#Jx7JayroTyq&W(~W?8@_#bILO=cE_@omjQO*+O72LdFNY(fyi+q8F!d zX{u__$M25F0rKb=EUw0a3IdxilPr$x4*zJ-(v4H51+WpvBO_DYD7vEVy8(j!R}bqN zRo)}on$esJ_tiOYep-5jo6~=^Y0t(WI8K*QoGAE{L_~ZGA$aP@(S8{+SQ>uONeYi^ zxsKVOO@4gsOS?HOy@3;9D20`STwX!Nw-K~I@(dEJlfjr@f(K2Y3T9j?zBZaAy&tA0 zY^+l)@O@8bMijK7-Xg-vio+Cx%{d~BE*c{I81(#!oUX@ zepb(b@E;jodTae?)4V}=>K?6ezFjE4{4Hn8 zHI44yYVdtUy+X?CwxTm5AzY3rSHBps$lhy6U-z407y|U6mWvtmE~!7MB5VSZbJJ?p z%D!txMCNyc$+ESb@(iPoZ@sE#-W1R#IIhKuxG#;Fex-l=<|GhG+iSLhYDRGZpdDzm zG&Y`aed~f7SlVy-kWT=!9$88S+cP2-EW_QM7Wd5}&72s8h&j1C{j;HynHI_QDCT6^ ztYYLghM7*5g}HEmPP@7(*MO(SS#f;WJ->Wx^!%h>2!WO0>sC?pKig2Aiu2HyF?LGA zm|up#ViZb2`1suwSiA_feFhqI!F>}fzuyJuo~wuw_={1N#in3I*DqNp1&svI1GX>- zjUYoj;2v`M?lY7@p@OJ;+O!0DszT&COrz5X<*Mnb`lyq$8BN&)M5bB(q(oF_2Qt67 zEq1u`pGYVr7AyTL+ziEOuQ*=kesBrcvn8k1KSOn)RQloXE8cQ}6sluOJbn+Gh7TPF zA3K8oAcvgM3Ql%8BGvKqX=jNkavbHxfInfe^=I}@0?+uPMhow=oI{`EB?Ec z@4;l7C{TUdWxDna#)PBX7yuPs*k$OF!UtBZfJg9&0Fr4qywInavsa zbO9h_^~wtQ(k~O8$~R*uy5S`BW}N)-cfRlH0mVM34dTA$k>?ivKu1P6eW^Ip?C6U* zY_Ksh_026vAf1iT%!%L#H&==u9+vr51C_lC+U zzFPk?(P*WWR>*NQ3<&#sgcXJ%YGq`xic(#3hq#DOl6kYiOQ5dc;3tMRqQf(xGx`i% zq&9J#ALouvsH8GOZv2Lk%L7)~flg6!fV)jLq)4gifZ*6-a)0|OI6)~OI(@yphdAF@ ziZ%agv4UW}_VnL0hR<#{n*0LbFRU|2=xA533MmS43#mx^uoXmO28RMej>bFg3(2Fr{YAEOcwX3uMg!Y zW6#Cbq!5pbfWQT#(1ve+_h8Ta-^21Ulq2!!DK|fr0b?YHJ|L~$ip@?#tt2B67~zod ztth4sv`z;6SPF&Y4`f*tb$Y|f|Dp^ zk!xHrM>4owp<|l~>zWTPeVG4*e!?~*KR`YTzCDLaaN&G?y|h7|4jUYamfR+Ct>N{>)8L7*QK;n^SPGrD zIPS;)!w569@(2%ILf8oe5=N1F=Rd}!!H-7=w8M@{u|#@1mJU^agGUKMgeBd_8$`hV z7Mm?KRBS-pF)~4f>`n%Yjsn^%Z77>njnaEEJm_&{*Dl2vE-(q4PfBT3S<}Q{bW`VYNDGWqQ(Mv=(>CpB#(p!&% z)^qtTp`={%^hP5VY7FDx{{503AzRe=NBp*FScH__ij=K`C_)g5Y{#tWZrU1ra3oiQ zbEp`4P~<-L5~hGRj5d(^g0w&S>qP_t!bwt#1oScET^SP7)aDQV2qy=pNDRF~CI^z!0mRdMA2u-I<*9U79@*QMydfI#T zqv}4hZrAjSpM=5aNq>fRB4g+<=!d?Q4QFjJ(!+w#YQl2@n$Ac=XSdEd*+fg7-=d_#UCp1)w(3bU&@rlZTa0IEcE*{BCpVnFVC!;J#=9s* zqT<$?@U=Nfk)2pR{oCo0*tw@<0WTZf6^o6U>cMZ`t!XO_G_MD%qb%*ZNIG<|K zaCAF5u)TdwWXS4?AeVqZg9sd>KM)tQU1zG>sYu}jHWY?07>ANM<%ZEwvtS@U^p!Nv zDr9h)p5}UsN|;aSKvV2wuy=t)i~>#aPl&|A7OkKN_^-pBwHXS?0@+YeviOEs#d|Tz zl}GvlvX9bWO~)`EJEKOXXnJzuwp*pBtjW)2J1c^~TKQ0FBseB~D-P>@d7G*u{cauS z;mm`Wd4Jgz*GVpN^sl)3&=OibOeqeRJ2z9}$Bv4zj4W=x{l24#_B|$C8;VcxB^w*i z+4!#Enn|26OQ`3yxWgo<-he;((d_ zX8w^RdVGGu-bH@aw52wyoOgFgR||W9VAl;3GW-Dj#8-IzV)|O8;M@q>g_?*J;XDSs zZQxtvr+(k?Lgu&lZd)1210&q8Z3?Gs zG%z)Bibc18qWfo@nR5~Lfub&%Er`!9N37i&@AhR9pBc)EAt|Wh`@BYl25ILv>Rk*u zoDO(exH@-Gy*k1@?kHO+HQc)(7e~EAevg|JQ%-wAe zy*V6gXK=I3z3hXQk6V@dG<}gWi)F5pa!$*p`!$WEN$+D`7_??nC;0Xq}4TcQoHnu2?b=K%n=^1Y2&5ly+-Pq<)Hw@!>-GgF- z0*f$xz9D4e`KW1W)(mj=H|j<~>97HuHY+hEj7r)gU>sr2<(RV3WLAVRM z3_Xbru?2Ta<+d!sc#A|vA8>_DJF84i30=wvt73pJ(SO%Z&lar)UuOoYPYTnBX)x+1 zAV9tVCGZmnxgt`KYkQ+i`Sd_kg^n94oY_U4vnJVav7jFa^f>s3JtXk8U5vOqzzq?F zM??WhS&rPS7?aE^^PkWMOvruO;W{%FuL%@x;b&5C|22<;V}Y0ENrU2KQW#d zuxg$_gQ~Lo>U+p#y_LjJWb|hwWej387TV+03MB$88kzNx?5?@wlF>e(s8Qt^t?BJ? zhgJ3-j04%^o%C5eXnuG}jpI#dLvt?qbcud7*g=c%j^=->6qs{rV@}>HPgvpzg6)L6 zWBeWRnIHD;2h8d5&If%6)!gix2pRF-l&p*c$IlC~h_kzar5S#OngC4KBZm>nlT2Yy z82{Zuq7RnQ*jSg?XKzLY2x$)#)IAHM8MWi5nws-{^(sTEJ_rT$jszFEujw!}PzpP= z6?B~|seg()wI_JBmD|fQYAy`*zzVOg=>t>$b*V}v7I8a7WEE|C&qhs}-bnTYTRVAS zv_!=-0$LZtS;QMjP1`@(l3Fuu*__$nt+VoR&P%OL;|MnYN{C<0rnLQl2BS@`n z!P2h%Bt3SYJuTK*YJ3CrXbou^_%6;_MWeGHWR*RxZKi$ zQ<3nWk~P>|F06&&MvaiUx&IUx*DWOzyjKvAV93;vaA(;+^@93#;LJhVvRdqnqYIO> zB|b-hy=!S{8Dnme%}7)^g`Jv4CFHwuBjPi&!PD#cQTUPVAjCvEEOIkCa(X&x_M>q+ zHR^iH5|3F#(Vitpl}b&~KyZ*(r7 zPhuVd@VW0X_zVO+C3S9KdQc`9=L%jTAX>}K0$zd}_Ey@0?WmYN3f&_eWM-l0q*ydf zbWsdxXPMK~0w&>fQ*PUe5B$#tJ<#r6PKj)_Nsg(K1q_N5HPV5{-oDF1k zeP)*d%a|9LziaL(stXj?2z|<3#kRG76x9%bQeuWuf)o5Lb<`9MvI~*&VxjS8&*LM0 z#Xmt&Nd49dvdGep+bNRxx+l`ADjAwKf`*1OZ_|Wo#t+c*Mtuehd`URVl8po=gSzz? zwyDGA5P3DQtGohbtpexNQ^K6hFvCOUY)Qlm#eb|YfuJkx$@!-W&ICvfIYJ|E=I*Sm z=9O1f+O{=6E3j~t1HR9yGyYj6A#1!q^>ac?S#pl<@kaCu5-i<6i!AAT&v4cE?}iZS z+qvDs{DBvEP9d|!G8wo~X4^AB@TPI&cD)U)kIs&hIRD_;5^G`_qEENqzAm`qQjOlb z7Z|y9t+iG&S`D*P!`9)NB;FnJ)%Y^1xXaunqC*5(;TnS8;JM@xH`2HpWuIJ|Gls>( zTOpGteAOEHYOd#66>-y5J*(iIFPs4_jH-cQdo?_pDTo)|#MF-TE&;Swh%r#*czxm% zcu$JS?-hlUcp9i;1<7_oxrbMrzC z@an7;d@fBG;C(ckX0rNVguaDZFeO4JtU@(|qUlURHF5}eT%zmpf@Tq&dAFAixzCc{ z?h^x`B_}=rDu+TQ|I9i%-zO|-8cVW@MbM62@yYyz26m@5AU6E% zMUac|XI7*LUjc zWRR{SU%DWs7e0*?tP56|{)gUW^um*&)SFoTDa?&}+^r0vbS#lQ$a$R|Q`EsJ+mZuxiT_ zouf%pJrDw}O;!1KjA8X@$Y^j>o!uY=P3LitVn^;AO?jI|OV- z0iHkjwoq|$_fpD<49r4&Yf!aj;i|k<{`DIPinMYc6FJ2yv7oRP%kXjGV)=~#<>%$Q zp_%dZUEeS5r*`Z8m*pvrWQvFh|A(=xG2=`Op%xF(n`$;!C^+Heom$=wFCeC8Fb{xj zod+yUF z$9nYwulJIHII$0UE%3@F+rMt5J|f!$o-y{XQr<`0P%=a3yjBdidNqF@h0gS81~Pd* zsk1}bBmFFn-TY=Y>@@J5DctrUZCcq|kOmhIUg;1X*e*(8VZr|&ip?JwUTU@MnGnF? zfX@CxC8O z9x%9im~3?#c%*VzKb3tK@6USk?QZfezX14~mKPh8q&tVJOAFf<|Fto)sH!4>xel;m z+`RLQ1hjfd4~jMJmMJ5)1n&Ae2Yf+d z$ucbGi6?2ip?QMx;r4Yphi8`L$vIfee>+{j{Acx%MS(=yQeJ2`Lg2X8RE-};I} zPlS%`P0$1IiCHo7i{u4#&UR6!2zqHXaU>hQ{}5*hf{kJ{pYlmsT)3rcP}}ZAO88OK9Czt`c1(5)8IM?gSe zG;-VrHpM~w(Qb$V=UcvX*j?;HXwsKjz2h2QGrP|XqWx#~!qWO8l$5>(n?D&xP$67_ zDz_x3pCKDVv=?_c#J9pZ^C0PJOfsL%k68U_7kai?sqbzkj@j#=DeYY;tqJK{oP&1m z5pQ^EJn3QwbbN}Da|=)(2#d#3QIvKmNFVa%KOl;$|Ni|S1m*vt9seUJIXF50H$lnH z&htMRN^s);8%1fjmP9q?Mom2#z6#t{Ip&>SJyzdjZG=UZfHt9GeHH&}SCcCGlK=#> zt%L9`Rg|_getNo5u)^IY7P^N2IR_sb|8e}QNYO&&Ox#Cn$X1U~%`K@)i0}!dP^Pk`>kK2xtNe9CMci~VIQ(735|(Jx-xRLbI}(Wn{L2#Vs^ zUE69p+Y=?G*rETw_-T{eQYd^EtRsk<>O;_t)0#Af<^et6_s+0!p2S-ErcxHTeb3zK!HdLHak)1G=4{pKvC!+I7gz* z(3l}8A9e{cuYQQ>XA~}kt50G+aEae9LLZ5lz1s{X!y}0)@QK6c^7NVrEJrx( zWCMr3reIGE3D@aje>11MYkHPL&MUuGvY`I*ONHf;m)LBYCJ^V{W)-2hZO+e37 z?>hVkRpzv|6AwI7fk(qGS(D)LxVsFo@8DTdYIH_Ve>jIDUnh(M(L{=^(;X}o`7Fw} z@m_B~PVWKmqZp%@|2@hSU)QqLlzTkRihPSvJCZ4yCecx-1y--QXQR%biNSJ2-ah_c zx~_hO600uCH*-C@p*SsaDL^sVWOgZ@h`8pLT1f8Si@HO!C@gTRf;LW-WYcbOTIr_= zyj4Q`CtQcVTFM@ED`VY8Tlw#r!wfc@GCEIdOA%B#! zPvQBmvEOyti)X!p|JUy-U#oWXX^Rnd<44EW4kURJ74{sZ6S8UQ9GaDTBJ?rfuUx+A z#aV8Zwo7sqTJ~sKcAb6O9~K8=LZBOQ?5L0xOh-7arz6ebN?)~lILCBp)6!_Gwl2Ry zcIj*_@%UiD0C?)YXv+nTWbQTJ9}YTwe~S+)kRMQI-3odBm`AK}mF`V7`H66C)_#W$ z(h{4~^saNZ?!JHhb#=S4Gs|3v!DU!1H%(?3feXI~pa}jzHyL<$p6G_-OjC=%6Qo48 z(Y~RiKn7yORGW*d!W{$z!1!UNsFt!Ot13~C+liAQARS>)$`p-0{hE;QAl@xOb;GYo zPPT~TYY6BsLxJxsn)ZOH^mR|>A0>&1i(;>KWIQh{n_T>^%mqrP|KZ!qI`O8dEK$Tt z@Y*^~;mh*DmX5IFh1fP?!Cw6<0}IdH%=8$eiz;mz`m7g?-DM`O~HG%!dB68n~ z3!_9#gb)o-d2!yqApCL4ewK7crc7^#!aOl3W9j_O?Egni30+Yum6}bssFr$QYw!?O z*v|iHh5)iwDLO$F&igY2N$hLMwq2rG)4fip!YHfqrvVjJs_sH^t7?)StjrCPczIO^nrBs-gz ze9QoGte0Gib?*WmbF>^!Xp>gex|PwXN+cO!PU@M3p_YnLz>we zRgP>!wd@Xthkg@h?&?cFrfq#XemxB@U#UIEXQ0*}cO-omwy4+{SAgI-?x@)36QNKqj{B~3ZQ>rbF~AB@7NfIdh84=?P%1`R81xyVV&nsXmR`-5_jcP!_T ziRaP&hmI?Ro;N}d-4DKqKy2jJ9BzipO8#MT1_@B7x!P_5j&9~+`%*M{!?LY2fb84m zQcSi2%DAC@D6AGSMa}6{H>Q+jGx>S*SAMRgTwN%NCe-*j-!FhRRy~>M@vkJ%GvufL zrn!NxuhlORabJJ@pFke9@hxil%f#dW)quQhwM}zS;YMgo#+d%zIjm)&Q4!!-h%9`I zm?w)M<*b6{!h)VYUq+@qM#oGoT2@;BXr~CL98%XUGf4xVCFC)NaKDqMKW_eQQ1VpU z*c-!B8WSnrg)?0s^F=WVKlI0Oiu$}wkvv=&b{cDQ({R_<6H24sO~zkhVD)5w@eQal z>ta(huWLna5Nj@P{NErJ@h`)#jdMjlVsyLTNmP)3vU%yzQJPXXx~M+edCSo(_URm; z`fFW&{XfC~$JjfD*VRSs!a-x(wrzVSY24Vh?Z!@a+}L&+TaB&8Mq?ZOcAxjV&iV2F zIltCk`&t-tu8DEqLy~o;&%0$7NRhME$KEBAg??zfLzz8ZC5D)FP3B%sk}p~2i@qEj z({viT!RN7xh*b^U(<`eK&o$Hc_!YbhQTKY5Hk?|adMM(pFM4C2>QQAyswJFzL*9s_KYLw9m$CKz{2_QA&Oj;ZAG-mrC3{q;ccT}z8a^=dKdYLEGx1(h2yjIvc3K}^ z1{?@J!R9kGO28F#p>w< zK{@ML{+>&Fw`0q{o-hExXV@Z5T)?~ar4GQNs9KKIw&bhl6a2i3;^z?Dxq}?}QpB}3 zI91uRjPzG>i~YVAnQn|5_zyFNy2BzE`zyLpSrh-as5O6kX}8WOkrN@W0=m%!`IJB? zF*NQ_jZnE}bBK;1i_5(drd6DK*RBqC>i z^)G$j{WWfo7Fuh*)}vi6S)TcZ)tHV+pIEFMEnKZ={Yi3~5`b;y@wMnolHIk(D%2+y zBl7vINKtbjk%1S(UbMdF)GZ8jdIjY@nC6SAUyJ;2&k(=eGQ5T6gOaT9%zyRrXy-3} zs(*!d)qDD(&+JHR`YEXSom;Y9hG>TQcOUMz7A%jMn_yFLlJ|w-a$F5Y@kFgbq`hv)iH05tV=5Hok?|@Ebi@h@K3YuK=mEn0Tt;sc95WZb(-~Hd8qqLQ)HvU1M6ge&J^= zz_b^cZw&>)(kLG)2~fzjg8asl2)zSleaTZl6aZP3EDRQWkDT@O4{Cqtba&Ju84SR* z6C8CNZvx@iT6haAa)bjKQ*@d}6$Vhu?R;y*NaZza318il*2mA7W#rj9rfLc~N*-Py z7K@+=&dB?A8`I9*`=jbMhL85YgW0GKJKp(885`IwC%-4ODhzCK0sjXl^v(`vX{cKy z5ZKcpYJ(cZc|=F3l$N4Ne<%lG?VlngZbRhC!ioTiKdz{Q9YsX8s~C?|kOec5o zC{gAi>6IAT_nhTT0!NiGX?CuTi>JT?bEY)iL;XNbEZqK2!l6@+k#HhXo^yGmd4Zkp zZvCOqXkSs?jWzxjJ~1w*9VlSIeJw>@Crcfw@B3cDcw0x5<`M3`7iFHf+?dbYfY`Na zk=@7Mm9euCZH_0S6?NE@3>>t%-*bq@_KaM7IM_=|QQ&+-P4xFY>IHSWSU&dZfBdT;=83dM z(P%;H=|juFP^NuYRPz<}pAd)Op40yh?WfeZa|%Cfz#76ja?pIzPZ3k0kHXT5#G(an zyHIVE7?a76oX8P0#2=3ag3U!gJC;>PewyR0*b}ULA#T`pfwYr)#grneZd)Y}zqe~{ zns>le?RJ?xa~DtK;kVKkO_|nRuSf71yZCk~Tadss5tHSCJ@2%r&%-CQvZnvUC;0BD zz|F*ARNM(ISMe6Rwmxz#HUn4jbw$Xu9e-ygJrXyk)kNmqfLzoyuJS#wCsipl=X3I?WvAe_Ir(?_C)~C{KXOl{hW&?54~8Bj+NcZ+?M5MSg_&t zbA*q(kElZUkTYwxgdwAjkZ;{GUA<;vy7PN1Na{LU&geYFCoYnCt39<6%rbP3re-tK zqel*xewpH2_;>Ob8VwQOCVE*@cA=V$iX2sC3VbZMv+Jg0Jsp;}j;docRZrk2FXg+a zT|$ld`AORr{1`j3RaxII2$G0nH9bZsCPd~5tfoF2Yk%bk#a&Cy5UO$JKqEsQKu^wu zd)Z4x#>Adol;kLJZ|AZ&6z^JTk~gB?kK;GONUL=sf-QA&*H)5Kd8}} z(}tpB@P`~t7jq0FwV(=rOzKX78XpSD7h8`h(%*ZK{#rOZ`l&s^8zan6-_|Xb_QlXjy65<>f-6$q zd*KMNUijmNBiy>q$KTplA!(MG# z5PQrk&w~UwB;W68AxMfJqkgZgA~v51MWKlLY#^XPvgJvU$KGC?`(LWX6t65<5{oYX*tLK7RrL%gre%4;K7bhp}yLLc@8L+*)2O=wdy&7r)eSH zc}skRu>$xGbNpVjZD&X)s~yMYsC)6LAiSfJ)UAK(@oi)nTHb(yxO_zBQ?*_fnUT^O?dU$qV=b*SxcsLy zF%+18^NrvR>rK)+UNHl2A06^Aw2!cDmq7@_!^~40p=}B_y8B!<%5<}*dR{=|paxe4 zyZRTsFRWz6Ohc^3wCNc4#>J|a3r>pQ?K){`p&Ng-@ksIP9LvwLc}F7C(VzO$7BJrY zQGATxIln*}(7L-{*#Wbaw*%&ss+)aayk>}n$Tr;y+7>e|$|0s9T+{;@`SJQ~^e7?C zBoL)JA|<h~V2f>s-8Yh#hwx3cn-zuxe2r%fPN-iIgeS&NgKV=YG z(7iBCf4i9w7#=Ma(tUIU8c`?|I+`ePo3lx~Ri+jD!xZ$Mxq5ZR2{+cQj-1tQdThcl z&GdMWK(kL$`34Ag{d9XbCiQ9^<*{J)OP0ubZAdrV^kd5;X+oV^)#+rluy&~Md{CUQ zU80+ww+-YH?fqMuZ|XyB^Wdmtz^Cr(W4)h+yd|Z^`r6i2!hH7O3%jj*o80liNhsY-Fz2?v;-}cP* zUA*aH5@Ll;wGZ2LXrMuB$(m%8e+VlYNpeHG2;3$4*%ynsYC>( zaitog$liC$3x@cc4oi&l&isSnPRx(_B>|BSm)LtY7PTLR1G_JdYLqR=XPbM_bh387 zVxLr?^Dpp+=u<>Jir~j-T)L_6M+T^lHTa?3)eO;(5*Nk>uZF@0J2{}{`PccL8*secT@DRUPZG&s2(x< z23t~0OTVXD00{a~Xgy8WxK!;g&}EOuIrohp*smtUT}%z|L-zG2Ad3_15Hs^9-mKrj z>SBD_4^t@++8)xHF#S;Jj)bBrt{r}L! z?0lU6E0BeaosaAPEs{k(0aS$=B&wY4`0w)|onZ^pv)?BL+cgSJtGQ=<7E(I; zw4u&in_JW;s1Tn5WT+W)MeMdIa=P-f=T&y^ftTWNio8oGJLz(}ypy<;vW?1z@aYhM z$x?x;#Kl=w1&_A5Jb|y_ zZh$D}Q_<0mtth5p(b4lTINu-l-G3*!7KB`%GMS;h{9#(mSqN5J`YyJ@dR?MzFY#DB zt_>I(A(L9%2`CO)SnQ@yI;b2PVUt>``tPyoWcUntw#=&x)yNqQe(hR3#_FT7se4q@ zpbL$)bsE+~mqc4YxusRQF<==d$k=P3;qfxfQgSlgk+l zK(UTFb)>PWuoGXk=zy$xR^CbBWVVbX){&F3<|i?wpDx_EU+duzwykIwF#x#ha1*6= zELler7Mb%1OlJrRG(`=;Jn5_p>|v#)3r$}Onn{jw0h~?!e|nTCk(06-hINR~q+*IY z4Dii#)Ct@x?=b$g-Mh0GuS%Sn(Jem%M2Qc(fajGr(3=^+akA})c?8uw$2<1W`5J5C3IAdoZQIL+$P+feTzKu+p3pZ;_xj#zv@_`cH`5Hd#;| z@>nT`hRJ{5XUSjHbZpvNVToQQ8at|3eghCo345Z4RWqWL&{UiRx7+XUGkL$wloioO zk8Q0PPrES0m@gq=sxW;lljP2fa=(97$$Z32l^iM6`WZiD7^%L~5nGe- zCBT>pC3raJ@7uPv)uj`=EM`BSi2g@k6x)laJUNcbq(0-vAP3P!*Bf*%S2Cv14Buzsoa3m%B9egjhm+kI;SW)a_AjdZ zEu$ZAmZGZwRb?vtdvKlM=R^-de14e_QwrzNkh}E=!vG)7#mcGA-Mp7O*>TF&u%A?H zIshJ{>bo+Tq{sfWuaF`~eSe9kf@IL=8!!=2x%7|wScVC&hu1p@U=T_`i11>~8u5)d z!q;P`tHTs&$_OENk*xIbe5P-nLKb5_h0z_J4WV`S5*e}XH3Vk zW=qWG#UXHCti~Kq)Yg~*&Z|$>=F!mb1pRBoV{{UkQl`;~^JJ=#jv34G9@V3ni$Du| zon!;TU=B;6s$L9_lWhNn-7xDhKm^gpu(fqT#;*@@J`LbcAGz@e<{9cu48$1UPkksLtekPGSysj=f6r;}~a&UV76zD`!o0ebQAvBi` zn<>M(^;30c#Et?U?5$Z`B){!Q`cT^M*Q+wjZO8#7a*k+QHGH9VizGr(CZ*;_VWgOA zn5I8&68-Xd0PR5r!rzQL6H`FeIjPJ*HZ%g~5M+*VzwxM|e^vM{Pbcn3Z7jN@d$K|WKH7`TbY4{*^SwW#K zW3KF4;gjkxl;uWNXrNShvOtf}WIC#(TWcuTO@i&2EPfBinh7ytU}jqWY=aTbRmApq zO-h9~gM55IOoefsnlBufB$j%`XjC=O7`?Op21kHUCFY!R%xxRE0Yej$4@kQ%h;jVZ z(5K3bny`Sw1>w((r$ypl&VvpCx7+Bha&uuNRFTR2HI#AMCp3lW5$d%u4mtHJfHci= zaD1^7R%q;ol|MUbg>#Fn4Z06I@5S#cnA&Mrm?+?8BCflZuH@(!?cyjUI2KR}CYhDMzx zsG|_%1W@G;w}rqmL4F_B()sQ6nt#^;K0dkB@x>ab_Wg1Ulz zOnV)PvqqL+4=QELQB1|^U>x$EW<-9A;+FOL*8y;AU5$zCUrrGiGi z0f8#Wt>D0UaR|$B=s6wE1d$PkLHDYpnVC0zFx)>l#Z@QG?`P)xFM`X|wmwDGqa7H0{aJE1<-(PmT5c(CNP+31O@021+t4moP;L7Q7sE3L4o?HMv8`u6xI^<%WkcBmD4=Wp@{m z&}fi0pbW{}u&g&p?Ms<>{@B8186zS9yUGJR2%^+&i|yEn^|IbHJ z+yynKGSEAzg;6aeVxDsYA~II?BKHccV(Sj6_zojS8e%GK9Va|?a2kI5bbwWh_Uq4x zpbZmfQ*rlOo!X;^<{j{PO+y6Yx9mQhMq|<`s$WO0E?(=FU%M}hYHYeMIrdU!9X`dQ zE{+nyo4&|=7*~*Om{nEzCVxoqb%4^O<0f|>jj>Prw04|=o%r*V_w@a~U%NKvMa5c? zAe?RQPS|!xK&P*a!C9=@eBRG=z!HbxqXe_|qEe&${WcKWZT;wIZ-Sq^XAhy_h&sPl9An>d;C{kl!UMvIS$JF*-;ne=p@ymXAP{yqH*Nwu2JfQ9< zd735a;~qy_BF8W(&e>)E^kN~J`UQ#g5U}@b@hePn* zmkDu}{ac9eDxKXsYjDB5Z*e}bIML05JlYRAzB~KP9bXb>hv!{`8b##HvTA1h>=$E#EZ|7SZ2xC}!dJJd`u@v9+3v7p%0i(BK{0nHzN~B{y^#~+$@kXp;ZuLArUYbgo;ge>~y+Io^VW0L^e&k#R z$(w!$#$85AU1tZ^lSGumgOkwFdcbu{;Lj9)ta&`fPQmNeM;B z7f(@Nj{n=56qL6?dl`CBy>qPi4+vdAYkg!eTO`8mRE>}HEyBDmx0%)`x&07a?rMX> z=-*qzl`lJLs&Z!O554dA5^4liXN`CTxZrF!xh#%M5Zpb80C7YWcE?El`~(S2`)6(u zhCDi+!;3^t^gl4DPHtpqhYc16ylM;onOahd(ztPl6lHGL+gq zM|3TFOwZzE$21r0j{uTbn-rx{d^-z7-do6 zXbhAPl1kaO{o?Mc7HZh(e?#b+WPHlh=S`lj*FZT88D%!53*UBe@`9aTRLO~sy=;_Q z?OA91rYv`7udLIuNgkB8FDwVrDiOTiOp?+H9J63}-~0Re!9S6XS5A3kIbu?J7^!pm zt1Ct>&Alj-8X}qnlmcs1f-aHYtP)nk@>O|>NNKmohQmXR@0YNuA-^$t)~Ta9{0WPt z*^T6dkQ#vr(Kq}v8{e@6xsXr6OO)@V!)0Bypkm)_GvEqCn=6oWb3&9a{6Ra!5et|n zmc#o-Sz+{0{;fZ$d@-mwrUeCN?$H>>o&>q@Vvu>wAn<~4m)~OG&k*ulH?NT?FSKNw zOoXf@N~BF*DdR{k?DBU)BiR_pLY;Hg-2fxHOPFQc9dK{sQ2(cnKSU>;7{44brvXH) zz;D4pLCr_O*D&p*@60%%BBM~do}iy%%#qg3zX{%;Ga4YQtuW9bEwbt2Gh!C5&e8JO z=#7T)9#euArzq5_`K@D6vwE^x1hY8+4Y!-B4+LS5wvVBM-?3*Lu4}|c#LAE`a)K64 z5VOTb@alf->Tc9nks}qTpoWU|lX?$fhemF4$M{N0Njl*Z_2an#vPysLhAK|!=a1dL zLx+4-a?BU7m~z+w()Ry3hbCf=Go*t>&juOxGc!8B!hMpe1#g?nUBhIczcZ@^Yi6K7 zatvdsTBs^76iD1_F;sJ};7?GEL@|7sm@5F+sDMNG6cx5&j14lh+Lctg)iur-2%yG~ zxu4HEYrLYI`4Y~V5i_rE&b$C3A&OTJ z>lOuDK{`-0YWnhGkh<8JZG!v+ico6A7r$f5b_(cr&5pq@=@WB%WjtJ92%sLs=41}4 zJNvvKd`YfETS%ns>y3J?;3T@6QTGzg@qpm$>&xJLwNk)Qh5=l41>H7TfNH}^Mc>o9 zL#k&4qaQh0BoH=~Dw^!K4fD1Tl6PNNtUKD38LRcDz2n~^W#O=-_i0;$5^Y&fJ~1f< z`~Z>D>%ZnKZ;Vggl#my;nthr1PqkD@Njw({JS=p{&iptDu?dgN-H1*eWZ{hR)CZ+QrvRzc%E&|IB>06=?cQD##2K=^TdG@Yv>%P)K`{${aN>=~n5b&pw@Yu_tOXt~l!rL^;3tT=rW|Yd4n6u` z-*OJiw3Kh9`zxLLGad5dH}+Sf;^p9owzTA3iKK z{`o$^`w?qyR>*uUPU2t4@9{jb+##*ad8yA7EW?y1ijZ&6$xQe`AYJF8;Pk0~BH4+Z zJ4dC;o;~E0w$)=Kyg?k3#y%O3)7RVD{UjCTNXkcwJI7#RaG-UyKPttxv(dO3b$7^j zp6P{i*}CO+{&a(ZWD4Ona7d7WmU(b8CsQbdo-9ljNZu6@LYxB?Y&E1(!fIcjH6fqH z#D2@nD|YYg;)jnVY-HYSA6%GpC<&>GEUPIx`-CW#maGv$LyPT2wHhOzCG`4E%qymB zIsGGqd^MXYwMni8EcuHdt_#qF04CMJm`Kp<;?At z#l7FPKZ}7qSW0c=x4Zai;B;?$slGEp^E@Ww6d|q};P#y1y4^YA@dQ|bJlnThvGd7A zYn=CYOi$6bTd?N*+eS7Ndl4eXnZB>!f6z`6Rq2mqh!!e0JhEgRyVd234WAcX)h-i# zLR}?%np>%nI$YmkCPpGfq1I|jW0tRwFY%qDzMpe&4twp|xOekZo%zS{#1kL|FW^l2 z{x*@mJtQz-eeyDOk9gkPYEKip?u;EKX{(wRL)dP;kp@Qfeprab1pVrSpT)IS`l?AN zWFYM$k7>6{0Su8i^dc}Rf^I1{1t3A(DDc{>&v)4)_C(&FUfZ;Z4X)Gn=ZtKOrl2BY zP?7R`<8b%(YyqA7<>cszqX72{`1VeiLh_5;gy5)%=Bq+e{fbsdFcRj%%uOx`{-<1& zxRnw%tlz5Cc&937s}D<-_<|pcyc3#Zf|!_G&wDbpJTik@j~H zsTO(LVi`gXK}*#^4uysyYrJVG&QcU(|76#dus&VkB`nhK{w}fgB{U|^#kS=)sx<$> z3#I!hQ~WGQ*I(MAdFqe3m&0XF>(&q@_n;)P`6koeylx9iW6WzVN2F$WgU_i8nkJX2 z2}g%Mo^92amiNoOP~4^=*1h!{RhFujCSmwUY`LG`$mfN!tA(!zpY&t-}WgA zh=1Lu?j}C|B@<-VLrI|AoZGpf?drg}D^{dMI(zH3+^?Ylx*<|P*a0EFjJU!2ShU8% z4qs?|F|FTfrs>2U{TVD75B8@ar2h!1eaXkom_`1JX~g~WkfPXlGg6chBDO0>cG!T% zRf#k~Gb36oq^Z*?E#vl0JgoF#j1SXy=XedbaN&r$2>=Pahf7{)ufDuVi-b?zTd`Dr zM~)x=Z$xsK@pJp$wUE`P?&yk;)X7Z`C_zyl$FD?^_7A>!N=z5}m6LN^tsfXq0N>KD zWMXN?c}^=&bx@)Zblk-ZWtaryh6-Dko-*n zqjNmNbv7)^RH&$)z_ufH=3)HndGOqWXf`!W&Ed0A6_Fubo3u)N8B{(b?wnahdw;_( z`GuK?1|yVOfa5H>{XfyA|OG=9qOO-M@^1}mbOj+GU zWinulGU;w#?*u(dGYWyF?So{3_KoAmo{_KbgRH{q`vpFfiK$++{np0n!5n*)(9`(H zR!_U%J#dh%PzJy+m`)Ti5Dil zW9~W6fN%_9F>xBET#>`UPqc_8!AoQq*er%qnh}g-F5q;J=zeLa_%oNptTOP$)A{jX z`mV#3sF%M0r(`0Ai`IN=u*SEGO<$@O{+S+3cZM{@CtT!)c<0co73J$g(}ENh%oS|c zpKY`k(5uC4jp%eLdaSttcpGwWFBoui1O5O2TpDmKOgD2^d3|IO@o8n7wmQI@Rtue# zM$7h3DIe@6XXmVfD{6PY$2aWw<&31bRC>H?1c$yyE>xJB@E1P^hNkGmhXYwN5dBvCu&HRU=! zo}u46=0yo7)|nS=RBXH z1DPzQwS+39KWYL$nSN0dl_Fcn)4o%vh$2I`jL)(0%EB`GT|n^-s$zKa>2EO3^^~Wy zZQ25?oZSIl_7X|_9|2iyBNYX;ea?vkv1=%g{PSx8|O= z6WV=Q?=`FQ6qVn;`5wUlV-5Owq6b>93PBo2_2EOm9n}Xi2BE~k93$zRGGLvyP$6)8dq5d7ZWhDvU1Widj;XIpQ#)47+ zUuvY$=i5I`)a$ug)0m;IaAn*zOUU+8$mv#2mzWrfp}2#TNlb~78l!Ji^w1q*XKMR> z7!IhhzugS?9kqz5V-s=KF|_HIs~Q+FX}4!s|J`(UOn)=rhpOClan7v@@-Kr7UMo$Mw)n=A z%@K2rnI1kgmAehs<5Ux>3Wd+m5DxJ60$VGFDWBNcoqaiM`kp-g=`uNp+u~CHj1O>Nt z=4cbhiStg}ZG3mX)4#{1H7F>0nQK236Q+{t+8vDl4Mg$FF3A!qQggOdIoZcP?S?yq;qRiKftb0k=IsG&sOZG8lnML;3)9A<1UF>fS^>;oJe?e6F57TZ4lpdh%uZs5E z)W4?QUigH#pW=QRZ=;3<nmq^Uv+XjVjyXwfG!Ljy=B0B}MH%?V_6zh}&yfwtG!Qi!&6WlDF}W<)*y8r~H;3uhB07FrhllpLr#mffcMyxK=Tpzbbka z7(}`80@g?^(9lgglHzWHDwgEs%Hia^RHlc5pwK>_jjq)?9qGZ$=#G_b1Koh+UM@}I(MDiY1yC9#+)eX9AhL(qJKR1dw_ZZ#aw=O> z9UOjz%wtT#Zz3;4q+ng1PyF+1tkxhraANS5Z5FRe=xvP2GxzJr#m2x`e}8Jc5N&m8 zDAU^UZCPFbuXh(pEbNj-ZA0jO=Cq4y{vah6$9yU!7x_}~$kLR892VVX>6eiPlRC<2 zK2e{m8#t#zog z)eo7w&w?myZ*$g_Hwi^^=_Ktl zZ6}0>kKf;BhjG9}{%qOI_C&>6!A+a8v5x6=s6BV0zs+OC_h_i~L2UJp8k0qYsuD~mSPF1SLIkR>+sxQ z#&q=72)mtOvb%IJ#3ZR?ke~D-xUzCqfna0Pjvaqr0$c;3{`48+qO6c22{7{xq{5Ul zB((?KzrvKC6h*;Zu)TjIhF{2{?i%~9g^~V<+)u`9}!bo)&~!)S*MXSbYV>iY-X zJ=jSOoHQZ1Nw>f)9*sVCADP2}bU__0Z;t}F`NzHk^xmd8zTd*Q{0io8iqQj3|L;vt zSuMsq^fD>6vEx}E{WTHJ7LUC+5!YK=3VGL%#hx8ux}i!vGjxJu^m+@0R%O=&WcZqj z8*-V1BnxjONVe(Ork`yPgk`h@f^Ri77?j~@3-z*uV64hHCW+qdh~)bNIelK(NRNa0c*dj=`3G2sA1g@KCI3xqNzh18*tJNnE|J!lzf1L6DIqtEs zvhw_&4Ag8~od3J1FB=!v|7%s>IRk)=0(6vMEVE*N|1|-xk+>H$!qr+pB z`?iB^7=6xQf9VGU+1|@>N?a>1iwG*jSze>1R0J`pRM0_=d)3_j8qb=4|Gp2(<^;OF ze#mm%>-~LuAAHH{5&5`JAI@-HNonZM?hO=9<$twP--w+)F5a+U`nVrF(Ny~TCi^eK zJ1^j4>|ccUeZ=F)-+wwUk@toWB6X_lYs>3-04-m9s7> z-%n%F*ygO(;d$+oDQ&STiFhmbO94rzZCj834n`pw5wJS(K2i98Dcm<^l!Olyv_Fl= z5vjY&5?mmI=^+_L6lS!b*o~$3xk;%0d7~LPdJoeB@v0)_OptbE-CtgwSGJgl$U91^ zl&{i|(NZe7&}~t*h+IOKI!h!ZTRB&Dsz3qsM9Tto5(a02l_sqzVL*JzX!bAY;Ta$^ z#4vkBpwlnV11A;`SxvD(4t?iG7S#|L^~GB7|6aG{u&e-jzbRGoFT5&IYQ~!RQkrV` zj0VOie~=imV$E~9Nm@wkrtMvL0>+@*u?DgKyB$%X-e#Z@^w`Ez`DzGo4bmH(%wbSi z^y-&Un##$L@8J@q+;`vW*W4NLk!^h~#JCIlo)s!s-M; z8#Hp%#4lO9Gm1@6?QzNKq7|2@femi%@BXKp;TBKH=fCTPhDiBXK<^dttB0UFXi$BJ*CD!Ry9eoEgyE-9&T zIEyHnx~56RS~Y?tqiUN&Y$%7rJ($PG02T{A)Y(NK%GxrQFv z!!DnkRhlv7dl}7?^gMbH@H$s^6)2N*cW+;ux&8O|$q9kz%47?rosL3fyW1zx6eTnE zW&-puF%v2tcNg{G_isn>>w1hKJU3s7E6aIK{@sfjo#D{B2xien!z)?C%Re3Q)utO38o|hJ07Q)nAXViY68 zhBW}q36A9L_h_psG*(wnjSOG;s$ClSh!LZ{N@NDmD+v%V?DH& z9hRZ5QE>gbW72T{(9p_pd4d%$?(9F?58M11 zZS3S-zV^6nl>&7_|Agxm5&QHRaZ_|s$`)9=tWS!(VH13jC%)M|@=_G<0xo5HTMOUW zm_J{Cq}x3YB7#gZS>AW5%sL^)uk6Cwov{qVUl{~4hh6Ia*~JVL3l*j1gDse5YBVwg zVOeH=;Xi0tF)9c-Okm^7#h_Yiinsny8FmP@STC?=2<1I-A8p}27Hh;l=C1lm9E<@7 zokTy+@9a7KuAd*|kvIg|EMN5_(L6K94s)$Ve3qvh**@Z48^k8JFHt9t?1b5IOYjde z1TJWqstRH3B5kem?)43+l)C56q;<4_dT60sB2#`5>7r0k{GcB%V0mxDVksqJ=L>oeS6cD#+Rh8%v}JEU_Fa=e z@}a1j=d!9P4lHhkI|SbFN(gr*$c<{v>=w66Fps>(kc`)uVV9bbS3izo(!33SqEJuz zqTWpdcG$UYa5*vGdR%j=2D?HKo&^|P*xf}q!nWXmf7UXOHX%S~L`!4Xyy0V79gGl~ z+Oo`Mr-+ydGL)nUD|DcJkw+Ap=3uYT;dGv8c*H7;ez4JFY;dlPX4~13X)pLudGPT0tvIH?I=6~N_sc}^+rOR%ADK>T1cRB# zfN(t7qD@uMMU4oGPmN%!R_7J?vz9;|5#=Kr2dVx*n>d1)hj_&3&C`R`1;6rYlQzYJ zL1Jo^3tQmEs`mV@olIis18s8vv~pE9M20YPHcU6@6IByEgZTmNRF_MV32?Y=drP>H zW`C%UH@2@&aHd@hjY4?yMe)O>qXk>gvD9Ekf%@Dl57cTsNS8G)K8;yta&PPK-ddzV-K}>e`@dVrE%Z-B;q_Y3~?AT8w z^|;_Nn+02SN^VKJ1ow4<6H>#20E56Bf=sbLj2WT>qHe4~_UOZ#@cmks?kl92obuk* z&2oogUP0d)gPeJ|wU&V%(CZ1e+5PRWw0pURW1DmEWYRjRENiqE9gk@KVC%0)d$sJ%h!1-*Q`Dt(0p;JdgoMD=!8#u`DU$V>({Nl zy`Pfhz5^6{49a>C{c6R6_m1UkWweWTcfY?2^R={of1*+M{la-`+EDmb&w~?Xk6iFN z$J)5gz|_JvzLpKeVTxi~Upm#To2ys(>XwU3Z_$ce+hOWVzieigj!54m313Ai^abK$ zeU~y(!udP7Z3eViugSD7{UyqIbL(D8)^5D3GzaHL$p_c{xm`a%)5+kbnKzC18)AI> zs)u1rx8uOlgh^T>5yZQiyPERY9aC2cIJR0^`Y--=8V;L36p3#NG?{L7ZH$tQb2m%< zMYcmrB5-0OK6r+}4W#0yXgPu(U5jG5i|cKrImPF5FMz;ZiH-0>S(0c4bHmi+mcAA` z8p0c=JO?XHLaQ^f=49>~1tAp*lFH+wSVbq6F#>K12`wC6fbzCMy+)r5YVUg+|2){< z0GPTSTe$@}CzmwFWVvz&IjxT7IntE0CfL~F`sv?VZ^i-C>+=M5U+KxOiGmI40?P@* zi|WOm9Ok2p`P#O}Et~=Z8!p%UqOamGEJ-XC>K)`2Tf|fGTHq)|_Q=4;T<$B==w*b= z!LgoSdb!1|+24M4L+Z}~o*^vJuc10?@}|^6iOu^?dtm1%lHVWX+aIXB|QxgXAljz)AuS65g4I_t@NGHoMKv&}Y~Kmp}A4HL&jqP@}; zC*+u6fKtw-TAc=QNH$Fd%>tv&R(_Hgd`2P9lD6IaJ!%*RIrf%1j2|((mXDpr)Y(I! zOUxLt%GzxmKBVm-&YY3+3GPbGIt)%=JbmEP=ENkmLV_}CD=Xy$l_LW} zhC4wXB6w#nTt8+Vuen`uu)@nOXugM|%CRP+Pz#{xc8m9eQjj76&QHOz3UZ(ujM!BZ z@-$*ms@b`cM3M6VxXh1alrd<&nF^?9^wB+?U~#)ET)socKxm&$Df(B z75tbq15ryzO=LhxB2u{i^nJI>MB{{&#d>x5_4N3-R`6AXlf|Vd4Ru7Unq7hn!Ygh` zw~a1R3U}>l58jVgKs-M-n63H3!I_iHtgd<=%*1z&MHkEl=n^6AoW#E8;g&3on! z1pL^SA|SH3Ob;%dFb~rp!^FY^s#Vr&Fu9JJOf;Vsrb9s?9ls;3n`*Zm>B94f6MK<~ zC&~QT5YhuBwfCZQHu$>z1BFioscD}r>H+1Oi!CehgfEEok5 z^gJItPyI8tdTc?0S`{}hCVHW>1}*)Diu6*nTOXVI(Qdn;j6Nkyki#%i7HVBkkIh4k zJL)AT8ou3s?1VrufL5sQ@mP_@(oz_>whPJv6z2!#M$1CF$}UWhC2sa6F_JrcUy*!S z5&6iz(o`|M(@(S5f?>)Xzn?3L5mBkTAGAqEkWz-8N=6HkPS=XZ4DTouL9c&svlS77 z8UE;E%m=fe4Jemu^tY23^^9;u z;h$+CaSoGAgVa6zh9igpg0s-cnrn068^DY5rJ9ciFS$TYH@6-_9kH!u?ioJ>`D9RL z9wH)6Y9869^cTG2Mj%Vw+7(TorQU}T^N?>Z43OvKOA+(x&87@`9N^XQm|JI)nPpXz zW~9)RNS0tn7MA0t+_GYac;0p`lVXRAw`W;ZC|8IiOLNy6kjOCN@ekyts`sMLeiM^` z2hZM~CV*6nA~ZwJ6Ca}Lj^0J(rM`>|m*Vxkd$xeV8Gvyk)?hI4H%JV) zj%|=<-9k!Jd@xLe3QDo;dq`81UbfwE~7~1a73ir(FohGrDnlklIFW z%1K%y{m(!byl8O2*MnZXzgL*Hx@M@Nm}+9priPIgq*tZ zsIG}1qc@L)oJb&}$3K2d1cxK@`ZC+q(X8jvazBaCeXcenE(04LDHcjLKJ>ExkE{h79lCB!!Veo|QcioDe%d~Lef-;SeUJl85p ztiPxgwsp?D6F1x9$Cbli=_Pi?Y+kYL--VzklLe=IYP%|39N`Y#SX{P@SX~+!S7)S6 zBUEejh6ei@xuT4igAGUJMSM#6%RHVzqk=WU77$gNAjYVp62mQ7$J(#z4|)XuhLV{H@^Mg&G4Y_*JB`DOjKJ zQ9R6wApP=ddKD`_m*s=i%Acw&RapX!E+T>b@n8Fra}|0+7C)kKD_8rfz0A$jaJOR6 z_)bv!`@WFFxiP(-(bJXoDbU$f^ZdSYC_7hg1gO_WF2@isEm>L_=;{+_Ux%#i;%B`( z0W7oi&1P^A&UyKFnwDef{9d@u0i?SzR#R8dVH6#3N(eU3xTJabcQ+&;3NtO62o>V8RfIxfBl)1)it%h#o{SeYBqyW=Bi^hD1%^APVHPvcZ?Fo5EN9%LM?7Aze8Kh74Es;kXXh0| z5R!3{Jg;W)}Bh^Iz0qUa&BvPo8()po`6H?|X}SYm+TX z-uPC8lVO`)%>9{#+!1h!RHocZ9a4V5!da3EsjAl?`;BTBME#yzh=8*K=LSe8K~RcC zDQ8RYX)`gvWYojY$tJ^!1?B)~)t`b_by|2!(2&?fo&$0U!Qy@#}@COajF zfco)*3#pOSts*&*SlK>CGJIn#$sHyymyt77KFSrQam#W+i32%;%om$y@<`2yY5-=C zp?M8@{F2&o6+qd}HNPVD(CPmSdGa;k&66s9T|a=A$~Es;k8O{q2Q1$UF zyhQ>+dD-5>Wv|@sjttPR4Cfr+T(0`nfjAPqT%7-|8~QIuxqJoAL^*5NgOUoD3RjLn zXn1^WP@-t`7MiHGbcq?N^&k}~E)|+GvOeNCe@~1vNMbJOQbyS~7T9N^AIjR<9Gyt( z8jc@;UlA)R`cWLfQgw+V_UMzSjN$`!Nw0eO_|X?K*Lkc`2oYYH&yzo z1Fblu<+F`GQ1|y6GlmLoeU^;O>?s>$u+|^y<{pF5LEvn&*o-VkfMR19mn&OLZr}`Q z#u`DyhhKP%gtnbwC(Kf*E^q5MuoOQscZ>4@?^@R-+3=@IOETl ziI-Pl_kMf}Yky43kFIo4Tvl%jySjQ>J2*G2xVc`5H{w^NV?Xuyf|HEEoy>dnKoNA~ zkb~EW7%7z@=j8Li|6%4l((mh;DIa)PygV*jde$c&Y#70_^MSfDz8SW9z7!MYkfd1X zpatk&!AZPFT-`7X@GW2{kZX1>)s8|f0A(xQkuU%mVc}xj^kZ;7!IxT}4nwn~_z=+4 z+WpihqNC>8`}L!wap_+LilFclsVDY!bBB{&F?1M2Z)f(952aU+Ro-=iAu!1+*t#^? zwojGrsB^*$XeTKFIp5B2Z~2ClYU3^2qFIdVuQC2Z?NBB-PAR0gDthL-g>YkP2FJ|+B|6B5J%3va+|)AK289$F!8`Vz%^-(TZi|nUAJX4 zX+D8GPrN{Tow{W)_gcQThTFb`d@JcCJWZ;dxT*1MN+oTofp|}sn%kU+cjwI{-}(sF zEK5G(l2{RuWtYscz?oO9g3RBn4mueRGxqg4@(JpJf}(&S+Y+7yRYBvkkE$WY@fRu2 zu!<;14CQi#0)atVou`Uzs;6d#D5cxV10j(z#y0hy!4gfDT?&iDd&J0p4SOw+)w zof@n6qDUJEkNr5zo@-$kUoew-?%jW{ci>9i*vIhxbIWK?gx(LK?m^TtU3QPP=PUm^ zaeaeO>IT8T{8c3bwtM30A-JUlYaNs2oq2ic??)sD2vk|(J5b06p+x;jL<WJsi}zP;m%zq7!$`xRi!shTq(#JV)#^6cTep6oJG-~NR%Z&95Ymsv~_DIvJ zVH{O_qD-Dxat{8-=3jML$R3=II$%~~*vO^u7Vv58?@HRuuxad&MNQ_IG_-=o2&fL* zT%}9A8d4P|?7|*_NNlwv*zN8mQ#fL-+SObD9*U^dySEd8%hKL)hbZ|0!RB)VScL2X z_0Kq53Nmlv9#qUW9}6M;xNJ9@Nljr9B}%o>x#&?;!RdJmSEKjy|Ij%#!Z8A9ops>! zI9)In5Xt`$Fsp@OC)^;0VVpYTxjrN-#(j{L7!UN)S3ACpszMiC2uS*CMxxL-V%C!j zMx;$z;-S`@k$6BjPIFcORtwq&6SNx9*ysrdwE8b|gLiz;iVYyn?9`Hy1Yo()%6k~J zavey%n%yNtSjsTpy$t?F!LIx@=)P)P$`Oed0$Lp>9JL~`Heg+1Go-==NHbF7?oQEy z;sa?1r5%o2zsRbeNLoK+0|JfsVqFs%#-b)5@ng!&SZ7YM;P^9_<-CfA)6ao{xGd%z zuI`MtKPB}Hu^5pbSz&Hv2cJ&nL!XpV(FugChsl(<hRHjr^Q`2g%aV{Ry? zVhdg`2G!@Dwn++>)CS-7N*x)2_VdFj6mm#@ zwJTs_-j(FykEOQae84<|0eawU^56>I|KkF3Qht*<-usdqnZ;P%CXotW$ho0x4$GKf zm6XJ0+>&9k0`2IxhO2&%d6TY3%f_tCTmrv%UhlWBd`RO($rb;lasK7ip`Se9gB|Wo zw|*M0?9C0W7lP|995bb=>T-MY9dJRqm0@VBSuSBsf*Ps7#=PeQ)ngNnU7uF{+=?Sg zh+EnhW^jIc&uHoFW#<-;)624a5 z%#QLDQy!P>wgddd<0DPSXPyr^|#xvTPqX24PzbuI5v-_;aUw7fdL@4($s| ze{Hk>bo&JIZ-8;IW_Y5M*LtsV4d+|-ObSON^=YH=3zF(!)>TGw7Zc~irIfnrl+op! zE9&l4KAi~2Bji-fSld3FEtgLy)1@3RX=_LoQ2hQQYX4KAF&*$n2mRg$z-Mszng}|U zWy%A=5(}9Uc3`tvbd&L{mvC`9#89U;Zp-0h79r-ebG57MLy-GnqDxvL>XNTzB3LZy z)U`5~{3}x%IG)<-{5jE3c-QNf`qV$s9b|uNAxd}azQ1^*>@|?N&gSB_W+Bjvo>MJl zPD^Nk0IH5;=L4QdWU|U^>tv3G1XXAw=8eS}cbUA9C3+jUAvR%f2pfTTY`WTP)PEc` z8Fu_;AtN+&0+-E2_)l={uVwX=jYj3FddM6z!{33d0`&eg9p*&fmr;vZB|L^Xu&Vgs zHBFf0fpW%&H0SzlK{#jA#Ds)yLJ!sn7p+`*?wMf=CcUItSI4SHg-8;Zb z=77=O@DS4F3g??K%%`u~qcc85S}JcOB!7jUQ0f}#%p_u~gIX2P(dp5 zitEFk97ALbwS!8{K0k?9T>-<0y}*`BtQxQH&KXy>rqf$;5=#)HiIp2;dgAcp-qfb& zV63y>Z1oBjqA$CYA8x`0)^iF0fHARaH7oFiGuYcRWRX(iogBp7IWy+0e1p;By-_6{ zFVqoHZG2n&i^_lb$=j-f5yxKf_1?_4HI?G&Z8(vW_WG=Y6zk(Zu^~Lyhe~T@AROp~TO-Rj zl+&ZtpY_uG7z2^Cg*X_}IAEhH`8m0wc-IqSkf6x15&B3w1W^NxsO-;yDQ}pD-7w4q z`&G}w3s6zE3wVzup`_D&?^0?A6-IE!g@^DbpPo}*1vQt?h0`Ej$ViL+eA%ko$MR~q z1r6M*?e~s54vELvyHv5xRwi5k2^?-BUIX$#OyQ$jZjcB)-J00=$TmEQBTFP!{>mr--Pdxv`Ugbx)t5>D<;@JW2ft#81Bd2 zGZLbmG1%NJOpI6%*hyGIuSUkpTfak2UB}!W3zWlX%BaG*O-1Jq_m_^QAZ!6)ykH{_ z=#iChK9uWmvtB%`$c=h)B*dye#iw7wnk@Sf+qyo#?)}!DSkq7(?_m}tK@{k&+T6S3 zo2HWf{!ks6XfLpYDDk3Lt-T6!xI?NJ>-rtc`BmrNE#iIt7=QJV1Y_BESBxFXF^4Mx z8t7>i$<`a1D1(QSbsc?9^=llmR3{sT-Ll~_!0An}$wE=#|5Qf(kJ#y-GK!m(o9q9z zG~?v_|FJaVa? zf#Yxg?)!B8su#@le@Ix}bm_5O1t^*J@6;|bn>QCnvz=#i`ne@f>2GXl~Dzm6`xzxDwRZ_mSLh|2&|vw*h~)jnI@+t-hJv4H?VFWr0cHM%xxw*&P(yHY! zla4Z#b*3vVo5t}$#e&_GU2L6*@;iKgPVN*r#nS?QabNfF8<0mNj!975#3d4Y0sbnd zctlSNb$Q-Yj3SYD)GzvunE$VbSo2ZLeU9JzjBy)xXpji;D3onvDIZ_+D%KGc{E_#}0B$5)x2Lc4G9cr#Z1;~B4SuN>{V2x z{13G(1c^0TUtapa3e|dK&PBSV&UUJ!vN?we!Mk6bkTL|20j5zUH^Lh;Y)u%k=DOjZ z=u+NOx(%L->5NDQb*--GXHE?!4Rb29K`qwC95%9yB$erfFLq}eYrT;z3^d7q=_WX3 z+FEnyGvH>zJEUVR+J%YfOW-CJ#|#cPt-|>7B=D2ftx|nb^z`0qV$KDqhz*pbnkJR$ z?YkEQAPHecQI;rqoP)`hr+(Vi=w#D^xjynhZ$wxFD&h4k6n}-MnpT2I;g=8Cc2!KK zeU$$ISy4u7nMgZR4p!~;53_%gz?jDlECZr4TRzS_LyMW&A6O9Pe7pXrnXQk=I7f)B zmgh(24s5{g3nk|g{WhZKpP2Sj(e+DBE`kslAwdFSX4WkCCM#LevymECKY3ZgnnrAI zIV8b7OHT>6J=F{KAM#1l;mA798x7J3$G{BU@S+8T%$(1glb6}H0DQ#i?dGrmKP8eC7K@Q(cmU9YoyX46`L+I&!ej6wDvseNFEtjdXb^$V01^x z=+2C!kVfexp(!&R$!!L4M5CE8;PhqZ)osVqjM$uJEEv<*`>ir}BFb2bMQ%%AJ#yf9 zA;th-J}}uhxaR(FLZ0j9Vx1f{Yk;f-5;2E@O5#Ccs-7swsTpmZ;~?=6j>1Xuzb-xH*8>(da#@>RHJi}{!&yTsOT7m20O=28tEuCu{yWKeEpd)EX&tXM9?kkvyjRi6kV5w&j@RBU-X$DWnRRC$YZ3~7jh?1@GUIB z3K*b^QC5C%UfxaNctlsV#KScWN7lbOcjgCP3)R6h@{qzvt_V;NnHKuDax?<8*93!n zc?6MciU_xu@@y?6qqF1O16iDep-vFPG`hDJ*U=E~Q-1i^W4Y<=8cte1=$B9&WOoPq z_uVuH5#jI(67h+Koo)wL9y3>XDA6=h^ZDTY7J@$k9M@UM;Z+tWS_seHL8Wu4k(Pd5 z*cuFyCD@+AZ;fQ|)f=skBxp2HOV_N|aebcbcA#3bMpW}Mbuy;gAQg-=UJBt5J35+y zKt3=G&cHcgEz#_rZ0bPPR@x+$LT${fBx#O~qL)5YHG&~(LY;;%Dc#kEP{J=9RS{|K6aP=uMMq+j}fevQ_J^P$1K*T=%`V(_&QRjwj~WDC$ME>s@AZQnF_mI zrWfI|%uI=8(xv|4=T>(5m^bXjdhp`)xo@!lFbZx?3P==^FDSLyHRoR(k%_>-WDQDt zTd7Ms8LzX}EQ5d99H`e%%@HYLEd#G-U}@#nKEKsGfQC7)49ZQ?+zK@Q*R>^Y711S z%oM!sN}MTMjB1632NlXnrXk8h5y+NF(&uPnw73#lQ+4}QOq56xD^jXbGMnQ#Y`o6Y zS10}EizUeCk;03qh~b$Ahv;jcn;tiI|U zz-79@l3r~03x1%Cbi04dN%;$VCwxh$n8jlY#3I?8A02(a^&`nNJl%;4etbP13Hp7y zp{u~9ONU>;O2?0&Xz4YUw(QMYCxT5Wvdr}{JC$U`YC$2|0A4T4r`u~QBtmAkwsxk;Rzy7+m{2lL9wHxDFIvpxOCQ48kE`WM zq*w(ryC0wNUB7qQFrupOlT~Kv0s{6(nij0m*00d3R+N-m%1k7j3yjWAm&JEjq%I~4GcMY*!3N7iERmdwcIfH4mUS_c zmDz*UP&3ph>tguu0rHO{277;Ky=Htad5fu%X@4eY@#f=WKW{}3wQsm&hHVE6GdB*wjn6rF240bfoPD#21Itz&x zxX*KpprU59XBnm>aHw1Oy?t`iW>NjIroj~07dfUZ0inw-!Q6CdsJm*~hJA~nf zp2jQIeJwq@Qy>)2^EkMtwyc%3A?K0+S}lr}zKrMU7FjH7jnL(-8(kN_0$D8jOK3dO z9S`_Y31S~a$(3`SNEayjT$J%-K2KqEmzkuc_hw9F7{`6F6MvKjRE0xOOB5Q6T#>f8cy=(bL^pa@v@F zL~T9~ptRe?J#mZ)amg)66#gFMZ*|5hhd(gt)I5Rg{>*an=Nq`7($-@#vVUOuF^TwQ z`DxGC?SwYdrkz>Em+NGkwPn_&C@&rzA$8+&Q-&>1@$ikYdVltE#|B zaYnP)9TgnYP0hQu02U?wS2Hg`O5KH|3!f-TJaaWFAmhSPm~TA3d<6(me;)PFFOU$( zFal3!Py9&5Lu%&IK03*V@8i{B8{|f{bm?{gL=kn3?pAMDuXP||%^)aAfzV}hFmxxs+ z#dCXXWCi9eApiQxN=o&XwbxRw2U|`YoUfd8z4t98+iLf74cKtpJb(XL{lZ&xw81Pj z3&Cr54P4gs-oz9oCx*B%%0YlMtnvI4!pej##HuX#Ih>Cid*d69T!Z&89BXux`J}+| zNBZI|%lP^2OXvNY1f@42V!m72` zxvjfRr}%fNFK-8KzBIe-B5~fmQ8ieQ`Q;o2v#}EzDzwGyBaGM}2r-E_`uRrYzaUU%$u6j z!H(|O$BswERX&^=I1{n3xvoj*RF4E(x}{N+od6zO_WJ^?!=Z{p*Xvq+tL`QQ11HUN zT~S*(xu=HOz4}LlsHQ}xts}BZZB62FDWK2Og9eaeZ~$jfNGtpm8kG7p z3`|TgBYY2miEPVC>ze2V4;+tKaW!XceL@INXq}$43Bk(tJ5l1aT1%c&;I{08%A~}z zQV5h2^yiv#2>yXuOf8?=@A6xO(?W50P0<6A5Ew8kuyJf$!_w?pFg?j9A;Q zAjv-lqzeaJ)fl>7=PG=o4vJ&9ZdcP835pvf*_eY%yFGz zJ+>2Td~nM;2#L=M0LWE<0<1|3!1lJlPVQf(q74N@wcSnU` z&?8rur~vqsxis)VUP}Ka1|)f;Qe-ML5+@c|)$Oe|ePw+NnaD=At^`p>fQ+hqa47bH zN~_1WG~!Ui<_7Zsl1giz8U&zZ+(;-@)mkId<*iD3G`(;#6zH0S4l#)ElwaPyI$72H z3&>&p+vH|DB7e6`{fBUxwzQpds!f85$vjb_FhmrrFYdzTC16E(k=e^nnFyw$kzbJ& z<-=x%<+7FNA(DtsfM8dkK3!&!%jT#Uc;_LG>n=6HsydWQ=*b?9M|puIub9XS%^jZB=owEj=x?q3IhbXmhTZ z3Oott1;9rhhZU@*mRrL*`YPF}L#y~9d^mDe6FW_*XXRGD8L85Sv}Lv27S>za31c#i zcp(rw>6&lXWH=cf8P_j>oTG<^jFl+_@s(}>jCR({e{`Yh5b%=gpQXq+s{Nofw`s}H zZPz!`1qy+yN)qa_ZcIO6I6>|t$A`6Pg5I&cltJEO`kNB0_9Hg63y=F|*@y{LB}*xW z?YpIoKz+vYmBA0F%2W~^l|3mdXMIv0f-HM5OQ4ooJk2o$7|DK7u)-w;cp>&|DSJ^3 zn)3{4pW@Snhx05kirG&`mG_t0)t=ltwO8o9s^irqjzm3Yw7JW%1Wpa*N^L3{17>FcDo zmA#n!(y;=&JsBAijyziogako&$m7IpNftItn`v2(Q>Z}x*x^*!OYfqO4|*=@4~Kqm z#1NpUJfD3OK7yqzx*i1r>w(jA?xCzHIz^MvD!W{*Fh;Mk5FRdh;)Ce*7||vi+V3e?j<4*Q0B(D z-uknKUr~dNn?A|m$zfC{_K1Kg(;JY4$S8x)A&sy!l!oX7%M4070c%I3#o>5O53@OtCOCYpBtvR{Q{ zu7nnqsBLjiL{vKs=FnPJWC6zd;S(JwDHt0v|&5T5?Z^} zE3|14CV12$QiK7q$v+FK15Rik=xqTnlJNrTf)N|iDhpGt^NST)GorU(yrkF4^|N|h zm?WKVHF2e}fxYnPA)RMmFrJMU6-%_p%P@|q4-|tb@UHFp_!KC5uYWGI394xRG}Qw3 zFh`Ei1heL%BE{cOz**G(z3WJwUttNgWjqIuzekoVw1cb#^WOHOe>zXMHF`)L2DUQz z$+PmxclA||MpE3=sRvN_+jO1K^D7fZM__|3H(l+n zkv%Q0gP%2jN4hgP$GU$qw#}Vi6bjJF?t-38Lwn7(1pPT-_wQoP*d1oLzc^g4r`?41 z67t)ztN5+bB>85<20nv`zjGNI^#{anZLREDWCJ^dGFT&)pB??MGeL*>*)A5#JSFDj z15ZHbIq?h#-+#T>pA~}k{G>a&`Dw?J2zyNX4#@aI|(?s`?<=S$iy$zmXnmhL{S+E}Y4V#VL#>2VDcP&x7EqQXsLL%_i0eqbv%c zj03CO)PbsbfLySy0-u}sjDC6H%PM{?^eAiwNh%Y0*F;%3htq_u5TRmJK62>9tq|c< zCvsqgAOv8HhaPb#@BnJzVkQgoW~UpVvP7&HDm?#UB7R&Mx6cS)wrQKR&j`40PB(5! z7`ICxTtssI(XARrsT-181rQg=@v$3&{VYNneQP*+= zC^v>CJttvbTX`|+-u4x08{H8#nW61*(jcI?RQ_AZ(r-Bow{e zlaD??3lYm3APNe|4eHh-z&d9iyeQcI5}Kx{6uGRrXkV{GFqH6Clk$`(lT+x2q}Lbs zet-*wt+Rs99ko@-SYviD^N5qDVX;A}&y42yLTJN68589DiugNmAu2kOLrPCMHU{Ft z&n6Df!?T-&h=M)sf@e1Jo@KDV39zEhlYk$uf(lLn0JSq!y6?Y26FG(yA^O<1_^Q|8 z_#tR85iyn3mwmy<{3Ui(ScCsr)|RLxVA%u&hr zv6J=&6j3}7+6|0$2_48X_#*h~d96_3DRNB~_Us-Pejjsxpa^EMgGReTa%u`{@LK3z zD56{^NyugHSY47<;5mjO?=Y&A6$@ zf2kMpzTDRC2!0!1EEDRfk4iW_JxW!@h(go0CqP>C3GS)7^RkO$Y{8v_wrK+Sytr!fF)_y+4VJQ`$M zLLw}aPsE{#ZjMt6*n9yDF^@<(ew_xH!egS&>!F+(>(#@5RLWTdi4VQuz0}NwUevQR zEDrT{O5~{(^JJhN`IYWHCy_8L#i~v0g=68{Xfep|Uk?M0rBx`t5X~~SZQP;?N{#hi z_~s{^)7wgGe5ycC5t{)3C*pI~!!j2HQm?GjP3Jb1A%7cy@IBCU?8#GirIHvQ;MCz%+5vdsh8OWW~VQ|!~0^oj1#EA-FZlgo<{2KtzjWI7id+D)kk^wV4!hDyFb?~*l+SZ<)x;L28 zZPD%=Q3%ECu=RW`p+FeEpUf+cp-#6?N~7be0+oS#XV}4eXF6reV{_gyy?k!e1P1LD zA$B^rDz!NWI_91TB_|%JuVqYn#OPZ#@l8*WDM>iH3jfu!i9CD4j@R0;07t0SQP&-4 zdK)>5jPHUZbHkv}L5j2Rr2KymAJ@BaQBDIR!DI-#i0M=Cm9y}RcO&0>+J0ds$6naP z=K(hsbq&O3-?wZAK5`xiR2J!L@e+WCDfdaF=?>T7Kom0$>7QDdKlkc!YVj|)LF?8Y z-cPMo)#_;Qw;uVG^l|3{Y^TmYJjkv>l-atoL#9Ym1*s|Z9xU1Y!{)XA@~kwi<^a+k z6tP2m3dQ22&bUi;$@NG{6r?v&oBo^a=q<%co-nH$`PGBP6BZKAGB8q=-MgB0D!K4O zS=kuQ6eKAlSevxoOFRn@d-MhgN}!W0OZGi>NSacBWVk!^u7e-{)`vz~J}Qio34)GP zRz#%5eh+?qDzao=l?4=OaoZYAg#^YKyA`9XhBp=KU~{qI7ox>jy6dLl6&{jTYYGI< zpcEh1eW2^=moz+om32-vV>R^1Ugd#GNup@w*(?xLwNM>ZPI-y_+Y{ci#QPrpU%@XxXM4df^J;7#s76Y^ zwR9(PDYjNTv?RE1ac?Gte*`tem9GT#zj(3zj#kZRt~^b5r4uEfD@ywuJ^K^PM5=!$ z>}kS>+Nf0Se234~AuZ`2|0cd%P<>o_o-Ao7Zj9KEqf}3)ljTCK_B_gNq>xR_#4MFJ zt^M%dr4@Z?)o;FOmZXMu-)pWT+C=c?4YzX{3Am;EOTg2%WWJ7H5UXc9yIIU*rLgg` z^<>liDs}C z>}|>?o>alDj<3YDaZ5_|6x2MhA)}XMGC>*ik-UlPX;;SG0itv*vWE+`-h?DmEsle6 z8_(_tj%!Hd9oiKGVNjLxivmxuJsrLUqS#5g?&pmqHz|K3^VQ5>9h%&i5Dxf&xPAXj}`HlUvn_8y*A167LY@JqcSH{0a|Ol^IUcToJ!KwsK^YPL>@+B-w#!!+1;rt+eDnh z7Nl`5dODS-BWI2O4o1Gt+u7-~zYWM@U1tA~94A>M2_#>S-dFSAUA-DK5l@s!sB%Wa z&yQG-@B7^MI-aVr{Y|zM z`}k>qVXjov%&>4NJSK*-|Mm8s{q}2MUT!InXqfKMJM)b~FyrmlFCs)8MgWBnxPHMZ%>-!0En|08}|Lio0{L%P0;MwbobERuM))(j;zurKG~j1?(l0z0Wp1+X=x%7^`^%n_c?aXdxrF@89DUOyhZV|Md&% zpch?(NlUR}KorUu9wRQE^={u?#>C4e3-+?GQ#T@0{TC2Zsd1MV7q@?J{>!<)4Zn-S zlESK4>=0<5(RIjj~6te~1=_i%iI$9W0F1S~BmS6ji-$0&mU1a~KlInld zQU58a*w{G#w~~s5iHYO?2!{l`$oYR44k?{rI$=lP1;LVv!S)92<-#888}HYN!vqK2 zHIDPba$i}ROr(Z84|1xB{T6dPwvKgYU`DU6LH;%`PC**XsF5tp^5vU~$K%azp1*XOwcpovfufb_WVh=VE%PlQWnS8L zu>hpmNBZaM!+<4j``&Cqg<)O~r~8AjlG`+LT7q|swo2F^&H~D+pKd$F=xPgEZ@aT< z#7dviDx;a4xLH+qJU@AkBdglinTy3O;(jNi?yfT*;QHJ=I$UDi#l=ei%%y1I|ChNG zB1Prv8@0a+=rG|{rSsOKoH`S#I-C82vWoh&+|g6IMOAQCrHrO@)qnYhqN+eemQt9>*0WO1aotXJB!Zn9!GGj2PZHqTVUTlDt3)^=+LOM$f#x!0lA2Na-Bku z#%y_13+<`}8P;{kUd9nN-scw&3*1+1iH|9V;=c&Ln-#NloCFpPUyO8M2IrG(E!!-z zJ9a!bl#gq9G+VWh}E16 zZQH&sUH82{ZWErm-iC94*WVF)d;_WBtKg>X&y3F3<;>5tG{6%!P~^yG^inx*XoI zn_ybPMhKA6=1*?{^A>Z^v&bKFPJ7DorW9w3jO1%oeDn(eRM#84!>pNaBwMeF8L{$# z4M!e%TY0#we7A6hJVA38wzC;M=fZ~q-n_5a6@|7jpIGb3bIgtN~P%Ff6p zd+$99Y1yKLh>Xg}h)8BM>@q_lE1QgrD3$7WUY+~#d0#Hy-yh$9zMsqGb-CpAz^!vm z_v_>SJkRI-oTKHkn%2{{lK1#T) zGJLz{SsH~%*Wc>B-}BiN1$$#}tAFXvR*AeTVsQ zYyqur-I?imep6?kHKiEb+?zeNmoaxubo>Q#pEl>G0+w%E6qlk{%93kN zm!!7!A5-)V7vOm@_;I3kKsp@PNPEsL_L=y;^IhlOKdZR^_4u3o`*X^NDCr_jrCWyL zO{ALDBo$94EuUU=UmJB@N#>r6xPvg|&HWoI%kiD5A^qjN>pc%~o`9OT)}b@!>00xX zkK1k#A04;HdFMSN4)=;(7M;^mxm$8qn<=l%jE>`jktDW{tto>zCo~!>&1q?75j-0f z^w3hR;tl$XkF)+W895>4J_c2eVMY3qx;vZfQ`b;TL!%nkk~kGJ;*c)Seu@(xBag~& z?KjuTk1%xi`Os*DO16IYOn;zww#_w1Txp%A_c1*OLs+h;#yBHm=Y`@WW$dc8{mB`t z#7x0TckjXZX~!ORq&?yog+HFpPgK;yR^?sHFzq`DcQwy1TbMx4r;8Ze>o)1&*0P(C z`$P27KHeERgzx6JJ~iFdx+G-ZNgWe|zW4OT>Z;LzVrASuH@mdOeTse8(lnmyJlc4D zdt>Ud-O||NaM~e%@xyA0!l*+9?|w@tlvH8GK3H*ST9nToH7q}%s5snlh^pd=N+z47 zsmF=09&6>Al3vAj)4k8X%pPdPWLH~Q2X^h9`SM4A`0{zCcc)$URWxOrxnDc1hjf`T z?h`%R_^#y5Y=18h!W$luWzb(}P1^P<%(>o7VEfDVzvo>kbG<&xu zBiofEtoVahBDvJ&wTw$1D;sAPawnBkP232*!DKE!K+75>ywdleFOp05OUTFHNEXJg zRb*?zB z%iN!Slvz3Ht?+nxL^z|X%Cgbotatg1s?pyexA-slg(UTgqSbQ79eqxFKV)emNGC{| z7CNZ+{1Rd64R6c~s;j*q;cPB?`&#?lvEj&lcQP3+G4DKm;1=_%|3;8Z43b9h=wdOk z6kll6Ftbw!}clEw?u-jrfNi;PK)c2?^IFIY7g<{4|lO{_eb}O zGUlH#;})k5iEqAgh(B%0oC1Y4;{J>}{*$8rmfgdJ_sm4BUjw-um_?R@-kVJ34fKgt zHxfTe6>YxbXgwvFv3>4oEh95SK;dyqDSCfi+E<5P1Dy~e-^uG#o1IkB%xpw4NR?-2O8Y{jO2n03lIht6YSktErF|mX5?;NbY_Sxj*PkJobd9 z{!5?UW72o?BDYSp>s=Z%&*e$ZXZ@|D*yOj~)+pP_X0alADgNoz;sQkT0p<4gNa5Cf zI#;)Q$5&j;{S%cQbgmuF#ay2?{G$9#sl`F+Y4e}RN+*FW)>BveiEnXHI=A2N^a~DPWY&{A$mio9#B&B)Mmc-aNWxsVS{k(6$*K8h)X@LEA?|bZe&n~_GURV@^ zzUor)D8G|8m=#}fO{b;x_Jomn`2+Kd5s0L!mCoGq8-x$5ER$jBamy{Y?}aT;=q|OW zZ@QZ8DIAfO_g)h^LtTdq(0#+86>{(9VOtT*l^@9D4|=U{M}H(crtiys@zJqayy5}V z(!$joWsaB@6P#+U@%xgDqrN95g;EQSxZ9biRO7cPTWTdronst0$EG6mYqgFyEy@rN z)vvi$5D(Q`BDqH|o@lt7zsS>z$Pr|)lH(z#U_BD*RUe-jUv6Wdp&ct_<& z!$w+UYr<-%s$(yCQ~5CVKbH*o?@7S`yNG~FCt81jJ*pMNo3ule!nzHe25$JoQ`D-yb>2c358ax%FnLxhT=4B7fewZPAE+)Iecjo^ zS@k^f__JP>3s08}gc7NCgbNom=|VL63KzWBYa){jPKG<{R2~vg+ftwRWEMw#lhWRZ z;(ipeXve3fbWLT8&Bef?;P(M)>PId~XBRxzxb|Kj62I9p@=cyAPO(Wb9ok zP1Vyzx?*P(c0&0ba_;i4#0Gj{jGR56avk%!7Ei^YEO=oHQJF#e6uad8;`2mQaq%@> zlSN@;+Iv#*`MQ)&l*_p#-IP5gSkyOSn|dCqn$-KZ+u=eJp}svhYhhq=FVo^_`%GSm zHCdN^!+nkIX+m314xd^=W4%335rRB&SUnO3f+lI00#pwU&}99jxpI(De)nOtTCY}h zpop41W3&#-!KoUC03GMAN0^YIFTW}M`X$16pFj4>10MmCxpyO94k(q2+#FlfbQA11 z2+GdRcedo&N;oV3`ib`Nt!_ouPs*2txWvq5gc;ggC{qLnsQB;(>tWFthK-=g#iY_A zInLhG@~gHk?CgG*MK_bE2bB|F*NzmmE6GIR(dQJaI7g%=FLZpd*kba zMakDF*2Nd?0zG`b>HRt@H&IQsdU2a3A-9RQiD~@n&~H{Or@2tS{lkxgHX2Kz;kS)K zIf%zsZ;tKzx@_{^WFl|igJ5+-$C_jAxpVRn$LyvBS^1b51Y0S;f8yyZQ>PE6>yDdj za8Vwr(|iABZFo*bLoS6SLz_v0`_L`HW-BF5hg%c@Ye!V}YbrI@u}GOOyGu6ssIXA_ zsJw`4{{*F|z#fI_~w`?&@diaypYmlMn3-5ZUi2^2!KIDu>71t2tnkC`Suc&xNf$gGwtM(-`$Pq2j8v5~g+t3rMGT|fz3bJS zQGQs>nO{x1WfucV)ou-68t`A}FT9C=UxFy!zmCxI>ofW3DE*vr872AX%CS<8&MC`C zMqgd0>vxSJwCCy9Hufw_&lU_^P+b(4}n5L9Lz0lttqIADTs*v?{ z(bBZUcO7kV@Cv<)(3UA|!QW_Gxb2-|Y+oolHYv?c?B|)0oH>dPG9RA*`Xe_ zE$hDJgQ!)y9eB%g?Y;QTDAeA_nr!9!PdKFdI_#x{{v8`FC5%is95(2}b>8k5sG1XW z>-dUh45g%C)ZT9=;(o!zHUdgfmVd)mw-6llFKQZiLGRK~VaKDRCCSK-v! zFZ$m>hbzx(?#TlQB{5YRZ=*$?3hqlHn582!wsc-|eYmLmmUuvR6Iroz$npKhiNfB0 z2R~7%{n`q_2z8$awuorw;*xOBBi_~rJkIipMGhK?O?yB8@1UP+MSc$V`r!BI;UZIB zSM}O!mvXazHNB($%YvK8U3OGCs8rX(p;Y%B8G?+FCf@nsOEZ*slWN&xNKQ+oj{*z_ zFX_@e{<$f`B+VrbHhwKh;zjRe-xhSBIzRRYw4couY3H@fpYTom zc3wb$U4ggy_)@@aJ1PnJZ%Sfw1#B-kSE6eR(3&Y127I4#t8GxAc+LOhHEz_{BW1;-Qz5ZPm zF_tUIE=(-6N%RbtMUNy;et)Y!-jYb1=q?=&x?osF@J2V=G&ZI=&)D)PHA@O;-S|~L z{obX`rdD(2M8c&g&O9H%v&Tw(JeI;wpV)DE>~!+fNo~1~t^}t*Y)7JIegrfv_b_&S;vBKXmR3N2T@oMPeewD>eT#)jIq4pZx# z*L9#EzGnL6wy~BCe1FsCi`@H^M{WPH z8y4c;sWC`!|YPi=9&{T3rZ;e-)WusGt2R_Gcn$Mb5CE!v$9R*MlA5;s6EWB z+xcm&w{*5eO?Q7%aF@KV7lTOU=GAD)IAP3R#;3WKt%==lW#~R}uIW=2QNDQVzKt2x zZEYZ&nwq$fP?&+lp3i@qKdskPS!2L#GrSK;JEv>ST-RF_t>e|y@($-U%wfV z$FAqbjU?1)>$^fUv%hh zXvmIK^=MztBl-7Ip#{lHT>;JVeqmq7?}mPDGPcr zvY<|v#NL4;N)PT?>@PZ!OE_y5m1rqvHZwh!e@yJrx5H84l(DCUi9elaTBNjmq3m0J zL7qOVvw(Bq>aS<1^!kpO16vHSdh)2PsDiU}Yoq)*yz)~aGlQb7gSfcuoyf)eADE^_xSmvhV4~`} z>9u6gQzGFi)9_km&bR3eXQ|px@m|xgB5RQ%3-jl4(Hetp=Fi95@|Fk^7NtI)k0^TN ztDkUuucZpJ$;9ucG~h(EH&7R8vT%0OCKf4w zVk~+y*PHe|D8Dr7C&%cGLt-!A(s(rBjElebcGRn%%pNZL=@NU~r8YzOM~z_Mwsrae zb;EwAeBFUtKOSTLaE-SMX%KS%W`!nx?0D8{6?V)>;L@4R#lg*?Dfvr<5%Str8p`jL zn)0n~izkj3c?lA#tG*q-JR+AukC2HU)l5N*s!1HheKA# zYf-hi?R$Q1jrIIKdV5Oavh$7fes}ayURKtWrTcPBFQTdz#kr3cswhoKeDCB`^A5}l z#BU!dnxay&D%jz4Hl`4FsGr)GbtTxIJ2Z*6ocguC#q8KUsmJt-eY^_w#`ZzlbHX2T z4@(-X`)8{yt6gWDVBM#xrBD3e1g^ULpv$EXo0RjDsX`JGTk4({B+N-p{kTmpnqu;7 zbRf#G;Kt5O2YbXD3;wB@L)1=;<@7ZOZ@f>+pdU3-i;)%?r zgTCzI{3?boI3#=e+eO3ujwP*+r?5*UF3wtBt4U>QR+hB+apKB*y^=wANFFz`aCwpT~#nHBcld<^f;myWI}>5tPt zv1RMB9GCSEJ<=9QR0GQQJBwoTc`<&St8~Yv1l1Kp$9P5JoFkurj6}m({iX z=;ed(!}ho7gM)6Yn`BeT8;r|H^DfWFsGNHqIrC;tsiNzdQu!mUM8BGvEK%vezXSZ^ zVY%nOeV(8$Yp$(l{WXw9A0kr8=WXB}y(;`gTWoF}-CkgjHQ*k=PCOC)YAuMRzRaMg z{h3eKoYVSV1}v5H!w{c)wfWp}A>Pz8MF-$l-Yp#U(I|O(Mk7|1r!(p+A~;8UO{LUe zXsEyH!-t7sOOqUC=96NE%qKUCT*o77+)wiLBNIPOEREG%d>W{JSc{H9PGizNY5L48 z1r?)15qr()lhMS}`IA3Piill&Uc_uMJ$^ncIPBb_k@xjxhvG_8DQjh6*#-px|-|XGgvK`R!Q1xpujIKDu;S0LoaLN zTbn0#onzH-P(pdXUg%eeJBursx-p8&bOJNtS-#g&77t_$bySfqcqAQ5YEO15{qM;y zhNto7+Qylc#-=mT1j_N*N7TX`ewpe9zG3UbBD~!TdhItT_+Dr-y}Lww)_c!gc4Iw6 zhV^b`oJILqI~U8M%Az<@hf_vl>gzSZw+Poe)`Y;uvLmDIYf0a;yJ>n#s?Y+&r|%1F z2>da&qmL=Cs7JZZ*0b|qs{6a zlKT=lR)Yj)S_|8{FHMqbo~#L^6vq39_9{`Tn{h`jxj znZnU}r<)c}>FmRwLhme<9uS_sTuWl!PkkA_)^h(8hUoFR&N~SV3aW4WhZ0Q{Sfp=YSARE@WvD15Ddc{#Sw8!R z(Vd%B>v(+#z5A~kI`*C=M74i8$M&PD^RYj<qt*Z9ZeuQXKe){SQImyLbMfls_9ZQm@SZnLFq zBf>KTB0u?RJJ??d|DJ0)>JstP!qNORB8_HACqVoD_{meJpH`hsu?+fEu8eiZwr+%Q zc-=7FWb5)?`?Iof@{@#@!{w2E?QZ9}b2+RiFW`7Xolo<|R?6IY|L5L|+I^>N2M?o} z?d#$U4$ZQ^2*s=_ib)~m(R5Cs1+e`bCFZc`M5ZICjCZJ zuE$&*CAFb){@;S9jT-5GPfFuw?d_L(Ptq|Ln&~MOhtBTQCsfF6k6f&&GNq-% z`p2fT3e%mol5rJZ8=c80oEQATVG>-C{kfwbeY8y2n)9frF=uiouNs?Y$p_}p_#4NY z^x8RYCGrIr1-b-u_kZoJmx-$#=6k$?(onuK_wZajWmTF9ZFKFhRrQMUUL-?24Q)+D zO>r9IjNQ{V{yXB$P6opY_T##F9Z3a>LQ$eAnl#SQ_FZq3B6!19`b{hn<99R zf#C+fgM;CnKVHwxI~m?``s`cgzmPia9Hns4fr=q2sn&;2hQM;rZ+aw5bf5q85Y~NzR9|sa zJvmp;*=pVzeIED35}`trN}NpYLzYpT5b-XF^-+YIWavys7@lWUO8Pc>PP>R3WUJKJ#Q{+@HHD zQBfxqP7nle5rfF?q8P>ZLRDE=mtBh3kUWkVTw6ZpcQ!V!=DfJ)^#2%{gE6>&BXa~4 zc6VeBiTVFCGKa+czZ;n|H;Z?u)6Ggcql2aX(-@qiT5$NKm1V-Aspz|}iU0NA)?(c{ z8llu)s<6`%a=+AJRaUkib@O>oQ0kN6S>IasyN{QPw(1l!f9mYK`u%IYUzz9C%bhRT zwBMZnhV1z7G(~lM`uo^tjyj(>GB@4SlvmXoWw?%(=2NTfH{IF%ywOp2x_`u_LFWLwASD>XZNH7n(={QjjOoxCBzb2WU=U;p*-q5der$U{B1 zZ)vlz*vWaw@Jjx@@bpBT{x88}(>=@b7^&gxOtZp}_fDOOCxov4tk+R4`N~=H;6`h< zQ=J}tEv3qv0f$Uq`ncO}6Orco1ZTLWdH?&r4wK~WBN6{C_@)Z){7}^#jX%t{QRvP| z!+~S_)qhU&^A(-hz{TVuTlOO7(a$-#uBplGZZ|{4&cxf-O6Te@W zC_Sxih@eewmFuH5Y$`Tjud^ctdt{o$$=J=~{f5i^iqD(7@aP+PiS})aN-DAGvrB$A z+z4fJA4y9xGu{%G3p!WycF9jPzv}gwZ{j`YoDdhch4<6ZQXZb48`B=Yy1jA$85utC zZPF@w+iVC=pLc3Hp7HO1nn2Y{zla&0v+Xvn{ER7@m>WO0PtsAiYtMbQ5$KXKl2;eu zVWO&3pWME0#TNTrID2~1mPgb70h{koaKy2@C_a|x2z|oX(GwYGXZVdLH^tdZq}mT1 zcp2Wtd@QTwR1H()(%hG*@87i?+^wi)ypM~Ej?IbbhMhL_w|MWCE#S(pXLShkX*1M6 z{AHQB-(E#4hu`zxze|;m3tjxas;tnBp6_}s?YnNRa5dugg&aRBqjqCe^m@Z9j^^nI zw{TUyQEt`yXKlS-r!>vuT0CE|N}gprWs;)PEN^wBJ;sO5JS9cSS}KT{10qP7m9c(Y<}3`p*$^+00p5Rh7#)c5O)H%pHW58Uj^3@oRTr7S8NEISu^onPTE z^|HX_P6{{GUj);T`sLKN4)>fJ{P$$U>c5*N|1q);;z(2)ll?MGqj6qYQJbDYUP3e^ zigUF_##ASfO;JsS`>a28%Kq(^iqlpw2i|kwk71yA>AwCDb@@X0&F5+#tntNbFGTM0d<{(Vkg-^? z+gM&BzJjftJ0XJVoKk1b^`;ZC505ZNg}l_6v?`XmAJFd*<+qYobxnvnGD_7e?DC?` zC}j_Y+mTlxzLGDPs`U+{J7zxA-; zS(97oO5i2IavAf5)7EMS(|bDfbGvP~Incsrjya&EvE7rFZsy2$(#@zHbp#*AMRSYM!|Sf!oF z6qFO=eW1URH7yp+yPrvfjq;OFYS2y%KEq1B;#9^h$CR(*TXTUc%`s8;CQe=&ldzF? z_kS^a{_>ksbL+^FW?y6a6ngWzVwP?8nZO$SJm+6^#F4IRPOs9ail*60Y4=9zmu61< zS3b|^1r(HCCOHw`J|$gcJX(Atk+<4ch2OGomiUUZ{@JOv2Q1#QE5`3w8q6krOMh|) zz51S+!K-vCBXA|H&`zMVR$VcVtIebcXY&xrLbfm&h~KITSJie$-d!Eibv#F44cC7_$#7?jSg#?jq{Z$?aoY2JOF& zP%KR`(Gak7`_nv_g%8Pa*MBp`Y#7;ptTKIZJZv~le}Lj12W`~dYH91mg>TAs!%453 zueE;f`sQ1Y5BPAmjri_-{OQ?Gu3yhtap-uOEL!?}EZtnP)$Nlf`=ciXmt>+$RI5&0 z8b=Ks@(7Aqkt#k`+AU3xS)>p1yu@uG5f$I=y~pjUhs%rStnXr5-a3cfq4>M5QdEJQ zy!J{r3rDqFajGQ2)}137F%tNMui;sPTj@DIFC}(o<)-{uu|aA{cY?tVwW#$#yI4F4Qzyayu8l9S5Y2emmOM^K}=ZI|##dwDu2%*-?g>3A;E z32}N1q2_$n+}A$14YrNkc6bsWbiF^or1WWHYT7}&6LVc1d%M#L4;#;=j&jv+RX>Rz zOtL+F2W_kR{7%=tUuZ;=+B5c%TO+*_`#Xah)^w!;rvKX3FFZe`i6Bldr!KB*Qoos$ zdfXFEn-C~+M5*WUC587sj)n|AQsegz^5~}oCOxj4|BMZ{rREw*T2;@@*9lwr=yjLk zF+Nqf;54^F*RgeV{p+h`X2*i^3RO1UA3g}qJpZs=Z0y^Ipm+}to;dX1wUF!?;u~ep z&UE}e%v*SwVMV*f^lO8@u+?~|SG}I7+lW|z%fr*Z)JrhU>Y{vl)z#Ww^r+ZeBV2^; zW7=K~=j5J{6Sbx9icaNRA3R#wF0&^!?6$#^tIG3&f2I~{=}Uf}u%PYg3cuD_ojG!k z{oGfa^K+Tn4dmeK(`dygt|H}dBR1JA2QTK!9a*;J+B1gr@*#I0Wvy~jY#iU=we){u znJYOO#{NXTQM>!T$^bfzZ<_`Gr2tt)z1kIY&#GoZSLT+JGqU3Frozkyi&77ddGo!q zRrW(RbIYCEx=|h84^qGGBU~NUp$^Nri2595$yO2l<^2VcweSng|-d6fy+>u-KAN=7$>t)5zdy1qW!O#0N1}icT>fia& zSCaWzD{APr%6_M(?Vde71L0tEpEp=JeotV zzsb<>tkErhg?HiHStJH2^QSkGSB`yr;^XA_(%OfMakp~eR!jmqTa@C z#z~Z}?cL9hdqdqhsF5S#8;&yn#Rr%X`%_1gxcf1$1WkVSgWu@Bn;d-j*}f)4wT`*= z=7QOdqt%XswCbj~>$MHOzZUf>M<@tUi6{Qtl{L(0xUVMuz{bAG-Y?pA@vBbTwPYLV zHvO0t+}MdWA=eH)iny*4OE&YYMZ+<>^oWef)<9_+R&OPBri6g_vH72fwKshaP}>{a2TZ*}R-TVPdeZ@1x79dqw7i#?b?xO;~>;uYd51ct7Cs=Ow`f4|yEu;xNx4DJm!r=-ZO78i^YQ7#dBhvLD#Gy8H z?CY4@LXu~M+*`_vPWG3Z^b@q3s|=*w6M8haECQ4Z!`3g!trdwe|ImGh^gJ`@8&yza zbuaCuyn$f1{O0nJpS~ykm-bq-{@!#5;Y-!Lt5>(~Y`EvD<&{PTeU3FB$x`|&0;Tjc zbMsT44e1_HqvBLsH2E(RXV3Ep##Zdmtx_5?e%L=?cs=8l?$P;Dnwg!OdkI$!kIpM! zA2nrgrTZGSSNLKjmyfl*uEpb=0Lv)TcNnRLB2(QnMZtqd3%ML07M*m8-}h|O*i5}B zvX=jRQ0o_z?yO#nXkVj-9;SAG^0~O6#04K~rFe@|esTN!?BYI5TIEETr!X`XNvOS- zN-F4(`o+!BYjxM=miO5JyYM8}HPZ@=5XP+}z^j^CvcTx1<~13P)V?~5@NkwvYxege zhl?zg2!+9!Wx3CbSS(Y_Kko1do(m5^Kcv-_FGgz=UZS}BNjAjDxo7Z&b?SuLJ`#~Jm+ggW%J%2Q_qN!)l+f9m* z`I+id)={;`kE+3;`ZM|t?oI@8r&+BOzV(X9gjfBe90redpW^nJYh@JAor|?87AtO$ zagTavZ4npFCmAZI>)jwZ;Px@E=~4XoyS6E2fdl8zIo2viEE~?0ade(2#+|g@zZ6t8 zkx|Ui`PMzjZL)15&0(@_hQH&arCCZL+ftjlM~V0<%DPc{@ZjK;OR>k*+BDU~C0ne6 zMSEygUpz4l@-V3y6X=-1*p@SrKx!1XibX#BNqTgA1r z3n$Ih*i(<362G*ZTv>XuMKR#C{yhbbBenyB6--e>HruvrB4_yqX_(kKnEic47Q*d( z-PVRJ9><3`a27-uFstOJTi5I~`m>0aHs;^e$=2UEBD!-cs6I|);CSj0?)t5d0qg8S z4^^x!%JCErT3V(?ip^tMsg`-@=PSlfMF#zTajtSZ$ti45t4@X3JbqCL1mhqMNqSQ(LogWnk*nAwf-!ecR2}dyW{?Msae?FWr3a{#oJi9!`!`w{5HNV1#AQ zIe`|+{6wCl>tSav*3Vamq4(D~{qgngkbM?X^`mw>Qacu#mV8Zr-O+NGc&xB(^ANlL zRMT_mz1&if{`)n>toT~Gf@(v*)7~HmefX93?{WXk??);9zn-`XqG?x zx+CQHJRwj#k^Z#yrul*WDa!@E7{=}ZhO66}1w&Sqs`$S9FEV4F203b z*o(#!pRD+G{R*^Ddyr7zE!B|Btu1~1{+rN*i#zpqp7?sN($xeksT_ZIt1$FE7Jsag zAkstW^#Yqod`{+wrF*s3qQIeUs}*ZxxtB!sU_%E_>>ll74A^jiHdwJ%0boOtq><{gWHV*iI;X_*tU#G6a9R zNML{Ood9N8E29q-2X$ZRgy!|QPYoJcKb<+ldMJ7^>@kgas`!3U4GW!$i=J4lUrslz z1a(e{reY|+){FhqHws?8T%exv(z)ZbMOfWvZIpawDqweIuYSQ9cF|eW$x7{|^8M$t zog^AY_$VFJgmPz9pUQ@a+_?0~iT%>)@b_{Pg@@jASGcGo-cM>TOZeSXOnb4Isi`eP z!Qw}<{GX`}(UWa0ul}EBR!L_||2wmaL1A}ajQl^J>0l7#?I5XRHFB`RdUiNWX+2{WOB`ZxQ+54b!7RB1nIbeh*2yNyz{16Y+bb6eKAH zNlGE!kAL4IrJzVDC{hZFl!79qphzhwQVNQc0(SszIf|5mCZ(WBDQHp(nv{YjrJzYE zXi^HAbX(A*+kz&gU`Qz#QVNEYf+3|~NGTXn%D+?LdNiby-!vFf3Wk(|C8c0VDOgep zmXv}erC>=ZSki65l5Pu@l!7It;7BPrQVNcgf+MB;`xFp88q()}(BMcZI8q9Zl!7Cr z;7KWXQVO1wf+wZmNw)=0x-EE83Z9gLC#B#?DFjjqfs{fZr4UFd1X2otltLh-5J)Km zQVM~Tf{-G`Af!k+2q{t!LW-1xkRnAPq)1tae=pG|79Z(V`NTg-aR@2MLqHw^^2nu& zfII}`k!zV;%;ah&mowBe0ty-d6^%f`?Sq;|Kv5&0su57u2&iiW6gC10w+~7i0kw^Q z;zmGqBcQwyP~QkBa0FC10!kbKHI9HHM?jS$pv)0a=Ljft1XMZ#N*w{Uj(}oEK(!;F z+!0Xk2q<_2R6GJo9sxCvfTBl0)gz$n5m5ICD0~D|J_1S~0kw~S;zvOBBcS{dQ2z)3 zfB*pqAbypnw1i2*7{<4G7?X01pTNfdCN*Ab|iA2ta`V z6$oH~02c^=fdCl@pn(7z2*7~=9SGoo03XEbZlsM7d?3LG5_}-R2NHZB!3Pq2Ai)O` zd?3LG5_}-R2NHZB!3Pq2Ai)O`d?3LGlDyxOH~iflpX38c-t)_&|aWB*}+`q$06(5xbw?QPMs^Y+l4p`(IN<{*&_GSHwp6|9LA# zL!FRXDeS@UVkCe>0!So)L;^@8fJ6dFB!EN$NF;zn0!So) zL;^@8fJ6aE6o5nlNECoX0Z0^pL;*+?fJ6aE6o5nlNECoX0Z0^pL;*+?fJ6aE6o5nl zNECoX0Z0^pL_xzs0Z0^pL;*+?fJ6aE6o5nlNEG>4jC?S*do)I>KNR_RjC?>wJ|ZI@ zl97+epkbk)VWFU5p`c-*pkblF2MTb5dgAX+LK!Xo7_&|dXH26S+4>b5dgAX+LK!Xo7 z_&|dXH26S+4>b5dgAX+LK!Xo7_&|dXH26S+4>b5dgAX+LK!Xo7G%PguK!Xo7_&|dX zH26T1pR|ylwUD2-ke|2gK5-!(z@o`dUC7T}$WLC#&tAX>8hoI^2O4~!!3P?Apuqn^OfhZb?qJbzHh@ycg8i-!28d#SC!28d#SC!1|BF3JVY2EiUFb+Ac_H^7$AxPq8K2G z0iqZniUFb+AWA$9^KVPT08tDO#Q;$Z6buH4Vt^!28d#SDCu)O zi6;(#C!28d#SC!28d#SC!28d#SC_032x3)Aq z+yl~DrffhZP;Vu2_Yh+=^#7KmbjC>DrffhZP;Vu2_Y zh+=^#7KmbjC>DrffhZQbC>DrffhZP;Vu2_Yh+=^#7KmbjC>DrffhZP;Vu2_Yh+=^# z7KmbjC>DrffhZP;Vu2_Yh+=^#7KmbjC>DrffhZP;Vu2_Yh+=^#7KmbjC>DrffhZP; zVu2_Yh+?4tu|O0HM6o~=3q-L%6bnSLKoko^u|O0HM6o~=2Sjl|6bD3cKokc=aX=IY zL~%eA2Sjl|6bD3cKokc=aX=IYL~%eA2L+CU(#8Q%91z6;Q5+D(K?}n{3&TMR!$Awf zK?}n{3&VjA9QeS24;=Wwfe#$`z=01O_`rb=9QeS24;=Wwfe#$`z=01O_`rb=9QeS2 z4;=Wwfe#$`z=01O_`rb=9QeS24;=Wwfe#$`z=01O_`rb=9QeS24;=Wwfe#$`z=01O z_`rb=9QeS24;=Wwfe#$`Abo~5@$5PHz=01O_`rb=9QeS24;=Wwfe#$`z=01O_`rb= z9QeS24;=Wwfe#$`z=01O_`rb=9QeS24;=Wwfe#$`z=IDw_`rh?Jovza4?Ot5gAY9T zz=IDw_`rh?Jovza4?Ot5gAY8($N#h#RE}15XA#gJP^eLQ9KaE15rE>#RE}15XA#gJP^eLQ9KaE z15rE>#RE}15XA#gJP^eLQ9KaE15rE>#RE}15XD0a!vj$~5XA#gJP^eLQ9KaE15rE> z#RE}15XA#gJP^eLQ9KaELjmETbnrkF4@B`m6c0r4Kok!|@jw(0MDakB07MBulmJ8t zK$HMP2|$zpL!~F z@Ie3{1n@xs9|Z7003QVKK>!~F@Ie3{1n@xs9|Z7003QVKK>!~F@Ie3{1n@xs9|Z70 z03QVKK>!~F@Ie3{1n@xs9|Z7003QVKK>!~F@Ie3{1n@xs9|Z7003QVKK>!~F@Ie3{ z1n@xs9|Z7003QUBkN?@~@lZMcXR9atv+{pyt4EM8I+FH!1o_(I|7`XIKuQ3l1VBmv zqy#`p0Hnmr)8y;Zz?8T`zCsO9i7Vu5)IgQELaJTj7o@Yo#4pI#sevo;f;TxCz!F!; z$v~F4LQV#>#1(QfuqCdLli}efUP31)16|?@IT`R0SIEi0m$*Vs2EfD>axxGmUX&*% z17hL|IT;ueSIEf#nYcnu2Fk=0ax!2hUgjq!183q2IT=6`SIEggnz%wv2GqnAax$>5#C$5l_0XlJo zoD9^7!wuwQz)oBtCj)ol3OO0T6IaN|K%TflP6qVEaS3uVuqUpNlL0<)g`5oZi7Vt} zz)xHuCqsKA4q%Xzp+OQ?$jQ(mi7Vt}@JC!BCxbxZ3OSi`syFj*;xnk?anV>`s#G zj*{%olI#wX>`s&Hj+5-plk5(Z>`s*Ij+E@ql`s;Jj+N}rmFy0d>`s>Kj+X4s zmh29fz;wy~^c(`z*#GG{#BKk-D*3JZ#agsNI-7%NlIhWl* zm)%L1-BFj_S(n{mm)&WX-Eo)Qd6(URm)(h%-I15wnU~$6m))tC-LaS5xtHC+m)*&i z-O-ob*_Yknm)+@?-SL;*`Ip@RnB57O-4U4G8JOK6nB6Iu-7y&Q91PJDYywE~CO{sA zA$|)s0rD^maRsQ7$6<&ounCX{Vu&lS36Mu(h*DvDArHk6SIEiaO@KTXL;MzO0_4dU z;tFgp-TsByA|eES}=|1L{&V`dW_@uUc2_^*fBF@c;s*PMcm0UFFf+w@I`#GWZ>1g8pgl) zn|%?FzKG3X;qUl8`yw`tg-3oHzKG3a!P@zoeG!koh|Ol<@A#X25u4D$BY(3mVslzB zpZ;cF#HO|I$Zx}E(99Md`EB?jHn{~e>=pDyY<>%myf=Iio8rPF?+stXX1ValE9i^Z zL>DZ5ztl{1;S>MPzKG3s;gNr5U&JQ7a8b11`Gb+f0G(g`!AhR|mwz`a=^9wKk}idP zw324t0KnMn3YdJu-PhN{^cz0uZ_NZ8KIw1G6dXS3>tPZOpY%Os8V;AKzu8v6OdKBd zl{OcLPx|gO8;4K&?`%E}pY)YBBZq6c?@n`a_{86AD_~ju@Z{XkA?)YRYFxd)BcE`=q!IALqY%5@*4v+kvZ3WEL;gR2lt$^t|I3#}0 zwgP7C@W^k&?zl-iJo4MHJ8s?%kNh_5j+?rJ&*Qyeciik99{Fw99XEl8N8THD$Iaov zck!g{Z^OhNKJhpECN}qn zNB*6C6Px~nW9)DC88ickM}8Z=iA@6Hk$-2OLGyrk9mOKD^(vZ(`Gec;vU?o7l`C9{FwfCN?>USioBw~ zkNi9PCN@imM}8Z=iA@wD-0%weCN@`yN8WY5iA@*ck@tpgVl##aTl_YB6Pq-|Bfkyb z#HRN0$Zx|p@$55b;tp|;zu9Nd+#MeIn|%gN-{FzJ*=NuU9^$F~p3ULmlm0f$;^CA2 z&F1m&Nq^5~^6*K28|Ly5p!u7922JPTQC~q5dibQjXH$Ckr2oz)_3%kwLDPB&{rcN5 zv4>Cm%|3(X_VCERv(KREJv{O^`wW`lLs03r;WKEG50Csi`wW`r!y~^9pFvZ72u}Sw z`wW`x!y~`v^B(-@c$r=N!SOoTKmTrymn)v#@p9qwqvK`X5rMbgns4I8R>0gN{*Kqf zR>1Tl9(g@%1?8fO$wf@_N_`n2JP3!0TZvU^WtuydJg!CM5C5 zyVF*{oFp;}-uJcwrX}&nyVF*{%p@N9ZP*H!oWvu)4d2A(Cy}Q1+we_niV~0fHhdGC zrNkq@4d28jDv{{!Z^Kk2KIy-+$x3|Ezu9ypKIw16ge5-dzq2VzF?R>B|hnI!$e3v@i+S>b`_aN{+)djn?giKk-ynDu~|es z^4suDY$6el{5$(5HkXJ;ejC1tO(!CuzYX8SW*w0W^V{%EY~m4*{5E_On|s6~zYX8SrXP`0^V{%E zYz7jK{5E_On}oz8zYX8S<{|N@zYQ~y$kz4W*<2((>ECQN5})+9VLlR{^xxTxBtG#s z`zAIii9BF`&!#2uNq-wAChBk|kNi9PCN@cl zNB(Bt#O5iHp!D1DO>C+XkNi9PCN^7%M}8Z=iA`7{(dpmWH?cWOJo0Ei{kNh_5 z4V$^dBfn=yq$V$sOZD6EJ!t+CkNh@#51PWnBfkybgJv<2ll9y1J!m2mkNh@#51Pxw zBfkybgQhc)+ih>-qpM*y@dsDqWH&viIm4Sqb4eRMU;*sC8t$?{vJo4MH6)-)Da);lut$-O)Jo4MH6);JP zM}8Z&0_I6kHu2lA6);tbM}8Z&0%l9`$Zx||z=SCt`EB?nHfM^;jNgWDV$-I07@IViT!&Ev39) z3ZdVIZ(`H1c;vU?o7hY&9{FwfCN>$1N~7O~Z({SYc;vU?o7j{r9{FwfCN?XJilyI% zBT^Hyc;vU?h}7IH9{Fwf9yC3RM}8Z=2hGr;DC)Q2d(b2;9{Fwf9yCvjM}8Z=2hD<| zxazmzd+_iXG*gPd<8SsEG+ByA{^ouLx%1Dr!M~i}%)hkX`J<;|vh};C!r#*WlYci) z#r4MSskrL+!BgQkIGfUe+g?l&=?_?x>G;1hpyw*q|PZ|*lSpZJ@*6@dTX zZ|+urPyEf@3h;@)xmy7~@i+IIm{0u8wgM(>!K~<304`x8F7Qb|DKPc?Nk1v@;QUEH zDX`4^Nk4;7!1^aXgC=Z2-tag344SaTBY(5cpb1+%@;Cbo!sF=wFMI|~*n$?~-`Qu- zge@NVclH@HVG9n4e`lXTD!Bdsh0mY~Tl{6e4WB_1ws_>X;WJ3(tbdQsAeAbA;5 zXu=i>FMb<7gC=b8$Zx}Eko0~3LZ3kswqU~eZTJkDu*D<44WB_%bD_=nclH@1r`P{q z_zapa#b5T@@EJ5;ibsAMK7(XV`uF$@lA!P>ej7f6=1ale@!RkjBwqA?<+tH8NEFo{ z`3w@8_!GYkpF#X|Kl0n~8N_Mrk9-F44gHCKXP-g*BR}%n@EOEe@FV}uK7-s_=OgYL z|4aX7thqnw-;AyFC;fNE68V$<&7AZ8iO-<c;w&NR=|8I9{HPX z1dD{^uFiqz>azP$ft`l1h3lfU!hZ$JM0>wooc zcz#>^b^p&_fBN?2KmGaJ|MjoG{rrbtzWw~pTGU^Lzk;-A?1f(FYoIFTbJrig@gAZ(qKA`ES4e&u?G;=l}Bu1oQs% zM^fBW|5FMs~_?WaHg(~rOW^iMy3`{}=a`xBou{n#%*|KaDq{PEXce){r< zU;gFifBlKS`grJnf3m>rm-)y2$MxGXz5mre{`jZg{^=hcKmX-zf1BRs{}rJ6HFPQb zhkyO&-y~@JfBfN>|M8AmyX$k*&*L#*FsSA{l+cEk^}xDQi+Pm9yuRTU@+W~?$MkdD zeYKzCLsu3&um_H$o)n4C@ zx8Zqf(poI@Iqq$KaLJ-;@z90ErSX7o!q2>pwJ2;T6wXsL)b;)!FWIV!yw8cBjnlU#

|A(Y5pT+5?U3HX6A5vYl_kzFNoVUX6%kq3% zhI`nd(?$sLP#Rh*E`m3q#6zu}wO4$@ZMz2^dTl7k;<(_R+O}ipMCPk~%CT<=^A0m~p$cZ7o0kIq(TTb-%Vb41kAHG;Nzt<-(M<&&RiAeOnU1L)VQW9*+6^ zj(p-)W5+{+e;~K<>Y&(D{906BS17|;0WZ1!`>D*<9n$SXiEwh@kLJ(d$?hdXG;Xr#$)9`It>v~qMUFnogB&$oCHUqOS<>Sn5(FJ2 z4>~i8?)6kq-ctFW;wBbB6PiQL9#@---UG#&;#>XsHYXN5^xP0h$3s(KO1eqer$cFG zMQbBIe7O}rb8a+hv)2=bJ@njYLVbvR0ehd#O_FtgJ|r!ugcO3-)i!&F4)O%>(08NZ z_@RbSniL)w^;d-ZxyyUlGL%a%pTJXxyjA2sJ>;~46QvyI0#i_D5W_>Vw#rA{<^K|RCwsPyI(9vResP{xJ zx+v{r;T~!NQH%}`rQ#`X#tj2^@5VH`<>$~j*H2tL88qGiIu$sqLe6$Cn|PZBkdOC^ z9w**rEF4rR?{`M{oQasy`Tp! z@YdzH)r8F@PG%kJdvDlc*UdgF2CdORs3>SMMBx(J{x)FJ?=5;`JAJz5a?VBTqD2-< z4*zAJ2+7Y79V=gPs{@?>9k(mq*j=9kKjw$JAur&h9Hl0pfUPd@3FK1(dYE}b?}zh@ zIWzfZ7cWHSt|bl%DWRO1S2X6Uo$;P&9Zsa2x+l$5)C?RZs!gMbZt^6;s z;$gv*E{2B~x#vy3ztXWl{qPLV=!>nk;>twKDOO|S-hRH(7jAFJ$~J5$Qt&f|uBu^U zsh77oVc5ci8=XM-X{TWmF90c(hlB_V8#Y3+obwWTZ5(F85`ZcP0iT{$riWUVm4hg{ z%}40F_xE?>k$=9;rv;9(stG5b6OVwz13wogbW$_qfA@B+k)$Cfo$%f@^xIg2qQy@T2=0$blYt5-6;NjL@^V}hCtr4Fh$7`c4gS!iU zo90{MwLx{msE_;OS?(%pgoqJF>%H^R+M+*&t+-5bB6ePg%aFFfTP^LpWI7XC-^)F2 z0#fPDXt^c(!2CImdO2rRuFIHmUAUM7N~1XWY;ME>TQ(g5Nor-vF9N@$S=&?T#n#{d z=~{Qt2)@yb@@mZ5@kkI>L){7bnKWB#-})4_Pd3AGDI=_}grCTVC_JO0GMBSx{Sr%^ z?9f{?ZqiJxA;TxTbVo++Y_~r7PZylFQt~a_U_IYL6DRo=xvfR>EwElz>cZPSPrG#l ze+rz=*pt3$!ZL}7Rz9kmaS`DsM}lZQ&;fK>$`p#a3#U_^h**j?;Rv}ZW%oXM>jM20 zIi1@N35Yr{>bPl*AQhd-El|of(WqHzIiSSk_K8<*ElwV(Qb?zHs;Bt)dALYVG5l1RfSf4cy1u z3tstnCvk^tHpU7`{b7RCrjhQVtuC+XEoHEDwd_NS!iVJX4y&R@y(^za+c3oh>Df;N zsqqX15S8GHauOPi?+GZCYjO*i!6cpL9i zZB587fKKR%*sOQ_LguZyd1J??Dx*z9H$X0@90@Bj5GcbDkn^u3R)?ZSea?y9H1V}h zK_l$bIw%=m*MtF(tAA*e2gB>=MJQK0QI%|XzA;miKlk(ptXGhALEV}#fCWE2|at$bDJR^I)WM3hBo*W^6?i8{c&LHTV@ zS_{cnLjmGlK>1v#SY1fZfOEF0#k)B__NTQSbAPdJyMKUKEnnY{$>)-zt!=Z0Lm&K@H;`v z0ift8T|*{nl-uyeo#8j0(?>pC@ChXhob0 zsp3Ns1mV5XU`hzbvO5u9x$T%!Ru(*`Jt1Iu&d2%`JTndv>r@u{j9VGvLFoktuf?t99J(`Z9aC}Z(1sD+ zB0mFHtevtH3Tf&d^(^kVw2G^a@KWU>Kyp?>59){I;xh=8(10F zrHYFhvnCn4qplyDRrk}Zj36Z~-*tcqCQ&41DrVd}sQj-JdcBMHvN0SEFp?u@XUYq{PP}bh` zsY3fXjrCLPWUi57SHZ38Y0!#Fg1Tlys!LEK$j3y=qRqbi6uNR%JJKoU3Q}@r00Cyd zGFy;>duC8r8}oOM9DO7W?#9De4~jENSZ?*CM7nE}g&ul!UUV@_yx^s&C0W#Axm9W+ z1Z&qJ$FtY?$=b&}E9XjHBf8W@DcEpnF7Tx1H0!cBc;xt*6mnmHibpU&t9kBC0!|ds z>6N?{qtfx`q?A@qCaN3woLmx2gmB&I$VE41MxS2DB`c!YVYQJD8yV>>QFp{u3mjQO zTS^h!+dVaO&)y*%dYI_?j|EW7GnNvKR3pqX>syccTWboEfN@F3`mv7U)Z*@<5R*T;(JGHF6vZ^Q2Tzz zaa()hqV9%I`EQ)!065DHaM5RI{y{WNB#WcbX|R4ZXDkgl4YA>7I77eIrk;oOwN^V1 zo4wgW7tS}jlkaUV1)INg@;!+>p3X490dHN~PE3hQrY_IIww)yObK}qblqC^gqoWQd zR$~cl-PPx(fuV)1JMCT@?Oxk`yVpSOA;eDNSq%_2bMA4Z53H)06ZnBY334>dpa^`o z@jmaG2CVTrrO$iP$U_baklWI=US@LA2iw1N#VKp$LO0HLy013r(Xfq*ml(4P9{O>H zt_AltFTLPd)S(mCSntqlnD0(ficke<3hwif7PsfKT=r4X8YAsfsR_zw!SPm4lcM;M zjJpOvFPfQ1d2yVfL)Q#b0iFz4$SpqD$HxO3Cep1d1d{<@Zl>8wDpMMiI&6>(mU2hk>ppC- zhPDK2C?48ytvlnsHTPV6_=TQc)t9%uT>HbxoynRy40d$hX?ob{UL8>R)^Jo2#GjCZ zNxc)nloL5W7rwQ9Sy7Kj(kve9o*V*?;})$w!ioxDbjx$i zK^w!r!Q11K-?yT29Z6O}Jl?_5Jg|kH19N*6$E&5CyzDX$#Uq^VO2N`MTS zUn>Fi1>JFNdgO}At$d>lgMO9@U83hNo)Mv*KYTyAGb1T&t$9-uZ!vsb@LA=KcuE99 zq#SxJ`5DFz$XCEEvBqU%(dtSxo4W9-H zHid8t5glBV5y>u+xYe%ss}!AV@QnvXFbfDjM$WuSlW?e!r6SKYa?_(5P!xMooeDgW zp%cYOi%v6;9NH$-MfI8_I82msj;)s+-!8#3iw8z%K!T2h_xnXJEWP1%+;9CF5)kpC zBf~~C15I4CLd_9?WH@r)lf)>x+cOzj`DVdhM`FFH&dH%!6wOG|K|x$$hXz+RH|q^g zCB%+NTPaw{p?T8uhgzXp`%61Ca^q7fbZ8R9*m34G`U(d|8v5@cj0k2muXSO^pSven zk%S4cW8_9^ucn(QoZA|GzAlv*?5T9s7>|m8I0-gvEocCJU~N~K_JOh^nMnog;?ZO2k9v9~U4CzW%P9+w zGHSmel3@-Z<$qSA8(_B}$sujl^ zUf^?vZV25u>F_BH@9Rw?a#;Sxqpf?pC4<&+2z@#$6g8d|x@=bJA)wp&ziQ6x@6l!& zX#fazyyA1UMU7%rsXYpjg9WBVaqf7MNjV~-8Gvt!`HgWfweqvUD@R|sVPaDFmWbct zi4kg$kYR^kC8E&+X7IDyaQ=*DM}OCZ@L-v+&ldI_7$x5+^d-MS0<$*vIerps2jTOzyY@w^Blck~MK zrX*fCdQAflJv!y!8IFQkJEPZ8bqGvD?dVmMGROwgJ=p+!(P6*fcW<7mV{`8+yYmpM za+OEOQW5rcs?{BFM(?=(ope(;dI$S_ye;?SDwvWnc3MHP=>+e1@Z@DV@7Vg%!MoNy zH7Y};^WcJOd`Uu=>&Tl}R=V>W@Y?tH#h7?x#KcM;thi|wq$&|*qzGNODgkpkrzEe^ zVzBT`J0wd(4C{8lQSDKsixNOj#W9R_ih%dtXQ$;+^`O|!C0ASFBjwS>LnEA=wqGOU zkVi{r<&&xDcwhv&4(K$o#NCx0ncw?V8+7F*$G{~ylyD`Y4L_2U6mhgGn~W%M(hgYL z$UWbd<84jc?D5EmmXM=5Ya=HQepU6oa?dmJbPJu3_m^8dGGb(S^+8k2wdv0WiRybk zS9K-?4@|tvkIq+!RHpM^IbVT8moo93+ywHg7DH3WCi$w$wU{*YFhl1>ziKgtUbq;O zM*hK-`#KCStuXWThaXT3$*6LQn zxcJvhKBwyfAy;H^TH=$kE@H3MiaV;{li*LCpjfJVrh|H+xrhi5|Cru!t_sbSg|Wjw ztKn`%t%(~W**K4~(fdaEkAL~&w=aMH%P+tF_VVTHw}1KV^&h2LfVuGv`t9JXm zU)vr=qKf*Jw|(}!hiUE$I5B|+XKL(B1HP!yq-bd;YwBXrZbRQ}>N@nTq^WBKy)^JJ zB2t(9faupcNDPN*=(JrRcgN32#ndD&VB=G{k65kSz`f!Ee!$tPyyC>c+4O#_);*z9 zJ=0meqS~xxi-{B`O1`ffm)ucQ+LdKbrnv9)y3g5(8wG2%6f!Fm^+Tq`k{ejZayR>V z)>-*nikqW+dB6W3PEDJg$Rx3D<|e9IJDJbgn?A=*qgO0K-t=!UYo{waNt++OcI7)= zryYkTA#uqd*$_J}t6C^8@C;m{id!9gQW`|e+Gyb=gaSv)e*Cmb8iyOn6cKj!8(>3tk#yjO;uyv$IQaV%mpkwLn+ACfEv>< zQq0>ZX)Aj}0;5{s-uf+w*|U_)SixIz2op6wFFixx+Y}aAfVEx(cP{;&Qu||Cd}QX; zRwDtNl{SL|nT%H8Bc54_WtpZ}ZP_~;b#%xv z>xg5=L@bjN@Amz!OHUTB_Wi!*?ssSy!7T^px-GoS+f#z3ec`tO-Gq8!+m6ESo|$q`owUh@;*Tw1o6)J(<5=Z%^mys3`}BT`h$ZmFW$Nn)E&A9gRZ- zMG#6sEu>t|#^93|T$rg-KjB19R*ucUKc#zjkhv>-+S%_pGZ)ugm9T-h*bjS?>}Lz; zurrCM>R}&OQS%bqyc^YSr7V!pFnByXiJu8PikEf4i)fPYYGT#yQ^N^HRcL z<#G1vY5ZLmJkT@9L$7Y4VSJ>&O8)FXhIV2W)rLn%+k2xgmap!xRvIL z=Lj}8I^CP(pGeBnTXRUI9R4&n;fA6s%;9PWy{~yrymq`%>1K|gB#*A`4ykV9DujMe zdAn!zP-2;GB_o%Xl|K2SA|FhYL^19bkGv!odi0qtrlM2>t;7u|pY~X>O3SXvJ zr(1_zWkxvDqdH#IF|9U0NOer2sCL$Wm!zX=48fw$I^?j;RCAONh}A5&wIqq|idh-8 zGiOeF=*_9oPu)Ne2R9l>j9oPtD)iNs{Y*xWDb}cHV$rI1;0vukBrGoA3R>&Q_MZEl znq#K@ZHi^O`;xcX3t1{7FP(!QbD;}zPSKiMymh0ib=HaRMy~KlXCOMKoIm#@vMCnn zzQA+0iBN*RBV#M%+7{*#sR>F1gADr6qqCZ&n_aErSvy&giC`Fi8SVKCc<=0{`)yqs zd#-S2w*vOJdnHQvi(Rj^k=V)@k!!oPa+^J}Uz8Y^xIe5ZV zTH5t<**pcsw%m$`ZrliGjB$zhu#gAU`b4RzWv1|9hozigi+orTG>mcO&plU^!g+Mg zM<|j{GIy@GQHF;+s-Mf&+XOzTYsVfA!S57b=yvj1SC7D=zV5nPzJbp%X{eru;E`&6 zs{NzqC7V{UDy_A_CwsdYn-qb!v9n7fdI>r>mFq8AV>gDr+y%V5G`8|M zAYqF!rGl$YR~w1BdaV%MsmUqTz=n!eT~e(JMb?em{7E5#QB1V7>*vxgO-iT+5@-y4 zgFXOM-|6n`t$nAb=&@?h56=2T;09Ap?8q5n#e^R_iye(n7vn>#C1X#<9OGfPwgKo$PvgFF~pZT1oh?3Z+{cW7y#zcZD7UrJBmec{a zBMV`4-dXqJn?9vZJ;lP@lV)Hesya)E9cdHwIX+qcS)G4d*>%s2nVDi`ZgIeOs%;a+ z*4F8#_BYtn{JZKB)%JX=x^do9d8$~MTLQ|och1m*$=cB0In(C`LzfBcEbTY z!wH`tz6MvjIvmMLv?U%StBa+d$V^Tg{dp*Nw|mJ4rj2CSk`w8+2t8th?U2*|Bh?mp zG}0mFrNNUeyWx?c%T(Au%8vi7@Zt=GOdaeKMqPJdE58!>Od?X2g`V5;VRFt^PFmtC zX^l2C6g?x!X=5O(S-G>so;7oGn3}tw+neR|YbtoGXnTaj@I* zYO59^(!j$y>!OxMD1tM|3I@Tx(&&e8$JK^^GnTXOzS)?Np$hwL+s_2Dz`jqjrd?y= zxW?7dI%`%WKXSX*yVXw;5wY7y^=V8*uH@7s>`JM*K1_Z*zhs z8&8Rl(jI|&yV`bGWUa*yw~j6ln8M}a)@$L}^O-FlI&>4XSfc;;Jx^QXih4ouO`qbA z#Sz* zNrQ8aG)NyyVC4*5nW|l5LV>QzE9$a1bLIHKEj^b69*>6r__CsAp^){U6i<4Jv9QE% zgz#16^5-O5lGIbMtwyz>g4<<9w;juv5%%;a=0Re^q5gr4A> z4Ne}CoXkj|t^{>+Xt8<~Rb{V)G)~QwaB6T-gSDTjKkdZySE7cJgwhpC)KF%xX5(Fo zNONl9IT6xQR>bNXPJRv}q0bwx9y$EH;nv&@cRwXUDkefMVIE185U=wydAn!LmM^?n z`m^|x@Mmu(MbQ59Z0SiT(xmQHk2|PV$_5NaIe*r>KGoHWcNQIZ$&@fXjQf12#g&6j zih8EAU2*(W4|=zD8EG1}ZVa3>9JR@Fr{l}v*RO~fXebbpRMjkSxC zW}^Xs=xuCjqj)-May-iE4R&vqcDEeMARZEdyAG#>qpkgp$b*PglrAc7_utXi8&8SQ zTm-5W3m(k~A%QYGM}4o3eZ8oG6jK82jgq!5nAZq0!{bitJl;c{ZaR1_jh zXRl_a>Zn3HP7Nc#PX~7?dbuSfD`p~IUbsfPy!j?|3VDi_3S6iH5F{s;f zyq{t_QCta@e!-z*6fzqfN)=X5;sr!AjZsxkwxgYTYH&#bhj>cFLPN+x7T&BPL??+` zwe9P&iiABm+Y{1Myzpo-DQDFQq>E;Ka?w>Lkb*ubTM|!+ke>2Fq1o1cGMBC}hfvOgl86G2sm5m46^2T^`SYP9qfr>4JL<{};wLBHp^ zk*@I-=Ymw>!!GE#nmcKTz_C%1rse9)Gm%OSj!yBKdx|$p?lnNp3}0xXq-XohKClZG zZGy_JA*}k&+_OEwlaB{Q3=~@r!kzBWGWv>ATyGI5>d>~+j$@Y?<*T|{wDeNfMY7H3 z{R(4?ANZN&pA+|cJSk#OuOBYWgkzqO_$kRgpusCZKa;NEj4NBCUI{CdsVKb`Ekd^-K1n=@2S&^@)fuHMS|#>f zj<9fP3h=3VWIQn9I_@+D$+x#Un})z0L%Du|mZrzf(Ik@6VMI(b*z$m94A#k+W(eM; z&Nfk`Ma!mU89FJ%7>|qqxr9fj12+eqAFuj!5Z*q^t@`g1VvHw7Sful^w6abWCRs= zA{eTVROFb^4s@J(qTPk{N2RQqL(`!TB+j$qI z+nq^MWo~vTqABP-O(p1ypjS>&W|4>9oEP0kT~dS_)}iw4mIWT><`@nD(Snvw!n9c= zQoOlcr5N>t)f-m+P99Fx+tuBGA}BzMw7Z|*|gUD<)< zUa<7lUD+J;m{8Xj-IWM0dTAq<(@~$}fe~JG^?E9B)1o8IRyl6V;tu^dwXthD^`O)g z_1THEv}SA23Pe4kUY0^W?2IRuVj0Zww1|m}=r|493JS_tK#kS0lW*5ynn+aG~PQ9o`d%45j?sN|Ovb-(# zeUCFujlqt`7SIW{zmk=BF4EwmKSBYlI=+!&t+wNheH@6~?!z|3B}43LbOd{|@x-c{ z*FLO>v+IM?$vL|Ea!mjfPV=0iNjwhH!$O$f8InHD|?>QRL9FL7KyMV=qM$w#^{Xp(T zGZavru6Dbfj(l#OtMcp7l2c$;psF+#ZBMU=U(wdC%MJCKdP{!hE5?+l_RLNWkWc9K zNZ!SMtomN@>`2riNmtIHaqN~$R>T7%CS10IB!yD3boF1UNhZ3Y!C3B?J4cl(ug^CV zBXD6**X<_mJ$$Kb;&S3#b386Wqy3~+!ge3pa7*Y!)Eec(4&^+#bGOfL2(0iY;nBq7 zB1RO3q1h@;gOD~%8f2Dd{XD{(or>lvbgSn&A?A2s#3*fHIdC|!6QT|(JFhK!QIjOw zu63c$sX35Gkycy<_Kk9}3nYZ16G)%Q&PFZiH%Eho3_^fY33MN>2=@qH&JnW(! zD2m-+j-HNQ={uhE#e6TrNso4fUM0tsE8(iTt2}{wTe|F?B+gP<3)bDpU4(0c;b;ab zU4+Xb5B<6e`MKzAG?do7G@UMqJf0z;*#V7c(F0g`8ILDXTk5_YPX%B!(N2-bhUuma~HvYH!)-O~jq9x}>+h>#tU3wj~{jrLb zORr;6mkjoI2%Y?#Qd6$H;?lAYxaBJ|>F{N9l;L=G1b*8zQ-|`MuCY*rt+nrTu;&`z z;>i)Zy*2sHoZ$fu@kWilG-r6svPa|55d$3I8EFr5#Rs~+H2JVJSDcQ&9D9`VVsN`r zhiPN#Wz@x&cI;Z3Sd>5Sp+AQjKe-yEs~GKxx{2a==0@-{vx1)G((XOqwner5EdJFZCtE3P+Us^Sl6SO&nBE*9u;F4x~qUq8T7S^Rw zwq{w2a>e)5^gpQv2WHN|m8>}6(;IoCoD>}8+{#dU&Xuoe{;P%R48*ENraDc#)Yp<6x_EE|;F}hgq@-v5s&xl(>Q`n3 zRYQL!CWT&q?gd*=QH_?~L^|JX7APv6nj3R0ahg{HD`(_R&4GM9#JZ@=kIy0xUAYT+ zcjZ9N&^MK2O1p9?ns_`g!pNPTvM5#M^i*=m<5>|*aBak3M=mZlmyTRu)TDI8=Xh3x zGR`YRQAg_|{g2P;9lj{%Gq(L+QkXF>k&$b&u*k|NTHm1GXx%Ac*N)c3q)EV$IU*b|+u@w^C8Ch6;ZZ;XI-fTV8y#t2q_N)Sjnz`^A{ zlC6*?k(1J+7}UIt%1P-tIT~kQ?UsqV{$_15LU1Xv25bto?X#h#3f2J4eO3=hE>v10%TLHQUnI2SPcq zXiLX1IjvENLkFua*G9-4!!!?`6i4Y8CW|~w&RxizitlS)+@VdyFgH^o`kFh2k&8Fc zBUw3y$u4ep$@X) zDPc{jWxtf_rNt<9jAA)#UW&7C;<{(qXfuQHz?(z*ZaM2uj_wVe_V(C%g=xK z`7eL`^_QQ%{PD*>{q|2SHXspjyk*FEu^KzgN3C$TA=A2O=!klURo7u$@;ZGt!K=@Z z8~R&F6D5a(l5z0XRN^Ptxmd+UK&*0`VnV@B9~mbBW~omy&lHC z=p}HE!NP-gh^iCF;UD5iuGBCYG+k}48+rCd3uE7FzjK4Z)nLEtpX2LFqIds(ql7*) zaIJ!u+wMy&z;54-F91S#I^Al zzJrujPVA;F`J!A$rc06m_R*TRwn)vaN(%i)oX@7 zU72T!Y`MhJ>*U$ygPsxXc9L#nGvVOL)K}i^&lK5G67tcSQ>D>-_f7rpWG%%oUkTH{ zvvvQ>nd#d-Gx`*nnh5wz{$Ze;cg5#asZn++9-ecjanKVd{YH4bgTK;`C-~agM+5-o z`;k%0jqbXUI~~=LSI$PU;4FFudg#WPcc;j7Rm!ywgOs`7zFTtQvy*P?o=L?mvFQ2* zya%c#nWAb|I8uG43M`rg6q)yt$qLB4=_32M=3B`%KfSmt@X(9%n(H1@+S&A41ew2Q z+WE8H-tV>CW)Gb>DxHmYA)rtER+J;CEOFX#XA4dku>YEiSz@tu`7Q?qN3Z!nk*yWg zO0RiFylkO19Gr4@PppblDXMv(_o|r#&+k@E{A{x~(+;yXhdlJ++%zN4MM5?ld-Paw zHPEu~9o=6QAeM(-$cPk}-cGR7VBL$nuz{X1J8sEK9 zhmwIG(QO^!k4V^XW4y@x-Lmd?&~vR5ODwfMvb@rsw(qW13aOY@_T9&~RImRMORcNN znc7-Q#;CF=a^a2-TRUJ&R+D3;bwl@}3p#f~?KMw@EwRx0g}XB#z2ucCkl6(f{W!_i z(DK~kvnP@Ifd952Yr+&%n#IbM(H*a)T1A#vV%=-*gj5@Pi>giKgj9CT!%WUdYZiEzhI1_y8vA3HvNE}- z7PPS8>GQ7^sKE>r^dnpmu}ViENVci-y9U3sf# zfrmu6krIR47H@UAF;7bArMG$(dFZ$~-8_SMW7MCMu7$U{O2^6EW2~NjVV5+IxG_E9 zTzR|07|5mHV(E0C?{MHIqU$Fn|Yru+?Drx5_l|~u5G=OXFSdOy8_>7-oKm3Xza;kk%vB3GtnP*JeZf{YZf$KvX~tbSO3MNdlWzv@M9c-eav~;+{Kkhnw>m@V zTOvlXEjy*9!iktH?$Cq7YiWciA90i53Lo)Yr~MMEr5m@8xN%oL;#uHf=FPx;#4q5L zk9Zb&n0vdB_akoFW8ov7#T`0s6J2=&tarLFm24i8w>g_Pa9k(E(_*NyIwo zMy{^J3B?&ryqb1t&EeNpO+|6L<)DX-+y(vI?HBUOyFCj$^y3WN*4@Y}TlXyR(2*NA zq(gAr?8uF1L}@5}Wk-&*>xR_ac0bW=iB-}^Nc>O4a&hIJ3+dO9Z9n7Qly>DnpB&G; z+(@Nw6j(^P+rp2`ZGi5c1G`CcJ@iDl9?#BJh6@6)~XG9Z$`pcxU`sa99L zuqU--7X&4O*p>6nIe*8_#8zGwrv6EHDOi#Wx(m93-jY7hKZX z#WLyU$N7S@wJUwWC9n2aCf&$=!5Mkw3oZ*htgh10ux=zIW!Wd(IdybMMM@4m{XA8V zddi!NRnjN)oFyKmnE;0Xa-BP#C#;spEyjOJLxYfL8yO1~?)l z#x!zCXmPbeD%gsW-AUEZrplj$WAjle{crVeCvtK$>s=<^YkvkYMM+b@&u#nAr&EFk z`Gp?DNcxxf4G*`pjn5*#$|xa8JZd0CWz7qzL6rH- z4F6n-XG+&#l%OFump~r6atydycZxKM-C8^x-K~1g#D%_`8(oGSiY(H3 zz0akx_nu_Gqi-7Q_1@(o0l6k}E%f+)q8bnpSG&&7s#6a58c%R=4&GaRSQ+0z&tvhe zo~<^n@fZh&bugopJaj+kGVaI1&lvrq-p~@8cc$}V=PS7wmJo4(1YiTU5O0{dw% z9Izhlhk6g;u>Nhg=^OyjQmVY6}5Bl<}!(? z^=6O*i_SRWo|t-H^vYLT8hPl)X$F;$pNXk=(ZIsTJPkZ_am6lJ5Jc9j@iHj~O+Ug03K)Fb#VrC8pB6;3V*yF%G@C%S=fl zugsLp0*@P4HJwGNIKtH@37m06Fi)HsN{-)A^f?aJ@ZU7J@>`xApV{!CC)Y;vkZSKu zFQQFq0(a@lEhid?dV93!2JXwv$SYrNS>T~3H{i<6R2Hx7GnRdj)_dvnGy9Xne&5k4 zL7Cuo8$c-rO;13B`|+gESUm&1Fs5j^A5*m640I4HRt%c%)+i$@Ws=fvjmWVWx`gPr z=-$!NtGKAg?++Ob;}`UijR>oB~u`D|Z*_~GT-FF*bI z&;R{p{W$*MD|g$A?ziXb*Dqg>7ugE_Wtd)?TljDOv(SjnIywplVJK*v;ez~uREC)z zfwputCt2MEBR%ot0qzS~Yb>Ka>->=N*r;MkrA{)164BrIe6Clk@6c0i;cG0TPP-WW z!64NrAXo~xh&arWnr4jeTCR_%BTwZyV-fWk|5zE1YrGxVKV^kW&$r99Os=tv`i0!% z?L<}}IR4IKuRcoz^d(QF`%sAvt_%ae#yNK2wdXlz*ZiiSaqjk&Nz@BTALY8W+cl7W zoyw_+w*&~rJ-6s#9PE~YHVOzvy;xb4GuiEBM^h93=M3CU5KOWQGR8TG9nK{^gBXT3 z2WTqCHa$!AjDyJ`zlnlj)N-Y11`rxAnoKOOrt%Q>Ebh>M8xUm_ZVkO+r(eM9?)3C} zhw(4rZ=1|4W7a0Ytk|@b5fQkr^;)6NqRXyTa<3<7_ zxXLf9exC8ms24utY2ablJ2CJHGD^F++3Ss{00HaV>*cKad5`CsBG*_+ovC+RXBxgu zs}zCCGBJR@DY%i*pUVX*{XSEx6eXPd`W60nu-z4viMO%AIvbwI?MlOqyREtG^(1|| z%TA9n@Dsr~msJEFGL8zB-H}-sakk^YodXTav5>BX&&=;!V>$Kfu%Gr_hy4lb?sVbG zC1g7C>}d~OxQSx*t~5lm?`n@*Xrefy^?j=cz3uoc^3aL9kT)+*?QtD>VJ|KVJoMs} zz-{r$>BU{~N?|W9>%PWX>dlx_t6I@#JBZL0j`_^c+LZ~O1^HK(funwtDc>xiBL|g zCv;0?B6ITU$~@8wesL}f=iSr5LubxQ?z8SCFMZb2&_i$Tg5LA)7xcn;_cZd*oug9> zh8kYXlTs>iJ8yyka2nhSBX21eub)}DWCukou-<#*Xac30PCB;t$Z7YlRR_0b8wp~0 zb$3N>NVbi5HeU0}srNMUFfDf>hb!^Km%EVHjoQ+{V?T~GT#HrEGTCt8iCGqi)!OV# zr>@2sdG}$noq@5sI^1zuWyF>sA4iSJ@T=$L@M5RueNu7_Jvr5o5v{_)Q&IiU9;h1g zT5p=EYs#qtW2~^=kRxk$W~biAzE!q!RMT_FLsxDZ*zibD+LcqbYAzqPC0Tb&!w3Qw zLwDd}=#>MPF^fEOVUyPG!S zE^OJdutVRCp|zR?!~9kTV!@5(PA4ZtwF!mk=UlX?I;m|!e-izm#2~>jzu@;_riMSw zP+^yH!lTV~75e1th&5JJH~OU~rHp>5nUvCf{=1ewbmLS{l>}v9dAafs#Y-=I_C^n# zIOFaI9#LrmbmW#xANVBlSWdko_f*rq;+2P*lAK6+ud$eV$L&+zaaTU%S=gZqM=Jx} z?$BRt+h=L{Ff66GZO6PP?zKBH^^V=wddFV-l!H78K6K^0@XHf*VY1It2d@Lb*pzCy zNMCDo!6uquZ-mrIJ5LZTCYZm>bH$w#eTsh)xYWzS+MOXgF(#;yC=x}koFHqIDv!oHS@fH-c`7`YVBtsnw_VPRW}zL-cZE5oyRJI=S{Ua zL2s4TTqo;xBd^|(F9?mpF*EQ*)RKC-@*Q`I3$8gw(Pl?;XJtlQ)7oK|YvSQSVWu*2 ziBjf-DYsZyUHxrO%FJ5zT~#P%0aAgi44x<^x$L1wHxR)cT6ShvLn1?(5Um3AI2ObT z7`;@{j~^vimKlpA{jq4rPg3B$?zL8crPQu_Z75oL1Nu1Q%`W%uEY#NsyaZ>TP%kEW zz0lM`qfgpen)`?uSc~53Ec}R2;dn1psKXm9y@eWdwa-n91@~6yOJD6dQuv0^j-VsX zIAP+>tNol{E<0cPYR@7M-MMWg9}Dt!wd33jBy5>*Tl<2`xUrC9!WGATT~S@0h+>{l zq&fP}QL&twxyyAhpZ+^Z>9@owj}_LHoj7pur9j+qb60 zC=tfL`@1iHJJNR6q(fC;G#Urg4En^MQ^?*%-B!EU&*-I*;j!>jX6?h`>nzzo`T!KN zqo+8NoYz#_nG#&V^yEAGoMRKqtZUex20gZ16_}N~!9eAt{@h#rfiN<7H{Ur&zU11I(3Gx z3!Uk{7yMRsuP4>vvU_^%L$~g_>nKL4B6nSO)z^L^O*!3Ik0 zdF)}zu46~1r0Gf;`!Ya4sn_;qdzY#{Z?Wb&3~`oM*@|A1n8mqJh(r5hy+$B&ZBiZ% z2RJfxJyY3zJ0~iuU-3EQVY+S_pQP(tlfbQI#I?Me%83iCT&5bcjbW~CrU`_RG5B$3 zkAz~I4N_fgqDgjQ)<)Jj*znSYhgt=A(iq4%NP&>)GW<;TW-D5IZE-AyZo1cI+K9~~ z_+nIjV3*B10cNTA9dj z-JuqUJnn7Z6By;UJvsV&I_VbAg3y%br_MNKIHEa<6L@#MSBAk;)x0{VEJ?FboJbt` zcp!u%=Oj>LA~DfCvzc(~3loVcOcBRsQW)__2$GhlhATHM{y4*v;Fzc!S(rbrawHCY z;>5>8A!OJOQRn-nztZ$@E(&k@jJhlu;E}BxxZ{ouLl5OZg$j+wqhi6&l2NZ(gI*Rm z)VIJVM4OXKs_b4H8rF1`%W_FogHH8Jh(HuU*IAd^Wbcx>mGPLE}L?AjLod+(&m(!wl?wa^FlNMyHtf$h(=}J%47;`j-lM;{-F{} z0%N}K3f$sp5o&hU%s=gN418CmqeT+7RXHB*nWs!vVs8dT2)9{A+;kmy>116_J)RjK zkz3OiTvxkhKD{flRW3x0Zz(4}9ua|o+j~FEO6Y#sH+=Z9UdZ0b@|4|MsxEWPLyr#h z48x%Zj7g<%i!S(;$z^~abNY)L)abyIH+Yzok0-&p*S_*$PpS}ZjGYaTgLK*Dz;&O7 zXl^)f`MUBw_%sF zA(!-`hom|qcihT$$E#D%NLgWvH1M0MtGXdhlC+jwwaBrNrc0jlf9SRL+&K?(bDG^K z%N-?$r3eSI*95&pQd%aM`)b#hC4$ zteX85@YMEXa}Dl{1Bjr*qk%>Tbf;uV)zKByl2ujJN7?YH+ns`Wu;>@^zUZ1*{L~oR z(&0-Mdg##^y2FILFjmK1ra8M@87mUD!n}AX!r!d&Ihks0hZm+iE&tz=Y!lMlyo%MdT4O(?2=sNPY=;fN*n=_LJ9=dU`M4OJo zu&cXQdOgr7Q162($|SIIgn~0AnIsgz1q_y4ZrcoHh|(Rs+(+uF2~n$#IFV^e(?HqE9J&qp%7MzT`2-k0G?=Pr}H> z(<115pzQDpA$+I%10iJ^nyJ9x*^EO`g`x%?X6T$?h9a*QEd5NOkr(hvlnRANT@N_% zbO=d^4@OnlrJqEeO7!>g2we7C{fYa#9y?RC+LSr%zLLQbw}iax*KUBR_o_T3NLPNaWRaYO>HncWy#0 z|A}PT8N0xiB3H3Nohu!?BqfD!=0tSlr&A;0f)jaVr)JMNHSvrHTAEtfK{;qzdU0yl z0_c({2ffsr5pg9WmkH~hsHn$dA{ML~IoB%{YnKkIS2`7ozU+|EmyIVyXgJ2gHQ*$? z2Gmo5s-A$ETr-&G!H$m1V2vdVApLzWFR0$%U5@F;nK^S@I5=0t$oTBSZ0KEipA#aOb zE<@);d~VG{m(FW$T7i)lrWGVte7_qKp}`>2#i!7)?v+wRW#GBihdmw=(VM)eq7$NW zqcH<%LYRskSsc1*5$o@6h6dKs| z9Q#rFG^HcATrcMyPl#}1+xSek)6+-OLOm*W#S za2r=fV{G@MG4^;kgg68X#98M35V8=q_TFW=HucnKE;2i{1m43wh;$B?~Sb z^JK&lPlPaX=Ov81_A$>w51qIR`bmwvkXJtDS>PYCa9@YvrH#V*`oj+|-+uW?LPQ$R zeBF9qDXPAxu=;%c`sM5Kq6?9K8K##uM&;vwhPQY9XMa0VXF|d1AVyqv3L0t+mfAR8 z@f=HU*VFj(?&L79w~_Y52N2{V;U$$y35Fs+f-k0aU+MC zCK6WnYU7&d8yLE2ppO8FeV=s=7g<*QT=}dgJ*8M^-Ozp34ZZYP&mxa~xxVN=>lgCE zXFUr%_T;?VyX>-JV#a}T)=O$Q*_X?dD|Jx^=X|6sbSAg8cH|5YYI+}~kgwWR;N*Md5#c=$ebNyat2R&NRJQk6Tird9zS&y89N~TKt1SyX^yb_u zcwTK(>uH-IK~wr>OOjHc&jtqm0^V*m*|`&V;fpQFNr{EkC-RS*PIZ&$LeWOEy?Iq~ z=l7$i2de}{PGftI<<&J6itO8oUZc=>8&7HxEtpx$Ik67gXj$hC+;<7?bLh=Uop6T9 zaN0Sw(Db!0?ZW3;qW4%_U5SZxv-btKJ49g7{e}i?VA!%(+(horR3h z)A&zOz3u#&OKubmPl+34?AD@Jd~1Uzh`FByxG$k&H*(2QbrRSS3qPuZjwU;8{JpAT zpKf=wm&beYWvS8yOYhp7OHi)8l`cUgi*K>iy2|RxTq_N&daGxMD3~o+Z*}CJO30Ib z3D*2V-iz$+AF5q=8&mCadn~kW=q|h&dg;Pj7J2B_UC4Wp{X$;2@RkG~E388wY3^L( zP)UrJqB}ORG=~cF4w;C2`K`SC9*e9Gq$L+g0Cegc#3C*=$VG+8L=03&%~aTLMAip- zX<*m2byr>*iv7TUQhMRZ%%(;vXfAnR;Z3cmV#k*5K4Y135Td7l>)i69f)M0 zjiSPRY}h>-MRQ>rI$P>Xtm!7t<(QN z%lKJ|Vd!bM?#f&oQ#o?<8L?)Ohv_-rYs`CO3f_C4DD%Nc+f}u2IsG>HK+%;x;=w~^^r;P~}?gnH&Ae#8>9YDqhbinC&-u>$q@YiC$Y?L(v+; zrf}Pnjyob|Q=$eHi>_;%kF+{n=;?FQEYQ-)XrZU~X-f1yQB(|ez6d2+`ks{)lTyU8 z(%ld_4YU1DcfA33OF##{6;4cMVTTphzTQqn8+Oe!g(P>U z#iJr!yF3{&fD|$LSo#APFF`@(`7B3?@6ZSAduG)`7jD{yHU?0WO~omgAc|`Y;8OE) z>(Fz04YAm|?YpPj+Q?O&Zksi7vD*4fX_cyscKZZORGK50>Z2y-E7KD)obf)XFXYS z!Bq(s-MHsI2GGD|?F)_pY{BZ1EVIS>>JyTjOfP1MxygytW>y}`jduT1j~8rTCaJ2w zA7M+YIspdA(36I{(g@h5=FrTnmYB7ikvrp-WJfE9HrVbLaN-vFKQ7>!5LR!Hb&pkZ zg@+?nSf8jatuVjOgU(!EY40k6t9;ONYktHM>l*eb?z>Dojk~z+2#~4dQrNcV8rLPA z7i@Or9ap>^pK=M4P;Wd>dCk5L_<z9Lm{0xx~ab3MFAtgo)Az8JE8 z$_Y~`w5m^_^eNA-c}S2m^3#DEFXWX^d9I81h{e_2vF=l@vA(o*)xOMg9^4U&t6#|b zWqu(qea@dL8JgopU0q2>WJ8sHLRRuUN~OzfDwlY6YJy<`_lb#vR7-HFHCGkfa@cTO zMV4c;SN7W1w^SPLh}G3K)OHclo_3z8DbM(CmDA4a+lbQEJzMB#YQvHl{=2{X^0yS= zS;P@~y0659S~#gQR!&Tih@*k?KI486fkwMs!{5lXzn^otbo^ZUoF{u%kERy=`LZi8 zhbpVHj_#Bc3dlW|KI&o%>Ce49!x4+DPw4LutSvMtj}%gS8@XAw^_)8 znpw2t)xJg+(v?MJ-KTZ}>Q)xlw`F@9c(*W`LvSH4%^}D_4^wf5?(&+UmoBemk%yj~k-Ma76X$;&~57?j<+!%1fRF9{O>FDQ(i>#K3M1OY^8hnR=8-s*y&1PlLx1 zk9z>QI@l(aQMm*z;Dj&C3akeFlKsy}#U3P;15d_%T=QSeI;@i*vsv9=VfLXQu94U>Htx&-<6p;h}WEm zH2AaLP}9ai6iU?_#?XfoC5pT=Mvfk3cm@}8Viy9vnnn)jIU^T3afaT?itp`vm2F&h z&F=<15Sq6%`x&gMzB;u*PKATD9O0XZw9z@2*n30H?iS(uLS8yp%R&#`I77GRZs?^w z_bl?TS=GqxxvQxDL|(SC=bi-~dT|a}oRo3MQaUMz&0Nx^J-CPa#-1kIbb<5SB)4N{f|&(||q_o{x#}e7^DE&du&S ztuK1%D=oX~p$F&PZp+?*(>PGruxF8n9$X*dGLnGQsMP@h@I~96dg5}FBY?JSR5A@0 zk9HUkS`a}*z==@?gcfE>uQGQ9dm1`!>iklCzptOigB^zH9Mvg9wE^R{HOX^}uP)6eE4$P{emje}C zl(RJk-HmYXfV%(*&VZ1^XV?9isnO4|=z9sZv8c&|x6?vTy_7zG@O% zn`wZhD}1%B@?eqB%J4wraSoGOa5cxF^(v}`X>E->mBEim@^3uLp|vm}Fk%y@ZtN$d z*=FK~a{K+vM1|Z+BgW2eYaP(aUjpxxX_DJSgz*l zcFt*ERse_OM&)BJnYcE4GvUmHxj411VGDfF)vqd%nbHS6*~}9UbLha&bFR6{C-B+_ zJ=x0>PjXP_+EWgDb7pAQJhyx4bDmxDFdb(Cs54R~fL2aP;kjpo@{V|lgONKWW#pxE zQfcU6HtvFsb`+ucg}iXmJqOsu>C zs3jWLBEb!kU9>q=E37#omFrcEr#B1?EFt-b=W;H&QZx|cYOi>%Sur=fK`z@t62n6~ zS|V;NM+IzauBl8(9^~!(hQ{^Y+jeJiMUy%{L?)P~dL+NDNaV+`xGP$}icz6IQc&b)4tm`f738Tq z?Pg*_H*hlLSa)zEVoq#Vn-P~f855>ystNF6V*|+@LUS%NTli%oNN3$kXCaX~9+vz0Q%5|v0a{oS zZ`Ynbh--)SiIFS5<;kTWYMuzx_YVctufy=t#KgY-@WacuUw)Ff)bVk?!PjvfU--j0 z`TFJS@uL5he;KBiCPwvd{o83Iyyp4pb<6vsm8#@&vOSPA=M z*DQ8zsiB;7^cnxBk%#7UBCWS+Kqsf^pq|0_58PwTaU;t=7EOI@&o?x6mjua@Vq9={ zXx_<8E^sB4Poq1+QiLqBbH8*j|>RwtQ&*+Jo%r4R8j3M zFGfmAj_pP;eWNu9pTV;WB}_NsGn5`)$fnQ4M#D3fOrPnOXhSP)>xhTj(8|)bP76;R zD>2ay{9#bsO})n$_A73yIq|5qf+h_;z{9GBfm7DmXrVChx??NzxZ|Lh=pV`D4ZYPB zg`WwLQCaz|?%;W1gH*km6%V~RMFB(xm^H39^tndVcArS+%j_-BqP0uFXIY2f56LO& z7D7&!J59Xgb2R=v90ea}v zUC^N&9u&d^eUPmyebePwI$#g|I=7Aa#1CzHE%da?CqBLGp=)e~x{(zlJJ)kRbr33s*HBd1_qX_;;IzVhzR zbfSS#$Rt!{7)s9*5>5iJRySAuFZ{%f_ob?SKN)_x+;)8bD^>AmvaZ#<(P{m zF6G?OZgj8p#L9=+J55F#dnlvQq+Hz%rLWqhNzm(#zh(4*K6dYrTc1hb$-Qf9Pw)KL z_CoQspEiP<`*Bg=58XSr(i*>eX-n5;Q8~-dH-~2|zkXpCM;ZRjh5d=;UyC;2q@jo2 zouRufYv`2=v-wpIox2NqugqT1>y~Eo$V2B&`MMRaA5wbT@8^hX{akpz=i0|P>S6xw zg5J%%bk1h_$ZMOqH1^Q7Gj^YKFMH{;o`!x?ls$L+*3bF{z3^F2Bagj0xTG{;o-~a2 zAwreoxTMS(M?LiDSnAd~uR0t9u-!nuQlZ`Va?bqk>8b^J=*xjzW71YSFh;a1FXR#j z+3Kp#=gRQ03Omq&ypXXWL;Yb|Sml&Wvac4wkIIe17RecTN-|NfXhUI^0&*ry)g~i`QdG_Hk3^{Clou zghW4bC02LhDZr}`oyb*@fDQU5q{_{-u$H0T#j}$nQsdbbZXSVPx(xJ>WYC9x-MA99 zQl)pM>Y|rc&eDoro6OS2%IxH$&XT)&XXvtpTT25??F7BR^S}G%nc*3$v)kl3abc5J zIdPG;d9gnG1-&OO=#N8Gpm^dUk3G!P8M_k~UiQj~i#+r&Ri`fcr4?n)vIMM~#}gI6 z@>gB5C=-jcx6yg(jzpw=CyUXBiNQarJTGz2`Z%#l`vqN;TDp=i=s5fcUe;`)$YT$) zb;j<=sK#D-GHM=r=-L^&N23~g;nAph+S9{BSY z^nTVa=#|fU8hb3&ZtOnm#$NfX=b?uQJ45$bH}t}1J&!ze=-fci2EC)7GeExB31BNv zdf#&DhbRJt4&8uc%%*-=YOsj(U(hGcKJ)Zy-s@l=$<-2hC!%+{A_802#_4Ge2TMMo z4$|i7k+>|6e?i21eP-~7Sv$?7kZg_`M~;cDPdxX8XEal=SmtuNc)fu{c`G9LDHFo4 zp>Icsk4{wE{!Jqe^{^FkW%cE!u@U&0{+U?Cog4j7ed^l&Yy&Z~%Htnd{xP-up_k{5 z!HFU0bR}T^NM%B~nr6BS>h*@7MEbPl54}8JdbADELMG_vrKjtE-^#TPNf8sfpRCWt zTJGW$ulVvddYpn)de7>qp{JeMmkWmkkpzYIUuUG}sPMl9&w=B+_G z_F-4CPU>>!VJ~;rorgW!6dy~vd)4LUJ&`o?s@JyjY3!kkXYBUwjlHyYpN1ZLcUZQ8 z%A|L^GSw@}u%&l=wkez@u*k8O$}z=A?|4PGO%9@TV3WokX6>57GuXZ3jlJ}aPeTtK zIz#vMX6Ti#x3m^OtnF?Bxigj~keAL_&PfJFtnPk6Kk)2GZhHRMgbL2O6|GL-&F0uA zvAnynJ7ei(FP*VWLyz-zee9ewmWEzAW0^)CrtLbVb~-d(6FRk2JE^`;2W*UI)vTQ; zc3GNTEb-%V`(xGb}dzhm$_U6dH52vbp*3-y8D%bz5il336e*8O;ys#e+@?>@rmUI}o zLa{-b*M7W08tJ!|_T#hdzu?M1@63Y>dTHiC8hhx{HL=2`$n0@N=dzdf)**23KSDlBA@}<%md%1et#XXs~w>hD31DX&# zoih0Kuk)Z`!|N+v-p+>L=bap8UG%xpD+2;Q5&D6ljEiI|K|j(xHPAygLqRW(e%9of z1o4KZ_!vJq3}Sw5eYgl*{P3?@lv{f14;%7MTWa%%9^Z_mKd9D=eg@5qdNh5*WV1Aq z7fVnrm2)2bJxQ;IQx+}#gC)2O$Uv&+)UP%vCcyeOS035sn`775pLlMw@@?Y$Ysj=BZeq? z*4MXrewz~n;{m#85a9@|w5e_Bi0*g`)h!*p!6TM_%vkz(9L2<3&Kau4fZB`3a!j&z zT>K(hGpeKP>L+!Yhj=2zgih_o{dTRs^dZoJseR8SCsGXYL<-$!3wcX;)zbNCGiWBb z#WMcOQI2KVuDLA1bRcIF9D37=nNF~;1T-4Lv?33MFa#yqa=!g(?UO~iA)ZKKS~2+n zc0M~DTCrvm!&YbK7d`H2=%HhGL1&qF-2V%@;@q*^s<)v_dm4J^*ctkH*3S;AHj%pU zSO0$(NxMt#kKCJat{ap4W+fEZE0y{TzsUz*wT)BmCP6IgT z%;B&PkE$~m@M?#V{N1?TH%|@m3<@!c50ve^^m-km`UmMAL9)H5u|xRgErb1L0tL7F zg2<7)c!VzqXlSH@dM8h3tarur2p+$78u*i_T&N)=*!mM|zf;H^Ci=ojV2O#*9J}K1 z(_5b|fe1cXN?iEv+|e(n)IHV9%FbPuXFH6cb2pNu-_YoVkD^vFDIksbM7Ved+|z1@ z{`Bo=m}J|hc72$)Gxp}%a5osd#!Zg(Liz5~r?H3bUF!{`px2yw!Wg7))KDOw9z~$4 z>z<-uss0cgc1Lo}r`HHsc0PezX_r3PBuSbhMoyK6N(Qa*G)1!JAg7~tsO-_Fk;kr` z@>a^)4F_&4_d8Z^R3>9Y@TY9nZYO2;HmAIsFl#sKHs6$`Qr2n*JwKPvTH)Cyt$aLy zVxD(mcjYMQismg`eyw8osw%Gd_1jw}U&+-S*t&%lxk1&Kw(|7Jvft$j*3MT-3?V7z ziSrxdR|Sq^PCb&yZW-yIQFl0QF0)9g-Evo9ZfJ^@2|)l|+0pWk=%6&bXJK*~c^%S4 zDPEXlRoMaw0b}+_gkKRnN8tVFGj(a=j%;^*;iI1~S5SNl*5BP!%+)1F%>Z>8W*1)B z&hRNh-D>;ancGw&*)WA(o}sgikncsazC&j)IX&Z5kN%izq60)`*@vAd?tRsvWKxHP$h8oWACo!EzA!mtON^_uvpur7&_EIYTdP z4o$abi}T%Cg)0LnGx`en~s zJ=s178!@`sfUe;?O3RCg;C9i{xtlcd(3Nw$=)fwYj&mWeoV!UQ4?Q^}ADKfVUbP!# zM{+vzUe1YaS=wy#+z`*A5TkG=Tt5rZ$2EYaa$O=TZ>3qFLFj@mJIpeLs!}R`pRJ~& zUvAB>zGKc?vPH-jjYmZuEEVTX7>ziJ4}OkJ)iBCO@`Uu79GH<_$OJcwfK;8m6( zS8MDe{S?ztZtBn(zL2iUVh=sKae-z=Rfd3lqk|4cDZ^-93EZ}AEC>Bsc6AXX_y-Us zgA?DOGgylp)dgLffUcTqsfugWv(Q72uFc?pcA&zeNc5UNvg6swr!7mOPxg!s@e~R} zHg)A`Y74f($QNQd+5{|yQ4R0`E4kIRgT`$$iw8Es;(PN(K7MM z$!gvhGuLY8Waqb(TB|rTp@l!8_Z*dx7tc{8k$=d}eI16E#-#uH!w)ate)&nGH5sb* zp?mZz!OIJOcw1k;d_7+DAM-E6^wOx<|MtHNBVx(GGNO)|MfBdlU~4k4Tpg>nSv?t{ z(^EdO`-$3Ju%D!bx^r!w^Ox0zq!wJHlqmBMSyl5H6d8g%C#y2VO7DWY(T?Exlp1BT zOGT>ge99whKVy;i3ppEKOb)UFJ7nFBy)Zv(7B}+9L-Q$awn(YliJT#okC``68hJM3 z36AKXcjOwx`#kWEwb*dBG>CV6mWzunBbO^_#q#c6bp|;o7eH)qF8eyP6hSp3*J47f zToQU13@iL$bjM}irvXI~T&2qPJ>7>9tGnYZp!M2r^-2APOma|zTJ2jM9hH$p$e8If zjTPSAf#aK9S%8K2P_BID(ae^w z?AWBShfbZbcX!sSUfP|_BF_oDJ9slosdDg^Mjm=}c4m#-j(lb0SzngKLvXis<^t^F z#>;a3UJ(rh^=e-H|Br$uwBi{4*l3vQFZ-ZzPKxUBoJyu@px`G{HL<*V6aU3`KYiJE z-Q&u>Y`VEHmUlOFd31#B*7+{I=}Fe)GQN9Q;82IfGU_HjQx?)feNx%2ezWJgPVmx$ z!>(=oA zYhK&XrLl)j-G#m9X1(mCBiA(a(4iB{ex`h_AwBa*?>u8nM%q$fXg$_~&GU`0gM#l{ zQtTRfd1UEEopYEiGt*iYCT)*&+TqLcGbHS1Ie+%_=No*)Vlo}YUmDBB^p= z*WB@`T<3vzeHwh2t220HQgCFkbbZfH1UE}L?5z&>JNA6&*O8lpe+vH`>o%hzB~tc^ zz;WUEHAgmj=i-Vioy89)IJk$zGBmgeFIWSd3U(j#((|5+VWCt<*c&mC%Dk-l2p?r= z?Fgs{P?*`ba$COfYhYm`^_oyl7;hxqap+e9xCwW5m3jpKL>Y|>9*Os*9v}JgZ&Jw% zhU`TP-{jAbe)IL-`cQZorLXs7o_54;1)hze`+7I@+Shv;d+60&*!%TEIhG_>pjIV8W~6woOUDkqPqxLc+vC7W0#HqZbv;v ze$0+b=NjZB<-e)u{g%catGIjBZR5S_m2G?;dg#*iGUS9fg0x-TODpdd9si=~>10J_ zj1}D7N8ASPqKO4|O*<$&ZwO>2*Risg|fnoRKUReJq#W*TfSR4Vm_Y# zJbYWfefjwhKmX;Azy9*mmp}gar{DhRA6jlU$(mXoN?3jByltE->o0&2KzX^jR{T95&BHv)o6nFfp!dj9mAHH(jf*VKQgQ17{A-) zb^|?|lZGku|1$UH;hJ4lxvvfAxtm9h2!b2|H=-yawO8NlK#n0a5+GA6G(RPV8Yw}MaY{7=n zMg)1RPqm`$ny4q9?J?-sIuvm#Te!UjZOPaW_Z=-HniAx)rMx`-xT1`SoNc5iI6PanJw>wQ_^R7Lsbk?Ncb;q}QHeLUh-+Pl z1BIA9=pOK9d{^g;X4b+|E~j1U8`i>Fg+BG&y$Ox2)}E0|A!wA{XXM(=1Alx|#rajp zRkv{iH*0lz)L1FGJn#)%(uQqhp&$5~z_u=3m)&f>qS%YIar5lv>0y-C__#s4*U06D zB4$Fv3*Ym?_pTS-j_pLNqDPzkJZT(xeQ-Zt^(Ejvu^oa;R&0le54nsCK2p}K$>Oz4 z8V3k*Z(}ootL}TMVCaR%&(|J5Z_Bn*r@*T*5H*)?CT?NqOV2(g-xhVL_*r&m3lGe@ z#qOl_BV|6A^Zf>Q?ya+XMJ`);a@iznCe5>Z-+SlmD=yvJIqlG)!^gIE_U~PAZ2Mds zJI+1jvQzB}VqGht-@vsiko%^?D#SYt!#65dknb(EE3nu2h{(k&FO}35ZqLb#1dUm` zMFm4`xGJe0)?HX%*RY4E@zgBoJs5VcnR1rdu|8A3+bH_5lZIjzJ88PG;HyrFyeE%k z5X1sMS1=aSbNVUY1vh=w(TnXp%~)H)y~5}n#VXkv^@B7u&>|JU%^xV`MGNZFBd_IK z5KkHxdNaJMuyw5(#*Dtwo2QV6Dppg)MUSd;?NGEvt=2mE1j)qosJJ6*)G;ZKfOF7Rf2 zhYl+(scFq%0r#k)bjLPjnz9>Rr@an5kDcqSvt`^RNQ?MwGQ5%+g?9wIp|LyVXsgza z?zrx-$kSfkRKH=5K}%Q^xPIehQQI2ss@I_2KiQnIzy_%YeH;0>dpV_CTO+nnX;vm* z=obT2D-hGX=VoOYW%lLfX98O(OOrElb29?W6&C3mN2t%1H=i^0`psk}0HyYq|Jr^PIeC z!RR1~kI3A4r{3f z!&opFqv4c6Ue2=|O zVu3#2b!`Z%)r8pWU0)T_B*wHGxf#r5#ZU%GASER~Zc5@Z) zJG`;TV=;aPmAyzpOgW}!Pk7%L`JF~1BEN4=M`y2+sNl<13;@x6>qp*re$LyTIFut} zBAaTztU2<&f-IbY<+6X(E$N!+KmI%XThc3Aw7o$EN@LU0Mj8ZC_KlRhH@uQ&)h9YP zv`%KoiidFd)V@jsAI+x3MMTY}_4F}uP%S8pl!Y@%A(nl>{>rqxo zr-4U>1r7|@ZmglX9>05xp2KY6hnfYCZ81N6jvCz@;))F}&t8MxSr4gg^>&fcgq-~> zkZ@TR&(sNaXM4rwcFwH=o??g6jr#;o`c-cHgu5q7LV+XW?h%Bexf$&RnWW3zz)yG} zRs%;MC5Zz~2H)`hsZ|zF4Qw}VldhsYG!>Ex9d~;~)s!s_h+$28$IwLzXY$GB6hpjI z)U_?!UROME$G7b%S(GqVY#-;OovW5-cz0Dp^jlJF!)ndC(zcF`FWg&o=$GiGWXQ(x zw%0(i&^KDZBuh_w7V8FSB&{0^{kmz4+Nl-7HYpQ7-3}FmI%ZBZXC@`*9u7XE)yx=% zz4zsS^#_;v&CpKrNZPx%9DbL#~<$bn2!4t+Dc6V`52CW z?9kRNlEedH;ztWiQ+Uhum!dg^gZS6qsgs1nh>4#CY_;%93{wq1%A(Z8Hob3jt@B43 z&Z7*+&MgZ)mmh6sopws1+R>vuMM`wiGQObBukh_=s@G_`Ypxh_wsINud27_IIR?Z6 zRZziO+5oO{c)d>0eFBcCJ2UkfsGgwrXdw>q%41WY>xOPddRi}9QaGJ9iEH)Xr0c)o zP2#IAdrEIA=L!S1=~*|ugv8OHk|e8lske=_v3_W)rwETo&!H5=e6$Up%pKU2|MwN@ z{ZJgHgcI5D0_FD~L}w9{Bv_7(b$; z>jKXO(7v7pJY4}wJJH^_bm#rpZB_SDReMU?oq`;?!%5JdORraM7-F)SWOc6wCPfR& z^a|yr`?$bQYuJc(fKR*^&Gb|K68IIVP3=i-NK=i}Mx-8!^@{C~3PC(W`*k@Cp@Ta- z9*ZoXEwAT0)V9WZW-)eBfgHC7rZWn-zC3>PuEG`cvhiJWhg9b*!y}o3;Z@9|lmW$e z$!SqhVmK$-xj$ae@~TBi>(V&*En%JHFLm;}zT9ppW~vz;`{YA;@Lzm0)@ztB9n`Mt zB$ony+Luzq>_Xcg{LTj-CuUfmD3^y`Nvs$zY?x0I8afS;liCg`SO?=pT2K~t9(w8A zC!bGMPoG7hQg&$UbTP(~FHe|HrPjiab7w;nc+nOhC|(-%ocys5r?0ShKDQuhy+-ey zkY^yvL+w}r9*uf!eNc6eANz2@?s5EHsl0lPa3K}WKqrgF%BdH|D_H@c^y{SEqxPiZ|z^g*e+_WdFOERIcyLLqQ zH8RkyaxRa!fxn@UFRe6n?I?n@h-3Dg7==Ae88yt){EDw>XA8ee=$$ZVqT;rRibupl zIdh1oc|S*ZSe_uqQ`519-?fodYbuv>pEKLgWEExh9D7H6vrhS)jTR@|dRn)svKRf< z`?{94@_SDOyQhZHYOq1uKD5|ME4Zn3)ZuP?uI9Nfycyonu0at}k?fFqciKHKzJ5nt ztEgjcI7wxEA3x2Oey47WupqvDrXa&lf|!cy56nUKG8Amx_mW;ErM&Hqk*z`_Ta0oQ z>RwaOX1!OqGVa{Ea!Nqgw(NV^A%P3yoZ)-a1EHo6@v+loyJu82;6~!5XNj-(l=0w{ z8{rKlJg6BYH8cHu=~+hRpQ~}@eC5p8E+6}znpH!bvmATIHc>>6cI@-1FLzr{{nA!_ zUkpFf?-#>&+VZq9@jR2D;E&n z3;R4}v2`7^SnpKTVilWp*Hy3R;pJ-;>oiBF zorMZwE9jaFetaDfPP8{}N@tvk|MeR2cR{BmrCRlfR!4@eSf?$*L7)7*8@d_RC94a% z)-V&xF3=GuVAppvt0zC-d5hJy_&ctSJ`BEXW}?xTtBQ01kVX$m#X1S~#M%~sU#LhB zQ#4})6_M@p)2Gpgd*5^M!lf$49y-g>Ey(9WHKh!Eyc+b8XQx?AyXzUPvgO}1_MYlA z)EiknNk{gQ7wf|X^Esk*LO0{O1v)>`G}Qu~7^jTs=-f6pOLZlQT1`iS5h`9cQLRa4 zI3_)1%O>7%#T?3)%u+d4&ex0v89@zVBPdFxrcBz{CF-F%GI7VJ+1KUUM_aSA#Y9d= zhLXjgxMNqPK+|s!2f{ms>LI_~NOjY8l$Yd*_K*wP;{xwvZ_j zu+Oz=kr5ibZh>plPW{B%mVRH5&+obzD5*se+Uj2Hw)T6*o~yIj>Y>#^+|bQ%Zh=16 zCl}~}>yvKe_Amv`JP~Urm4r%dsXqFcv-eBVpj?gOdRKG~F(!{zBV*2J77mGV*B9{kJH_w|c!o&Ecyg&zVftjyo2}Q3 zp2bZJ3^6)0o4%12&JZqdPZf)k0B@_nYd0rJ3uHnm=CYd;L7<+zuO+mFa1yaP3wB?% z1{GB6(5C_wb7G7O!ztTtkp6F2Ijy;|F5Hx`Y8Dld&A3~6W@MTBv!EA@L_$Ck^i~5y zG$0w2;d|7e>Tn~%8M~8cu|@@+VqC*S1%p?~*VTl$6)W57(7x_uVp>}YK419dq2t0! z9VGZe=e+S|TnC3X%>^!|=dCBw32%DejHE3GUt{JPnlVIin4}fvW|jb%B+9e2;p3I% zr&o?+?+kEkJ^1C&=Kv=k`p}o&{mz-eU9BCJOpVl<9#MpwrecRA`B%haSIxnlzetVm zvYxs*zFC61+48}IJDnBw~9mftHfD;Ub*We6G9%>J!E8S3_@TOtHLcfvy|SHsSj2lcRS- zHyf~8UDaXbG%KV@U}@Y!wjsc<_!`IV+ z?qWP05gE}LC^y*IogKR3{4LC@^%Rj04X{v&()(#t8emsF_jUZzJKohyb*wE0LY zZ$dxvymWrOD|<;rHhq5Wvgsqgc3#sr_Ld3?7e$RSOn&XM&ky|Eft*orM*&NPIOD== z6$^vV?JVu6wFT0$*F-cG+>k{}QduA02=y8h`qHSNObNfPVMY|OCmI*p{}eQ`)fn_{ z=~&3kdu4;CB#%R^73dM}Wbk_C5dMp1_~VTVFM2b`YhX+ZeFOajF~8&JTWEG;xMROG zD!ky$2(O`xF>p2V8{g2JCEg{U3n=C~<#SH07o3@S<}+~8c)jp5@W@F#9U9l16nzH| za=q;prk{{Ue%bxN?UEhLVPuMNbE@1(*@*s(vYXIGS9`{p%`|J)Q_y*>z%Bfxn(%2| zhbmctD_82ysV(afac$PDr;y|Ug^R`4W&5YV!a~#^(p|3y`KW)2sx#vU0lo3v}{XWivExaC3U+0#DBQv72?f zj6DZ-+3b-6J3n+Yu*=YMV3(l>4($BM&A?8STBMwoB(7#^P8{>VSDlKL^QxO6-GY3+ z>gw0PIf;GM{n*WNUB;fT`fT;cH{FfgUOSPI=bJ98i+L7$Qqp(a?WGga`q17z_1yKc zRY=ee)UHCmY>8Ov)c&BwY`yH2_;kP@h+G+-siam6-A)AauoLlxSJ_KBsS(vw;$I*} zorVReQ&tenBwQQ1PAS{_h6V9rCVJko5tWWP%K;_28Q zD0_>8qM}VjyQbTqe&Y)4%3X1FElru$)0MF|PiR7xSpxhV6f4aM^C4*Aa0TadgBloX zunWIK=84|Ab>S&zA>%e|S9GQlbT~)|C{z?Nx(#YG+t>$E_tC?orvhiVdPzU@9CDO8 zSwR5v1oexS!Y#Es&i>}+!dHM##VVERyk%N@^8}SVOnt(Yrx_{YVeBi9d}rA>)`~Uu z>WK`#WO-zV&qu>CfoC3Xqnzp$rk{L0wr_alo6^yTw)amoM06Fh0VUisLLJ5`q~Tst zq2J`bl~v&7?Y$){@)PUEM>aBTuB#5qtZ`^GH)|G8@UXYc5tb|vt&zuR zIO-$wp(XCW?Sn?Oz#l}ibHO)jc5>`I>7{06=*{TfYtazg`hIgQnRTXbdEr}6BNm}` z%iGQI&2r<3Z&I8aI;gJ|;&=jEd;dfYgSJGKI)k6a<_L5{gV(U2<8`-}Pl!pb5%4LW zp>)AuyqdA0^BJGGTVpSus3p3u%uU&hrUjWJ7%8ge5MC>60e!lP2Lx2s9 ze!lM|rORsA9HDsKGl!%1_<4H=MZWS&d^2D9;PH)@ZDg;Z$hSUMF!HSrUcvBQdNZ;k zm}OF8TVtZE2c|gzt(3Ngh*o2@Ii}T$Lq8X9e0AzIJ18dLi>IG~2lw<&llq@?b60bmG)Kl zdU(oF7Ia*>#=u3IZ`s(Ox4l5_RC`pL4Ngbe*u6s&_6iD}a*cv(OhztVMO&?h)FsNi(#j9E=mqE9bzdZdoN--969d?O!0=-AQ z71$E4j1Ap=-A!_xHmV_G2J2u_DVM}q(TjzkNwH|2ZZf);dC;5T9I_B8hl6rM9z#z; zz1Vu2vB0hf+>3KcI5umRP}E2j;twi@;>4?4+V5e_PVUBuXNb>Ht%4(I+;#-%6Lux* zl=L!mjg2(nN;bzEaR@s#9#O9~D=26}NZzMnNTB21YX*3vf}s$1Xv4vuDpp9X?Xn8X zVfi&%C}!}AVi9Uh;M04rh0z-vmRS+oWZUx`?N*&bx3#f1QLslatx8SLoKF7i@&do` z-f@vNYbfYEHYt0V;yR^unhB2`*ts?lH1+}t_NgZ1;+3LQn}IVhQLvLF+VeiwES$j2 zkWRyYQfka`O)gZ$jca(|oMoyt%O_^!iDE$Rnvv7nC5wrh#yIJu_U?(fV8ix>vC#;q zRBfnbqti>|5H)f4#AOZ+@>O|{9LYAXWy6xT?t(yLf$@1GzQ zVvCxJ@ie4R;;v`(k-c5x+ccw)%`iJz5H4=2(@DmtOA8kw*Xg|Cy!OV4Y;oOllnxe) z2fpXcuJfLoMLLxumATFLykhXbfn!CHjxo8IFPnmRuQD%;A?viy;1$)VJe|=;zUM+u zBwu^VboR1|Yz@uDYntm?J(~uZyJRLP!)E&yui45p{Ib3V+o5(GR zoWSOmMCb(eB*2^P*G!tH0X>Zf&7}Fr1RE!7zFoI&VjdC6w0WwP1yhlsY4dLAX6rSr zQW2Yw%$@dgTk*;h|B7A6ba1pP-NGiM73C;OD?&9MIm$AWD+p#2mk=stMI(|ZFf^Bt zdVIZGISBKN_}bu^3+Rr|O0*SxQZ=3<&q@rtZNJ+(ayW*aOz=#CvSs4r5DtPL zd+$h`h{4vu&(q(tzmv*EuMxS(V?tbcVp~Ti4m1|{k`%UwltHb!t)SSKXgLiqFA#jF zC}Ko&c`1Q+D%-U7x`~W@nuHYYS|k5~Cn4RqO-fw}myVVzLy!zWa_L#9*0P?WVnue* zhwDU58q~fNmKV%()b+a8;#bW_T_d4Iy*aJA6}77Ab$8p`tkNlU<7B5EL?e_qRYUgNj(H4)6K`-3Ehn6GIShTUDBz{(5c{XQKEWw zCvr2GE2%#BG$3Zrj^K8yk)Y6?9d!ebxB&@@<>FeV-#WbDG7bf+j8R{{XTCowr;1Rf zq37N>CV~*=vEWP2pod+dqhB*2O9Y?b2d-2N-lxrs;xh0O`7&0hEWmXG#x~}o?%V{- zgx@-oBQGrF7Fcvh)XgTRFb(){yxA1Lx{=#)+#I=!IZ8n?M>FEtY;u3lifCqf(p?gL zEqoCpUCSz@6y|X2t;A=$5ovCk?p4=ru1GT$=a+lk-p$3jri`WYiE&bM@jzE*itO+L zUG9E^GG!}}&jG9(x>=daRxgAbt4n}J-0uGWLL+~)%?1|3TC z8%xnwKtDO;W*}EnlI&@^ER&wve9h!g^R-}A^t6=U>0 z>h|`C41BriGw{ea-Rs@$;}+br4xbowI_kj(o1KT<4CAJB zv|1co#pq9^NH*?JbG7T7a%?HG8Sk3(r3cFF`CY5n4pT8D7WrL+QQ*@nQ8r>>S8A%k z##y%_(oNZxOM_v8YS&L4>;v*kd=>94r&BJcv>8ul#o8YIgHLLVg zlGbK5bm-1HX7@>wwY6E3Q+YzCJ_}gnQy<#TpTw~@>vGxCOO;p%cz zk)|1O_Ujq(t-V4bd-^P`ojrYADLRbKXs=_kw_USCVm|RXh|ecJa1if5@3d7cPe=IL z!=PTCxE`fxm^YE1xW-wU!-qMLFK$i?&c&&TEGzAXZpU=9(WeZC5%CFl;C7oEw;j*T zxR-lABM*Gf-M~)>=JuE67W|N6d;h7YZtWeq@bLMM+d`xEgotN9MBy#I^m}&pk6U^Y z`AJ!C5#-$L&k+L}w@8}3qTThBfM6LjLdK{pgVlY3o?#bnWL6I*$$>8^WJ<~d9W4Ou zVUTup2TP?_Pjd_zD)^C`u2aHRYV0mXSN$&?g1|;^b}7H}<_bxcLeQr&Kw;*TkA)o5-*Hn00M823cK=~}Fr_mp35_6IbZ&xD> zPy@dsGOU>?(w5{}y)F5IaECszvXl<@1j@aq8e+?{*T^8W9cU|>nT(i9#U*~jwQH2xk$dZ?8R_Z|3{ThMtijyrSs9Ic3Fr0a!|!eItr2Udk6SWzx7>W@ zOrZ2dzxd8k16!*d&NWk2Cp>u-{Dt^Wo{y1g>$H~y^&@Wrsvz341Q(TvhjFZ)MT2}S zG0!~Bd}rUo)@d)bkAvT$fR>k@RmuYdfQ}!lpfqH99!{&9F`l?e{kEc6R?Yw%!9Rux zJ8EKtIpJ(R1v%BOPqtd&ixJ;toA6sI+vVy@ zRWqdLNoJ#AghsJ_;FB-(if=u|3`}WQACFEttJoGIy0ju-BNse)eG&NZtNX#;E!P;a zt=TRipq{G#a`-s}?doa&z;uWy6w{fWqcp)eVM(4&sLKR20#22uCMZppV-3f z?dKr&W^_cT~)Y{MreA#h2&WuhDR)Q#ES%47jQS)X*NJAfj^i&<7W`2n~>SW{><-)r<_^@Ak}|t@K`7niW%w+d$s$5f=&_<9a8u)~LCcBab_z z{kfc{<~9Am;N`r=8{}eABh1TI&*i*q_sDsjAG%r26LiLkdDpc-oco@;7LkKIr^qiW z^(?Eac++#lQ(DJ6uOe=tY(DZsr(%wmqp(KJz0p{XYFGLgc;|D3r-yEgSHPbGT$kE! zyGF{LSbj`pycs&0QB8XELPI|Z%iCN$==r!fTGUdNfSANOWi&H8X3fVgoN~_8xarW3 z+4bzDQa#de^$luRNVhK?Y9?>lQ^og@xhW*I&K9*T=-$9d&^X#cMP&72fs+i)Oi?)l z5lqi2dFgptwx>r^^IJsC&|AlvQMjiH^-CtOH>WhPijbF6`ko4Q?-06fZE^PoV$J}0 zMdXZ%78Wa=Af@sC1wZ=k&K)AYruCs+@>`a}pUYXX$=CkYl`Zm44+xq9)^6b^Niz%X zIjgz&e&AGuJN)VF7kK<#mvELX@s92FMN|GovrU)CT0TR>`c2aRk){q8Qtt0S5@)W_pCY^P{uo#@#l9g;}0F=0o@nj zcDBm<0zP}Y+4!-&ojbA9u&H7C<S@A_-GhS9ZrL{yjJ`IM>7J1JRPS>+sdWmm3#IK`n;=-Z1Ob)1f`B6fm1k}bqG&r(5jopmpGWOh*$k-#7>Dk?^@`E8H5fixv= z#ctc~wl3^uNLPw>AR_T(dCd^_aFK(*Z%!v~hIAQuF3K}FF5W@Rs&ulsb1z+I%f4%A z4Sn{7Y@{7sD&&Ta=8D~l=^@AP5IRoQ`&MeFIP;XtdC#H{k@*(%p{Q6m1fV(&u<^Lh zCq73tl1ktYL=I})C*Ca1W!$;Pdrz6wF z+|*U^uzR-*ceeUFG#Um(kvoD;gya!JQOSt(XH=3dr01o#h2S+E zO2aDKUXs3&JdEu1y_u}713v>t=WEh3rYFfLLD1kXRcR|Xa5J{cz`6AUiW#%TnIC~$ z8jfvnlEBU2ZU)}s?XhzP4z~{Fqj2*=O5^+nw?jKLj%p?d8>mGU#dy|OlDTu(IRR}G zk6JWC_t$Kofm_cTgo=*BMRsv2*0I|qwvY1$^^FA*U9F@qxFC{ z13FlPMUBu4H!kZ-Ir*=~$-Fl6OHZda`s&(D2he~K~r^rS}yOR^naFkRH zlk3xh`Dh1zq7pjStTXjtKJJc$u;CKv!}160zpVLdHQ%)e#&OtBU0$r z7~r*Zn$w}Ep6Z1(KO}S$I;i*3P1bCun1QDkj%R&F9{7pl#(N)kJFLs83^u1y#Y&ES z{69-u(XbzI*Ee&m4Pj==YXwDwAhih2do4;*xe;!usXyK%JS+O$)$yR(;4R7hKm z2;J101mmsO$Dtn;?9s7{dGCQ=;qq#i_00%R`hBT6Gx_|V zSHts_k~m>VVt(Z%ch%zvL%;HcGpAX%mtsafC$brO=H)F@IdLB9$2%S0_D0SY^0Qi@`d#2S-Tb5+lg=G?!()=DX7$u??Sx+{=j@( z$y{u!(-62%BlzxGhP|93se3W`PGq}}EiH(Z_b`!4zGr307>BfH?rqMkSxKQO0=#^7b&bXdL_>+qKk;>G>~$0h=Gg9#j=U6W z^}eTQFYb}&dG|Ks?QIk&)nR2^{B-2Y0=AXD4SeKNWan$f+q)=Oy3!UX{N*FRG$sQd zdBFS9IeQm{3bo?iWR_h`EvrN3Gd9o8OTHmRF}%E{XNX-n^7Nmn)@yoZR9qYU%yZ#O z7yZUwL{TDES+R&BpZX=2jeY8&(*xhJYOlkTmi3W$sbL!}@Ja0lx|xyRx#aPjTeLg6 z%ohCAh&};6EX!W8PH^kHMGWnA6j{?t(apdq$YL)F^H z`HErbG$J0@%|k+SZ&pN}(R$^iYgcgcHBKX1eMQq|lwd&M33<>nBJGgA>Fp&HB489c z_wx%cN|uHzBERr5J%2gIX%OPH48PRy=67zX;RR0R;hnnPIdUDY2pQc>735qtlVYjIhWON5mLp$dsR-+V$tXvW?#A$8GGb6-V5E{LXpj$ z-}r3y$ZxzGxf$4La7ybmA=~X!3X2@OSckMJp(#XbQKX6;HG1DoU$cK=1`ZDe?VE{n zB4sBU@Ui9al3sJd(&rt9*>NWhj*@X~|(2zC3vxb1{aS zlc-%ymJbPq<=Q&)i2rD%sA$$P*>)JdDN$!%PqLK6frTA8jG9+K?2{HgrtUj~Wr>Bv zCfR8BeKLLJ+oagr3n;Rq6A7uHpsme2+O)*}XqvO(dU6@M)76>rT!zl2pVXeRmk;`| zpQM{N13Ja5EiCGM;%oGKwQowiyRavoP~OX@?@KeLt2IVI=Cb(uhQ>Usjo`kXMRr>;iQwxoL>`KjaVcNo8O z8Q(12N%BXMXJ|OHV~Hg!lD}c1j!1VL!|6gKhtI8dk&JtLAw?n;Gh<5qe%5!`5s}oeD0OpR^e{^G*jWE-t_iP3h2aL zk8gu)OD;!%uMJz={G<}mg@Zodc&D$k13XQ`69i2*r&5P_Eh3+(pb^yOB(pBMRgZq1 zaoQ77yaDusk`RxMjA}O9`1)pySG&mxjX$)r_fph^a)|o^en8l}7A1o^E#UhhY8I~= z1~cLwt@hsDOOeBRt*0QPNllsp3d%qUC+f(cSk-V$QFL{bF?hL*lP}e)p0%mj_#`lph_=X}Sl&j9B1lw@MA?nR|j3h)3K0*F%n1h0!D=eo$>Du88kS``ygN_%;}2s zy@I}I9E{wYp>pFX+}MjL=*Y2#PiK5O^GlgJF6oLh@5^Nvi!qF@p?`Q7iejkkA#jI~ zZ%b@TtXJaxqFFsxYav`wu=I4I?d23A8mXL}YgQTll)y(rKNqdM>TbQgo?^j{7>bU- zf?bX1HXQRPvu~WI-i+unbY<{N6=vkR{>>0h212e5s-3fFV{fI%DhOpiG7R4=!|>%m zCf~#~x~lWwCy#Z!arRz{Sqgw=1VP<#5d=EWu(84!{v-u3dV4iR;++uf=i-e9W)%$u zF5XbLa!S1QEX^~XIV~MZtV&pxymA#gSt^P665EzdP|<3!PFxai{h9?8#IP-_gIu?% zkUN549lCJguGHGgDO8Ui7$?hdoz^R=UKyE8@138p_fpiHYy?i0%TDeJi@uM1+385t z<8I>^hVSjA6g7)-2TD|gwuwzHtM^zvIJdUl^$Zapxo`NneBc*eEgfk#@kA$<`sx<; zHi`^ASLyOy4_&3xncsD2^NT~`F#9wuwIB~%rSk(ft8~)6s3}e@ZyQ52S|c2}D9_u* z?is#3l#4YRDd@Tv=-BDHQ>}zpNR^WJj`{`i7coV>fbTr=Ya+S{dcN*y84dDxp|86i zyIHA|vX9I@UH1if;Op)NZf~K;z;is8p$CrV{K!wJ)9o+IEhyr}_Wn~(-P${J;oG$mHAGdT~_(@rB5%k^s&zUY%Q&^DSwmZ^6%H2sWs)Fv+AqqK^ z8zXM@UAfn^L%VbF!HciB^zfkzcP>3}^UC0`__l%r^_kduQgt8Ly4pHo3 zV_D%U<|^b9a9_>SR(fAd&S_7psHuI@xTldX_2Y0RKN*YLI`1u%M4aa~%`M5| zwVJR`3M@I}aLWkoZ1 z9!?a4w3cxK&$0(jK(yvgs`3M!Ubd&NWh=Z(3`{jX8o0^+^saf#`JRGUybU%}SIuH^auRd(*M{{KB%ic{r1;js~VjM!{Bg&z`PF`m%t-nq3`Z znQSZDSTlFk+cxo(+)9A9w7V$xu=9FW8)%_LnmS_8j8Y-cH#U2*3i|ZAF?Hh_y0KN= zY1?zsdC;_s7Pp{{Wg5iosPm8G#-Oh{@%gg*hU{!jcQLP}64djSYa3yP-ZOWI-f>VD z?`-7SdhTVaZewLUx|9=YBv3~hx}8|~QC)oJ93!{&+*RdjDSy!SLL&w3KR$wv7;wXP zebs?aF5W#!Y|FW;0MZp$9RUei_-x-Lcqg>!aC-scxtXxy2XDr6$?o{VUW=R9H9lkS zY3~H&=1qJRFG~ymZA7wVL5+sJ%=xnG7%*v-F8dIVn>V?5u{QMOq34l+8}P+ZE192P z;H#reGqd9$v|Z2_4(QbWm_BfjRv4Qy;AicGj)?yyFC(ff*!*$WyyNq1b$3%U`$T~oitYETAsb33RjTN(4BQUWUXxIjM34>V*?kod)Yk~ zr#btZt5&VEdnq>V`nX2aJ0q@H4n1@Q=?LXRj{v+h1U8kuuLM6AZF~z`23yI!rS~Yq z_e$GEL7xqeP%4#+pwQiBHwVmGs*wfhddgvGU$hn6T&{pBbpczCbCuH7f*a6tvkv@> zJQyZf7_rg%}lSr)^}s?wEX2hkaEHpR-pNOKGqL+?PO>uuhAK z@&K(;Ii{$iL0?igC-xI4D`#JE>E6z1hYlS+wzac=?}B67=Vt73=PYeru=n&L*@Y4g z`<%Ktp`XCTF`&;;d^Y=rqxe-P{^XFGv782GM@4V2hqRlc#P~g(8xB^$Xd#mz8wz?>@DbUztXhsbOxbuxYzAAyT@+kl?I_2RsDm9gl~Nk$ z7eyV|^sX73!B%mnG}99B!nuw@W*(;OC|l8$ z*_4}K8P?>kvzLNRmC*yg$Klm5Z8Chu%px|PGkUMAuSg??@o}sOps8HNAz%&Hf}V9; z#pXi0RmPt(xVGADJ=v?R;SQgKUaKfI6MvSL^Qdiw9nn0Lt4*DI`>Ct6s>C-rKiC@X z^CT?=J0>Y9O3zERJAP91;n2^4t#^o;%^TLK2RqavDANdl(SKUNV}4DeL^J)=iL880 ziNTg|&(N7QhBn(BhfV=&jHhdyB3r-J&EQT;WqUPU3F<``m(=B;uEb{P;;SzFeB_}M z`WS_SE#RKfXU2F&zhTDsO7zL{Aa|DMZ2|X+>}60at27=TU#Vh)EKrBjuj9qG$4&2} z6%Hh7#v`B6_ei};V<4kf8LQh^nRcz^ozX33G_YrKUGB$;aW-&RB4_f>0XtEr9LRG{ zlaWWxX}rkSNVsQ0B|)qWn>f zk=hO2Y`-qh=OVR+X?5TuKW%R0CZVndX+ertvz11%4q3X~P>vxXXN%P^!qfF@wuIlXLd=yo7C+dQvQZYa%b-{yu_DX%iR9yT{{JC2)y zH)x!t1*6&KEme%o4GOFReo`j4_1YD@u+?U}X4Dsg&30Y$BSKg;av4#%HDs&<7iPh7{1-&7#C((1|VfJe%<^k~@*wpe>jZH5KPn0j(_ z2)9$6mBS0{=mei~g^NmQi?wSJ(a6bfYW9<$0xIK6)>u2GyUnRQuC%_qold^K9K)}J zt=Fy*&<4FPHnUKZWGIYpsn)WJNlWCz9sLdsVnO$wv!1gU6&_fw!#G#i@~S$XiY+w-m%9eBP>pFhEGq;EMP;TN8gX$4)KU^8amO7)91*upCP)_XMM(Q)j72P23x=$l`41Lz$? zQiCnwo~LDMhDFeLL9w5HETns-Jmco7)GLpEy7}Ij5nIC@%_2m6q})UTPlKwWC(CZ4 z?S|ERMbNTC#W2+=r>lVU1jsh+xe!y2V1*c z>ywjK7Z&G`=ffV^;>~W=vuU*VFphBIhSf`!sv%kuw|~z}qwo%9U?GtYaX_MwoX}c?y})HqHlrjevXAG3k$r6Hy&B!&-R^ zWv|dd9sIhEb=sXn)_Jf++#4zvD&q*Q*w@;qjD}T;bLuW=5l@;2RIw^gLSyT=HyQ+H zmO$Q(YG$ft5#^EMQMisrELM0Y@J`W(!B%ol6$?G{>8|7QISVbSCk@jxeI2xtG5GX- z23yH}fv(0R6Lkx8kq^6=RSd@D5HfRwH*194Tl`$|b}bWADr7W;@|wUotlXV9g-621 zc;@N^Ua?J0bw7jG?eDvdQBTac7VN$98c$qnE4kP6LnrhNQGI^tf}`(beNWl8vnzK* z^_(J{n?gG2xN+c9yG99pyZ|ScZ4vMzvGLq`Grm)qHo>3cy9GY+-PlJx`u>#87Im-C zt*7 z7fDPMG=6yND@G`X6!ruTbAa!pl|!epOrOEe_kIB%``-Juk`0_?3;SHOR%X{~nqn?m z2ak1patJh^4d@5~5YbeLnn9kF;@eu)+{oMvvKr?w0kudAJRljG$()>qHcjeO2Il0j zgpeU=PmD+CVnHXyD`-vS{^XL^L?)#;Rk;VEH48eF4D`JgLP`S_tA%kHnUI3neS5VB zf))#VzU~tpMOII@Jun@G%kF&O*6f^^PrOPt8WUblJkx`0nGRXF^gB9x?SzVTDs(Kj zUHdk~N{W5k%ZgS-vwY`0!lmbXSom?nu9KM(3OP!rnEm+VFcxzTrK)h(wfuD)CB}()o?1k9KSvgC|(y?b~u(wc1kDK+f$KAcQi!nqrCHM@}k;jH$QT6Jx_bS|}N z$mjgW-mcrRVv1*zOO6l>lY`uSl32cF!m16+N2oDODHri*+`*UvVLf0Wb|TR z1#HhwWDI9d-rhhlD_zy>T07hoWNH2Fk@tOR_@ESEKWxTas{((6e-m%#QXR3I;~m zxuZ(`G&H)j;e!v2QmA*-=~)J8UwD!^qS;)!L)elykEk~EsCe7%wvL!qTV+gVM;l6v z;;A#I3$HeO;Km$BzU0)eXPk}pCW?IIbNymD@_{QiZr05RW!AE~de6*+=fI{yB%y_W z7C5kR${vmOGKy*jo;x#@cF<7DsN;5K+`#RKE(6aI9l#6t)uB5xZs>MAH$z|IxePsY zJm=cMF%qL2*SsWzQU5(7m)sfTvQ(~#+n8X!!N;i9u4e;%t(XRaO$qr#%fZF0uC$K> zC76iJi&UyBo86Yb984>zZ=2}hkAu2oc3@1i1T?8Q3nePmRn(mXpsyH^cFaeQ_A&}2 z$l=s69ZJ1Y6T*o|O^KQXgW5_Gj&+l5UpfO?dmlwZak__y2R$8?FJ5&-T#4#XmO>pP zDtKZWAG=a*7xUn2Koam&Yf=xI>TIVj#lYBfAG1cSTVHeW9YL+VjG|_cK)1ds*e6&^ z=WV+6(yuN8ZkAKE4)Ep3y?21O*HJ8&p0adF(|Wn|Oi|QDym`S4-q)BK?PU}VQH^$Q zuxwl!2nd4kA!t)Jp?x<79h60v9~Bgj;mruIfk@x*ASAm>?T98_Lpqb}9&d|gB3uF8 z7vkB=C^Gc?&^0`G6@>cO51kvk8Q?A0=lh<`E*0Of_uUQMjP5e@iY3WO4P!p>thV8? z+t}`zRg)Z4&4NE4`iwvFq34D7%D;^3 zmQlc|BkRqsUJ|bjJ=xH%-rJP3w^5{G9VxF~c&O#9&gJfpY#9vx!n@n>rSeoVWu##5#nZP5_TaNL|E?@xTt*&>>|i?xcmCl2ro(mu>|T_MCp+d(8`Lqb}?D zqSf!Fj1KT#rr}6!#(+=Vp5xvqs_9V105-%sZavq4s!mw+6*audlg<;b8|Wb$u{~6e z9aAK5ZA&(*BJ3JG&?$UsZzIii4|W(g4U6U$>^yz2>!X=|s#_Pny_%!Ft0J4dBA2b< zDP`zv(58GHj%Av1TCO~QdHNOhrV98LocMNI(jOfqd&;Z`UlUn88=roQ)kz!$RTh zIEKw@N}u|Twyju}XEjkxu_wnk%e^PWE8|VlOfJtmAU>{JQh~-HLkGE8Q{(?j7>BV- zIZmnm5n7RH_Zd6>zM$5*V8;PALp-6oxl8BL>L1svr=VCV%~M4*H5q`a_ys?zijV$r zwBT+=?kr>2yD3C0mHLfdc?sIqnieG#*0UGZ>eMhA!n?*3->unC0ik{n8%OIIU|>~z z4B{~`M}#8?XZh)s2fj0zw^vk@gg7nT>+I>J^(ehFCG%lDedScM9oKECn6Rf@78S(h z+=njOSI&fP&5{a+33^5<;bM@`bqvzT2XF^M=5x!LcP4aeR#Z^ADj1c_uD%ulhaz5N zSMNXaW?-ix?O2k*aKxLmn}p0J@h7!Dg6(gQE+M?U!Jjdy1A_L_>Nm_g~1HH1WXWOCF$q6hZGI8OZb zvWiw*YvyippR%oBqEh;b-KV5%U8`T^X;|6oDpbGdgcsj8(9V~R{~$URHBB}aMT_vK zNqM!ayh_d^6*|NBHEDE?^FDL#+XCG3fuT9~omUuTT(hu3)00foi*v8FZ6aQ`;wFXW z+;jT*%hR^8cUB}>3>55_yAS$_b{?5?ue*=ybJX(ewH0(L33lb_r-_4xvrscx7Txo? z)SO3qYXx!rI3fkg3@Jy4me>U1%D+UyB7!@a(m1IJ@ zEeF`8?`dPi(?-eQz5EP&X$9>nWI)D+ji-pWCg|f8MBg`DStEn@)$*uN7%!dd&6LFg zUGk;{V>!X0yLU5<_Qne3v*KZHi|#W+!AZrlmsMmL zC|!7}IFf-X5gCZwrdB<}sr)wD>nhr+fun%IN#{EXe_8oWY2G-5qi4)%okCkTezT;f z$(n%}Q27mm;|u;YT^LW{c6#UCnn-I_R$yZhZi#Ig3c8Ew739WSusu0E=W2277c+c) zw)#}V9vA45OL=~yo6+4Yc$iAqwCS?qpPu}&2}eJj?z`NbQ`~m6cUELyFLjibZsqLj zE6~^RR?+F1^X{HhmTH{%Eclmld46k}Gf2ZlBi-6))w`U|_<~w{S4BpigIa{(7^fC5 zD{}FsaL&-$n<^IUb4CbBSGYxS)@-UEjH}dyoZE72+GUK2 zrflf892G04DvrIWqQv7BNf>5oOywEM=#iawh|=CwQTB+vX_#n!?9%lY^E$E`6bIia zX$+;*aQIroq=PRtD7|+1;D>(g@b*qgV>*l$_8ja9MWGhhD{bG0taiU(uZ&qSok{oOKP(+KVc(tIs)2 zKJt-s8m_xDzO&a{Ql*y~TJXr$lf(nv ztk*5jXVOhJdhFQ7ZFaj8J0JK|v?A%v*i+FeD)+(-{RCa({bjj@erK`0|I|~r_6}Wm z`25FhaWGDZeD+hm+Tu&UXJ`MorP4k>DeJAIkNo9-&PS%K()m&;NE&R=n z{gy==w9!Yrb2qWfe|?VBU0v{hfPU!EZWL@zr}cUmd|yN5?=dz?Lpy*YWqGs)$k@^F1aUY$I^Y z*n373rJdU}aJOOa_E4Jw_V^Vv`;njEPtU&M(!HJ24jnptY-?x#-UY|D&uuCy!H~E* z8h;vE(jpWorgt4BgCc0VQ(0oy^0j^rpHqLrYw=a^&!@g;47;H~ni}7ndR8B4S~FU0 z@Z>CSCdoA=vGl$P`F71KHRgM7tPln z_jxV`E9lMmF6}w$m+-bGtQ#3riXPtj)_DTn4Dc{76+yxrWH{1h2(dRA((Edh8OIYC zo9?`GC>!i%h*v{V)2bm@ZvpoDWUi2#}cxd0bYWR*?Zn~sC{_;j)Y!?4BEiag4-Fl zOJEG(W^kujEII(m2fSzN z7j`#eJBpO}gmD|GTKLPNwZi44g4cI!1B<7%GM{>{+0C#{3owwB!OUG+fuf~AEy_eP zd&Ip6Iix4^#NVxFabtQjushzSq)kQA-yk#8Q27x4BHkeG@ghzmtr1T~XRE|(+PD` zqY~KEw4ilE!wPpFx?#gJ?@Z?sg+u&~d*6HKE8BEhcvaEK%Pk9`@1eEEZdv$Lld-!Q z;pIWC+^&Gm+_l6-f!h^4^S-vctq{K;*V~pdn;E&H+<>8dj_sY;?eLE7>_F(BDG7Nz zFEAy+Z*@Dk%g71l3OW?|y!RBcSO^p?p__v{r_IgSPGM{VpD)|Iq+~~_lJ6rnCUe=w ziQJ6p7UZ+d#b~5@7ue)bmz}`vS{?0)3i*}Az>$VVFq*>N-M=g zz})?;6Rh=My|!S)BeG`yPAKn+ReSv01HMhJFRZKM-1{ojwk&*utU`sbh{CsqIi{>CqnZ_DwP?>(DqCnE%_$>= zr#FK-;M0tyOjQxO(}>pkqnfd8932xY;qXuTDo#Zqu$y6B*3{`sN>)r5%$hoS@|!;9 zp~v!0UuTAO3vv=TiHBvY_lkOAvTH%^b#-Q7C;9VQ2VPkVvwPXqsr}x@6BL^3lxoX( zTQjyCd_`y{QWlM9=mzv7sn|em;Cs{qWAdsAY@9qpTM0htO&}ziO7fH~q&J~KbQ*JU z%NFD_&U0_ez*D7zd_c~snhh}^p$?L%Tzz~21p8)j>wfRZ58}b%eKptCaBUoXE|{Zb6=D#RT>x5kYiXu@k!))@AIue37jl zxP0Nax*60h$mhW!_2qi#b&&^$+~?g4>MHb8MoLub!VR=-SlCP=s}6MJK}m#F%H7sO zEVRYnwarlb*rzUBg$yn~3*Lp}ee0p!I7pSY@;ifpu;oEJd%EM4(#Qi8pm(kLKq|-V zzb>!)JT{c8^O0XTZ;_fP)f|u2a3G~BZn|PS4M{4dYYXHA;}tIy(?O#4y>GVcdqXW& z$eVQHH53iY0_JfObY$q{pqt#f1v<6(lD)p!=#WV@Ll!NNpAuNV+0BqHV@LR%x<$QU zuQ>*7A8t}CRjd5a&4>;z5#oppf9X%l?-gyMVh} z(^H3RoJ%>5#gt}jrzyc&qAyfy(bTMwj;x4@8j`!Zi8&_6{D4n74(w)hr%B)%vc+=i znG+r0mqowzE{RmYo8-DW`TKOm_0ZRigt4d3BH%+m-Fbhxaxf!2NdT)fUrR?!BDu`N zi;JR7rgat1;U)Bmc|u0#NM_+y7)ec@pHNIE60tP%dYG7LU^w1r?9_*MH>YeJcwGC? z@ffnB8~q3EGh>bdYH`EPR$jiCu|1ae^&|<{9CmM7M*p?khr`d<3?s2X4@bYqXWoh2 z4)1u}nnuwq!pMZddf{2{!}ln^b>Vt)i?efw_O=W>lQTeNT1E#S*{525UVOuVQzLV5 zQ?~f})-xn%i@@i6wrOa}A%!Lm(nyPK`FiG z^ZSkl1Z_D6rtp4E(D$8~-r0n=)!%Dz300^?{avw*?tiDmz7+O&o<6&JFL*PslhzMi zI8HeaJOd_4_K8V&z3@dBlUI8ZhBvEs+3+n>p`9H4Ys8Yuhv5f0m^DqRid{E>4WGb6Hmg0Ok+uT7 zv~Ey0PJt{cxA}!vEqe$$Mj-TncVI7V4fqP8A&V&&U!N_Xe0>qGb~R-*I`~}srdS`| zv2NYU=R`2mAas7~Dj3FOHYt}a`lz|A@Dts71VBn^b4ETZ-G`RnlH;88{89KxaZWgo zKb0}O5*Q_90~5N0OjWH@DlefU!W#nOl*qKr;VRm0eU#{6uLDh;wj=?86fTp1qu`(dpkvoW_gvUXVaxe0*CK83$ZUfig0A;_$ z`i#=;8zHMkhhOW_?>(;1j`whNBWiCnY_K{T4dLS;2t@2lAP}#4k>efjgKw{@AVuES zYcUJ+HOMXio@EuPW|HKC1m-bn}xirc9u!!S@$aRf$zKr z-i+_E)u~+VV{ws$Zj$Alf-s8KjQ6dr+0Vd-Gff&~d5AP=5KkXrYS6QG zuP^!X=QX7oU>a7tGwXN zs4jz_2nzLL_`rQ?%GOTk_G$`T-5|~#p1zj`7L1JK_z7&nE+50md-Y)GWm@hI^hp3p z+ovRJIy-vpouoz(^1_4MYj{^+m(#c`>Ot3lMGk61$MfExcFl4M zC2@Q@3Suj&+nBvm8H=ht4}ZAMdx>!#V*LJ(Dr&?+6 zrjXiG8Yq}Lbka;{NogYYX~3?P%AO__n+J@Twi*~6)2#S>+ZQ5M?Cjks`=#ZHCiwZ( z^C3tjVLA1j{vuphH|MZzz1upLQfT9d34J>A8WtbKMwt&iQVF!D!&2;h6NFUYZS2#T z&*B*Q%m)_7;J!O0Q5dT?vG?rJ7QZ~-cRDnQnG*cI`{qhCF<~A03|@;Bb>9JB!^4r` zdGDizwDX1ckPku=8l5D>74MEoGQ`Y-Lia_q_F{^9P>#-N&%i}3V}>*| za4PN!X+3_mD4uds=kOS_)bdnhwprt{Nxhqqx3KOj2JoyKXCmE<6`}4(KXz zteCV4eBoJ}>r7+T?4%%e)mS*UykpQn65fcHZ&w-{-JlwV5zt|DpZ-fp+0D4?Dn@H5 z`~sa};Q{J=Z0I#!zV>+eH7hB2%QYV+g)hynI?VutZW0o*7uWHhdW9mnw{hM;uSFT1_aJ!_Eqoy^TT?GMX^Zghd(MCY*tKKunL+ zQNTT#6N47BJA04zE{be+@&OvIJZZDpH6Jwu)HBTJy@od%ue0GrDym81vf)|9GBP2( zF&E#JdyMC{H?K_Q`|gEq#&fiq5$9L@Hc6CcUx#vOK#B7CwtGDtkChSAWH(>p*GJmz z8M*{q+owNUY*M*)1@^=;alh|oT$hn+ z7%WK~W#k){I9h=`J#p?)0a6p|zyleBZ{zNf^CG6{(LaEgffOA4y3KJ3S3sW+e2d79 zheNt%4@H`jV9=eG%%n~&vJoy%i`O=&733Ai(0C-7Q!b|(bvtfO#Bc?4c{z&l6)|1y=|Qd8K|u{# zx1Ek_ntp94(6bmkIC!saspfeNSEoMIklr_39u}9PRcggRAr0r~X1g~8HjPKQ6Fe4l z)Y!FONOq@ytyW}39V7Iaueye{GcN3ANY`+|r>4_Xx6u6G$U25i*DZ_-53MLIAMteH zs5TphZ?$FvFPDopZ3VG}CoVR4_r&*LhIQJiRjKz%T~f0Gt!mVj>XgWHmzzu9ZOeOi zP!Oe9maoJO7nO*2t(Vt>P*<`^v%(b&MM&_XOnYh5_7)0N=Adq+$PO)!ZPCcJb2V~g zC*)q1&6+h7pd}8Fvmc;VRcXbTEKis_M74ZFwX$)n;Gnf)9{UNqLi!qg%O#x&9Ma41 zROmg*?DUpQ@FZ`EOO`YErTrW>gLhZx?KKp#GhS^;H7v3xGLHWse;WP4_ z$}PxKDi<=7^V{4E>@)&eu|Ty_tC^&)qVd|!FJ910j%eQRzN&QS*}J06YQ+8(~ukeIG(q3FqdhCi zG(&&ejSBS?EOhs~pgx`<0ndzp_N5s4OMcizwh)anKkSidlKg8GV~J66N7_J+)%GYI9`y71-w^k1S*5Xh5pRWZd=)9g!bOG{>+<z#F#AT zEkjYGdQY(C8|J98(dGE*PDFz~6=|uh!LafaFCfhrcBdP|a61)hHsy_6cWN19F99DF zFgM7fUE%4|E9a$8BRIGQx|G&SqFPOcW#lDcE!!40X7&}x=g`iN-Hhxod(v6Qqo-2s z0v<0IRT%7c)RTT+jre6Y!&&5Wp*}b^MW((je|p&5X`8Tk@hiGL|1xq z!Mv5YGyCh)t*A)j zyNyF?x?Gdvioap5JpJm!5v?P{wC-_(9fTrv|T{i`oyV5KG$DA$w9% zf^Rn{&bH#Try6v{XoQD5X>X0lHrFV(bO@Jw&Nx&&vDqnMaa#O@5N>~2ZY3J!{!>rg z+BFGu;+@iH1+Y=CF%TB&HQ)4&JLQM3dw?9J7~f|PuIwe+*WAM$l1U`6OVC& z+3G#dXce#6rHkZ8Zu-szd09Zel+EE}5i|Cb`TCd?6+dz_{jEjR7yv4A8baL~D?+Hd zhn%)S`thoJo=kocL&LB+tS7VPU{mcmj$ZnvWgi|r;#ZAB{7OPMM!_+ ze>6{@UpcP?R)qsI&@)Ads%^Qvb2VforV!FQ*T&N}UHm-qU(RIS)^4ZG(P%eE_VxMf zPrg1}32XB8g>zj&WvjPm?31$>V`;wkk)3_vboRD-I}z=miNapt4R>Dp!!PjNjeSyd3qED)hTulQesG0t1Rzv4eW*cYVQ^L&_NeSIg=(&zfc}dN}AE zG!}gtgW8v+!6ZUW0Y@VKJ%KK&Sz+OOrM#J#Hm%Rt%~Yyqi+E~Ovb{nzz2NY@i)vUG zZNjG?i<@7<`-T^wq}(4my!Yx_BUEi;$K3;Uu3$Fm(baXz?D`_!!Ji&HKXxc*3M&1Uz_V=!W1JavlZS*V)AS&iPb z6{mm>eR6g|UpjIdx6UvA+d!{i9cCB`r*-&+0~vXkF#u{$Gue?kKCnY@(%8@ zQk}r83@M-Px|DuFVuEkcv&PgjEki5GDl~&acWHI<3GvoPc=Z}dcc@s@@Q$DRIjvKK z6ZX>k3inKrS!Qo(P_bNdIrCEb9%<a;!Y?+G|#0L|sCJ z`>qHl4L7%|+}O?dE@RJJq-^!bTqHMgGq%$lS}*41Ot7CclK4I_!QMHRC8~iD*r^$< z#kvdf4k{Ka03st-r$%2MKWB@(FDHKX@!WO@c|7o;eY|U!rnZ&crT5CI=XIkoiJ}x^ zB~9<6FQlM>o~w;deuJe^kS%rlNAJ_g%MM#7tt7OgxzJ3Jts21Q=gyOk%C zv4!2G>Z_DBySasL8F!9|i|&(&(g3kx^p==i*-q+A68C1|)8L&+24&Q!@tk=xqSMHj zYB!4D8hTY3zUtIP87`X5({s)&mKEWK=@;yCp?bkirzT$hp8K+1=w?WlpzG8VzH0ko zhAt0K#~UR|ZoYGpk7`@iJu9E~+A&MeuP&vS37S2Qr|~T012^3%bd2q+6A$*Jcnj&0 ztc7?+X&g@-BUHR`o6|L4!Lm)a-79ci+mh~!*(qAo3TP@ebD=4wq-G2%7Ufhm*G>+@ z&52p5ViiC&Dyu2Nf-%d;*_%^Hre-F@0ep^XYM!{%fexI!xq+JvSj~(`#67D4h-+Km z?PIF}oP>r>ZR@#ft?r1-PRGKUff8MXpF`lD84^i=hU3;Q+~T&_Z9U1WE$Lnixc<2ECvNCwOedMofxZsFhayiwCNPe-p zuSN-j!0>VzdyZ(c)gwo=ZmXMt9b2@?TADyh zL0}3yHTx={oH0tkV00Bz{lpL5EYfA@wMrJGZrSWL73#L{qM1FV?SANXJV%~hGeXd? zI$W}V$XaRrrbt$xkA^(e=&Hgel81bc<>e?!!za+N$Rz6xEdgmr&U;K*?+o2bt+M6Z zYl;;;YDf(yTm>pk!Vd@sXxa8A7x1lm-c+W;?j^gW9rB2EZANtYy0^^0YY}tybd1F^ zMia6J=f3T>qB|*SQNyZeG%&rzL|u9}m(GXcsaD4!fe&iwAaGWHhtq%kF*Qc&n`>2CyR|0vH+k zI6Ev5Y*k#N?KOd+L!7QXU1tW~Eb#EE)N~hkw$>c?^U>k+zSo`yevQUE!i}ihPqrt8 zVb~P<#T4X5wLZ~}Yf?t)<%Z?8PnK5e^1@5!Y|v3d*^cc?mY6g)O$v**>|M-7VM3(*?>cVQyS~lG^^>W8_q7%NORpL6Q?8B zZ3ymsHQEz}?9aa9(!HJ24jnptY-?x#-UY|D&&|+tr7}ZrB3CN?*v-&x!498vL=`8q zhZ|UyMbI@Se&}Xkm!T_j8^p4i2Si%r%3&Zxb9Hkj=RELcxi0gIGy$mwG@nG`7o|#N z)bw3C#aE@=4GMgH`%gB#A0jjF39h-;j> z+_k-bBHKMjHu=m4j%@rV-i+x`Wld|OlX{!BibJZZRI;Hli4Z`vm@b!TTehitroHVA z6eZrhq5;_ex}XuQL*dPd&-pd{t0!Uv~Q-F^O*EmsQDf{k8##5?Cle( z$E)$Y__|S@$k@aKS-nQQu6Bsmp+e#h(!tZczsyiV`y6=Ibdk;8#=-AFf z&UnZpfArz^JiTbgd)@cK2OT@GqrZK>y`vW#Ie6)@!$-E2TI}CRRRsOY*3JVC9yxmK z^v51JqV0$~4>^#(DZ8DAAH49`V~?J@-KJ3&q4=`@ZB5@bC=k;{=7Qe;&;^GtJb36L z{@|h04jnzXe1Fzu=O0tuLjT(GgcW@!_9_<$`yX<~Lm$3>f&hSv4_h(_C{D;&77S;eeZ~)+K4aK__>u#MZVn+0MXx|mS0|XEZ?hS; zCXw@Of`J66K=})f5?{r3msAy|pBGy#g@4aiK}SSKBK>dvDDuBSKVsPYtNQWFen+2X zLQeeM)9=Xt-suBxld=#0eWF*S|7QNH`B4hR`g{C(`ln96TaG~gMD~v$b|S%()&KsR z{hPnyzwhLJeL}qvvjweZ6zw$dSWOyzEkb-cCQi@bD84op=1MoH$jy9J4bXaR2)~?7{cE|0S2~ z9pa|!9l2Loe#J@Csb6u@iW3gna^1Hy>q8HLhnRke7DUiuV<)n zdhnusr#H>~o64Q@j~uw*@q5RP9lZ4DzRNECvTtR%`OiLJ{{7Yb{ps`f&DNLw7alrr z?6M;VE6812QPZ;{Hm3Od_6o>d|9I_6}UK z_2Vym(d)nQN5B2yZ|n~J(na6@zN@eP^J@UpI!Z;^G~__NtgfXd+z?g3qSn&Pu%9c zpS|V{U;2rE`qB-je(v6nzW71)(f8i)hQE8_H5asdANk-t&N=6tM}O{r?Y-ifkKgW9 z^)(;**H7QK-rKwU1&{l~*PQe6D=&Ea9pC+s_r35r{RegrU-$d_uDaorOI~!{`>yFUfBlpHe$z$QJpawFeg7xlamC>mzv;Vf@qqi?{~2F*xBq>wUwhFX-Q)Yd^U-(t z<0JR`?JvFQnj61#{T1h2{r69J`EQ+h@YjzVdDj!qdG24`{S|LN>kU`E;N{(!Z+Pq_ zd;hri@q;%$`2`0a`Oe?J>&4%6{avqn<`oy5_ThUxdFz?i-uKCO`RucP{{Q>PKRo`b zf4cI}3vasgKW}@@W3IXUn!DWPh1a%!diVkF_@%$U^;p zFI@Gyr(F3L@44~y|M=-Ye8t88{r5lqm{+{!m9Ki`)t9{H4UhlAo3AgQvipgrf9dZ59|JQroaM>5{ep7qXoo~A6i*NeqwUoafsqc6PXr@nQ#)yHme(@$@o_VgE@@&51q``dl~R(JWo-guiYZvV&qzvdr5^^rGS z@TRx^+g2`CqDYDQ-<9?`KMRC`z?R* zmiOKDop=4y)2@B-<==Z*F+S?Ze|+rPEC2N2xBkTV#lQXMUw`Qv?)Hzbee)BZb-{CA zdd<~;ef6LJ%kTg1?|ysv_HTUV!|wE^%fI-;kG0Y>|5RH zXJ7W##~t|jOMhVat|xCldEXb$`Hv@l%iV7ITerPo>xOT*Vc+Y1>E1u^bI<NlSI zoHJhiQ{R90$G`LTum1HrZNKkV`gff2w|D#3d)#p68*Y2UJ;&1?@x!-hpYbjGKlj_W z{NRzt-RBRU_K^qP`Q^|2;oF>j`@I)Gi$@z%xH_%8h^f`Fq~ym#_Q4=l&Yp zf5opp;vK*H=)bPdz4AWqKJd0*{+9z^cV%(+UwqJ`t2?%5z4e3j$KSnOzx7cE4pskt zN{R_&%e3sGk3rIl-Gai_5X7JpMKXXe`Yx4 zg&%)Md*I49zWT-Ad*q|x$m34=1qTlw-3JcZWsN= zhracLxBs`RfAg)kdjGTj`ng-}&)#zHzrFI-Z+zhGo_YRl>nCh~^7)_q?8n}9_8qRi z>KzaJ`~UWtyL{W}FT3b=zxLQ$oqNVNeE1Ik{MJu@{@=dw4&QL??>_LKFFF5SU;95^ z`k~jI_n+6F^4j0L>F9TS?Ypo3y7%7VQ}4g%7hinme|*;~-~N|xc<$dk=(qmj2j2g@ zZ~V}Ef8aB>zwP^f;gv^k^HhZ{iZ*8`Un2})gS);E6#Yp z*L?e1-}Bb}w|?iZzVsdEeb1k~{cZo{0ndBh_dM@8KmXCYJ@w6}-1Q#!__=qT^LNjC z($)8W$*+9m((l`M+CBd5{7=8@8J9hD@7b??)Q?onn_qwQ=qDd}heup_&huYz_vhXH z9sl#kAMtz5GoJJE$3NrGFaGFF&;HJ*JnmnfdE=d~ef#wfe$};)JpI78|Hz|$@7+k%Z-?{x+Prdqi4}I4UzW3SpxZS&6b-QPM_?vFJ=B__~`RD%RnRox0KYPy8 zUv}_$fAF%u`{l>I{EWvJkNtx)9&wwm|J}F$#oOO-%m48oH$CmcFMH|R|DT8Nf8kGm z?o(ek{MDzw{=uJp-D{qDhtGc3$6ofvKmMyHUGUsjKJpjd{OLP=zPYN+jGaZZQHhO+qTU+wrw-_OH!3Ti$7J_b?zp$Ik%k;^w(~+;6QB^h z()i*GX4E1kuLg#I-1_EvfJQS6uqCb@W7RyoOW_Tz=0a9-tUL6_tM5+Pt?it~gz3oi zn5rpdoyLqmfk-~7jB+tJ@)lAamEIH4#i3E!Jk7_}}4Pa)gMYJD0D z@J9g>-Z1xUUWe??4%Zi58(Pep)s__8)+Q(}U^el)u^p0)RWID@U6%sykLY~hu5BD= zVx`O z2mm56Aq=iH?s^e>P%@NOEEgS1176=Ua_2Vb>L@=FY-F^gu5_R`M<9sK3t}Jbkt&g{ z_3eZK13+bc@2PXdrJ|FmtLK&26VXapN-4CPu@N+Ih0wL;D2|y2@~Hstd@Q{`s%&LctL= zkyJ1apjN`_1zF z7u{TgTkaen18GMy@dHHzh2`<-gV84>rF1PEWbscZ_z(_8u^{eZ9SUQEn(|pJDWPaD zkUX>JBp3)HdxgO!5nU-71F>ojNpcA((2wCh+A_9{RB9Q-%17l#P^9!~bP8e$g6_5e zVA%FH^k^ZUl8;d>9v6dXXw?NBm;k;Kn}c(EUS0d#U-9q|zOR@-G-b$5!W#7%@e__A zDZ}l+d|;2UXtzQtY(}JJCCFfh0TmxoI=+&EkY2E+`mAp)D|g$HmCha@+=-7keEgO0 zS_d65U`6Tfn6P{25mswPIE^O{E4vS@vao|vN=*eZj^ypBqUE*Xnn=RKRQkQyZYJ9L zjUPUU2c*P&n${Ih!_|Mv3!My6&nK-@gwm-MPEPs-2Gi^4`6h(6x&_th0xX5p|76xJ zokPW-X7(}!dIc6O&uT8=8MP1m&ZGY?qyom@$HT~x3)U3y@51$ z-a5ZMCM+%H^ekfQlQ1%Vgo<3&1k3N5d?pd7Jpv-x(_}Vioa{A$&C6G?sUTHk23|kj z+CE!FRdlGIr=FzV2--N@Vb`u@M!966vY^b;QKh0Ul6%F$?>JlP^4d0xm~D_OS1IN87T6wG$G`Pd3GwO7JU3*(sS> zI)L!;O=yj*88x8wexQN3%6>N=;k(`i=A^XlW0u$fttli?}Xim-=(eUe^fiu>2;NyQJavo`4y$i~w zJ_)RX^$77y)XRh{v+J2MpoRnK?aMol?7zw8+gTKUW&y)l&uS*RK)6K0MnMxRIYmju zd|(B`-TY%fVMh`dh1H!i6!dD-arRD{4PBEf9Hx6hGOL%}5%)N>XVngCdo{F|rNhcw zR$&;VU8+2p0>#ECmYX60#v+O@{>S6tqhNrQJ9d~0-)K+45HPn9{u8-3tIFk+?cG5n zISt{)`s@pjQ487|RBU0d;pk$=>Li6s3s&1C7aILeXa6t?sO@2=y=u88%0(FX>hAre zEN;BvZ3?hQM%X!@GIlaia>@7tM;1)$s1^}CK5LPk495g+R8$mPAwe=_My2ziGwEOV zPtbzaLwgJ101LHKEiM9?d2-(6>37ZqXk$~53d~W#tfhu9r>iK1;p(k@2hlr`p#tc!^rd!fJjmbd!C6a0-+M@RFnLR zF-yI$n<)nD`^kl4R~0giOt+X5ZR75jY2x+s^^+W@M4QGtPp!Pdi2i5bb%}d6r&oAq z-Sfq)@a8})@K-o*UAo>sbpJ&0_1XRBj63X1S+oKdTuyVf*cAu&prPrpWAq>N&V^3dRONUoQH}eiy7#rk_01xRaW!yvm zOCCjJk{qB7y&-yxQV&P7uc&t*ZPnd z$JU$DQjghHTijd`lOxG5($_@mlFaVFx5<`rLNir6OgxKCl$hkWSdNHe7k?YK(&eNW6?oL6fG7j=~Mw3Iq*yMaY8<;N8e`D zl;B)w3RZ05cn(H8@la}XB^{aRZ{MExD@NnQFwdQTVuf)BPWiap9@3g%`ZBD1>DETq zjRYkT6(W))7G19uC&vD!t%1Yh^7bfOX&eQ3qfsm(LB=CT?I}U&6*(1GIQo%#3N(lB zu?`2;A!QmGUvcd@PghltpEH5(hO&4=*Mi)+1eEjbzt}va!G*)`8q?+R>^kOr*v_N! z{*0n-8OGWh0k^L*zPWuND&x~aX}3(c)M&QDucjK=pJwdl!+Pg^i8!C0NuE3N zc5ETi3)t~S4r`UyqY1)f*#ZGR3mWc8y}1E|BG@+=9vFs!=2+hIS1R*?`E{O?0uA98 z61OrB%>un_#f8`rk6405Ep6;f1w)(tD5=mbTSAANs)WY29Jd;iv(|7UaNp^Y$%5!| zv1#wgtE8HhNHs1S3)hHk>!(*Pk&#C$9W@mfOY92s=KuJ}a`N*D%xC)|2f8Z7Hk8Y6 zOw7h^<0mf~JB_(TWpT%&+O}b=?;RJVL~pI@@eDq;x5aY>_5&<4Tp+KN8l@-~;p0O% z;f42X{wDf-QnNTmTLQB#c_+ct@RSnc7+BC3_xgU8-W?Eci%07yLsVgEpf9tH?JMwwuSUCz~z!lD{PX*ZVu|P(ukzJ+fLQwGC#O8K2{dtWZCC{-DJ7ZIfJScu@pTsb?_=hqd40U&pR&q&iA>9SY=cE*$wabMK*T zEQ!LZxeHwJBrWS*`x)g=*ZUH*KjLrXm4rHc5UsjF^K3o z^Y^+mSuJn4z_kBeaQb0`jPQVOZ?V!@0$yPbM-IHq1a|Wee)@(fysOUS4{*aEA;~T0{T`(>VV!Ip2u6lo8jVW3z&?xp&~W5e1S= zs}?Qof(+;0j%=5?D+Z8RxK$b9?V%Bfz#e)UoCQ#%qq#m|EOyCwC$Qik7|cZB1$g?u zN~TGeeIg87-hsId)D*0X3GpCZUExpK`29e*kMU8JP(DK+jsM1mdfZ!C^B$mJtpTN62sGgco#1Wf@x7O4YD8}EEUbsVvamqag1iPCq_G9 zhO?zN#M-n&qsy`(-Pu~#bm$Kl+PC-DJ#PjFoqA9|2&?)W4!1XPPN%BGd)$-nLnd2NXOKSoP$2$0^HExWYWBJ`=2CRu{jRXNDb)V4y;q$k80Yzlg0=luhmkYDa0WfI2jUd1ldg*5A{vKfHxZP|+~C#I6nA7jfrSi6+GUfybUrZ$p;M=p>k?gC8mfG3d0%f8h5U}rZXZ^bLCLj@TDp`gXg^Mhi`ucoaK z&;i>q+SCORu+tK9Bu%7UJZU{GfxR#_VMN#cdtv)^0=EV6#F6(+3+rJkzPTBYgE-)d z$Gw5tQ^G?;SyG~>fEdyPEX!*+ME{uh`dAaW6S>2Hk10dF z0m71?(MJNi83OGk=_IS@8LHd?0Cqw;F`z(_1qy;7hL^+m0_|=B?*h)J;W2{)M^H|H z^o0ujfoES50$?OUhZ#`h5`}MPO;xOKH*8M<>oUj2kV;-z#-y^eLO?B>Pcc-^k4&S3 z4Gxi9auPQA!94G!1V|h%nniBwAHL+C893R?;qVvY5)ZAFR0o_id>$~i8&@<*{mCzx zZcHeixrr8RTIXH?-IQrH&7(iS2Mo{>@bB`n>#tDi=_v~ZiuEFpkFN&{lE2R!ONaFx z4Qz{ia>h^HWVlDvj_CjG2K`Fg6Ynk1vwWlP(~Q&^R_mvg7{)IA%cAz(=%OBdGxlDm zD(0?=@J#iA&DWt}Kd? zX-^Oy8y6Q*8DnQ%U1MV%T^A#^Qc%LDN)j1^DmuE%-nOzzEW9gTW?Z;He+7z0ffmh-ZVfVJkb-IsGlJq+zwRJ zg3g}n6e!Md2{AMOb}3<=rmkCN=sg$^1kBU@1wa)ikQA^zD0gcKkb|9-husx_YQ}N< zp3F=h$lF9h&KjX>irjfgDDe=s5Ktgx6I72A_Geuu2S+=fluY%97Q!n!OD!7QAfF(T z%bRADI9XP9Jarh{KVJkx$UlL2iVQFv)I)9GOKtB{t;XNYYq+9d;b!WafH)3-{Kqr( zzG6gxbSoeij7XXRv1JA)WF<6l92}|y2$LHiZE0KI-utcrmBQL=A4VTe3>p_D87&z| zx(ig_Zja6My}d<0|LoXz5m3PQh`GHylv8c_&zkxmF#jMqh5())XnkOMYP~h%o)Kw& z`7ewn0-AK^r{|s>zus*RSZ{%w!-75!5HCR(@aN}~GXYMZ0Y*7KA0rV+_G-vIe^w$b zY`Y7Ie^F^bLjzn6^(I*n=@kRgF0x)A?7LcI*o2fujf40T(BS!)CV2CRTBL zfK4HvKNQjoQhD}Of<|RjVL%EJ9pF50D$o^DFHi~q;Awu`rerZm@v#I&yzj{NVtC7T z@UkphRszwS1mU+b-z zXwAN*Y0#2fVQd>TP^)PU}u4Fecq zezq74SS?JiGl~hWfPFz{hmU{vnIq2HCvIzETVWCG=^Qmbr+sR^si%B3_J2-~d-NIb9 z1*#Eb8BRuF#=|sJTc(MLUCU7AaHU7(;qq@iU9&ISjNQL?^&Jbpv8@IQ8c?f&SR?X! z<~3An7=BitiKm$*zf;EU_wF7ZeqGAC%+=w`Oh&iRp=eO%%JA2S6cO45Nti&~d;n$t zxdHjTI_4VF2Q#i|n#^^^$A{@lX8w%#b(&ob!KU8y=jUpCo1G>NCQJo~)((TmpqV+g zz73h_TsE&2Ytt92rrq2g^Owo>$n}eL(WWZXw&|Pn@3i&4xt}=BrIT(hv-Rwjf3NV7 zr^+)Gd5?y0*Z|YrIVC!R=SvTO;;5K!edrUtQ zuFG2G-<;m<9@FmB?%W=f-Z{ULzM8(GzO=r)zRE|S`XLP*Jj$Z%-Y6o!gV@x zwrY26hi@9U^{#x|KD+cg^<(=5??UxM^mF#&36%2@oFP3y$wAUUjRM00%L41JZLY4b zH9q05*f(z*Ut7>OrLUTgNqIhAhKi;cVe{;0WRF;V|Kt zz*~e9giD4T!l2>Uac{W4_BcioT(yti3Jw9q@yGPX?8nT<+{aMFi;UV1O~yWB^SJrk zj)Ikfmx7x@UIs%3X$Q9li3g2@_zmhAq%g>3&`P0Agi09n)XA#RTOqoFzXzEIp$Dr5 zy9Vn*`k;U19wfyb0pIaDqPHY&NL~}dB-j_jV2Fk$SQMpK5`d3X9@yUFy~TV*edT{L zzG99j@Qwu(mZ_Jsmb;ccE%}dyK@|&Met2P@BIzi+Pgs&<413%Igr41_d<{I)#vwMpLutRJ~W0P~8G-&?@8m`P!Po%%>Smj96 z@~(f;ccZ}G;LLW63G5;O2DSe#8D1Kwu@>(KT+)@gQ4k24w$zOxX(S5PyzLC~B8|qC z80)p9qNyvEYF^AIdYRjblJJ|R1xZEXWU67~r`OAwv!s4_fHihAHuASC9zT`vyL(

q9g=2k%ma1+yDZ*4oZ(yKF;A9pj{OrdGN=gpi!#>RZp!<& zv78QZ%8$=PC%di=8dE!!17qs0FQ-xF0N){c>tPw6E|}Y|9iqlo#M!n||G@d*{Sedr z>okKflf{Tt!-C3U8NDjmB)a=i(-sxfrWeP{fzEQiCFFS1L^T=fNmSV&fJbL4GIDb9 zvV0}8^QCuO3_s5wgq_`aeOd)E@CGbF&plP%k^?)JN-n1OZCCz2$_nR-?xN1xC~L|} zDvQE)D!6TLI0#1rcQaEd5l`H+bGWBvw9mD?tm1;l=-iJ_$9L7*ZsCa4p0RKJD`Z{I zU#1Vbjdq*c(Ml?MUKj-hSBA7iIbEtC(-%;jgI8NhokvJ)SB`rkwZIkU7D7!V#` z@ACZ!Yv^rff#L8i6&_C%@(U6t5#o;nEO0*9w0DLkm~LIrQQ1UwH_LGW91nJ_kGUU|EiFNCM8-qs0U_SAbRI`ta7ZanP`m_c+pL#a( zp8+AQ+8AU918_KS5xbQzgbyVzvZ_VKj_i zQK@@RQD=|tU6nGLD02qL)HtG#DUIdn!^vk?e^g?dh_B!XnC^oTQnu~U2YUVW0>!XG z=f6bFAb+mg=H)SD9_^fteWNV&ZG5qN3D=oVxQVg8eToXbTely-P`SK4 z4#zePbheh2V19oBK8hp78k@R&-<$#`NKcsc9ib)f?PwA9@bU2WcF}gca5CEQphwNg zXjjKT8WZOO-dcZX7NdiiXN?RIq~6t{Jwf&n_<9SKNp0eXV4DuuUlb9G#3i6)Un43#Y;*o$vny>@&s% z#8|<R1xK7e`5umk`jEFNAB>Zd?DhusWNU*O>H|FCSyAZwZCyN~2Xl zK}%PBB#QhF^LVV_rS39_W)#avkjJS;$(1l<3y-?O)7x4;>5d^tYFaX-q^m4w)Y2`k z)Q{caBq$;Y_pTm4Ph1!D-hQUf&Uy85ufKN-m>d0lOJel~+eNQ-e1UN&5VGCn_m&lg*m_5@|rdotDFMQZg#kWn+Ao}%vakKW*a zP{+*hWyqUFo4`j74U{rkH74)Iw6mL#qBW~hd}6fy*L@77irHtc5~-x1>}a2Q-S0?h z@u8Iwc5{e2C%nbzrDo((7a^6J`cU`v`H`)r@8T`Vjj;N)D^sPMQW$ScD4a`{RHS{$ z|GoNU>eB0DaTwv)g_|w0ai80_LNB-jT1Qqoy(Eu>l3658A!Rsb%*+;Hq8Yheg90me z7l-_lWya)namJteC|$&xu}MM1r7_MfUWUZW@jKK5@^(e__w9FG4)axP_KdJMNhy2w z2d4K&AA{=z8h;-d6uGa+fmQemj>ds@eVo?Yh4OSr zkA5BNNj=NtFe30>I*4C;&UWYGcQ$L><%QP~F{mEtFpZ9Z~&T7YFe(ptJ&0s{Fw%>!-c zs9ywGWgLz5>pUuq-^oB-!CO}sE+dib(U^!PkkUVXZ?mLxbDxGCUpHWCe>06PyS%qX z(8|#raXW%N)wImi#EgWbaZiK6z-rb%tYdZG_9scNd06oyue`81A4)hq?GPS6c{$gt zjvcShG40EB&SSPWb$>V1PQ{z=#q7aw*`m#~l+9lJo=RHisbCKXhK|#Q;fbIlO79wG zr-%L|T%IJ0A~MmY;7z_e8`SJBOXVS%tCg>VV=|2=eh-Jp@SxCpDNfNq?^j8RP@1C_ zAC+VP9uim+gn4=sN)G|cK(IngP0k)U>Z~xW#==8N6~Q}6&fjAA^EWzpfMG+Kq4)%~ z=pgg^7aJgm8C7TJeaoub0LPkuAgqmGS$I0fEbz5<05R#WF&)6e-fEyxc9gauWIPn@ z=g-*)eG$-WUc)Zmhq&_Ieyh?i9_n~ZTBJI=E%XasZX&qQ(_W{;uPf%Xi&MzgI zeSFga1OE-{>EEl=iF5&ypE`*E*jKvBL{9jcAKbrM5x(OrK7J=zO2UJU50QmJ(hrPU zg|icLro_*(5jM*LTC4Ns_G1M(wuHCWCIRfn=)2x0j(?*ddG-cJsVbUyD z{1qEr+VwLbFgolA0LWB46Ni3;ZZUb++`~iIyIHv8ckXO^U9Rxgbwe9Rv~Z$1HNk2V z9__oY5Lha-H7DSo@ucD$i6#xt&O&hp41RqIL>5{;fa#WC1GoFwghsv=&929lOH@?JUjm8rP z*;-IED~yC{T10B>Mrv))>VScv8`vyxAqbNP2FbGDhT?9d_T9 zq;0ZbxadS+|Fkn>VD1wKX$_PuCn7JVHywMz5J1Pps3+r472jlku%qYdeVPN|N^BMv zbHGjrucVw(SxMQB>;dD|e$x~Wowd2fJrCwI+A$j;6EK;-cs?;PGO%TFbADYWC4IC$ zVjYwvKs%Fknpk_#R@lmT2Rj%gHMMxws2=ZM#F`ixc?Nqx07wDfmmaiZ?QJa8O!DO( zSk$n%oRC)b7aF??<^!oxir%9ply>{t4Z;alPA2(Jhm>qVqD>N+awNs?nYo@nwK>5X zqU{(A>P93}BX1=mi8{_DozVe@-So*$6A#uAX~AD%$=Y;K;nZnNcGy}WeP`?oP{S?i z%JZYY0lk;9sOuHKIWnK#W0JOHucLwA(s3=Ixd}{s9Tg96EO@_?=0b`R1RWm*)Y;$H z*SU6lrh!@wHQ?Jsu?jZ^vfpJ|Sz_ygIQozk&N>ED#RP%g2l%FScUU#)TNVnBGG{M3 z2o=MolS)j2u{-*ItYG{j5y-{Ju$2OcY>;^JneW52gS0G!0sZB#)Q||$Ygvf4BuU6h z(mXzasvji4K<9kTgh^e%1lT|(@a-T zFqSWbS_LY_nn+blC>AkA6PY+OKn8+Q-^jQ9(=frOu6B%Aud3 zUS9r5X-a2Cq5TUKde8=R3CLH4x2*WZo&+vSrzWOc}$c`5UZx?U1N8cn2EGD{xg zGTI5JBy`vC=hh!5L^EmTNcz|klXPNIDhZ<)bpwbM3rN;NH#Zh&K7=B1#FU!Z$xz*b zCG{q+Oo|L%7s7qfMM`gL&i}$Gw3qFn@w9(7O@a4MidfJ+0bsm*Xb+%U>?0TKE<;Jy zH2I#V76#1fBl!NgLjyrV?sx0@*2A(r1QFxVZQcWB zfzsUv(&P=2O$to^$ANd%?_)$NykGBvp3^l>mE6RXBDH&eT>IwYHnRX=k)%@=7?%z? zpu}tIpQCJjI>5%J;YebTcm%P#xQ+LpgU|mBnYWU2a>|yHMIIG z+N^8+{5|2v%k)BJm15#&P|uvy1#GClJ<3J^j0Qd7tuT6{xkzZU*>9lOLxP49fmGxM zuuKRY+<_^0$!gh}r-L^Ksm`WoDn{g3laZa2=3(R`M*oJ->yRxu|bZsgl%Cdy6a5D zO9)HN$_u-m>3Qz*q@gf%U+RX^=DcMB9{%+%OO?&*bWOCmv<25>ZrUI6e&lsZ&3;!*fc&5b@%B$rQhi7sFO7_hR{Fc?ZN?8H z!;Z@*1F7+Z3&^z8WBZkXc2Bv@GW!C210UO^3MZ$D0!VWae<@)bNAwT~MsyP3LO>X9 z1rd@?0tgF>3Cn=!IgPLJuK8-|rOmAHsT9-#wQSb!0;+!BBp1%;kutS{dI1BNh~-0Z_AOrP zXgaFkN_$JHm6m26hvQ1{Vb`Uvkyy1SO>ANp*s{)Xa1>OfOvVHjBt*fzDqB0yM373& zSj?9PVG657avcL(npAaFAOxCdCs@c zy*NrzU4RZyI%Jyj{iKORqE-yg}8yxzq6ZFB^Aegna7Nvq2M84*ezC+U&i_Jw$3ZppWUzjNiw!D9PYR}2SI@jP?THMr7GG>VEc9bgcDKAcLQ z3(%Lq?i22s7w66{L%^mWEJYj>u(^QAWb;R$H-b|f zKwGp6@fniT=>k7UP7EkulRPp3d~JxZeGTds^eWJqC^%fs)j6ldI=U*b#G(pV{z|_E zNWB2BwwyoBXq?lSKWP|*?g@c1$h;K|xm+ey^zjTyCe&O}!9Z9*KRwO#Tp#a~yPubr zo}PLazE#jPB-rGp2m3~BTg;!oCLNqoDT)R91MOYljF_H#{5}mZUEy`vGIW>0dh-&@ znj4y_PC-O^YWI`l+cfo|Eq4(F*!@N#fCvj_{mr|iM!$rD2q`g7tQ6(-B6KB!1~3$o z%o8*KJtN6cd+$nbd=RJB+q-!@6Kx5O@RjH2O#(_1s;w%mFYF^=Vr5YWMHwUviJS1! z4Sfl3aB?nWs6o)T0Mhdi3h5z<=s$u}sfV-U?S&TX;6>{oBO{pYTuS;PuiBt!3n?7! z5?a7gnMMp}v>pIfQzY`XrD-Y}L=?Kt^YaroHw6O(!$|^Rc&dpQc@%)OGLF<>m47{# zjOq{d$3J+dG23SoTPgbj1CnrYgK8#diIA0W&+Y6>`=@$!^Z5!%0w^VECIL$w$`te= zbEb}%L~YrSPw_K>^*InH{dtnESeA2Bb3?+wYBQ~W@9LsxGOFp@X))?S7y?7V7N7*S zt|P>Jh;ODb>!CURNI4-Y65MeDfAtvY6z-k`NQ!9ys}f8Et)fdR&8L{4okp!JLp@QX z=H?)%AGmQS+Mq4)kK=k6hy1wV1IBwR03bhMfTFd*@P)0H=feva7bd`ZdZf=8dSJPV zV;EM%-yO}Xvk3#W*Rmk{*CD(Em@Z6U`b)_M2B}cCI~AVeKsTPjSRnN8D@!2x-^Y00V=G<>Le zfeg2bC)==ZRi0g4fUpMHlLL01yWfowvMFZ>*NFyQQ&kXUiNr*2*tP^W1XLzZa`$utKeD)g&ejct!@|DMDG?>Feb z`b(xZp`>U8R8E%eCuX+@=9_}3j_Uxw`kO<2;S*I;V?vqO8vk$N`)~ChB>cbfAO1HN z{-0p{zvI#WO_s#}^3iPng!4b${!gv{`=s^1^U+NIsPljE(f`^0A0N&7-}q?Oe*pUb z_R;?#(f`Ls|HoYazkKw6@*MteAN^l~vi?7OGz$|u(|`5RUXbd@Zf$KSX3>wU<-q~Q zp&9o!R@a4fe=Qpbp!+)1VbuoZ2nfNRN1tA zKD^-X6ukN(U-|TT<=yU_e&*gz085f3Y0Um+KYo7Cax!Yx-=%%hAK}Ds!Owp+3YWMc9 zjgLFFJg?)b<|yN-a~T#kgVcYq{$eTo1}8FiU_r z!oCBNDqt@|{dMV$)Vfm#CQB37zmI}cO%L>s8cSW3n5d)CCfygBS33bU=5V<3e zhcSu#A;=3OV2IM@5x5F7%*j8(6%KeDQracG<#X9Xk=(rHLDxe ztQ&?7;zN2unnKb<{YBG7n?(afBSlL^14K(in?%z_!beP^w9sB@@HBXu+zsvz<(pF7 zak+Fd!+iR6g^*&Wh`%9R-;;pn9j~+lTElW{FEPzK^fnT5w(q7$o>1ZXT|z|lDwcOuj#-!EbX6(3`vix7+Z8$mWyXk$i`21M!;LEVl$tI`Wv1Mt`bPZL-0var>-R%_R;p_w{-b3)LjOMFK~E(at!us z>N2VL6?Dqh;Hay?u4__6$VwuS4KeM-m=G$neEj-B4E2T{Zb5{bq)l}k?4FW&nN01J znxc#+)OHPJwI_A5fH88~8GW_C*3>vKOA=7a?lTKp2>FITz2v)1uZyvt3VlA1#cUBO zuaHa-uQTExaIDvDi-CK*VG&{0<#%BEza@ovnBffO1VKs`C~Ijb?1tPWc&E_q1i}=m=^vq}mSB+= zfRFC93~sao#78V0Ei__?VFh=in%exrO<>`-!>0MJ!l1+R8|@8F<>`5g?PNaf><%Y; zoqABdzLY@^G#d;3vggQ{Eq-8p>;_q+fxZ@C*ybPgN^owJrHGZ7l8ql=db!dkUQtFx zlf}Mz$-}>>Hn%OgxNJnuKJtW!5K0oly>!iOrJuPo2me{g{5gon0bS8CL~&n-frkdQ}=R37TdoPH1cb-Ig5=-pt2^ zK#m$3tQ>)b^&9hF4p{7~Y3nawVByl+cOm2(m<02?G%c^}Oi1d}7jdx?NxH zw7>LQYF5jttY5eXZmzK2oA3^=54=e8K2t(I&}fuK%SBHlN`}{0uBE2ZO)M5J5~+Cj@;)MaPmbI;Q4H6}Z@zOUjD3Ui z{T83t&XF*$ENC!Gw6>BBJKbjxnGGf?B@su&U!^#)T?7t5B=3%4gs|Q@oKXq%rbLVY4B&_sBz5>Q8OKOTa^6`e?9w z>!>}N(6v=+2K~!oIq*IK^w*g44e__HoJUhC@bB7O4wlIv$vj0xqK_ahQmn!sW^AAb zyCpWWs;ZIG(k0%Hc`MN~K_*r;{=|oCKrhu6z#EI&Zx5VaHMR$*kQtv{>Cx~OI%`C2fRBNRB409oC)JP%qN(5r zgo%xPdaaGS!o|G#_V)iDl)Y1wCPBEaS+;Gn%j&Xi+qP}1%eHOXw(Y;V?5Zw%YVSRB z_E~dg);i}RBO_z2xXGK$h%cV^0Y1fm6EWsy*w}u3C>j{UJiCAPCU#51g1fqnia-t@ zJt0pU`9`<%V-gpZU(nu;&E^yI0&78RJ$z1;Wdzzye;n8=K>|d=Kdoe6mC(4DuEc|ChmA!G%`IODDH~L1Eq}*TX<19)U4~Ny!D(#5Y6&02Q{7bgJ>#K8{Q3#H5 z4sjY|TM-nTr1FZ0Zf%6`$Cgi5L$q{3bt=m`Jz%z0y~x1reA6;i6dQ1jBXRHTwEteRIIU?qs> zAzaPZ2G|+x79M3!b<>YD<8u>JGSG;*2LHu%Hc2yk8ZFa_DXSK$SbAZ#Cr^sku|g6? zP5zNaGz?qJ9iTMNM+M)RtUW%-nL}pFfA-?xlbDoKh{#A6b++DccXXqKK?Q&oS4)&k zlCJ#H49jlP0|UL?nWfj$E9NMW$SPAxLt}nK&ur8xWN)7s+MSv)doJGDiJNu(dVz+g zd`xvGu4{fV3#7WC{KY{}O~#dMD7=1uvF{$ClclOAvy6EZvuKNe#T``2O$vW%p(d$x zCrBU=C$$WL0|fq7FLU0hhA|T;B*r=fb3BN0)z}nHWe~pcvs^a?sUU?ozQzT~|6+In zlG6|sBn5paD~Nb2LmsO>Uq~B6nlk#Rk3O9?5iOOVpGY<}5wM>Y9PkF^O&rfrC{b2F zQX)S|?r5WGA%^#hp3LW@n3pAIi z=58{tJK?T^PF?HS-$&RyZz}WSPwL~j>h#Tey==O+_oMWCe)U?jeY?-O==u_C+?&Y& z%wyE<6SU4l)EchUw_ZxR(Y?Drt!opu`ZeeAF&@0%Vgn=j!`Sqj=m_EOiUYg#m@EoI zKD!U;svESwC@t7omwcB$MXmEJoGhxFvZ~i2g?WU6 zpI%w07a|+sn3YSXCk&hxm7I!AY^1Dw8Yx=H)Js&3nI?T=nA2#Lqz|xfME}%ZYG4yn z@oV5ZTo0c1^Vcp2avk<0DIzDB6n59MCnfAiRUlTM2+sR|E{YGQYu8=%8k_6w$b%ZM zTM2NgLqiVYBMp#b;8#Pafd+--h=Y{GDdw8uJATS-D6Lc+!AxiBj{;s z&9O!K;d_n6smVleFzF8)XxqZmVbqL2vYI?!Y*s8?etj(OTB%TAl4AICXM0N-<$Vh` zFJg>fG=T6IyEamUSwmeG^F`e_G(sS)*`|Uy17bcU=Ag9I`7c3h{eh!T)=7 zzI8S%459yuFg6IthED-_mSi3_DrL+F0A*$ZRI!5=(6vttm+J$E$cr2@O|ZhfFJCXL zA!});X-Ilcm%V?QVkm4YX@`xu2l58#L5LhuUq+UiPAN?ySk=@N47FvK7u81p;Nu-S zE2B_MHn4&gA;ci?+-MDcK9@q$-%E1#^aBd4UX9U>uLV)`kbgjbt2jD6_$KPk(3`6_ zYHJ+azvu1Z+4_5hPB_lWO-k-V#!da3gEI-hH&yVdKGV@i z4BDK)HURB?5)ttL${<=%NiMf$#fRH2``!)a8W$^GF+nRqi>xgAl>U@>a!m!Gj9`f6 z`&?`Wp0Lld$szunp1D-vB!&w5LfeAqx?7O5e^*Anfgmsivt9in2$Vad?h8DNQfRdec-v=t*|9Bk($Mbx_+`AYg-D;R|=Z;SQh_5Uv?(r zcPdhI&B#lw3QAf|V0Q3|b_H4)EylxMC#Wn{oX_;Y<21cL!R^2>fMVfiNBn@002^!2 zQFtQatHmy41)hoAALvy@53t8}f_JcSU zfRx9TyVHACzQi}z+W!^!wA%Z(Iw;zRi$%Ub4LNhLdvUcADsQDv+ zGBU(mRKXkX(<=y;BkFZ*xB`YGPtg|`K6WXcFm-q$ZD4~fSPTz*F)vU$+8lHCdU$IN zuZBmYv7j0sci60FtKN7!(2&Uu-3i(k!Bb)!5ORp~y4BY6+-uPLY8Iq?#c@YvwE4y3 zdjjqRk~8&+I#A-;m?{PmBz+5bAoVi4blQUB^u(Y#ZUCz-3Zg+$(4YdbUbQh{^529( zha!+2Od2u1z2>TCO@Ql>L=Kk(Y`1f_z+`O#Oq1KIoIRmH0O>3~PE2i`f z(wNoM{mMBB`jSF1bp?6ma3@jTt-#vBkX)MI=a;v|g3P^c!_&N&e=M&<#D?fu5R>p5 zkb8C>%vY;`ePP=mI1NT}Dtcvf|0Rt`(MqIJE$7@VQ^C%l@3WVIkempBqt|8c6 zyAJ?jrc4;3n6rC-MoSN$)9^h%r0o#su!HqfBT5Z#ky~5Z^@GzhWZ6=wC@BtL<@Lc2 zAVT7-`Gf3(KcI7DUWvU-rZeP~=REkN^;jYHP7UuYsVURomR@Ly1R2<<^4XX7IRrSg zc34HPo;scE28Oc4fMTVBUlz>OV(*9^gZg4ln24+X9G+?8orKQA(;zAW$QAI~t1YNCysVegD^T8bVO+wyF z!s?pw8AXgLEL%NAO>9N{x)|1F6uF%H&ew~gE{57%g62QbiR9r6HGM>9`N=~h-1OX; z229YFjS&u=e@yeaAC1010FviNVqcb`6sM(jhNJnI-g+T9y@9U^Dfn2RvX6!UVl`YE zW!)qCEB%c)ZNQ zteb={7b)9om_BF4Kh;X zU5b+_1rFFb6);^ z+2tF2%RUev0$uskeVEtyd_e!(xizoYIgMyv1N+a%7}mO(g%N`4J}mUoHI|dMXjln6 z;GLsyY5|RvsUJA-WTB8Lr5Qsh>*Y6qmHt6p(XICu3r!}RRZXTzIwXUk@EhL>eLmHiuWEXs(V}>*l?(ra?jUIJSI(3 zb!3g2GB@zgE)Aps>B&-29EuVR+5ok7a68Y}5AIRkyy5klZGJ}9yb66UeGYK4owt@9 zqCdCR2nRy3u4ilC1)%LO{s~n3JwGiSd&Jd@_3BknXKH2|$z92m(lqFa33tZ4m!yn5_@K2Df1w5NRvJ&ARrnpDRPgof%7h*mn>IxAjIdzouO{01JVJK5~ znfm~2;lQ?&#rOOvkIleH7V>GV8o$U3#nyG1Z{`DA^WRhO@sQ(e!Pcu@WkN*!yqfUhK2*d$gw9GNn#}p$Ru=;31RFnoCE^r6` z^-+UkERXG=iNQWUIm`t3@J76wfL}yl#CSl_(r(`u^Nw!`Z{cd*v3?26 z5&#Bc5S`qc^3*8kO>87O{v}%1t|r3Q-kO) zLZrS0FX#tnO=YFhg%h;_6|Jg%Mv!@BFPd)X29yK|=1DbY(j!0lFBxs^JH@q9Ed{Jv+_b<6-13c)>B*p^$I?($Ln~QE-!UUjQQ45`A zu*7^y@MB^+kaDx|UPh3Op{BYsfrvVJWhkrwL!DZFk(3J{u1Dy?8kJuwBDpd-z#QhC zkT6ZIVhS6G`d92>{vcd*g1NcW@{%Z`;w8buLhzL7_fF}7FbD!2yyor>-2RR`8uCFP zlVB2J`@@Xc`~TwIq0+p7u95I^0HR_6hs%uA@Wa^{fN@zxdVmnSEX=%8ER?H|ASG5o z=e`&mlAWtz&sweghf^p5$W9KrFD6vG!w~!vyuzeukxm7zGO_fb-7eY_(UziG|C0<* ztb-XvN%+iKCD1)KZNRw126#waC>nU9`9ma&SU;E?p8_ug6(wpL5#Yt~bjG)Mx@>@v z_vL<^U&|`b)N#O}q@?ca*M<&>G_Zxgr5I0HQ_>Dre7Fsq>(f_&j5tHUPkmw=0n~!! zL7;lUU=U=Ey z^*0b(zgW*&=ez{z4}_Wru-#Ieg7p}{$S`oW4x2@8q12K4N%QGCxmQdrW|xFY)1;~~ z*lKR}JZvvclq^ZxGxT&lOqIx|@#%9-LHam<3HGw=1@lkzwb%?aicY06z-nRi(3)zV zIJvyu9bHd>ri#F0Ly_;$E?Ui~XQ0-a*0)~Npr_;WyGqyADIp_kB2;vQ-i>K1Az zy7i|4{aL-6(NJcWb;F=>XL$3lT(VFye8Mwnivm$5H`B-bUlufthjhJay>h)e5^)5E z3A9QONT8a7nuGFf3;=R~AxKl1bV;;yN>)9imSxANb7*;qwV!pRdDf->q4LajX{>ZF z^ULB5cXlXk|KfJ09o-MCZGiXAfConXV8w%!FIIk^$Mx9wX{*T(K-@WrO=1g729^?1$N5w1Rv48q^mqUR=!@SHm)E-7J%{JLKWizH1 zY*DD>Af91wz1BK;Hj*ByA8j|~htiA6OUN7-E!Ts)ugQ` z?1H z<;tyrEBg~AfON(!gFqx6p&m1 zt8f({TKIIAX=bZu>WJ>V&kcr=&vwa7#;%!>EEXcQD8C4;hL!Emuf*iWwjI@ENF~nZ zg?y{;If;1t<*(cee2Y6i6i475)kqrm`k*(bp887~D}qhUMIkTIc17_^PSCD(AllwV zWOG1-z#@5@rz99L+;FNs(hpZe?_HcmhvYO^>V?J+^|O&}kV_Id34I1CjM>d($|#Z- zG6dl0oyc*4SR1gHp47z}hW@v_k9ujK9Rwb+}Tp}V0v_>GqJ+%l^p zr^Rw>!m1}HhDPG$6?{687p&T6V}Ud7Z$O%%#9c?>AaaQX+Naa7^UZ=nnR1{^v%JEn z8OpFCB6VP>ANknQ;3{cQt7~$ zTSX2B|Lz+beDtILZ0+C`lN?HQuEfHPR~3P->hA>at=~`I0-H0Rrirrwu1b+`vDDH?NGQ$RVE`_ z*E63~ht2xYd?%|q2#Ya76@Cscgq`QOn-^$V>tXOJC1R8%;*=gN06a`lCpZ`5Cg3K% zmu=Vw-qv!41LzNf%k3pRMQW|01afmK=0iz1Yo@fk!*p`_sUkoeCl=b-QeRO!Z)a99 zG`dVo`|=qW@vPj`zv6dOD5ya`QopUYQ(LWLcxS`Fea$lJbkuw5$2{ z8<3@qb*%;2AX-T;BHrXDG(N`(Sg$os2iMf`ND#f>SdF-#D=YBuf34(v07J6CzbTDc z!ST&v!Cu31DdZvDWqnufFNVQOOFJ9dGr(RT(Oj6`1O7Id-P;n38G4AAlbi+-_9Jye z;@3zx%qWmiCuU45gp$S9*T55A*wf>l7F(ZJX}Q`8a_xt`?#g7+vhyb;pqrUb)tT@n zE)&q%5Cf#f1`0-#;%!l5!_0Chydk&GryHjd9-ve4Y*t)1^3FHa^KVD4;##_0WlBifQs4d%{<`zsRf$IEKW)Q-0} zFM|Zs@}~MCddaAkxd+5sesY>j|5h%NkRQ*8O^GC^ujZj<^0!SRDzGnGLWIZ_bMHxdsM#d|MEk6+uEp!BR=ls*=q- z{FPPS@xuWV>t3XIpq8`5`FruZ^iBKPcZYV66NN2wY7PA|G6*b}yer z3THogu9|%JL%ocJk2Fz}tqso*n-J4m+9_{m{^(DkQjJ#4xDwMu=SQ_vV_88%AAkLX zXWvc%U6p-KfHbkAJ5KNBi~#8;cZu-^=e~-dVTzT=gfjNv11TDslvwuc868Bom(1T@ zS>OD*i*k)X%0^iFNHbl`OT%;>w?Fox<*#X75T$Kr@GQ;-Nra1{z(PGyocJ z56Z=jQvwhFU+?FU$5M`?)_h}|%lb3lt3l`06WUN}f8Ty*+@JF*E)UShoR%GvD0+%{ z>h*)>bZD6e*%sLY=;}TB(SzqQF%if+9}*o>Udg?PO*t`x72PFPE#bD57IYuQVbHL| z$xANb%5kx_dP`qweu1i19E%DR-|$(s?+%h7+=aLTM1unFJ2SU2K5@4kq2a{xUQ;(t z$`2F{y2qRCG)?UDm=e>`GF*)Q;VfS^3ZJomjnGP!-99%0&eg znrVXH5&6{gO3U$m;2;BY4%qIHCvfoG9sz$+yM$1>cvUqPrnW6{dmYoTWKM6bOGvGR zTHH*FLS-}E@a1o>M6B;$&>X2>vV}=?ulAMNb4=D6p6{gR`#!94y>zIpga}oIX9(+N_i(`#8+)2-7Powl1uo-oi#;41a|N} zOCO@`&(11zYTugy`t?pNlji-!@ciZBw}P@rnqDp&vCKcj z5aw~Sq#XafaFp2k-b{D#)ff%R?&M|Di|vK*?l1Z6fNQ29J8Fy{rInD-kP=q9NEdsa zVXWj?E%Sl7BrO{=!BYa5U{_KN?I7Yt0$ox~_QUuW({cC+=@%`VZVzg? z$dPMq=Uj?-_hjQ@Nrp|KRc+~fPhigy8JuA^DY@xgb?`l)_KLV7QeSt?P$`H(Q1CvV z7aR2c(0WS~_*0TYV&coMT@r1mt8LZo4qocreBxNk0I^2?O-<<%v#_;*z!JRV_PA}h zOZJ1Wot{#zoZzxml1b!|$sO+=^82dO>>aqv6>NOdZ}PEkB+b1n)QF3aNMNO-VF?~r zFg;dvU2A1s2p)Pw4W7Sb-ln1DPuoL4G!_-^Ff|o17ikHvaurDCVPJ`a2-RR+H@mqe z5GyUk#IRQBXU7E1#eaygX6YSdQ1My4lFHkhHdWBx#_41v9Z1=Z*}3WsX2cmS?FCXL zU;w%K!tG?k`1dc%Ur$&a9!A+c{66-V5FY+`q{V(#h!k#alv!$VCt98?%!D=qd=N!)qC33^N*a;^J`sd^s%W%d=uSeXXXHZT@jE_NiIh zMZXxFU6H_bNFwBJX{@2aDsUd^$5}wO_+yYJq?~h(@V-`iXwhKx2yT{N7&6+7+7LMh znRO`vXeZmY@`)(dI`~$n14$J+q197UQ_LQrPsqmE$(g-4*W06vj@4`JJBo8{OA z>S#ieiRPlT6Z7USn_mhkb#9Tw|Z;fGrnr{+7P^^__nXXvle#{By7?DE)}2&l*y1P;Ex&d+0W zrPt4*tX;{AA3D(3x_0^Wm~yh`)c6MBWT;+Wo<-Xyw?mkthyeJH`#J6lu8Ci^LMjq6 z5$<63qkbk`zUggrj@^6aZ&6uA-|eFB>LlEA**pg_VWR46Pb%zs*QS0Qkvf+ZwuB@U z-CXjQyw_cBuqW_n5JP|%cB=kiaH5GAczvbs;7Z+XjSWFxu~w(bRnGB8{tB%p`Rjl4 zhDDv>qxD{^5va4Vml!5=nWxb_;_i)BB7ccan4`3%1@>-DrW_!3wJNBqZV*?Y*YFVF zVTn*nM32BHKe9oN!9TzP#cqj4a2zR`gSx0bC*S>fW%?2c)z?aCvuXNy`w>cRZa4;VNyn=z*ptugAL&R^GIl=6C$SnKjwwyxOcIsey zW&yHT0yU^BKw2bxRPX27xPE}#*ZWv|D(c)}IO!A4I{sE%9EsaE)B&7!LN!1(g#ei1 zcOv*UolZD06i--~y@-;pX#!J7{v52&9kwIeOQSHRFFL(|j$*4NJ+l0Y>GBHlGdG~H z7rL{lpr$aXnl_=#D&x(dn@R{BUuJ#S4v|-~4{YP5c-sdW^qeuL^AE5D9gJ9gp^hxD z;*6o7hmlcy_VG8{;(cAD8z|B&J6MnK;0H)m(Uz*`d~V`wR%svz1Q0}w3gx7@KjGuH zi;m3={w*%%+a5MZPv~l)r9WHS{p`7i`_}syJ+iXgr`jcMb-ZuV&NO{`YZ&Y`P$W+- zGpo@_*%iX2*Usv*;FRd*mp8T3}6vkeOJlBH9F@DxTv3$$FKHuFf9k z*F;w-(r1X4y@-agn|5*=J93FE*b6mgnsTc!Jt`(7B;{Ne+=f%ziazT8zuXlun!NGU zgm8AkU6TON-`@vt=;dPk$}V9*s}l}uVUoFqpH)2q8G;ogt@}as^rxtLJ_wewKkBFA%rxrGstj$Xt46TEcib!dR zw6e#=)s+G@hfb(T`tezH#5hJ%!XG3BP zDo;6DY#e-C>}?W=`4hiou&p7O_^T)bL~AXU**6{mI9s?~Mu9m+0FRqh@70522Ms$dZ4Hd*<;=H?#i+a1mh{F2&@ z_nBj4v;XnZ`xeY4S-e{#p~+^)+Dk<^1KPvS3!NAw}o2#vmS9 zPDR2J*pk;UxvB67!%RS3LEUSDWBo;Q8)jMZAJrr9nd!J&)wbLIM9R1mt zXqpu8(85F#z_gu+09z5=YO*DiYpGT)xjGf|S+Ya}PxQl4K8QDGSU)ln(@dT=ThVjQ zJ#TwNT;6dlKHyE2#d$jn8x5%|OvjENH!I{gtOoML=dqV13P=%phzbc4mvlxNT z*O8Hla%S)~pxBFPTmr1abi+SL5&L>D4i`pnr(t>U_lJGTCmf^WCD?MSpWHAWMSaxH znUS&MI0nV~FY8#-bn-lq^D};D$b8W)S>M-eU{kn%Q*ToQG=~+#bk7|O*sR5X+M&Am z7@iAFwqfx3&KlhK!|VB=bRsbjNQj^aN`J-k5^>FshMKuI$(R&RhmYNK4~9xFPTg&* zP?xE8@Tm6lursEp!^s?>qp`NFuC~T-x?Hw4BX9sDf-kFXZKLJmYtcVCg!csrbDln!V3+onh|k);T%q50|(}q3|?$X(aJTp zyu}RSgc|sl46tTTTo_HT<`4c}UN(y8^|VuMhXXx^2f>g^^!0OmLs4jg6v9s&J@}|r zuPdM*e1tk0?AguC|0X(se|-&*i3k-=xjU`E+5rzMq8*w=^|~ikfU1H2G$I{B%TWY1 z*JGg{0BXlr3aY`hx$%XLh{#N*5TH~c-Pb_~Ukd|XivEq8xu(6J>InBCstupS5;riF zr-sjMXt6km?!al6PMm%(8kolRPzWO}T_tIdF5HHKcXp@a?mY$QM-Jq^PQHh+UR zubd3lFNftd0|mFcT(-*!Asm&@3jt>=1879H=>oCWXUcs937g2SSkQZ!9K&mI9qMJ7 zrnD4v&Z!Nru9e4>XU@MFP2%hP`Vja+Bx?tL-uEKyS;!8wvpY!#18-ycIG&9Km<_d? zwgHEleNl5pfTVyz!134YOYB`p;4?0h09g<4x;3WKf`e=@n&8;7$?%v=ES;_QBW?Jh z+!p_=!B84&I&p>tq-9KiKI*;NlCB9TpW(Wk*lA|ul2B7oe*^d}K)$Iw*PE=RW^dsG zhS|?UX$0gV89=`<|DNQP|F0b6e@dkPcQDBRZyoi2QIH%&bj&|uUydI^Jv$5g|ARsP zw;}dt@P8&C|MT&G5RgAJ|9=ojCYB$_@qc9?{|ELc$)Lty$Y5yeVCv*-XlL@@&g1{; z{fAPQ!T3iW`=4G~1~W@HQwB48S0@Gw1`AII3sXA=O9mSTTLwD@J4-uL273nkpVq~;CCp3{FQZ5bSFT%8%57@SRQEsgDM?CpMfZa>qVEj<{V9Sn_48C)1#ESyY# z?(X&s?hGCbo(x{5PWJyVW9@%Rl>ght{Nu3wkCFfT-TxmDnZJLWwf{4b*#+r?I=1`U z%CMQnO<**2&2+6x8YUh|0z@)k9>wcs2Hoah*E^-_kYu9OMEkmR+qTNk~Hs*^M;-IF#Eadxu?(j<{5Q8u|;cUx{r6xKNmSeHqVR#C9?mGeb3W< zp?BUO4ryshR7}mpCEcu$}W`_py8Q<@*WeuYi5k4yJ_W3a?v*~bV#D4BBI`94?hZDD(^wU@PczQ_Q zs5@9_D5yucP-c(E{5-z+fzg&WK=9%_VXW13_Nlupd(|3Wy?a%M9uE0;Z#xxoeFtGaiyQ28)g^iVt@bu^&yBw1zgsT z^@5LOZZ;FrG;P+Rh)!jhEW_^GSY>iO=m=lLi>mA z7ab0r7j3L|w8qDdkx}c04WswdrD_xV+%Bj0_vKL2j+yriK{J}BmIgtqOT$C`L&IeQ zkEQ46zwRT<)IF^)gV(B*j1`wEY_+E9Ck;<+a7|II5)D(0oTj(=bLlGo3AOP;)1AhH zMnY3DYZ~iWuez3~mO9rE*C5x{mf5%LNBE1lnj39@LGAh02MRAl-*~r@9ZUPoJcI({ zGc+yXwS}1n(Ko(N_)pwV#5eulYQI~5ch5xquG^|^+puZc8XXxOqFATcrdXhuDIGXY zoRQ6{v+-+vT`?Ox)^BC8t+B=4;%vRyuxr_|^&Vdx`91i1_xDokaO>Pt_7(hAoGpKo zuf==J)pM(V+vn2k;_SdRc-PwHZtIqz`}}ozPMdCoZntiwZfeee-S~C#4x}65mapk^ z&CZ-#-{$9#o{9Xr^3(69`%BD?x_W)%z6HOwPhxL%Z~1pd?-Jh%-!9*{PsjJ9r<1F? z&ArC&;jh3?`DkoX<71{9X6y8sX}e>fgJCdc#ps|3bEyoi(hO{~TE;vkeP)02vIa0% zjnteWdV{q3s&)8F1ULSR@y-T48z9_Kv8G6yUsWcmHo)3bZVjK8Sl%(8(VwxONuOn) z`v&_z*}|ONhqskOxCr*#-52$vhD}3y;iL$?KM}(V2$2Y92$~2u;X;tX!d*l0L!RL@ z2yOU$t}lc84MWceeH1C2m7gsjqZWM2$kU8QeY5amg z#q6>I;=OvQ`#W5?qlRw?v`&;UH&*nt zm$Wi9Q`Ovpm><-0Y;L5I)NfZJ!4t%>82**K1i+neK<6*8mSdWqIX7#Sb{6L+)t!l* z^^S;?RkGHM;?rlLZIQo3?%licqK%i*{B!Nd|!cAc=S)j=jP_?7A%9>nG`IOCzNr!{LTH@rKG`FObIiIyS8;#ZHN8#1|4OdWf5gF@WLO-wDLY~cdWMTwe#2mo<_$@YAHKIVLNFRl=4P3%~}Ilw?iNll|F zz(R>hwA(IQ%~;L`E|XAOPL(&uKtKP`fKGbaZjH}W{!0-5TvoxP;FWy_a_YAz6SU)Z#$RrU`wd?WMr``5;rR(7mipZ`%~Ab>qAKU59JvY19E-t8J`tY z(@Xxvn# z_A$nLT;XVq6y@pe%h@q!yLbs9Gjpmq-yJ^V+2qEm6Q5-N{_d1w7W?42yelV2J0=oN$!p#|FmtwJ*h+*GNE({U|Rla_u1kdzM@%5px6A>d==^1``%_@nRT&VJg{*(&c>g z)@=t(%L-;RM5~F~>EBjwHiT>v1_dF@A1LC^{tuFV2mTco7Jr|{ff_Er?-acq4*3U?5F*Y9}B$|d7OBVpknMSOQjR_R^98gVixPpV zL?t{!5<3#_uMnomzuJ2D5Fc6GH8^~%1A3IwZ|B_hynqDM`{AUk;seylLjo|LgvD&b zXv4#Du4f>1wxEB|&AyGQw7PVJub?oaD-a1!D9b|5&ZjZ32yP4y(64Gw4b4P;{@LcY zdaFZKjnrZibW@DUjG~)CAbfG-m9#1;^*ge*pku*Wao3Ly+W@7DZG74gmt2X?VZPo? zr(S7`ONQPDRM5VD>yH4SHYzBNQ>XAhweaWx6HBQMwdz!d(q26W$=xwKXO>tIs7lt( zllIK~e7IJRP@Okg9l2iNIvJSC=;Jr1AHz2{m*M&=&ALbebf$1LB|vvvkPb2Rm~E`f zDZd*;cTUso*%q{F zGy3QeMj2v#lF~ojqN6NiX7hw07OtZGWd!r@Pczq7RGIrpB}22(qJ71kI5ZPT%nuSTHbbp`AVTTqh5MS8k;kL%UXs3MkK((w$$yX=iEkqz zRk6y{EG#K!4Vn=2QSmswr=)Y%6ctiR)ELS{QR_G(kBnuKr}BeCDjB5$g2XBIe2$!5 zj7x~M1e(&7( zU32W#{Kq%FeeEaU7@v%mqC=n##C~`I@B2c{NcaNp^CS;ko1f?BPqI{mv0}?z9i0>X@`Ls$WIcCu~7Q*96? zNOfayb?)Wg|0xLYgu&2F+~{2(<-p$ z5Srm$uuL|@nK#i(afucyS-x43*N%;hYXi{m>yA`pz?Fb}+tu{jy*R;M=OPc+c(BQ2 z7MD~IUoC#GNR9im92~+yFo@Czde&0H_{r%%ya}#T89+d2og$b(pV1aC0d)9{aw$kW z3qD2yW%K6!hw9%p zpcq*OTnS7N0F7}xdRuBTCVP{pE(1#A;+g_V%5Ejpi$F^EG|fpOB9wD$GZ6)m=~jX_X4ly2CtP- zgyY^I=z{?0819NDSqC3N+#8tFE3nKMwFoA+Y;a7+W(w3U_N?>*2}x=dKt2g8yj4po zel6@q8zskWK%KX%D1EDX?Yv5?GK?~zIyN>6?p5DO(8-B>ZT8y>ZMqYd)`DJ!@?7kr zy6Y+o_=u-RdgmpNsa&g6$_OPSx!HT8p5g0}cBl>e(ddI~;^BWl^b{3TJ=K-P)%0l$ zRZOS1V_Q9~HHc3;S2wDfxp`@2Q>a!_E}|(i_+N|j>E(c)6Q1iYAK#CvIrlt&Zl2#X ze5pEfto+Z!ejdi8w=&bueA7fqDhF8#TMO z=5ubXdT4T}9!D#rs3`4unNEK&a4(_a>@)H9)9&uuSLyp>0bnz`?ZfW)8t;VS>2Ti1 z>|i!6j;xwn8exul1C~h)-RwuOid&e*`apL&wEdhPVeH^RyH5TgvxzMnxyulzTu^Pe z06Q49`R56*kNITVQYFS-eIQJyxkUnt!Ii@U^Kn1SP<{8j{kI8_Z1$OPi!p`JpQ!of z>u8725M&kCuXxn9P#x#Rld}$%5jIMX_^euR_0Dbex+k}th9&F6q&cr}d#JOd@Y8TE zSGf!z2jGc<{$zc_Lok>>FMkIsyB%9`PN!Hn@=KG^1iS&n=W&$(7iI4l+*{bRd&ahH zXUDd7Z0+or|JdBIZQHhO+qP{xIeF*2GxeM^sG1L}y1J|Gs`X*%UftL4Izq-%vwfQJ$|+zD;)T|2HNC!b_@QP>vO&6%k`O^&poL9;Do?1{=*;ob28UAAVt>gicp~?$zhs&-C>y_mel$2>>MNbE!Z~K*1Y^CDd@bk(Xg) z3bsLlLfIe$O4Owyr%2!)eSUs@rR9s3oME=!J(?w3|EOu1n&%>vq6QMmll# zfvFB~xFjrPsNJe(CnD$uBhVdRu)4N=2&eW38Z0I?>#H zKfl&)qWk?U_3Q_o+)UW9a`X=DU{)F2WXv922W{yR2c_3b95N~l$MA!wY|G9k1O?+A z+LRJOH&ju8lEY=b+T)XT*{Orc{y6w8onA4Dl!aSex^{>2nu}Fbu~4D zmuhm9T0*yKa-4Q#pBBdHO{xg_cT|!f9|!A;kT2076rqMPCs8(ftyPAwf(-C)AQM~N zTErXya*5e+#ABgRNPpSnHP_!l5{M7r?W)j)z1;F95RQ+GCu$NEqno&fy@NHV!@E62ilSA_2R9%uHO%4|Kj0zou8Kho3uJIo2j= zwIo8I{GA%4W?lS)aYE*)9f>)`eEj*YC4+iv7Qvr8 z?g{bIfOXUQ(r$g*b0a$C|PI8z+^F`V6}T(67aTW)aw(h3>8;1)3ulvfv}9c*40mq39CATCjf z;x%p_CTj2iV4MLUTe1(LKV2=0cV@G~r- zm0BazMbuIoc7F4Z%iV9y6cY(4OF>S=25@uPEFeQF#-$W$z? zrrt?|$Ul|-8uZGUrHXeeA~|d>_=2;gN4qXr#o=P>q5X7M8PQqky|$AB z5H4KW>)Ew4SoPnFst(H;R{mSvIh)W+`#k;$e0W?t+R)$Sr-2)xv z%x!R`5IP)y&W>bg19cfaTzjM$D)3Z)=s2g#c|rB;GdFY`J%KN$CdY-^kyxFNApi9e zevs#khDY>oPX!DosJ99vf0(Aqs;W-%B8uNxg<(z@Aj(R0BDRw&qSPL~d4i?NCvjtO z((zK{dLhhjeR^(lm^ZizJds9V3B4}0pZ<1}zEc}c`3xs-sOck#;p1!5AQ88E$lwdM z=#UB5%01Y_KJ)ijKI4OJaT|HUB?WzYP?Ul0EhnV8M7V1>#X_3M8}L>_OjQ{dat!}` zK%5$__$FR@eV=HtFyKE z?^jntraIwy|IyHYKWmKLYKYw`r4$gbP7Q+wv}gBd%TJ_R`qX~X;;GouL3;Jhp312& z@@=?(_HgtxhOu5w_)xSEiip6ai1!du6j{QImE6p?g5^;TtG&t7U zjQKY5QU#P#F`l+Bo`lnJA67%FfQj)iL<0FEi)5jM_Hs#+nur(}2!ovGtc36!hf_Jm!oOba&Fs>!kSd=`OLgQd#mk>m^O9JJT z%#N@%U!4TGfZe?tAhLxF3rzcjKJdzsIcAyLs}t%O%-j^-S5#0?*BMUQhtiDT!#6fi zV!#i z7k=8W%mz7eRR@Egcli|YN==|4wR=g`8i`yD&^~FWHDOfEx#3jW)sm6$PtR+AJ3Duy zzdUzEjUi2Gl5w(TMD5wfCYE9(eWpYMHi!|#7MsEJafXYMd@vyG5xu^@iDas_BO>%Y z9@=R|)^kWEkqtV#0BWB0nk9w&cecul<=Z|CBsMkQ3z0JB3s%)qGB-fM+_G}4o>yAY zDn~`VeBhjwkb(ik(5sE-{q2`a7}7ICXShb^;1iA!PI}$OblL_LG9LZ_1d)3U+_3*4 zqR}IYe9;0X&}GEG3vS&f+n{KKCL0FDXnS7{++}B3vqSk*U6okc3293XbJPRauMnD@ zr_5<=r)^o(?J>Kp%(lHbr>3?2B)qEx3yITpW&vuj1xoV|)my`zmnN9*N9V@^=46m| z1&A3n@wA8BfZTwmLnlKgd$;Xaz?^KVZ+Y>oWD1V6@?InQ%p4{>H z#3OzDOY`e$%(c4XO~a%)b=A6_&-i^3A&rjFfmPGw$f#*+V%5@rm7>1Vczwb-jgDm< zK*3heTF)Gxs-8Y;%x>IdOv1v$;?6QO(Hp^s)MUwkeuM{-=Ar+JEK<)FO%0b?eQl;n5L?;CVDD4m{U zy^vT@x`Tp5W$lE(1&|5VUG%>aHhVc3YJA-#b5}@0Z8-JuuKA3ML~rY;DR=E$8_dYE z`OoND%j+8je4${6?$lQv40dPAx4pixA+*0TJ|_un={;Om8BCApvr{~`Knl`Mm-)Q&BrdQYk{k>w@C?6vqBxN>zCI#$jfUSPRL^JkAoxScqp|SEN#58S9KwuO?Rw z4c97Xr>ulB%{EXT&1|v;W^Qg6_1=dUL>~l&l9Q5W*!Q+(Dy&C!ez_K?JQ! zMws2^Wz{k003N**PhUWzUN|xlfPmLPnT?>^$+vaUl_EYasq8#Cp&}gR$1_4ZmUbi8 zML96P(`W4fy>>vaCB?bY9k}VlY7~q~04cA3F0+%vjWDTSW%gcdvIjJE?=UNT;LqzV zRxN}v^$I=ZujBn&;I4(-W2dpx2D03?m}f0NdJ$H(O7tCRI0q9=(=hsOO0lbVtHN8s z%DVuGJI)TA-ef1j4>pMS%Te1!nt@ikk^s5ak8pCA@ z;y6wrr>Pa^I0BF8N&c~(Nt@}Cf{tSPILfs8_60&dLJd;X#JWd=ik;)AkLZmm_K0dL zDI<4d)WF&6Jijfiytun{b6Itn#*DBGi+fPeU=}p~_}5=16Y=(U33(9_7ZD|G8RTo_ zta#0_g!A(;n%AZv-!bH;UFuEBVmEHmW1=j}Wm`0wAxa823MYK`X8vt)@qwI3fh8?g%&(LFST zoV|eOJ#w8s^0!E(b)TKLVzP2(M_gsaf;2{l3W|m)Pgu;I0?lP(bC^_0!qry?GQUKs zI}RFLZlfkMtwdW}7YBtM0CoV-dHkh=bAmG$)82hLtnVpLdqNFfJ8bXL!3K7Smmyc= zj=TI;ySCA=ZCQx$=l-ew8?59rm|*d`5Kp_5%If2rxGdlLseJXC*np%n-b?Y1jZr5Q zFlVsI6`+}LesLPTE~#)@Qn;R+X*TTOH$@R^Yg=tckwCW1$r;s^NjHBxcC04K6F4L^ zQ*D-H*2Pt(l@)kfUmQqoWm`!@=xHA+FUHCK*}@(x-hjBvQ*jnxcQ3m;@IJSH&nCv- zJ%;40N9B*NJbnM~`12_roOvS5-fL67h6U$^C@FqRE}k3Ub=7#B=;7o-q`5ujLrEDy z!{2JU%ICK~PEeR#?L!vfu-u5nOw zk8QOYobc1*U0Zc{q+&-CJYF0bmhU}oC8Df$a(zC8VRUc7PAswv3$$~bbzIq2eDh=K zJaK{|KWx@GS65Dq;YU@|b927E#5e8Ax4%-S4`}-dz=yr%K$Q^#tUbW_3zcW!3Uxc; zjjUdTo+m8@8@hM})Y5gS(3TG|5|}cP;lH+eeTSR2oZp_(Zy-F67r4ouCT?QIp}Q1yX0I;XuQ0zk)p?aRDIS*C zRN-n@s7ix4C3@jZ%^uMk9=K`O@A%e)ygdOq;roD93i_e(kDc{}VpK9Z*mYmjk3X-I zm)WvN{(thlmjrynug4Eib8Xo=Ny&TOsm}2g*iOhFvga@s9(03p3Jydn3;rQFwVsED zTZIZ;>AP=af+yd4dar-K|MdhY8YUk6c0X^epYX>wtnO~H>xUH&?_6uTGkwd|F2`Vz zYlLj;a8*C7&8lbOSdE^-7ORG4ZoMDvdU3c|+;240_RDQ75nZQDbqw@(94Rc=B{&j( z?+Hc4*MaOnjnaopqDn3%3{M=P+18ZP6>&V?WzdZcAc&NDHc75{dpm6n%97UhLyMGc z!Tr72o!0*pO68U;uh8<%H0mDCha76m6mpW~UFW>2yMj2G z&A*rJjYIIZ=mDoblkC2R!vjg?LWn4cB4zjI@zY_Pbn89Ad;Dl0h4AiF^K%3b-)N@S z(Dd!2`JWk;oH*olxZa?r!(U+enGqZE2a&JmT!Dx7=#QLjDPb5-s&r_FJK#Gm&1lAS z-F#u@1$T-&hZEATVlFc`@4n=%D(23Am~VJqBa(-QV%hd3Ki(!v+rG+m-XoQi1&$_N zf6|kav$J*A?9GlQ=GQ(*JazQF^mX(nC)B40GIfkSN!;OVbx>MEqe8v1#N;(uFMAqd z%xdSuidALLGoBb69PU}~dG8JGhfe2dQ7dz2h1L?0MeO5PkWqe}W}SOoFtd@B$*13=!TI6RwR&~)mO^^c5k-dB6!%TW@%u=`M$HTekQe&O2iN|Ww^3zJha^EuE za^9-m>fQ?0YTU}gD&3OD^4&7nO5AFCU8lCwGy7d-CzKtZKGGo)=)0I3S4m0mD#!#onCUBrzgK2W97AS12c7^j*KapY$29YSP+Q7W;Qk@2``MnNDbx z(#b!vAk_gZgMqdIEdWJ4R_sx~drKdpSX{__23RC6pDC3Xp8?z~5Srq3;MMlyx3m+w zA`Q}@bBrRoYp#%YU|D~b-3h`S z)(QC5|J$wUo!<9@w+bt)vkwjsQ`OvxBwh)^YTG z3%b7MFj0|8Ej4*1{Tu&Ooy}u&q}7f&nMbhs+>-qj$wKzKc0<0OmK++fIZ+&b^`*kY zFtC%sjxKV&Ily)7NahmFF$t9MhCN$yV>_LK{iqV@7nZ){KaFo7RF{gs8&pWxx=M3) zn?P>$z*;#tlwBfyyWJE<{5Faok|FPQT8l!wQsdz{?dw2o?CMA;VN&Er^blMuqhBt# zv+HCp`p}2}SR*%eV|H8sAi#SuXGl)Kw!hv{Tgswb=+N@j`nNR0fBk(J8|v;Sl1T8L zbCu-Wc5Xe#aeoh+e$vUsF#>dn`mSqCnc8@y20huHr$%eQ9XnjoiYe4vVB6JEkpE)S zj7_7`lh=&6*afZ?&MsVLe#`6N?{WdtwyPu?QVCRV1fGF@T+1z_dOIQbUJ;>*kA9B$ zjWkSBrtxz`SSqf*7stbonnM2V=^|k}sw5uc!QY9aAV@MfU)yFYW zlDLvCPEZDevL@OsuW`Qd()?WHeeXkF*w+w`SR{uWORP0pp^4660D!CFRRqNq&Imub zp9dgbYKV5pwDx_I?5u4w>U*^r;@Lg+NqSl-8aDnm#xu3xbV_S=zVPpa_Xw<3-X*|* zK2gRQiuEjftHa`ziC#c+XaF;lJ3E`J$#r6Ie-Y~F=PR310-i%B9+k&YM^4~f${2|g?;)!; zfO%GaKg5O-PjyK?_JZyUU;d9!ylNl+&4)rWUWrKYzyt%6rBb$#!~T`B^{_SbFiu() z-=vD=^Auhm-$NA;TNSf-1Smd&iG4*Mg|{?xl2tbO+o`7KkrtfJ*r?wS1!~I?*y@hL zrd|{5;M!E2QVNyx<&rC2K`Y^1IMsP$s`3cbo+hn zTQV)mc^u-f;m_=!y{m*r1qQ&sdOUl2m%08OtnaMX`5Tv0t*RMM68O4NV)!m<9$%Ze zaHA5B5Tskh215|)Md9>`qqwfRlujjF#HzCfXP4H{6{R5-l)lEKU}vMy=d_-{tQn$( z*26NFJIMe5y^PxeepRhFA;_v`8i&X!JlGb=7k_iDrU;~i#zQ9h6udS`3ufh)M zu2!h?s2c~aWFy;lKSqGt9v)@y;rs+axc+X0Nr_q$^^n$RFr>X~)>3X}9@`D}-(+*M z=5_*#FD=#2T~c@GzBrUtgI!|obwJh_grsvik9Qh*u@mHa`LloE+7Nfh5$El}V}ed+ z;EIISHeN=I$&x(O;$y3^6HF!PTzR}3Y+Hmu03w6}AAzr4!^I(3yNJsd3_7s_k6q?9 zMBlk$28@Zkptpf#J!D;f;!+QWD*R8c?4jdYt2No9)n9sXBwB9rYxhgDO{AD5$xClX zMl`D82HH?sgntzv9=Dx=j*(xxfMT$%9N-&*iA zgt*f7xuzptqwXiP@o17f!ooj3-}glU;7Cz9ZR44DDuA@P1jWTJ0_H-2|No5@bvc4cyZ^^oat(A7%#FEq~ws5Rjo*Y8OO zVRa)%MVj=iDixz+z!_TKZN9maT|>dG!s?XO1T8<$Q%j(;Zpj4g@}E0$tFsNMBEBMO z5)z7EjN}}243P|vQ>wpN+(kS$pI$s}9?FlZ-yvSA2pToU(F)Gz=J(J`nLhgb#gj;> z{VfIDV8iI27NQpJ^*GSS`PP$dvBrxvvH(Nh?p7boDC;NkS<1(WXt!;BZyiDyT_O+c zMkW~0huCKsof8G$5K%F2zwtsj$J)Rh;RvhE@XL_bdZtQth~z0&kk+z#hMzJgUP1zC z39~*w9aXw*T5}L#C$=Zra3@WH$kFV{XB#XuzXBY(eCBtpIp;sOjK4=tdII_m!r;0X z*g1-Mb(C<+5FPcAIB&Li_=OH5Z$0c)i*kcw(;SJfZFkhCw_^lO0*;eJTBExrch?-C zAaNa^$mU}vXDewFP^zaDiCdXCgb4@TRUX8(^}4%k?-4WG1Pd{FLk3rOt*0ziEF}wt z6_NlPjx06EQ-ox)?eOa@CYsC#$S^Ucoqp$o&&51vaOl(aiG+)IYpaVJ8;jU$7Ysfb zc`~{X8M|V2)CckqadzDFnz6B|xe?R1s*+3T4|U(ODQRMru?H@snHeDMhlXP9Ov|#03|EkHd?2JlI}G_G`Pq`(pY-hC0?ln0 zsM>=xfI@|Gs>o>LIA&Cq170QhtJ`f<+~eXJmq1C<(u3WbyQaAhX3xeO;s)e?IM(Qt zGNfAd_f<}{egA1rmp)vphX>(m6UmP+hnk!aupiOgt?QLafbzYybGr0M5-A9g_vH1g z!#AYFPK}1DNU8{CiX<+Jgz_PYc3P|5-5og8j8rWn6&_I=Pe8}Lex?go^`$BH@^I`xMO4Zl59kEAWM?dVk84Ira~&@0lzB}!CC6L{N)0bh2yrna^!^bTx>S-gkuU$MT@xAuBZ97@OL1jQr2!#Og1#JroTEiHJCbS8w zQle=<8CfC*IibM@2svgFf47>hGQw+Mfp5+B7M}MGg8l#~VNa{G`;rO3Hh656UVx@h zc#x^g=0fGJ{yar6DV%hA7T41J^gC_1g_B>-I<&DL@}AoocbPk zPIuZ)&;WCYX?xT&32)wkpRy$GEyDnS@j_ zAOhcb%jDHdF<)Crcl)3o29cb+WE5;^;G%dQMse;bzuS67WJXR({ke+$5teV!zudBg zDMyKjgJ1Vb_xWCn_WAk)FUc$8$|EUxtZOo-qn06Bp=Cx`B0&q%XsGsJZ)lYxw!F>3JF|{@ zPD|wh-5=e-Wxt>Bqy8{O{ki$ZZ<5}W6$kVrIiE451_4sz9Re6W1_nN=1l43@(`zyovF`AliGm&1(4?VJq&!wwiA5P=(Vbqy; z3yz=eFGi9=5PVQp`)lG2AWb(M^J2;SR+};yR1KB0Kq;ZPyG6H}35M-+RtJ<>&(4oafkH+3*Vw|iy20J{v$G|NdI@}iU!|3+S~b?EYL7)}>5 z`p)uj($CG)Wy?Z%R8*`|fb1VRIPv&w$-zlzQ7vdw_B^bRv&C6Cnwk*b8{0Ww|6PIl z)d?n+0|ar%J!Q2yXaefqqTuA zMXg*ldx}zS^$`F z&F+1l-PKiQh>_{tSj)s{*$!hMtk)jQ;2Z<<@5dF?`J)o>%OAS;=W8pruAujgk6WhS z7ug6aJ|A19HdR+J`0>SMV?SA$WvUXt50IUd!+rJ3dvxyNiyfS6&*BN+Kd?7L=MIoJ z;SZM<7<^P#Yu2fX0~KR%c7H9F7nj?C2belEEoiU9jPRrSf8f8^_IY4uJw~Yo^GQaE3PLg!-=LTz87G^kmVFOt%ax2N(?$tz3KTkjg1uZr zavFd6WlMZ>y9B!u@D2^OgV=X-Q<8tW>VW;U0Jk!eS-^FB*wrY-M8zom)<1pUp9vn< zjyxu2a>f@iFklB0*W#Fq=<4Wu1V|s^OlCM7)~CvXIw z%z&{D@f8KouLfUN#sH~#^EPskgJma1{P&;;=25U6)P3YO5~>EG7;v}HJL~`i((IIi z7;>%HE)cOjrEkojj12e96Q0xd#Dp&plSx$no<5j(FScw31}ds5J)C@a;xFV_;C30B zy7Ty#v2!qmqFb{WKW4W3I@mcf@KbZ3WBc13qHhvBO57ab3pp_2v2pJzsXbLmAI=j= z!>7aJZ@7GC=Tycr6)PqAekT7>g!x{&GFKYnloFsLBMO-?7VOkb?W*nsTHxj*OzFE( zR5s<{JzKoLLcvV?MNBtZdX^~76=2?(3<+PwYB!eETLq&k3~)^<_~Od*5o~1ExdeMGQKfF5uHG5r8_mx0ro^mD}<0Km&IDv8F*#* zCr80ktlHfJ9y|PSDf5c`I+Y%Jo!+BjpCMJXHH8`=b2CCRHTMi?jY}NTXYh1~k-thR zEoiL((@l_ES2uU76fdoY%4z0WFlykohwX#D_x&Qr!%=Xc6C!Ilfvu9u_Mf`;ARjU6 z_+gy$rACE1@L48Ysi1O@b%9epLDz~qJX8JKPT}Q1V7DF>7hV7FjGaq?BEkBstuNNdL!2x^O#p%^+hr6cUib z11dczoPCidiY)>-%&v6@C&d1TkY1eYrCPbt+!xG_H=*vlenIPoJn}B7rNgssbBs`& zzK@w=-083AZ;_1WeZ&4w%{?*ix4pMwO8;~Y;QXVnf}j{@5p@o|?=#r@>RvNbiXOE0 zRrL?gUq03JwYy}6oHl%|8B;vfmqLzwjs(fjL5)qxb&)-fa44UVZp>|FpLQq+4f zpbS!LAk^6h6v2q{G7MY2J$yGhJ0$ebVd$KZsj*R|J3D>-R3B4+;5{o&Y%slxl)qVD zGBUJ;_sm$jxS$9A9Wbu@(t5T?RWR5MAXGJ&^x!g9mQHAlnKUFmy)E-ZAhY1TQ*ex- zzCNZ{Yrvo#0uYQ1-bw2~Q)yURe(~Rbwtz_>*g}It{OS*h$l96;8;@kJ*|dtD1Yx?Y zk=U}pfvMy?B2Rqm43JW>cAw$gK>bgmDfPgbB7x?2WpBEH%unhp{~u5X{~@>k|8#to z5)=I`FHI|IWd*Qy)VBoK(=jnI{FgoS|D+u-a}m+8vv3iybFmOHF>$f}-+2fBRsB!k z!T-$vFXF+^;{P||0VB)*Mm%6+{7<82eM3VtqyOWi9O$j}9i8m;EgAl^=J4YP{X;#l z*Eh5PI69iyI?x;0xLE%$g&!({;Sb-yfnMalqu75(aRwtB$NyU3$Y5>b2rvcc8#&NB zF#c!4^q&bcgFV3EX944XN2dRd|7V@$zjIawM>8vcgP94v2rKLVhD2cd0U#*-FGz&{ zs{H>(B5-hWvHu4Vq0$ZVpUPsBZIG=oI~NkDhVdX5*nFFET$(4c88-y)^SBwm1*4K#$S9-$=I8kHpe+u zWDQoEE1i)={R|@O-zcBIQNu$+&~JyOj3tgFFeLv-*^_aHs_rF$kuSz^k9v*b#x;{) zOY_Hn$lh(=&$HO0CYb5~+q-96OWn{-C6$*;UW!znb`WhN08ZrtN ze;ROcY9<9_6JrvR;}f#Dcx=QR#MHzbJapuszGml2b9Lz0>Zzcp%t@4J#)squ2L


nec5NDO^k$kGf zg<4M~xmG8s`qKo0IJ_ey)H9oSU2YbRq9sSUB&o~i(83}vHhNuGqrapkX+|u!SY=~t zDd;#12X`b%#c~$RPR%4s|Mks?cOkkTyvKxuggnJs85G1hZ=hP`=l{bt!}rxO6cPsx zl{HA_B$Eq;%^V`VmGVI8CL^L2frJrt?9oQ{BncAbC9LJ!lMO9X^(bG~=tSpgd^}kK zuY7h8GQ&NkDOGaIp!Y$QRhE;G%g8B~`<->NvQTWc-pN0Q`V6y|UNocpTr`r$P*3a_ z67ba*G=LZu)&;jqh<{6aUdq>gFrqs(Er3$K#D05QJMQruWpCciPPEc%+_*l%;Y5+t z_Zk6QPxygk`=Uj*RA|LL2F}Xgs0SQAX+Z8@kIx!7-^Pjnj|5*bsX>~n{nx4^b<$I( zcW}yXrd5m8-D+1J<%JqW!^C=Gv(0ILs8Z8`<44MNWDGM~F2}B87Qx%fL-047tuSM( zMAa{jY!rqjd>NL&c1_#4&%kKRhZ~IsHUKQgv)U3Iqn~wPnskGX}QJgBU9I zv+gV}%*l^H1|vT(B&Y5@2Q=E(G~!nQ0##z6c_C26^@2oS7 z_h@fsBm7iv@7-hYF5L}4MF?pO4xHEf+UvV-O4N?w|6=ylI^&;ZeT#1>}R)>^z9yTn)MNXxU~)DG@uh&v*aSP+SZDDtf0 z`zh(D?TCU?eU112hCjS==c-HDEHul%6#J?X*L`uDz$LbC)N{qBaNeasOrXjvjTHp9 z@;rFMzv5+Iq7c5WHVA&+&+#QS=gvm+xD}os_lgU%Z?9BO)R(B!+)pL}PMHq&qp$VB zQJFmVZ@aJd@s6MC?$Mp#F1v8?z@$BBme}XRDC)SV8rU*9w`QL^V9A@OWDAm-vq<<* z4SqATzuu(TB}1&kx=pHzjk#ykznwjmv)>Q|-PzdL=R)ir9ofihzwzX4Tq=C`-vcUZ zn5=k^-Uc$)8}RWTH;OG6PR#0uDXu40y1To)y76%0@Mi><)F91G&(n5)MTsUv;F1k| z?Jq}olPSyxNsJ^NK zGsbT2BQMY66^tfv7TGqq$V0|`Et8${jIjiv^oTyzC(0j*KSGnbgtZlx2`cT*1Tu<@2qflx`+9% zPG)^Sz{wYPWYiy0K1-IrO>e4i`MB z$3Z|%>c!8lSFvKh?PY~DE2bU#TZD}*M3(MvFYrfjBXmTDQ2RhSd# zF%15c>}Ph-LJp!Je);LpYPA($;cx566lt7+)EWKAErUsr)T4hUfFe2F5qdgO!FJ-X zRP*)uN01*)RT%yygTL8ip8aj%8UCfb4(e`nBK>w;uguK)Y(r&|rNw5&X(foJeUG>K zc|+%0t>rSDsRqJIXUc7M6D#9dd```*`i0Cf*W_aXy-5MShXQaN!C(o+go zg!F2-P$4DqReCOpR|R2BNsUKSwz9>EKW%@${$Of)&Yi7~P?BPbrjc-nW<_=2xYEWo zX035Uhf_6dZM?~xM{9l$IPD#5U|fluvdmG>wazsv#V^qEQFM}7P)f(Z$8{39%NE6h z8(oimi9wx81;t>FqU@2GjG*7)zZS}Br4L#yHFIqry_e7{qUIloAO3F5GtZwA_r!X1 z;m;x*=F$uGZG=k49}fhh4KaE4xu@Q+gMd$-VP7`>GF}dJD$xp4?FPbTqthz&*rxcX9u$P@#ZQ(!MF#&_Tjsdg{K98Q$-DG17=yn z#Iy@%S)+zzh1H_s?g8A{ax=YcalAwwe~Nn@N0anaq=f=gYfQ@pA*JX-%XM`9HiIOK zmw6t&UhOzBxDkeTOYS(4y2tl#v6#w|dd~Wj#O`7nCNA$^;kuMw|F((Y%(OZQGYKXc zJcg+$d&UT78G`~GF+0arFL!`={yh-Dn-X`Dq0i}wwgSJ_Sl2D}irJ5PzjgH3Y*wk$ z27frh4o#O$TDV-Sbhr)|nn6<3H8IpU|H^Xu7e1&^+Eb4`5z7Kc8#9%E?~92u_S{2Y zN_7kLb+>HTTqKXKC#t$e4^|-|FCVNnQd5n&QDm3A<*DoAa&)b$Dfe#;fTvb|cPvC8 zsTtp9IyaG@47L)SsfNFMEV93D(;vzLsa2jlMvSi1QaH3I2@=i4jB7vYIO(?vvh6;1 z{`s!!d0EwgLZd~@u-hLP+GItqc~O4UHn_&VTxo2oY!0ik2G^Oq1~TYnZjRw>h-XvI zP`!W0$?Jgy@hVd}#sQ5N!pXs*S0ohbBIi3I;){iWSz zFsQU(YYNw%SO#Y z1utQSsU#&X#p;;3wT7$onrM$+;#lN|w*>1RDY1k*AW)Dh;+|Tjs#D=Dl_-|#mbsZH zVFu8Cn#y!?;&CxvuGC7+>{QxW#xx9Wt!nv~nV|;Ub0-j6T$;erHV}tS-{{6%x!u)B z@a-Zq)*4}552@XM?&#K4*jWKY0A)TvG7d?!V+Z~fZ*Ea@qwPQW%4TpoMq6`)wW2J= zu19dL&!#@9M=}T~LMTC)J z1E*{HxE?UJc=YH1-~A*2``U|peT2fBhx=$R2T#$C*Hu%~R8~t?i_gr=&ZfJ0RSjfg zOH^fJ6IFeE4Geq*scu)7*sn9&Xco1J3OLr=o8!7iJK1JVxsY- zb{lb{@n23rIo4FFIdK1=6(7Q;RqR-Eb)N%{@hpexA2_+oaGzmn*1a9?AtDC9D)=G| zKyS>Z^Zt4-W$#hq`yf`$e}Q=05PMddP*Evx`M_#uJja0l^v7GO0W`85N!&gu+ zIJOy$*;x}IzFVT)BUeuWmnK0z_O7A0Lg`R-f2N2d{V_s_c zSrE(_+)vTgs*6w6yKCw+N<&nx@5D7#z-#pgi6%o5xIK1qJ;BNKwT#`VrCx+)FPPW@ z#w_T0fKJv0x*=(zi0hTU?MvYffDRYROx&x00n}9DnGmh$pa7x#qJYxO9F*qR^@mH_+GOx0cLVs;=PfSYm{Yr$qUO! zxTNFJ16heLV3YCkw0-byC)7E4yq8G0vKt0AiGtT4C>P@JEjX$*8l5l8W;rlCzvf+% zzr;w3_ag$V9znS^U9nOckmM4+(wcoc7t>Hr+^5V{* z;tpmPh3em;vWM|8)C1dhF=LgXiPS2g)6ghUhl54*=jGHX?PR;%trD}~ChL5zdwaee zu7?IwjJmeTvNkq9uUHq1LRjvem=}w99u&T8xhM2QrAo>6>3xt zM9TB`uU0yjgXYib*RMl)-qB8-*6gpq(1*_lo#9`x8 z6k~sO3{xQlGnI3ewpz;Z8(-`4po6=ST>mui%&j=SEZY(kK&3JyCMw_}^d zG5SO%mwK-G2)ao2hj_pO+OQW-8d`pb=?Bi6cozn|%UFxSrd&|O8esKg!Eb*;J<|<# zFPS{Ro*uzpk-FG;)Qnd#LUoAIvXjIEa0t^9uFSG>P7jVACch~X--qv~7wvkrA90=g ztuyNUP6G(x{3(`Akkfj|GUhJ^PG`V5zqxG#rCQ$T{I{@w9f_}!TfaAbCPLb2t?4#+ zMuu?c-EFCsJZ^;?HHDa3w}&k4(>J?_e={bDmH)J5#s;KAvrW_Q7`lzD#@r2hA75j3 zLz%mmicd$^65z0f*AqU-Za$Z6*=6W_qS1foXd!+nb)uB&Ph7`#ExaqN{~`$ZxS{F) zT4FdN|Bu$rJkIB;{r@RT*(wR4Op3`eGoStad5^8EB}&K=Va&p0m}zDd(nctCr=8HA z7E+-_MM-I~RoYA{5lRtmZ6dzUGj&&Uz23jy{r%(Xao_Wpt~u{>&ikC}T-)oq&U@{S zOZHuSU)2`3^}em@B`Y_Vy)`i2uU7h~f?pq8_{+y!P=DHcb(dG~{7mvyhu?AiTo zemX7s(9-Mfzv-Ht)gHKT;`Tk)U;S;t9k0(l_4h|sWq(lC^wk}WuXyF#iQnFk*Jk~q zp(XXMTJrYnh4o4kox_8k%KB!>y^ZVToW1PLj-Q@8{7!$GzpLRjLvP;x-0+j`{b=y` z@kRH(@%p`;Q%mxueY@h(mwuW1`QSV9?}**<&f`y|rAH^!cyZZF&#WIZYV+*4_piOt zytQ*~Uz)M|$5rPS4ld~N<&v`xx0*I9qgItm8h1>~?7V0D+(l~#SKZh6!K zP<-I^H>-qdU*LG<3q+SP5tqzQ?DtmIkVu{Ds7IN-gwD@;gz4pI?g`Z?3ydghJNbxjV| zm|MSl_js3QYkzX!=GEuFyQ@V}kM+ktGWdf_FDj^XS)b+aAKU1dMxV^=fA@kHTVD5L z-rx^H{*fwQx4i1+`E^nXpQ&Bv^!^J6^zS{O&O4tUwJm*n%hzt(f914?x6JNSyWX&B z2ljpPb^d}+)1I68QnM|y);;=5uO64&Q?z06v^(oPcH)c^)8?Gpt)%(mA52|1t@|Sv zy<0Z&-qkY}w!ZYtT2&97Q(CFVyXimP-K8M*P3)zo# zQn%u7XMTI{nco(cJ@|U9hwIP&;EfZXik`Bv#d{0)KYZ$dtv%N_zF^^uCTW>39P>!c z*M~gbW^R{SL+-n?ZToN69{PCh{*AZ9_V+(yL)Bwj?4EVemUf$(UA=qpDW83F&pY>~ zWN#aA-hC%bD(=7Hn_pITdG_^dvX@ud{bb*V+eJ=(e$WdAPkhm`+o53%Hvhb5U#+Z( z7dPne;uSYfT=Ujv3y&_GHhuBBwtI#eC=#!Wjr_b6Gp zdFBlt&YksHW`sRaLos^dP?2)r;OuuPfY~-<3JN*#3 z{R)mU8g_saPH5SmfiB)OS#{yzGp(;7Oncc+_&Z3i~2VBB{}}gOCBpdGku*Q}&;B;_36c z+;Dr^H`@!kcmM3JPKoVBbBb#>ey6PSuamyJ<(BV`?tSTsi|c>%Y5l$@9bWm%pq;&v z-CrFt;Lh;QdFM>7{O#2@?fZD=g!}sSnSYvh`RA1z9Q#Q6jtQ-EA6wY1`+YZYLC>%@ z*H`cM(ksh;Sp7=38FNoR)aZBb(G_cM>wU)yKiqxO_j$FZEy~$8@026mzS^95)q(kq z=db&?SI=c#pRNA&JU%v^*6->mFIAuaX5Z|R{`an_bQV@@kocuvya(*)GO~EJa2nhN&O2Oq^@}9!(&=4KDKbh zz6%#zJ%0U~l3|V4CNKVW@vrL|HHzK3?ZL}B6ij;X($-C$AMsv%SNqbOf{z=HtJ3f8 zr_;~7Z_pjdQ%1d;IpU!gZ`}L%DcxRa{Ne}aKJn~bovK_ur=VZf3w1a3eB|THj=iMg z33W!zUw3gzw1J+}g2l(Zw^$>NlJ7XrKFrENJ@m%#v2s zht55w*$vy@eQMbA$E6mNEpYdj=|A7mKT&D->vx~BrpGzoclo`3tZ9>0zqFnF+pt%s zt{w75Zp+IXwro}~A-eU|qtiz&{pq3AJ$o;xv}xY=J7-?=$$%y)%VyX3bm=8M|MkVF zO~a0SKdt(j*Xq2SI{D#ezMR~B(w&>H-Zk<4W+m^vG2oXP=d2u6|CIVGJ2t+vcz5-c zuQeIBd2Frgp1#u0Ock2FIzG=N>#`(vbebr~% z28BYOwIF#Az_FDTB_8wC<&^zP&^>a?IHtdt;U+qdP z8v9x0Z|WYdv$9Q(#HlX~&3-E~`hu5N)fw~hk7FixYrXx7X(jvbZ<2rN;N}PK-SzM8 zjVq_#nw#;}{oStUJNob~=~I{IYa=2+fwwv&ME%JGO&K`Hlu*02GPI~*=pSRE4bM4PhPxN-JeP+$i-@ceN z?#|iWXP&?Q!Uofx9reKS)NAWMeQR<1(Gw@YTaBuD|8CM<2cWl=C*us=UU#>En|Yck~r+a$tkLR~Js)|Hko;yq0zKz&TTvJoQ<-ekUBR`AKxo(c^#l?8ehO zz4fnIXAQ00YSiNIf4slP?aL1}edMCkUad5;!T2kZH}Cv(#;Rv$?K$|ttoI7>{eo-?xnDiV z^{U&J4cO9u;-SaiYjWwS?Z3OQ)tjTL9;iLw+8tGIt5(|ejhCYf_Fnh>;_s$UzwDv& zPG9)+S?RaUxc%h1_3Iz|OWh5Vwobpyzc!nmGyum0~Yy$>||xKYc#uWs1To5Z<0?wWk> z*PlkKjmW5ZS*Kpt*P1=AYP;JfjeG0rA2&BIYg&2vfmtW)+Og-@>kl5j_{MGny1v;V z@1-ec&)U9u_}*)~e^sek&x;m!X#VVp%~}_R`(YGrkBlOPO9)P^-zL76TezzVd;) zM&$fH_q%!>hi+I}Qma>4j~n*gRd?CIqblE&a?|Op$NW%z#rm%{=g&B@{jRmWhHQP~ z{!_a@SG9F$&JW9feJ$4Pfyrn6a7S@k=4p2w{Cw8Kw}029(Y#f=pYE_@Z1y#8?|k~m z^lz%QzV(3Dct~N^-cNTOI)2{|%g^fbTl}G3E1J|fy!qTiPtQEuaQUhl&ve*vL-r*T z_g-_$t;3Hgdt&qPJq}-<_WZEj*~j#`rvEdCj$E?-;Fic`y=L9rt?9_k58idpls?Oo zGv=?}l9u}Tp5pY^-W~P)ol`m#|2FKQf&Dwy`+3JL4X3T2nl@}z*Y#V9H+}KdTLU*| zo!S3j(Uwj3?^w_!+G6$gwOuE#I;!g2pVp;E4pdve_1PO|{&>MFAKv$6G+ zb*|H(ZhFV;ovqh@Iq}Xt&uz`y_u6smwysT|eCe5!_vOBM@|%liE!;A>An%od%j&hL zF?!nW6M9vBv&NbGnlGGF@b&PaLxwz@=s)a>mDx|MxVBY|rK=m~_NrQ`WW~8vSASId z`Q>%@E_!0s_a8nPX*{*o)(+SAT=nk8>+W2%DeZWsLaKo7k`u()`^SpDf9Jp@nsY`C|@$$~2k6c@+)O+Y*O=#c?0?EJO^7531 zp1Gx2Ia#Gy)ie5x9bP)VC^ut3&mI{)a>tA)9Z9l+_cu)5w!=6+T|k;Z%JAF~`D5Cp z?s?_4)Rg?3cB%d2JwrWeQY^5un;+>-2eO*{4O(Y2{-FfMc4=%Ud~BW2v^f-xnTc+UVF(qd(Uin1w2mJNe zn3DAJIi+V8j?Ty*kP#+{;XebpEREv)qSE}rF)41~tl@=YOWQSV`e!di{}{bOH~fKq zqP!lzW%epA%o&@VTihD zc3kD!Wp*yi9_!L}&gc@&K;E-2@_9KJA8kn4slVL!r5BquvFudsM@Rw;G}8T99?+xS92K{CrmDOm`SUiD)S7#}nn}AT<<9r5WetzqI(1bLvKUHyCazbw6_5kCO8Lbn_@2T~t_-TU?>tX!qBA_aoc=80mgwxgX`v7P#M1 z+>a~WkMee7+;4w(U;I~-!DqQ&hr1u;510R?yobM^EAOlMUyqcJUfy_|qy0UP!oQl7 zPpkY7l8H#7V!Lo898Q>Z zffft-(vI~Mnjey9c^LEHpK}REB2iz)jU-}9OZsNc;Yc)~zi8B#`9%Zziza=Ub1WP) zdlZhuq5jOiz+mXAfd(O%&;nQ zws?)Cl^ao5P3D|Hy4x`l$*8=q7xLsiyr|Uy9Ll&S>*pnvhms+Y&(S2DVCRyICxmyC z94_0=55;AEs%H>F@wlvu&ty!0u~0~OC>DbAr5);1XvvUW=U6xtmofN+o}F_n92Y$k z3+wyFoC3Dvq6F-|#UfZ%(hk$w(m3cczi2cf&qm{(-SFp8IjJ8Df4iZuc@C3X7bKhg6=% zLoBqJAEGW{=NCuZ+jYid5d9HHe@K7m54#_6^oL#NcqA%kAs$JHo{2}2B1_^ZI9UUf zg^UqR=(y3Owu=S4Z!BPbF$^8Mei*1iV*zCi;sNW2II!oJBO_-TDWvP12D2iR9}U+urR&m!0{oa19?iICdQ zSQftJp+rdSXH>V?7Ho%{eKk3=ji_CX?sHnZy-ONd>PK(NU=$HQWKvr=MTCE^L)OGLKx$D%4N zCcavN*R}ErlE~eJ7xu00NqA^N`@UX6dBY3n50xzIjGD1$Cc)8?_kjJRolmUB&c%-@ zulX2?(hj9!XpAay*9#%+q@5@7)C>8d7d*s)T`Qgx8^jBH!b2>*$PF(N5gWvd#Kczd zA_4tHFevSNL?gnJme0^Euix)+}*#2S>@ikx<;axB0i4EeR(51gP-n|_o9ur#y z^ImuylSX))$c^y0$HA06g2@ADHUwt%WF3*jh+R`+OIU>!-wigvK&?n4 z+LY8i!mbmZ^r8|g@Q9L0f7o@x2T8RPJ?uJdr+%XgGss%`1hwpYVAsiBasjR!QtS=?}Y3Xow9fhmrwy9Ug@C7fB}U z8sKt@?ny?YVh>^QOT2{L@MNuG8mCFd%Avpt@t0&QA-+Zu!(HANBiQaGt895ZjGG+L zE-5hpR#ajISd*g5u&Cvn^96Z{PhvSLZ*aDRU%Z6ql%(ftJ6uzFmSZIA!d40&V1@|| zQ$=Yp@y~fP+VX}ws`lM{%yy;0MCMHUVKzi)YKQp|3_#ls zRbl0Zk6kD8!>$t=cAe7HuJfY^ayu?;WqH@fu9J4yb=odrpV68d^Yq(SZJddko)4La~TFgV17DA3^i%S%4;X zY$OyHI~H2Z+Pl!ij)mr1KiNecZ7dBM0Xw@^35+D6`8JluW)QTr?Jx-qPtp!6Slank zZvp#7lqZucjD0rgDG#BJWX^uX+K#}8M73;xEWI5Aqg8k)49;oK2ccnWtH4wQLd+PL zQZ{butRd?QL1WY9S=Gk?^=X=$1F!p-~#y0k%IvUrG}Ug9w0N7|;a6fEE`y$uY7v2#+Gg z>|DTDlok(Ym*i%nif52;osNrXA@2qNB5SG`B(D*YGsw}GGlN8wGZMY35z>~FH*h(HUwnzPGH5`5K0s&1_eI2Nf0!jQ zE~41R4tbVCZTlnbM#dm@OKAu;c{X5vXccKk0+!MO`a|g0wF06S8;-OV*$+ZmmWNz= zn6|^Uw`U;+tYP;T7stlEBZRZHoda?0y2JrQg%;3XJYfCsXJjtKsja*MW)gmmCGei@ zxPS!qToQs8KPATbuxAF7Rr|xAk-6Z{$hf300CU4)cab;_h?T{NUGYf>`{=kBnRd>2LgI%4b?E#e0sSeCgEu^2`q&S9|U5|2cDI^Y?x1>(H0jKRZpf8zoEK4zW1M*=g+zDI(L z6`^^$Z-k7b9j_tlg1>Kh7YkVAxO2heS@egD;R5M)e&`QY@5J1+V8@+@I~rI7$_pC$aKw1D}Mq-5nJmXz4{&ONv1m*~CN z_X!{`%R>ngBrLCCuGx6Ii?(Zjgg|9KJjq9gK-QC81Hw7>oV$>M%nvtI)_`;_;Vaw) zpmzctAT&mwn%`^|4`HISZcVrA7E!dO$l6M>}U+dwDlfvJ4*}tw_+3X9MzQhzP--GXqeL&bp z{0i`Wv5S+$6y!Zz0<_^Z@O`m6ompb}G>K}o`{wX{%P%es-pT{29K^36RAuXS$a=u= zwDUv!Nq@u?J@=gbO-EC$~fJqW%pG6H;GY;RUT^d)a0`jXes{#*dY%ozk+&I~52=u7Z@;Wa

BKd^GcLEyqK_%rsb;u?s&=SlI8@V3P7@ey{iM+gpk2JwVMUV-n6+yEh! zcm%M$$PF_11UGf=j9F8_Ey)vvCh-Vpp7o=k5kRQOS1!bD{T}C41hf->i+18~0d58K zhYKd-Vy&3HB(zSos+}Kjk6C-#5#f+_;%`ypN|A(Z7Zd!Kc7p#x6Z|&{I%sV!Xi_%| zEucUA8JP?IjM4)7!=EuS)>R8x`x$gg@M&ncK6VW-3eDMa$e8wru_EnI{7Msl(7_*8 z&rob7{v|Z=FQEmzuP^=^#a1M{n0Eu;x3L@A#jPxXMgY)0%fm{;G?sP&{e=ViBa6lI zy~Fn{KL_CZQHSr_eFN>WHVD?0;QP+vvU&!Z;PC*x6hzo}i=pO)7SNyK`%%Im+8@O{ z(jRcQJ?B8eHl_*;hBs;Fg4r%}rX*cy0q^St%+Cv$9}bet+2b=Rb}r6vSDMvjuJX{@ zr_TSiu{2&bY@Y@8Bf&(*5R9+9gjd^f2<@}@Gx8qP*~mE}HA-n@jGF#P{IYg7fWP=3 z(8T|MCYT|RW4XvMv~?GA_oRrC}sV zJH)u?1*gz0pE~6zG-QN~5st}OMR>}Y#?`R4E!i)muA4Q0DMg+VR<;;3&q`eu=>lPq zlT>TS*>dtv-Xn@2vU4GITH3_|<_8#P&k@zSqCW_QTictWd=jATxYVI34NuCpBg|#b z0!QD*J6*Wb=D9%&=#OG38H2(i%aerfZQd|d6BLBm`H@zoG!S5E7qGvYuZ*M%cwb&a z)(U4$X_Eg;;f?kOzAyV03u%Ag`?AjHPm5P-mL?~=bhIAExShFsq1B>rMG{XAl zR9XT?%d-LfaR_CMXu$kn4w*A*L1;``Y0589bbg!454-1H_nGV%lS}RK!2LgkGRtJ z1>d(Ar1O4lo)I*CU+{g|5Ac0i7fc56vBCFsT#lAK(;!dU4hUD+^#vmT1w1D|>K4jd0^FgRt_?b_V z$@xGL|kFIzO#rj)Lzizfi|)&mj1| zjd63$4&?ymoIA|l@CNR_H3hkoHO0)9 zH2{$lUV~l49(N@ncHhWIwJ~2RC_$C%ySe05p7Ng<9I@1KPU9w z8J-0}vg0DyWPjt5V@=X994OD?2v{09(b5jrRK_LQz}iR&a-yXjInhdkE$z636O|_Q zwOGZH6Aex9WN4BH3XP%~JFYKy9+m|+JxM$D&(V0|8z3buo`)pnf)&#r=z`et;QM0B zyK718{(|oZw38fRk^s~{2j3Ul5qw{4QNp6a8-#*H$Aj;S3y*gQ1d+1q zg5hb`9`P*a4KzT`8xeRpZ-jC!UIutBco{Uox1fw%lC)f_&$&5J@(H2EL>;kF5!(XEDf*3y3psB-^=0Dd;`M|sHIBGBY65TaL7zXgrZfZ+|Q%0(ZclC>QH4tbVh0DI06SF%S~@?uZo zeTc1s$0YiQECA6nK1*PEh%zdXIlu;@Kga?Q{lN`F+KyZ>duGV67Ci$LDCdJrXN$2Q zT|md|+Ous+lRIU3RK_ftJ$3@f`zUPt-!4ja!9ly}zE)ZyP2Qi^E zu~ndntpZJQk6ake@{pt1_l1GPM|3`u&8NXT61&9pXJfRK_lU0sP3oDTNxcR%k@p~) zk{wEdxyjeMc-i%U#xJD_7DuV}}OjM7f>1@NpS zUjUlqGeDF4acF|?Q!*v_&(I|Q8Jgr%LnFXu=j@Chp$UG@Wi5iALz8@Eq#wI(`@>|F zwL*x=emH?(o+V$v+LL4}OFg^0D%Qrwp^3gEd?5M~8b*>G7vJ8l6vy`&&r**4ym+y8k*FLLnB&c$EAeG?xic6khu^5 zv^>P}*&IHu=}p?00#20ZbLVXZw39n;X(#pKPJ&t815IKN(1?=R_a$B4o_)65`n8~2 zVjn=0yTYK6gl5OkJ7qxwK(nNs+yP5FEMC(NEMItyXs3-gxeP;V!$FffV1Z5~*B+YW z+C!7Oy`YJ`LDD9iZ|AJJ$+Q!F4oz}@sf-lt9hzY8(1=#qab5ANrNNb!4}gknTp15X z^)D(<^e@RrC8hvgevii@8({_B|YyZ+XL+LrRm}00J^{7Z*2KNNxZ$ic#!)xX7c>1k2}HiEp4n zB|p*Gj@DL2@$j@A0}D{bB~)d368Ol*BJrXCJ8XXdYf6h)A1uZ#+t$8^Ci!736qceL zgUfqm{Rkb(Ub02fj*yn@B>_s|AyQ%OImauraUZHCLN?|GP43o&CU>wyLvh)6!)cfI z#f6Y}a~HqKvs7#t8cvSLSd4U$VVEUiKVwi@zm_Pg+<^^^aJU^8v1Z=`1uV9JQ)YHQ zT)Dm74}_=9Qy^hNa<@nt!P2pFVfkc!#F{PNlM$os&`0vDTLn9Y#+peGk-GyOYASMw z+yIeRn13RNs2C6%of0 zAv&38r}%lK=ILIdQe^E3-dK4>wX@h)gf_+YCO1HI9wJP1BWAYfJXiZ~=i+Mr?O7!^ zz{aE<8(4oI8U+l7uZRlR_z*y^)WSmpd68$O79J@sv1@2@7YH<|&44Dg>yCA8UYbjF zk@HJ#fXFaH$iizNxWa3w3W+J;&WJ4^Cxj}>I!sdyCMnc9EZBam6K z1;FjaZgMu4-48q=@nOO3WshJ}IUl6y>mIRuvX^m*U84fjH|5h};=|%;=-LC8TOQ)R zfAMFyGE@8%EN>eN=PDZco) z68-CNdwYHzZg2IG!|m<-SU%Zvw3h5SE~40V4!5`G12k0hDp&c459>sjwUJ2ekv+#O z7QM=iCSohQEtmdCan)b6D>wa7+FUIS@sg#UiKVmuk8>z zR_=n^i_e5BF8&PWkoYO!_M*3t;<}eSY-NO}dB_xGO5S1lXO}GRx=+mrPhv~S7!JI% z>&I&dpOQzWG>|LvtP5S+ae-H5&%y0Q9yr|IuD!$Ur9W&brKv6DaC>_OlkS#FJLdpf z3Y9Fjl*8?%KgI3c=dI+NJKWx`Gq}CrI1abB{0wfd{jmhnAGVY{iy0wn8emH~+}_HP z0NkGRUBz+0?SMErj zb(Pu<%iZ#j)>XPlq}X~6im_(~++OSrzI3GRxHsAE5oKs%zqn5Y$QXpkEbqD$Ql-K8 z=H0;U#TG>pi+m=MrtP>E*76^rbsd+?C3~iQhhW;d;3nHWa%rztHjz;-@}4YYiM5c4 zEq)3fr})lf%*q+`-G{L3{Isr;BpJ26$#~NK5ZRWm+-Hc)Ub?HYt=;b8dNxkOO?5~e zJ3n#*lqR_bI9rly08Oxb3ewdc;&wfWM{t9r$Te~U#Lgi%K;#e}qRk<7ZoK$vRMFe~ zA&_Iarvn-Ror>!MO=98D#C~x%aoM;4Gy<)*KVr>>cWEcF=JL>kw9~pV+DV-fG|3Bx z!=*09alMU;LX$cIX!2bE!XSV}_T4aF%o(H|pCXcWqJQJ=9)D@ay_Yfu?v}Qbdq}y! zUhZ9mCih-K!}7HABYY+A;XaOK+j%Ut&?HZRvJVF7ITFL z;$z2E+@5w=inbj9lFS(}#_l4fh=b*l7t$hISC$fnlM8|`v zi(Wu&iT=P7vN5eV5=>+r?vag)0*8_iXXngORhrzFi^nAQ`9kBecH19QQ5w#MZKwAc z5hWCy1e)9j3QfL&f)tV*e`r$Q=%kg%Sezl*a~uX6Kj3yasc(cv(YJXwj7OWd4#X_q zK!L`G?Ci4`2mv%JhnSt@-MILR#mh((60C@E1!sq*zAlnZ*Gg-|aJB;a1Gl&GAON=q zW>??Y;r3Q0vgtMkg`ks~0ccV)08Q>xgr>eY+0(7 z$OCYDIlticB8zdsM8+aY#2=*ONBl<2Q;C=0_1G9U%cA<1JNw1vcO`a~Pr>ai9*XpX zvkZ?T5hbPoOe{KpG9{54nAF;z`-qzz14l|}8hZd<5M2S%E4l*QUgUvubuEu0vTZz( zFAPhb0&In%wsS`5Svd)AFS-KUUi?NN5s5v3+Y4`i!it}VHzP6|H6yYe+&-Wkhs(YP zIr&1vL{}QOQ`u+9fs{1>gcKTpo;*uYtG1Jx0gzb^k{uWKP56b>H|qxw6%}1Uy}j56 zhy&pb!tKHv;Py7w%m%4_fI1g_4sLI;B5v~qP&V%dZZ9!pcb~pptAP9TUFwnSB}k>5 zb8vgH%?RCyy^E$0KNP(sx&jSgu?`qb@)V$P39)@&e0y1g0NE}^?Ik7%ZZ9?$ zW|N#ZaC==->g}yP1hOdn2l^&5(bd~qJ?QG~rN02*o@lJDz5AfLT`Tu-a-ji$SQ@^) zjEiqC{Q)4!oVowSK8w30?ZE8=+R1$Ys7A#NoOx=`D)shqKB#7rJ#x6cowLL3r9aFA zE3;iHon0%3+sm`qQc9DYMVuM6eH?Bt>!sU=q6($Xvsf!m91K{bx7 zDY(6?DOu)XTY%e(J;}0&%>XJXwg9SD>^dTra*l8jMSmczMAmV`pvBbPbyXtksEQW< z4cuNZCALyz6WL9|_m~HQ2avTS_8M-j_0`<1`!>%Un$+iEj!S(WH2Jm;G^x*nCiQuI z-B0cVfF||!(A0N!n7TcK4pX=GmBZA9|G?DkxeUP6kuH+M=hB8Pz6DKmEi}0+mPn-3 zZ$Xp0a$LmH@*gy*t;g+=IJ&#a%$`+flEVj0;@)I=h;D>NDttv*3{7(GT!x6XUobF1 zi|n%mx{MB>oy5_hiLP}nos|(TJ=^j#G%ne)35_r0SQ;T7X-BkP z)}FKi%YPt{a<<$uOFQ*lXqB+B0%*R~=YYwAOG11*q;>w_xau*FW`Bo3%L}qQ*lsK?GgD%C@ zo(1>eIeX4AsYND6hy%+Q_%8CkI2JN4IbOmq7`#^IL@*xhT)1V->K;O+;tN5OZ+*B@ zDA6+m z6`I5yxxABLxSb1C{q|g9{@M7XyZuz`7cP_*edI1;wtEh4FLnv;mhdT`zZ5=oAw0`# zl;c<&5f4XjL>ve{TxH)E-$m9y?+W8ti4(f3Y^|RMO>jDBk`D|`bvGqMHkOOhmwQN| z$#*@VN!*b^r9KLp)JH)}*xU+ec=u+lr~(&xkGUZ-!j(PQbtY?AYyo$Pi#=N|v}E~@ zT6nPq$UL$!GSb4;7U0qb8}D@K<2J71s-A3I1#ngF#(*YqOlVST4o%{iz$q+(T~k0v zrAdww&&nNYcq!_u5t6pC0@|r9KrOtD(-6$YlCbk5glFY*j8b3OH)`Q!-}o@7yc^K5 zjKL>-m4<_E=Rz&K($u!Vn^7LZ6|(ayPe?aoxLSD2_W`x=7|#;7bvJqnPr6!oyM82* zTC9j?QE+xHn&U-=5;x~bJINoXoz$)a$&txup9L1Ox)w}b;s5Re)H8H^9`zRzZW>x*{$(l6od+1SIU5 zQVTEZ0_Y&?LL69lgE+9#2rSz%T##01B!&wO1uQiAP8^Uc$-kx@9=7lrft7%Ep0>kj zw|kBQEIb6JE;`RSW_Hfb$+2sIvmv~OK`wF)Ph8}hGYX|Y3@p2*m>Uu^a*AJ`)qHuB zpxmHxGhrQi51dPplpy*icrGuun8IeuVWiE9~))cEyX_DVghOpFDIq%$J3D6|& z4GjR(@)ehF%ll&P+OyBFB44;pKcF4pq8)?sZsBJFPTGzjg*+>F6Y#nuYMFKpQ@1h) z%_!rtRPr8p)57Cm>H+Og{B~T*wq;zxz=kIY)XO)UT+Gd`Jr^cPP8(Mp_!d)l5m4bF z+)LphaQlFE8oLI!7ak&8+0M^hv7l=J9B=m*4_nvX-AZKFk65$i1EQVc|2olbc>~L(!f$qVf_SB3o4VlIV!MFBX=J!3tXb1Gl$1EEJ9q9I^AGe#^>E zmqITz>bK-s5?W=CcsYCCoH&(s=p%bRxZT_4u#ga=u@O9bX~%Jsc(F_Sw`)&C-{!jT z(L(}uW?lH^y_{cgdx=YNJ*My^xV^-can%I(!($hoBpXS1*Oe+*oriZWJ|eii_=rA3 zSbhPw7hdBgIPulM?ZpRkSFOpKQWj(R1#epPAYn|=Z{YTVIp8^qjYMQ!^dRV^@DRAY z*bI2OqA$@#${V2DSPCEj^!&7Z)86ReaX0vvFx*Kl07rH@w(@@ zre+MxHJt2<{Xrv{#M1P8^dL%-*XKFc*~lhL2D$r_1T=|}K@*=Hlc9n?SX!KwUyxf| zy=~i+j6V4ja#O%F{FIE|g@vUl9MzQGDH-RD$tz6Zl~Q_F&p5Ah%AmG{5Ic23s&pnl zDeQIa81CqY&*>8H6p454*tJvCZ~xz0Tw1+-`|2g7S;eK}igWX-BO9?*t2b-b<-)Gj F{|5;yakT&d diff --git a/resources/46985d14/lilypond/part_I.ly b/resources/46985d14/lilypond/part_I.ly index ffbab4a..5730b4f 100644 --- a/resources/46985d14/lilypond/part_I.ly +++ b/resources/46985d14/lilypond/part_I.ly @@ -6,15 +6,15 @@ { d'4 ~ d'8[ dis'8^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 3↓" }}] ~ dis'4 ~ dis'16[ d'8.^\markup { \pad-markup #0.2 "+9"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 13↓" }}] ~ } \bar "|" { d'1 ~ } - \bar "|" \break - { d'2 cis'4^\markup { \pad-markup #0.2 "-19"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 7↓" }} ~ cis'4 ~ } + \bar "|" + { d'2 cis'2^\markup { \pad-markup #0.2 "-19"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 7↓" }} ~ } \bar "|" { cis'1 ~ } \bar "|" { cis'1 ~ } \bar "|" { cis'1 ~ } - \bar "|" \break + \bar "|" { cis'1 ~ } \bar "|" { cis'1 ~ } @@ -22,7 +22,7 @@ { cis'1 ~ } \bar "|" { cis'2 r2 } - \bar "|" \break + \bar "|" { r8.[ cis'16^\markup { \pad-markup #0.2 "-19"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 7↓" }}] ~ cis'2. ~ } \bar "|" { cis'1 ~ } @@ -30,7 +30,7 @@ { cis'1 ~ } \bar "|" { cis'1 ~ } - \bar "|" \break + \bar "|" { cis'1 ~ } \bar "|" { cis'1 ~ } diff --git a/resources/46985d14/lilypond/part_II.ly b/resources/46985d14/lilypond/part_II.ly index e79b14a..282bf14 100644 --- a/resources/46985d14/lilypond/part_II.ly +++ b/resources/46985d14/lilypond/part_II.ly @@ -1,28 +1,28 @@ { - { ais4^\markup { \pad-markup #0.2 "+49"} ~ ais2. ~ } + { ais1^\markup { \pad-markup #0.2 "+49"} ~ } \bar "|" { ais1 ~ } \bar "|" { ais1 ~ } \bar "|" { ais1 ~ } - \bar "|" \break + \bar "|" { ais2. ~ ais8.[ a16^\markup { \pad-markup #0.2 "+38"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 5↑" }}] ~ } \bar "|" - { a4 a4^\markup { \pad-markup #0.2 "+11"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 13↓" }} ~ a2 ~ } + { a4 a2.^\markup { \pad-markup #0.2 "+11"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 13↓" }} ~ } \bar "|" { a16[ b8.^\markup { \pad-markup #0.2 "+3"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 11↑" }}] ~ b4 ~ b8[ a8^\markup { \pad-markup #0.2 "-6"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 5↓" }}] ~ a4 ~ } \bar "|" { a8[ gis8^\markup { \pad-markup #0.2 "-18"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 7↓" }}] ~ gis8[ a8^\markup { \pad-markup #0.2 "+21"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 13↑" }}] ~ a2 ~ } - \bar "|" \break + \bar "|" { a8.[ ais16^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↓" }}] ~ ais2 ~ ais8.[ a16^\markup { \pad-markup #0.2 "+11"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 13↓" }}] ~ } \bar "|" { a1 ~ } \bar "|" { a1 ~ } \bar "|" - { a2 ais4^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 3↓" }} ~ ais4 ~ } - \bar "|" \break + { a2 ais2^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 3↓" }} ~ } + \bar "|" { ais1 ~ } \bar "|" { ais1 ~ } @@ -30,7 +30,7 @@ { ais1 ~ } \bar "|" { ais1 ~ } - \bar "|" \break + \bar "|" { ais1 ~ } \bar "|" { ais8.[ r16] r2. } diff --git a/resources/46985d14/lilypond/part_III.ly b/resources/46985d14/lilypond/part_III.ly index 150adb9..def9ddb 100644 --- a/resources/46985d14/lilypond/part_III.ly +++ b/resources/46985d14/lilypond/part_III.ly @@ -6,15 +6,15 @@ { g4 ~ g8[ gis8^\markup { \pad-markup #0.2 "+18"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 7↑" }}] ~ gis4 ~ gis16[ cis'8.^\markup { \pad-markup #0.2 "-19"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 7↓" }}] ~ } \bar "|" { cis'2 ~ cis'8[ dis'8^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 3↓" }}] ~ dis'4 ~ } - \bar "|" \break - { dis'2 fis'4^\markup { \pad-markup #0.2 "-49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 1↑" }} ~ fis'4 ~ } + \bar "|" + { dis'2 fis'2^\markup { \pad-markup #0.2 "-49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 1↑" }} ~ } \bar "|" { fis'1 ~ } \bar "|" { fis'1 ~ } \bar "|" { fis'1 ~ } - \bar "|" \break + \bar "|" { fis'1 ~ } \bar "|" { fis'1 ~ } @@ -22,7 +22,7 @@ { fis'1 ~ } \bar "|" { fis'1 ~ } - \bar "|" \break + \bar "|" { fis'1 ~ } \bar "|" { fis'1 ~ } @@ -30,7 +30,7 @@ { fis'1 ~ } \bar "|" { fis'1 ~ } - \bar "|" \break + \bar "|" { fis'1 ~ } \bar "|" { fis'8.[ r16] r2. } diff --git a/resources/46985d14/lilypond/part_IV.ly b/resources/46985d14/lilypond/part_IV.ly index 1cb083b..4eced9c 100644 --- a/resources/46985d14/lilypond/part_IV.ly +++ b/resources/46985d14/lilypond/part_IV.ly @@ -6,7 +6,7 @@ { g4 ~ g8[ fis8^\markup { \pad-markup #0.2 "-49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 3↑" }}] ~ fis2 ~ } \bar "|" { fis1 ~ } - \bar "|" \break + \bar "|" { fis1 ~ } \bar "|" { fis1 ~ } @@ -14,7 +14,7 @@ { fis1 ~ } \bar "|" { fis1 ~ } - \bar "|" \break + \bar "|" { fis1 ~ } \bar "|" { fis8.[ fis16^\markup { \pad-markup #0.2 "-21"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 3↓" }}] ~ fis8.[ gis16^\markup { \pad-markup #0.2 "-18"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 7↓" }}] ~ gis2 ~ } @@ -22,15 +22,15 @@ { gis8.[ g16^\markup { \pad-markup #0.2 "-20"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 7↑" }}] ~ g2 ~ g8.[ g16^\markup { \pad-markup #0.2 "+29"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 11↓" }}] ~ } \bar "|" { g2 r2 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r16[ fis8.^\markup { \pad-markup #0.2 "+32"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 11↑" }}] ~ fis2. } \bar "|" { g4^\markup { \pad-markup #0.2 "-10"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 13↑" }} ~ g8[ g8^\markup { \pad-markup #0.2 "-37"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 5↓" }}] ~ g2 } \bar "|" - { fis4^\markup { \pad-markup #0.2 "-49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 1↑" }} ~ fis4 fis2^\markup { \pad-markup #0.2 "-21"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 3↓" }} ~ } - \bar "|" \break + { fis2^\markup { \pad-markup #0.2 "-49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 1↑" }} fis2^\markup { \pad-markup #0.2 "-21"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 3↓" }} ~ } + \bar "|" { fis8.[ g16^\markup { \pad-markup #0.2 "+29"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 11↓" }}] ~ g2. ~ } \bar "|" { g1 ~ } diff --git a/resources/490b1e6e/lilypond/part_I.ly b/resources/490b1e6e/lilypond/part_I.ly index d4e584d..6872d3f 100644 --- a/resources/490b1e6e/lilypond/part_I.ly +++ b/resources/490b1e6e/lilypond/part_I.ly @@ -6,7 +6,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r2. r8[ fis'8^\markup { \pad-markup #0.2 "-49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 1↑" }}] ~ } \bar "|" { fis'1 ~ } @@ -14,7 +14,7 @@ { fis'1 ~ } \bar "|" { fis'1 ~ } - \bar "|" \break + \bar "|" { fis'1 ~ } \bar "|" { fis'1 ~ } @@ -22,7 +22,7 @@ { fis'2. ~ fis'8[ r8] } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "||" } \ No newline at end of file diff --git a/resources/490b1e6e/lilypond/part_II.ly b/resources/490b1e6e/lilypond/part_II.ly index d155da0..b2a4ad8 100644 --- a/resources/490b1e6e/lilypond/part_II.ly +++ b/resources/490b1e6e/lilypond/part_II.ly @@ -6,7 +6,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r2. r8[ ais8^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↓" }}] ~ } \bar "|" { ais1 ~ } @@ -14,7 +14,7 @@ { ais1 ~ } \bar "|" { ais1 ~ } - \bar "|" \break + \bar "|" { ais1 ~ } \bar "|" { ais1 ~ } @@ -22,7 +22,7 @@ { ais1 ~ } \bar "|" { ais4 ~ ais16[ r8.] r2 } - \bar "|" \break + \bar "|" { r1 } \bar "||" } \ No newline at end of file diff --git a/resources/490b1e6e/lilypond/part_III.ly b/resources/490b1e6e/lilypond/part_III.ly index 001dc14..b6a395f 100644 --- a/resources/490b1e6e/lilypond/part_III.ly +++ b/resources/490b1e6e/lilypond/part_III.ly @@ -1,28 +1,28 @@ { - { dis4^\markup { \pad-markup #0.2 "+20"} ~ dis2. ~ } + { dis1^\markup { \pad-markup #0.2 "+20"} ~ } \bar "|" { dis1 ~ } \bar "|" { dis1 ~ } \bar "|" { dis1 ~ } - \bar "|" \break + \bar "|" { dis1 ~ } \bar "|" - { dis2 d4^\markup { \pad-markup #0.2 "+36"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 5↑" }} ~ d4 ~ } + { dis2 d2^\markup { \pad-markup #0.2 "+36"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 5↑" }} ~ } \bar "|" { d16[ dis8.^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 3↓" }}] ~ dis4 ~ dis16[ cis8.^\markup { \pad-markup #0.2 "-47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↑" }}] ~ cis16[ d8.^\markup { \pad-markup #0.2 "-35"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 5↓" }}] ~ } \bar "|" { d2 ~ d8[ d8^\markup { \pad-markup #0.2 "+9"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 13↓" }}] ~ d4 ~ } - \bar "|" \break + \bar "|" { d2 ~ d8[ cis8^\markup { \pad-markup #0.2 "-19"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 7↓" }}] ~ cis4 ~ } \bar "|" - { cis2 d4^\markup { \pad-markup #0.2 "+36"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 5↑" }} ~ d4 ~ } + { cis2 d2^\markup { \pad-markup #0.2 "+36"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 5↑" }} ~ } \bar "|" - { d4 dis4^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 3↓" }} ~ dis2 ~ } + { d4 dis2.^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 3↓" }} ~ } \bar "|" { dis4 ~ dis16[ r8.] r2 } - \bar "|" \break + \bar "|" { r1 } \bar "||" } \ No newline at end of file diff --git a/resources/490b1e6e/lilypond/part_IV.ly b/resources/490b1e6e/lilypond/part_IV.ly index 720aad3..b77c7a9 100644 --- a/resources/490b1e6e/lilypond/part_IV.ly +++ b/resources/490b1e6e/lilypond/part_IV.ly @@ -6,7 +6,7 @@ { ais2 ~ ais8.[ gis16^\markup { \pad-markup #0.2 "+18"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 3↓" }}] ~ gis4 ~ } \bar "|" { gis4 g2.^\markup { \pad-markup #0.2 "+6"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 5↑" }} ~ } - \bar "|" \break + \bar "|" { g16[ fis8.^\markup { \pad-markup #0.2 "-49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 7↓" }}] ~ fis2. ~ } \bar "|" { fis1 ~ } @@ -14,7 +14,7 @@ { fis1 ~ } \bar "|" { fis1 ~ } - \bar "|" \break + \bar "|" { fis1 ~ } \bar "|" { fis1 ~ } @@ -22,7 +22,7 @@ { fis1 ~ } \bar "|" { fis4 ~ fis16[ r8.] r2 } - \bar "|" \break + \bar "|" { r1 } \bar "||" } \ No newline at end of file diff --git a/resources/4a8a6e53/lilypond/part_I.ly b/resources/4a8a6e53/lilypond/part_I.ly index d4a6b53..e9e6601 100644 --- a/resources/4a8a6e53/lilypond/part_I.ly +++ b/resources/4a8a6e53/lilypond/part_I.ly @@ -6,7 +6,7 @@ { f'4 ~ f'8[ g'8^\markup { \pad-markup #0.2 "+2"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↑" }}] ~ g'4 ~ g'8[ ais'8^\markup { \pad-markup #0.2 "-31"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 7↑" }}] ~ } \bar "|" { ais'4 ~ ais'8[ c''8^\markup { \pad-markup #0.2 "+0"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 1↑" }}] ~ c''2 } - \bar "|" \break + \bar "|" { gis'4^\markup { \pad-markup #0.2 "+41"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 13↑" }} ~ gis'8.[ gis'16^\markup { \pad-markup #0.2 "+14"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 5↓" }}] ~ gis'4 ~ gis'8[ f'8^\markup { \pad-markup #0.2 "-2"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↓" }}] ~ } \bar "|" { f'2 e'4^\markup { \pad-markup #0.2 "-14"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 5↑" }} ~ e'8[ r8] } @@ -14,7 +14,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } @@ -22,7 +22,7 @@ { r1 } \bar "|" { r2 r16[ dis'8.^\markup { \pad-markup #0.2 "-38"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 5↓" }}] ~ dis'4 ~ } - \bar "|" \break + \bar "|" { dis'1 ~ } \bar "|" { dis'8[ dis'8^\markup { \pad-markup #0.2 "-11"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 13↑" }}] ~ dis'2 d'4^\markup { \pad-markup #0.2 "-49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 3↑" }} ~ } @@ -30,7 +30,7 @@ { d'1 ~ } \bar "|" { d'4 ~ d'8[ ais8^\markup { \pad-markup #0.2 "+35"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 5↑" }}] ~ ais2 ~ } - \bar "|" \break + \bar "|" { ais1 ~ } \bar "|" { ais8.[ b16^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 3↓" }}] ~ b2. ~ } @@ -38,7 +38,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -46,7 +46,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b2 ~ b16[ r8.] r4 } \bar "|" { r1 } diff --git a/resources/4a8a6e53/lilypond/part_II.ly b/resources/4a8a6e53/lilypond/part_II.ly index 21ca368..3c00ff8 100644 --- a/resources/4a8a6e53/lilypond/part_II.ly +++ b/resources/4a8a6e53/lilypond/part_II.ly @@ -1,12 +1,12 @@ { - { c'4^\markup { \pad-markup #0.2 "+0"} ~ c'2. ~ } + { c'1^\markup { \pad-markup #0.2 "+0"} ~ } \bar "|" { c'1 ~ } \bar "|" { c'1 ~ } \bar "|" { c'1 ~ } - \bar "|" \break + \bar "|" { c'1 ~ } \bar "|" { c'1 ~ } @@ -14,15 +14,15 @@ { c'4 ~ c'16[ e'8.^\markup { \pad-markup #0.2 "-41"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 13↓" }}] ~ e'2 ~ } \bar "|" { e'2 ~ e'8.[ g'16^\markup { \pad-markup #0.2 "+2"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↑" }}] ~ g'4 ~ } - \bar "|" \break + \bar "|" { g'4 ~ g'8[ ais'8^\markup { \pad-markup #0.2 "-31"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 1↑" }}] ~ ais'2 ~ } \bar "|" { ais'4 ~ ais'8.[ gis'16^\markup { \pad-markup #0.2 "+41"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 13↑" }}] ~ gis'2 } \bar "|" - { gis'4^\markup { \pad-markup #0.2 "+14"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 5↓" }} ~ gis'4 ~ gis'8[ g'8^\markup { \pad-markup #0.2 "+2"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↑" }}] ~ g'4 ~ } + { gis'2^\markup { \pad-markup #0.2 "+14"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 5↓" }} ~ gis'8[ g'8^\markup { \pad-markup #0.2 "+2"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↑" }}] ~ g'4 ~ } \bar "|" { g'8[ f'8^\markup { \pad-markup #0.2 "-2"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↓" }}] ~ f'2. ~ } - \bar "|" \break + \bar "|" { f'4 ~ f'8[ e'8^\markup { \pad-markup #0.2 "+18"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 7↑" }}] ~ e'2 ~ } \bar "|" { e'1 ~ } @@ -30,7 +30,7 @@ { e'16[ fis'8.^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 1↑" }}] ~ fis'2. ~ } \bar "|" { fis'1 ~ } - \bar "|" \break + \bar "|" { fis'16[ a'8.^\markup { \pad-markup #0.2 "-20"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 1↑" }}] ~ a'2 ~ a'16[ ais'8.^\markup { \pad-markup #0.2 "+8"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 13↓" }}] ~ } \bar "|" { ais'1 ~ } @@ -38,7 +38,7 @@ { ais'2 ~ ais'16[ b'8.^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 1↑" }}] ~ b'4 ~ } \bar "|" { b'2 ~ b'8[ a'8^\markup { \pad-markup #0.2 "+16"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 7↑" }}] ~ a'4 ~ } - \bar "|" \break + \bar "|" { a'2 ~ a'8.[ fis'16^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 3↑" }}] ~ fis'4 ~ } \bar "|" { fis'16[ f'8.^\markup { \pad-markup #0.2 "-2"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 11↑" }}] ~ f'2. ~ } @@ -46,7 +46,7 @@ { f'4 ~ f'8.[ e'16^\markup { \pad-markup #0.2 "+45"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 3↓" }}] ~ e'2 ~ } \bar "|" { e'1 ~ } - \bar "|" \break + \bar "|" { e'1 ~ } \bar "|" { e'4 ~ e'16[ r8.] r2 } diff --git a/resources/4a8a6e53/lilypond/part_III.ly b/resources/4a8a6e53/lilypond/part_III.ly index f792fe6..75dcb1c 100644 --- a/resources/4a8a6e53/lilypond/part_III.ly +++ b/resources/4a8a6e53/lilypond/part_III.ly @@ -6,7 +6,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } @@ -14,7 +14,7 @@ { r1 } \bar "|" { r16[ ais8.^\markup { \pad-markup #0.2 "-31"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 7↑" }}] ~ ais2. ~ } - \bar "|" \break + \bar "|" { ais2. gis4^\markup { \pad-markup #0.2 "+14"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 5↓" }} ~ } \bar "|" { gis16[ fis8.^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 11↓" }}] ~ fis2. ~ } @@ -22,7 +22,7 @@ { fis1 ~ } \bar "|" { fis1 ~ } - \bar "|" \break + \bar "|" { fis1 ~ } \bar "|" { fis1 ~ } @@ -30,7 +30,7 @@ { fis1 ~ } \bar "|" { fis1 ~ } - \bar "|" \break + \bar "|" { fis1 ~ } \bar "|" { fis2 ~ fis8.[ r16] r4 } @@ -38,7 +38,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } @@ -46,7 +46,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } diff --git a/resources/4a8a6e53/lilypond/part_IV.ly b/resources/4a8a6e53/lilypond/part_IV.ly index 17f6594..41471e8 100644 --- a/resources/4a8a6e53/lilypond/part_IV.ly +++ b/resources/4a8a6e53/lilypond/part_IV.ly @@ -6,7 +6,7 @@ { c'1 ~ } \bar "|" { c'1 ~ } - \bar "|" \break + \bar "|" { c'1 ~ } \bar "|" { c'1 ~ } @@ -14,7 +14,7 @@ { c'1 ~ } \bar "|" { c'1 ~ } - \bar "|" \break + \bar "|" { c'1 ~ } \bar "|" { c'1 ~ } @@ -22,23 +22,23 @@ { c'1 ~ } \bar "|" { c'1 } - \bar "|" \break - { b4^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 3↓" }} ~ b2. ~ } + \bar "|" + { b1^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 3↓" }} ~ } \bar "|" { b1 ~ } \bar "|" { b4 ~ b8[ ais8^\markup { \pad-markup #0.2 "+35"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 5↑" }}] ~ ais8.[ a16^\markup { \pad-markup #0.2 "-20"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 7↓" }}] ~ a4 ~ } \bar "|" { a1 ~ } - \bar "|" \break + \bar "|" { a1 ~ } \bar "|" { a1 ~ } \bar "|" { a16[ a8.^\markup { \pad-markup #0.2 "+16"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 7↑" }}] ~ a2. } \bar "|" - { gis4^\markup { \pad-markup #0.2 "-13"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 13↑" }} ~ gis2. ~ } - \bar "|" \break + { gis1^\markup { \pad-markup #0.2 "-13"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 13↑" }} ~ } + \bar "|" { gis8.[ gis16^\markup { \pad-markup #0.2 "-40"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 5↓" }}] ~ gis2. ~ } \bar "|" { gis4 ~ gis8[ f8^\markup { \pad-markup #0.2 "-2"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 1↑" }}] ~ f4 fis4^\markup { \pad-markup #0.2 "-5"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 11↓" }} ~ } @@ -46,7 +46,7 @@ { fis2. ~ fis8[ gis8^\markup { \pad-markup #0.2 "-13"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 13↑" }}] ~ } \bar "|" { gis1 ~ } - \bar "|" \break + \bar "|" { gis1 ~ } \bar "|" { gis1 } diff --git a/resources/5e54c468/5e54c468_code.scd b/resources/5e54c468/5e54c468_code.scd new file mode 100644 index 0000000..3eb3cbd --- /dev/null +++ b/resources/5e54c468/5e54c468_code.scd @@ -0,0 +1,1058 @@ +( +// helper funcs +var hsArrayToCents, pDist, hdSum, hsChordalDistance, hsArrayToFreq; + +// score funcs +var isInRange, spacingScore, rangeScore, intervalScore, inclusionScore; + +// subroutines +var genTuples, initVoices, genOrders, genSubMotif, updateVoices, genDurFunc, genStepFunc; + +// primary routines +var genMotif, genSecondarySeq; + +// audition funcs +var genPatterns, genMidiPatterns; + +// resource management funcs +var seedFunc, genUID, writeResources, stringifyToDepth, setSeeds, sanityCheck, +msgInterpret, loadLedgerFile, loadLedgerJSON, loadModelFile, loadModelJSON, +setGlobalVars, globalVarsToDict, saveLedger; + +// model vars +//(model and global vars mostly set by OSC funcs +var seq, lastXChanges, +curUID, refUID, orderSeed, durSeed, motifSeed, +entrancesProbVals, passagesProbVals, exitsProbVals, +ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, +orders, susWeights, orderSize, passagesSize, +motifEdited, orderEdited; + +// model aux vars +var entrancesDurFunc, passagesDurFunc, exitsDurFunc, stepFunc; + +// other global vars +var popSize, exPath, dir, primes, dims, tuples, +group, player, ledgerPath, ledger, currentlyPlayingUID, +nameSpaces; + +// install JSON quark +if(Quarks.isInstalled("JSONlib").not, { + Quarks.install("https://github.com/musikinformatik/JSONlib.git"); + thisProcess.recompile; + //HelpBrowser.openHelpFor("Classes/JSONlib"); +}); + + +//------helper funcs + +hsArrayToCents = { + arg hsArray; + hsArray.collect({arg dist, p; dist * 1200 * log2(primes[p][0]/primes[p][1])}).sum +}; + +pDist = { + arg array1, array2, signed = false; + var pDistance; + pDistance = hsArrayToCents.value(array1) - hsArrayToCents.value(array2); + if(signed, {pDistance}, {abs(pDistance)}) +}; + +hdSum = { + arg hsArrays; + var size, distances, mean; + size = hsArrays.size; + distances = (size - 1).collect({arg i; + ((i + 1)..(size - 1)).collect({arg j; + abs(hsArrays[i] - hsArrays[j]).collect({arg dist, p; dist * log2(primes[p].product)}).sum + }); + }).flat; + mean = distances.sum / distances.size; + distances.sum + //mean + ((1 / sqrt((pow(distances - mean, 2)).sum / distances.size)) * mean) +}; + +hsChordalDistance = { + arg hsArrays1, hsArrays2; + var size, distances, mean; + size = hsArrays1.size; + distances = hsArrays1.size.collect({arg i; + hsArrays2.size.collect({arg j; + abs(hsArrays1[i] - hsArrays2[j]).collect({arg dist, p; dist * log2(primes[p].product)}).sum + }); + }).flat; + mean = distances.sum / distances.size; + distances.sum + //mean + ((1 / sqrt((pow(distances - mean, 2)).sum / distances.size)) * mean) +}; + +hsArrayToFreq = { + arg array; + array.collect({arg dim, d; pow(primes[d][0]/primes[d][1], dim)}).product +}; + +//------score funcs + +/* +isInRange = { + arg hsArray, min, max; + var cents; + cents = hsArrayToCents.value(hsArray); + (cents >= min) && (cents <= max) +}; +*/ + +spacingScore = { + arg hsArrays, min; + var centsArray; + centsArray = hsArrays.collect({arg hsArray; hsArrayToCents.value(hsArray)}).sort({arg a, b; a < b}); + centsArray.differentiate.drop(1).collect({arg pDistance; if(pDistance >= min, {1}, {0.01})}).sum; +}; + +rangeScore = { + arg hsArray1, hsArray2, min, max, low, signed = false; + var pDistance; + pDistance = pDist.value(hsArray1, hsArray2, signed); + if((pDistance >= min) && (pDistance <= max), {1}, {low}); +}; + +intervalScore = { + arg hsArray1, hsArray2, mean, sd, signed = false; + var pDistance; + pDistance = pDist.value(hsArray1, hsArray2, signed); + //pDistance.gaussCurve(1, mean, sd) + stepFunc.value(pDistance); +}; + +inclusionScore = { + arg array, test, min = 0.01; + if(array.collect({arg v; v.hash}).includes(test.hash), {min}, {1}); +}; + + +//------subroutines + +genTuples = { + var tuples; + tuples = dims.collect({[-1, 0, 1]}).allTuples.select({arg tuple; (abs(tuple.drop(1)).sum <= 1) && (tuple[0] == 0)}); + tuples = tuples ++ tuples.collect({arg tuple; [-3, -2, -1, 1, 2, 3].collect({arg octTrans; tuple.deepCopy.put(0, octTrans)})}).flatten; +}; + +initVoices = { + var init, voicesInit; + voicesInit = popSize.collect({dims.collect({0})}); + /* + voicesInit = [dims.collect({0})]; + (popSize - 1).do({ + arg rep, new; + rep = dims.rand; + new = voicesInit.last.deepCopy; + new[rep] = new[rep] + [-1, 1].choose(); + voicesInit = voicesInit.add(new); + }); + */ + voicesInit.deepCopy; +}; + +genDurFunc = {arg chordProb, minPad, maxPad, minDur, maxDur, envData, seed; + var env, pTable, durFunc; + env = Env.pairs([[0, 0]] ++ envData.clump(2) ++ [[1, 0]]).asSignal(256).asList.asArray; + pTable = env.asRandomTable; + [chordProb, minPad, maxPad, minDur, maxDur, envData].postln; + durFunc = {arg allowChord, pad = false; + var res; + res = if(allowChord.not, { + pTable.tableRand * (maxDur - minDur) + minDur + }, { + if(1.0.rand < chordProb, {0}, {pTable.tableRand * (maxDur - minDur) + minDur}); + }).round(0.125); + if(pad, {res = res + rrand(minPad.asFloat, maxPad.asFloat).round(0.125)}); + if(res.asInteger == res, {res = res.asInteger}); + res + }; + seedFunc.value(durFunc, seed); +}; + +genStepFunc = {arg minStep, maxStep, envData, seed; + var envDataNorm, env, pTable, stepFunc; + [minStep, maxStep, envData].postln; + envDataNorm = ([[0, 0]] ++ envData.clump(2) ++ [[1, 0]]).flop; + envDataNorm = [envDataNorm[0].normalize(minStep, maxStep), envDataNorm[1]].flop; + env = Env.pairs(envDataNorm); + stepFunc = {arg pDist; + env.at(pDist).clip(0.001, 1); + }; + seedFunc.value(stepFunc, seed); +}; + +genOrders = {arg minMotifLength = 1, maxMotifLength = 5, minProgLength = 0, maxProgLength = 5; + ((maxMotifLength - minMotifLength).rand + minMotifLength).collect({ + var noProgIns, noSusIns, noSilentIns, prog, sus, silent, order; + noSusIns = [1, 2, 3].wchoose(susWeights.normalizeSum); + noProgIns = (popSize - noSusIns).rand + 1; + noSilentIns = popSize - noSusIns - noProgIns; + + # prog, sus, silent = (0..(popSize-1)).scramble.clumps([noProgIns, noSusIns, noSilentIns]); + + prog = (prog.scramble ++ ((maxProgLength - minProgLength).rand + minProgLength).collect({prog.choose}).scramble); + if(silent == nil, {silent = []}); + [sus.scramble, prog, silent.scramble] + }); +}; + +updateVoices = {arg ins, sus; + var voices, candidates, nWeights, nProbs, sel; + + voices = lastXChanges.deepCopy.last; + + candidates = sus.collect({arg v; tuples.collect({arg t; voices[v] + t})}).flatten; + candidates = difference(candidates.asSet, voices.asSet).asList; + nProbs = candidates.collect({arg candidate; + var stepScore, recentlySoundedScore, isInRangeScore, regScore, hdScore; + + //stepScore = intervalScore.value(voices[ins], candidate, 30, 400, 0.1); + stepScore = intervalScore.value(voices[ins], candidate, 100, 100); + recentlySoundedScore = inclusionScore.value(lastXChanges.flop[ins], candidate, 0); + isInRangeScore = rangeScore.value(candidate, candidate.collect({0}), ranges[ins][0], ranges[ins][1], 0, true); + regScore = spacingScore.value(voices.deepCopy.put(ins, candidate), 300); + hdScore = pow(hdSum.value(voices.deepCopy.put(ins, candidate)), hdExp); + if(hdInvert == 0, {hdScore = 1/hdScore}); + //maybe what you want here is a vector to another root and then favoring movement towards it. + //distScore = pow(hsChordalDistance.value(voices, voices.put(ins, candidate)), 2); + + [stepScore, recentlySoundedScore, isInRangeScore, regScore, hdScore] + }); + + nWeights = passagesWeights; + + //this handles nWeights of 0; mainly for testing + nProbs = nProbs.flop.select({arg scores, s; nWeights[s] != 0}).flop; + nWeights = nWeights.select({arg weight; weight != 0}); + nProbs = nProbs.flop.collect({arg scores, s; + if(scores.sum == 0, {scores}, {scores.normalizeSum * nWeights[s]}) + }); + nProbs = nProbs.flop.collect({arg scores, s; scores.product}).normalizeSum; + + sel = candidates.wchoose(nProbs); + + voices[ins] = sel; + lastXChanges = lastXChanges.add(voices).keep(-5); +}; + +genSubMotif = {arg order, orderIndex, lastState, repeatLast = false, startFromLast = false, isLastOrder = false; + var sus, prog, silent, flatOrder, res, isInChord, allowChord, pad, lastXChangesHold, voices, adder; + # sus, prog, silent = order; + flatOrder = silent ++ sus ++ prog; + lastXChangesHold = lastXChanges.deepCopy; + voices = lastState.deepCopy; + isInChord = popSize.collect({false}); + allowChord = false; + pad = false; + res = []; + "------generating motif".postln; + //need to figure out here if voices move between motifs + flatOrder.do({arg ins, i; + + if(prog.includes(ins) && repeatLast.not, {updateVoices.value(ins, sus)}); + adder = if(silent.includes(ins), {["Rest"]}, {lastXChanges.last.deepCopy[ins]}); + + if(voices[ins] != adder, { + var dur; + + if((sus ++ silent).includes(ins), { + allowChord = (ins != sus.last); + pad = (ins == sus.last); + }, { + if(i < (flatOrder.size - 1), { + allowChord = (isInChord[flatOrder[i + 1]] || (ins == flatOrder[i + 1])).not; + pad = false; + }, { + allowChord = false; + pad = true + }); + }); + if((orderIndex == 0) && sus.includes(ins), { + dur = entrancesDurFunc.value(allowChord, pad); + }, { + dur = passagesDurFunc.value(allowChord, pad); + }); + if(dur == 0, {isInChord[ins] = true}, {isInChord = popSize.collect({false})}); + + voices[ins] = adder; + res = res.add([voices.deepCopy.postln, dur]); + }); + }); + + // pad ending + if(orderIndex == (orders.size - 1), { + (0..(popSize-1)).scramble.do({arg ins; + if(res.last.first[ins] != ["Rest"], { + var dur; + voices[ins] = ["Rest"]; + allowChord = (voices != popSize.collect({["Rest"]})); + pad = allowChord.not; + dur = exitsDurFunc.value(allowChord, pad); + res = res.add([voices.deepCopy.postln, dur]); + }); + }); + }); + + //format and return + if(startFromLast, {lastXChanges = lastXChangesHold.deepCopy}); + res; +}; + + +//------primary routines + +genMotif = { + var repeats, fSeq, fDur, durAdd; + + repeats = 1; + fSeq = []; + + repeats.do({arg index; + var motif; + + motif = []; + + orders.do({arg order, o; + var lastState, subMotif; + lastState = if(o == 0, {popSize.collect({["Rest"]})}, {motif.last.last.first}); + subMotif = genSubMotif.value(order, o, lastState, isLastOrder: o == (orders.size - 1)); + motif = motif.add(subMotif); + + }); + + sanityCheck.value(motif, index); + + fSeq = fSeq.add(motif); + }); + + //round last duration to measure + fDur = fSeq.flatten.flatten.slice(nil, 1).sum; + durAdd = fDur.round(4) - fDur; + if(durAdd < 0, {durAdd = 4 - durAdd}); + fSeq[0][orders.size - 1][fSeq[0][orders.size - 1].size - 1][1] = fSeq[0][orders.size - 1][fSeq[0][orders.size - 1].size - 1][1] + durAdd; + + fSeq +}; + +genSecondarySeq = {arg seq; + var curdles, fSeq; + curdles = []; + while({curdles.sum < seq.size}, {curdles = curdles ++ [3.rand + 1]}); + + fSeq = seq.clumps(curdles).collect({arg clump, m; + var repeats, paddedSeq; + + //add rest + paddedSeq = clump.add([[[popSize.collect({["Rest"]}), 0.5.rand]]]); + + //implement repeats + repeats = [0.rand + 1, 1].wchoose([1, 0].normalizeSum); + repeats.collect({paddedSeq}); + }); + fSeq +}; + + +//------audition funcs + +/* +Event.addEventType(\osc, { + if (~addr.postln.notNil) { + ~addr.sendMsg(~indexPath, ~indexMsg); + ~addr.sendMsg(~seqPath, stringifyToDepth.value(~seqMsg, 3)); + //~addr.sendMsg("/STATE/OPEN", (dir.replace("supercollider", "resources") +/+ ~idMsg +/+ ~idMsg ++ "_gui_state" ++ ".state").standardizePath.postln); + }; +}); +*/ + +Event.addEventType(\osc, { + if (~addr.notNil) { + ~msg; + ~addr.sendMsg(~path, *~msg); + }; +}); + +genPatterns = {arg inSeq, addr, oneShot = false; + var voices, durs, pbinds, res, indices, sectionDurs, msg, ids, seq; + seq = inSeq.collect({arg mSeq; mSeq[0]}); + # voices, durs = seq.flatten2(seq.maxDepth - 5).flop; + pbinds = voices.flop.collect({arg voice, v; + var clumps, hdScores, freqs, fDurs, attacks, rels, amps; + clumps = voice.separate({arg a, b; a != b }); + freqs = clumps.collect({arg clump; if(clump[0] != ["Rest"], {(60.midicps * hsArrayToFreq.value(clump[0]))}, {Rest(0)})}); + fDurs = durs.clumps(clumps.collect({arg clump; clump.size})).collect({arg clump; clump.sum}); + //attacks = 2.collect({rrand(1, 3)}) ++ freqs.drop(2).collect({rrand(0.3, 0.5)}); + attacks = fDurs.collect({arg dur; dur * rrand(0.2, 0.4)}); + //rels = freqs.drop(2).collect({rrand(0.3, 0.5)}) ++ 2.collect({rrand(1, 3)}); + rels = (clumps.size - 1).collect({arg c; + if(clumps[c + 1][0] == ["Rest"], {rrand(1.0, 3.0)}, {rrand(0.3, 0.5)}); + }); + rels = rels.add(rrand(1.0, 3.0)); + amps = freqs.collect({rrand(0.6, 0.99)}); + + [ + Pbind( + \instrument, \string_model, + \group, group, + \freq, Pseq(freqs, 1), + \dur, Pseq(fDurs, 1), + \attack, Pseq(attacks, 1), + \sustain, Pseq(fDurs, 1), + \release, Pseq(rels, 1), + //\amp, Pseq(amps, 1), + \amp, Pbrown(0.5, 1, 0.5), + \busIndex, v + ), + Pbind( + \instrument, \sine, + \group, group, + \freq, Pseq(freqs, 1), + \dur, Pseq(fDurs, 1), + \sustain, Pseq(fDurs, 1), + \busIndex, v + ) + ] + }).flatten; + if(oneShot.not, { + msg = inSeq.collect({arg mSeq, m; mSeq[1..]}); + //ids = inSeq.collect({arg mSeq, m; mSeq[2]}); + sectionDurs = seq.collect({arg mSeq; mSeq.flatten2(mSeq.maxDepth - 5).flop[1].sum}); + pbinds = pbinds ++ + [ + Pbind( + \type, \osc, + \addr, addr, + \path, "/playing", + \msg, Pseq(msg, 1), + \dur, Pseq(sectionDurs, 1) + ); + ] + }); + res = Ppar(pbinds); + res +}; + +/* +genMidiPatterns = {arg seq; + var voices, durs, patterns, res, mOut, pbRange; + pbRange = 1; //semitones - change this as needed for your situation + mOut = MIDIOut.newByName("TiMidity", "TiMidity port 0").latency_(Server.default.latency); + # voices, durs = seq.flatten2(seq.maxDepth - 5).flop; + res = Ppar( + voices.flop.collect({arg voice, v; + var clumps, hdScores, freqs, fDurs; + + mOut.program(v, 70); + + clumps = voice.separate({arg a, b; a != b }); + freqs = clumps.collect({arg clump; if(clump[0] != ["Rest"], {(60.midicps * hsArrayToFreq.value(clump[0]))}, {Rest(0)})}); + fDurs = durs.clumps(clumps.collect({arg clump; clump.size})).collect({arg clump; clump.sum}); + + Pbind( + \type, \midi, + \chan, v, + \noteval, Pseq(freqs.cpsmidi - 24, 1), + \note, Pfunc({ | event | event[\noteval].floor }), + \dur, Pseq(fDurs, 1), + \midiout, mOut, + \amp, 1, + \bend, Pfunc({ + | event | + if (event[\note].isRest.not) { + var pitchbendvalue = event[\noteval].frac.linlin(0, pbRange, 8192, 8192*2).asInteger; + m.bend(v, pitchbendvalue); + }; + 0; // return something other than nil to avoid stopping the pattern + }), + ); + }); + ); + res +}; +*/ + + +//------resource management funcs + +genUID = {Date.seed.asHexString.toLower}; + +seedFunc = {arg func, seed; + var funcArgs, next; + next = Routine({loop{func.valueArray(funcArgs).yield }}); + next.randSeed_(seed); + {arg ...args; funcArgs = args; next.value} +}; + +stringifyToDepth = {arg data, maxDepth = 1; + var prettyString = "", rCount = 0, writeArray, indent; + + if(maxDepth == 0, { + data.asCompileString + }, { + indent = {arg size; size.collect({" "}).join("")}; + writeArray = {arg array; + prettyString = prettyString ++ indent.value(rCount) ++ "[\n"; + rCount = rCount + 1; + if(rCount < maxDepth, { + array.do({arg subArray; writeArray.value(subArray)}); + }, { + prettyString = prettyString ++ array.collect({arg subArray; + indent.value(rCount + 1) ++ subArray.asCompileString + }).join(",\n"); + }); + rCount = rCount - 1; + prettyString = prettyString ++ "\n" ++ indent.value(rCount) ++ "],\n"; + }; + + writeArray.value(data); + prettyString.replace(",\n\n", "\n").drop(-2); + }) +}; + +sanityCheck = {arg motif, index; + //print functions = very helpful + ("----------" + index + "------------").postln; + + motif.flatten.do({arg val, v; + if(v > 0, { + if(motif.flatten[v-1][0].hammingDistance(val[0]) > 1, {"problem 1".postln}); + if(motif.flatten[v-1][0].hammingDistance(val[0]) == 0, {"problem 2".postln}); + }); + val.postln + }); + "***********".postln; +}; + +msgInterpret = {arg in, escapeDoubleQuotes = true, escapeSingleQuotes = true; + var res; + + res = in; + if(res.isNil.not, { + if((res.isArray && res.isString.not), { + res = res.asCompileString; + res = res.replace(" ", "").replace("\n", "").replace("\t", ""); + if(escapeSingleQuotes, {res = res.replace("\'", "")}); + if(escapeDoubleQuotes, {res = res.replace("\"", "")}); + res = res.replace("Rest", "\"Rest\""); + res = res.interpret; + }, { + var tmpRes; + if(res.every({arg char; char.isDecDigit}), {tmpRes = res.asInteger}); + if(res.contains("."), {tmpRes = res.asFloat}); + if(tmpRes != nil, {res = tmpRes}); + }); + }); + res +}; + +writeResources = {arg path, dict; + var file, modelItems, resString; + file = File(path,"w"); + + modelItems = [ + seq, lastXChanges, + curUID, refUID, orderSeed, durSeed, motifSeed, + entrancesProbVals, passagesProbVals, exitsProbVals, + ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, + orders, susWeights, orderSize, passagesSize, + motifEdited, orderEdited + ]; + + resString = nameSpaces.collect({arg nameSpace; + var depth = 0, insert = " "; + if(nameSpace == "music_data", {depth = 3; insert = "\n"}); + if(nameSpace == "last_changes", {depth = 1; insert = "\n"}); + if(nameSpace == "order", {depth = 1; insert = "\n"}); + if((nameSpace == "ref_uid") && (dict[nameSpace] == nil), {dict[nameSpace] = "nil"}); + "\"" ++ nameSpace ++ "\":" ++ insert ++ stringifyToDepth.value(dict[nameSpace], depth) + }).join(",\n"); + + resString = "{\n" ++ resString ++ "\n}"; + + file.write(resString); + file.close; + resString +}; + +loadModelFile = {arg path; loadModelJSON.value(File(path, "r").readAllString.parseJSON)}; + +loadModelJSON = {arg jsonObject; + var dict; + dict = Dictionary.with(*nameSpaces.collect({arg nS; nS->msgInterpret.value(jsonObject[nS])})); + dict +}; + +setGlobalVars = {arg dict, skipLastXChanges = false; + var tmpLastXChanges; + tmpLastXChanges = lastXChanges.deepCopy; + // order really matters!!!! + # seq, lastXChanges, curUID, refUID, orderSeed, durSeed, motifSeed, + entrancesProbVals, passagesProbVals, exitsProbVals, + ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, + orders, susWeights, orderSize, passagesSize, + motifEdited, orderEdited = nameSpaces.collect({arg nS; dict[nS]}); + if(skipLastXChanges, {lastXChanges = tmpLastXChanges}); + dict +}; + +globalVarsToDict = { + var modelItems, dict; + // order really matters!!!! + modelItems = [ + seq, lastXChanges, + curUID, refUID, orderSeed, durSeed, motifSeed, + entrancesProbVals, passagesProbVals, exitsProbVals, + ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, + orders, susWeights, orderSize, passagesSize, + motifEdited, orderEdited + ]; + dict = Dictionary.with(*nameSpaces.collect({arg nS, n; nS->modelItems[n]})); +}; + +loadLedgerFile = {arg path; + ledgerPath = path; + loadLedgerJSON.value(File(ledgerPath, "r").readAllString.parseJSON) +}; + +loadLedgerJSON = {arg jsonObject; ledger = jsonObject["ledger"]}; + +saveLedger = {arg ledger, path; + var file; + file = File(path, "w"); + file.write("{\n\"ledger\":\n" ++ stringifyToDepth.value(ledger, 1) ++ "\n}"); + file.close; +}; + +//------global vars + +primes = [[2, 1], [3, 2], [5, 4], [7, 4], [11, 8], [13, 8]]; +//ranges = [[-2400, 0], [-1200, 1200], [0, 2400], [0, 2400]]; +exPath = thisProcess.nowExecutingPath; +dir = exPath.dirname; +//popSize = 4; +dims = primes.size; +tuples = genTuples.value(); +//refUID = nil; +group = Group.new; +~group = group; +loadLedgerFile.value(dir +/+ ".." +/+ "resources" +/+ "piece_ledger.json"); +//passagesWeights = [1, 1, 1, 1, 1]; +//susWeights = [1, 1, 1]; +// order really matters!!!! +nameSpaces = [ + "music_data", "last_changes", "cur_uid", "ref_uid", "order_seed", "dur_seed", "motifs_seed", + "entrances_probs_vals","passages_probs_vals", "exits_probs_vals", + "ranges", "step_probs_vals", "passages_weights", "hd_exp", "hd_invert", + "order", "sus_weights", "order_size", "passages_size", + "motif_edited", "order_edited" +]; + + +//------OSC funcs + +OSCdef(\load_ledger, {arg msg, time, addr, port; + loadLedgerFile.value(msg[1].asString); +}, \load_ledger); + +OSCdef(\load_model, {arg msg, time, addr, port; + var dict; + dict = loadModelFile.value(msg[1].asString); + setGlobalVars.value(dict); +}, \load_model); + +OSCdef(\save_ledger, {arg msg, time, addr, port; + msg.postln; + ledger = msgInterpret.value(msg[1].asString.parseJSON["ledger"], false).postln; + //loadLedgerJSON.value(msg[0]) + saveLedger.value(ledger, msg[2].asString); + //loadLedgerFile.value(msg[1].asString); +}, \save_ledger); + +OSCdef(\generate, {arg msg, time, addr, port; + var path, dict, durSeeds, musPath, modelString; + msg.postln; + + path = msg[1].asString; + + dict = loadModelFile.value(path); + setGlobalVars.value(dict, true); + + popSize = ranges.size; + + //refUID.postln; + + loadLedgerFile.value(ledgerPath); + if(ledger == nil, {ledger = ["tmp"]}); + if(ledger.last != "tmp", {ledger = ledger.add("tmp")}); + + if(refUID == nil, {lastXChanges = [initVoices.value().deepCopy]}); + if((refUID != nil) && (refUID != "tmp"), { + var file; + file = File((dir +/+ ".." +/+ "resources" +/+ refUID +/+ refUID ++ "_mus_model" ++ ".json").standardizePath, "r"); + lastXChanges = msgInterpret.value(file.readAllString.parseJSON["last_changes"]); + }); + + refUID.postln; + lastXChanges.collect({arg item; item.postln}); + + durSeeds = seedFunc.value({3.collect({rrand(100000, 999999)})}, durSeed).value.postln; + entrancesDurFunc = genDurFunc.valueArray(entrancesProbVals[..4] ++ [entrancesProbVals[5..]] ++ [durSeeds[0]]); + passagesDurFunc = genDurFunc.valueArray(passagesProbVals[..4] ++ [passagesProbVals[5..]] ++ [durSeeds[1]]); + exitsDurFunc = genDurFunc.valueArray(exitsProbVals[..4] ++ [exitsProbVals[5..]] ++ [durSeeds[2]]); + + if(orders == nil, { + orders = seedFunc.value(genOrders, orderSeed).valueArray(orderSize ++ passagesSize); + //addr.sendMsg("/order", stringifyToDepth.value(orders, 1)); + }); + + stepFunc = genStepFunc.valueArray(stepProbsVals[..1] ++ [stepProbsVals[2..]] ++ [motifSeed]); + seq = seedFunc.value(genMotif, motifSeed).value; + + lastXChanges.collect({arg item; item.postln}); + + dict = globalVarsToDict.value; + modelString = writeResources.value(path, dict); + + //addr.sendMsg("/generated", musPath, stringifyToDepth.value(seq, 3)); + //~seq = seq; + + addr.sendMsg("/generated", path, modelString, ledgerPath); +}, \generate); + + +OSCdef(\commit, {arg msg, time, addr, port; + var musicData, musicChanged, dict, newLedger, modelPath, musString, musFile, test1, test2, lastCurUID, commitType, commitPos, equalityLedger; + //msg.postln; + + /* + test1 = msg[1].asString.parseJSON; + test2 = (dir +/+ ".." +/+ "resources/tmp/tmp_music" ++ ".json").standardizePath.parseJSONFile; + msgInterpret.value(test1["music"])[0][0][0][1].class.postln; + msgInterpret.value(test2["music_data"])[0][0][0][1].class.postln; + (test1["music"] == test2["music_data"]).postln; + */ + + musicData = loadModelJSON.value(msg[1].asString.parseJSON)["music_data"].postln; + musicChanged = (musicData != seq).postln; + commitType = msg[2].asString; + commitPos = msg[3].postln.asInteger; + + lastCurUID = curUID.deepCopy; + curUID = genUID.value; + + File.mkdir((dir +/+ ".." +/+ "resources" +/+ curUID).standardizePath); + File.copy(exPath, (dir +/+ ".." +/+ "resources" +/+ curUID +/+ curUID ++ "_code" ++ ".scd").standardizePath); + + modelPath = (dir +/+ ".." +/+ "resources" +/+ curUID +/+ curUID ++ "_mus_model" ++ ".json").standardizePath; + dict = globalVarsToDict.value; + if(musicChanged, { + seq = musicData; + dict["music_data"] = seq; + dict["motif_edited"] = "true" + }); + dict["cur_uid"] = curUID; + + writeResources.value(modelPath, dict); + + File.delete(ledgerPath ++ "_bak"); + File.copy(ledgerPath, ledgerPath ++ "_bak"); + File.delete(ledgerPath); + + /* + if(commitType == "add", { + if(lastCurUID == "tmp", { + ledger = ledger.drop(-1).add(curUID); + }, { + ledger = ledger.add(curUID); + }) + }); + */ + + ledger.postln; + + if(commitType == "add", {ledger = ledger.add(curUID)}); + + if(commitType == "insert", {ledger = ledger.insert(commitPos + 1, curUID)}); + + if(commitType == "replace", {ledger = ledger.put(commitPos, curUID)}); + + equalityLedger = ledger.collect({arg item; item.asSymbol}); + if(equalityLedger.includes(\tmp).postln, {ledger.removeAt(equalityLedger.indexOf(\tmp).postln)}); + + ledger.postln; + + saveLedger.value(ledger, ledgerPath); + + addr.sendMsg("/committed", curUID, ledgerPath); + //refUID = curUID; + +}, \commit); + +OSCdef(\transport, {arg msg, time, addr, port; + msg.postln; + if(msg[1] == 0, { + group.set(\release, 2); + group.set(\gate, 0); + player.stop; + }, { + // the cued sequence can now be read from file, so this can be cleaned up + var cSize, patterns, pSeq, cuedSeek, indexStart, indexEnd, tmpLedger; + if(msg[1] == 1, { + pSeq = []; + cuedSeek = (seq != nil); + indexStart = msg[2].asInteger; + indexEnd = ledger.size - if(cuedSeek, {2}, {1}); + //ledger.postln; + if(((indexStart == (ledger.size - 1)) && cuedSeek).not, { + ledger[indexStart..indexEnd].do({arg uid, index; + var path, file; + path = (dir +/+ ".." +/+ "resources" +/+ uid +/+ uid ++ "_mus_model" ++ ".json").standardizePath; + file = File(path, "r"); + pSeq = pSeq.add([msgInterpret.value(file.readAllString.postln.parseJSON["music_data"]), path, indexStart + index, uid]); + file.close; + }); + }); + if(cuedSeek, { + var path, file; + path = (dir +/+ ".." +/+ "resources/tmp/tmp_mus_model" ++ ".json").standardizePath; + file = File(path, "r"); + pSeq = pSeq.add([msgInterpret.value(file.readAllString.parseJSON["music_data"]), path, ledger.size - 1, "tmp"]); + file.close; + }); + patterns = genPatterns.value(pSeq, addr); + }, { + pSeq = [loadModelJSON.value(msg[2].asString.parseJSON)["music_data"].postln]; + patterns = genPatterns.value(pSeq, addr, true); + }); + player = Pfset(pattern: patterns, cleanupFunc: { + addr.sendMsg("/transport", 0); + addr.sendMsg("/one_shot", 0); + }); + player = player.play + }); +}, \transport); + + +OSCdef(\transcribe_motif, {arg msg, time, addr, port; + var tSeq, refChord, refUID; + + msg.postln; + + tSeq = [loadModelJSON.value(msg[1].asString.parseJSON)["music_data"]]; + refUID = msg[2].asString.postln; + + if((refUID != "nil") && (refUID != "tmp"), { + var file; + file = File((dir +/+ ".." +/+ "resources" +/+ refUID +/+ refUID ++ "_mus_model" ++ ".json").standardizePath, "r"); + refChord = msgInterpret.value(file.readAllString.parseJSON["last_changes"]).last; + file.close; + }, { + refChord = [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]; + }); + + ~transcribe.value(tSeq, refChord, (dir +/+ ".." +/+ "lilypond" +/+ "includes").standardizePath, addr, "/transcribe_motif"); +}, \transcribe_motif); + + +OSCdef(\transcribe_all, {arg msg, time, addr, port; + var cSize, patterns, cuedSeek, indexStart, indexEnd, tmpLedger; + if(true, { + cuedSeek = (seq != nil); + indexStart = msg[1].asInteger; + indexEnd = ledger.size - if(cuedSeek, {2}, {1}); + + //tmp for testing transcription + indexEnd = (indexStart+5); + + //ledger.postln; + if(((indexStart == (ledger.size - 1)) && cuedSeek).not, { + var lilyPartLedgerFiles; + + lilyPartLedgerFiles = 4.collect({arg p; + File((dir +/+ ".." +/+ "lilypond" +/+ "includes" +/+ "part_" ++ ["IV", "III", "II", "I"][p] ++ ".ly").standardizePath, "w"); + }); + + ledger[indexStart..indexEnd].do({arg uid, index; + var path, file, fileString, tSeq, refUID, refChord; + path = (dir +/+ ".." +/+ "resources" +/+ uid +/+ uid ++ "_mus_model" ++ ".json").standardizePath; + file = File(path, "r"); + fileString = file.readAllString; + tSeq = msgInterpret.value(fileString.parseJSON["music_data"]); + refUID = msgInterpret.value(fileString.parseJSON["ref_uid"]); + file.close; + + //uid.postln; + //(refUID == "nil").postln; + + refChord = [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]; + + if(refUID != "nil", { + path = (dir +/+ ".." +/+ "resources" +/+ refUID +/+ refUID ++ "_mus_model" ++ ".json").standardizePath; + file = File(path, "r"); + refChord = msgInterpret.value(file.readAllString.parseJSON["last_changes"]).last; + file.close; + }); + + if(index != indexEnd, { + ~transcribe.value(tSeq, refChord, (dir +/+ ".." +/+ "resources" +/+ uid +/+ "lilypond").standardizePath); + }, { + ~transcribe.value(tSeq, refChord, (dir +/+ ".." +/+ "resources" +/+ uid +/+ "lilypond").standardizePath, addr, "/transcribe_all"); + }); + + lilyPartLedgerFiles.do({arg f, p; + f.write("\\include \".." +/+ ".." +/+ "resources" +/+ uid +/+ "lilypond" +/+ "part_" ++ ["IV", "III", "II", "I"][p] ++ ".ly\"\n"); + }); + + }); + + lilyPartLedgerFiles.do({arg f; + f.close + }); + }); + /* + if(cuedSeek, { + var path, file; + path = (dir +/+ ".." +/+ "resources/tmp/tmp_mus_model" ++ ".json").standardizePath; + file = File(path, "r"); + pSeq = pSeq.add([msgInterpret.value(file.readAllString.parseJSON["music_data"]), path, ledger.size - 1, "tmp"]); + file.close; + }); + */ + }, { + + }); + +}, \transcribe_all); + +) + +~transcribe.value(~seq, dir); + +( +//synthdefs +~stringModelBusArray = 4.collect({Bus.audio(s, 1)}); +~sineBusArray = 4.collect({Bus.audio(s, 1)}); +~bassBusArray = 1.collect({Bus.audio(s, 1)}); +~hdustBusArray = 1.collect({Bus.audio(s, 1)}); +~samplerBusArray = 2.collect({Bus.audio(s, 1)}); +~sBuf = Buffer.alloc(s, 10, 2); +SynthDef(\string_model, {arg freq, gate = 1, sustain, amp, dur, attack, release = 1, busIndex = 0; + var trig, exc, sig1, sig2, noHarms; + noHarms = rrand(20, 40); + exc = Saw.ar(freq, TRand.ar(0.5, 1, Impulse.ar(freq))) * 0.001 + Dust.ar(10000, 0.01); + sig1 = (Klank.ar(`[ Array.series(noHarms, freq, freq), + Array.geom(noHarms, 1, 0.2) + Array.fill(noHarms, {rrand(0.01, 0.03)}), + Array.fill(noHarms, {rrand(1, 2)}) ], exc) * 0.8).softclip; + //sig1 = HPF.ar(sig1, 300); + Out.ar(Select.kr(busIndex, ~stringModelBusArray), sig1 * amp * EnvGen.kr(Env.adsr(attack, 0.3, 0.9, release, 0.9, -3), gate, doneAction: 2)); + //Out.ar([0, 1], sig1 * EnvGen.kr(Env.asr(dur, 0.3, 1), gate, doneAction: 2)); +}).add; + +SynthDef(\sine, {arg freq, gate = 1, sustain, amp, dur, busIndex = 0; + var sig; + sig = SinOsc.ar(freq); + Out.ar(Select.kr(busIndex, ~sineBusArray), sig * EnvGen.kr(Env.asr(0.3, 0.4, 0.3), gate, timeScale: dur, doneAction: 2)); + //Out.ar(Select.kr(busIndex, ~sineBusArray), sig * EnvGen.kr(Env.sine(dur), gate, doneAction: 2)); +}).add; + +SynthDef(\mixer, {arg freq, gate = 1, sustain, amp, dur, out; + var nameSpaces, sigs; + + sigs = [~stringModelBusArray, ~sineBusArray/*, ~bassBusArray, ~hdustBusArray, ~samplerBusArray*/].collect({arg busArray, i; + var nameSpace, sig; + nameSpace = ['string', 'sine', 'bass', 'hdust', 'sampler'][i]; + sig = busArray.collect({arg bus, c; In.ar(bus, 1) * NamedControl.kr(\ ++ nameSpace ++ '_volume_' ++ c, 1, 0.1)}); + sig = sig.collect({arg channel, c; Pan2.ar(channel, NamedControl.kr(\ ++ nameSpace ++ '_pan_' ++ c, i / (busArray.size - 1), 0.1) * 2 - 1)}); + sig = sig.collect({arg channel, c; channel * NamedControl.kr(\ ++ nameSpace ++ '_mute_' ++ c, 1, 0.1)}); + sig = Mix.ar(sig) * pow(NamedControl.kr(\ ++ nameSpace ++ '_volume_master', 1, 0.1), 2); + }); + + sigs = Mix.ar(sigs / 4); + Out.ar(0, sigs) +}).add; + +SynthDef(\bass, { + var switches, drone; + switches = {|i| Dust.kr(0.1)} ! 9; + drone = {|i| var harm = pow(2, 2 - (i / 3).trunc), amp = (1 / pow(harm, 2)); + SinOsc.ar(60 * harm + TRand.kr(-3, 3, switches[i]), 0, amp)} ! 9; + Out.ar(~bassBusArray[0], Mix.new(drone) * 0.2); +}).add; + +SynthDef(\sampler, { + Out.ar(~samplerBusArray, PlayBuf.ar(2, ~sBuf, BufRateScale.kr(~sBuf), doneAction: 2)) +}).add; + +// main routine +SynthDef(\hdust, { + arg gate = 0; + var hierarchical_dust, low_sine, high_sine, brown_noise, white_noise; + // this triggers the combinations of sources + // it is similar to the Supercollider UGen called dust but with a hierarchical structure + hierarchical_dust = ( + TIRand.kr(0, 1, Impulse.kr(100)) * + TIRand.kr(0, 1, Impulse.kr(10)) * + TIRand.kr(0, 1, Impulse.kr(1)) * + TIRand.kr(0, 1, Impulse.kr(0.1)) + ); + // adjust the multiplier at the end of each line for adjusting levels + // note with each trigger, each source has a 1 in 3 chance of sounding + low_sine = SinOsc.ar(76.midicps / 16) * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.1; + high_sine = SinOsc.ar(76.midicps * 8) * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.01; + brown_noise = BrownNoise.ar() * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.025; + white_noise = WhiteNoise.ar() * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.02; + Out.ar(~hdustBusArray[0], + ((low_sine + high_sine + brown_noise + white_noise) ) + ); +}).add; + +) + +( +var bass, hdust, sampler, mixer; +/* +bass = Synth.tail(~group, \bass); +hdust = Synth.tail(~group, \hdust); +sampler = Synth.head(~group, \sampler); +*/ +mixer = Synth.tail(~group, \mixer); + +OSCdef(\mixer, {arg msg, time, addr, port; + mixer.set((msg[1] ++ '_' ++ msg[2] ++ '_' ++ msg[3]), msg[4]) +}, \mixer); + +/* +OSCdef(\sampler, {arg msg, time, addr, port; + msg.postln; + sampler.free; + ~sBuf.free; + ~sBuf = Buffer.read(s, msg[1].asString.postln, action: {sampler = Synth.head(~group, \sampler)}); +}, \sampler); +*/ +) + +/* old something +( +SynthDef(\test, {arg freq, gate = 1, sustain, amp, dur; + var trig, exc, sig1, sig2, noHarms, freqFinal, start, end; + noHarms = 30; + freq = WhiteNoise.ar * 3 + freq; + freqFinal = Duty.ar((1/freq), 0, freq); + trig = Changed.ar(freqFinal); + start = Demand.ar(trig, 0, Dwhite(-1, -0.75)); + end = Demand.ar(trig, 0, Dwhite(0.75, 1)); + exc = Phasor.ar(trig, (end - start) * freqFinal / SampleRate.ir, start, end, 0) * 0.001 + Dust.ar(10000, 0.01); + + sig1 = (Klank.ar(`[ Array.series(noHarms, freq, freq), + Array.geom(noHarms, 1, 0.2) + Array.fill(noHarms, {rrand(0.01, 0.03)}), + Array.fill(noHarms, {rrand(2, 3)}) ], exc) * 0.5).softclip; + sig1 = HPF.ar(sig1, 300); + Out.ar([0, 1], sig1 * EnvGen.kr(Env.adsr(0.3, 0.3, 0.9, 0.5, 0.9), gate, doneAction: 2)); +}).add; +) +*/ + diff --git a/resources/5e54c468/5e54c468_mus_model.json b/resources/5e54c468/5e54c468_mus_model.json new file mode 100644 index 0000000..f3f6493 --- /dev/null +++ b/resources/5e54c468/5e54c468_mus_model.json @@ -0,0 +1,70 @@ +{ +"music_data": +[ + [ + [ + [ [ [ "Rest" ], [ "Rest" ], [ 1, -1, 0, -1, 1, -1 ], [ "Rest" ] ], 0 ], + [ [ [ "Rest" ], [ 2, -2, 0, -1, 1, 0 ], [ 1, -1, 0, -1, 1, -1 ], [ "Rest" ] ], 0.625 ], + [ [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -2, 0, -1, 1, 0 ], [ 1, -1, 0, -1, 1, -1 ], [ "Rest" ] ], 2.5 ], + [ [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -2, 0, -1, 1, 0 ], [ 1, -1, 0, -1, 1, -1 ], [ 2, -1, -1, -1, 1, 0 ] ], 1 ], + [ [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -2, 0, -1, 1, 0 ], [ 1, -1, 0, -1, 1, -1 ], [ 2, -1, 1, -1, 1, -1 ] ], 3.875 ] + ], + [ + [ [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -2, 0, -1, 1, 0 ], [ "Rest" ], [ 2, -1, 1, -1, 1, -1 ] ], 2 ], + [ [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -1, 0, -1, 1, -1 ], [ "Rest" ], [ 2, -1, 1, -1, 1, -1 ] ], 6.5 ] + ], + [ + [ [ [ "Rest" ], [ 2, -1, 0, -1, 1, -1 ], [ "Rest" ], [ 2, -1, 1, -1, 1, -1 ] ], 0 ], + [ [ [ "Rest" ], [ 2, -1, 0, -1, 1, -1 ], [ "Rest" ], [ "Rest" ] ], 0.75 ], + [ [ [ "Rest" ], [ 2, -1, 0, -1, 1, -1 ], [ 2, -1, 0, 0, 1, -1 ], [ "Rest" ] ], 1.125 ], + [ [ [ "Rest" ], [ 2, -1, 0, -1, 1, -1 ], [ 2, -1, 0, -1, 1, 0 ], [ "Rest" ] ], 4.5 ] + ], + [ + [ [ [ "Rest" ], [ 2, -1, 0, -1, 1, -1 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], 0.875 ], + [ [ [ "Rest" ], [ 2, -1, 0, -2, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], 1.25 ], + [ [ [ "Rest" ], [ 1, 0, 1, -1, 1, -1 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], 3.75 ] + ], + [ + [ [ [ "Rest" ], [ 1, -1, 1, -1, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], 1 ], + [ [ [ "Rest" ], [ 2, -2, 0, -1, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], 3.75 ], + [ [ [ "Rest" ], [ 2, -2, 0, -1, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ "Rest" ] ], 2 ], + [ [ [ "Rest" ], [ "Rest" ], [ 2, -1, 0, -1, 1, 0 ], [ "Rest" ] ], 0 ], + [ [ [ "Rest" ], [ "Rest" ], [ "Rest" ], [ "Rest" ] ], 4.5 ] + ] + ] +], +"last_changes": +[ + [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -1, 0, -1, 1, -1 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], + [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -1, 0, -2, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], + [ [ 1, -1, 0, -1, 1, 0 ], [ 1, 0, 1, -1, 1, -1 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], + [ [ 1, -1, 0, -1, 1, 0 ], [ 1, -1, 1, -1, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], + [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -2, 0, -1, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ] +], +"cur_uid": "5e54c468", +"ref_uid": "6fb60ab6", +"order_seed": 499586, +"dur_seed": 134526, +"motifs_seed": 636998, +"entrances_probs_vals": [ 0.34, 0.99, 3.1746031746032, 0.5, 2, 0, 0.5, 0.5, 0.5, 1, 0.5 ], +"passages_probs_vals": [ 0.34, 1.5873015873016, 4.7222222222222, 0.5, 2.1153846153846, 0, 0.5, 0.5, 0.5, 1, 0.5 ], +"exits_probs_vals": [ 0.34, 0.32, 1.9444444444444, 0.5, 2.12, 0, 0.5, 0.5, 0.5, 1, 0.5 ], +"ranges": [ [ -3600, -312.07430340557 ], [ -1872, 1378.3281733746 ], [ -144.89164086687, 1582.6625386997 ], [ -182.04334365325, 1527 ] ], +"step_probs_vals": [ 0, 1200, 0, 0, 0.082304526748971, 0.99431818181818, 0.14197530864198, 0, 1, 0 ], +"passages_weights": [ 0.75, 0.75, 0.75, 0.75, 0.75 ], +"hd_exp": 2, +"hd_invert": 0, +"order": +[ + [ [ 2, 1, 0 ], [ 3, 3 ], [ ] ], + [ [ 3, 0 ], [ 1 ], [ 2 ] ], + [ [ 1 ], [ 2, 2 ], [ 0, 3 ] ], + [ [ 3, 2 ], [ 1, 1 ], [ 0 ] ], + [ [ 3, 2 ], [ 1, 1 ], [ 0 ] ] +], +"sus_weights": [ 0.75, 0.25, 0.25 ], +"order_size": [ 3, 6 ], +"passages_size": [ 0, 3 ], +"motif_edited": "false", +"order_edited": "false" +} \ No newline at end of file diff --git a/resources/66f6a618/lilypond/part_I.ly b/resources/66f6a618/lilypond/part_I.ly index 9965ef5..a68ca71 100644 --- a/resources/66f6a618/lilypond/part_I.ly +++ b/resources/66f6a618/lilypond/part_I.ly @@ -1,12 +1,12 @@ { - { b4^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 1↑" }} ~ b2. ~ } + { b1^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 1↑" }} ~ } \bar "|" { b1 ~ } \bar "|" { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -14,15 +14,15 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } \bar "|" { b1 ~ } \bar "|" - { b2 d'4^\markup { \pad-markup #0.2 "-22"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 1↑" }} ~ d'4 ~ } - \bar "|" \break + { b2 d'2^\markup { \pad-markup #0.2 "-22"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 1↑" }} ~ } + \bar "|" { d'2. ~ d'8.[ dis'16^\markup { \pad-markup #0.2 "+6"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 1↑" }}] ~ } \bar "|" { dis'1 ~ } @@ -30,7 +30,7 @@ { dis'4 ~ dis'8.[ f'16^\markup { \pad-markup #0.2 "-2"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 11↑" }}] ~ f'2 ~ } \bar "|" { f'1 ~ } - \bar "|" \break + \bar "|" { f'1 ~ } \bar "|" { f'1 ~ } @@ -38,7 +38,7 @@ { f'1 ~ } \bar "|" { f'1 ~ } - \bar "|" \break + \bar "|" { f'1 ~ } \bar "|" { f'1 ~ } @@ -46,7 +46,7 @@ { f'1 ~ } \bar "|" { f'1 ~ } - \bar "|" \break + \bar "|" { f'1 ~ } \bar "|" { f'1 ~ } @@ -54,15 +54,15 @@ { f'2 ~ f'16[ gis'8.^\markup { \pad-markup #0.2 "-40"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 5↓" }}] ~ gis'4 ~ } \bar "|" { gis'4 ~ gis'8.[ a'16^\markup { \pad-markup #0.2 "-20"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 7↓" }}] ~ a'2 ~ } - \bar "|" \break + \bar "|" { a'4 ~ a'8[ gis'8^\markup { \pad-markup #0.2 "+14"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 5↓" }}] ~ gis'8.[ fis'16^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 1↑" }}] ~ fis'4 } \bar "|" - { fis'4^\markup { \pad-markup #0.2 "-49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 11↑" }} ~ fis'2. ~ } + { fis'1^\markup { \pad-markup #0.2 "-49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 11↑" }} ~ } \bar "|" { fis'1 ~ } \bar "|" { fis'1 ~ } - \bar "|" \break + \bar "|" { fis'1 ~ } \bar "|" { fis'1 ~ } @@ -70,7 +70,7 @@ { fis'1 ~ } \bar "|" { fis'1 ~ } - \bar "|" \break + \bar "|" { fis'1 ~ } \bar "|" { fis'1 ~ } @@ -78,7 +78,7 @@ { fis'1 ~ } \bar "|" { fis'1 ~ } - \bar "|" \break + \bar "|" { fis'1 ~ } \bar "|" { fis'1 ~ } @@ -86,7 +86,7 @@ { fis'1 ~ } \bar "|" { fis'1 ~ } - \bar "|" \break + \bar "|" { fis'1 ~ } \bar "|" { fis'1 ~ } @@ -94,7 +94,7 @@ { fis'1 ~ } \bar "|" { fis'1 ~ } - \bar "|" \break + \bar "|" { fis'2 ~ fis'16[ r8.] r4 } \bar "|" { r1 } @@ -102,7 +102,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } diff --git a/resources/66f6a618/lilypond/part_II.ly b/resources/66f6a618/lilypond/part_II.ly index bcf9cca..1925cb6 100644 --- a/resources/66f6a618/lilypond/part_II.ly +++ b/resources/66f6a618/lilypond/part_II.ly @@ -1,12 +1,12 @@ { - { b4^\markup { \pad-markup #0.2 "+47"} ~ b2. ~ } + { b1^\markup { \pad-markup #0.2 "+47"} ~ } \bar "|" { b1 ~ } \bar "|" { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -14,7 +14,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -22,7 +22,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -30,7 +30,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -38,7 +38,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -46,7 +46,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -54,7 +54,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -62,7 +62,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -70,7 +70,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -78,7 +78,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b2 ~ b16[ r8.] r4 } @@ -86,7 +86,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } @@ -94,7 +94,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } @@ -102,7 +102,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } diff --git a/resources/66f6a618/lilypond/part_III.ly b/resources/66f6a618/lilypond/part_III.ly index f19e391..59f2a6e 100644 --- a/resources/66f6a618/lilypond/part_III.ly +++ b/resources/66f6a618/lilypond/part_III.ly @@ -1,12 +1,12 @@ { - { b4^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 1↑" }} ~ b2. ~ } + { b1^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 1↑" }} ~ } \bar "|" { b1 ~ } \bar "|" { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -14,7 +14,7 @@ { b1 ~ } \bar "|" { b1 ~ } - \bar "|" \break + \bar "|" { b1 ~ } \bar "|" { b1 ~ } @@ -22,7 +22,7 @@ { b1 ~ } \bar "|" { b2. ~ b16[ a8.^\markup { \pad-markup #0.2 "+16"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 7↑" }}] ~ } - \bar "|" \break + \bar "|" { a1 ~ } \bar "|" { a2 ~ a16[ gis8.^\markup { \pad-markup #0.2 "-40"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 5↓" }}] ~ gis4 ~ } @@ -30,7 +30,7 @@ { gis4 ~ gis8.[ gis16^\markup { \pad-markup #0.2 "-13"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 13↑" }}] ~ gis2 ~ } \bar "|" { gis4 ~ gis8[ fis8^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 3↑" }}] ~ fis2 ~ } - \bar "|" \break + \bar "|" { fis1 ~ } \bar "|" { fis1 ~ } @@ -38,7 +38,7 @@ { fis1 ~ } \bar "|" { fis1 ~ } - \bar "|" \break + \bar "|" { fis1 ~ } \bar "|" { fis1 ~ } @@ -46,7 +46,7 @@ { fis1 ~ } \bar "|" { fis1 ~ } - \bar "|" \break + \bar "|" { fis1 ~ } \bar "|" { fis1 ~ } @@ -54,7 +54,7 @@ { fis1 ~ } \bar "|" { fis1 ~ } - \bar "|" \break + \bar "|" { fis1 ~ } \bar "|" { fis1 ~ } @@ -62,7 +62,7 @@ { fis1 ~ } \bar "|" { fis1 ~ } - \bar "|" \break + \bar "|" { fis1 ~ } \bar "|" { fis2 ~ fis8[ f8^\markup { \pad-markup #0.2 "-2"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↓" }}] ~ f4 ~ } @@ -70,7 +70,7 @@ { f2 ~ f16[ gis8.^\markup { \pad-markup #0.2 "-40"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 5↓" }}] ~ gis4 ~ } \bar "|" { gis4 ~ gis8[ fis8^\markup { \pad-markup #0.2 "-5"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 11↓" }}] ~ fis2 ~ } - \bar "|" \break + \bar "|" { fis8.[ e16^\markup { \pad-markup #0.2 "+45"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 3↓" }}] ~ e4 ~ e8.[ e16^\markup { \pad-markup #0.2 "-41"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 13↓" }}] ~ e4 ~ } \bar "|" { e1 ~ } @@ -78,7 +78,7 @@ { e1 ~ } \bar "|" { e1 ~ } - \bar "|" \break + \bar "|" { e1 ~ } \bar "|" { e1 ~ } @@ -86,7 +86,7 @@ { e8.[ d16^\markup { \pad-markup #0.2 "-8"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 13↑" }}] ~ d2. ~ } \bar "|" { d8[ cis8^\markup { \pad-markup #0.2 "-47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 3↑" }}] ~ cis2 d4^\markup { \pad-markup #0.2 "-35"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 5↓" }} ~ } - \bar "|" \break + \bar "|" { d2. dis4^\markup { \pad-markup #0.2 "+20"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 7↑" }} ~ } \bar "|" { dis1 ~ } @@ -94,7 +94,7 @@ { dis1 ~ } \bar "|" { dis1 ~ } - \bar "|" \break + \bar "|" { dis1 ~ } \bar "|" { dis16[ r8.] r2. } @@ -102,7 +102,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } diff --git a/resources/66f6a618/lilypond/part_IV.ly b/resources/66f6a618/lilypond/part_IV.ly index 7b99ccd..54e53e8 100644 --- a/resources/66f6a618/lilypond/part_IV.ly +++ b/resources/66f6a618/lilypond/part_IV.ly @@ -6,7 +6,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r8.[ gis16^\markup { \pad-markup #0.2 "-13"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 13↑" }}] ~ gis2 ~ gis8.[ fis16^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 3↑" }}] ~ } \bar "|" { fis4 ~ fis8[ e8^\markup { \pad-markup #0.2 "+45"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 3↓" }}] ~ e4 dis4^\markup { \pad-markup #0.2 "+33"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 5↑" }} ~ } @@ -14,7 +14,7 @@ { dis8[ d8^\markup { \pad-markup #0.2 "-22"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 7↓" }}] ~ d2. ~ } \bar "|" { d1 ~ } - \bar "|" \break + \bar "|" { d1 ~ } \bar "|" { d1 ~ } @@ -22,7 +22,7 @@ { d1 ~ } \bar "|" { d1 ~ } - \bar "|" \break + \bar "|" { d8[ b,8^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 1↑" }}] ~ b,4 dis2^\markup { \pad-markup #0.2 "+6"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 13↓" }} ~ } \bar "|" { dis1 ~ } @@ -30,7 +30,7 @@ { dis4 ~ dis8.[ dis16^\markup { \pad-markup #0.2 "+33"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 5↑" }}] ~ dis2 ~ } \bar "|" { dis1 ~ } - \bar "|" \break + \bar "|" { dis1 ~ } \bar "|" { dis1 ~ } @@ -38,15 +38,15 @@ { dis1 ~ } \bar "|" { dis4 ~ dis8[ cis8^\markup { \pad-markup #0.2 "+12"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 5↓" }}] ~ cis4 ~ cis8[ dis8^\markup { \pad-markup #0.2 "-38"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 5↓" }}] ~ } - \bar "|" \break + \bar "|" { dis4 ~ dis8[ d8^\markup { \pad-markup #0.2 "-22"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 7↓" }}] ~ d2 ~ } \bar "|" { d8.[ cis16^\markup { \pad-markup #0.2 "+39"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 13↑" }}] ~ cis4 ~ cis8[ b,8^\markup { \pad-markup #0.2 "+47"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 1↑" }}] ~ b,4 ~ } \bar "|" - { b,4 c4^\markup { \pad-markup #0.2 "+0"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 11↑" }} ~ c2 ~ } + { b,4 c2.^\markup { \pad-markup #0.2 "+0"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 11↑" }} ~ } \bar "|" { c1 ~ } - \bar "|" \break + \bar "|" { c1 ~ } \bar "|" { c1 ~ } @@ -54,7 +54,7 @@ { c1 ~ } \bar "|" { c1 ~ } - \bar "|" \break + \bar "|" { c1 ~ } \bar "|" { c1 ~ } @@ -62,7 +62,7 @@ { c1 ~ } \bar "|" { c1 ~ } - \bar "|" \break + \bar "|" { c1 ~ } \bar "|" { c1 ~ } @@ -70,7 +70,7 @@ { c1 ~ } \bar "|" { c1 ~ } - \bar "|" \break + \bar "|" { c1 ~ } \bar "|" { c1 ~ } @@ -78,7 +78,7 @@ { c1 ~ } \bar "|" { c1 ~ } - \bar "|" \break + \bar "|" { c1 ~ } \bar "|" { c2 ~ c16[ r8.] r4 } @@ -86,7 +86,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } @@ -94,7 +94,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } @@ -102,7 +102,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r1 } diff --git a/resources/6fb60ab6/6fb60ab6_mus_model.json b/resources/6fb60ab6/6fb60ab6_mus_model.json index 1fc0586..a6dd13a 100644 --- a/resources/6fb60ab6/6fb60ab6_mus_model.json +++ b/resources/6fb60ab6/6fb60ab6_mus_model.json @@ -29,11 +29,7 @@ ], "last_changes": [ - [ [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ], - [ [ 1, -1, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ], - [ [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ], - [ [ -1, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ], - [ [ 0, -1, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ] + [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -2, 0, -1, 1, 0 ], [ 1, -1, 0, -1, 1, -1 ], [ 1, 0, 0, -1, 1, 0 ] ] ], "cur_uid": "6fb60ab6", "ref_uid": "nil", diff --git a/resources/6fb60ab6/lilypond/part_I.ly b/resources/6fb60ab6/lilypond/part_I.ly new file mode 100644 index 0000000..de5ce5b --- /dev/null +++ b/resources/6fb60ab6/lilypond/part_I.ly @@ -0,0 +1,24 @@ +{ + { r4 r16[ gis'8.^\markup { \pad-markup #0.2 "-18"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↑" }}] ~ gis'2 ~ } + \bar "|" + { gis'8.[ g'16^\markup { \pad-markup #0.2 "+29"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 11↓" }}] ~ g'2. ~ } + \bar "|" + { g'8[ fis'8^\markup { \pad-markup #0.2 "+32"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 11↑" }}] ~ fis'2 ~ fis'8[ f'8^\markup { \pad-markup #0.2 "-33"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 5↑" }}] ~ } + \bar "|" + { f'4 dis'2^\markup { \pad-markup #0.2 "+12"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 7↓" }} ~ dis'8[ ais8^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 7↑" }}] ~ } + \bar "|" + { ais2 ~ ais8.[ gis'16^\markup { \pad-markup #0.2 "-18"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↑" }}] ~ gis'4 ~ } + \bar "|" + { gis'1 ~ } + \bar "|" + { gis'1 ~ } + \bar "|" + { gis'1 ~ } + \bar "|" + { gis'1 ~ } + \bar "|" + { gis'1 } + \bar "|" + { r1 } +\bar "||" +} \ No newline at end of file diff --git a/resources/6fb60ab6/lilypond/part_II.ly b/resources/6fb60ab6/lilypond/part_II.ly new file mode 100644 index 0000000..b9b8950 --- /dev/null +++ b/resources/6fb60ab6/lilypond/part_II.ly @@ -0,0 +1,24 @@ +{ + { r4 r16[ e'8.^\markup { \pad-markup #0.2 "+40"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 13↓" }}] ~ e'2 ~ } + \bar "|" + { e'1 ~ } + \bar "|" + { e'1 ~ } + \bar "|" + { e'1 ~ } + \bar "|" + { e'1 ~ } + \bar "|" + { e'1 ~ } + \bar "|" + { e'8[ fis'8^\markup { \pad-markup #0.2 "+32"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 11↑" }}] ~ fis'4 ~ fis'8.[ e'16^\markup { \pad-markup #0.2 "-4"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 5↓" }}] ~ e'4 ~ } + \bar "|" + { e'16[ d'8.^\markup { \pad-markup #0.2 "+31"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 11↓" }}] ~ d'2 ~ d'16[ d'8.^\markup { \pad-markup #0.2 "+19"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 13↑" }}] ~ } + \bar "|" + { d'2 ~ d'16[ b8.^\markup { \pad-markup #0.2 "+42"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 13↓" }}] ~ b4 ~ } + \bar "|" + { b4 ~ b8.[ r16] r2 } + \bar "|" + { r1 } +\bar "||" +} \ No newline at end of file diff --git a/resources/6fb60ab6/lilypond/part_III.ly b/resources/6fb60ab6/lilypond/part_III.ly new file mode 100644 index 0000000..6ef9113 --- /dev/null +++ b/resources/6fb60ab6/lilypond/part_III.ly @@ -0,0 +1,24 @@ +{ + { r1 } + \bar "|" + { r1 } + \bar "|" + { r1 } + \bar "|" + { r1 } + \bar "|" + { r1 } + \bar "|" + { r2 r8[ fis'8^\markup { \pad-markup #0.2 "-21"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↓" }}] ~ fis'4 ~ } + \bar "|" + { fis'1 ~ } + \bar "|" + { fis'1 ~ } + \bar "|" + { fis'1 ~ } + \bar "|" + { fis'1 ~ } + \bar "|" + { fis'4 r2. } +\bar "||" +} \ No newline at end of file diff --git a/resources/6fb60ab6/lilypond/part_IV.ly b/resources/6fb60ab6/lilypond/part_IV.ly new file mode 100644 index 0000000..f7129d5 --- /dev/null +++ b/resources/6fb60ab6/lilypond/part_IV.ly @@ -0,0 +1,24 @@ +{ + { cis'1^\markup { \pad-markup #0.2 "-19"} ~ } + \bar "|" + { cis'1 ~ } + \bar "|" + { cis'1 ~ } + \bar "|" + { cis'1 ~ } + \bar "|" + { cis'1 ~ } + \bar "|" + { cis'1 ~ } + \bar "|" + { cis'1 ~ } + \bar "|" + { cis'1 ~ } + \bar "|" + { cis'1 ~ } + \bar "|" + { cis'1 ~ } + \bar "|" + { cis'4 r2. } +\bar "||" +} \ No newline at end of file diff --git a/resources/761e4585/lilypond/part_I.ly b/resources/761e4585/lilypond/part_I.ly index c9e3103..3f07ab7 100644 --- a/resources/761e4585/lilypond/part_I.ly +++ b/resources/761e4585/lilypond/part_I.ly @@ -1,12 +1,12 @@ { - { cis'4^\markup { \pad-markup #0.2 "-19"} ~ cis'2. ~ } + { cis'1^\markup { \pad-markup #0.2 "-19"} ~ } \bar "|" { cis'1 ~ } \bar "|" { cis'1 ~ } \bar "|" { cis'1 ~ } - \bar "|" \break + \bar "|" { cis'2. ~ cis'8.[ dis'16^\markup { \pad-markup #0.2 "+12"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 7↓" }}] ~ } \bar "|" { dis'1 ~ } @@ -14,7 +14,7 @@ { dis'1 ~ } \bar "|" { dis'1 ~ } - \bar "|" \break + \bar "|" { dis'1 ~ } \bar "|" { dis'8.[ r16] r2. } @@ -22,7 +22,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r1 } \bar "|" { r2. r16[ dis'8.^\markup { \pad-markup #0.2 "+12"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 7↓" }}] ~ } @@ -30,7 +30,7 @@ { dis'1 ~ } \bar "|" { dis'1 ~ } - \bar "|" \break + \bar "|" { dis'4 ~ dis'8.[ r16] r2 } \bar "||" } \ No newline at end of file diff --git a/resources/761e4585/lilypond/part_II.ly b/resources/761e4585/lilypond/part_II.ly index 50dda71..eca6ab8 100644 --- a/resources/761e4585/lilypond/part_II.ly +++ b/resources/761e4585/lilypond/part_II.ly @@ -6,7 +6,7 @@ { e'4 ~ e'16[ fis'8.^\markup { \pad-markup #0.2 "+32"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 11↑" }}] ~ fis'16[ gis'8.^\markup { \pad-markup #0.2 "-18"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 3↑" }}] ~ gis'4 ~ } \bar "|" { gis'8.[ a'16^\markup { \pad-markup #0.2 "-6"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 5↓" }}] ~ a'2. ~ } - \bar "|" \break + \bar "|" { a'2. ~ a'8.[ fis'16^\markup { \pad-markup #0.2 "+32"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 11↑" }}] ~ } \bar "|" { fis'2. ~ fis'16[ g'8.^\markup { \pad-markup #0.2 "+29"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 11↓" }}] ~ } @@ -14,15 +14,15 @@ { g'2 ~ g'8.[ a'16^\markup { \pad-markup #0.2 "+21"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 1↑" }}] ~ a'4 ~ } \bar "|" { a'1 ~ } - \bar "|" \break - { a'2 a'4^\markup { \pad-markup #0.2 "-6"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 1↑" }} ~ a'4 ~ } + \bar "|" + { a'2 a'2^\markup { \pad-markup #0.2 "-6"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 1↑" }} ~ } \bar "|" { a'1 ~ } \bar "|" { a'1 ~ } \bar "|" { a'1 ~ } - \bar "|" \break + \bar "|" { a'1 ~ } \bar "|" { a'2. ~ a'16[ ais'8.^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 7↑" }}] ~ } @@ -30,7 +30,7 @@ { ais'4 ~ ais'8.[ cis''16^\markup { \pad-markup #0.2 "-19"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 1↑" }}] ~ cis''2 ~ } \bar "|" { cis''16[ d''8.^\markup { \pad-markup #0.2 "+19"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "III"\normal-size-super " 13↑" }}] ~ d''2 ~ d''16[ dis''8.^\markup { \pad-markup #0.2 "+12"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 1↑" }}] ~ } - \bar "|" \break + \bar "|" { dis''4 ~ dis''8.[ r16] r2 } \bar "||" } \ No newline at end of file diff --git a/resources/761e4585/lilypond/part_III.ly b/resources/761e4585/lilypond/part_III.ly index fd0f304..0c5880d 100644 --- a/resources/761e4585/lilypond/part_III.ly +++ b/resources/761e4585/lilypond/part_III.ly @@ -6,7 +6,7 @@ { ais4 ~ ais16[ gis8.^\markup { \pad-markup #0.2 "-18"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 3↑" }}] ~ gis16[ a8.^\markup { \pad-markup #0.2 "+21"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 13↑" }}] ~ a4 ~ } \bar "|" { a8.[ a16^\markup { \pad-markup #0.2 "-6"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 1↑" }}] ~ a2. ~ } - \bar "|" \break + \bar "|" { a2. ~ a8.[ ais16^\markup { \pad-markup #0.2 "+49"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 7↑" }}] ~ } \bar "|" { ais1 ~ } @@ -14,7 +14,7 @@ { ais2 ~ ais8.[ a16^\markup { \pad-markup #0.2 "+21"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 13↑" }}] ~ a4 ~ } \bar "|" { a2 ~ a16[ a8.^\markup { \pad-markup #0.2 "-6"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 5↓" }}] ~ a4 ~ } - \bar "|" \break + \bar "|" { a1 ~ } \bar "|" { a2. ~ a8[ gis8^\markup { \pad-markup #0.2 "-18"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↑" }}] ~ } @@ -22,7 +22,7 @@ { gis4 ~ gis8[ b8^\markup { \pad-markup #0.2 "+25"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 7↓" }}] ~ b4 ~ b8.[ d'16^\markup { \pad-markup #0.2 "+46"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 11↑" }}] ~ } \bar "|" { d'2. d'4^\markup { \pad-markup #0.2 "-8"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "II"\normal-size-super " 3↓" }} ~ } - \bar "|" \break + \bar "|" { d'2 ~ d'8[ f'8^\markup { \pad-markup #0.2 "-33"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 5↑" }}] ~ f'4 ~ } \bar "|" { f'8.[ fis'16^\markup { \pad-markup #0.2 "-21"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "IV"\normal-size-super " 3↓" }}] ~ fis'2. ~ } @@ -30,7 +30,7 @@ { fis'1 ~ } \bar "|" { fis'1 ~ } - \bar "|" \break + \bar "|" { fis'4 ~ fis'8.[ r16] r2 } \bar "||" } \ No newline at end of file diff --git a/resources/761e4585/lilypond/part_IV.ly b/resources/761e4585/lilypond/part_IV.ly index 075972b..13729cb 100644 --- a/resources/761e4585/lilypond/part_IV.ly +++ b/resources/761e4585/lilypond/part_IV.ly @@ -6,7 +6,7 @@ { r1 } \bar "|" { r1 } - \bar "|" \break + \bar "|" { r8[ cis'8^\markup { \pad-markup #0.2 "-19"}_\markup { \lower #3 \pad-markup #0.2 \concat{ "I"\normal-size-super " 1↑" }}] ~ cis'2. ~ } \bar "|" { cis'1 ~ } @@ -14,7 +14,7 @@ { cis'1 ~ } \bar "|" { cis'1 ~ } - \bar "|" \break + \bar "|" { cis'1 ~ } \bar "|" { cis'1 ~ } @@ -22,7 +22,7 @@ { cis'1 ~ } \bar "|" { cis'1 ~ } - \bar "|" \break + \bar "|" { cis'1 ~ } \bar "|" { cis'1 ~ } @@ -30,7 +30,7 @@ { cis'1 ~ } \bar "|" { cis'1 ~ } - \bar "|" \break + \bar "|" { cis'4 ~ cis'8.[ r16] r2 } \bar "||" } \ No newline at end of file diff --git a/resources/piece_ledger_sq1_candidates_stitch.json b/resources/piece_ledger_sq1_candidates_stitch.json index d231aa7..5261501 100644 --- a/resources/piece_ledger_sq1_candidates_stitch.json +++ b/resources/piece_ledger_sq1_candidates_stitch.json @@ -6,6 +6,7 @@ "490b1e6e", "46985d14", "761e4585", - "6fb60ab6" + "6fb60ab6", + "5e54c468" ] } \ No newline at end of file diff --git a/resources/piece_ledger_sq1_candidates_stitch.json_bak b/resources/piece_ledger_sq1_candidates_stitch.json_bak index 2166901..d231aa7 100644 --- a/resources/piece_ledger_sq1_candidates_stitch.json_bak +++ b/resources/piece_ledger_sq1_candidates_stitch.json_bak @@ -6,6 +6,6 @@ "490b1e6e", "46985d14", "761e4585", - "7ebbb471" + "6fb60ab6" ] } \ No newline at end of file diff --git a/resources/tmp/tmp_mus_model.json b/resources/tmp/tmp_mus_model.json index 34af7a5..88d2ead 100644 --- a/resources/tmp/tmp_mus_model.json +++ b/resources/tmp/tmp_mus_model.json @@ -3,44 +3,68 @@ [ [ [ - [ [ [ "Rest" ], [ "Rest" ], [ 0, 0, 0, 0, 0, 0 ], [ "Rest" ] ], 9.625 ], - [ [ [ 1, -1, 0, 0, 0, 0 ], [ "Rest" ], [ 0, 0, 0, 0, 0, 0 ], [ "Rest" ] ], 0.75 ], - [ [ [ 0, 0, -1, 0, 0, 0 ], [ "Rest" ], [ 0, 0, 0, 0, 0, 0 ], [ "Rest" ] ], 1.5 ], - [ [ [ -1, 0, 0, 0, 0, 0 ], [ "Rest" ], [ 0, 0, 0, 0, 0, 0 ], [ "Rest" ] ], 1.75 ], - [ [ [ 0, -1, 0, 0, 0, 0 ], [ "Rest" ], [ 0, 0, 0, 0, 0, 0 ], [ "Rest" ] ], 5.25 ], - [ [ [ 0, -1, 0, 0, 0, 0 ], [ "Rest" ], [ "Rest" ], [ "Rest" ] ], 0 ], - [ [ [ "Rest" ], [ "Rest" ], [ "Rest" ], [ "Rest" ] ], 9.125 ] + [ [ [ "Rest" ], [ "Rest" ], [ 1, -1, 0, -1, 1, -1 ], [ "Rest" ] ], 0 ], + [ [ [ "Rest" ], [ 2, -2, 0, -1, 1, 0 ], [ 1, -1, 0, -1, 1, -1 ], [ "Rest" ] ], 0.625 ], + [ [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -2, 0, -1, 1, 0 ], [ 1, -1, 0, -1, 1, -1 ], [ "Rest" ] ], 2.5 ], + [ [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -2, 0, -1, 1, 0 ], [ 1, -1, 0, -1, 1, -1 ], [ 2, -1, -1, -1, 1, 0 ] ], 1 ], + [ [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -2, 0, -1, 1, 0 ], [ 1, -1, 0, -1, 1, -1 ], [ 2, -1, 1, -1, 1, -1 ] ], 3.875 ] + ], + [ + [ [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -2, 0, -1, 1, 0 ], [ "Rest" ], [ 2, -1, 1, -1, 1, -1 ] ], 2 ], + [ [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -1, 0, -1, 1, -1 ], [ "Rest" ], [ 2, -1, 1, -1, 1, -1 ] ], 6.5 ] + ], + [ + [ [ [ "Rest" ], [ 2, -1, 0, -1, 1, -1 ], [ "Rest" ], [ 2, -1, 1, -1, 1, -1 ] ], 0 ], + [ [ [ "Rest" ], [ 2, -1, 0, -1, 1, -1 ], [ "Rest" ], [ "Rest" ] ], 0.75 ], + [ [ [ "Rest" ], [ 2, -1, 0, -1, 1, -1 ], [ 2, -1, 0, 0, 1, -1 ], [ "Rest" ] ], 1.125 ], + [ [ [ "Rest" ], [ 2, -1, 0, -1, 1, -1 ], [ 2, -1, 0, -1, 1, 0 ], [ "Rest" ] ], 4.5 ] + ], + [ + [ [ [ "Rest" ], [ 2, -1, 0, -1, 1, -1 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], 0.875 ], + [ [ [ "Rest" ], [ 2, -1, 0, -2, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], 1.25 ], + [ [ [ "Rest" ], [ 1, 0, 1, -1, 1, -1 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], 3.75 ] + ], + [ + [ [ [ "Rest" ], [ 1, -1, 1, -1, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], 1 ], + [ [ [ "Rest" ], [ 2, -2, 0, -1, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], 3.75 ], + [ [ [ "Rest" ], [ 2, -2, 0, -1, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ "Rest" ] ], 2 ], + [ [ [ "Rest" ], [ "Rest" ], [ 2, -1, 0, -1, 1, 0 ], [ "Rest" ] ], 0 ], + [ [ [ "Rest" ], [ "Rest" ], [ "Rest" ], [ "Rest" ] ], 4.5 ] ] ] ], "last_changes": [ - [ [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ], - [ [ 1, -1, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ], - [ [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ], - [ [ -1, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ], - [ [ 0, -1, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ] + [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -1, 0, -1, 1, -1 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], + [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -1, 0, -2, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], + [ [ 1, -1, 0, -1, 1, 0 ], [ 1, 0, 1, -1, 1, -1 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], + [ [ 1, -1, 0, -1, 1, 0 ], [ 1, -1, 1, -1, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ], + [ [ 1, -1, 0, -1, 1, 0 ], [ 2, -2, 0, -1, 1, 0 ], [ 2, -1, 0, -1, 1, 0 ], [ 2, -1, 1, -1, 1, -1 ] ] ], "cur_uid": "tmp", -"ref_uid": "nil", -"order_seed": 209164, -"dur_seed": 417909, -"motifs_seed": 885208, -"entrances_probs_vals": [ 0.34, 0, 10, 0.5, 2, 0, 0.5, 0.24509803921569, 0.89189189189189, 0.5, 1, 0.5, 0.5, 0.8562091503268, 0.69932432432432, 1, 0.5 ], -"passages_probs_vals": [ 0.34, 0, 10, 0.5, 2, 0, 0.5, 0.24509803921569, 0.89189189189189, 0.5, 1, 0.5, 0.5, 0.8562091503268, 0.69932432432432, 1, 0.5 ], -"exits_probs_vals": [ 0.34, 0, 10, 0.5, 2, 0, 0.5, 0.24509803921569, 0.89189189189189, 0.5, 1, 0.5, 0.5, 0.8562091503268, 0.69932432432432, 1, 0.5 ], -"ranges": [ [ -1200, 2400 ], [ -1200, 2400 ], [ -1200, 2400 ], [ -1200, 2400 ] ], -"step_probs_vals": [ 0, 1200, 0, 0.5, 0.5, 0.5, 1, 0.5 ], +"ref_uid": "6fb60ab6", +"order_seed": 499586, +"dur_seed": 134526, +"motifs_seed": 636998, +"entrances_probs_vals": [ 0.34, 0.99, 3.1746031746032, 0.5, 2, 0, 0.5, 0.5, 0.5, 1, 0.5 ], +"passages_probs_vals": [ 0.34, 1.5873015873016, 4.7222222222222, 0.5, 2.1153846153846, 0, 0.5, 0.5, 0.5, 1, 0.5 ], +"exits_probs_vals": [ 0.34, 0.32, 1.9444444444444, 0.5, 2.12, 0, 0.5, 0.5, 0.5, 1, 0.5 ], +"ranges": [ [ -3600, -312.07430340557 ], [ -1872, 1378.3281733746 ], [ -144.89164086687, 1582.6625386997 ], [ -182.04334365325, 1527 ] ], +"step_probs_vals": [ 0, 1200, 0, 0, 0.082304526748971, 0.99431818181818, 0.14197530864198, 0, 1, 0 ], "passages_weights": [ 0.75, 0.75, 0.75, 0.75, 0.75 ], "hd_exp": 2, "hd_invert": 0, "order": [ - [ [ 2 ], [ 0, 0, 0, 0 ], [ 1, 3 ] ] + [ [ 2, 1, 0 ], [ 3, 3 ], [ ] ], + [ [ 3, 0 ], [ 1 ], [ 2 ] ], + [ [ 1 ], [ 2, 2 ], [ 0, 3 ] ], + [ [ 3, 2 ], [ 1, 1 ], [ 0 ] ], + [ [ 3, 2 ], [ 1, 1 ], [ 0 ] ] ], -"sus_weights": [ 0.75, 0.75, 0.75 ], -"order_size": [ 1, 10 ], -"passages_size": [ 0, 10 ], +"sus_weights": [ 0.75, 0.25, 0.25 ], +"order_size": [ 3, 6 ], +"passages_size": [ 0, 3 ], "motif_edited": "false", "order_edited": "false" } \ No newline at end of file diff --git a/supercollider/seeds_and_ledgers_backend.scd b/supercollider/seeds_and_ledgers_backend.scd new file mode 100644 index 0000000..bf1611a --- /dev/null +++ b/supercollider/seeds_and_ledgers_backend.scd @@ -0,0 +1,935 @@ +( +// helper funcs +var hsArrayToCents, pDist, hdSum, hsChordalDistance, hsArrayToFreq; + +// score funcs +var isInRange, spacingScore, rangeScore, intervalScore, inclusionScore; + +// subroutines +var genTuples, initVoices, genOrders, genSubMotif, updateVoices, genDurFunc, genStepFunc; + +// primary routines +var genMotif, genSecondarySeq; + +// audition funcs +var genPatterns, genMidiPatterns; + +// resource management funcs +var seedFunc, genUID, writeResources, stringifyToDepth, setSeeds, sanityCheck, +msgInterpret, loadLedgerFile, loadLedgerJSON, loadModelFile, loadModelJSON, +setGlobalVars, globalVarsToDict, saveLedger; + +// model vars +//(model and global vars mostly set by OSC funcs +var seq, lastXChanges, +curUID, refUID, orderSeed, durSeed, motifSeed, +entrancesProbVals, passagesProbVals, exitsProbVals, +ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, +orders, susWeights, orderSize, passagesSize, +motifEdited, orderEdited; + +// model aux vars +var entrancesDurFunc, passagesDurFunc, exitsDurFunc, stepFunc; + +// other global vars +var popSize, exPath, dir, primes, dims, tuples, +group, player, ledgerPath, ledger, currentlyPlayingUID, +nameSpaces; + +// install JSON quark (not used) +/* +if(Quarks.isInstalled("JSONlib").not, { + Quarks.install("https://github.com/musikinformatik/JSONlib.git"); + thisProcess.recompile; + //HelpBrowser.openHelpFor("Classes/JSONlib"); +}); +*/ + + +//------helper funcs + +hsArrayToCents = { + arg hsArray; + hsArray.collect({arg dist, p; dist * 1200 * log2(primes[p][0]/primes[p][1])}).sum +}; + +pDist = { + arg array1, array2, signed = false; + var pDistance; + pDistance = hsArrayToCents.value(array1) - hsArrayToCents.value(array2); + if(signed, {pDistance}, {abs(pDistance)}) +}; + +hdSum = { + arg hsArrays; + var size, distances, mean; + size = hsArrays.size; + distances = (size - 1).collect({arg i; + ((i + 1)..(size - 1)).collect({arg j; + abs(hsArrays[i] - hsArrays[j]).collect({arg dist, p; dist * log2(primes[p].product)}).sum + }); + }).flat; + mean = distances.sum / distances.size; + distances.sum + //mean + ((1 / sqrt((pow(distances - mean, 2)).sum / distances.size)) * mean) +}; + +hsChordalDistance = { + arg hsArrays1, hsArrays2; + var size, distances, mean; + size = hsArrays1.size; + distances = hsArrays1.size.collect({arg i; + hsArrays2.size.collect({arg j; + abs(hsArrays1[i] - hsArrays2[j]).collect({arg dist, p; dist * log2(primes[p].product)}).sum + }); + }).flat; + mean = distances.sum / distances.size; + distances.sum + //mean + ((1 / sqrt((pow(distances - mean, 2)).sum / distances.size)) * mean) +}; + +hsArrayToFreq = { + arg array; + array.collect({arg dim, d; pow(primes[d][0]/primes[d][1], dim)}).product +}; + +//------score funcs + +/* +isInRange = { + arg hsArray, min, max; + var cents; + cents = hsArrayToCents.value(hsArray); + (cents >= min) && (cents <= max) +}; +*/ + +spacingScore = { + arg hsArrays, min; + var centsArray; + centsArray = hsArrays.collect({arg hsArray; hsArrayToCents.value(hsArray)}).sort({arg a, b; a < b}); + centsArray.differentiate.drop(1).collect({arg pDistance; if(pDistance >= min, {1}, {0.01})}).sum; +}; + +rangeScore = { + arg hsArray1, hsArray2, min, max, low, signed = false; + var pDistance; + pDistance = pDist.value(hsArray1, hsArray2, signed); + if((pDistance >= min) && (pDistance <= max), {1}, {low}); +}; + +intervalScore = { + arg hsArray1, hsArray2, mean, sd, signed = false; + var pDistance; + pDistance = pDist.value(hsArray1, hsArray2, signed); + //pDistance.gaussCurve(1, mean, sd) + stepFunc.value(pDistance); +}; + +inclusionScore = { + arg array, test, min = 0.01; + if(array.collect({arg v; v.hash}).includes(test.hash), {min}, {1}); +}; + + +//------subroutines + +genTuples = { + var tuples; + tuples = dims.collect({[-1, 0, 1]}).allTuples.select({arg tuple; (abs(tuple.drop(1)).sum <= 1) && (tuple[0] == 0)}); + tuples = tuples ++ tuples.collect({arg tuple; [-3, -2, -1, 1, 2, 3].collect({arg octTrans; tuple.deepCopy.put(0, octTrans)})}).flatten; +}; + +initVoices = { + var init, voicesInit; + voicesInit = popSize.collect({dims.collect({0})}); + /* + voicesInit = [dims.collect({0})]; + (popSize - 1).do({ + arg rep, new; + rep = dims.rand; + new = voicesInit.last.deepCopy; + new[rep] = new[rep] + [-1, 1].choose(); + voicesInit = voicesInit.add(new); + }); + */ + voicesInit.deepCopy; +}; + +genDurFunc = {arg chordProb, minPad, maxPad, minDur, maxDur, envData, seed; + var env, pTable, durFunc; + env = Env.pairs([[0, 0]] ++ envData.clump(2) ++ [[1, 0]]).asSignal(256).asList.asArray; + pTable = env.asRandomTable; + [chordProb, minPad, maxPad, minDur, maxDur, envData].postln; + durFunc = {arg allowChord, pad = false; + var res; + res = if(allowChord.not, { + pTable.tableRand * (maxDur - minDur) + minDur + }, { + if(1.0.rand < chordProb, {0}, {pTable.tableRand * (maxDur - minDur) + minDur}); + }).round(0.125); + if(pad, {res = res + rrand(minPad.asFloat, maxPad.asFloat).round(0.125)}); + if(res.asInteger == res, {res = res.asInteger}); + res + }; + seedFunc.value(durFunc, seed); +}; + +genStepFunc = {arg minStep, maxStep, envData, seed; + var envDataNorm, env, pTable, stepFunc; + [minStep, maxStep, envData].postln; + envDataNorm = ([[0, 0]] ++ envData.clump(2) ++ [[1, 0]]).flop; + envDataNorm = [envDataNorm[0].normalize(minStep, maxStep), envDataNorm[1]].flop; + env = Env.pairs(envDataNorm); + stepFunc = {arg pDist; + env.at(pDist).clip(0.001, 1); + }; + seedFunc.value(stepFunc, seed); +}; + +genOrders = {arg minMotifLength = 1, maxMotifLength = 5, minProgLength = 0, maxProgLength = 5; + ((maxMotifLength - minMotifLength).rand + minMotifLength).collect({ + var noProgIns, noSusIns, noSilentIns, prog, sus, silent, order; + noSusIns = [1, 2, 3].wchoose(susWeights.normalizeSum); + noProgIns = (popSize - noSusIns).rand + 1; + noSilentIns = popSize - noSusIns - noProgIns; + + # prog, sus, silent = (0..(popSize-1)).scramble.clumps([noProgIns, noSusIns, noSilentIns]); + + prog = (prog.scramble ++ ((maxProgLength - minProgLength).rand + minProgLength).collect({prog.choose}).scramble); + if(silent == nil, {silent = []}); + [sus.scramble, prog, silent.scramble] + }); +}; + +updateVoices = {arg ins, sus; + var voices, candidates, nWeights, nProbs, sel; + + voices = lastXChanges.deepCopy.last; + + candidates = sus.collect({arg v; tuples.collect({arg t; voices[v] + t})}).flatten; + candidates = difference(candidates.asSet, voices.asSet).asList; + nProbs = candidates.collect({arg candidate; + var stepScore, recentlySoundedScore, isInRangeScore, regScore, hdScore; + + //stepScore = intervalScore.value(voices[ins], candidate, 30, 400, 0.1); + stepScore = intervalScore.value(voices[ins], candidate, 100, 100); + recentlySoundedScore = inclusionScore.value(lastXChanges.flop[ins], candidate, 0); + isInRangeScore = rangeScore.value(candidate, candidate.collect({0}), ranges[ins][0], ranges[ins][1], 0, true); + regScore = spacingScore.value(voices.deepCopy.put(ins, candidate), 300); + hdScore = pow(hdSum.value(voices.deepCopy.put(ins, candidate)), hdExp); + if(hdInvert == 0, {hdScore = 1/hdScore}); + //maybe what you want here is a vector to another root and then favoring movement towards it. + //distScore = pow(hsChordalDistance.value(voices, voices.put(ins, candidate)), 2); + + [stepScore, recentlySoundedScore, isInRangeScore, regScore, hdScore] + }); + + nWeights = passagesWeights; + + //this handles nWeights of 0; mainly for testing + nProbs = nProbs.flop.select({arg scores, s; nWeights[s] != 0}).flop; + nWeights = nWeights.select({arg weight; weight != 0}); + nProbs = nProbs.flop.collect({arg scores, s; + if(scores.sum == 0, {scores}, {scores.normalizeSum * nWeights[s]}) + }); + nProbs = nProbs.flop.collect({arg scores, s; scores.product}).normalizeSum; + + sel = candidates.wchoose(nProbs); + + voices[ins] = sel; + lastXChanges = lastXChanges.add(voices).keep(-5); +}; + +genSubMotif = {arg order, orderIndex, lastState, repeatLast = false, startFromLast = false, isLastOrder = false; + var sus, prog, silent, flatOrder, res, isInChord, allowChord, pad, lastXChangesHold, voices, adder; + # sus, prog, silent = order; + flatOrder = silent ++ sus ++ prog; + lastXChangesHold = lastXChanges.deepCopy; + voices = lastState.deepCopy; + isInChord = popSize.collect({false}); + allowChord = false; + pad = false; + res = []; + "------generating motif".postln; + //need to figure out here if voices move between motifs + flatOrder.do({arg ins, i; + + if(prog.includes(ins) && repeatLast.not, {updateVoices.value(ins, sus)}); + adder = if(silent.includes(ins), {["Rest"]}, {lastXChanges.last.deepCopy[ins]}); + + if(voices[ins] != adder, { + var dur; + + if((sus ++ silent).includes(ins), { + allowChord = (ins != sus.last); + pad = (ins == sus.last); + }, { + if(i < (flatOrder.size - 1), { + allowChord = (isInChord[flatOrder[i + 1]] || (ins == flatOrder[i + 1])).not; + pad = false; + }, { + allowChord = false; + pad = true + }); + }); + if((orderIndex == 0) && sus.includes(ins), { + dur = entrancesDurFunc.value(allowChord, pad); + }, { + dur = passagesDurFunc.value(allowChord, pad); + }); + if(dur == 0, {isInChord[ins] = true}, {isInChord = popSize.collect({false})}); + + voices[ins] = adder; + res = res.add([voices.deepCopy.postln, dur]); + }); + }); + + // pad ending + if(orderIndex == (orders.size - 1), { + (0..(popSize-1)).scramble.do({arg ins; + if(res.last.first[ins] != ["Rest"], { + var dur; + voices[ins] = ["Rest"]; + allowChord = (voices != popSize.collect({["Rest"]})); + pad = allowChord.not; + dur = exitsDurFunc.value(allowChord, pad); + res = res.add([voices.deepCopy.postln, dur]); + }); + }); + }); + + //format and return + if(startFromLast, {lastXChanges = lastXChangesHold.deepCopy}); + res; +}; + + +//------primary routines + +genMotif = { + var repeats, fSeq, fDur, durAdd; + + repeats = 1; + fSeq = []; + + repeats.do({arg index; + var motif; + + motif = []; + + orders.do({arg order, o; + var lastState, subMotif; + lastState = if(o == 0, {popSize.collect({["Rest"]})}, {motif.last.last.first}); + subMotif = genSubMotif.value(order, o, lastState, isLastOrder: o == (orders.size - 1)); + motif = motif.add(subMotif); + + }); + + sanityCheck.value(motif, index); + + fSeq = fSeq.add(motif); + }); + + //round last duration to measure + fDur = fSeq.flatten.flatten.slice(nil, 1).sum; + durAdd = fDur.round(4) - fDur; + if(durAdd < 0, {durAdd = 4 - durAdd}); + fSeq[0][orders.size - 1][fSeq[0][orders.size - 1].size - 1][1] = fSeq[0][orders.size - 1][fSeq[0][orders.size - 1].size - 1][1] + durAdd; + + fSeq +}; + +genSecondarySeq = {arg seq; + var curdles, fSeq; + curdles = []; + while({curdles.sum < seq.size}, {curdles = curdles ++ [3.rand + 1]}); + + fSeq = seq.clumps(curdles).collect({arg clump, m; + var repeats, paddedSeq; + + //add rest + paddedSeq = clump.add([[[popSize.collect({["Rest"]}), 0.5.rand]]]); + + //implement repeats + repeats = [0.rand + 1, 1].wchoose([1, 0].normalizeSum); + repeats.collect({paddedSeq}); + }); + fSeq +}; + + +//------audition funcs + +/* +Event.addEventType(\osc, { + if (~addr.postln.notNil) { + ~addr.sendMsg(~indexPath, ~indexMsg); + ~addr.sendMsg(~seqPath, stringifyToDepth.value(~seqMsg, 3)); + //~addr.sendMsg("/STATE/OPEN", (dir.replace("supercollider", "resources") +/+ ~idMsg +/+ ~idMsg ++ "_gui_state" ++ ".state").standardizePath.postln); + }; +}); +*/ + +Event.addEventType(\osc, { + if (~addr.notNil) { + ~msg; + ~addr.sendMsg(~path, *~msg); + }; +}); + +genPatterns = {arg inSeq, addr, oneShot = false; + var voices, durs, pbinds, res, indices, sectionDurs, msg, ids, seq; + seq = inSeq.collect({arg mSeq; mSeq[0]}); + # voices, durs = seq.flatten2(seq.maxDepth - 5).flop; + pbinds = voices.flop.collect({arg voice, v; + var clumps, hdScores, freqs, fDurs, attacks, rels, amps; + clumps = voice.separate({arg a, b; a != b }); + freqs = clumps.collect({arg clump; if(clump[0] != ["Rest"], {(60.midicps * hsArrayToFreq.value(clump[0]))}, {Rest(0)})}); + fDurs = durs.clumps(clumps.collect({arg clump; clump.size})).collect({arg clump; clump.sum}); + //attacks = 2.collect({rrand(1, 3)}) ++ freqs.drop(2).collect({rrand(0.3, 0.5)}); + attacks = fDurs.collect({arg dur; dur * rrand(0.2, 0.4)}); + //rels = freqs.drop(2).collect({rrand(0.3, 0.5)}) ++ 2.collect({rrand(1, 3)}); + rels = (clumps.size - 1).collect({arg c; + if(clumps[c + 1][0] == ["Rest"], {rrand(1.0, 3.0)}, {rrand(0.3, 0.5)}); + }); + rels = rels.add(rrand(1.0, 3.0)); + amps = freqs.collect({rrand(0.6, 0.99)}); + + [ + Pbind( + \instrument, \string_model, + \group, group, + \freq, Pseq(freqs, 1), + \dur, Pseq(fDurs, 1), + \attack, Pseq(attacks, 1), + \sustain, Pseq(fDurs, 1), + \release, Pseq(rels, 1), + //\amp, Pseq(amps, 1), + \amp, Pbrown(0.5, 1, 0.5), + \busIndex, v + ), + Pbind( + \instrument, \sine, + \group, group, + \freq, Pseq(freqs, 1), + \dur, Pseq(fDurs, 1), + \sustain, Pseq(fDurs, 1), + \busIndex, v + ) + ] + }).flatten; + if(oneShot.not, { + msg = inSeq.collect({arg mSeq, m; mSeq[1..]}); + //ids = inSeq.collect({arg mSeq, m; mSeq[2]}); + sectionDurs = seq.collect({arg mSeq; mSeq.flatten2(mSeq.maxDepth - 5).flop[1].sum}); + pbinds = pbinds ++ + [ + Pbind( + \type, \osc, + \addr, addr, + \path, "/playing", + \msg, Pseq(msg, 1), + \dur, Pseq(sectionDurs, 1) + ); + ] + }); + res = Ppar(pbinds); + res +}; + +/* +genMidiPatterns = {arg seq; + var voices, durs, patterns, res, mOut, pbRange; + pbRange = 1; //semitones - change this as needed for your situation + mOut = MIDIOut.newByName("TiMidity", "TiMidity port 0").latency_(Server.default.latency); + # voices, durs = seq.flatten2(seq.maxDepth - 5).flop; + res = Ppar( + voices.flop.collect({arg voice, v; + var clumps, hdScores, freqs, fDurs; + + mOut.program(v, 70); + + clumps = voice.separate({arg a, b; a != b }); + freqs = clumps.collect({arg clump; if(clump[0] != ["Rest"], {(60.midicps * hsArrayToFreq.value(clump[0]))}, {Rest(0)})}); + fDurs = durs.clumps(clumps.collect({arg clump; clump.size})).collect({arg clump; clump.sum}); + + Pbind( + \type, \midi, + \chan, v, + \noteval, Pseq(freqs.cpsmidi - 24, 1), + \note, Pfunc({ | event | event[\noteval].floor }), + \dur, Pseq(fDurs, 1), + \midiout, mOut, + \amp, 1, + \bend, Pfunc({ + | event | + if (event[\note].isRest.not) { + var pitchbendvalue = event[\noteval].frac.linlin(0, pbRange, 8192, 8192*2).asInteger; + m.bend(v, pitchbendvalue); + }; + 0; // return something other than nil to avoid stopping the pattern + }), + ); + }); + ); + res +}; +*/ + + +//------resource management funcs + +genUID = {Date.seed.asHexString.toLower}; + +seedFunc = {arg func, seed; + var funcArgs, next; + next = Routine({loop{func.valueArray(funcArgs).yield }}); + next.randSeed_(seed); + {arg ...args; funcArgs = args; next.value} +}; + +stringifyToDepth = {arg data, maxDepth = 1; + var prettyString = "", rCount = 0, writeArray, indent; + + if(maxDepth == 0, { + data.asCompileString + }, { + indent = {arg size; size.collect({" "}).join("")}; + writeArray = {arg array; + prettyString = prettyString ++ indent.value(rCount) ++ "[\n"; + rCount = rCount + 1; + if(rCount < maxDepth, { + array.do({arg subArray; writeArray.value(subArray)}); + }, { + prettyString = prettyString ++ array.collect({arg subArray; + indent.value(rCount + 1) ++ subArray.asCompileString + }).join(",\n"); + }); + rCount = rCount - 1; + prettyString = prettyString ++ "\n" ++ indent.value(rCount) ++ "],\n"; + }; + + writeArray.value(data); + prettyString.replace(",\n\n", "\n").drop(-2); + }) +}; + +sanityCheck = {arg motif, index; + //print functions = very helpful + ("----------" + index + "------------").postln; + + motif.flatten.do({arg val, v; + if(v > 0, { + if(motif.flatten[v-1][0].hammingDistance(val[0]) > 1, {"problem 1".postln}); + if(motif.flatten[v-1][0].hammingDistance(val[0]) == 0, {"problem 2".postln}); + }); + val.postln + }); + "***********".postln; +}; + +msgInterpret = {arg in, escapeDoubleQuotes = true, escapeSingleQuotes = true; + var res; + + res = in; + if(res.isNil.not, { + if((res.isArray && res.isString.not), { + res = res.asCompileString; + res = res.replace(" ", "").replace("\n", "").replace("\t", ""); + if(escapeSingleQuotes, {res = res.replace("\'", "")}); + if(escapeDoubleQuotes, {res = res.replace("\"", "")}); + res = res.replace("Rest", "\"Rest\""); + res = res.interpret; + }, { + var tmpRes; + if(res.every({arg char; char.isDecDigit}), {tmpRes = res.asInteger}); + if(res.contains("."), {tmpRes = res.asFloat}); + if(tmpRes != nil, {res = tmpRes}); + }); + }); + res +}; + +writeResources = {arg path, dict; + var file, modelItems, resString; + file = File(path,"w"); + + modelItems = [ + seq, lastXChanges, + curUID, refUID, orderSeed, durSeed, motifSeed, + entrancesProbVals, passagesProbVals, exitsProbVals, + ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, + orders, susWeights, orderSize, passagesSize, + motifEdited, orderEdited + ]; + + resString = nameSpaces.collect({arg nameSpace; + var depth = 0, insert = " "; + if(nameSpace == "music_data", {depth = 3; insert = "\n"}); + if(nameSpace == "last_changes", {depth = 1; insert = "\n"}); + if(nameSpace == "order", {depth = 1; insert = "\n"}); + if((nameSpace == "ref_uid") && (dict[nameSpace] == nil), {dict[nameSpace] = "nil"}); + "\"" ++ nameSpace ++ "\":" ++ insert ++ stringifyToDepth.value(dict[nameSpace], depth) + }).join(",\n"); + + resString = "{\n" ++ resString ++ "\n}"; + + file.write(resString); + file.close; + resString +}; + +loadModelFile = {arg path; loadModelJSON.value(File(path, "r").readAllString.parseJSON)}; + +loadModelJSON = {arg jsonObject; + var dict; + dict = Dictionary.with(*nameSpaces.collect({arg nS; nS->msgInterpret.value(jsonObject[nS])})); + dict +}; + +setGlobalVars = {arg dict, skipLastXChanges = false; + var tmpLastXChanges; + tmpLastXChanges = lastXChanges.deepCopy; + // order really matters!!!! + # seq, lastXChanges, curUID, refUID, orderSeed, durSeed, motifSeed, + entrancesProbVals, passagesProbVals, exitsProbVals, + ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, + orders, susWeights, orderSize, passagesSize, + motifEdited, orderEdited = nameSpaces.collect({arg nS; dict[nS]}); + if(skipLastXChanges, {lastXChanges = tmpLastXChanges}); + dict +}; + +globalVarsToDict = { + var modelItems, dict; + // order really matters!!!! + modelItems = [ + seq, lastXChanges, + curUID, refUID, orderSeed, durSeed, motifSeed, + entrancesProbVals, passagesProbVals, exitsProbVals, + ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, + orders, susWeights, orderSize, passagesSize, + motifEdited, orderEdited + ]; + dict = Dictionary.with(*nameSpaces.collect({arg nS, n; nS->modelItems[n]})); +}; + +loadLedgerFile = {arg path; + ledgerPath = path; + loadLedgerJSON.value(File(ledgerPath, "r").readAllString.parseJSON) +}; + +loadLedgerJSON = {arg jsonObject; ledger = jsonObject["ledger"]}; + +saveLedger = {arg ledger, path; + var file; + file = File(path, "w"); + file.write("{\n\"ledger\":\n" ++ stringifyToDepth.value(ledger, 1) ++ "\n}"); + file.close; +}; + +//------global vars + +primes = [[2, 1], [3, 2], [5, 4], [7, 4], [11, 8], [13, 8]]; +//ranges = [[-2400, 0], [-1200, 1200], [0, 2400], [0, 2400]]; +exPath = thisProcess.nowExecutingPath; +dir = exPath.dirname; +//popSize = 4; +dims = primes.size; +tuples = genTuples.value(); +//refUID = nil; +group = Group.new; +~group = group; +loadLedgerFile.value(dir +/+ ".." +/+ "resources" +/+ "piece_ledger.json"); +//passagesWeights = [1, 1, 1, 1, 1]; +//susWeights = [1, 1, 1]; +// order really matters!!!! +nameSpaces = [ + "music_data", "last_changes", "cur_uid", "ref_uid", "order_seed", "dur_seed", "motifs_seed", + "entrances_probs_vals","passages_probs_vals", "exits_probs_vals", + "ranges", "step_probs_vals", "passages_weights", "hd_exp", "hd_invert", + "order", "sus_weights", "order_size", "passages_size", + "motif_edited", "order_edited" +]; + + +//------OSC funcs + +OSCdef(\load_ledger, {arg msg, time, addr, port; + loadLedgerFile.value(msg[1].asString); +}, \load_ledger); + +OSCdef(\load_model, {arg msg, time, addr, port; + var dict; + dict = loadModelFile.value(msg[1].asString); + setGlobalVars.value(dict); +}, \load_model); + +OSCdef(\save_ledger, {arg msg, time, addr, port; + msg.postln; + ledger = msgInterpret.value(msg[1].asString.parseJSON["ledger"], false).postln; + //loadLedgerJSON.value(msg[0]) + saveLedger.value(ledger, msg[2].asString); + //loadLedgerFile.value(msg[1].asString); +}, \save_ledger); + +OSCdef(\generate, {arg msg, time, addr, port; + var path, dict, durSeeds, musPath, modelString; + msg.postln; + + path = msg[1].asString; + + dict = loadModelFile.value(path); + setGlobalVars.value(dict, true); + + popSize = ranges.size; + + //refUID.postln; + + loadLedgerFile.value(ledgerPath); + if(ledger == nil, {ledger = ["tmp"]}); + if(ledger.last != "tmp", {ledger = ledger.add("tmp")}); + + if(refUID == nil, {lastXChanges = [initVoices.value().deepCopy]}); + if((refUID != nil) && (refUID != "tmp"), { + var file; + file = File((dir +/+ ".." +/+ "resources" +/+ refUID +/+ refUID ++ "_mus_model" ++ ".json").standardizePath, "r"); + lastXChanges = msgInterpret.value(file.readAllString.parseJSON["last_changes"]); + }); + + refUID.postln; + lastXChanges.collect({arg item; item.postln}); + + durSeeds = seedFunc.value({3.collect({rrand(100000, 999999)})}, durSeed).value.postln; + entrancesDurFunc = genDurFunc.valueArray(entrancesProbVals[..4] ++ [entrancesProbVals[5..]] ++ [durSeeds[0]]); + passagesDurFunc = genDurFunc.valueArray(passagesProbVals[..4] ++ [passagesProbVals[5..]] ++ [durSeeds[1]]); + exitsDurFunc = genDurFunc.valueArray(exitsProbVals[..4] ++ [exitsProbVals[5..]] ++ [durSeeds[2]]); + + if(orders == nil, { + orders = seedFunc.value(genOrders, orderSeed).valueArray(orderSize ++ passagesSize); + //addr.sendMsg("/order", stringifyToDepth.value(orders, 1)); + }); + + stepFunc = genStepFunc.valueArray(stepProbsVals[..1] ++ [stepProbsVals[2..]] ++ [motifSeed]); + seq = seedFunc.value(genMotif, motifSeed).value; + + lastXChanges.collect({arg item; item.postln}); + + dict = globalVarsToDict.value; + modelString = writeResources.value(path, dict); + + //addr.sendMsg("/generated", musPath, stringifyToDepth.value(seq, 3)); + //~seq = seq; + + addr.sendMsg("/generated", path, modelString, ledgerPath); +}, \generate); + + +OSCdef(\commit, {arg msg, time, addr, port; + var musicData, musicChanged, dict, newLedger, modelPath, musString, musFile, test1, test2, lastCurUID, commitType, commitPos, equalityLedger; + //msg.postln; + + /* + test1 = msg[1].asString.parseJSON; + test2 = (dir +/+ ".." +/+ "resources/tmp/tmp_music" ++ ".json").standardizePath.parseJSONFile; + msgInterpret.value(test1["music"])[0][0][0][1].class.postln; + msgInterpret.value(test2["music_data"])[0][0][0][1].class.postln; + (test1["music"] == test2["music_data"]).postln; + */ + + musicData = loadModelJSON.value(msg[1].asString.parseJSON)["music_data"].postln; + musicChanged = (musicData != seq).postln; + commitType = msg[2].asString; + commitPos = msg[3].postln.asInteger; + + lastCurUID = curUID.deepCopy; + curUID = genUID.value; + + File.mkdir((dir +/+ ".." +/+ "resources" +/+ curUID).standardizePath); + File.copy(exPath, (dir +/+ ".." +/+ "resources" +/+ curUID +/+ curUID ++ "_code" ++ ".scd").standardizePath); + + modelPath = (dir +/+ ".." +/+ "resources" +/+ curUID +/+ curUID ++ "_mus_model" ++ ".json").standardizePath; + dict = globalVarsToDict.value; + if(musicChanged, { + seq = musicData; + dict["music_data"] = seq; + dict["motif_edited"] = "true" + }); + dict["cur_uid"] = curUID; + + writeResources.value(modelPath, dict); + + File.delete(ledgerPath ++ "_bak"); + File.copy(ledgerPath, ledgerPath ++ "_bak"); + File.delete(ledgerPath); + + /* + if(commitType == "add", { + if(lastCurUID == "tmp", { + ledger = ledger.drop(-1).add(curUID); + }, { + ledger = ledger.add(curUID); + }) + }); + */ + + ledger.postln; + + if(commitType == "add", {ledger = ledger.add(curUID)}); + + if(commitType == "insert", {ledger = ledger.insert(commitPos + 1, curUID)}); + + if(commitType == "replace", {ledger = ledger.put(commitPos, curUID)}); + + equalityLedger = ledger.collect({arg item; item.asSymbol}); + if(equalityLedger.includes(\tmp).postln, {ledger.removeAt(equalityLedger.indexOf(\tmp).postln)}); + + ledger.postln; + + saveLedger.value(ledger, ledgerPath); + + addr.sendMsg("/committed", curUID, ledgerPath); + //refUID = curUID; + +}, \commit); + +OSCdef(\transport, {arg msg, time, addr, port; + msg.postln; + if(msg[1] == 0, { + group.set(\release, 2); + group.set(\gate, 0); + player.stop; + }, { + // the cued sequence can now be read from file, so this can be cleaned up + var cSize, patterns, pSeq, cuedSeek, indexStart, indexEnd, tmpLedger; + if(msg[1] == 1, { + pSeq = []; + cuedSeek = (seq != nil); + indexStart = msg[2].asInteger; + indexEnd = ledger.size - if(cuedSeek, {2}, {1}); + //ledger.postln; + if(((indexStart == (ledger.size - 1)) && cuedSeek).not, { + ledger[indexStart..indexEnd].do({arg uid, index; + var path, file; + path = (dir +/+ ".." +/+ "resources" +/+ uid +/+ uid ++ "_mus_model" ++ ".json").standardizePath; + file = File(path, "r"); + pSeq = pSeq.add([msgInterpret.value(file.readAllString.postln.parseJSON["music_data"]), path, indexStart + index, uid]); + file.close; + }); + }); + if(cuedSeek, { + var path, file; + path = (dir +/+ ".." +/+ "resources/tmp/tmp_mus_model" ++ ".json").standardizePath; + file = File(path, "r"); + pSeq = pSeq.add([msgInterpret.value(file.readAllString.parseJSON["music_data"]), path, ledger.size - 1, "tmp"]); + file.close; + }); + patterns = genPatterns.value(pSeq, addr); + }, { + pSeq = [loadModelJSON.value(msg[2].asString.parseJSON)["music_data"].postln]; + patterns = genPatterns.value(pSeq, addr, true); + }); + player = Pfset(pattern: patterns, cleanupFunc: { + addr.sendMsg("/transport", 0); + addr.sendMsg("/one_shot", 0); + }); + player = player.play + }); +}, \transport); + + +OSCdef(\transcribe_motif, {arg msg, time, addr, port; + var tSeq, refChord, refUID; + + msg.postln; + + tSeq = [loadModelJSON.value(msg[1].asString.parseJSON)["music_data"]]; + refUID = msg[2].asString.postln; + + if((refUID != "nil") && (refUID != "tmp"), { + var file; + file = File((dir +/+ ".." +/+ "resources" +/+ refUID +/+ refUID ++ "_mus_model" ++ ".json").standardizePath, "r"); + refChord = msgInterpret.value(file.readAllString.parseJSON["last_changes"]).last; + file.close; + }, { + refChord = [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]; + }); + + ~transcribe.value(tSeq, refChord, (dir +/+ ".." +/+ "lilypond" +/+ "includes").standardizePath, addr, "/transcribe_motif"); +}, \transcribe_motif); + + +OSCdef(\transcribe_all, {arg msg, time, addr, port; + var cSize, patterns, cuedSeek, indexStart, indexEnd, tmpLedger; + if(true, { + cuedSeek = (seq != nil); + indexStart = msg[1].asInteger; + indexEnd = ledger.size - if(cuedSeek, {2}, {1}); + + //tmp for testing transcription + indexEnd = (indexStart+5); + + //ledger.postln; + if(((indexStart == (ledger.size - 1)) && cuedSeek).not, { + var lilyPartLedgerFiles; + + lilyPartLedgerFiles = 4.collect({arg p; + File((dir +/+ ".." +/+ "lilypond" +/+ "includes" +/+ "part_" ++ ["IV", "III", "II", "I"][p] ++ ".ly").standardizePath, "w"); + }); + + ledger[indexStart..indexEnd].do({arg uid, index; + var path, file, fileString, tSeq, refUID, refChord; + path = (dir +/+ ".." +/+ "resources" +/+ uid +/+ uid ++ "_mus_model" ++ ".json").standardizePath; + file = File(path, "r"); + fileString = file.readAllString; + tSeq = msgInterpret.value(fileString.parseJSON["music_data"]); + refUID = msgInterpret.value(fileString.parseJSON["ref_uid"]); + file.close; + + //uid.postln; + //(refUID == "nil").postln; + + refChord = [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]; + + if(refUID != "nil", { + path = (dir +/+ ".." +/+ "resources" +/+ refUID +/+ refUID ++ "_mus_model" ++ ".json").standardizePath; + file = File(path, "r"); + refChord = msgInterpret.value(file.readAllString.parseJSON["last_changes"]).last; + file.close; + }); + + if(index != indexEnd, { + ~transcribe.value(tSeq, refChord, (dir +/+ ".." +/+ "resources" +/+ uid +/+ "lilypond").standardizePath); + }, { + ~transcribe.value(tSeq, refChord, (dir +/+ ".." +/+ "resources" +/+ uid +/+ "lilypond").standardizePath, addr, "/transcribe_all"); + }); + + lilyPartLedgerFiles.do({arg f, p; + f.write("\\include \".." +/+ ".." +/+ "resources" +/+ uid +/+ "lilypond" +/+ "part_" ++ ["IV", "III", "II", "I"][p] ++ ".ly\"\n"); + }); + + }); + + lilyPartLedgerFiles.do({arg f; + f.close + }); + }); + /* + if(cuedSeek, { + var path, file; + path = (dir +/+ ".." +/+ "resources/tmp/tmp_mus_model" ++ ".json").standardizePath; + file = File(path, "r"); + pSeq = pSeq.add([msgInterpret.value(file.readAllString.parseJSON["music_data"]), path, ledger.size - 1, "tmp"]); + file.close; + }); + */ + }, { + + }); + +}, \transcribe_all); + +) + + diff --git a/supercollider/seeds_and_ledgers_main.scd b/supercollider/seeds_and_ledgers_main.scd index 3eb3cbd..b6ea2cf 100644 --- a/supercollider/seeds_and_ledgers_main.scd +++ b/supercollider/seeds_and_ledgers_main.scd @@ -1,1058 +1,24 @@ ( -// helper funcs -var hsArrayToCents, pDist, hdSum, hsChordalDistance, hsArrayToFreq; +// MAIN LAUNCH (loads necessary files and definitions) -// score funcs -var isInRange, spacingScore, rangeScore, intervalScore, inclusionScore; +var appEnvironment; -// subroutines -var genTuples, initVoices, genOrders, genSubMotif, updateVoices, genDurFunc, genStepFunc; +//push new environment +appEnvironment = Environment.make; +appEnvironment.push; -// primary routines -var genMotif, genSecondarySeq; +s.waitForBoot({ -// audition funcs -var genPatterns, genMidiPatterns; + c = Condition.new; -// resource management funcs -var seedFunc, genUID, writeResources, stringifyToDepth, setSeeds, sanityCheck, -msgInterpret, loadLedgerFile, loadLedgerJSON, loadModelFile, loadModelJSON, -setGlobalVars, globalVarsToDict, saveLedger; + // load all files + "seeds_and_ledgers_backend.scd".loadRelative; + "seeds_and_ledgers_transcriber.scd".loadRelative; + "seeds_and_ledgers_synthdefs.scd".loadRelative; + s.sync(c); + "seeds_and_ledgers_mixer.scd".loadRelative; -// model vars -//(model and global vars mostly set by OSC funcs -var seq, lastXChanges, -curUID, refUID, orderSeed, durSeed, motifSeed, -entrancesProbVals, passagesProbVals, exitsProbVals, -ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, -orders, susWeights, orderSize, passagesSize, -motifEdited, orderEdited; - -// model aux vars -var entrancesDurFunc, passagesDurFunc, exitsDurFunc, stepFunc; - -// other global vars -var popSize, exPath, dir, primes, dims, tuples, -group, player, ledgerPath, ledger, currentlyPlayingUID, -nameSpaces; - -// install JSON quark -if(Quarks.isInstalled("JSONlib").not, { - Quarks.install("https://github.com/musikinformatik/JSONlib.git"); - thisProcess.recompile; - //HelpBrowser.openHelpFor("Classes/JSONlib"); + "ready".postln; }); - - -//------helper funcs - -hsArrayToCents = { - arg hsArray; - hsArray.collect({arg dist, p; dist * 1200 * log2(primes[p][0]/primes[p][1])}).sum -}; - -pDist = { - arg array1, array2, signed = false; - var pDistance; - pDistance = hsArrayToCents.value(array1) - hsArrayToCents.value(array2); - if(signed, {pDistance}, {abs(pDistance)}) -}; - -hdSum = { - arg hsArrays; - var size, distances, mean; - size = hsArrays.size; - distances = (size - 1).collect({arg i; - ((i + 1)..(size - 1)).collect({arg j; - abs(hsArrays[i] - hsArrays[j]).collect({arg dist, p; dist * log2(primes[p].product)}).sum - }); - }).flat; - mean = distances.sum / distances.size; - distances.sum - //mean + ((1 / sqrt((pow(distances - mean, 2)).sum / distances.size)) * mean) -}; - -hsChordalDistance = { - arg hsArrays1, hsArrays2; - var size, distances, mean; - size = hsArrays1.size; - distances = hsArrays1.size.collect({arg i; - hsArrays2.size.collect({arg j; - abs(hsArrays1[i] - hsArrays2[j]).collect({arg dist, p; dist * log2(primes[p].product)}).sum - }); - }).flat; - mean = distances.sum / distances.size; - distances.sum - //mean + ((1 / sqrt((pow(distances - mean, 2)).sum / distances.size)) * mean) -}; - -hsArrayToFreq = { - arg array; - array.collect({arg dim, d; pow(primes[d][0]/primes[d][1], dim)}).product -}; - -//------score funcs - -/* -isInRange = { - arg hsArray, min, max; - var cents; - cents = hsArrayToCents.value(hsArray); - (cents >= min) && (cents <= max) -}; -*/ - -spacingScore = { - arg hsArrays, min; - var centsArray; - centsArray = hsArrays.collect({arg hsArray; hsArrayToCents.value(hsArray)}).sort({arg a, b; a < b}); - centsArray.differentiate.drop(1).collect({arg pDistance; if(pDistance >= min, {1}, {0.01})}).sum; -}; - -rangeScore = { - arg hsArray1, hsArray2, min, max, low, signed = false; - var pDistance; - pDistance = pDist.value(hsArray1, hsArray2, signed); - if((pDistance >= min) && (pDistance <= max), {1}, {low}); -}; - -intervalScore = { - arg hsArray1, hsArray2, mean, sd, signed = false; - var pDistance; - pDistance = pDist.value(hsArray1, hsArray2, signed); - //pDistance.gaussCurve(1, mean, sd) - stepFunc.value(pDistance); -}; - -inclusionScore = { - arg array, test, min = 0.01; - if(array.collect({arg v; v.hash}).includes(test.hash), {min}, {1}); -}; - - -//------subroutines - -genTuples = { - var tuples; - tuples = dims.collect({[-1, 0, 1]}).allTuples.select({arg tuple; (abs(tuple.drop(1)).sum <= 1) && (tuple[0] == 0)}); - tuples = tuples ++ tuples.collect({arg tuple; [-3, -2, -1, 1, 2, 3].collect({arg octTrans; tuple.deepCopy.put(0, octTrans)})}).flatten; -}; - -initVoices = { - var init, voicesInit; - voicesInit = popSize.collect({dims.collect({0})}); - /* - voicesInit = [dims.collect({0})]; - (popSize - 1).do({ - arg rep, new; - rep = dims.rand; - new = voicesInit.last.deepCopy; - new[rep] = new[rep] + [-1, 1].choose(); - voicesInit = voicesInit.add(new); - }); - */ - voicesInit.deepCopy; -}; - -genDurFunc = {arg chordProb, minPad, maxPad, minDur, maxDur, envData, seed; - var env, pTable, durFunc; - env = Env.pairs([[0, 0]] ++ envData.clump(2) ++ [[1, 0]]).asSignal(256).asList.asArray; - pTable = env.asRandomTable; - [chordProb, minPad, maxPad, minDur, maxDur, envData].postln; - durFunc = {arg allowChord, pad = false; - var res; - res = if(allowChord.not, { - pTable.tableRand * (maxDur - minDur) + minDur - }, { - if(1.0.rand < chordProb, {0}, {pTable.tableRand * (maxDur - minDur) + minDur}); - }).round(0.125); - if(pad, {res = res + rrand(minPad.asFloat, maxPad.asFloat).round(0.125)}); - if(res.asInteger == res, {res = res.asInteger}); - res - }; - seedFunc.value(durFunc, seed); -}; - -genStepFunc = {arg minStep, maxStep, envData, seed; - var envDataNorm, env, pTable, stepFunc; - [minStep, maxStep, envData].postln; - envDataNorm = ([[0, 0]] ++ envData.clump(2) ++ [[1, 0]]).flop; - envDataNorm = [envDataNorm[0].normalize(minStep, maxStep), envDataNorm[1]].flop; - env = Env.pairs(envDataNorm); - stepFunc = {arg pDist; - env.at(pDist).clip(0.001, 1); - }; - seedFunc.value(stepFunc, seed); -}; - -genOrders = {arg minMotifLength = 1, maxMotifLength = 5, minProgLength = 0, maxProgLength = 5; - ((maxMotifLength - minMotifLength).rand + minMotifLength).collect({ - var noProgIns, noSusIns, noSilentIns, prog, sus, silent, order; - noSusIns = [1, 2, 3].wchoose(susWeights.normalizeSum); - noProgIns = (popSize - noSusIns).rand + 1; - noSilentIns = popSize - noSusIns - noProgIns; - - # prog, sus, silent = (0..(popSize-1)).scramble.clumps([noProgIns, noSusIns, noSilentIns]); - - prog = (prog.scramble ++ ((maxProgLength - minProgLength).rand + minProgLength).collect({prog.choose}).scramble); - if(silent == nil, {silent = []}); - [sus.scramble, prog, silent.scramble] - }); -}; - -updateVoices = {arg ins, sus; - var voices, candidates, nWeights, nProbs, sel; - - voices = lastXChanges.deepCopy.last; - - candidates = sus.collect({arg v; tuples.collect({arg t; voices[v] + t})}).flatten; - candidates = difference(candidates.asSet, voices.asSet).asList; - nProbs = candidates.collect({arg candidate; - var stepScore, recentlySoundedScore, isInRangeScore, regScore, hdScore; - - //stepScore = intervalScore.value(voices[ins], candidate, 30, 400, 0.1); - stepScore = intervalScore.value(voices[ins], candidate, 100, 100); - recentlySoundedScore = inclusionScore.value(lastXChanges.flop[ins], candidate, 0); - isInRangeScore = rangeScore.value(candidate, candidate.collect({0}), ranges[ins][0], ranges[ins][1], 0, true); - regScore = spacingScore.value(voices.deepCopy.put(ins, candidate), 300); - hdScore = pow(hdSum.value(voices.deepCopy.put(ins, candidate)), hdExp); - if(hdInvert == 0, {hdScore = 1/hdScore}); - //maybe what you want here is a vector to another root and then favoring movement towards it. - //distScore = pow(hsChordalDistance.value(voices, voices.put(ins, candidate)), 2); - - [stepScore, recentlySoundedScore, isInRangeScore, regScore, hdScore] - }); - - nWeights = passagesWeights; - - //this handles nWeights of 0; mainly for testing - nProbs = nProbs.flop.select({arg scores, s; nWeights[s] != 0}).flop; - nWeights = nWeights.select({arg weight; weight != 0}); - nProbs = nProbs.flop.collect({arg scores, s; - if(scores.sum == 0, {scores}, {scores.normalizeSum * nWeights[s]}) - }); - nProbs = nProbs.flop.collect({arg scores, s; scores.product}).normalizeSum; - - sel = candidates.wchoose(nProbs); - - voices[ins] = sel; - lastXChanges = lastXChanges.add(voices).keep(-5); -}; - -genSubMotif = {arg order, orderIndex, lastState, repeatLast = false, startFromLast = false, isLastOrder = false; - var sus, prog, silent, flatOrder, res, isInChord, allowChord, pad, lastXChangesHold, voices, adder; - # sus, prog, silent = order; - flatOrder = silent ++ sus ++ prog; - lastXChangesHold = lastXChanges.deepCopy; - voices = lastState.deepCopy; - isInChord = popSize.collect({false}); - allowChord = false; - pad = false; - res = []; - "------generating motif".postln; - //need to figure out here if voices move between motifs - flatOrder.do({arg ins, i; - - if(prog.includes(ins) && repeatLast.not, {updateVoices.value(ins, sus)}); - adder = if(silent.includes(ins), {["Rest"]}, {lastXChanges.last.deepCopy[ins]}); - - if(voices[ins] != adder, { - var dur; - - if((sus ++ silent).includes(ins), { - allowChord = (ins != sus.last); - pad = (ins == sus.last); - }, { - if(i < (flatOrder.size - 1), { - allowChord = (isInChord[flatOrder[i + 1]] || (ins == flatOrder[i + 1])).not; - pad = false; - }, { - allowChord = false; - pad = true - }); - }); - if((orderIndex == 0) && sus.includes(ins), { - dur = entrancesDurFunc.value(allowChord, pad); - }, { - dur = passagesDurFunc.value(allowChord, pad); - }); - if(dur == 0, {isInChord[ins] = true}, {isInChord = popSize.collect({false})}); - - voices[ins] = adder; - res = res.add([voices.deepCopy.postln, dur]); - }); - }); - - // pad ending - if(orderIndex == (orders.size - 1), { - (0..(popSize-1)).scramble.do({arg ins; - if(res.last.first[ins] != ["Rest"], { - var dur; - voices[ins] = ["Rest"]; - allowChord = (voices != popSize.collect({["Rest"]})); - pad = allowChord.not; - dur = exitsDurFunc.value(allowChord, pad); - res = res.add([voices.deepCopy.postln, dur]); - }); - }); - }); - - //format and return - if(startFromLast, {lastXChanges = lastXChangesHold.deepCopy}); - res; -}; - - -//------primary routines - -genMotif = { - var repeats, fSeq, fDur, durAdd; - - repeats = 1; - fSeq = []; - - repeats.do({arg index; - var motif; - - motif = []; - - orders.do({arg order, o; - var lastState, subMotif; - lastState = if(o == 0, {popSize.collect({["Rest"]})}, {motif.last.last.first}); - subMotif = genSubMotif.value(order, o, lastState, isLastOrder: o == (orders.size - 1)); - motif = motif.add(subMotif); - - }); - - sanityCheck.value(motif, index); - - fSeq = fSeq.add(motif); - }); - - //round last duration to measure - fDur = fSeq.flatten.flatten.slice(nil, 1).sum; - durAdd = fDur.round(4) - fDur; - if(durAdd < 0, {durAdd = 4 - durAdd}); - fSeq[0][orders.size - 1][fSeq[0][orders.size - 1].size - 1][1] = fSeq[0][orders.size - 1][fSeq[0][orders.size - 1].size - 1][1] + durAdd; - - fSeq -}; - -genSecondarySeq = {arg seq; - var curdles, fSeq; - curdles = []; - while({curdles.sum < seq.size}, {curdles = curdles ++ [3.rand + 1]}); - - fSeq = seq.clumps(curdles).collect({arg clump, m; - var repeats, paddedSeq; - - //add rest - paddedSeq = clump.add([[[popSize.collect({["Rest"]}), 0.5.rand]]]); - - //implement repeats - repeats = [0.rand + 1, 1].wchoose([1, 0].normalizeSum); - repeats.collect({paddedSeq}); - }); - fSeq -}; - - -//------audition funcs - -/* -Event.addEventType(\osc, { - if (~addr.postln.notNil) { - ~addr.sendMsg(~indexPath, ~indexMsg); - ~addr.sendMsg(~seqPath, stringifyToDepth.value(~seqMsg, 3)); - //~addr.sendMsg("/STATE/OPEN", (dir.replace("supercollider", "resources") +/+ ~idMsg +/+ ~idMsg ++ "_gui_state" ++ ".state").standardizePath.postln); - }; -}); -*/ - -Event.addEventType(\osc, { - if (~addr.notNil) { - ~msg; - ~addr.sendMsg(~path, *~msg); - }; -}); - -genPatterns = {arg inSeq, addr, oneShot = false; - var voices, durs, pbinds, res, indices, sectionDurs, msg, ids, seq; - seq = inSeq.collect({arg mSeq; mSeq[0]}); - # voices, durs = seq.flatten2(seq.maxDepth - 5).flop; - pbinds = voices.flop.collect({arg voice, v; - var clumps, hdScores, freqs, fDurs, attacks, rels, amps; - clumps = voice.separate({arg a, b; a != b }); - freqs = clumps.collect({arg clump; if(clump[0] != ["Rest"], {(60.midicps * hsArrayToFreq.value(clump[0]))}, {Rest(0)})}); - fDurs = durs.clumps(clumps.collect({arg clump; clump.size})).collect({arg clump; clump.sum}); - //attacks = 2.collect({rrand(1, 3)}) ++ freqs.drop(2).collect({rrand(0.3, 0.5)}); - attacks = fDurs.collect({arg dur; dur * rrand(0.2, 0.4)}); - //rels = freqs.drop(2).collect({rrand(0.3, 0.5)}) ++ 2.collect({rrand(1, 3)}); - rels = (clumps.size - 1).collect({arg c; - if(clumps[c + 1][0] == ["Rest"], {rrand(1.0, 3.0)}, {rrand(0.3, 0.5)}); - }); - rels = rels.add(rrand(1.0, 3.0)); - amps = freqs.collect({rrand(0.6, 0.99)}); - - [ - Pbind( - \instrument, \string_model, - \group, group, - \freq, Pseq(freqs, 1), - \dur, Pseq(fDurs, 1), - \attack, Pseq(attacks, 1), - \sustain, Pseq(fDurs, 1), - \release, Pseq(rels, 1), - //\amp, Pseq(amps, 1), - \amp, Pbrown(0.5, 1, 0.5), - \busIndex, v - ), - Pbind( - \instrument, \sine, - \group, group, - \freq, Pseq(freqs, 1), - \dur, Pseq(fDurs, 1), - \sustain, Pseq(fDurs, 1), - \busIndex, v - ) - ] - }).flatten; - if(oneShot.not, { - msg = inSeq.collect({arg mSeq, m; mSeq[1..]}); - //ids = inSeq.collect({arg mSeq, m; mSeq[2]}); - sectionDurs = seq.collect({arg mSeq; mSeq.flatten2(mSeq.maxDepth - 5).flop[1].sum}); - pbinds = pbinds ++ - [ - Pbind( - \type, \osc, - \addr, addr, - \path, "/playing", - \msg, Pseq(msg, 1), - \dur, Pseq(sectionDurs, 1) - ); - ] - }); - res = Ppar(pbinds); - res -}; - -/* -genMidiPatterns = {arg seq; - var voices, durs, patterns, res, mOut, pbRange; - pbRange = 1; //semitones - change this as needed for your situation - mOut = MIDIOut.newByName("TiMidity", "TiMidity port 0").latency_(Server.default.latency); - # voices, durs = seq.flatten2(seq.maxDepth - 5).flop; - res = Ppar( - voices.flop.collect({arg voice, v; - var clumps, hdScores, freqs, fDurs; - - mOut.program(v, 70); - - clumps = voice.separate({arg a, b; a != b }); - freqs = clumps.collect({arg clump; if(clump[0] != ["Rest"], {(60.midicps * hsArrayToFreq.value(clump[0]))}, {Rest(0)})}); - fDurs = durs.clumps(clumps.collect({arg clump; clump.size})).collect({arg clump; clump.sum}); - - Pbind( - \type, \midi, - \chan, v, - \noteval, Pseq(freqs.cpsmidi - 24, 1), - \note, Pfunc({ | event | event[\noteval].floor }), - \dur, Pseq(fDurs, 1), - \midiout, mOut, - \amp, 1, - \bend, Pfunc({ - | event | - if (event[\note].isRest.not) { - var pitchbendvalue = event[\noteval].frac.linlin(0, pbRange, 8192, 8192*2).asInteger; - m.bend(v, pitchbendvalue); - }; - 0; // return something other than nil to avoid stopping the pattern - }), - ); - }); - ); - res -}; -*/ - - -//------resource management funcs - -genUID = {Date.seed.asHexString.toLower}; - -seedFunc = {arg func, seed; - var funcArgs, next; - next = Routine({loop{func.valueArray(funcArgs).yield }}); - next.randSeed_(seed); - {arg ...args; funcArgs = args; next.value} -}; - -stringifyToDepth = {arg data, maxDepth = 1; - var prettyString = "", rCount = 0, writeArray, indent; - - if(maxDepth == 0, { - data.asCompileString - }, { - indent = {arg size; size.collect({" "}).join("")}; - writeArray = {arg array; - prettyString = prettyString ++ indent.value(rCount) ++ "[\n"; - rCount = rCount + 1; - if(rCount < maxDepth, { - array.do({arg subArray; writeArray.value(subArray)}); - }, { - prettyString = prettyString ++ array.collect({arg subArray; - indent.value(rCount + 1) ++ subArray.asCompileString - }).join(",\n"); - }); - rCount = rCount - 1; - prettyString = prettyString ++ "\n" ++ indent.value(rCount) ++ "],\n"; - }; - - writeArray.value(data); - prettyString.replace(",\n\n", "\n").drop(-2); - }) -}; - -sanityCheck = {arg motif, index; - //print functions = very helpful - ("----------" + index + "------------").postln; - - motif.flatten.do({arg val, v; - if(v > 0, { - if(motif.flatten[v-1][0].hammingDistance(val[0]) > 1, {"problem 1".postln}); - if(motif.flatten[v-1][0].hammingDistance(val[0]) == 0, {"problem 2".postln}); - }); - val.postln - }); - "***********".postln; -}; - -msgInterpret = {arg in, escapeDoubleQuotes = true, escapeSingleQuotes = true; - var res; - - res = in; - if(res.isNil.not, { - if((res.isArray && res.isString.not), { - res = res.asCompileString; - res = res.replace(" ", "").replace("\n", "").replace("\t", ""); - if(escapeSingleQuotes, {res = res.replace("\'", "")}); - if(escapeDoubleQuotes, {res = res.replace("\"", "")}); - res = res.replace("Rest", "\"Rest\""); - res = res.interpret; - }, { - var tmpRes; - if(res.every({arg char; char.isDecDigit}), {tmpRes = res.asInteger}); - if(res.contains("."), {tmpRes = res.asFloat}); - if(tmpRes != nil, {res = tmpRes}); - }); - }); - res -}; - -writeResources = {arg path, dict; - var file, modelItems, resString; - file = File(path,"w"); - - modelItems = [ - seq, lastXChanges, - curUID, refUID, orderSeed, durSeed, motifSeed, - entrancesProbVals, passagesProbVals, exitsProbVals, - ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, - orders, susWeights, orderSize, passagesSize, - motifEdited, orderEdited - ]; - - resString = nameSpaces.collect({arg nameSpace; - var depth = 0, insert = " "; - if(nameSpace == "music_data", {depth = 3; insert = "\n"}); - if(nameSpace == "last_changes", {depth = 1; insert = "\n"}); - if(nameSpace == "order", {depth = 1; insert = "\n"}); - if((nameSpace == "ref_uid") && (dict[nameSpace] == nil), {dict[nameSpace] = "nil"}); - "\"" ++ nameSpace ++ "\":" ++ insert ++ stringifyToDepth.value(dict[nameSpace], depth) - }).join(",\n"); - - resString = "{\n" ++ resString ++ "\n}"; - - file.write(resString); - file.close; - resString -}; - -loadModelFile = {arg path; loadModelJSON.value(File(path, "r").readAllString.parseJSON)}; - -loadModelJSON = {arg jsonObject; - var dict; - dict = Dictionary.with(*nameSpaces.collect({arg nS; nS->msgInterpret.value(jsonObject[nS])})); - dict -}; - -setGlobalVars = {arg dict, skipLastXChanges = false; - var tmpLastXChanges; - tmpLastXChanges = lastXChanges.deepCopy; - // order really matters!!!! - # seq, lastXChanges, curUID, refUID, orderSeed, durSeed, motifSeed, - entrancesProbVals, passagesProbVals, exitsProbVals, - ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, - orders, susWeights, orderSize, passagesSize, - motifEdited, orderEdited = nameSpaces.collect({arg nS; dict[nS]}); - if(skipLastXChanges, {lastXChanges = tmpLastXChanges}); - dict -}; - -globalVarsToDict = { - var modelItems, dict; - // order really matters!!!! - modelItems = [ - seq, lastXChanges, - curUID, refUID, orderSeed, durSeed, motifSeed, - entrancesProbVals, passagesProbVals, exitsProbVals, - ranges, stepProbsVals, passagesWeights, hdExp, hdInvert, - orders, susWeights, orderSize, passagesSize, - motifEdited, orderEdited - ]; - dict = Dictionary.with(*nameSpaces.collect({arg nS, n; nS->modelItems[n]})); -}; - -loadLedgerFile = {arg path; - ledgerPath = path; - loadLedgerJSON.value(File(ledgerPath, "r").readAllString.parseJSON) -}; - -loadLedgerJSON = {arg jsonObject; ledger = jsonObject["ledger"]}; - -saveLedger = {arg ledger, path; - var file; - file = File(path, "w"); - file.write("{\n\"ledger\":\n" ++ stringifyToDepth.value(ledger, 1) ++ "\n}"); - file.close; -}; - -//------global vars - -primes = [[2, 1], [3, 2], [5, 4], [7, 4], [11, 8], [13, 8]]; -//ranges = [[-2400, 0], [-1200, 1200], [0, 2400], [0, 2400]]; -exPath = thisProcess.nowExecutingPath; -dir = exPath.dirname; -//popSize = 4; -dims = primes.size; -tuples = genTuples.value(); -//refUID = nil; -group = Group.new; -~group = group; -loadLedgerFile.value(dir +/+ ".." +/+ "resources" +/+ "piece_ledger.json"); -//passagesWeights = [1, 1, 1, 1, 1]; -//susWeights = [1, 1, 1]; -// order really matters!!!! -nameSpaces = [ - "music_data", "last_changes", "cur_uid", "ref_uid", "order_seed", "dur_seed", "motifs_seed", - "entrances_probs_vals","passages_probs_vals", "exits_probs_vals", - "ranges", "step_probs_vals", "passages_weights", "hd_exp", "hd_invert", - "order", "sus_weights", "order_size", "passages_size", - "motif_edited", "order_edited" -]; - - -//------OSC funcs - -OSCdef(\load_ledger, {arg msg, time, addr, port; - loadLedgerFile.value(msg[1].asString); -}, \load_ledger); - -OSCdef(\load_model, {arg msg, time, addr, port; - var dict; - dict = loadModelFile.value(msg[1].asString); - setGlobalVars.value(dict); -}, \load_model); - -OSCdef(\save_ledger, {arg msg, time, addr, port; - msg.postln; - ledger = msgInterpret.value(msg[1].asString.parseJSON["ledger"], false).postln; - //loadLedgerJSON.value(msg[0]) - saveLedger.value(ledger, msg[2].asString); - //loadLedgerFile.value(msg[1].asString); -}, \save_ledger); - -OSCdef(\generate, {arg msg, time, addr, port; - var path, dict, durSeeds, musPath, modelString; - msg.postln; - - path = msg[1].asString; - - dict = loadModelFile.value(path); - setGlobalVars.value(dict, true); - - popSize = ranges.size; - - //refUID.postln; - - loadLedgerFile.value(ledgerPath); - if(ledger == nil, {ledger = ["tmp"]}); - if(ledger.last != "tmp", {ledger = ledger.add("tmp")}); - - if(refUID == nil, {lastXChanges = [initVoices.value().deepCopy]}); - if((refUID != nil) && (refUID != "tmp"), { - var file; - file = File((dir +/+ ".." +/+ "resources" +/+ refUID +/+ refUID ++ "_mus_model" ++ ".json").standardizePath, "r"); - lastXChanges = msgInterpret.value(file.readAllString.parseJSON["last_changes"]); - }); - - refUID.postln; - lastXChanges.collect({arg item; item.postln}); - - durSeeds = seedFunc.value({3.collect({rrand(100000, 999999)})}, durSeed).value.postln; - entrancesDurFunc = genDurFunc.valueArray(entrancesProbVals[..4] ++ [entrancesProbVals[5..]] ++ [durSeeds[0]]); - passagesDurFunc = genDurFunc.valueArray(passagesProbVals[..4] ++ [passagesProbVals[5..]] ++ [durSeeds[1]]); - exitsDurFunc = genDurFunc.valueArray(exitsProbVals[..4] ++ [exitsProbVals[5..]] ++ [durSeeds[2]]); - - if(orders == nil, { - orders = seedFunc.value(genOrders, orderSeed).valueArray(orderSize ++ passagesSize); - //addr.sendMsg("/order", stringifyToDepth.value(orders, 1)); - }); - - stepFunc = genStepFunc.valueArray(stepProbsVals[..1] ++ [stepProbsVals[2..]] ++ [motifSeed]); - seq = seedFunc.value(genMotif, motifSeed).value; - - lastXChanges.collect({arg item; item.postln}); - - dict = globalVarsToDict.value; - modelString = writeResources.value(path, dict); - - //addr.sendMsg("/generated", musPath, stringifyToDepth.value(seq, 3)); - //~seq = seq; - - addr.sendMsg("/generated", path, modelString, ledgerPath); -}, \generate); - - -OSCdef(\commit, {arg msg, time, addr, port; - var musicData, musicChanged, dict, newLedger, modelPath, musString, musFile, test1, test2, lastCurUID, commitType, commitPos, equalityLedger; - //msg.postln; - - /* - test1 = msg[1].asString.parseJSON; - test2 = (dir +/+ ".." +/+ "resources/tmp/tmp_music" ++ ".json").standardizePath.parseJSONFile; - msgInterpret.value(test1["music"])[0][0][0][1].class.postln; - msgInterpret.value(test2["music_data"])[0][0][0][1].class.postln; - (test1["music"] == test2["music_data"]).postln; - */ - - musicData = loadModelJSON.value(msg[1].asString.parseJSON)["music_data"].postln; - musicChanged = (musicData != seq).postln; - commitType = msg[2].asString; - commitPos = msg[3].postln.asInteger; - - lastCurUID = curUID.deepCopy; - curUID = genUID.value; - - File.mkdir((dir +/+ ".." +/+ "resources" +/+ curUID).standardizePath); - File.copy(exPath, (dir +/+ ".." +/+ "resources" +/+ curUID +/+ curUID ++ "_code" ++ ".scd").standardizePath); - - modelPath = (dir +/+ ".." +/+ "resources" +/+ curUID +/+ curUID ++ "_mus_model" ++ ".json").standardizePath; - dict = globalVarsToDict.value; - if(musicChanged, { - seq = musicData; - dict["music_data"] = seq; - dict["motif_edited"] = "true" - }); - dict["cur_uid"] = curUID; - - writeResources.value(modelPath, dict); - - File.delete(ledgerPath ++ "_bak"); - File.copy(ledgerPath, ledgerPath ++ "_bak"); - File.delete(ledgerPath); - - /* - if(commitType == "add", { - if(lastCurUID == "tmp", { - ledger = ledger.drop(-1).add(curUID); - }, { - ledger = ledger.add(curUID); - }) - }); - */ - - ledger.postln; - - if(commitType == "add", {ledger = ledger.add(curUID)}); - - if(commitType == "insert", {ledger = ledger.insert(commitPos + 1, curUID)}); - - if(commitType == "replace", {ledger = ledger.put(commitPos, curUID)}); - - equalityLedger = ledger.collect({arg item; item.asSymbol}); - if(equalityLedger.includes(\tmp).postln, {ledger.removeAt(equalityLedger.indexOf(\tmp).postln)}); - - ledger.postln; - - saveLedger.value(ledger, ledgerPath); - - addr.sendMsg("/committed", curUID, ledgerPath); - //refUID = curUID; - -}, \commit); - -OSCdef(\transport, {arg msg, time, addr, port; - msg.postln; - if(msg[1] == 0, { - group.set(\release, 2); - group.set(\gate, 0); - player.stop; - }, { - // the cued sequence can now be read from file, so this can be cleaned up - var cSize, patterns, pSeq, cuedSeek, indexStart, indexEnd, tmpLedger; - if(msg[1] == 1, { - pSeq = []; - cuedSeek = (seq != nil); - indexStart = msg[2].asInteger; - indexEnd = ledger.size - if(cuedSeek, {2}, {1}); - //ledger.postln; - if(((indexStart == (ledger.size - 1)) && cuedSeek).not, { - ledger[indexStart..indexEnd].do({arg uid, index; - var path, file; - path = (dir +/+ ".." +/+ "resources" +/+ uid +/+ uid ++ "_mus_model" ++ ".json").standardizePath; - file = File(path, "r"); - pSeq = pSeq.add([msgInterpret.value(file.readAllString.postln.parseJSON["music_data"]), path, indexStart + index, uid]); - file.close; - }); - }); - if(cuedSeek, { - var path, file; - path = (dir +/+ ".." +/+ "resources/tmp/tmp_mus_model" ++ ".json").standardizePath; - file = File(path, "r"); - pSeq = pSeq.add([msgInterpret.value(file.readAllString.parseJSON["music_data"]), path, ledger.size - 1, "tmp"]); - file.close; - }); - patterns = genPatterns.value(pSeq, addr); - }, { - pSeq = [loadModelJSON.value(msg[2].asString.parseJSON)["music_data"].postln]; - patterns = genPatterns.value(pSeq, addr, true); - }); - player = Pfset(pattern: patterns, cleanupFunc: { - addr.sendMsg("/transport", 0); - addr.sendMsg("/one_shot", 0); - }); - player = player.play - }); -}, \transport); - - -OSCdef(\transcribe_motif, {arg msg, time, addr, port; - var tSeq, refChord, refUID; - - msg.postln; - - tSeq = [loadModelJSON.value(msg[1].asString.parseJSON)["music_data"]]; - refUID = msg[2].asString.postln; - - if((refUID != "nil") && (refUID != "tmp"), { - var file; - file = File((dir +/+ ".." +/+ "resources" +/+ refUID +/+ refUID ++ "_mus_model" ++ ".json").standardizePath, "r"); - refChord = msgInterpret.value(file.readAllString.parseJSON["last_changes"]).last; - file.close; - }, { - refChord = [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]; - }); - - ~transcribe.value(tSeq, refChord, (dir +/+ ".." +/+ "lilypond" +/+ "includes").standardizePath, addr, "/transcribe_motif"); -}, \transcribe_motif); - - -OSCdef(\transcribe_all, {arg msg, time, addr, port; - var cSize, patterns, cuedSeek, indexStart, indexEnd, tmpLedger; - if(true, { - cuedSeek = (seq != nil); - indexStart = msg[1].asInteger; - indexEnd = ledger.size - if(cuedSeek, {2}, {1}); - - //tmp for testing transcription - indexEnd = (indexStart+5); - - //ledger.postln; - if(((indexStart == (ledger.size - 1)) && cuedSeek).not, { - var lilyPartLedgerFiles; - - lilyPartLedgerFiles = 4.collect({arg p; - File((dir +/+ ".." +/+ "lilypond" +/+ "includes" +/+ "part_" ++ ["IV", "III", "II", "I"][p] ++ ".ly").standardizePath, "w"); - }); - - ledger[indexStart..indexEnd].do({arg uid, index; - var path, file, fileString, tSeq, refUID, refChord; - path = (dir +/+ ".." +/+ "resources" +/+ uid +/+ uid ++ "_mus_model" ++ ".json").standardizePath; - file = File(path, "r"); - fileString = file.readAllString; - tSeq = msgInterpret.value(fileString.parseJSON["music_data"]); - refUID = msgInterpret.value(fileString.parseJSON["ref_uid"]); - file.close; - - //uid.postln; - //(refUID == "nil").postln; - - refChord = [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]; - - if(refUID != "nil", { - path = (dir +/+ ".." +/+ "resources" +/+ refUID +/+ refUID ++ "_mus_model" ++ ".json").standardizePath; - file = File(path, "r"); - refChord = msgInterpret.value(file.readAllString.parseJSON["last_changes"]).last; - file.close; - }); - - if(index != indexEnd, { - ~transcribe.value(tSeq, refChord, (dir +/+ ".." +/+ "resources" +/+ uid +/+ "lilypond").standardizePath); - }, { - ~transcribe.value(tSeq, refChord, (dir +/+ ".." +/+ "resources" +/+ uid +/+ "lilypond").standardizePath, addr, "/transcribe_all"); - }); - - lilyPartLedgerFiles.do({arg f, p; - f.write("\\include \".." +/+ ".." +/+ "resources" +/+ uid +/+ "lilypond" +/+ "part_" ++ ["IV", "III", "II", "I"][p] ++ ".ly\"\n"); - }); - - }); - - lilyPartLedgerFiles.do({arg f; - f.close - }); - }); - /* - if(cuedSeek, { - var path, file; - path = (dir +/+ ".." +/+ "resources/tmp/tmp_mus_model" ++ ".json").standardizePath; - file = File(path, "r"); - pSeq = pSeq.add([msgInterpret.value(file.readAllString.parseJSON["music_data"]), path, ledger.size - 1, "tmp"]); - file.close; - }); - */ - }, { - - }); - -}, \transcribe_all); - +appEnvironment.pop; ) - -~transcribe.value(~seq, dir); - -( -//synthdefs -~stringModelBusArray = 4.collect({Bus.audio(s, 1)}); -~sineBusArray = 4.collect({Bus.audio(s, 1)}); -~bassBusArray = 1.collect({Bus.audio(s, 1)}); -~hdustBusArray = 1.collect({Bus.audio(s, 1)}); -~samplerBusArray = 2.collect({Bus.audio(s, 1)}); -~sBuf = Buffer.alloc(s, 10, 2); -SynthDef(\string_model, {arg freq, gate = 1, sustain, amp, dur, attack, release = 1, busIndex = 0; - var trig, exc, sig1, sig2, noHarms; - noHarms = rrand(20, 40); - exc = Saw.ar(freq, TRand.ar(0.5, 1, Impulse.ar(freq))) * 0.001 + Dust.ar(10000, 0.01); - sig1 = (Klank.ar(`[ Array.series(noHarms, freq, freq), - Array.geom(noHarms, 1, 0.2) + Array.fill(noHarms, {rrand(0.01, 0.03)}), - Array.fill(noHarms, {rrand(1, 2)}) ], exc) * 0.8).softclip; - //sig1 = HPF.ar(sig1, 300); - Out.ar(Select.kr(busIndex, ~stringModelBusArray), sig1 * amp * EnvGen.kr(Env.adsr(attack, 0.3, 0.9, release, 0.9, -3), gate, doneAction: 2)); - //Out.ar([0, 1], sig1 * EnvGen.kr(Env.asr(dur, 0.3, 1), gate, doneAction: 2)); -}).add; - -SynthDef(\sine, {arg freq, gate = 1, sustain, amp, dur, busIndex = 0; - var sig; - sig = SinOsc.ar(freq); - Out.ar(Select.kr(busIndex, ~sineBusArray), sig * EnvGen.kr(Env.asr(0.3, 0.4, 0.3), gate, timeScale: dur, doneAction: 2)); - //Out.ar(Select.kr(busIndex, ~sineBusArray), sig * EnvGen.kr(Env.sine(dur), gate, doneAction: 2)); -}).add; - -SynthDef(\mixer, {arg freq, gate = 1, sustain, amp, dur, out; - var nameSpaces, sigs; - - sigs = [~stringModelBusArray, ~sineBusArray/*, ~bassBusArray, ~hdustBusArray, ~samplerBusArray*/].collect({arg busArray, i; - var nameSpace, sig; - nameSpace = ['string', 'sine', 'bass', 'hdust', 'sampler'][i]; - sig = busArray.collect({arg bus, c; In.ar(bus, 1) * NamedControl.kr(\ ++ nameSpace ++ '_volume_' ++ c, 1, 0.1)}); - sig = sig.collect({arg channel, c; Pan2.ar(channel, NamedControl.kr(\ ++ nameSpace ++ '_pan_' ++ c, i / (busArray.size - 1), 0.1) * 2 - 1)}); - sig = sig.collect({arg channel, c; channel * NamedControl.kr(\ ++ nameSpace ++ '_mute_' ++ c, 1, 0.1)}); - sig = Mix.ar(sig) * pow(NamedControl.kr(\ ++ nameSpace ++ '_volume_master', 1, 0.1), 2); - }); - - sigs = Mix.ar(sigs / 4); - Out.ar(0, sigs) -}).add; - -SynthDef(\bass, { - var switches, drone; - switches = {|i| Dust.kr(0.1)} ! 9; - drone = {|i| var harm = pow(2, 2 - (i / 3).trunc), amp = (1 / pow(harm, 2)); - SinOsc.ar(60 * harm + TRand.kr(-3, 3, switches[i]), 0, amp)} ! 9; - Out.ar(~bassBusArray[0], Mix.new(drone) * 0.2); -}).add; - -SynthDef(\sampler, { - Out.ar(~samplerBusArray, PlayBuf.ar(2, ~sBuf, BufRateScale.kr(~sBuf), doneAction: 2)) -}).add; - -// main routine -SynthDef(\hdust, { - arg gate = 0; - var hierarchical_dust, low_sine, high_sine, brown_noise, white_noise; - // this triggers the combinations of sources - // it is similar to the Supercollider UGen called dust but with a hierarchical structure - hierarchical_dust = ( - TIRand.kr(0, 1, Impulse.kr(100)) * - TIRand.kr(0, 1, Impulse.kr(10)) * - TIRand.kr(0, 1, Impulse.kr(1)) * - TIRand.kr(0, 1, Impulse.kr(0.1)) - ); - // adjust the multiplier at the end of each line for adjusting levels - // note with each trigger, each source has a 1 in 3 chance of sounding - low_sine = SinOsc.ar(76.midicps / 16) * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.1; - high_sine = SinOsc.ar(76.midicps * 8) * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.01; - brown_noise = BrownNoise.ar() * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.025; - white_noise = WhiteNoise.ar() * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.02; - Out.ar(~hdustBusArray[0], - ((low_sine + high_sine + brown_noise + white_noise) ) - ); -}).add; - -) - -( -var bass, hdust, sampler, mixer; -/* -bass = Synth.tail(~group, \bass); -hdust = Synth.tail(~group, \hdust); -sampler = Synth.head(~group, \sampler); -*/ -mixer = Synth.tail(~group, \mixer); - -OSCdef(\mixer, {arg msg, time, addr, port; - mixer.set((msg[1] ++ '_' ++ msg[2] ++ '_' ++ msg[3]), msg[4]) -}, \mixer); - -/* -OSCdef(\sampler, {arg msg, time, addr, port; - msg.postln; - sampler.free; - ~sBuf.free; - ~sBuf = Buffer.read(s, msg[1].asString.postln, action: {sampler = Synth.head(~group, \sampler)}); -}, \sampler); -*/ -) - -/* old something -( -SynthDef(\test, {arg freq, gate = 1, sustain, amp, dur; - var trig, exc, sig1, sig2, noHarms, freqFinal, start, end; - noHarms = 30; - freq = WhiteNoise.ar * 3 + freq; - freqFinal = Duty.ar((1/freq), 0, freq); - trig = Changed.ar(freqFinal); - start = Demand.ar(trig, 0, Dwhite(-1, -0.75)); - end = Demand.ar(trig, 0, Dwhite(0.75, 1)); - exc = Phasor.ar(trig, (end - start) * freqFinal / SampleRate.ir, start, end, 0) * 0.001 + Dust.ar(10000, 0.01); - - sig1 = (Klank.ar(`[ Array.series(noHarms, freq, freq), - Array.geom(noHarms, 1, 0.2) + Array.fill(noHarms, {rrand(0.01, 0.03)}), - Array.fill(noHarms, {rrand(2, 3)}) ], exc) * 0.5).softclip; - sig1 = HPF.ar(sig1, 300); - Out.ar([0, 1], sig1 * EnvGen.kr(Env.adsr(0.3, 0.3, 0.9, 0.5, 0.9), gate, doneAction: 2)); -}).add; -) -*/ - diff --git a/supercollider/seeds_and_ledgers_mixer.scd b/supercollider/seeds_and_ledgers_mixer.scd new file mode 100644 index 0000000..b666fdb --- /dev/null +++ b/supercollider/seeds_and_ledgers_mixer.scd @@ -0,0 +1,23 @@ +( +var mixer; +//var bass, hdust, sampler, mixer; +/* +bass = Synth.tail(~group, \bass); +hdust = Synth.tail(~group, \hdust); +sampler = Synth.head(~group, \sampler); +*/ +mixer = Synth.tail(~group, \mixer); + +OSCdef(\mixer, {arg msg, time, addr, port; + mixer.set((msg[1] ++ '_' ++ msg[2] ++ '_' ++ msg[3]), msg[4]) +}, \mixer); + +/* +OSCdef(\sampler, {arg msg, time, addr, port; + msg.postln; + sampler.free; + ~sBuf.free; + ~sBuf = Buffer.read(s, msg[1].asString.postln, action: {sampler = Synth.head(~group, \sampler)}); +}, \sampler); +*/ +) \ No newline at end of file diff --git a/supercollider/seeds_and_ledgers_synthdefs.scd b/supercollider/seeds_and_ledgers_synthdefs.scd new file mode 100644 index 0000000..593c0c1 --- /dev/null +++ b/supercollider/seeds_and_ledgers_synthdefs.scd @@ -0,0 +1,104 @@ +( +//synthdefs +~stringModelBusArray = 4.collect({Bus.audio(s, 1)}); +~sineBusArray = 4.collect({Bus.audio(s, 1)}); +/* +~bassBusArray = 1.collect({Bus.audio(s, 1)}); +~hdustBusArray = 1.collect({Bus.audio(s, 1)}); +~samplerBusArray = 2.collect({Bus.audio(s, 1)}); +*/ +~sBuf = Buffer.alloc(s, 10, 2); +SynthDef(\string_model, {arg freq, gate = 1, sustain, amp, dur, attack, release = 1, busIndex = 0; + var trig, exc, sig1, sig2, noHarms; + noHarms = rrand(20, 40); + exc = Saw.ar(freq, TRand.ar(0.5, 1, Impulse.ar(freq))) * 0.001 + Dust.ar(10000, 0.01); + sig1 = (Klank.ar(`[ Array.series(noHarms, freq, freq), + Array.geom(noHarms, 1, 0.2) + Array.fill(noHarms, {rrand(0.01, 0.03)}), + Array.fill(noHarms, {rrand(1, 2)}) ], exc) * 0.8).softclip; + //sig1 = HPF.ar(sig1, 300); + Out.ar(Select.kr(busIndex, ~stringModelBusArray), sig1 * amp * EnvGen.kr(Env.adsr(attack, 0.3, 0.9, release, 0.9, -3), gate, doneAction: 2)); + //Out.ar([0, 1], sig1 * EnvGen.kr(Env.asr(dur, 0.3, 1), gate, doneAction: 2)); +}).add; + +SynthDef(\sine, {arg freq, gate = 1, sustain, amp, dur, busIndex = 0; + var sig; + sig = SinOsc.ar(freq); + Out.ar(Select.kr(busIndex, ~sineBusArray), sig * EnvGen.kr(Env.asr(0.3, 0.4, 0.3), gate, timeScale: dur, doneAction: 2)); + //Out.ar(Select.kr(busIndex, ~sineBusArray), sig * EnvGen.kr(Env.sine(dur), gate, doneAction: 2)); +}).add; + +SynthDef(\mixer, {arg freq, gate = 1, sustain, amp, dur, out; + var nameSpaces, sigs; + + sigs = [~stringModelBusArray, ~sineBusArray/*, ~bassBusArray, ~hdustBusArray, ~samplerBusArray*/].collect({arg busArray, i; + var nameSpace, sig; + nameSpace = ['string', 'sine', 'bass', 'hdust', 'sampler'][i]; + sig = busArray.collect({arg bus, c; In.ar(bus, 1) * NamedControl.kr(\ ++ nameSpace ++ '_volume_' ++ c, 1, 0.1)}); + sig = sig.collect({arg channel, c; Pan2.ar(channel, NamedControl.kr(\ ++ nameSpace ++ '_pan_' ++ c, i / (busArray.size - 1), 0.1) * 2 - 1)}); + sig = sig.collect({arg channel, c; channel * NamedControl.kr(\ ++ nameSpace ++ '_mute_' ++ c, 1, 0.1)}); + sig = Mix.ar(sig) * pow(NamedControl.kr(\ ++ nameSpace ++ '_volume_master', 1, 0.1), 2); + }); + + sigs = Mix.ar(sigs); + Out.ar(0, sigs) +}).add; + +/* +SynthDef(\bass, { + var switches, drone; + switches = {|i| Dust.kr(0.1)} ! 9; + drone = {|i| var harm = pow(2, 2 - (i / 3).trunc), amp = (1 / pow(harm, 2)); + SinOsc.ar(60 * harm + TRand.kr(-3, 3, switches[i]), 0, amp)} ! 9; + Out.ar(~bassBusArray[0], Mix.new(drone) * 0.2); +}).add; + +SynthDef(\sampler, { + Out.ar(~samplerBusArray, PlayBuf.ar(2, ~sBuf, BufRateScale.kr(~sBuf), doneAction: 2)) +}).add; + + +SynthDef(\hdust, { + arg gate = 0; + var hierarchical_dust, low_sine, high_sine, brown_noise, white_noise; + // this triggers the combinations of sources + // it is similar to the Supercollider UGen called dust but with a hierarchical structure + hierarchical_dust = ( + TIRand.kr(0, 1, Impulse.kr(100)) * + TIRand.kr(0, 1, Impulse.kr(10)) * + TIRand.kr(0, 1, Impulse.kr(1)) * + TIRand.kr(0, 1, Impulse.kr(0.1)) + ); + // adjust the multiplier at the end of each line for adjusting levels + // note with each trigger, each source has a 1 in 3 chance of sounding + low_sine = SinOsc.ar(76.midicps / 16) * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.1; + high_sine = SinOsc.ar(76.midicps * 8) * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.01; + brown_noise = BrownNoise.ar() * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.025; + white_noise = WhiteNoise.ar() * (TIRand.kr(0, 2, hierarchical_dust) < 1) * 0.02; + Out.ar(~hdustBusArray[0], + ((low_sine + high_sine + brown_noise + white_noise) ) + ); +}).add; +*/ +) + + +/* old something +( +SynthDef(\test, {arg freq, gate = 1, sustain, amp, dur; + var trig, exc, sig1, sig2, noHarms, freqFinal, start, end; + noHarms = 30; + freq = WhiteNoise.ar * 3 + freq; + freqFinal = Duty.ar((1/freq), 0, freq); + trig = Changed.ar(freqFinal); + start = Demand.ar(trig, 0, Dwhite(-1, -0.75)); + end = Demand.ar(trig, 0, Dwhite(0.75, 1)); + exc = Phasor.ar(trig, (end - start) * freqFinal / SampleRate.ir, start, end, 0) * 0.001 + Dust.ar(10000, 0.01); + + sig1 = (Klank.ar(`[ Array.series(noHarms, freq, freq), + Array.geom(noHarms, 1, 0.2) + Array.fill(noHarms, {rrand(0.01, 0.03)}), + Array.fill(noHarms, {rrand(2, 3)}) ], exc) * 0.5).softclip; + sig1 = HPF.ar(sig1, 300); + Out.ar([0, 1], sig1 * EnvGen.kr(Env.adsr(0.3, 0.3, 0.9, 0.5, 0.9), gate, doneAction: 2)); +}).add; +) +*/ \ No newline at end of file diff --git a/supercollider/seeds_and_ledgers_transcriber.scd b/supercollider/seeds_and_ledgers_transcriber.scd index 12bf56d..19e394c 100644 --- a/supercollider/seeds_and_ledgers_transcriber.scd +++ b/supercollider/seeds_and_ledgers_transcriber.scd @@ -109,12 +109,9 @@ formatMusicData = {arg seq, refChord; var res; res = partData.collect({arg item, i; var freq, dur, ref, amp, sus, note; - //# freq, dur, amp, mult, insRef = item; # freq, dur, ref = item; sus = dur.asInteger; note = sus.collect({[freq, ref, i]}); - //rest = if(p < rawMusicData.size, {(dur - sus).collect({[-1, -1, -1, i]})}, {[]}); - //note ++ rest note }).flatten; if(res.size > maxSize, {maxSize = res.size}); @@ -167,10 +164,10 @@ lyFinalizeMusic = {arg lyStr, part, name, nameShort, nameMidi, clef; lyMeasureDef = {arg insName, part, beat; var barline = "|", break = ""; barline = "\\bar \"|\""; - if((beat % 16) == 0, {break = "\\break"}); - //if((beat % 16) == 0, {break = "\\break \\noPageBreak"}); - //if((beat % (16 * 3)) == 0, {break = "\\pageBreak"}); - //if(beat != 0, {"}\n>>\n" + barline + break}, {""}) + "\n<<\n" /*++ ossia*/ + "{"; + //if((beat % 24) == 0, {break = "\\break"}); + ////if((beat % 16) == 0, {break = "\\break \\noPageBreak"}); + ////if((beat % (16 * 3)) == 0, {break = "\\pageBreak"}); + ////if(beat != 0, {"}\n>>\n" + barline + break}, {""}) + "\n<<\n" /*++ ossia*/ + "{"; if(beat != 0, {"}\n" + barline + break}, {""}) + "\n" /*++ ossia*/ + "{" }; @@ -244,7 +241,8 @@ lyNote = {arg freq, noteLength, freqRatioMult, dimDiff, ref, spellingPref = \sha consolidateNotes = {arg lyStr, part; var noteRegex, markupRegex, fullNoteRegex, restRegex, fullRestRegex, res; noteRegex = "(?[a-g](?:es|is)?(?:[,']*?)?4)"; - markupRegex = if(part != 0, {"()?"}, {"()?"}); + //markupRegex = if(part != 0, {"()?"}, {"()?"}); + markupRegex = "()?"; fullNoteRegex = noteRegex ++ markupRegex ++ "(?:\\h+~\\h+\\k)"; restRegex = "(?r4)"; fullRestRegex = "(?r4)(?:(\\h+)\\k)"; @@ -266,14 +264,8 @@ consolidateNotes = {arg lyStr, part; ~transcribe = {arg rawMusicData, refChord, dir, addr = nil, buttonID = nil; var basePath, scoreFile, musicData, insData, insNames, insNamesShort, insMidi, insClef; - //basePath = thisProcess.nowExecutingPath.dirname +/+ ".." +/+ "lilypond"; basePath = dir; basePath.mkdir; - //(basePath +/+ "includes").mkdir; - - //scoreFile = File(basePath +/+ "tkam_score.ly".standardizePath,"w"); - //scoreFile.write(File.readAllString(basePath +/+ ".." +/+ "template" +/+ "tkam_score_template.ly").replace("seed: xxx", "seed: " ++ seed)); - //scoreFile.close; musicData = formatMusicData.value(rawMusicData, refChord); @@ -330,20 +322,7 @@ consolidateNotes = {arg lyStr, part; if(isMeasureBound, {lyStr = lyStr + lyMeasureDef.value(insNames[p], p, i)}); //add note data - /* - if(sectionData[i] != nil, { - tmpSectionData = sectionData[i]; - }); - if(isTied.not, { - partLookup = if((p != 0) || [1, 2, 3].includes(ref).not , {p}, {ref}); - pcRoot = ((tmpSectionData[0][partLookup][3].cpsmidi).round(1) % 12).asInteger; - quality = if(tmpSectionData[0][partLookup][1][2] == [[ 1, 5 ], [ 1, 2, 2 ]], {\major}, {\minor}); - spellingPref = spellingDict[quality][pcRoot]; - if(p == 0, {[(i / 4).asInteger, partLookup, pcRoot, quality]}); - }); - */ - //lyStr = lyStr + lyNote.value(freq, noteLength, freqRatioMult, ref, spellingPref, isSame.not && isRest.not); lyStr = lyStr + lyNote.value(freq, noteLength, freqRatioMult, dimDiff, ref, \sharps, isSame || isRest || (ref < 0), isSame || isRest); //beam group @@ -355,7 +334,6 @@ consolidateNotes = {arg lyStr, part; }); //wrap music and add staff definitions - //lyStr = lyFinalizeMusic.value(lyStr, p, insNames[p], insNamesShort[p], insMidi[p], insClef[p]); lyStr = "{" ++ lyStr ++ "}\n\\bar \"||\"\n}"; //consolidate notes and rests @@ -373,4 +351,4 @@ consolidateNotes = {arg lyStr, part; ) -~transcribe.value(~seq); \ No newline at end of file +//~transcribe.value(~seq); \ No newline at end of file