From 8f94041f829110f93586c1567f45f419b88215fc Mon Sep 17 00:00:00 2001 From: firebingo Date: Sun, 18 Aug 2019 21:28:44 -0700 Subject: [PATCH] ep7 --- .gitignore | 3 +- 07/ac.py | 22 ++++++++++++++ 07/mask_2.png | Bin 0 -> 64550 bytes 07/x264.vpy | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ 07/x265_w2x.vpy | 58 +++++++++++++++++++++++++++++++++++++ 5 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 07/ac.py create mode 100644 07/mask_2.png create mode 100644 07/x264.vpy create mode 100644 07/x265_w2x.vpy diff --git a/.gitignore b/.gitignore index 8d6384f..774cd82 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ *.aac cudnn_data/ *.webm -ffmpeg2pass*.log \ No newline at end of file +ffmpeg2pass*.log +!07/mask_2.png \ No newline at end of file diff --git a/07/ac.py b/07/ac.py new file mode 100644 index 0000000..ab1418c --- /dev/null +++ b/07/ac.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 + +import vapoursynth as vs +import audiocutter +from subprocess import call + +core = vs.core + +ts = "cap/Senki Zesshou Symphogear - 07 (MX).d2v" +src = core.d2v.Source(ts) +src = src.vivtc.VFM(1).vivtc.VDecimate() + +ac = audiocutter.AudioCutter() + +audio = ac.split(src, [(812, 5775), (7455, 19633), (21072, 37973)]) + +ac.ready_qp_and_chapters(audio) + +audio.set_output(0) + +if __name__ == "__main__": + ac.cut_audio("mx_audio.m4a", audio_source="cap/mx_adjusted.m4a") diff --git a/07/mask_2.png b/07/mask_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1d341aa1ef5909f7e7df1657cb84b9ac97bccd55 GIT binary patch literal 64550 zcmeFZcT`i|*C&pmU_pwF4pJ0RdJiN)1wll_jz}l;4hfwQc#tL%L}>~nV2~mTqEbRt z5l|39=tw6(LT{lYgfJI;zTbIg=AD^$&HDZE`{Q9PR&MUycb|Rs+2wQgJ`j8Brv9-b z0!LU_SdJN7)4jvO!XC!LazNwIe&CK{$%B)?$6>E)rf?RPqbGKM_p!Xn;A3H7Yj(c( z5b@CHh9=C@UCzeN)7D-tz}*X=W?=zq2YA`QTPkzyX>719y9b&6xmqHxIaG07QI`uO@K4ds|-o z%pM8C6(W9lcfd0bjc%RM@$|7jqbjE+3sY24J);hiQ&dw{0fA)BC@Cmv$SY{bD=Nz> zs%feyXeue4`TIv47|qAdLGzBT-rr*Z-yq^n2!xlWyu81^zns6aoTrbYydnq$l2=fY zS5lG%C}iP*9tfKNSr53xzc}dH!(l$oUI=GTk2AX*ZEQV#5fE`e(mzvh_xd+m5BT3| z0u&}6VB;mPD5tPHr9DDB*uUw#e0|*Z2DgLB+q>Dj+j}730IlM`X}z305uR`-&;JeU ze?R^o1^`rRWc2Sb{!>}p-TyrV9C6hTn8x1<`A@0g_X54_GrRMy7e!S&*ZmD# z)YN2^3TlAP)ihL8 zWo;bPm1S*g)D=_|K{l$YAf;W)-!mr7YtC?BnFIg!rMvdte_y#dpV_k?O&i#*UqHlR zy9QxzC;s|D}=te&6589$@-^u#!Kc!#y1k{x&}LmmLA!{Z|Z8{(mPw+{W+! zEWNFYy^X!SvYM=ot*wTvs-g-=7G!UyAq!Hqv4PntDZy-1ZT~g<|5SRwx>f#Vxc`sR z|E(ODlZ}U?JrHW;#sA;u^Ix;hKZ5?R^ZB0~@&D8L$nOT(Kc*)CKU?A6v;Po~f#ux0 z1w{GX%YUaA;LE=gl)VR_Djy*IywEQYU}0I?Z=iemUcm3Up|~po{bdK+Pp$4?2Y-TY z6NBa)yN7R$^5NC>dAN_}r2m}3haTL^b~lz<#P%+%+4iaIUEDpCwQu(#?F!4W-On#4 z_dD%=vgC4KV%_~zh-3il{?Wxhb^*A;KR)tLya3GL zpV;|N9@))||K!wvzyV+e|A2#kzyV+e|A2#kzyV+e|A2#kzyV+e|A2#kDhIn}@DDin z2OI!q@c(acU|nRjh|**rcUY^x6>IOBZ4QIJ_Nzbfq+rpK$~gD#9fk@aQzl_`qxiAF zIqd7wb0fsaRdkLf`RGIx4NjlUuizgQGEgCG7^9*AqA+QBjfU2xE5pOX3$%GAgGNf@jmZwoMTvUtPL*%< z$lY-cP13N*ZyGrq5+<()~FE`cjZSqCvH8t6&sg9kudr#VzmF|pl zaGkXh86|9CQzfFNUhhopJ-HP)eI5}N92mS)UsH2S5_rdF=k(Yvw`ZXZ=l!D&>;5tx z>#x%K-fm8@k`mf&lh#_DJ(8(kMJ;&(Be>(SgtLl-Dl+jd!NXJ22Cy{k|K~A86{3Rh+dh>;k z<6#Me_SNbge0kj>3e$i0F%ckHP67u0!WDRMvjhLh+u_>IxVEGbW}413v-ZMCQDp;p z8hAchYPDHoyWm#De|W{wW%yjif-4^h!&G*wZ@78`EvO zZ1Y5edq2^y2K-{y7oH_zxYE{>fTj6zw7N35j6&o0XA>}$-8@W8e%K!o$fl^GJ^B+c ztgyULiw$rArJ*Tfvc-fde?%)idYiu4GPDKer@v8ZuNq35l_V-T>1nS5BQE6>Q!tVW zHIEi#oEqh*JB4pO>Em4U&fYU!SpYj_?TdhZy|#HhQ-3KgVzsO$G}0{QS0}!9#~p0;TtvxD z09M5t9MBfLGj*1WSAJ(vVQ)p>Se04G&sIAwF!DvMzW@4EVV(u9uesC9KRuK4eZ7Pg zSXw$Wac0-r%r{gA8f@FQbO{@bf`hH*Jy+ENEeE@V{M>$NN_;-0vnsTsMA{=YT^$peTy*4ct2pU{ zmUKG(1(cys>(jQm6zSBv+U377h?zZVm&7Xi0XI%E5r|PcVl>YWv?ju4tFKk*QNgO$ z(>IidS1J6q!qddyZp$eQGM;}&E9WKduis+oYxZof8`|x#uXgP|tg!k@)ujLxd1U%> zXDih9j)Ta~X9Zt1+Vn5}Tqw40&z#_I$cn&Zi<8uXCdCqCSB&;n&^bJB-UkiT5GBHMHjmH3s#cq>9&X zLusnnJ?Z;_ z6{CnUJ_8#1qGOo=Ip1DwO${k+r?`G>c(Z`N!q=DbQL>sCHgtHJCvxrvWvA?k}?E$HT?nMV>>g94>9z1^BP9^H&QmZwo+j@XX@*7Xqge zMA|gD%$L5nLq!@mU2gIM9&8o7r^>2Yj;dhGz-$VQ(m-Gw;x&H~z$g;Zs1J>tdMxTZ zhl*K(Wpdo$dW_*Uetk?AK8;%S-VL`48v=9Aon+;51{1%E`)j3YNZ5FkkZ`ShWO%U) z%iw?yW)X+FBNiS8{6-lD;X10$0#+?Ym)G9&fK1DLmY?QOO7NdZyh35p1s)=stnLG>)SUSk) z(kDKSy(h8-ZeOKn^7!r4KtdKs-&uWKm;=63TarY11#W;vZ@|o60?e(WR>Eee2qJv( z7&Ijbk`o#hl(Ut1+blWtIDKoL_>NkQLeDiiRL%$3zFeo%}{A#AU(9KE=FQVINOH-J) zczYD|QgYogBtV?eCrOXy(v6m+A7=Ujs}^QZT(NMRFY^X=@m9fL=+S{29#%u08VnS!)F z3VyqaAXtI%-l_F*+n#Z5XT?pFn>jHMY>$&OZD#w%r?#Yso$RmKx1|pC#%AjrN4_T; z04$>FdR}3rYJo_i=8sWyK{7dOM&DiJRmo}GzRCb;SV96I)`sT>eC`f>99lN`98Ni` z&8xoy+RY_>ypQBlq5i*w)f4Q>%*lO&c-#mqRQ6|I1T6ryVDe+>q{#DgR`mC1MPxma z>r=S$4_M=C_H#r?wC#FZy!g^%S1PlE}nJRnx0F><8oCuLm?MNXDcy{?>+@( zk_k&n2GlQE>#qzxlRwi4j{zo6gJRb%Os^iqk!REe_%w|leNGE9DiYD0+^$QkyCOjC z)1r`nT{aeO6aJ{MG{L`+qAM5^+J#H}4VMPqjbYK`M$&wRm#jn*aj|Hy2*sUup! zdk!Ka@+{u+9B*iCUR2eHDVLSA#s!#WhbpQS!c_3!F<3o;g1CP)+7)$+4m6J-*4 zD~Diw5`wK`=2j+PYNwRB!m$0cbibON)6CoOb}p{O#j#tZ8z1KXDqRdc=URK^__hoy z(R)o&b50h#Edv}T`$FS2=^#(dN@HzY7QkvoJ=)IP}yv|CW^w zDdvX}pHuwUURzDPY~NjJjkS;0=^-i-Q1D6!*dH@^5lPruaKw|C^;V)N$av8vD1uP9 zRW^$jCTe&GJf`(Mq?X8AT!@0MTYl^FdT@Mua3^=ql{11&Ri#uiGOaDuf;R?~jgmZT+m6o+yY$f~~Vx4cUc+Kh*HavE8!WpAdwy_q`G4sOIY_`F*fV%XA zJe;-(HK2BK>F(sXa4LS@JuxxbURdC0h|TNq5aJ8L2t!6nOL4LuWiLN0pj+6g7Gr|% zd+t2G|JWkXeEXMv^k1K>nk{T{b#3n*hg83+zeHVy&RNY{y=0h400x?9a<}*V2wyVP zN-YSJsYS@2qf}nBa*-WNu+pxm(4Rt!Y3qx&WH%<~J}X+kruFRS&0~qtXNfe?!AsPi z10lVR&49HY-96|*x4LeCjkBsm0g=5ma!D>2((u^7@zE8n!&UElxtK;H3Co#}!E}}p zSzQd3`TZHUdlzE9q#;7*8zmaZQebXj?Q^lr+lrr27=RnKE=fR`6KX*Z*`a_kwH%+9 zuDiw%?S+XM8^WO{Yk;30@*T;BX7XP8)x+uB7O`e)L~ohr7!Bg!-F8K-SPX=FNOjob z3>~9Ab#>?c&pHhNi&1OPm0vbjg*(W%BM27!-ul##g>fRtPgqLe^}u5B%u0Q&$(DbN z{7xw2jUUcS|Cft?;ONJ%bdv3((Eu3};p2LF#gZ@T%dF~YGFlwE{*~6pw^#nGN!F@w z7p@5_ng-?K4-pZ8NGaFy7zy`lR3x?OLr%|CHWgpQws`tS6S`Xq(M1iKWu5a7 zn|hYmm#SPKNr%Ea^Qew-CQc#H6YL}8j~3-%5e@G5uSgT}?JW)MyC-|X)=h3jz_I-M zs7utq#?jR=O5plISbGJc1^4EneQ0Jw#A=9xz7c=N0KJ$U{PI_ZW!;DqW8}oKQFs1< zlGvdlaHV30dyU)7gR^q!ngiQ~AUPFocat%O=zR7L9l#!!NEh>4611&kkx+2;pwE3) z$2SA)pK*0KiQmJO8r+IIK_woPI^z!nFPF0$EgML6HkZjy@fVOHT9^=x*jlqs`g}19 z-ids4dnKpc14frtFXnsqx3A_BVC-1(RRSyPEXCaUA@dGQw(%wVK;#7hOdSQk`oq}Z z88!v)b0*{a3v3{AKeo*l_ z=D3s+N`W%bScQA&Wb*pGM!^`&G6_5m0)S6gN~$rJ0IC*6AH=*t3xw3RT^%3HLI@2l z_ieFkt!x8FmccE>6q_dA3^vR z*o@3B7*Llj(Y(Sjr**KwmcTi#EXMEYZzO{MHS8j2GX$z%go?AM4#+)4zjl_2-=Z=i zW_*}$G*kN--9Demc1?swrNk^njf?CdNSZTA>5DgOTesn{^c<*3t9NNQ1t<9QLuMo`30i*gJQvnh zPQTl8k(UD6@e5fSo%1^<1b(KwhqS*H!0!yIkC{isJKc<-uDt_;C?irT+ ztmxo=7?=0GS)#UO%&;LpoMIcXdY41D?mEZz4MOdnY5zW&CnbccwW5QAmhkdHBClN4 zhc>5N(6Ei0Tcr8OSpm+O!PL#dYNR*1(O-a$$r9PRrlBxwd30V+R>bYFOTvNLD$&5; z#Gz!5n;Orgxy*g|*j^i(&rBEzGg>yl{GU+|f%$YR2|4qyrYg98 zk}QZ0{q~%~&mI^MiCC8we|@q5)#y||{yF98+!wa$bq4iPTdJXAao3M8C8!nSY-kj>~en*4yFF%Frp%y~svPuV$ z-RwV0^hw1VhES&eG}61L&`*y``-i+j$1q=G>&3wsofF?{A_XlB5S|^7oL3}qR-$%Z zYW;Zxoqsoc%@yWuvA3USR)5qwWm>Is=UVurp$y7|pq$h1OTP*5bd?dL+>j+OC| zgkXW#mej(}WUEQ|a5kJYVZJ)_oHF*NV_6bV)N!4Wns3aHf1KgW&U5D*K3zP=Q|d@> zI>}->&14*zr=D1&b(oy&^I1D6bbDq0&X7Ojxsh!sa{H8j>s7te&Bg<90lLP`4-WrW zi6F#_O^3C`7d;I?Ml7c2`U4B^9#b1C-!#Y4|)+)oz0m%lU8`npW0QR7}Sk$Eemwla!!%HLq8a;W|VM}`?{0y3Q5+U+w_ z`%u}}oqdH8Ub48-X)|IEf99|4JHoPN!S?#oKBwh9@5L5R)q&-?nGvbI&^5F>K8|jYOnL>_tUg2m9jPBK36vfsHA(gHD z=JkYP%v*%pXN$|C>vWz|wp6ck%_vBZwAfN$KqQ{C!tSm$TBIOs_>&^fN~@vNQTA_vD4rJhaOs0t@kgG zz@4t^Vk<-u@|Xd2EN6?8mG~kE6zagS&8qw-7tJ(uC_mNq&mkOB#^XB35~YF=vZ+JC z5OKA=JCbNBDE#tF1veD!GT}tC+*p?nr>&BIV$ZXo1$SQcXd)S}jB6Ed)dWB>nBHnd zoFDAc@gXoA*&9wF#vS46(y>yDO1bP0JqiSw52zBv%VqLbl4nvU`P&aKbL;%Td(;g1 z<%ipwL)q|pFT@zS2zrvs?Q`(bCF+SbtzIkiWTn9aHolxrA^pu`$n1#cg^W*D4!Pl7u@?pR!boVus_|6I!zlwgWS&GP&N%nI)eL%}+lebiGOWJ&^5P`O8JdNuzm*?_gHTUmDt9Po5u zJRhP_oP7Cc78f`ioX-~2H+1j4#t&YEO4RcjRUX(@rf9M*P^5x(x7>EsicO8nwr|hF z!U35d*507=lL(WShqm6G06#O5s{6fZ!P%xOzopsp(|X-$g3uGNs0(d=Cs(EQBK&47 z6s5Nh(YwgZsVbgst`pVMLe()h+;s0B#^2<MBwV z9sZ!swU(T!1MMATF{^FpfH(+p0+Q#63Ncm`O*@hB{mD1?wt@TKZ-*{rm|n;~Oz*ne z^o$vAMOq9a=$matj8lWzk{@3bJ$deRdDlzAXFZiQC9=}&F-tE1(%7K$|VC{$+h&hHgiF{4}bIiMQAyhRqrwgvHgg{sJ53kDNVB5~>pSGbZuOoRs2O_Y|M-o&oiw5wGWczOpv?TkOzYl~h1s{$E0vs+k z)=>3nXNpfp$d2B+TilOe+v7v477K$dVo|j}&QmYi|Iu!PYff~6_DD$xj$4m#9UJ%N zv{3{hauuOB;5b!^t9zD1cUF;k;uey%K9#+ZhHT3{L#TPZbf;7hK5})llZN@4ePuYM zD9VNCmF;BvYt+lwv+=8|#-mnmpW9>kK@`@~A#bIq1)0;uq0&W)M<9w3wTtlL-A%6b zvVe0a3&e#H=(e`nM-BWzUH?sWQ|8C#xp9dnU&Zt@nCKgJ#`xW4VS;>&6f}-A8e78 z3mZ*ZrWIEH7+{Ofe&{*Vdt6^ckO-+AEH0Dv(mRd}wWU8CL2M~Lb^YFsdy>7Vb_DsJ zgKkME+JmkGM|1LoQ458k3+CW}GsuPco*!ph=2N$itWCY?m@aPge;S;1IH*4|v+5#h z?VguPRJuvQkj9jpy>OjJlXKEG5=oZIH{H;yw;-N6_~0T2H>jUcJW4r=Ybte2ikRyM ztv$6w->JyJUP`#ENIm-Wiq(aPS_1cmqa=ZejnmaG3js?qiR&OR&D^sQ0Q-^LeMP-AHoJN(WWuRZNl?;!Prr2h14U(TY8xEV6nCh zt<+CbidIHLQ9Z@$R3DCkI~7oR6O1w>F~+G#ExAqUZTVw1{ytxs@wqGU7C*Wl)_Rvx z@tULH8LEc*d5gBp7dj(E^GadIp5uCNIs<>4nRmGvfV#+h2Y-&;Q1SWb2y;{1C^(&n zYyH5UtDmm)y?Oj=H$M6XBvlF>o%1ukTPUybO<|2t=2|-7|dd=PFZbwk#NOIJOWc4e``1OEiq>(w)?2zLlIIf>L0_WGpnZTVKWykbK%^zVcOA80D$>V+|`8rQ0aAQy90V#qZyl7P59OXpPuw zbSVW}*cw0bK%(oqt(lPHLS~Ri;8$jGV>W(KW9S(2TvYAUd1}29We9abVf66kpFr_Z z|6u!uD5@yM^OqqOo~Pd9bno>HF%jWssa1PoqVZnknp|JQtAQ$wWRM77(a2TS)Ws;~ z)~Iz*mzd@Yfdp9!pBGl;`+W<8k(Waek?@p_eT|gki7tvhAf_BGUYAlx(*bx={YrR0nM&{ zjj4IRdu-Y@8Hb9kMr*>&bGlFNoQl(E`|Kr@KkCGoDY+Dw_#B0tAH9TdmDl%aq}|dJ z#la}j@j?ac<3oDc*t36D`UdsDJ_KPCZb;MH8vn{a4fmL|Ub&O5EPCx_d9T+|{)A(; zsi-B&bQGFlw*R)PxiloyMS7;#sw0dXdVRV|aRj#&n73ujdB95+UN9-MazjKj*m3ly zBz+=vT=&|LZ(DtIO-NY){x(Gvb9qaj6Q~Xjex|fd!x3n0^;`n+!<7%JNGPNX49@d- zw-|Fp**BzD0+G`}i+tSua>ME35z&=fqG|#Ra>~o+1m#=;>YSY4C_V>V(Sa`B#sMYT29hGY8(KLRz>-uDMnDYT5S(8WlEPc7;Kb-y)) zL(U*Qexi*rd}J5Rpt_T?pUAYI6sKUb*9>b{<7=XWs*DW?D}GbCar*Pdgev$Q^o{qL zDOA_>$qDzquYQE5Bvov#8K{7gnO9AK$Q46m)PyIKq}PYu7FhIF;q+012m-D)2|}3v@+5m8E<1RnKBg1bE}!uS zHZ%qoG2^#VJ%xtl0yL0v85ObBg%O0G1J9tS5cGD+Q9Vxd75V+&i%O^|T9B1}_DHU= zfpo_(Q)8LbLCEI%T5r{Ay5NrVIpVzGp^JitdK0N*cAv`6f=aR${S2cX*Ez~*U5G+Y zJ)_%kWWN9HRCp)0O2vnRKQiU=BBm1n5TRwMKuN=ap7At6f?vhop?O|xtz=V+trY&Q zt&A^LRXsL)3Tp)D!r};<*O%9Zbv$c)w}t?B_mYI`ntoAslHjv7Xim> zE%0|kSA_~Z;xz=+o7xXgu7^`3UiuJZ=iEP{r(~*TITRgF(%J3Xbx!PUc)nP#?xz&S zYx^f_`6COYkqd6_MeMDmE$4t;xjw;BFMD8wwQty{^TLX|M?3H;!7~z+dRF8;= zh4n+Q?d|krH2l4=w_H?cHwV30XAk0x=2f9sGJhomHDT3hqb1Aaq8aj59-*6Oy74PH z{Aver5G6eCdKgCJ7M}f%r^!Zt)4BM&W5V%mIFsX=2k7V1yvS^Q(o$)%RKMuEvS$jy z)^EnAuZJ(vJL|(8V94*`v82@k?=^=T{7E7vFkv!`GFe~nJ`px|9sxT`CH(x8Mo5+? zA;vq6Fu>-u5`#O*jf&)=Pxk>`00vfmrTqQb8ylWU&FW7Qq6c9gg^&ySZ$XPoOPgP+ zNWJrIi%Y5k1BDu=hcpZxnO^C`Uc)TD(oirR%;fBK$meQm1zL|>ygH78pd&iV4cXIa z;3E*}h|qX(&Yd&>hlGA^S@*oxh!wq8d;8{_yj%jiT)^hIcm6BV!L4WnP?)8H&?KG-3VoxMGIeb(9eY~$&=3S-l zQov8WRq4od#Ab?a$s^4p!opVS61B>cE5WSZ9w#f8Hr)chSXIW6cy6!dv-$*dj&?63 zy2vEQec^nJob4cY<6Cg8L{UAgyc0Aq$affjheEWXdgnT8YBn|E@)B|GCo88RvCl3W zZy7BH9tR2*n_n@CVIKS_%X1H!n$;@-M0Ojse5!@>CU!tR{S|3pd-}I=!i^n0KQ0@B zc=I6ZyI0n=7G+MG2H1x;bsOvSQeQLZ^o#TNe%yPKuf$5MX*kqx+S_I4kzpkpa4xp( zo{Nf_vr1#ni^d{YJBzOhI%A_clAElbz3S}S5}|O;u^rZuC9m-(4uyV(nG*V#@dYFT zkXW1ZxUONf^^>*L-wWTwdP;3?t@11~A2CcZ$MdS7m5)9MCaljCmhdH^@AK%}pR9Dp z+tV1O2W-BbU+7%-6w-Q%liQ-jDOW|}N4e zj8sCRYLR0e4einT*+*I10QW0SxvahR2gPmTE&Uky@(^4(9nY;OdMwZ+a2d&lP0%A) zuuI*%cctm^ZHm)ThN8a=fuE z5UjMjPwl51MQe-R#KIg-4<l9x!o+}O>XiwW$90{9%w-A2> z1oSX~AUVG3tKe&UZ^hFYQRBR9O*lDo)&V;(K6*XI{6$>AW#gt-rY%ffQVQ1U61qrIm!OsC7WD7G9&18d(_%Z-HRe2~vb;fEzlxuF% zgM*9dVLm%q*Qt2vQeX$B1#tDm+bb-tMZek%*9cD%BfG61nw# z+5ghj=exV3O}rf6B?2F67`1khrkM;aE}rn1hLg(EYknyN1%Yg_cX>Cs&(#UAnrXNs zFv|N|zu_482ALB@Tkh(R5b=<}hsM-^ru`r9jrY_Bd#xE29-Y18$k$$`___cTcwe>` zHJZ*TJ((|3P8Nvt81e*ZM=+iLc3E;zz%IlNd}$0|IVNKyWhMSwEdDyB`@t897j4tf z_{Del`BzOn22HV+=#|XlF9X**s(4CV$D9PqwRdKp8Stl=tZl6BpuXL`F0|Mt!bcaC zeh)1>^07~O;AG=`QMS6=JG&%V8-)9S<;V@hj+>9+oxxDsjI=V3K{Q|MGD0Xmdq65v z|G^cqiB*sMKuEz#Lkq97woZ%xbU@G^KocT3an?v`ri=?yM*0T7z1Z`l>v8NRFyc<_ z=?2Mid1M=^O4)QZ%qWV6RhfaeV-@WKIfG~{PM%}erqXtupf^wo1!dCVnR)0{ebO}B zYqRmZqNMk*b$sDM;5~P5GtS^FO`L?jWz*oB6LG6uWJ7JAeaJP1Hoi!xd6V~t<3Z|+ zs6-C>bktse|H8EqNzf3A@x`5$B#Rh_trtjC$L0R)XtA zN`J?vT&K*`Z~A0%<=uHPNUmFWhR$$_sa?7GgZY(g=dHgbSFv76)=>8eewQ|W>0Nat zrYm;dUU(xm+YvZ=uzv0`qTBmjTcWVn!Xv|nty$4Bk|8Bxduew`2jaQY_;i`Pz7oG0 z$6grEA1RJb@k0|D6NUq47;j!9PucVeAql-RsK8ox^7oUd zf{Asp$&}eS3s~B0I<%d=24Y*4xSFfZ@w<#iBqPG(P-65+9b@V#J)@wMifv4M#oH5| z?Y(`6P2)>^c)FQX^aoFVgWevlP;7;UW6@U-FH#Ky&4J*a35fp66^tq{RHV*#tx5nH zzKcg{>yA&tK7Is2-m|lFK33|{Zi5g|mReZtx6Rf5mH7H;ICR3@0Bbf?VD@oZS@}0n zVZ|Kd5B(Icun`cWD~hnyD1Y`C)1SSuEo^8yjV0`$ZaY37FNye7_k8P&dWy3U2@pk^!S<8lyZ3lerT@> z+D>~!K_6_F+EN$MV4AnyPjKhCQ6|gl@N9!uTB>2v*q_w5!zB0Res?-QsZkyOp)&k~ zBc~>hX$q`8^|#LEA;%}##i2`a$B5Iu=+) z(+5-J%RhUm42NkD*@u*lWx7Vn4MrpicqUjpG?kA)yZvl5GqVn=&BaO0Z*I;mp2F(f z6pend{TmLSnaU_Yu7lQj`ZS~DP6`O+n`?aFF1~f2rjPRb^(wsx>+*GIDjGoj zN|BqxxfA76E@R~*Lc{-dwi6Z?!aU5i(_|cDFf5fJL9R4CDUFgzy$%vqIDl3rvVLy#qYY?ceVV?)P{VchSioTOxTe9;+(sd{KaDE zJxh?^PGfzG`rB^8WCiF+XLC0-aCNA#R4_B5Z{%zj>lK=XtKSNf{?_9mXW#I9j!M_J z{trZ#v1a#HB#qBW!N$d;cT7lI(x|Pd)~yuop3@aW&J57q1%_|&$QCA+>O^_{0y%1R0hU!lnEOE|%gpz&w{m7xF@Vf{ZXkEIjGxUv@Up zyf7i0m9NZ%Ew4Phw)_@kjrYm^z1pslZ}#qr$O+AjyhbB;L5Om%MYm{;@~F4l$spvz zaVOzuj>-*xJoDtmy?#AX7V(lLXlWDv{y~L5gLZ8VuEVQec7$|^K4?CETR6m{AI(>w zH$C&!8Kfw%O1Uaz8Zi5M>1Lz9P&*^*J;PkS_R1$xrstHRcNVJSXOsAL$&TVAVp2kF4|1-pF#*^1Yw%D#9bSup|851yfg` zVAAwg^lz+xCfBUuz`a|7t%(a?6eswBVvjZb3*i)wj3eDTi&)e;?X4NXJp3p5hn4YO z@jsfyzUG$+>;uB#~V(>&eSijpqI`n#iwx_(8&taPtjsyYJ!rQ3|2ach>V;%QL6bmj? z3fuuoT(viOnv(w%Xul+^e%uy}XvA_Qc_Qv>ll7i+vGRwAT+M`yXxru%YZ65Bo-s7#)Ny&l`A)6TPz9^oMn+V(U9D~PhhltL1q z1I$4%6KrQQ`UyZ`vz|8waG>|YUEb6OSF~@lZEuQEIuHMSej&2GldWBLThN~m;LXGG?-jYl?f9Ws3U4I ztLrv_RP}BAE0C%(q|3=&@ozftpOJ1>4Xqjl_@^0hE&J)nyW$^LVtkRuNyI#Y81@sKuGj5naZqbTZ#8sTP+d7 z2NeuU2AxVAxw3RV^|JaqyBnet6|Jgd$g zVPlh~M#3nqpwIB-yGq>`^4yTwmKPF={5%kAP*IUyh|tOdb#Am~{RhC|^fkI1J3{*d zZm~gfI4a!_RlXm|oj2?r=|M|9#r&xWGGvTTUK)Wj@ZPulx142PZ_nrs8>@&KX27T6 zCdV^f$v;9%WnM10G&a9XiOK7oByK*NRP5eu;YAam%0x zw9kU`Z3n1pq05K*0IO^UvTiv zWZRR={L~~Rip4AQd4q&hzCUWyZs}v8YiQ`r)4?@x|UiWwxx^O)MfMr1m z`ZJ`SAj*y7!Zb=CJaG{g(86DMR7`?+peFM#dGPCIpm*qnhaTAW`MD0#TiGo zy&M3^M0kjxnVM@K0pE0gyx0DTtE^}H=0dLqwN$S~z?-mK$(~&&$i4;$C0omLEk*_i zwQMG%Xx@w)_t3Y7;j-l|r{be)dx)N5-n8+-9e-RCI4cy8B(n1!f0nZpa3)DuqBD4{ zvt`(F?EA z7DOULcPQ3p5%04kKth@3NBMEel$mGDE^#!q*k&1t>;Komm2^)>S&-mI4?5y zKGehDot31~DHJ7}sj8Muq9_HLeMMDxkSnO@Yd|VcMCqL#}3^F7Y5VgMa%-ZX! zm2p?jpc|spzGZU7+=1P?`PeV^BUxr_*LY=xM)E}F2A$*(=n?~j>WkKlu}kj;)32KZ zfsdT%FJ*x!z4$GP9XU=;fJ+{qD5}bRe%bN&m!k<-r?xDvliuceKp&YKL0FC2+liYN zoxW6_psnxTYMs=}B_fQ1*10K|WfE^C5|8tz-klOV)j>?rP1X8X*i`3ZJGXv9&JgRW z(?0Nka_#devdBEUZD;O&%DvaiFEhX-cuUwad47O3VI%MOr0B)4VO^88n-OI|<1rgP zd$YQ$U+uP=>(9pQo~hi624}w+jfkH@VLfpelh?xA{D{Te=KOfjNL>u6z)WNJf2w`q z^7(q~G3%E4f*R9&e*F9|9+Mu{)8bPN9$$cFzt52>%|zj2up#1yCre&@!jUd$yR(SU z!(&Xbp-lx#NDe9J_OzNQ{-De@FVbvBb&e+0R&<_G3vW87sdFUju1!xEAh?9SA^eKr z5mSiwuc;cH(l%K|gyDrDkvpP?J{}$FB;vn#-D0ztiD-kkHKtrHuCjkn#}X+<*85Q5nq_snq37K^Rm{e=1)185vUE<85lj~e#mb(878miwifI2A-UcbN_dyW#BY_@msBNLV}@`(z{3R-CMp>O1!()&pyUI zr?}`KTHahxq|!Tk&Ie{LIp|ElOoq*sGodAF?n41qZs$f!_^I=k+mkM<%Scwkd7}4@ z(9<|Lvfw7&r&g0$Daas=knPc>WwQN>;ITH4Yb3TF; zrv{H3t7k~Pn$6fbeV-0yGhJ#Zl{w#Xj$(;CsMdwbE} zgOFJ`)CyGC6Sz#(=Ri-t^#%Ces)QSkRoYLkx_*k&;N-ZhZFg#H?lk94)^3~b32@Xk z{$M*Ru;Wth0go^*K1QlpZlk zN;}9(VtD0;4C7-GO1j6pKEsVJAzaz^sae(JC?}{R`bgFZu{A#oJUOV>@hUI5I4^wm zp5iOlzszoe%A!9!>LhmcR(mWtEw-M|sgM3|JY9J>l<)T*5z1PToutr$5Mv!=>@kFp7={r^kz|>%71_6ueI2sQSjWDN8NWAuuisz(aq+zG`#k5|=f3ZA zo_fO^ca=b>BHN`x-{nF+IE6W=Uyk(ao%g4uebN6_hb%g}GL|5lqS4{(D!y);tm$i9 z@$>7%MM-#L>t=mVGT-`DapNvc;sd3mxnAVL<~$>LR2ed6peUj*n{T4ib1o8H-<)Z+ z*f#)&4v7sM6xemD8A@QyZ_+8Ers5>}_)pB2D-FfAoWQw9XDL#`nXv>{a> zeS@$`6~HuSvs5z)=x1307L|p0YE0V(N$UU>pLed(JD4UJN$%xTujJ4~bT#Lbx2it$ z*u`v8()mSv+VtI}?}vD>Z8?puuMb^rM%($GIDnkQvxVixDECb;*^Du>u(5u5_QVWgJ+iBF!cnP>OKJ%A}~IO%Js7D!+YLW|BDaG@DA+o_Ii!|P>rE7>eOjndL7n7 z0AGi6sQj7b+&U07bp!Q4iU;l27uBi-mD8@6=(~ z;l&B1n?dj0%v;I4YW}wkAC3xWi@><|xNQl=zCR?lR#d9xNX{s@oRdbTrr-5TpKA%6 zu0P>w)0|rl&;Rl7CcWHHlL_dHDiF|8*ZdJE2xWB*d-T4cFdv-6MixqIU(B=C2C|50 z{1h_XFPz!q+@c^8diasExvc}#5Ekikn62_km5V8X{I7)F_88#59x>pkQzC9MBN834 zOXGIac_&D^{gtoJh-p-*)PQiAQK^*JqH=E8AQyig5i98zu~_mA+ldrS4m;C(SHo=6 zAeHW7F5{VeR%~d8dCu<$oxdtqL+d)xd|dG>D8TkeFM#^6vF;~{4^d1O?hNlp!DDv@ zoQ?F|4`4!bv;*6Y8dd(Yha|yQZll`6N({9@%U{fTsSZlJ)_w8}LNgg?8F@M(OyjPh z&VE!&cENclPqU%CJ>2U$4&#d{igvJ~!X!0;_3zQ*?S_ujXAa5ZLWx^nGX9vaW@?N9 z488qhe4+8$)A7469x?~)TUXG&kRIsn{qMt1>A%Qj3*TKLkgkkJcdrwhn~A^Ye?;Q3 zf+EDLS?8vGydL2yRArN9CSxZPR(h?Sy0)F)Za?)75+nr8NuKcwLC=8p1XE&?=ZcL;kzKRtbdBuW*S+Ya01Lv*hQyFBZ83RA1P z7Dl`Ns2gdlFE>AFbJdr=cg{CnNrl0t4qPeG{OPk;lK<8pQ?Mg5t_1(&Azf3pwXs(^ zF|~A?KLNSXbEtn1)3Iud)24%WEHAz}LE2d)rZN(ppLrPyZAv|-?cQ>Df9QEze-&1< zF=#zpk^J>;dE)ClF>dFUoQv@z+V~NR@TPy<@Q)8RPwDMF50#xYy=VK{o_-93DANS@ zUlTtfHOM@SzTGlTG9gnJrD{b?UD!u#Zz$|#ew>f~ZQL-R{*CvQ@ea@e`-)c8ydtA3 z`%Hns25~;1S-W3@Hg55&*9=5e*F%k8fUQ+!wlZpm=AkA`Xh>Si=WJNn&jM?;wNd11@8MFk8S4cIR_==ATYtysr_}L zOI0R8eb~Cr^8(z>1!X+Gu~*E}rtrqaIH5w6lyLN{-lS4uGIyF@8=ql*v-IT+FvA32 zL7ncebo=S0E{IIX_n)eaWD$!a*P{MaUPSTb#{-v&3qiO7ibvIbX#$NSh5|~*qpuT(2eY%SH)#m%TUty^LyU7MNC#0=u4#?(F)zu zCW0201e$6if!Z*)jAPlLU%SMN(Hmb*%q1%8%;_uuu)0_vz?Kf)atEF>os)AWS6G{H zai+=kXGuy}%uRoU`gV|V3cD5fTt$!|8>SE7y2?Gtl8UK1uA=s4XIcWnvBA3bvr*_V zN*89jp0SlWsjkZsg}DCrz>94yoJJRLL-ns-j>FKw{lxVFIdhhTOtW;|Mi31?=trO)>^6%RdbshAa zy|7n$ZS6LPS#jI%Ds_L$K4A_h|0TyCh2}}vW2yLewv1<${8-T}u@lDUp*_IicMggN z$TgQd>mr*~NdhV6>vKbvdKQ!wPt3uC1^~@}?mHrzT^y?~t*Ojaj*I_u6V4Th_VaYw zpgY>JY`b5gI!giX?w6=WUFOLSE6z8k|NFJF3OiTNzeOO{{PUAf;=e37dR+*RkIJ}z z>BWsmH?m(b_hWc)&?Ucap3s{F8?Ix*N~!Ummar?yAN^;{alZec4@ZwU0Y__+u* zO|B?`8HCE4QpT7DROqEN;yUVeTjtSr197G#>sQ_?6|{DTKrXpLK#uF0v$C^^e@Gr; zE$;c+MV8wvXgQ585`E&2Q`~)K#%j~~9`gmY5B12TRNa)V&HUOOoY{^Jl&EHr4d$xO zNp2eNh5a%`FuPjX3G=@SY5Rvz*ZR~cj15{xdb5jJGxA$;K>(Mz9oEK=RFb9DxVP~t z($p>n8`I#4*|bRn%trTx%hzDaQ|#lnD}l@`3B#>Di5V^Yep0omA{W2jL zq_*}c*D286fe}THtn2!ZL+TH&0)x6ccg}GkwVuz2Z&Bo|;DQn#1e5#fd-pua?LRj@ zy01$)C2pi` zC6-kmR$RuVd%16MB4$PTfj{KC->GR=nQ^Dr6V|Q&N%>21YdYRtXy!fmvFH7V|NIvo zB)8y)sXgjuDIdJ0%FmPD9xHx1IQvO{UPct!YFlPSXl{UMKS0-sRxe<1sLxmwoVBpo zZ|r{X1&C{a@ke8Vo}QHdX95ON&jscn0Qy*SHaQc5a4Z{$&5OiTN)(q|t+Q6LwBK6v z_)<2%lSmv`Sh}II{_g%S^nz`Ckf;BC+Q-N22j`)8GB(xCuX!$Bc|3Y&Yx&vIZ0~b5 z_(*7>=;5L(BEFlezPY{Fh!XZKw7`jyR1py&N8)uCdrz@5SPeDt*1B zq)1zx;RO*7?8#Cm12z6hddZ0l`Y1GbMKHl_y2_mGScrHLY*PBt;{_eu;h3OUz$<4H zLzt?UQbLnYkd6>rFIzT{xEoEzlMD#u0psVxW5sV z%13O!SZ8wyC4#WMgl+mc+jO|G`)h07Mam!U&Nwl~`McE3GeZtR+w&}r7UO}sAE0*A zkc*sKE1S)Jmbusn2j_oJF%@0Si1)i53K^_l=cefaVjRPn)CiK>^I#i#Q7h%6>hE9zB3$fv6V8D-*xXR6oX# zgx6wO17zRSIj;+ULw*fr4sc;>*>i2pMQ>Q_Gi*{o_CoQH}m5u(kD8cS)&@rK%b z*=c~Ba6dXC5E2ZsS&##zUy!y!FLi+cax%d*Hp@M`Mg-UIfPoF4#m*xu#Oi9TjUL(Xz979 z`-1wvc!IH!4$ZOysbdfh*^ToDDAm^~Epx5)gphjue!n}}0xGxa5_&HBmQ1o_J4N@v zRh``xT}**TU{*=F-GcoeF6ztRfo6|GUwj7PVC}Ls2+U*Z!z(e9+?F>Pe`Y}U@3~B<-mH!7 z)j;%*>*l7m>Nie#{}Foi6qz-I-3*XZffOWkbO~VfT{^9GmBf%$Gr|pavDprzmG81= z{LXu3jzFvSZAT1L252=kv}Ox;!0Ya?d~d;{)#ZYV>ojR$g!Hk-pi8Mzzu8Ql)Zo@g zx^Fx@?D2c!8SoyK+@EFgzRH?tI36BXl~IR$nsyr9!vpo(cF(lY7=EJzke4*-PSza} zq4zXuU6zN)9YmMg5k+*=&7yzttJwVys893Jiy+EDSJ>k_SOo8~$deAmIA=b1e{-&N zNO|#ay(e9oaBQ)Wy1q%?Ko+VTpd~6Ab+s*dS8l;WIHreraiguKydtaC@-I3(ykk5r z%Gvh(SLukC!g~8kRzF}xsj&Cf?8)kJXjZEI{#4*@tfs+0T~j~S0;Y%u1AH&%PLP<~ zE~r_8f&rK@eDKr4bfaDaNw;M!$}erRI5b8k03HEnjUhh(RP0|&EBj|7&zWIFP`hA= z;JPs=sR$_vcq5MBv>^)HM(Fu}knMY&$&(@NQonJ&;3Wt=GX@`S~+lT)7^YS8fuD$>1 zo-L2r7)K=?-W(Mth?%vQ9z0A;uBh|~DmN6NNmZLcDBKHi0sQIxg5MA{tkWyP4Kget z^{(A;zE#BO_&HYt3y(`UC9fjpp#rdYZ>^@I53YhUCe?4r0y2qY6)En2`gy`&zJsE< zymb-`mMJ?aYazUWx^7i{`(k~otQ9LNsAIa5a|>myv}#Eod_7beR`@qVzVI~p{&MXO zppMdz!BsGsVB0(DyR344aT*c@S$!!&WT$HFgYgGHdwmlwt>Sl+A>{Z3z4&`80*5JA zf+6^ZQWGufkdwlE1(2q`-tx4YG*^S=zBcnurnqqqyzS3ki24II6qvq$MSvMF5tcU- zAODvjfG8gH{C=sSZPQVX~$=JvQEM@9){m-yeU|iNC(lD~p%JR$(tL82v zzQfGWLa~}K+%X9K+tL9&RI*RA-lFafxj%?nz2u6NJrEk zrN4!clMm)Jtu1|nM8?K^T+ef?<`R3L^&VuRv5U(zX;kl>Ktx?gv&!zsyf4UB)8Eiu z&S^Bk+`ZV5`m8)2BNivDPRn$8)!l@TxllcfJ)>^DcUSj3L3tbU$?cibYCD=m!mYj| zAO!nHRi+)?ci;O;zFl^`r-1#cdKiF0f&C)L zCuRq%w)-P0x0S3mNd%y2AlXQ$ZITFctQWX+)cr+_z*M^rKX+$HLc*_QhttyJ$`Jf!xrgKX*ktWr*aQJ9cFV>;2F>k- zsl@Sg@8tfrKI`ZC8Pz&TB9$&;*Nr|CV{^nbnCpW$yPr=h;i7J=`}T70a2`kirOevm z{hrzrB!FR3;)kYL1CDbjv4J#5L(X5qDY)4>bxED%&p02yIWrKoxiy^jsDyGW*V5-~ z7r^^-P^^+h2Dya?lu14}9*9IpGZxlTH0;{Oge3B#iWp56;+~0^kiUJcqw8tnR!oIR z#44S3_#`#cV^@Z2GvNSiBu+0_W_mI_rzV0tKkLVo$+u$ti7-YK|NCx*+r&>A{3hc& zUfJ zts#VhzECWFrn~2=2!e_u`W^aQYF%(08@8$O7->ElMzk((?n>PU1LGkm88>N}*XBq< z2;&4T_us=t<2BtFu#?i8lRR>y*~$(JQ>)}9Np>Bp4!w(JuZ5bjNKXY`8AHz6=KtIH zH#DlSjv)0Skjl|B!_CJ086}|F5=avss9%>!rvV_X8>~vKGp{nR;tByIA@bF@2h+D4 zlSr+AAmSz#rzI>zXzBu5NW4)3QuWVmEP6Fa&lYJP1QDvQ7PS6L*}LnxrabznoL+VO z^ewo(5sbL!tr7{jLCbs|Q4EF*EvB%bcq3SG|5ckBe@qs-FlVS+9xYZ6m#t3s;JLNy zDlYi_^;*#X3b89;sN%2B&4IQ~`e{HxR6PKXCXrIBu;2^bNDZQRzDa7JBjSxuo1SPe z1c5G1mqjbEaG*}q(L zah|?s_3KwAKj|0QOPss-X1&Pm|1pL)OF$~~4ETkM5!P-#Xwbp6m+_B?jUQ>q%_XL? zvQ8jd*%94ueJoP%jZnjt>>r3Vxpr)c9Zf>>KAGpbUWDLwIG?nGKN&K2oaZMZB093|R4YQ(?y=~v_60loyBzu}E5LX!#{X*n zspAYwf71W*TjB8* z5`?4w_YCk#ws2X6&@6zK-&0baP{SZF=5v{RiN>~<(qTtOn99!8pOt6k1h5=CQBQqb z()N9V{IYaPU(Ngov){%)s7IOxJL91Wq){|V1)qKvF2E6P@Np)b zPP%Qka)l5LtE))J5O}RLs{KRj>;$*A1i#vOqcarwl16+$fsWyfw*q_o-6FjJ3H#zX zY$*zZd7-iy_LhE0=_Z2>(C1h6dQEZpaDPg`f?nN$Z;)zq(hd^r+u!9r+z zXDUROOU&xw37_-!lIt`R5bZdj(JQnanM;ReuglKa_pMrUy()X!I{NLUO@7zZX5W~V z_1Q)nmKG;Dfi@jEi|WJ-oGX7scZs0Ovmi*{GVEQJ+nu6hd${k8vi!YT>_#dw0?SYz z@WX*J|C4C+diH8VlT`_fK3FL<{*=PM;z0uU0z~DWHkyFGTOF^O%NtAZdwj-^MA)P5 z1oEk*JqIUgcP*?F=QS5*yOiES5Ih<@Ne2ds+1FPidNv8hwc-1H;D~|)1Y7GD7 z-3F)+j14d!?LazsF+%L3-bwt23sq7^wATe4Kw+4^w1|dx{DL2Z?PYnonPhj6*>pK;zRP@U%%M}y)IT6HO&H#uul`knpzkT~RDYc!o``U` zkZ44BkHH|=RZeT~#=3kTwV9*|tlwE*8YX5&4Qglq{tutXl838S8nko0P9VJxj;D== z2e8)mpf*eAAz8-aO^JkxwAe5)`A}Fly2GjU*I(Za*Obnm@ff@5c{$8YW=_eBae}gPQ9&COR}cJ_&zm6@(OocP^iwUSEMjK! z%nORi>E=ObWlcmf<#FfbuH*Mj7h((wt^ujooi0`OGzU>rvy}jeGYyy%(;o6s89RJq zh%PCkY4yP0yXEV9hy=NWxAgUmecsq^Q_^fnOmsSI&HU=0*4f@*BmC0iuz?0-kE4fr zs~|$f_9zD%--)jqcHqD;BkP zUwnTnVq+>05nn-LYjreT@?7v4fh#7;MPh#*AIA=ax*LPPg`SxQhf< zw#@DGlb9Isz+)V@nrL(Yl1-HrsP-14H{T;eVJgZwUj_V#TgAP=&q0e0p40kBY%z5{q3Y%pYFe%*dw@;l*{1EVZBtSf*yUjrdEEI- zfCUBz|2_nvWZEh6?mvl4#SvT0JzO?PHm?L-8|#@;Pv>te9U;eU z6A67)C2!*Wr35R()pv)l^+W9>fUNPqMk^}GrSwl!yxZhp2k!exX zp`n&@CRgOu?$(*cZezf~-6lUPH6C0n^WiKme2*_@)v08RD0~&+EQq~7&QrcfgpmQ? zo5xJ#k9YF@YQD@kS=od;Jw9AThCtuRM%L?5=+?%xXQg`h04Shr+U&U6<25-0wR=Qw ze^pq>8iZQ!Gy?T6?KCzqdyP+3;^SqQ~#4d2x%0yxUb0!~}mL zYF}8U>g#i@jsIz{e8~#*xp+pMI{Z>fQvM48xDC;W%p*)F+8)!By4I#Vvy&()tw zF&`ovcvM7+UKX#21|6BfjPEI_tNfF_K?$-~LMOAmE`(0m62|610JnI{3Cr;A}=q&pY+-rTYs?B2W?6 z>EkZQ%niVpTtqLLe-fWD>)FdhRc{j12Xltlw3UKzZ+^SYzXwNjk3B-#2I&R69~|tUP>-ZePdYg*yn99vAPp8Wadz_5jdfQ_ia* zP()rRrL5~TT0Wb79QsZm5%M3X)=sVJ)Z31*o)H={k{74mUu^6uaw}WjG-O(OkM_cI zq(}8)-6n}zAQ})UfB6*l^i<^dz6T@fOG;~A=K|W-Mx}TCCqm?dKv?c9qFm^R>gU33 z@44`Z>ap@#U$I5`b&mI^-Th71P=L1h`t__l?gXiS5x7Y_HP6g_ImC6Xpg5&}}GFTGsXr*{mEkI79d4#|rSS=v_nHN-GX!=y zCkvxzdIIkS?^=Wt(nIRTRCZKP4Pp9Z%NTK`>&kpkD-%M{^}orr>W!!X^UVDdBy9m^ z2aRn(!n5snfHC4s3#81}oeRcx+g&`31E4D&ky6L^_x8N&4zL@=KZbbj`aO1JoPLRP zW<{xK4=rzc!NG%JJs))a3-9?O9#P`fLf`Dx?`kkv@r1PW`2j7uBe#ZuZigov(}570 zMOtrl)W1n3n2Bkt8pLOt)W(R);^=S>gadBrvNy*uom<(MU9d_U8a6JjL zRNe(^9_^NfDl@5HD8RKjZivWW~AG@H*O#IU(<$s#JE zg0y8s-5xv(uDlaL=6JCxd?l~P8H~0fOTzoEHXJT{D~1_A{+!4^V>8G}C|mebe{>Lu z))@bCDer5JtlWMGmhs>!9o+L@=c9)%Ah?xqD*KPz2BF5Fdm;IxaVT%o&tb=V{zYDZ zAEb}5VOQp61`UulCJeiAcy$$N35MVX5NI1_I&oy#}c@QUc28q^vMOMsIGhU-iDa*(}zf9pRmXKvwA^Q(1lAdSpe zys}sN%$GEO<<|lOtO1qUGQJMoi3`BktU@t)(vB#p*>k>=o85i-V|QFj{*I&Ru38Ys z^fbVx4hVV@023Begc+S|MG~hrP66=&| zz&0MpY?i`bOBEPvTk7}lD;~oI9%6SGe~5pHFPYvdQQiVp1dFkv@#5 z3H5h;(UUDD8B!7HNJNYH+oQv0?;g=U%}7>w0C&~6v%#hR^gKQ&WkChflb$|}a8s5Q z=7#c!9oKl!TY(^yVYY)80Q1D$+JiWl@NI12i5w^~i|SG}&wj>+;4F%&{L}I84{rF( zm$>)JU9ROXG-lJOgj)lQHsJ5{?-VPSmGgBV|L{*?CzTWuD_C)B>mj1H{yWNYbW5#( z2^2dY6g_S;Qd(7kQNVu~S5E6_nFcaNB+?5clx|5XVX!*JQ?G!i4D|2jazaZ~Re-GK zC5&Q4gSWd%*->IxL76%y&oRI#J>C40EqvhF+>Uy9+b^u=GkY)UL*N;=T@s!DNGB8l zn^=5UKMHGNRgi~Mst_T|^(oz?)Bp)SqQgcTZ)fVYswUE0=}}`xs_(iBMC^We4am)nPKtXw)<0y@9T`ZtFcLof^ZcxY2#Zm z^$s0Vo8r<(?{bRS;UWSEV?{Up6<7NDp&KT4jJ3?_Vnd5xpNB^W^TErz{CQmc!Yjy| zt*&#tV=D1o;a<;@0!&W@uN@G{qT@VSI&yH^8d=Ulp|IEwZ?ics#pwjOK9Q%7AG{_Rcb@fJklC;B^_EE1y_F>p6hMte2~`!Z7><*r1Qlq91K)Ck=!HMxYrh`d74?$_vs*E}C=&ZEB}(462#?5* ze|*+PlJrrht$K%;9LVgwEnfQkk2C^SyEGF(2UmD`TnEPWrwpnqh1zD@KLnvzFy7?? zr3pH!^d#!kCgcb8_6zF_@cCyx*gx32Ak@{RkE^1~iv$Bp-@}8dw9`@26$;}yz!E-z z!=$-ROQ@n802P~8FI(_c@eahj8$ZlPUH5cjd6a{~coZgV$B0mc0ZWdzKXpg=${lSM z^w8hN9MF9rZ&0sraG*5;v_1i}lwG{}O7q6AVvvgRUgjN_G((mI*9));+v|Xvze`}@ z8jMwrxCp2o6Iiu_sXgy?qZ9SL9!@DINIqsBI8cDRS2fB1-j-HB3mV{)s((-ZNiW;% z*zXFDxV1R0)$kHn0Pt5p0Rw$D3mfrW?LWtueJ`g9(RBF7a(3(Dh2o$z;6VyQ3CiR6bsnw11A~byuTo)P^{?g@@lGU zwN6Zx(XX*%p+vFd<~U*ARZQQR@bH^e-gAzeb*HM&&WsbbzY+}%FoRFkUH~YN-d@_$ zSX%gcK^r#q`?9jyS{RXi#%rzS!JD(y>d7bm1>?amdQ#Jf7jT3OCWN7BnnwH!elQaJ~P%i{99eu_qG1WSI8~11yY>?vD ziF?8dU>fUC|Gm?&D}>>>?u^^WX5pA(R+aRliYLEfugo_*YLpKa`qCuCrs4B#EboSk zuoT^v-%vX-MS@JF2Nt0cmWd^ zQh$uX3E*ls$}M6ObjwdE>vnN{@|-jCByWDUn%kUe6Io8pQYFmTsMWFq>}Am{8_0Zc zo`EMaaV+Ysx2LyZrcD)fAnVQShxW^(ZD@pl!ROT$Ypk~exqYK_-ACOMK*6sAkFkXb zS{>W*p{G{>T5uYTkq094aEiYBRiRwV>NACMq((Y8*53gUx$)noxLtQMz7n{KY|&YE zYp1jNCo#C94rabr_qtSVyJkgkq(6%n5y{dXnG_o&zu{e;E=nR#_%T&1eu;`+3Tu`M z#*5gEW@W`B^qm`wuue+Pnk*PN>K^5UR&G6ZUyayMWoSzPK!))EFqtBh))`G?z^8Ho zqaVh5&6x1OwPP0t_5=%m`JV%m!{*0Z8tF;DzIuo^N+H$A0rKs!4A(?`NM4>k|J$(Ks-KR%&=liYj4eSt?7aKZF z)@7)Z-(AP&-xe`BWlz{$1i+4xV(6q(%Q50fls*eZ=(d%1pbY8YV^;u_?6{)0e0PDK z4(_F*1SXHmg&kVtn@&ns6%Kt&^T`9s5{IFYyNN*MvA-RbLE))-wLP`DyXNIsai)S* zliav;MM@CJ*7^LTPTiz*p8yW~oDqNZ)9NLGmwc7CJDBk0bfi1@nk%dKjty;&HkU&u zQT6~?L)r2G)oPT24UGmbl8dsvU-}qE!;YLq^K4;jQf6DGQm3w5zXU_REcmuCtJkt2 zh$B3zdVBW{_G8#nK0uJi%$=Uuc|R`-)PqC~-)@(3xP99+pi^VhJ#pzCT#8PQD{68frVh)>1JnI>hXGJ#-T6Zf_zleM1`H+>{bk!>9-ebM#8gp|S6eegSUstkW_9g9+GZB3gw}NbLSd+?@=cU+ zW$Y4Dbp^XG6TVOki&a$=^?_XorQHrB^FetwosREwnA``c__NK>leYQv81efF-nBg) z=d78s35IW2P#(Wls!OBHeVZ2*-JS-*3~aSoL+cWOM=c&eB+KI9+eSV!^vlw;Q;dW-)1ldUp2|+I`{kaRt3l>-_ig zR`-dP=iV>{PT$DbBh_EU@INaneky@BAy?8T2kA-V#M#RH+E;9%+j7z}T)~$Nb$7Z1 z>X}?GT;GDz^L)>K`Zwd0o{x{;A#MkGDttF8IsMs31z~qdp*6ELULGaz;Vt%FpXZIx zZjKBMPf+bW?qi;}Djc}rgZ7r?BtCXZ=`P)t{$;r6`go^)M?P;q`F6k}eBd51C;)DD!P*sJ zyL{S3(7*V*Z{D{VSebXuIyR)kPBL`zj_fW2o={qR{PgR%jcTC2nSaFt0MrTgGhYDS z79+;@wE}38_(FF_ylDZXQg3y`>L3UmEykC~^B$cn-wX7oOi<`5+qMu02E51pw*Tb# z+!Wa%?spf;01D;hpZ>c);VOqA-CZeU%%Wqx{*1Ygp~UuMdXi(EnnI{;KJIvvw*=xq zIFCPtfYiS3#RVQ?Ul&d)&K>qyTK@r3L2=b1s?F%O>OMQ1K_3~f2#>3BaakU)Y3% zc7JHY$`Yea;+NFlcwP-PzUdVX3fLzbWGMlY6nMO;po8b_+uQUcbA+xx-NP%P-6pq= z>WrL-T8l7ixIU<5}!&HsK&WC8<$T1><)+6F}33AqbYX_*P#Qo?cl-+qSC!9$=*$}%u^bea=H04l?;7BW|l zJM|VZ2W4>-T5y0PiE&*NT!zKUpv{75uzKszBO8 zx$?`k8UO;L)Cnj1*3qDVb2pE1a#jyLz)dkWkl4`j625FYcGrMpzt-`%Ys7xm6i6dS zK!F>uzRAvv9`d{F@px{}t3Jwupak1Ijohin*_iNpkC-|4mx_F(U|dh$rqLSo@eG}B2umWKSu zh)>VMazRC+v;Tsd9~|rBbXzS~*7>;g{|@r?z<@(1;|xSN(0**(DIgVY%99hM9_jc3 zHZ!k{N-d?vO5^?STvRsD$$d$vIVs6)ja_n;56w=f6bW6HB83)lkH@-FjeZ4mXl5MDkN zPbNMq#5?i}CdI9)=2;HlD#NZJDz z-Zqd5a3z*25bY5Td`tgCscB~*0WAvvyr?0wb;DdUC_tHsN*&NmZ$3C*d|PqH`h1$Y zFmRf71J2XkREy9eW!~4?lS%CW>wc~qg;8rxr?H5-8?JaMgt`?j8{AQG^5t0VP^axI zOTn62Dq&SB4z{R(;>ccr8Xg04>LEb2cYKb)aGD1MKtRu>VXi><>p-2v7Y&0)Hi86# zggK!ybwjkGjQjKB3lx*I%EKUl6C<2LPam8G80h;-;3s46l6O|QT}CNspKKuC9;^j# z+J7(+^HEJM8)z$kZ9^4EiLQU)cU^3Gj&j=c^UR(x(j6rX;3!-2)qhdajF%HyP&^F` z-1&B84-l^dY^(U85)K5|`Eg)Kiul`P7DmDj9sJV><}CE+sDw~$6t}z>{?6ADw!dv}h+IeDgdLrNh%WB`W*2+f6;0qqQp>vD<7k@cY zT4;>lx!mAFA7HQQMH1sXDNO6?Y_;#=Cd*x~n=O-0p~0G)Km>q8_wG3OSu#Dhaqx4FdsTi5HqyEg>BE2*v5_fMVV`PGdg-<7drI#U z*TvU1f)ezk@hR^Bn`y|VtK^{M=Zn`X5trPp?als7W8S(%Op5G}QE> z1WIhqJ|?I1)~mcjcyVmVE5>_6qHFt2Uc&IBxv3r2 zb?mpZRrwZz*sLPtw)D^OkQ$>caQoT#> zWdyLdK*3l0G2FPqH7Lv1(7AGY!*B6$giT271PLY$JB=m~s}rccmuPJ5=YV2y?NOFQ zXhz2BS=Y^IO1aokNV4(WuQ6(V>d zHVm2{HD2;C8sqj&e-!1s(wrZ;=K(?u)2yD?4(~c}1t@;%5+Dp^Iv+iC#|R5R$pnsj z`HgeC9J%MA5(OE69|#BqzbAoWM*Zt9}nPO^3~@kmglEfEGFg>#JHs;taGjboAbR?-tRg2Lt$q zj9o6=;eyvllpZOVF!-?v0emY=L4WT3QJ(u6WYldOeXq(~IVS!Og|5gbtolnB_8Ccc zx|xXLb_FCPfJy~(HeaSEHE!@1dtIGT@8u$y=&2I-K*XL)e}|A0bi`;M;_w zBikn}*dMsjcQ7_Y&mAz&d5-zhnCfL#%;cA$7;Jm+VpymRh|ZGLDxiEnF4i1@S$YtQ^RbkBw7vm(TV13h&AcrO1` zaflm;y00;2a3CcDZOMfzospC&{+jtCRX=N&=l+hI6$RDN*M*E_N{;bWrWGT7No&2j#em%XyRT&+;qOAkVSV&P9@4i-#* zMgsDAc6Q0m=`0Sk_e{^f_KY$o;B*}Q0?xo)3xQHrw1Wbh%_+2>lXRRi&-+AgKDTlz zc5))~T`)};@3y=o8MN!V-z;rGxML0EeRula2TD_ajCb61JRK(Y0ng$724PoY;6WVq z*H&qMe6dt?`WyB2u%K=w^7C)87`%-DbA5N2p#Nn5trj;N_S?&^FCI;A@t%Paz3h*% zttPO!H8w_OtpWikaZQ;U+TwIqupC%i#_I2%PxFeDy)gI%$m>6f4PAHO%8wxUid3D_CDj?x{Z9c@P)AP?=QdZc;+?C8NF5Wp|=MNQ7z5c7{UL?Kt1a^ zfK95U3rKe0?DJYg$wANlu--#SxM;Ezs}WfDM^|50y^0^V@TB&;O!6eFLVd9L6Pdon zBauV9`drIOpi`MiI#;1O=%~h1d6M#Og?Pi=4=4_vPR?V=h|%0d01nc|ES^J?`ns@k zZ`%L-QU<=^9(ALH)%yC0QN);3*<>(lX=jN2BghE zTUhaH;{-z)W0w)_;d}Hb*1-(OJ;9|}V5sl3%4m@Q{}6|sv*F}ARIz@k- zFCU=662k9hC;Z&@lD?aNb)EpWAR~}s z0}%p!N%x7;+)WnYo^JH^Zo}B;^wU=DW92VB(r2>>P~P3s=ngAVwj%&d4gHaz0RKn! z;y6KQ%SC*gPZb{pq+)q$yYy-dOk*SD?VeR5s~3(Hr$otwDZk77GRc112`FBjvXgIZ zg<6E$GxJN&sz)5|I<@Y3=c!!O+jifwv|Wx$J14+mR!x`2b6r~a4zaiL9fi77KmjL3 zNGzNn-Qj83U<-YEEj0eQ%Y|`bUB>cWE2Gvi#WK?82PG8mt185kRi^v_4uCZZAnjZK zkE*NiYr6f~(%mXGKtuthl#T92B@|E^X(kP$8%HXPQW`czL8QAukdoSv?q)O+QX}5) z^Lz6B5AM$$=RVhUu5%rjZiC8q*>61_Fqp2I6_tm3i>1YpFSAn$!a%u_Mj?_L>QlP! zv$emZgM$UtOYGywHbWhocj~110&9c0n3-$z1FqkfVh70n^OMc~h?2m>J$F{pKfn0S z3KGoVi!%@p@YUdSQ^jCO74ga4Uyy*>Sa2Q){j z6Ze-Dc|egrF6twKIi?@S9tU0zkDfPiHr5JCBIxY}2sc554eU@jZeZBivH2O$9*npq zS>4ZC1JF{RY)3BazhAsx>PE+nX|}u7>|rA&V`uM%M&iWE#kg+V)!)d=AUJLt#HB0A zy#P|uz5W#P1$PmLpgpQTo5R!qN6Dr-$Gagxav}r3U#XQzf!xXIGe8V=ik`&`E4EFi z`TO%6CACfYtyBvl_SxHhqYgh#)QLVf1=P0A3*9_}Tp6gjC!J1QVI*IZfw*~W{%LWr zKYFPPshjWYzhkm9$4fX-1Q0@RGfxt%g76NPmTQ;^ItMQ6d z-LiZf6>lEAINd*1@yb)p1CfB$RHV#xw{LL0A*=!AxN7qPr!hg+4~@uJxfGnB&J!XS z<114=gW0>a>Xkf4E}w2+wlyW4*Sfw0{>?vvb@}n>dvXAn0`_K&sQ}NoYd4uGE)s$; zS_7Rv@O#)vn7FDC5V)Xi5b&dukbP?QmgeDtDT! znyp@S*_p50uE`D}RqE2@ZA?ZFWEQ@3G_g@4u_gx$l;#>DY?26M*ikDFUOJ^f$&o9K z(yVR2X*(qPvySKq=pef!4G|Hw64bz>Eq3nSVUKCo*s+x}6LHie?hls<%g73S|7^`9 zH*!Sf99Pk(w>-;PYa0F1i|I?ItlIa*R;Zz3>iw1O z5f5wfEIwUyKP$dAmB`p;o_Er)_GAm)XPoT#VcRQijmJuZJ7Z1q1kiyN{JbZnRs!aGg<9BefPKkXJtHXgjBq2*N3}d z+lDZ2>IUjubex=>cJLL<{K8z{FB_+D8~i(rRx^IG1uX!kL? zn(&4ccmA&eG2fv`qi2q^WHa^Fx;;iX`Bf#%D}-(&`aZr z^_^hKiLgP6PV~Nvttp)&P>>x&B@7u+M4ghWvtIv{57isG}URv9~`xhKna6<%T@Gn zdaF7SrdQiI!fq0k~pOiLz|cH?F70&^Qz zTLoRIZYgf~nByH*{RIJh9tttYs};ePmX=D^C%Z{736qv7)G}5g1sPP&=Uh6vmVcGZ zh{HsqwN|R9_LhJ1?ge$$eJ)(u^rIm2v?5VoqCH&jkQJ^#16NfbMHZ`Sshx{XpwY>B zK{@kKBy+cmm(gacD-*_ePeaw)kzZQ!(nS14*^Wds{DKu3%bTzW$4TDl87567SA@g3H_qHey=eN}i17lm$1KJMNWYGqn}Q-WC= zMVDEp3W7$IuhJ$=6wubN3KvsXR$mw`8yxDQZ^9Gf@^-_{-t0dc%WcrdY@_Q&`BINYrWG}S)Gals>Q{wOSM z4E^PL1_G=cq0j{b>M5^d@v+6#=C-v(=kNQYt$sFYurpBq!P4>8+(~WR$D5DTw69d9 zORxQDo4=M1h=PD@T3Sgs1TlH;SWNLzx>72a*sq45)P~cdna59L-=r>krW@u*Dhcb2 zyzX`fak|=mqIH#`w3fi(eoT3dXyPaKJP-GAK|Ebnt!zL%y#V>-gHv;OUA|6E=DjQ5 zxEz{y{xPO;KtECqbY{16YvzumkH2dHkwx1aO8F3>CF})>0 zpWqn>lr$)=5pq*%6jzJ?1JNN&&N1z%816U!9ceIM(-lO9(3GEk!b77bfVS6dHTyDl zB#;hp35Zuvf_KWeXKab@t55-xY`bZck=l+Fx@du=9~ot9ZPp&YA5)+6a~!|Wr)NWB zTJ}8s%DtBE{uN6aQzL<#m?Fi>>>3+#-D+!pO=m5@!4XO(5A*D_vqv3=x{I)A@$_ck zug&DO?2EAda7h8Z7Sz+{0Bp8*E@M}KMocM`*e0*cjc+MV%C%+?#*W4CS&6m4Gf-NS z?=w&oyK#yMhxX;}1v+LXVyP3Eq~@5Wn=(eTqn5op(X#h`SoUi$*Z(vcIVRu`glT&t z6%h2D>w$!H*r@HEKj|Ef13{(0s55i81$&}nQn1eJDDDWX!P@{Suo$Hr#gPTH^XJaU zu*!RyRp~Vh%8|^Z%BpcEnxU^QaYO0jqdgB34G$K0>l&wi$=_A)o$Pd{Z=y_j!iBC$ zjBR6M%fF00+QX(!x6lFEt&!gU1fbC0pZL0kSsSYQK*KRLu*U)c3rf+e?`b&N(Z>4Mj*v>oVPe+H1y z<0tlirN)h^c4R24EG{)+6U4T`VJ?ho-+`>*m{!$`+uM=Kqu5$PDx*=#&c(uGlh#A_ zg`o1!A`%{*g`jf$yBo}h$12YHtQ+FyA5ulSWMc+Y;z<(M6m3~fT_r{pHcWvjSi+lU zL2XG&6KN{1qwk!(K>if>%sv-qv7M@j`)It>b-YygIXK7bY<21R%|?We&`1m2AL-h> z9ni$fQ-TF3^`PedXib2?K=M*6xX8smzv=5vW06@9>O8%w9~D>-h>4C^yZll=y=x*! zBk`iWOkw~KVmYSJz8HJfxfn>HO?^%n3;v1&f0|;_`HW6@>7@T98u-IFpRr}jB9YLY zo+@B4DsZf`pzZCzGTsQY!0Ec62WEgL`v)S-|6r_H-)HRagg4mIWK719>dj`6x{f5^ZU%efW30t9*v{%}ER$%-nXyY`L zanvjhGk#z!5QtbktSduUd7U-Z&j(*!yb_1a4a1DT1qPh^%IP&X=w-48BR0-jHxFGP zB$&AEInqCH(=W>%V2WizfvM916fjrT zc$D%LITv*0$9F**r~;~j-)vw$xT^9NoXqFyrKd!nUTHV`?>J6{u$zuN9}(cZ_1&Sr zES&b%9S(`^ER}YJ1K#(xODMxJH_S-@{wwGnV%T&+ATTBazLUOYdhR797mtUFDYD7J zgWq%7HdxZzI5phEu0R#!KAJJfMQ!HnE{<-_8HjmeHs{8>&DG?^3ipc68hsJs>hctv zVYG^*oXW3<2qCH+U@QFeNl@EpT!KW{I56gq1v;54GGe(0mMdKexH{erYful8zk z+v_T#;QcY2YG{BBM$Op_&s|8*606JzOpdteq6&6mNg2$a2YcaFa^f+b#sIHypX#!V~!4Qo>FQWOd~$vJ{RlMv?}G z?NKc`b6lKjR}+sXf3|N^$7aOugrNi)viJ#@djf|>52vzX3}Y2hhT&#Mz9N~lHGotj~GjykBn5o>z1i&vB^x%wlEs@L3pWB`NFr&bQ$D3I^j`MWF)#I_@v zIDr0c(tB9KL#<<3LwVL$n@1w=gPh3z+@9I!u^Sk1_cS%3u5#<|98XfymDEwhEU8m% z7I)JrOqsVujBjvUjYr!$uq+hn_Y0agdt*E@bjA_4D_6CF@n}}zyF#31uQ__Vw3a>f z=KHbqtm;f+gWJUmRVL1F^lm0X%xWKw{c=tm?E39b*wU&QkQ6N^)-o4&+k~BoYl(!5 zf()>xHE}HtUiwOe`RCMTW1f&g*(ZKRnwX_FuQn%k%Z@TGAsk7#X=1K*{ z2VeRKz@TtazO^d55u*8N9vY8gP$q{Wc{^~|42G{<2 zl;n=0Nqoj64#&YhQs06vX-Ui$Y4Bw}>N;Rg<2y)u!H;VM_fCC+ojtqUZP~r_xPG9B zcf5qIS%1y2gg$nfox?Y?JHHkA``<&QHKe|dapa>A^>&FsWhB;5REKir#-%E$*Ak~k zzL+@~olA~Op!FC!SDj3o8njh1GbY=-`kh%jGBfBqa;KBV$R$+n4aQIDSk7+(yOOy3 zSzYPv+l41hv2o5G`yg5?`v+P+EDPmJM8LyzEW|+3Y8h6< z7kBr_5za-fUjSmq2{ha=XMD9cI`>k}aQUGSC=DWRi9B9kou4(ob2*(fNZF1&ZM>xV z&$3nsAuSU+16fMl22_xSn+WI9ntT(s!D*2(Ew;!Tuf0}DW~=tQb$gN(tSW6Ql1}=w zTtq&bt9*D>=@f?G2qLQVlW1pHpRA9H6QoR_c;RZm4mNGIh_dziI;m5sWiXz4cYN1b zR>FFw(aIG)eet{S1Uzukx{Ew6^BZnSC`13}h82)Og<+&!M34-YwXF1*Vfl*nsM@>jr)Fo|L6agXBRhb&arI3l1%!ES4cCXnsjQ#!`y2xdAryrtd6btIN;x2z0 z#pMGnbjhzbWcn&%5O*8&3~l`y{qDXv|KOICja{3?AVsjgsN9&Wi?q9b*PN*2dTsP^?X%+Dcw`#3Ab|-#mZKE zK2D%tAeT^L6#X-Z;~#jTqd?!7~!e!iJsV?3p8d5)`p z5{O~?&R!#xq{czgL{7c+6MJDX^se^>QRG*N_FFTlcI~4gL`bX8OB-oLS?3ooAGg{W zajt1KlyRmk0R!TwzXZ(&9bofbon4K3KXKS|W}p5lC?R_3$X}W4I(gE%`Jb0};yQ30 z!vrQ?CxgZ;xWx2x-g!x&SsHF7!(1}u7GOjw`SE=b#G_aIm{nr&Vyw4e>liz_T2k|C zyzK4D;r>=XhhaocaJ5(5WEcJ*p{y`no4#JNNA5-zne{W>jWkzxQIW{fsp>%!@nKwm z9~}0J)hoeuZh)csG%WU@{p8>xwc$qF`Q-`A1*_c+d9J^MybstNKfNpLTelZ65yXqs zj}K)Sy`C9j``){HvFt^Q>z8o2Q+Sz+KDIqpf2QB|r-bk~*E)Ca^ZDx}{j%)M6Oo%T ztBq;{Jmlj={4;l7hSDgyYC;kRIpS=Fc0~Fqk6oU|N;3$;wbc8q& zS?q{Rsbb2XfRA(gHPjgIwk`G7i)g}t+1Aa6_m)WN0DEb;rIO_ZR{^QUvnc#~I5B31d=&WyA6IROEvC#>!wl~J4 z#vl*^Zk8WwG~bUcXHv0o%~OR>4+cP}Y-S4Civ5ljxsG1M5?jw$8QObSd%kF@Ko@o>!bvKg8t6jyuR+Gsp!XSH#_<>E3zV!Ux5~wzHCS2#E6VG|J*mH z0JBM_JU7+`va{?&TmH+&N0J;5gW`LS{}b)I$k*mJOb&LmGnLf85~oKj-Wh5O9l6w) z64Bmk+^dgqr0Y^9(bVk`^75&8{eANE5PvH{`<5gLWo$E}ZKbP$EX%!h2VGY)Ep;$o z)+0Z=&NHziS-)c|Ny3@pj$ zX@ggFabofRzEbauo7S$>3xoLSI#iGYBXQubuJ`P0F1XnJ(9&G0hym!$d-qIsMpM^N zud3gb3Ut_R=QrRuyc0jkg~qSsQNLB$=8Bwy!lsoO3c}2?=o~l4K7T^z-AlZE3ivWo zoy$(|mfoL*CFFE8fINhjA4Yss=potYQLYRbQqaT+DzaD&s%PUVX7 z)3^-R98B$mSNR_Ho8oNX`K`aN9_h0OhG=@sp^>-SvM`Ox8W42zDQ!hEOEGP&IjU{% ziz4c>O}qvv#MQ!odw;F3*bgpQY0-Ke#o#NTZpuuy;U-DyLuoh>#{j)C!{tO(l}*3ExT6i%uOF)CiZ0B*1rLt z(Vu#uoATS>26o&-`6d@30Od!w6vW7#nqF4EX-Q)Y_DTkWf}JI;$e@3wNnt+J`ZqCu zgc$Q18GMyS;+H{0#^MH3It5Vt8hSrElFKs(Yq-}*i|19ERdH9i=NI#^(I-;^?WvOE zneyGmWRrfz`LCdjH>vp;oY|4ZEglP;rQtWoiG!5@C$-|U>QcALCIw{cE#8T)J%TF zE0|1|Ld}cutw_zg5Y-J(jh9tP>J&@5su(1~g$obw_?iz~Zls>_*Y}=J{*&ig19@_vvYxa#Hx{e)7de;>eE^ygC`Y2D8@Wx zS3kS+cFN06@s?nMzb|z=Ztp&Ry6c2-P2NB1dq2kAKLFMnAEO(Ltnp=h}U|xaIVTy6sff(!7Cl4H4+RE4lZIc zN;V=rYw^FBmI;{K-M|`)bS-AADyo7YS?%5rE~i0qseu{EE`It-U{BJ8i`=aQm+Y6o zX_qBk03bbkHad^OpS#;bqm!-SW16Zt!xJ&9&P)#PSHAUAMVp-jexqo*aD;_M+S+_$ z!_M)&rI-ZE9R%LFFP`osSjRyWX~4VRC^{I{E5_T;-d=3BN5e_Hgzju1n4kG?jOLKQ z>;H}-68r7h7{YBv(4Qms0U0VnJY=IrS5B>?&{}R zW(1tq9Zx7#bgUFeh0#`=)nx|GW(zsW4RTI&ht4p|T;di8_mxPmhDB@lIxf#-Fq?ExN-kL@35JxcG_ix8FliW)6Cl*Xai}2vuAXkHnuw_k8kt`j!-1s3$i8}l8YpR`WX&3hjhl~YS}N;UezAv z6$XBJ&Ox_7;7H{u`XWGwt_yAUW;)y}oV1}(?8nK$>P#AYa5es5Z5q^41*BJj-rJ8I z%T_YrkRxphKHaJ1Y>48zUZ6pBCx*9LkNNPT3irZKfL7o8l~IQ}x1>n2>xE3IaAQLG z(vEzakD6NPeMu-1PBY9VT^m@onJU_q;zFA()7`pfXI2)h^!H*pRqqT>v#e=;1e+2# zoir!hq#jjF3TT3JY4dSH_lYn87lARb9#rU8zC6J0%tlQ1YH1^g`mLN84NnV6#DYXv zR-8Rl`9l#5?2bS`mgMQAzw|Obm%=g{7CMjUD<(VI&lbct^dUGtG1F0pK62T7 zsOUb<<%P+QA{Y3;$KVX zO8%?WKxPg_^}=obuXH~k zrlBD{gnwBf3#+`(!XD0QvGmGQ^_c%)mq4P5^-#~n=BY)=@q{5>gKJJkwplSleo*Ic zT+8mNfQIIYQuq#MnW4{1d-meD1g3y>zmSD#2Kit7LChuvlzT*;;njlq=3Ukis!LwQ z$*&$#u5qTt%u0L}TH1M!lMj+8CB7*zByAOH1h!nHjdrV@Uz5u9*6KhO0dr{0=tzDD zQsd{4X5@WBDrbxP9ZK)Vg4jr`BXc7^Vj8f_!~KV`VDJ8!{-m?hp`EtwZUuZ8DO|#& zg~@O8xwnP2AE%{UhY7Wi_lk(~f~xZ`^RH*Vs;8a1!7igXw{L}!W|C^d7pO*a9QdD* z?Z)lGje3=4lUwcT8bF#pI^4Qb+x9rYLqnBD*5qJiepsf&Ch*w*ifz3aK0#m=tZbpd z|0yq{e+yg?5etND$%MebOlThyuE{OEflU2wsfw30|HQP`{p_?J|J?iHUc%`dFw=v9 zL%&clD>Bx>Nf(<}`F4&~^`uv_)#i7@x%RzVevOtkZe(ZEXHmsMRfq=vU9H{en0* zMU3jL$-S=%&sae_W7G;mj~*G%(dy2QS8;CT3hf|IH>xV!=f-2v{b}*m5RU_=yFXXj z0BrSM0ax$q`7JnDMT=_F+CvN5ofh=I6c&Nv-hYpopI5*a?Av!B1iCv{5e>hqv9x}@ z8N!mqEL<>BuAg8X5Z&%d)SUxrP<6+(MPec^S}>!&8_ckY4%kw zSpUV|aR)>YT`a9|LpVGuHwIlb)vdcFU%8t#!8&Ekr!sau@{PE94-`L_HK#eJDpUS^ zLieaBOJhFg_3&_OF_4f*n=os>y3V<<1v`3qU*mMe6(3iA(JN-#$KH4q;Bj8(D=cU8pCtC-PHHX%GGHCSH*= z{rLxQwa>PmG3H?#lW;wT!^!tx-b=j``S2s=kOfIabuo3fzwNOAC2V6MLy8+-O}S>pjH@DCGv8}xi?{#S#M|c>(=KDY_Ob>D3H*V-Q85 z%f<<6oGJpR#Jc;e!s2`3Om`pW9fshY7p}`a_R#K?g!u!ag8>H5xSDjC*#{8M2M^Bp z#eq>VuMuZ!wJ`(tx{WVWe#t8uixFJeHi+Lo5|!OU7tBLPRAGp~9V+&Kt-kO)ZrwME zRZgY4WbfJH)!#06lrTX~&R>1u zwh3(l43i@WAn>8JV?CT+yeCd-soD!%sdOKcReJ|v#Z9w55Eu8M)mH^SZFZAO?CceL zpy6>oT{bYi)%8R-=<2}_*?&olCy1LElk#x*1m~I>VX87IOV0jy57*G+hePC#anA>5 zoBV2iUY{#sj;=ftv}-Kx+NJWdr-*?<+52Ysea{bLmnNz5OdvUE7M#xE z+(-a4mqZnVHGhr@S&Kv{NlPM$4q(Ol!z|pT7Qqtl14M}88>aP_p2hGR(tH47cGg4yQJ9d zIW>E+Zr*kH7C0i>*(>pr7xx0-!X7-Prr~ikFUioK*NOaxRU_Ti&U#A*CALScQ-x0% ztC-xIfFvpmt`Dn)<tSFfOR^U(Ff!r%!CKNe5Q?qOWT`q*a z&$Szw48>VQSKxmJW>AO2%jPRSw7IQ_b1C4$N4412`DmY7{7 zh){f_aQ1v|#A_TB;e#4l{vwFE2$IZAZhc_XJ5T=Lhq-ahpQGysgo z-YH@-Qo&8MkYaVyl_0*nthQ*$;og0Yi!oy0UcUxQX3RgkQcuZ=Qa67T(s zZe4!dAcW{c7tEi3z&O$Z5Hnwkt6gZ(dao1hJ zQ&M6y**;j+QUqKB2=8x1&^;3jq}q;4u5UAX@w*cSUi7L75H>N`jfbH^^2 z(Q^O1DcUSK&;6@wSL-lRiNNcep|p^u^r(4=;wDZtwlnCE<3i9D+~Fv`)~Q(Si*3s5 z{OW`7uvij-8aH?!N6_?&rA_=d0Vixv5wTBZ0Nt&wec>D2ogCefAGK~eEe0#moblo%HKA5%bZ*q6gJnl zukF`JZXLOlBE`DzM}x-tM|I2HhYV&$3zZM_Yxg9IKQN~%Fb`!s2u%HMkFxcSt-A{JBIVp6Y+EU+nxrbo?vN;+ zB)Jod)`}8wr+q6oR)Kz*Q=d~EzBd84s0zy|W%&8^Ipt!FlR2X^?PK{Nk%5Gam_(|~ zPP;{f`%JY$Au&tC{J6HZSW8^NY(ialzLQoNI?Vq`s*F!O!B^zH_b#rA=cmF;Bpg@4 ze=$q6yIp+127h`Mc3lxOeMcz!S=F>d={qjy8&)@4FX~BC9?S1!%Gnt*tRm4IrwOhc z0145iH&W{x@bhT!1We{Fz&vpRJ0Hqrz-8yOQ$5pnn&MoOYb{y(2O3;;nYovXg`5tVA(WA)#{LT#;_Jn>@P{Al}9?XMX%pB*rJ=i7`x-p;kf`GLf{v?vE^@M`p2meIB}tPpOr?iQ*YvSF<07 zv8?H_Kt3MnkU<@HWA3Jpt?(ch6!yKNvs5FinH6`4iyCof3 z>aVM;N)l_W?0se_3I2$oP{sknKz1uu1}8N4Ja7S@H|(wl@0ca7f7Sa7KPNY0K#E@l zKp?u;ws)1>@)kM*Jw8a*G0OcDox&OYfCA7E$ZoAt!Z?mcVp(dqNRNESjLyU!s&?P~(0` zv$oKk^&DT-^V7u%Y~h3bj;H0s^>c#>_Tgqy;yb@@@!Ub}e)KK6l|iAV=~0@%#U6#I zfmJr!apcT8JFQ1?%^fR?7T@M^Mjpr|mZ7b`B9D7hNH(#3?8{8Je_ynz#3T8k?pN8E zHn*!)X9AuG)T__g%)E;z8^^MP4kzz(wilWsHU?%mJ_(A!vu25qhxEa->gUcs&yTx) z_gpu60k!_f3@CEikvLzh!5`|S1J3tolGLmL)60Nho1Jlk%OoXFwihCJ{W6baxbXUg z2Q+wAdgAbe;yBu~Js3T54S&Z-75{SfsA$F7)Pb91sh(Ibr9%;A=tKPVzG}2dL%=`0 zT39U$mJ}*D)YhshTTVa3$MxgBs?(3Bevc=AD3hrDG9kw~xmLYzQF> z!qb+dlcuu3`z`iUzu`8YtiZse)on#+{zG9XejsZED(Q?%yb^z3PB6R2I* z(SV(PYJf^oM5yrjz7M{nLHh!7cq~qCY+1`Yu)&LfSJcI|jL<_{vVulx$h&6_y)C5} zq@P=x3>K~|wK2UCBt^0bQ z*Ymnlt4}c*8s}-_w2B8&A1yL3;vS8wWM4>x-C@AYcpNYYz@A@RQzBDypb$z45lm4y z_FOJ<`Q#wIG=rI8f$r}upx$edWF81+1W@~Z46J@p+p^c%3P1k5`mkCYB3J#NQ~q+^ zdSE61k`^M26_CfZnvE%p1$cZ=oGkqPtzb<3x0HX)Pr-?`odt#6X(yXjcEIL!8LrMn zQh@fn?TOBR7B*+U#8)Vm{jxV9QF(>1@;Oal86m`9EbIM1ScX{Cdl%)&NL@KZ3@<+k z@<)o#)BAp2Z;H|&whzoMwo)92zak|H0=`R3DVg~g$Z^>HCr&>^4z($i$SoAqxRyo{ zJdvCW3KD;*2tKQyteHn;?ZT^AYiB_X+bk{08LFQnj?GHH%5a)AEIhHpuI;N)tI9t8 zkP_njcsZ{NDP@oI_L+k?fSKF_iU=$D@Pc>C^T*6@;q`|ML0NkK&obdsDptb{)Ll&m9v!Ba#ue)7vN6Ee}^k){S-<}fof^d$%CD1w6qzt zS>v<3bdB?t7h|_f$!6DeOFi9)Im^`&rYF`i3=6uG%orLTc&IpYb!xn6p2| znbv`5>)z|gNxN*|7j{35_&cLfY!tkKr)fjY8Ge)c#lZx54(X!^)V&drnCots%@rSB ztDjAvlTja(K@M<`@1)e0(1l+=9`Clfhj-d4fjrCXmyz<_BnhNX)c5g*{pM0> z7J+DG2;P3&Oy6wH2$Iz!U`q+v*{IMQ^nxE>M%iM9I_U(0}$)I*VsiKB+J0rXnWpT=+9BWNOwfF`Opf8TzD6 z%M0UUvC&5CpiM7Du;Y&%2x(oGQpvxTZYs}yd_a?_t@{fC(WS=-J-^luW55XLn?*U9 zapUzny|6G=%{zNd0f4SwF8VSIJ6+~pZ#}l@8iYc#V^*1PeT{!yIjhl*)MB;2G&(MQ zuS77J58lK__DbC*)U2kIM17L_G4~bT`6afv%1(S{2-XPRWD*zH1r^MYR!et%h5<&b zp1g_ofHD9n#2%8Ze=TeJ+b2SgFHii$*dN?ZOz-7-%`fX8FF^*amz_)=D8z}KJhCgH zvV~bZi>}r;rd(ltILP(=T33NI>8I)<8Q11O?&R0l_CIo#*{c^LzrXxdZ;AEg#ETs% z-mG?|-O+)rX01!~uLNf-k=#S`Y*pQ{8|s>P6?)mHwD=4fqwuzJQ!TxuzJc{#KP%-8 z`Jrs1S8QQ*gdQg$$LJDfvbDE_C_8Rc#nJsQ-^}jfY1-18R&e_D&^DGw3TPkj6-q!@ z1_Ki(vc7FjVYivfq%5qFtSw(WW$ynene(yAHYVslyh;6-6FN!6c0m_jcAI)@C#op( z^R|83GU^AT_i)Xl4k@wYpX%GHJ<3BFk|#F`d53L+DGlQiO6 zv^M5WTA=vpM$Cr-pPe6}apddWuo3}D=Z`$1YHF|1qq#vkM>9X|YytiM(dlKg>K4qq z&NIehZT%zx{p9_BbO5l+RS9`{*kcM30#0aRw%eyD_%f4BOWxvB5}BYRY?hVEcr6=u z9ne$NsK9pu;tx4;X*)9sn?nU2LwQ8sl=|N$f%h*Zk>$mgk7V2nzUK>hh}RU%;vhzn z`7UIqc<3muW;QWmlwT$LRHRx?E`0K1AcM?!M8f?<+d?mbhF4((+kjLb4^fHkD+p5E z!{V+q|4cYJ+Z*;h@cKm*F@#f0erLjF#IX!-*}XAkB6hymey-#uSgEVkolB5mw*ekR zhNE9_X$y(3p(!667#y3xySXO0SSQ?VX!qcdC=#_k(OIVg z!rjd`@EGIQ?dIQg^x<@hO(^XYS+ZV4Z<|pE9YT&3V{KEsO(b_W41+wk>4-43R%B#6 zsKBLjd$P5#y>-c4fB`-tHfFf)|1r&GdBU(RImGL$L?Kz&JHJq%?{+sheTF6Gh7t+< zr^v&Zx%8aSCi7na%*Se=Fm$!_S=b@Sd~+3DF4UZZ)#zd?xuO>w*dOPK;8x$i=}w7zNK z`$a&_L|-cnPz0atW{00tq!SLNs1!MuZ;I`-hjKn*j{UtrQc#>R zBG~|O)7Q`y2w80>1hQ=~(EClvgR*k2PYl_~{a|+&6)ocODS}q?&8OgAzF$1F!rC%P z>(jjF>g8VF)8q{d+=KlEZIBX8Xa5vF!hBw7-Nf`~?9^k7x|k<`A@ z^6YK5GTD8l(_sH(?eVCJ0FmmBtH`w!c%-s^Iv2*W zOR~==6*p|JSePW%IG&BmrYq8sY=1hKx-NgPMZNZ!)J(buxns{J)>Mt1FhgX!*$NfH zf2O^Qac2Ih7gMuq5uC?JUAJy1!wv{Sb(6)VsCtFxsEa-Z?y%WXj@y}){s&Kp9|<9c zh#+WE1qQywZ)>C9HUe`+JYAbyEnAeucuif~%N&10$0Z6rNN`^^8YT^QE7Z6yMV-J7 zu0IJZ2Cr!FfC6N@sZ`pZ3aBy1TJPwNH|Tjv<7t)?PjWn|J&90BJwv-cauT=jS}vD()UwrXzc^Dq=}|?76#Wymqf>#cf2yQW+Vk>wv4&6mjY!iMUWMIJ8^5r^ z^-EBvYuTyXP6df}SF{Zz=pZh&zHQC?QOhMqU^o?WhC7TxhXJL%VG@f9lU#n@J9mvc zDoK4XVx2Cro_L% zzQ2)^+Qs>|BbPiux5o5XYz{Fu9(_0 z9}J`2h-g#&MqA=*4@9M>Zn`{^+?%L->)m*0w>@kL-{ZL4^P*Q=YFb2gH1tfO>PkP$ zy!s3D-&OtGgLt&6k)(`GzKLU~t*{)xHDuDlyu7%|;_$?KWnB#60>Z$~9@G!1HRs^H!@I5O`|54! zW#rT@WLa*An0BOti_ErH%HGL=4-WQe=+wRm9dYA!D!kdARPugq7vG2D3K9u^!fi2i z%81uARo}au8n4=1Ue}tOX>>job1|I_u)%?jTX(Mq|8o#~oH2y#+5p>s1W}B5EB+u% zc!&)$6|_8(xO;Wa!%(>h5||-f@f!Ygy#o1AC>22TSZAUxKz&L!fjwZA&~ak*u3ucQ z1%5U%yN+pfJ`d?0Nf|=6=(XI;tqV8g4GmdmT-Xri&Ngh>DR!<$8rSDQ&Au%Bp8`Dg zS1~7)zeA(I9U5}G2PA{{avHkm zojECG`11_}ZtTC#snT~Qjli{vsE7ndRI9~OpUN9Xq|;oL<~ z3hHztaTaYcwR+``anM~3d@ws1qqFppXlxMH+?Zma9;-esA)freeV_eoLMKXY?j?b; z-m@Y~N%q%>sA_=BOL?`I-pa41DCQ|ZkVN*Kie2f)3J)=|0+*&=fws=|%hhtdQkGrR z@5yI0uP6TNy9*#4W5nP@j+Lg$RX}}w@LVIM^Y?CrfC9Nlavjblw!Z4n*6M1>ovuSi zvVgur8ceRZ&Xv5Af9T$d<*snl1AOmn(n1L$X>~*gz>1iO`h^o(#o&FjJBfXGxjt{8 zg8B(D@1$BP1B}>xzi3yG7klZ1ZvoWylf4mx*BeahSG#xN*|RNWG~TQ3{9>OM4avK^(PWI$1Izdb1%EH zX7DWBqcD3;?ygmKRGfDTGXOH-2f%YaOWynW5da?y4fo?u6u>8>CHp2pKO zYXDby5lmnQ=kBLe{M$t#`-X=cx~j=#T^I%5kXKxlgt{xtxAwd(VP0X%id>ULo;;Z? zeAJ-*-S4F+I_xBmy2!ZB;ONv7piC^k@O>h`T9(U%XB!f;fu0#aXPF$swcaZvxqM_o z8mo)VIF5x3=aM2wkZF1ip<4%gE!J91XFrMlPElb@9y)4as5H~|Rv-{M#6J1nMDHwL zET&e%QNsk|wy3W_OP9wxFI8OZ1l;w6iQ*bfW1YUpL4tna3S0+n4y@(874H$emlz@I zM{U7L!X^Yqw0~|G0kz6|oabud5i#$^uo4#knET@ASw;tEJvrCIZE4n z%_tCQME9A;e&fNN~-$#8v|G;}5Gp~8h zYhE+YnKxD7^Z#JfY`zqOI1jZA!yt_*I}*WAEAdGNae2G45zI0LUcARIFFC{4t&(P_7g(ofqz#M-0sHj5X12||EI1_vopaSw!!8|*jb99!H-i;k2XJqEPlIkOy zx)Ob5WWPdWEG_O(H>;OI_huv;>TGp|15|(Qjr=Dd7rKT7!wjg>2R*y4hQ1&+2e#Ur@Nkrt-^Yc`NQHYIkS9cJ(j8 znzKbxxeKh{Sf|M}0N!%r4J&hk`;4}67>_d0Dv(U119~iE4o0)&uMiaqfm%V6fzeM_ zWKzrB4BH9=3?{bO0y8KVU*JIzVWwJuGJM*UXku1yTqXyCCz-2 zHmgi)-7lod`vY|0k+aW$XR4_DpNX&Lj4%v{L%quEb6-a<7+RdS7U+YIMS%9^f9=Qd zKa}X)>K&bZ*Su;;RB3t6H=BzTkLr?PKivEf4_8prfKzxJ1}+&?`W&TgZ=(0NgdvxKOcnCn$_jaOhpu!b}*zCrIewja?zJv6nJ*Q zwUXs$%SjaU`-e-SkA45#jq&7l@{f|ODoH~NLX6o{BXb)p9zGy;D`>;vT71=9cPijs^h``f z6h33!7o?z8yPlo#2uA5v6;|gvc>&0CxrdRaU?n+HU}MB_Zghms8l6b*oBT@jG5oLg z>uGslD2^SPg67k|tn)bmG0Zw*hKx6g`~E)Q37PxvE0LZS2Q%MOT@=2e_^S4EZ2@E+ z!2{p%^pc`uhr65^tO>BJo2ApmhB}X@x2}y--T|uQDUY>Ryz9S!l@Z?6#(E)M2doAe z^vJe<|MI`=^rG12T$c>FPG`h+>|W+j5a-^Np%!gxRjbKJQ|sF#t09QG&4hzHH_LTvAb>p0wGgxk`&ZpwXM-;@231$x~IX|c7uc4&R6L^Y7&Dq zq1Gvludz4lKoaxJEO( z_7%}OC{xL3%Q6yIMEBp)NJ*JGiKk^tW$muuqBa<<9M+I8M(AL1V3l8ccw;ldJk!4y zv;Vb1YP(qSFeO|0FZM0ik^1Kf5ROl-+u4#Gpus{+ihzCt#tWXAt2>+6DtnHSRw{Ri z_8b~uNIJGpmUSxS%B87%90EeIhNig>=FKF! zlT4&t>bsYwZ67S+M{D$#Mx{s9b_f#wJUQ)ydX<(1f^X?{l+lb~v81b49ZbZ-wv{#b z`&K5dDsM#j%q)oC+66y4GdwpTmX=!apF9A`LZ<|&rcF;n6fDV7Z!;u{zjM8OtEvW! zjn#A+$z_uHqSEU$i4n^sH*Kjna)uFy5r)!^xT7uC7nu7S#_n>)*DuNo(Ph1UNoJK& zyp&}NE4ZAyD*HrAaDf=0mi%E83d7p!QY*Lz2k4&voe-d~>ZWC!`A26PO&&K*s&tBW zjLe72Cfp0iOT1phA1a<5!p4*i_OOA%!+ut4 zF;ao3Rpv5oKA@jd&F+wN>_Pf7rBB{li(nEhww2&zYDQO8*G&f?ld37EfDz5rpXJ^$P7+1paQG{<)KofaqO9k;u~z zvZkds0@uQMUtTmgsp5@c_|k{Jt>E3Mj*@L-%4j}n#Ag}}iLFP3CXi~dU?&C0E-~T% zeQMoAD>dWPzIw3OV3^TE@eLP4UpMqT25WRl&$BBUKTYU{IU?yrh6Sui?{vh;aMFt9 zlzXC@8rJRVP9=VjW#9b9s>H|ddjizs28XFv7N5|{*pA>OAA&CowuWrs2Q9tGB-3tm zK{64`n=*qYgwa2yl^(pHgzE`O2(KzfTzk?|x6Vp%W9b=V1>5Je-FHzL|7=IovbsB3 zGAbLK5&p)#JxQ?;>5VG5Vyw&1F#~s=$iF2n?C$5&C<&2^Dtpj+kGVJB((V@pHGk)- zUz9KGS>{A*_!;n%lf2SK?1RTU!P5zS7ufl$XrspN8m(RmFYwmBXt=Z;t2<4vCm0%~ zu%BQ{G+59KCVZ&4zbAQKN6%LHst>3mdKhuFS~|qGHyU#DQ%uQu1v|&jLvEE;rZ6D; z-PYUeEe!Vaur^8xpE;XWc#6{OKikB-PCAtFiEuVEy9E=&)5^W*<&aq)V7d!?nH4up za#!fxO{C!TwDUeIhln)aHki!5WtLY1*0g4G$Owrkcy@8G77<>Lyc;7k*+IYHkH!wa z<93xhq)W|@+wA8BZP+Cda&9dfzce~837FS-pO|{$xK=p8@4aJIIq_16+l@P#BA&)xN334Lz8lc` zI@#Fb{A^AdmT~_t3>3EK$SezwlE{NyzdC%Ktua@C zf`Gjp8RG1MUmlFU30Z5$+VZb-_Avvm>98N}9}}b>mG)JbRJ;iFGTN&B5%yUB%FRyN zSDkLGBRBgDHAN0ZQWN{4i)>e;4l^ep<)p+wts0_HiYWB-<_#$f#fZ<*siJx;dYx<4 zpZW`PH)&2;K+~{$Q&T$8CeMMo@}(&5eBI>7>Ubf{HxclwX>QLqEu@aGQf_&djf$-; zs@rSb0hd$@nN(GobZJ#mDKC|GVRxU}&UQ>?_&FM00Q9@B?A@FmPg0=gf;^AE{gkGh zR2mqWU#xxFRyXM9oH>T)AaD zyA*8<=4SiJ|Lakv;f1@lXSqtIc=k5_vMr#@x#?#$q@xC@UAa73hXBh^tUcWJ-=2VE z8tg|eZ@Q*FB($GGCgQtd{CG}813}9LYBsC{DMjo$T6;Vdeq^RAnz%JcyYQ|Gp%~7wJp{%h zMlx}WGTX3q)e1H;)#WdZzcG9*=^~V0)=ragrc%*zK>A|w^hBBf^gLY_>6%`ApZ99U z>&V$wEaHeaw9A(5I6he;fz_EAQ?iyrjNYG?gdSU-COD1L&+`h&jc-B3>@YALwx;y6*MH`X{DytVq-5DZQ9 zz1l2vOZPz=pFl7N!hN!(L^Opbo7P zPK3xFG+%hjPLw$e_HsNR#17T748GCrZ~dFHG$j}~{!yqNX5To&vxETCVzL3@_42O>Mw`wkW%yb`RhYiBJXzAP8j6Xhp zeoMT}Y>EEq7Zt$I*8z-?VOhACnHsI%&GfwHf>U?`$~Oo1m6kvAd%b?_s59zmw&PT$ z_J_Tr9J}36j=7C<>Lo1x*?P(^cH!EM;!?$7qzrf3p zH0(*bA42MzHDU&~?t+peYs*Q!C0LI~f7~NRF$LDbUzn9e_%kh@=jtW zrrv}poq|q7>$yfBLIuH;o{ zBj4mcgdrx)V=ZdW8Gc%M>uG*pelu?ZGB@DNbs)Esu9=$rZz@35ee7rNOqIT8(>2zA z4D#wCzM1B-y89bTydkHo>^`K@h#25DJd!K)Z;);!kJNh;`~&Ynbn5=8sCE4wT*!*1 zUV>>hBLj&(2POp{F4I3SqGc9+q9zX+!M_iHtHv^m8lK#WTQt`n8=j(1<=|(2;mec6 zu2*zD?FR-FdB^I3GFZN$>{d>^gBV~g-Hx&dU0b9vH~fPQZ@3m&!Ny!68*33vFl$Wc zP-|)E?y%*!(Ybr6_es#ERl#-N)?4n{Gsw0@e3g4E{3MGeALJ*oHy%2FOgoF#e!hYM z4MZ%og+5~}SHf%C7mYI^GcMe+9gO^7!opEpV@2&z)JRXMntoHFa6HVCByu4JTvwgc zlA4eU*E!u{#ju z3K;82^)T}Me1y~y_0!z=IFr@(z=`-U2IGz{M(MBN-ByDL|C<5gmJO0*x2PKLP{QF- z@(e#1F7j$Ce!Yj0&djaMu2?0!1 z>NVO|_>#YR(emSj^)n#Bpt zCVbM7Tv-)E8&t2~!P>rh#!6T!D}cK`Bz3vG${cD^D!<|D#tz6YqU(Iuy|&p6HryeS zJ+Peg+=o5?G1tH88JR+#DawUG7S4$pwbThY+UcS>rA3xA^X8kPLM*IQn=q` z6k8ZfRinuw%wtltqW{X9F|OYl|7^0Nc|A!LiK~&@UAz)P9OWF{UAolUd9tyV(!NoJ z3j82>n|kgRriU!%f}8!2b>R9$B=5oDhVi|T^QS0f*xy`81KTty;n>%W{W=e_-4hNt z$WJN=;AbRjI`$KIy4cmF2k+yZ=WtV7C?MGPvxT?^zQRhA6s)*X)^$OC=>3h-ScG{G zGJ&hCc7rK{m{&=6eG!jypL#wYl(E-f6heBlwYUFYkw-L(62SD-chf^+qX%0Fs=#(u z)?2um&seTkjy9}@<}7<*U=oYxFaGRdPSgMZaa*yYs(?jN_zBwZKr2H*0tt{(~}Fl5^Wg5t0NOh(2>U`}AGX z^i&L(mOqGJS1hx7V|Tx%z?TdK5wXkQEci_o2A}ED`pKt z$+5B2;m3-EO?y(YFq1R!-3x_%e{lBO{17;p$>;ptv~~hz45UR@czKkMGZiJX7N2TF z64;gVPY)V3O7wd1Z&~-w{o`~3*-EcH!I|G$m81lTnNa8^Yo;;WIzIql)yYUh-l4&U zlf}d-9K_~!O)$_t*ipglRK=!c^qtZ1DH(fvJP(4<#yv*Y6wO90;=S|k0;iW9u;Coi zSQ~Uh?T3m#mdn`%^naDLi^WctIY-UevS|&e`tF!!kelBH>arEXby9PP5j67gKOGC~ zU3KA#IjcU(l@(SssTiqE5jMM+=eEu&gnLf@cQ||wxxLSC6O9n0H(t}SgIa%`NdI@n zq9Hq!<<%Yc;1v1nRD?E{?;&5(j)(?l$L0l$%qI%psL7~#S*BP|{#WNe8h3S7O72*M{2yl3i*f(} literal 0 HcmV?d00001 diff --git a/07/x264.vpy b/07/x264.vpy new file mode 100644 index 0000000..fc588e5 --- /dev/null +++ b/07/x264.vpy @@ -0,0 +1,74 @@ +import vapoursynth as vs +import kagefunc as kgf +import fvsfunc as fvf +import vsTAAmbk as vstaa +import adjust +from nnedi3_rpow2 import nnedi3_rpow2 + +core = vs.core +core.max_cache_size = 32768 + +opstart = 2568 +op_112_mappings = f''' +[{opstart+1663} {opstart+1691}] +[{opstart+1935} {opstart+1962}] +''' +op_135_mappings = f''' +[{opstart+1614} {opstart+1657}] +''' + +kiri_hsff = 8110 +kiri_henshin120_mappings = f''' +[{kiri_hsff} {kiri_hsff+15}] +[{kiri_hsff+42} {kiri_hsff+45}] +[{kiri_hsff+159} {kiri_hsff+161}] +[{kiri_hsff+205} {kiri_hsff+215}] +[{kiri_hsff+289} {kiri_hsff+291}] +[{kiri_hsff+301} {kiri_hsff+318}] +[{kiri_hsff+389} {kiri_hsff+393}] +[{kiri_hsff+456} {kiri_hsff+461}] +[{kiri_hsff+489} {kiri_hsff+498}] +{kiri_hsff+535} +[{kiri_hsff+542} {kiri_hsff+563}] +[{kiri_hsff+639} {kiri_hsff+731}] +''' + + +src = core.ffms2.Source("[HorribleSubs] Symphogear XV - 07 [1080p].mkv") +src = core.fmtc.bitdepth(src, bits=16) +logo_mask = core.imwri.Read('mask_2.png') +logo_mask = core.resize.Bilinear(logo_mask, format=src.format.id, matrix_s="709") +deblock = core.deblock.Deblock(src, quant=16) +Y, U, V = kgf.split(deblock) +Y = kgf.inverse_scale(Y, height=872, kernel="bicubic", b=1/3, c=1/3, mask_detail=True, + descale_mask_zones=f"[{opstart} {opstart+3000}]") +Y = nnedi3_rpow2(Y).resize.Spline36(1920, 1080, format=vs.GRAY16) +scaled = core.std.ShufflePlanes([Y, U, V], planes=[0], colorfamily=vs.YUV) +scaled = fvf.rfs(scaled, src, mappings="[31877 34045]") # ED is just text on black so 1080p overlay + +logo_merge = core.std.MaskedMerge(scaled, src, logo_mask) +scaled = fvf.rfs(scaled, logo_merge, mappings="[17059 17236]") + +dim1 = adjust.Tweak(scaled, sat=1.35, cont=1.35) +dim2 = adjust.Tweak(scaled, sat=1.12, cont=1.12) +dim3 = adjust.Tweak(scaled, sat=1.20, cont=1.20) +dim4 = adjust.Tweak(scaled, sat=1.50, cont=1.50) + +undim = fvf.rfs(scaled, dim1, mappings=op_135_mappings) +undim = fvf.rfs(undim, dim2, mappings=op_112_mappings+" [30445 30461] [30462 30484]") +undim = fvf.rfs(undim, dim3, mappings=kiri_henshin120_mappings) +undim = fvf.rfs(undim, dim4, mappings="[7319 7338]") + +denoisechroma = core.knlm.KNLMeansCL(undim, d=1, a=2, h=0.4, channels="UV", device_type='gpu', device_id=0) +denoiseluma = core.knlm.KNLMeansCL(undim, d=3, a=2, h=0.35, channels="Y", device_type='gpu', device_id=0) +denoise = core.std.ShufflePlanes([denoiseluma, denoisechroma], planes=[0, 1, 2], colorfamily=vs.YUV) +taa = vstaa.TAAmbk(denoise,aatype='Nnedi3') +db = taa.f3kdb.Deband(range=16, y=40, cb=32, cr=32, grainy=24, grainc=0, output_depth=16) +mask = kgf.retinex_edgemask(denoise) +final = core.std.MaskedMerge(db, taa, mask) + +final = kgf.adaptive_grain(final) +final = core.fmtc.bitdepth(final, bits=10, dmode=3) +final.set_output() + +#vspipe -y "x264.vpy" - | ffmpeg -i pipe: -c:v libx264 -tune animation -crf 16 -preset slower -aq-mode 3 -pix_fmt yuv420p10le -x264-params no-dct-decimate:no-fast-pskip -y "x264.mp4" \ No newline at end of file diff --git a/07/x265_w2x.vpy b/07/x265_w2x.vpy new file mode 100644 index 0000000..326a0b5 --- /dev/null +++ b/07/x265_w2x.vpy @@ -0,0 +1,58 @@ +import vapoursynth as vs +import kagefunc as kgf +import fvsfunc as fvf +import vsTAAmbk as vstaa +import adjust +from nnedi3_rpow2 import nnedi3_rpow2 + +core = vs.core +core.max_cache_size = 49152 + +#source +src = core.ffms2.Source("[HorribleSubs] Symphogear XV - 07 [1080p].mkv") +src = src.std.Trim(first=30604, last=30704) +src = src.std.AssumeFPS(fpsnum=24000, fpsden=1001) + +#deblock +src = core.fmtc.bitdepth(src, bits=16) +deblock = core.deblock.Deblock(src, quant=16) + +#rescale +Y, U, V = kgf.split(deblock) +Y = kgf.inverse_scale(Y, height=872, kernel="bicubic", b=1/3, c=1/3, mask_detail=True) + +#There is basically no difference between running taa and deband before or after w2x. +#taa +Y = core.fmtc.bitdepth(Y, bits=16) +taa = vstaa.TAAmbk(Y,aatype='Nnedi3') + +#deband +db = taa.f3kdb.Deband(range=16, y=32, cb=32, cr=32, grainy=24, grainc=0, random_algo_ref=2, random_algo_grain=2, output_depth=16) +mask = kgf.retinex_edgemask(taa) +maskmerge = core.std.MaskedMerge(db, taa, mask) + +#w2x +#model 3 - block size: 218/270 batch: 50, benchmark: 0.3fps +#model 5 - block size: 38 (rec), batch: 1440, benchmark: 0.0195fps +#model 6 - block size: 8, batch: 5. takes minutes to execute per frame. +yupscalewx = core.fmtc.bitdepth(maskmerge, bits=32) +yupscalewx = core.caffe.Waifu2x(yupscalewx, noise=0, scale=4, block_w=218, block_h=218, model=3, cudnn=True, processor=0, tta=False, batch=50) +yupscalewx = core.fmtc.bitdepth(yupscalewx, bits=16, dmode=3) +yupscalewx = core.resize.Spline36(yupscalewx,width=3840,height=2160) + +uupscalewx = core.fmtc.bitdepth(U, bits=32) +uupscalewx = core.caffe.Waifu2x(uupscalewx, noise=0, scale=4, block_w=270, block_h=270, model=3, cudnn=True, processor=0, tta=False, batch=50) +uupscalewx = core.fmtc.bitdepth(uupscalewx, bits=16, dmode=3) + +vupscalewx = core.fmtc.bitdepth(V, bits=32) +vupscalewx = core.caffe.Waifu2x(vupscalewx, noise=0, scale=4, block_w=270, block_h=270, model=3, cudnn=True, processor=0, tta=False, batch=50) +vupscalewx = core.fmtc.bitdepth(vupscalewx, bits=16, dmode=3) + +scaled = core.std.ShufflePlanes([yupscalewx, uupscalewx, vupscalewx], planes=[0], colorfamily=vs.YUV) + +final = kgf.adaptive_grain(scaled) +final = core.fmtc.bitdepth(final, bits=12) + +final.set_output() +#vspipe -y "x265_w2x.vpy" - | ffmpeg -i pipe: -c:v libx265 -tune animation -crf 17 -preset slower -x265-params aq-mode=3 -pix_fmt yuv444p12le -y "x265_w2x.mp4" +#vspipe -y "x265_w2x.vpy" --y4m - | x265 --demuxer y4m -o Sympho5_07p.264 - --preset slower --tune animation --crf 17 --aq-mode 3 --output-depth 12 --output-csp i444 \ No newline at end of file