secs1d-0.0.9/0000755000076500000240000000000011735164216011673 5ustar carlostaffsecs1d-0.0.9/bak/0000755000076500000240000000000011735164216012430 5ustar carlostaffsecs1d-0.0.9/bak/DDG/0000755000076500000240000000000011735164216013026 5ustar carlostaffsecs1d-0.0.9/bak/DDG/DDGelectron_driftdiffusion.m0000644000076500000240000000461611733717716020453 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{n}} = DDGelectron_driftdiffusion(@var{psi},@var{x},@var{ng},@var{p},@var{ni},@var{tn},@var{tp},@var{un}) ## ## Solve the continuity equation for electrons ## ## Input: ## @itemize @minus ## @item psi: electric potential ## @item x: integration domain ## @item ng: initial guess and BCs for electron density ## @item p: hole density (for SRH recombination) ## @end itemize ## ## Output: ## @itemize @minus ## @item n: updated electron density ## @end itemize ## ## @end deftypefn function n = DDGelectron_driftdiffusion(psi,x,ng,p,ni,tn,tp,un) nodes = x; Nnodes =length(nodes); elements = [[1:Nnodes-1]' [2:Nnodes]']; Nelements=size(elements,1); Bcnodes = [1;Nnodes]; nl = ng(1); nr = ng(Nnodes); h=nodes(elements(:,2))-nodes(elements(:,1)); c=1./h; Bneg=Ubernoulli(-(psi(2:Nnodes)-psi(1:Nnodes-1)),1); Bpos=Ubernoulli( (psi(2:Nnodes)-psi(1:Nnodes-1)),1); d0 = [c(1).*Bneg(1); c(1:end-1).*Bpos(1:end-1)+c(2:end).*Bneg(2:end); c(end)*Bpos(end)]; d1 = [1000;-c.* Bpos]; dm1 = [-c.* Bneg;1000]; A = spdiags([dm1 d0 d1],-1:1,Nnodes,Nnodes); b = zeros(Nnodes,1);%- A * ng; ## SRH Recombination term SRHD = tp * (ng + ni) + tn * (p + ni); SRHL = p ./ SRHD; SRHR = ni.^2 ./ SRHD; ASRH = Ucompmass (nodes,Nnodes,elements,Nelements,SRHL,ones(Nelements,1)); bSRH = Ucompconst (nodes,Nnodes,elements,Nelements,SRHR,ones(Nelements,1)); A = A + ASRH; b = b + bSRH; ## Boundary conditions b(Bcnodes) = []; b(1) = - A(2,1) * nl; b(end) = - A(end-1,end) * nr; A(Bcnodes,:) = []; A(:,Bcnodes) = []; n = [nl; A\b ;nr]; endfunction secs1d-0.0.9/bak/DDG/DDGgummelmap.m0000644000076500000240000001167711733717716015532 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{odata},@var{it},@var{res}} = DDGgummelmap(@var{x},@var{idata},@var{toll},@var{maxit},@var{ptoll},@var{pmaxit},@var{verbose}) ## ## Solve the scaled stationary bipolar DD equation system using Gummel ## algorithm ## ## Input: ## @itemize @minus ## @item x: spatial grid ## @item idata.D: doping profile ## @item idata.p: initial guess for hole concentration ## @item idata.n: initial guess for electron concentration ## @item idata.V: initial guess for electrostatic potential ## @item idata.Fn: initial guess for electron Fermi potential ## @item idata.Fp: initial guess for hole Fermi potential ## @item idata.l2: scaled electric permittivity (diffusion coefficient in Poisson equation) ## @item idata.un: scaled electron mobility ## @item idata.up: scaled electron mobility ## @item idata.nis: scaled intrinsic carrier density ## @item idata.tn: scaled electron lifetime ## @item idata.tp: scaled hole lifetime ## @item toll: tolerance for Gummel iterarion convergence test ## @item maxit: maximum number of Gummel iterarions ## @item ptoll: tolerance for Newton iterarion convergence test for non linear Poisson ## @item pmaxit: maximum number of Newton iterarions ## @item verbose: verbosity level (0,1,2) ## @end itemize ## ## Output: ## @itemize @minus ## @item odata.n: electron concentration ## @item odata.p: hole concentration ## @item odata.V: electrostatic potential ## @item odata.Fn: electron Fermi potential ## @item odata.Fp: hole Fermi potential ## @item it: number of Gummel iterations performed ## @item res: total potential increment at each step ## @end itemize ## ## @end deftypefn function [odata,it,res] = DDGgummelmap (x,idata,toll,maxit,ptoll,pmaxit,verbose) odata = idata; Nnodes=rows(x); D = idata.D; vout(:,1) = idata.V; hole_density (:,1) = idata.p; electron_density (:,1)= idata.n; fermin (:,1)=idata.Fn; fermip (:,1)=idata.Fp; for i=1:1:maxit if (verbose>1) fprintf(1,"*****************************************************************\n"); fprintf(1,"**** start of gummel iteration number: %d\n",i); fprintf(1,"*****************************************************************\n"); endif if (verbose>1) fprintf(1,"solving non linear poisson equation\n\n"); endif [vout(:,2),electron_density(:,2),hole_density(:,2)] =\ DDGnlpoisson (x,[1:Nnodes],vout(:,1),electron_density(:,1),hole_density(:,1),fermin(:,1),fermip(:,1),D,idata.l2,ptoll,pmaxit,verbose); if (verbose>1) fprintf (1,"\n\nupdating electron qfl\n\n"); endif electron_density(:,3)=\ DDGelectron_driftdiffusion(vout(:,2), x, electron_density(:,2),hole_density(:,2),idata.nis,idata.tn,idata.tp,idata.un); fermin(:,2) = DDGn2phin(vout(:,2),electron_density(:,3)); fermin(1,2) = idata.Fn(1); fermin(end:2) = idata.Fn(end); if (verbose>1) fprintf(1,"updating hole qfl\n\n"); endif hole_density(:,3) = \ DDGhole_driftdiffusion(vout(:,2), x, hole_density(:,2),electron_density(:,2),idata.nis,idata.tn,idata.tp,idata.up); fermip(:,2) = DDGp2phip(vout(:,2),hole_density(:,3)); fermip(1,2) = idata.Fp(1); fermip(end,2) = idata.Fp(end); if (verbose>1) fprintf(1,"checking for convergence\n\n"); endif nrfn= norm(fermin(:,2)-fermin(:,1),inf); nrfp= norm (fermip(:,2)-fermip(:,1),inf); nrv = norm (vout(:,2)-vout(:,1),inf); nrm(i) = max([nrfn;nrfp;nrv]); if (verbose>1) fprintf (1," max(|phin_(k+1)-phinn_(k)| , |phip_(k+1)-phip_(k)| , |v_(k+1)- v_(k)| )= %d\n",nrm(i)); endif if (nrm(i)0) fprintf(1,"\n\nInitial guess computed by DD: # of Gummel iterations = %d\n\n",it); endif odata.n = electron_density(:,end); odata.p = hole_density(:,end); odata.V = vout(:,end); odata.Fn = fermin(:,end); odata.Fp = fermip(:,end); endfunctionsecs1d-0.0.9/bak/DDG/DDGhole_driftdiffusion.m0000644000076500000240000000457611733717716017574 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{p}} = DDGhole_driftdiffusio(@var{psi},@var{x},@var{pg},@var{n},@var{ni},@var{tn},@var{tp},@var{up}) ## ## Solve the continuity equation for holes ## ## Input: ## @itemize @minus ## @item psi: electric potential ## @item x: spatial grid ## @item ng: initial guess and BCs for electron density ## @item n: electron density (for SRH recombination) ## @end itemize ## ## Output: ## @itemize @minus ## @item p: updated hole density ## @end itemize ## ## @end deftypefn function p = DDGhole_driftdiffusion(psi,x,pg,n,ni,tn,tp,up) nodes = x; Nnodes =length(nodes); elements = [[1:Nnodes-1]' [2:Nnodes]']; Nelements=size(elements,1); Bcnodes = [1;Nnodes]; pl = pg(1); pr = pg(Nnodes); h=nodes(elements(:,2))-nodes(elements(:,1)); c=up./h; Bneg=Ubernoulli(-(psi(2:Nnodes)-psi(1:Nnodes-1)),1); Bpos=Ubernoulli( (psi(2:Nnodes)-psi(1:Nnodes-1)),1); d0 = [c(1).*Bpos(1); c(1:end-1).*Bneg(1:end-1)+c(2:end).*Bpos(2:end); c(end)*Bneg(end)]; d1 = [1000;-c.* Bneg]; dm1 = [-c.* Bpos;1000]; A = spdiags([dm1 d0 d1],-1:1,Nnodes,Nnodes); b = zeros(Nnodes,1);## - A * pg; ## SRH Recombination term SRHD = tp * (n + ni) + tn * (pg + ni); SRHL = n ./ SRHD; SRHR = ni.^2 ./ SRHD; ASRH = Ucompmass (nodes,Nnodes,elements,Nelements,SRHL,ones(Nelements,1)); bSRH = Ucompconst (nodes,Nnodes,elements,Nelements,SRHR,ones(Nelements,1)); A = A + ASRH; b = b + bSRH; ## Boundary conditions b(Bcnodes) = []; b(1) = - A(2,1) * pl; b(end) = - A(end-1,end) * pr; A(Bcnodes,:) = []; A(:,Bcnodes) = []; p = [pl; A\b ;pr]; endfunction secs1d-0.0.9/bak/DDG/DDGn2phin.m0000644000076500000240000000220011733717716014722 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{phin}} = DDGn2phin(@var{V},@var{n}) ## ## Compute the qfl for electrons using Maxwell-Boltzmann statistics. ## ## @end deftypefn function phin = DDGn2phin (V,n); ## Load constants nmin = 0; n = n .* (n>nmin) + nmin * (n<=nmin); phin = V - log(n) ; endfunction secs1d-0.0.9/bak/DDG/DDGnlpoisson.m0000644000076500000240000001412711733717716015563 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{V},@var{n},@var{p},@var{res},@var{niter}} = @ ## DDGnlpoisson(@var{x},@var{sinodes},@var{Vin},@var{nin},@var{pin},@var{Fnin},@var{Fpin},@var{D},@var{l2},@var{toll},@var{maxit},@var{verbose}) ## ## Solve the non linear Poisson equation ## ## - lamda^2 *V'' + (n(V,Fn) - p(V,Fp) -D) = 0 ## ## Input: ## @itemize @minus ## @item x: spatial grid ## @item sinodes: index of the nodes of the grid which are in the ## semiconductor subdomain (remaining nodes are assumed to be in the oxide subdomain) ## @item Vin: initial guess for the electrostatic potential ## @item nin: initial guess for electron concentration ## @item pin: initial guess for hole concentration ## @item Fnin: initial guess for electron Fermi potential ## @item Fpin: initial guess for hole Fermi potential ## @item D: doping profile ## @item l2: scaled electric permittivity (diffusion coefficient) ## @item toll: tolerance for convergence test ## @item maxit: maximum number of Newton iterations ## @item verbose: verbosity level (0,1,2) ## @end itemize ## ## Output: ## @itemize @minus ## @item V: electrostatic potential ## @item n: electron concentration ## @item p: hole concentration ## @item res: residual norm at each step ## @item niter: number of Newton iterations ## @end itemize ## ## @end deftypefn function [V,n,p,res,niter] = DDGnlpoisson (x,sinodes,Vin,nin,pin,Fnin,Fpin,D,l2,toll,maxit,verbose) ## Set some useful constants dampit = 10; dampcoeff = 2; ## Convert grid info to FEM form Ndiricheletnodes = 2; nodes = x; sielements = sinodes(1:end-1); Nnodes = length(nodes); totdofs = Nnodes - Ndiricheletnodes ; elements = [[1:Nnodes-1]' , [2:Nnodes]']; Nelements = size(elements,1); BCnodes = [1;Nnodes]; ## Initialization V = Vin; Fn = Fnin; Fp = Fpin; n = DDGphin2n(V(sinodes),Fn); p = DDGphip2p(V(sinodes),Fp); if (sinodes(1)==1) n(1)=nin(1); p(1)=pin(1); endif if (sinodes(end)==Nnodes) n(end)=nin(end); p(end)=pin(end); endif ## Compute LHS matrices L = Ucomplap (nodes,Nnodes,elements,Nelements,l2.*ones(Nelements,1)); ## Compute Mv = ( n + p) Mv = zeros(Nnodes,1); Mv(sinodes) = (n + p); Cv = zeros(Nelements,1); Cv(sielements)= 1; M = Ucompmass (nodes,Nnodes,elements,Nelements,Mv,Cv); ## Compute RHS vector Tv0 = zeros(Nnodes,1); Tv0(sinodes) = (n - p - D); Cv = zeros(Nelements,1); Cv(sielements)= 1; T0 = Ucompconst (nodes,Nnodes,elements,Nelements,Tv0,Cv); ## Build LHS matrix and RHS of the linear system for 1st Newton step A = L + M; R = L * V + T0; ## Apply boundary conditions A(BCnodes,:) = []; A(:,BCnodes) = []; R(BCnodes) = []; normr(1) = norm(R,inf); relresnorm = 1; reldVnorm = 1; normrnew = normr(1); ## Start of the newton cycle for newtit=1:maxit if verbose fprintf(1,"\n newton iteration: %d, reldVnorm = %e",newtit,reldVnorm); endif dV =[0;(A)\(-R);0]; ## Start of the damping procedure tk = 1; for dit = 1:dampit if verbose fprintf(1,"\n damping iteration: %d, residual norm = %e",dit,normrnew); endif Vnew = V + tk * dV; n = DDGphin2n(Vnew(sinodes),Fn); p = DDGphip2p(Vnew(sinodes),Fp); if (sinodes(1)==1) n(1)=nin(1); p(1)=pin(1); endif if (sinodes(end)==Nnodes) n(end)=nin(end); p(end)=pin(end); endif ## Compute LHS matrices Mv = zeros(Nnodes,1); Mv(sinodes) = (n + p); Cv = zeros(Nelements,1); Cv(sielements)= 1; M = Ucompmass (nodes,Nnodes,elements,Nelements,Mv,Cv); ## Compute RHS vector (-residual) Tv0 = zeros(Nnodes,1); Tv0(sinodes) = (n - p - D); Cv = zeros(Nelements,1); Cv(sielements)= 1; T0 = Ucompconst (nodes,Nnodes,elements,Nelements,Tv0,Cv); ## Build LHS matrix and RHS of the linear system for 1st Newton step Anew = L + M; Rnew = L * Vnew + T0; ## Apply boundary conditions Anew(BCnodes,:) = []; Anew(:,BCnodes) = []; Rnew(BCnodes) = []; if ((dit>1)&(norm(Rnew,inf)>=norm(R,inf))) if verbose fprintf(1,"\nexiting damping cycle \n"); endif break else A = Anew; R = Rnew; endif ## Compute | R_{k+1} | for the convergence test normrnew= norm(R,inf); ## Check if more damping is needed if (normrnew > normr(newtit)) tk = tk/dampcoeff; else if verbose fprintf(1,"\nexiting damping cycle because residual norm = %e \n",normrnew); endif break endif endfor V = Vnew; normr(newtit+1) = normrnew; dVnorm = norm(tk*dV,inf); ## Check if convergence has been reached reldVnorm = dVnorm / norm(V,inf); if (reldVnorm <= toll) if(verbose) fprintf(1,"\nexiting newton cycle because reldVnorm= %e \n",reldVnorm); endif break endif endfor res = normr; niter = newtit; endfunctionsecs1d-0.0.9/bak/DDG/DDGp2phip.m0000644000076500000240000000216411733717716014737 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{phip}} = DDGn2phin(@var{V},@var{p}) ## ## Compute the qfl for holes using Maxwell-Boltzmann statistics ## ## @end deftypefn function phip = DDGp2phip (V,p); ## Load constants pmin = 0; p = p .* (p>pmin) + pmin * (p<=pmin); phip = V + log(p) ; endfunction secs1d-0.0.9/bak/DDG/DDGphin2n.m0000644000076500000240000000215311733717716014731 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{n}} = DDGphin2n(@var{V},@var{phin}) ## ## Compute the electron density using Maxwell-Boltzmann statistics ## ## @end deftypefn function n = DDGphin2n (V,phin); nmin = 0; n = exp ((V-phin)); n = n .* (n>nmin) + nmin * (n<=nmin); endfunction secs1d-0.0.9/bak/DDG/DDGphip2p.m0000644000076500000240000000216111733717716014734 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{p}} = DDGphip2p(@var{V},@var{phip}) ## ## Compute the hole density using Maxwell-Boltzmann statistic ## ## @end deftypefn function p = DDGphip2p (V,phip); ## Load constants pmin = 0; p = exp ((phip-V)); p = p .* (p>pmin) + pmin * (p<=pmin); endfunction secs1d-0.0.9/bak/DDG/DDGplotresults.m0000644000076500000240000000244411733717716016136 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## DDGplotresults(@var{x},@var{n},@var{p},@var{V},@var{Fn},@var{Fp}) ## ## Plot densities and potentials ## ## @end deftypefn function DDGplotresults(x,n,p,V,Fn,Fp); subplot(2,3,1) title('Electron Density') semilogy(x,n) subplot(2,3,2) title('Hole Density') semilogy(x,p) subplot(2,3,4) title('Electron QFL') plot(x,Fn) subplot(2,3,5) title('Hole QFL') plot(x,Fp) subplot(2,3,6) title('Electric Potential') plot(x,V) pause(.1) endfunction secs1d-0.0.9/bak/DDN/0000755000076500000240000000000011735164216013035 5ustar carlostaffsecs1d-0.0.9/bak/DDN/DDNnewtonmap.m0000644000076500000240000001425111733717716015563 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{odata},@var{it},@var{res}} = DDNnewtonmap(@var{x},@var{idata},@var{toll},@var{maxit},@var{verbose}) ## ## Solve the scaled stationary bipolar DD equation system using a ## coupled Newton algorithm ## ## Input: ## @itemize @minus ## @item x: spatial grid ## @item idata.D: doping profile ## @item idata.p: initial guess for hole concentration ## @item idata.n: initial guess for electron concentration ## @item idata.V: initial guess for electrostatic potential ## @item idata.Fn: initial guess for electron Fermi potential ## @item idata.Fp: initial guess for hole Fermi potential ## @item idata.l2: scaled electric permittivity (diffusion coefficient in Poisson equation) ## @item idata.un: scaled electron mobility ## @item idata.up: scaled electron mobility ## @item idata.nis: scaled intrinsic carrier density ## @item idata.tn: scaled electron lifetime ## @item idata.tp: scaled hole lifetime ## @item toll: tolerance for Newton iterarion convergence test ## @item maxit: maximum number of Newton iterarions ## @item verbose: verbosity level: 0,1,2 ## @end itemize ## ## Output: ## @itemize @minus ## @item odata.n: electron concentration ## @item odata.p: hole concentration ## @item odata.V: electrostatic potential ## @item odata.Fn: electron Fermi potential ## @item odata.Fp: hole Fermi potential ## @item it: number of Newton iterations performed ## @item res: residual at each step ## @end itemize ## ## @end deftypefn function [odata,it,res] = DDNnewtonmap (x,idata,toll,maxit,verbose) odata = idata; Nnodes = rows(x); Nelements=Nnodes-1; elements=[1:Nnodes-1;2:Nnodes]'; BCnodesp = [1,Nnodes]; BCnodes = [BCnodesp,BCnodesp+Nnodes,BCnodesp+2*Nnodes]; totaldofs= Nnodes-2; dampcoef = 2; maxdamp = 2; V = idata.V; n = idata.n; p = idata.p; D = idata.D; ## Create the complete unknown vector u = [V; n; p]; ## Build fem matrices L = Ucomplap (x,Nnodes,elements,Nelements,idata.l2*ones(Nelements,1)); M = Ucompmass (x,Nnodes,elements,Nelements,ones(Nnodes,1),ones(Nelements,1)); DDn = Uscharfettergummel(x,Nnodes,elements,Nelements,idata.un,1,V); DDp = Uscharfettergummel(x,Nnodes,elements,Nelements,idata.up,1,-V); ## Initialise RHS r1 = L * V + M * (n - p - D); r2 = DDn * n; r3 = DDp * p; RHS = - [ r1; r2; r3 ]; ## Apply BCs RHS(BCnodes,:)= []; nrm = norm(RHS,inf); res(1) = nrm; ## Begin Newton Cycle for count = 1: maxit if verbose fprintf (1,"\n\n\nNewton Iteration Number:%d\n",count); endif Ln = Ucomplap (x,Nnodes,elements,Nelements,Umediaarmonica(idata.un*n)); Lp = Ucomplap (x,Nnodes,elements,Nelements,Umediaarmonica(idata.up*p)); Z = sparse(zeros(Nnodes)); DDn = Uscharfettergummel(x,Nnodes,elements,Nelements,idata.un,1,V); DDp = Uscharfettergummel(x,Nnodes,elements,Nelements,idata.up,1,-V); A = L; B = M; C = -M; DDD = -Ln; E = DDn; F = Z; G = Lp; H = Z; I = DDp; ## Build LHS LHS =sparse([ [A B C]; [DDD E F]; [G H I]; ]); ## Apply BCs LHS(BCnodes,:)=[]; LHS(:,BCnodes)=[]; ## Solve the linearised system dutmp = (LHS) \ (RHS); dv = dutmp(1:totaldofs); dn = dutmp(totaldofs+1:2*totaldofs); dp = dutmp(2*totaldofs+1:3*totaldofs); du = [0;dv;0;0;dn;0;0;dp;0]; ## Check Convergence nrm_u = norm(u,inf); nrm_du = norm(du,inf); ratio = nrm_du/nrm_u; if verbose fprintf (1,"ratio = %e\n", ratio); endif if (ratio <= toll) V = u(1:Nnodes); n = u(Nnodes+1:2*Nnodes); p = u(2*Nnodes+1:end); res(count) = nrm; break; endif ## Begin damping cycle tj = 1; for cc = 1:maxdamp if verbose fprintf (1,"\ndamping iteration number:%d\n",cc); fprintf (1,"reference residual norm:%e\n",nrm); endif ## Update the unknown vector utmp = u + tj*du; Vnew = utmp(1:Nnodes); nnew = utmp(Nnodes+1:2*Nnodes); pnew = utmp(2*Nnodes+1:end); ## Try a new RHS DDn = Uscharfettergummel(x,Nnodes,elements,Nelements,idata.un,1,Vnew); DDp = Uscharfettergummel(x,Nnodes,elements,Nelements,idata.up,1,-Vnew); r1 = L * V + M * (nnew - pnew - D); r2 = DDn * nnew; r3 = DDp * pnew; RHS =- [r1;r2;r3]; ## Apply BCs RHS(BCnodes,:) = []; nrmtmp=norm(RHS,inf); ## Update the damping coefficient if verbose fprintf(1,"residual norm:%e\n\n", nrmtmp); endif if (nrmtmp>nrm) tj = tj/(dampcoef*cc); if verbose fprintf (1,"\ndamping coefficients = %e",tj); endif else break; endif endfor nrm_du = norm(tj*du,inf); u = utmp; if (count>1) ratio = nrm_du/nrm_du_old; if (ratio<.005) V = u(1:Nnodes); n = u(Nnodes+1:2*Nnodes); p = u(2*Nnodes+1:end); res(count) = nrm; break; endif endif nrm = nrmtmp; res(count) = nrm; ## Convert result vector into distinct output vectors V = u(1:Nnodes); n = u(Nnodes+1:2*Nnodes); p = u(2*Nnodes+1:end); nrm_du_old = nrm_du; endfor odata.V = V; odata.n = n; odata.p = p; Fn = V - log(n); Fp = V + log(p); it = count; endfunction secs1d-0.0.9/bak/PKG_ADD0000644000076500000240000000110111733717716013444 0ustar carlostaffdirlist = {"Utilities","DDG","DDN"}; dir = fileparts (mfilename ("fullpath")); if (! exist (fullfile (dir, "inst"), "dir")) ## Run this if the package is installed for ii=1:length(dirlist) addpath ( [ canonicalize_file_name([dir "/.."]) "/" dirlist{ii}]) endfor else ## Run this if we are testing the package without installation for ii=1:length(dirlist) addpath ([ canonicalize_file_name(dir) "/inst/" dirlist{ii}]) endfor endif warning ("off", "Octave:fopen-file-in-path"); warning ("off", "Octave:load-file-in-path"); clear dirlist dir secs1d-0.0.9/bak/secs1d_demo_pndiode.m0000644000076500000240000000602211733717716016505 0ustar carlostaff## Copyright (C) 2009 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco function secs1d_demo_pndiode () constants len = 1e-6; Nnodes = 1000; vmin = -2; vmax = 2; vstep=.4; istep = 1; va = vmin x = linspace(0,len,Nnodes)'; xm = mean(x); Nd=1e25; Na=1e25; D = Nd * (x>xm) - Na * (x<=xm); nn = (Nd + sqrt(Nd^2+4*ni^2))/2; pp = (Na + sqrt(Na^2+4*ni^2))/2; xn = xm+1e-7; xp = xm-1e-7; %% Scaling coefficients xs = len; ns = norm(D,inf); idata.D = D/ns; Vs = Vth; us = un; Js = xs / (us * Vs * q * ns); while va <= vmax vvect(istep) = va; n(:,istep) = nn * (x>=xn) + (ni^2)/pp * (xxp) + pp * (x<=xp); Fn = va*(x<=xm); Fp = Fn; V(:,istep) = (Fn - Vth * log(p(:,istep)/ni)); %% Scaling xin = x/xs; idata.n = n(:,istep)/ns; idata.p = p(:,istep)/ns; idata.V = V(:,istep)/Vs; idata.Fn = (Fn - Vs * log(ni/ns))/Vs; idata.Fp = (Fp + Vs * log(ni/ns))/Vs; lambda2(istep) = idata.l2 = (Vs*esi)/(q*ns*xs^2); idata.nis = ni/ns; idata.un = un/us; idata.up = up/us; %% Solution of DD system %% Algorithm parameters toll = 1e-3; maxit = 20; ptoll = 1e-10; pmaxit = 100; verbose = 0; sinodes = [1:length(x)]; idata.tn = inf; idata.tp = inf; [odata,it,res] = DDGgummelmap (xin,idata,toll,maxit,ptoll,pmaxit,verbose); [odata,it,res] = DDNnewtonmap (xin,odata,toll, maxit,verbose); n(:,istep) = odata.n; p(:,istep) = odata.p; V(:,istep) = odata.V; DV(istep) = odata.V(end) - odata.V(1); Emax(istep) = max(abs(diff(odata.V)./diff(xin))) Bp = Ubernoulli(diff (V(:, istep)),1); Bm = Ubernoulli(diff (V(:, istep)),0); Jn(:,istep) = -odata.un * (n(2:end, istep).*Bp-n(1:end-1, istep).*Bm)./diff (xin); Jp(:,istep) = odata.up * (p(2:end, istep).*Bm-p(1:end-1, istep).*Bp)./diff (xin); va = va+vstep istep = istep+1; endwhile %% Descaling n = n*ns; p = p*ns; V = V*Vs; J = abs (Jp+Jn)*Js; close all figure(); plot(x, n.') xlabel("x") ylabel("n") figure(); plot(vvect, J) xlabel("V") ylabel("J") figure(); plot(vvect, Emax) xlabel("V") ylabel("max(abs(\\phi^\'))") endfunctionsecs1d-0.0.9/bak/src/0000755000076500000240000000000011735164216013217 5ustar carlostaffsecs1d-0.0.9/bak/src/Makefile0000644000076500000240000000023411733717716014665 0ustar carlostaffPROGS = $(patsubst %.cc,%.oct,$(wildcard *.cc)) all: $(PROGS) $(PROGS): Makefile %.oct: %.cc mkoctfile $< clean: ; -$(RM) *.o core octave-core *.oct *~secs1d-0.0.9/bak/src/Ubern.cc0000644000076500000240000000516611733717716014620 0ustar carlostaff/* % This file is part of % % SECS2D - A 2-D Drift--Diffusion Semiconductor Device Simulator % ------------------------------------------------------------------- % Copyright (C) 2004-2006 Carlo de Falco % % % % SECS2D is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation; either version 2 of the License, or % (at your option) any later version. % % SECS2D is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License % along with SECS2D; If not, see . */ #include #include //////////////////////////////////////////// // Ubern function // this function, though it does make use // of liboctave, is not an octve command // the wrapper to make the command is defined // below //////////////////////////////////////////// int Ubern(const double x, double &bp, double &bn ) { double xlim=1e-2; int ii; double fp,fn,df,segno; double ax; ax=fabs(x); if (ax == 0.0) { bp=1.; bn=1.; goto theend ; } if (ax > 80.0){ if (x >0.0){ bp=0.0; bn=x; goto theend ; }else{ bp=-x; bn=0.0; goto theend ; } } if (ax > xlim){ bp=x/(exp(x)-1.0); bn=x+bp; goto theend ; } ii=1; fp=1.0;fn=1.0;df=1.0;segno=1.0; while (fabs(df) > 2.2204e-16){ ii++; segno= -segno; df=df*x/ii; fp=fp+df; fn=fn+segno*df; bp=1/fp; bn=1/fn; } theend: return 0; } //////////////////////////////////// // WRAPPER //////////////////////////////////// // DEFUN_DLD and the macros that it // depends on are defined in the // files defun-dld.h, defun.h, // and defun-int.h. // // Note that the third parameter // (nargout) is not used, so it is // omitted from the list of arguments // to DEFUN_DLD in order to avoid // the warning from gcc about an // unused function parameter. //////////////////////////////////// DEFUN_DLD (Ubern, args, , " [bp,bn]=Ubern(x)\n \ computes Bernoulli function\n \ B(x)=x/(exp(x)-1) corresponding to \n \ to input values Z and -Z, recalling that\n \ B(-Z)=Z+B(Z)\n") { // The list of values to return. See the declaration in oct-obj.h octave_value_list retval; NDArray X ( args(0).array_value() ); octave_idx_type lx = X.length(); NDArray BP(X),BN(X); for (octave_idx_type jj=0; jj. ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Script File} constants ## ## Compute global constants needed for Drift-Diffusion simulation ## ## @end deftypefn Kb = 1.3806503e-23; q = 1.602176462e-19; e0 = 8.854187817e-12; esir = 11.7; esio2r = 3.9; esi = e0 * esir; esio2 = e0 * esio2r; hplanck = 6.626e-34; hbar = ( hplanck/ (2*pi)); mn0 = 9.11e-31; mn = 0.26*mn0; mh = 0.18*mn0; qsue = q / esi; T0 = 300 ; Vth = Kb * T0 / q; un = 1417e-4; up = 480e-4; tp = 1e-7; tn = 1e-7; mnl = 0.98*mn0; mnt = 0.19*mn0; mndos = (mnl*mnt*mnt)^(1/3); mhh = 0.49*mn0; mlh = 0.16*mn0; mhdos = (mhh^(3/2)+mlh^(3/2))^(2/3); rn = .1; aleph = hbar^2/(4*rn*q*mn); alephn = aleph; rp = .1; alephp = hbar^2/(4*rp*q*mh); Nc = (6/4)*(2*mndos*Kb*T0/(hbar^2*pi))^(3/2); Nv = (1/4)*(2*mhdos*Kb*T0/(hbar^2*pi))^(3/2); Eg0 = 1.16964*q; alfaEg = 4.73e-4*q; betaEg = 6.36e2; Egap = Eg0-alfaEg*((T0^2)/(T0+betaEg)); ni = sqrt(Nc*Nv)*exp(-Egap/(2*(Kb * T0))); Phims = - Egap /(2*q); secs1d-0.0.9/bak/Utilities/Ubern.m0000644000076500000240000000355711733717716015655 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File} {@var{bp},@var{bn}} = Ubern(@var{x}) ## ## Compute Bernoulli function for scalar x: ## ## @itemize @minus ## @item @var{bp} = @var{x}/(exp(@var{x})-1) ## @item @var{bn} = @var{x} + B( @var{x} ) ## @end itemize ## ## @end deftypefn function [bp,bn] = Ubern(x) xlim=1e-2; ax=abs(x); ## Compute Bernoulli function for x = 0 if (ax == 0) bp=1.; bn=1.; return endif ## Compute Bernoulli function for asymptotic values if (ax > 80) if (x > 0) bp=0.; bn=x; return else bp=-x; bn=0.; return endif endif ## Compute Bernoulli function for intermediate values if (ax > xlim) bp=x/(exp(x)-1); bn=x+bp; return else ## Compute Bernoulli function for small x ## via Taylor expansion ii=1; fp=1.; fn=1.; df=1.; segno=1.; while (abs(df) > eps), ii=ii+1; segno=-segno; df=df*x/ii; fp=fp+df; fn=fn+segno*df; bp=1./fp; bn=1./fn; endwhile return endif endfunctionsecs1d-0.0.9/bak/Utilities/Ubernoulli.m0000644000076500000240000000255511733717716016717 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File} {@var{b}} = Ubernoulli(@var{x},@var{sg}) ## ## Compute Bernoulli function for vector x: ## ## @itemize @minus ## @item @var{b} = @var{x}/(exp(@var{x})-1) if @var{sg} == 1 ## @item @var{b} = @var{x} + B( @var{x} ) if @var{sg} == 0 ## @end itemize ## ## @end deftypefn function b=Ubernoulli(x,sg) for count=1:length(x) [bp,bn] = Ubern(x(count)); bernp(count,1)=bp; bernn(count,1)=bn; endfor if (sg ==1) b=bernp; elseif (sg ==0) b=bernn; endif endfunctionsecs1d-0.0.9/bak/Utilities/Ucompconst.m0000644000076500000240000000304011733717716016717 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{R}} = Ucompconst(@var{nodes},@var{Nnodes},@var{elements},@var{Nelements},@var{D},@var{C}) ## ## Compute P1 finite element rhs: ## ## @itemize @minus ## @item @var{nodes}: list of mesh nodes ## @item @var{Nnodes}: number of mesh nodes ## @item @var{elements}: list of mesh elements ## @item @var{Nelements}: number of mesh elements ## @item @var{D}: piecewise linear reaction coefficient ## @item @var{C}: piecewise constant reaction coefficient ## @end itemize ## ## @end deftypefn function R = Ucompconst (nodes,Nnodes,elements,Nelements,D,C) h = (nodes(2:end)-nodes(1:end-1)).*C; R = D.*[h(1)/2; (h(1:end-1)+h(2:end))/2; h(end)/2]; endfunctionsecs1d-0.0.9/bak/Utilities/Ucomplap.m0000644000076500000240000000332711733717716016355 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{R}} = Ucomplap(@var{nodes},@var{Nnodes},@var{elements},@var{Nelements},@var{coeff}) ## ## Compute P1 finite element approximation of the differential operator: ## ## - d ( coeff d (.)\dx)\dx ## ## @itemize @minus ## @item @var{nodes}: list of mesh nodes ## @item @var{Nnodes}: number of mesh nodes ## @item @var{elements}: list of mesh elements ## @item @var{Nelements}: number of mesh elements ## @item @var{coeff}: piecewise linear reaction coefficient ## @end itemize ## ## @end deftypefn function L = Ucomplap (nodes,Nnodes,elements,Nelements,coeff) h = nodes(2:end)-nodes(1:end-1); d0 = [ coeff(1)./h(1); (coeff(1:end-1)./h(1:end-1))+(coeff(2:end)./h(2:end)); coeff(end)./h(end)]; d1 = [1000; -coeff./h]; dm1 = [ -coeff./h;1000]; L = spdiags([dm1, d0, d1],-1:1,Nnodes,Nnodes); endfunctionsecs1d-0.0.9/bak/Utilities/Ucompmass.m0000644000076500000240000000316711733717716016546 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{R}} = Ucompmass(@var{nodes},@var{Nnodes},@var{elements},@var{Nelements},@var{Bvect},@var{Cvect}) ## ## Compute P1 finite element mass-matrix: ## ## @itemize @minus ## @item @var{nodes}: list of mesh nodes ## @item @var{Nnodes}: number of mesh nodes ## @item @var{elements}: list of mesh elements ## @item @var{Nelements}: number of mesh elements ## @item @var{Bvect}: piecewise linear reaction coefficient ## @item @var{Cvect}: piecewise constant reaction coefficient ## @end itemize ## ## @end deftypefn function Bmat = Ucompmass (nodes,Nnodes,elements,Nelements,Bvect,Cvect); h = (nodes(2:end)-nodes(1:end-1)).*Cvect; d0 = Bvect.*[h(1)/2; (h(1:end-1)+h(2:end))/2; h(end)/2]; Bmat = spdiags(d0, 0, Nnodes,Nnodes); endfunction secs1d-0.0.9/bak/Utilities/Udriftdiffusion.m0000644000076500000240000000353211733717716017737 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{A}} = Udriftdiffusion(@var{x},@var{psi},@var{coeff}) ## ## Builds the Scharfetter-Gummel approximation of the differential ## operator ## ## - (coeff (n' - n psi'))' ## ## @itemize @minus ## @item @var{x}: list of mesh nodes ## @item @var{psi}: piecewise linear potential values ## @item @var{coeff}: piecewise linear diffusion coefficient ## @end itemize ## ## @end deftypefn function A = Udriftdiffusion(x,psi,coeff) nodes = x; Nnodes =length(nodes); elements = [[1:Nnodes-1]' [2:Nnodes]']; Nelements=size(elements,1); Bcnodes = [1;Nnodes]; h=nodes(elements(:,2))-nodes(elements(:,1)); c=coeff./h; Bneg=Ubernoulli(-(psi(2:Nnodes)-psi(1:Nnodes-1)),1); Bpos=Ubernoulli( (psi(2:Nnodes)-psi(1:Nnodes-1)),1); d0 = [c(1).*Bneg(1); c(1:end-1).*Bpos(1:end-1)+c(2:end).*Bneg(2:end); c(end)*Bpos(end)]; d1 = [1000;-c.* Bpos]; dm1 = [-c.* Bneg;1000]; A = spdiags([dm1 d0 d1],-1:1,Nnodes,Nnodes); endfunctionsecs1d-0.0.9/bak/Utilities/Umediaarmonica.m0000644000076500000240000000216011733717716017505 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{m}} = Umediarmonica(@var{w}) ## ## Return the harmonic mean value of @var{w} ## ## @end deftypefn function m = Umediaarmonica(w); dw = (1./w(1:end-1))+(1./w(2:end)); m = 2 ./ dw; endfunction secs1d-0.0.9/bak/Utilities/Uscharfettergummel.m0000644000076500000240000000403311733717716020436 0ustar carlostaff## Copyright (C) 2004-2008 Carlo de Falco ## ## SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator ## ## SECS1D is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## SECS1D is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with SECS1D; If not, see . ## ## author: Carlo de Falco ## -*- texinfo -*- ## ## @deftypefn {Function File}@ ## {@var{R}} = Uscharfettergummel(@var{nodes},@var{Nnodes},@var{elements},@var{Nelements},@var{acoeff},@var{bcoeff},@var{v}) ## ## Build the Scharfetter-Gummel matrix for the the discretization of ## the LHS of the Drift-Diffusion equation: ## ## -(a(x) (u' - b v'(x) u))'= f ## ## @itemize @minus ## @item @var{nodes}: list of mesh nodes ## @item @var{Nnodes}: number of mesh nodes ## @item @var{elements}: list of mesh elements ## @item @var{Nelements}: number of mesh elements ## @item @var{acoeff}: piecewise linear diffusion coefficient ## @item @var{bcoeff}: piecewise constant drift constant coefficient ## @item @var{v}: piecewise linear drift potential ## @end itemize ## ## @end deftypefn function A = Uscharfettergummel(nodes,Nnodes,elements,Nelements,acoeff,bcoeff,v) h=nodes(elements(:,2))-nodes(elements(:,1)); c=acoeff./h; Bneg=Ubernoulli(-(v(2:Nnodes)-v(1:Nnodes-1))*bcoeff,1); Bpos=Ubernoulli( (v(2:Nnodes)-v(1:Nnodes-1))*bcoeff,1); d0 = [c(1).*Bneg(1); c(1:end-1).*Bpos(1:end-1)+c(2:end).*Bneg(2:end); c(end)*Bpos(end)]; d1 = [1000;-c.* Bpos]; dm1 = [-c.* Bneg;1000]; A = spdiags([dm1 d0 d1],-1:1,Nnodes,Nnodes); endfunction secs1d-0.0.9/COPYING0000644000076500000240000004307710751627243012742 0ustar carlostaff GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. secs1d-0.0.9/DESCRIPTION0000644000076500000240000000047311735164153013405 0ustar carlostaffName: SECS1D Version: 0.0.9 Date: 2012-03-30 Author: Carlo de Falco Maintainer: Carlo de Falco Title: SEmi Conductor Simulator in 1D Description: A Drift-Diffusion simulator for 1d semiconductor devices Categories: Electrical Engineering Depends: octave (>= 3.0), bim Autoload: no License: GPL version 2 or later secs1d-0.0.9/doc/0000755000076500000240000000000011735164216012440 5ustar carlostaffsecs1d-0.0.9/doc/COPYING.tex0000644000076500000240000004315211733717716014306 0ustar carlostaff \begin{verbatim} GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. \end{verbatim} \null secs1d-0.0.9/doc/function/0000755000076500000240000000000011735164216014265 5ustar carlostaffsecs1d-0.0.9/doc/function/images/0000755000076500000240000000000011735164216015532 5ustar carlostaffsecs1d-0.0.9/doc/function/images/secs1d_dd_gummel_map_205.png0000644000076500000240000011407311733717716022677 0ustar carlostaffPNG  IHDRviCCPICC ProfilexTkA6n"Zkx"IYhE6bk Ed3In6&*Ezd/JZE(ޫ(b-nL~7}ov r4 Ril|Bj A4%UN$As{z[V{wwҶ@G*q Y<ߡ)t9Nyx+=Y"|@5-MS%@H8qR>׋infObN~N>! ?F?aĆ=5`5_M'Tq. VJp8dasZHOLn}&wVQygE0  HPEaP@<14r?#{2u$jtbDA{6=Q<("qCA*Oy\V;噹sM^|vWGyz?W15s-_̗)UKuZ17ߟl;=..s7VgjHUO^gc)1&v!.K `m)m$``/]?[xF QT*d4o(/lșmSqens}nk~8X<R5 vz)Ӗ9R,bRPCRR%eKUbvؙn9BħJeRR~NցoEx pHYs&? IDATx ]u/n:/HB B|zH @ @ r0} @ @g @ sQ?O @  @ @r.   @ @" @ @@D9> @ @@@3@ @ȹ('@ @| @ @9` @ @ @ @ L @  @ @\@@ @ @D> @ @ r0} @ @g @ sD}}}aաP(VX6mڔe5} @ @@|TDaʕnj Q@t]w $@ @r.P UFj9я~4Z)[.lذ!lٲ~ @ @(( ֮];qV[K;K[_  @ @i ˗/XvJK]z{JM&~5ׄvW~zLhI]+KE5^?q#4M$F}a{Б#% @K. >lQ3ЇW򕊓cϞ=ap9^i.p,MM9N ^6߸#/\sB垹aGw% @EQ1+sgE%nZ]ҳ0J?ҏGQE;XfMwS=SFu lܸ1y̺s~ѭ[_ 'f|KE9+{`fsfEu˖- O?t'?֯_ߺD ߟjS;wnطo_f:X.,_Mg"@L[$?p?0  {w(_EرcGZ2Em=~*gך5kg @@WooIWOwQY%  @F Lvh/˱*ponx8)+HOq3gC߾/* P^ Q)'>1̡If^ @V tpg 0%DQ8tm/| ¡H$zT @PW{ @"ڀ/ST(1+- N @ [~GqB?  iޤ:zGfir @ K_|1+ȟ@jf.Ղ ]Ld}Vs\ӓ[',[n%lذY%ׄ[M P~׼h@1W_}uc;l#OsuLљ9sfq9s쵉,]4D_^4^w1^0?4TWC9uF,j>ImJD&d; @]W^O"= jFAÊ+ºuB+[l @ ^X?x0(,0N~ӟtq~_|#^M}.1K)H%Kŝ|m Er!PzS ޏx}Wt(.e^k֬)~Mv}pQ:M @@f ~W> PUUmAD^> @I(?/IO] @ Xh,ҥhZpaM6:stϢgt,J @ e z}Lȋ@8p8m۶MCPܥicڽ{wXlYf>hQ( J=.=94m޳3^K @ 9s\͉!=|p aڵ.M\Pw@;%˯ŗ&.Q?eFM#Զ L jVP46*=]3gהɈ,ln @@.*6iHޚ"UrQ HI`'iJ)xΪrg| fM4Y(pb`#LM`SљebM @ P~;G @& G}d6 @& D7.ݔ~G/G.\8y.Q{駋)iӦ ڐO1KZȘ@MglFCi(=lRKm۶bgv4UDM9 @ @ 䯑  @ t,XNl}6+ȓ(Om @@K st< @+8 @@ J @@{D7: a+pghj @@VDYYI @ @) a @?yNԶ|J휄&@ @-({GEGtFRtxozzzSilwW$lQ"A @@Nl}637H@LfE_WJ|s ~qҥ8ZYDYXEs @+й֦0ȧڔGaNWvٖ QC) @ @c/Ɗn4݈Wtr`rlK(A @ j۷7dJ}XXL @yv$H+BU:(:s(z֭[}ݗYLQ~  @L_b P^ !uԥ㿏?2zd}M>pOv|Բm>t޴DSZl @ zғjy˖-4?mH+} Jߚ @ PQC9uF(/,V @@D X% @8;;93#@ D$7OWKpt  @ @@vg5Q/ @ @ Rt '@$0TZ  @ rKA`0mؐ @xxNZ @(X @Z!&խP6 @H@DjjMO(d @ REclj m}z\bR) b[MqJ'@.  v%״ @F,Zb7aa…!:hΜ9aŊaӦMa#.1K: @$R z8Pm۶mek¡o9,_< mf_W]uUg? ھ @ @(ݤ:NPf͚|-]do&|8soozuQh!@ @y[cM3Lҫ?mmL{%oMTDdPʫ28+S"@g Dʕ+ûw;-4QVD= @ @McoH=}r@( ΰaÆiQA  @ @ 'Mx`*;MA&x @ @" JJȅOi# "QK @@fxS'z @ . @IMZI!@D> @ @ r0} @ @g @ sQ?O @  @Z,pGZ< @ & X۟ @ 5Q @uJ; @uY @ HQ"EQ @ @ Zgm$ @ @@"D\E @ @Z' j @E/$AH(Qˡ @ s #^4͏H(e \ @ \ Ȥ(jR @ @VZ @ @2)􀨿?_>^)B!ڴiSS) @ @ kM 6n-[yaÆٍ_˗/ox:&@ @dIiW_ݻw  @"0rTw, @] .]ڬKHk{]  @ 4- ʂΝ;Ct\WOOOp)[%  @r_rl#@,݃yeq^{m߾=,wY,?yxN zzu]>~|tՍQAm$@LA{)P @@svњ5kBP8? g./8~8۷/u]׿UVU< @@-YҮK(д33yz^ѓȢW{xZ3  @ @&hDi @ @@D Z  @^ IDAT @! j1  @ @ %h1BG`gfJ$^@@%R  E_̉H( l @ KޜUNdR@@e5) @ @@|Q|+-  @ @erYM @ _@@JK @ @@&D\V"@ @ŷҒ @ IQ&դ @ lKT #QT  @dt,XBTAxC@@@h@ah8 @}%@ @d^@@%6A @ @}%@ @d^@@%6A @ @}%@ @d^@@%6A @ #%,5 @9tMhk{\  @gDg,#@Dcܖc @@\Q\) @ ^ @@cDq  @ @ .  @ @5Q/ @ @ Rt '@ @4F@@G @ @R+ J) @ QcBY 4QVD= @ @ Z n8 @ @@DI[ @ @Z, j1 @ @I%mEC @h#@ @$M@@Q #>( lQGu @ @ Nl @D%o @@Dm7, @ @ ): @ @m ް @ @ @ @I@@&x @ @" JJ @ &Q K8N @D @(0rw̎*og[,V֥= @Ƿ29SNw>U=\%;z c}1R#k?J!yVp!0 @enIMl̙NgL|WNO9U?+)nl=CgO^g4P~щxc,z擝}uϳJHp'z @  $4.'{%:Ԫv?~" -5W{Fg\ͤm& & N' qݤI g3 @ : *wB̿޿ꫡ7y*"@ ./kEp]6XOdNvv=VW#_$=k ǿ.} 'n&n>^YXBVg^ @@JREwv2  KEk0V1U;Mam@2T7aiΊ*w&Tt/X  @ : J  RVEUΊ8ǟUL K9zSϙN1׊&kC1cZc2 @@D[3 @ <;=t߃?:srnf"Yݍ>]/t7>/ Tizc&O+I{OhBEh&@ T:ۧjnlT:xvJ?>1of?~̆1O ̙ls41?a/SX  @, B-]=Aس_ O̍ʞ4ٓݧtK;B_Sz:Oh,+qưjժl$@4[@@la @*C?Ҿ{ߧĺqt|{/]9?7^R*24\{M @jjB @ {_m;?uKvͣ^&ot^x*H*Oi|ЕPĕ5gp(qU)ț(o+n {kw+zU uƞ4 J~uRt[tyے+:bWl @\@@rr @=KtP.q#!"qY[,7 P) =QԌ @@ެ=J.k;}WN}̍el+//١xeal-  @9`M$Ati[ڢ@.ahGߏn}4K޶PQtߣ̥rITkؾ}Tp< @nQt$@)P ƟT|-:xږGoCxr^GQhʎԞmt੧ɩ/ @@M4&@Z-P Ə8z'¶OGhx:uUwv~l,)/ @@Dm7, 05(0=7zQLc!1 aղjEW0qMs?  @  @ CM[N'~5z#8u3G[:ßm/5(  @2+]VD-dpU<-?Җ( ` @@Dm_ @I#?FF*:%eA4M@@4Z @iW6(ާxٿ=Ruv @@%Q%  @ DgE7VW?_5ǛүN  @qDq!@r-=kzXymG=|nx:$@ŕҎȵ@t6#O+nhHj(  @ t @#ݛhΓ! WT_j7'@- @hѢ6nXI.[kSS<0cƌxJ-IG:?p 7nwpV6 CL @rjy BصkW6'Q Z$G ӧOZ Lڊ^f&2>e]7Zl @ ?~B  @ V:? ַ[MWggM5&@4ZM-? @ 7V#\؟y?77Q @ ;쬥 @m/tG3X"<󡿿  P~;G @µ;]7v,ިzyG!CH(U˥X @ _YDGB9w_I,SM @4v @ Dgم݇å^j.U7V @ 7 @ #ˎtҢ;bK =vƍѐ HQ#5EV`ՊN'… Ν;c[yӛbՐ Q3TIN z}laѢEa׮] Ϟ @fO @ +?>zzz%I @rM$Q`%g懲( PI@@TIv @@N؃ @nT @ +npp04% @ ,9 @mXpa!Q}n"@w0Mc @f 0*E ?|UӦUm @Yf 0*d @@D_" @ijKz{{Ϫxя~t6? @ Aiιm4 @4Ziі-[M7駟 @@)}GdNjj@?& j>G%gS}EKȦx @`˾?v  @@' jM-Z|uM6h @ w:[oxU׀ȟ@, ڸqcCtRCzkiOhKuUh@h@*>Ull=6lѾ^YF5tsO뮻*60*/K¢WɟIi @ |prF:j  @hZ@~򓟄7+ B{キ}zzzٳs|E{þ}!R妎 @Ȫ@S/pBxfaz\WX @@Gz @Z%д3Z5 @ @LM@@45?G @"p񑡦S @@9Q9 @Mo*yD6v @- j @.{8z @Z- j @ ,{Z @*  @M{`z% @ @ gZ[ @ gق. |cеӺ_  @2&BdEys2 @R" JB)Ȏs=ɘ  Q&$ @ =?v6mVC @TDSs, @,*/;kf׽{л @D9 ήpt7n N  @,6 @'й nd @ \.I @ @XxGHUb @ fF$PV6+ Ui@h @ݾahhj뫺ϩF @@D @Mo WiBܹBv @% j~ @Uz }JOv @+ j @ @nLEgT͓h `x @ @@D^ @5Ej @` : Pݻ'=bƍ7MN @@D @ҫ:K*= @Z j! @;C89#6Ƴ/&v[  @SMEϱ @ @ 2@dSӳ91"@' Jܒ( 0 @Z& j @wOXK @DSt8 @Xmڴ)V; @SMEϱ @ZFzb1sZw޽{c׈ 0TKQ`zcqBXhDh x%@4Ks5Z @  $6 @#} @ . @i^xᅴOC @@ D)X$% @9y @Z! j1 @v9nO* @WG3TIDappp!L_}MN @@#DP @ 57lŽ;bՐ P^9 @]A!@4Y@@d` @ @. J ȵ9oMh5F!@$pw=Rq @գ @ @@DZLS!@!0TIA;UU%H8ҽ~'@R(08ڵjFákuM6Um @`*9 P ϏuTv{^# @@zGS`XGvwvj @` : D;D^] @oG P%ׄ;+?Lh"@" J I]ɛ 2Q˨ D @H(* @ 5wvu}j @^Qr#@!S~ z/ٱcGն @" c  @5 \xx @ gg @@Y_v{3Nv @@CD a  @ xQNn}6~Z @Ձ @@+-YҊaA" @ @@D9> lcæM] @T R|'@.PhAq{T͏h&@)Bwwvn! @^Qr#@@pya``ȫ(+o @@qɥym5 @+ Wq @:̬U{ @)்f PFĥe1wnxgWGx7 QuAh@w>p@/ @ | @)8~` T" VQZWN @@.:?5ϗwb&IG@@w @b ̼X4"@LE@@4= @xϢBG}٦Mj> @88J @)0'\;;ݻUȰ(Ëkj @@{Xf[l700F @ZDiOhcҹp3͛c! @Q-Z @$ppM5tU9a߾}51 @ (v @6 t_}vѦ Kd]@@6? @ 3 LQ2EU @@?7Tl|QWg @P @)0<b㋻?@-  @1D14#@4Jষvռp9]ᩧXG @Mh@B]vΰٞdV @88J @ 000Iftvm?Yc4$@ŕҎ `=x7ѐ W@@WJ; @@^znT}pE }}}51 @ @}ٳO֭-Ho @@nr;s'@I`U?p7&.ys({^ aF^y`(7;ūTz[kx˿<~{Jݧ NSxCh;wif\|i5o 0g_s'ہm82m.S;8%wK0aY‹ % *c# @ GUp}(0"@T5;NR7~s&@\k7_bqOy @! j> @5 l#4;3#@LA@@4< @89{|_ { ֭ @J @ ,]x7ߟʕJ$Q@@UQ @ @tѡPc*1 0M#iTM3Ęԉ\s`/R3)wcb1McolR$R *z$ -Zyv]}k=볒{y<{?_Z ?X* @6 @ -"z'ݻΝ; ] @b =>#@Rz>ۺukظqcxG޽{iT+ @@Dr&@ E/k&l޼YH @@Do%@ &0777pEc_{o|#|{ , P=Q\  @ TC_v&ѷm۶\ P Q5Y/  @ eWC?OݼzÆ &]Y @ MQW @@ ! ʺk׮cǎp%g[l 'N{$@,- 1 P~ [?ax饗_wL @ªQ @%g;w N-(zÒ%KB ;U@F@@TP P%oc;eAo] ^yod}7nfN @D鏱 @j֭QQtnf}WKX}B*, : P]x٫>c xâg~E{. @ \Z. @@@l9 /kY7[n%vm{ ( @d ү"LuZ9Fֿկ aQ\~p7[ov;S嫁@@@4M  @l>mcSdg8p)h/…h͚5[E]X IDAT @ @ӿ^~T]0/:ާ_^x뭷Bch6tZ= @@ R @L-S5ޓDҴ}w}7|' 63VZp=JllgukX@@tW @ 4^5/Q\g(q:]6\{뮫m^GG 0<lL P']Lxɓ'Çkg(~?~|A|/_j !@} ! @`pso$oݬ;YtԩoV9zh-DR+v&R|Hy$7tSa>A.c"@S߾  @ ~e lt׿umRYT[ixY[ ,YrҶ,~*[\fg>$ J`u({Y+_E8-)9qD_NvY[|]9sfIq~Pnq?Siٲe>%@k^wLnlK.HxB SW @ǹkX\3:T_={.R63 nnn.LLLdZ>fկP81hw)* @y @ baR{(5Rly%qټxy܇~~lVK)z5  P^QyN @@GЅ z)\B bS͙Mqljv)]\=c׳e/yMq1ppfeMǏoySfg֯_=],.56 FRG" H' P8YTD[8){lܮK}pСY1_eqF^τO`Wꫯ݄~^,jv^&Q $>/RH7n^|Ŗ?F l @/nݺF95~j]_o,l:vXhuTUN|lwT\ 8ugՃxN 1DOk?8m6m^y߼{ @Q4~j]>}Yy* x#^ޗ=^}%K뮻qםκZW3Zd'\QgnݺviĆ۷7ﵹ @(@TVe7tlYw\3yuլ,ؚ V[jUaU?=f@><¡ YMf̴Zr~ /ry 'վz1f͚ltlGaXx_: z7s=@0G!nw-7QYb#  @> h-W3 c0Otam͙\Q^~Y`.g}Ya}馛rZ}li΢EB-ԗ 6t0śŐDG`{)im~Iy^Gg\^zUP1ФLs/1|] _|17_ q_E.|*|o:vEXF *` Џ7_~6k>w!\~Y?ئ%,B%jW1د\1s z mEÿ;Nmv*//æ_vX ?vf  @ LOO6pPeؒ{Cm-[,p}vi ƛ @ehi9e쏚  @ : wM4Q} f @ @\(u@?lǎ:=ٷo_L @ @J=!~?KݻC\f"@ @,Phjj*k _}miӦφD @ Yb]vu5 @ @ =2 @ @'QO\V&@ @' JoL(L*V. ( @tgϞ-] &@5zCH`%V @@GW @B LLL> @Ug @ T@@ԔL @ @@uDk=%@ @45e1 @ PQuZO  @ @MDMY$@ @TG@@TS @ @@SQS3  @8yvfO @&&(f @F) } @DT#@H`n @Dm,!@ ]`ra @NNB @ @%>G @$ $d9 @ @ qQ{ @ @NNB @ @%>G @$ $d9 @ @ qQ{ @ @NNB @,0;;;=h ^@@R @P/^<5NF@@ԍu @CR˚%@t/ ʚ @ @$DIN @ @uoeM @ @@$U @ @ & @ @ IQêS @ @D[Y @ (a) @Le*W @@U @r ;w\HN@@ܐ P&2V @ QQ[ @@9&&&Q*  @DI @ @: :Y @ (9 @ @@gQg#k @ @%=:G @, ld  @ @@W @̔Tu @ T]"@'pb @ Q2C# @@V^]ƲL$& Jl@u(D V- (a) @ @@I @HR@@ @ @{QV$@ @$) JrXu @ н{+k @ @%9:EMɓe+Y @@BSW @ ;v*'@)RE} @J-triW< P~QP @ L.,yO]@@TT? @ @`@р6'@ @]@@TT? @ @`@р6'@ @]@@TT? @ @`@р6'@ @]@@TT? @ @`@р6'@!0;;G3 @% F @&''kLK @>D}ل ŋlN[ @D=ـ @ ( @ @@l@ @HK@@x  @ @gQd6 @ @% Jk< @ гg2 @8rHj ХK( @%lٲa5] @@WDhxZ&@ud- @ @@dV @ @ s @ @ YQCc @ @D9Y @ (١1 @l333e+Y @@"DR7 @ \qϞ=[N(çx @ UV } @J, *) @ (Em @ @J, *) @ (Em @ @J, *) @ (Em @r8ydh лw3[ @"  F  @.D] Y 0l+V {'@ 0:̞ @ /  @ @UUm @ j @ P5QF\  @ @ /  @ @UUm(lakS (; @$%T @@GU @ ,^t5+HG@@X  @ @/Q_l6"@ @# Jg, @ З/6 @ @3zB @K@@ @ 9r$FHB@@U @.Oh) jIc @`tӣۙ= @D ^ @ @& ڈ/ @ @A@@% @ @j @ @D ^ @ @& ڈ/ PhBק8 @ MQW @@ZgϞ-Y%@R0@^`ժU @wTN @E@@ F @ @wTN @E@@ F @ @wTN @E@@ F @;v,BA@@U  @.OX 0h˖-aɒ%aѢEᮻ 'NXP 3b;;H%@\n> ѣahӦMDƯ; @ @t!0hϞ=`_ ֭up7~ҬB @ 0 D?|xExoۋyA @ 0>K7|3C~zgj_{o, @ @>?VY vFkO"kvƆm  @ @UDUFw @@>1َ_@@Կ-  @ ||  @ @ LOOhOvCX@@tW @ LLLmvLT[@@T{ @ @@y @ @*. @  @ @" @ @@D> P<( @I ^#@$z2V @ !QB+ @@|}O @2  @ @9r@ @ @2  @ @9r@ @ @2  @$:dt(c2 @K'V׺L[@@4 @@ɺW @F#  @ @ + *( @ 0h @ PXQaFa @ @Fl/ @fgg^׊ @<Dy(j O1ˉR3 @@Jŋ  @A @Z㭷 @ @$f @ @% x- @ @`h @ 9rd; P9Q\  @" ,[婍HT@@ PNQ9M @  @ @ 9 @ @  @ @ 9 @`333hV @,f @#055UٳgS @Uru(@>u @i W"@ @t- ʊ @ @4Di^ @%+yOI@@TR+ PcǎU:J_@@41P @"n^ @-   @ @|G @h'@ @\@@TR PMSNUzME@@4v;%@Xre8w\/.IDAT,!@, Ts @ @ 6b%@ @, Ts @ @ 6b%@*!077W~$ P Q1A @ > @D> @G: @`0`~&@ @^@@T! @ @`lM @(C @@333vM @  6 !@^pY @Fl' @ܛ @R۾ @ @pPD @hEAرc=mU @@lI+0 @^@@T9 @ nT]P" @ @VV2 @ @*" @& P>b @R  @V\z(@ @ @8DPO @ @@D  @ @! } @8rHkY 0hpC- @rνM  @Z ZɘOn @@DUq%@ @4@$@ @TM@@T_ @T,U%@) *縩H\`ՉP @" 4j!@|%&  @(DԶ/ @ @@D% @ŋáC` @. : @Xreڊ УG0 @ @R6C$%pܹ3 @@1DU @BԩS$ @C  @ @{|TG @hv@_ȑ#olK @@.FM74] PQQE^  @ @(H(' Z @TD~ @ LMM$ JnhuN@@T!Q @Y@ă 0lѰO @(< @/6 @C  @ \mIR@@% @ @ RY"@& @+ *ب &'') @. : @ @- *D8rHth'@ 0===6%@t' Z @ ͍uvN- J{|(T~{| @" @ dQ! @C W @|\bV @. @ #bŊpرԣ @ =QzcG @@bM @a m @@+W 9  @@sQss  @8Bգ @ -QZ7 @@S'3]"@" *H B щ'Za6 @`0`~&@ ]`յ}Nm @ @e :ydYJV' P2QL @@5VXD{&@5Q~wjsdY "e˖hѢaÆA-MS;1fJO`ڵuD=Vǚ|+W 6UV2 @ $?>sssJ) @@*TFR? @VZU￟t?uh֔_G}>䓖+]rI,_\@Tu PtÇ?k 75\S+/ _ċ>~j%p `ڔlSEư@]zim'g?Y8yd1 @ @Z˖-ka屐 @ sc=$@ @屐 @ (1C @ @@[Q[  @ @ c=$@ @屐 @ (1C @ @@[Q[  @ @ c=$@ @屐 @ (1C @ @@[Q[  @ @ x˖-aɒ%aѢEᮻ 'NhXK  ͛7qD?6ljm4j=X@ϔc++۰q"/_mʢR jǎ jk.?cE>1*+)_4 ORBn喰}zGy$@*4ۭ[6Nf\"9&c_8vմ?f@DoV]bV+9VE{_+hhm~unٰ9_*0cv}G6wyg @p(^s>V]^keiYפyM|;y ? <@-pXcY>^ߗq}Q`KcXUs 6K,-iF(@w}wXn]V8̙3^{B`Og]{vcXÒ%K.*W,1vpyQnߗ 2J#&lٲeA{o8|E>ƺ>Sf(/W?,8۷/e& dC= d8s=g qaNzORC XK "_NXhy^nߗ:"?,8"c~h"0iJy&޻$^ ]j翙\x8UP {7Ħ*2x%eAV?d׋infObN~N>! ?F?aĆ=5`5_M'Tq. VJp8dasZHOLn}&wVQygE0  HPEaP@<14r?#{2u$jtbDA{6=Q<("qCA*Oy\V;噹sM^|vWGyz?W15s-_̗)UKuZ17ߟl;=..s7VgjHUO^gc)1&v!.K `m)m$``/]?[xF QT*d4o(/lșmSqens}nk~8X<R5 vz)Ӗ9R,bRPCRR%eKUbvؙn9BħJeRR~NցoEx pHYs&? IDATxt4ψ$dyjIY ]NZF֘Xd0ԀoDYFg֎;ca{ۅ@ LD'O[oug0)ST[[矿W(`OGڲeRSS,= TUUvz=.оwrKTz?՗Od4y***F"77W&MR~~~E&    -+W{X 6ѽ" XHnۖg8vB@@@ML}:)Wo)?~)״zq~]V[B@@@XyVUJÆkT~Ms+`͞'Nt}}uys^?O{| YO    0e]!>bNd~=XǫÛK;v)@@@@ =YzOY\|/\+}ď9ɋ߻/6{̓Kzzr-={    4OLGCnիݮ}T뷧~ 8s l4w}Xd~]. 6@@@@a'mթOZU?yʹd5ԙjmQTlD %Kk֭zG/*u2]ɋΕq }XdAcǎ03_;zMƎ\-[O1 qa,` L^ 4Uyع]CnIc_|I11c/֋rq"m.RZZlc_o~s7N=wϓ  wĀ`q)`^ 555 FJJ䭐ΞѰ4W?k;ΤyRrF+ͳBěnIoeC{jǟ}Y'r}ߗ:yߦk   '`А!CYf͚fJJُԲ'4$:FQ[^YңVҔKFO_1ݽ{nf4{lzӗ/   N0M4,?Xz!Z?׾w>׶"I֗K.:I󌟔! w]殂)4u^z饾þ    G֨ix}w3=7mL0ؽ>={}0isoEUrM?nmq]OD^21 |vo:4fWG3(?Zi1y>RK4OaQu6yp4{F@@@!qɓu b7{bhF|`*x7&]T_Q6eWv+:r@&s`m_@@@&tmxt0 ~:{љxjs}*4ρ7J54<]i?͞rr@@@'pw䜹GR?kZ"37T:3]M5Vggnζ_p|    믿~ѕƏ&s4jjh\bv;X&īYi󵭁hu    @CCà\7\.zrV[!=ޤybbWrnO7Lcv &Y10i‚:L_7w h P   @=jY,S=ɊYW;4i"ij   a)p^s{1:NEZt^4{nI(@@@Re U'Gt`@اk4>q3   I3tSRk~mK9ִM'=H= e    kR?kyFڔ ]Щ2im5%:]rfOP. E!   @ :2?SЄ[]RۥLqrT4>:׸ue @@@~hlr<2d"##5k,YFf<\^&D>}Yb&Mv}{lo~޽[O>dov}hm_89xT5NOG-P>{\٦z_(=Y@@@0oR'|׻Noe&)dnK/uۍcZ͢v~m+u6z^=;Y:Ob~|_>}BoWwfK/k{W͞B   7C.YD7wĀ^̽y:Kȟzx]z3e=BO=@@@ 4f'5(cgu<1EܓuE~0ix{FSaQe%/TAs$@@@;߯Zɛ,_߫N7p|e moi֨BWvV'Gt!=f!h Ǒ "   ~9qw_Zh_ =E4OJZިQѷ| o]@@@Uy:vnZi zL`u|)ӗ]} @O    @W"IV̺"uIǯA=]E@@@ \r+a\]mmq]N4*Gt`m4{&    @xc:J¢j-J PEwZ=@@@Zc8v4OU4lFڔ9]=J&=bO@@@#mǩ{}72T?tyRDLwXojh5yl:{+D@@@> =c{JЩֽyyx%v n@@@G >>6w&qxZ_ԬY{n?|0i)VPCk߯m}+eRLՙtuf=}&w3@@@@if~as0iӦizה(3VZZ|;:q|}<(2sNn۪S˞hyӗmyx]^>͞A_ @@@@ }?ϊ+t뭷**:K7L=27%|CS[}ܛ ԏi#&B@@@ ˖?ꖿM| _ 5"@@@Z2?6?ݳ[ۭqw=&3~R~4uc9${NT   U {t.Ek[kkJLDo*r 3\ @@@h߻GuqO;_TGUUWx|>?n>ѳf=5kEGp @@@]{H[Y?|puL\QQӧwyOOJMMzz#k4nܸAfϠ/    gu<17 1cFSaQFFk^1w޹F94zfȾhѢA͞A_ @@@@ZV٪Jip5>pNPmVs'11{N]uÜ% IDATg?Y_c+=W!   @Gs|[g=劘-ż2noI3Ug?Rӕ> ˿Lsj<;ry${wm @@@^ =Ykg9v캢r];]i{:Ͷ߼y4i$&OLLJKK5{l~ ɞ\B@@@W4OPCkFŚ0!^Oߕ{ 1͝|}%Kݗ/{A=%b@@@S䶭:I\3gΔ]f?@@@b9*O;kȍ7i/)3i0˾um;sk˖-0///סCt9UUUk_Zk\=&   %`<ߜ_iX[_.[罆L&Sd裏ٽK1={0?\OH\@@@ǻՔK> ITMM┾0ݺQ^NWL   ݣŝ:{VI}7fO@p 4ORO+99Y{o g2@@@@`iEUrMv5z*w>?}4M9~4Ollrrr4nܸ.fUr@@@Gyg?~`ݛgL*ۓ̕To~N&SXTM,*--4o4{|5F@@@`4_< um[%xW3tis̓55<6   ,љhs 7UQݦyQ(JNJ 47Occuo-uOF   #VVg?y GO֦+ͳͳF_gۏؽ{^}U+͓ĀL'`@@@&Ӻ 44VEM̝_7Z'q+,'d4hU^^C;w݀y|hj   @Nn۪Sy+g4bAF@@I+tS.ܰYiw湶FO.g'It3PUUeybcc0{ЕJ~n{nj:FF\Ciz;ڤy.KJWm@@@ VV Q)~8CZȤyyH>ˮI[,%&&Ki:hH@@@@gishh­.)Vj?4Oӕ_y7.M'm\ӷ =l#   p4k3̜g;⽆:3]M5y^߾4M)jkkxդ6   4Uyع4zqSu"m. @{{u!M8Qn;<4{|5F@@@m[u*ot}z|w5iYɏMҾ <@yLa3\={   y5V(״l*kkJLDo*@p 4yzMM┾0]111]t/ $vA@@4O1EܓuE~'>~R1:N/4_a橨PSS)f_@@@A+3lFڔ9i]Щyl:Mhܸq)##  8_Y-3uNM)}abbbPHg   @ ׫5snis2{­Zr8g9 fO8   -+WlU4le=$&3+15UQIW]A!۵x ogĉrܛ'ȖfO-   Nh߻Gm9c=yRrF]^}'8ma_o]]6nh9 ޏ@f>< b̚5Kw%97   4Ok]1rf_Z[\VҔKth ǥLJW|m?`t5{#׾oZ2͞t>ZLN   I|t׭mEܓNiw.?~Rx|QںOo*@p ǿߵ~%''kѢE|m+Ly~3v^O>zk @@@\U/ɤy5yLDo{D9gT%`<555SttF c˽@@@!gu<14ϘU&c3bt (+!3L#GTQQ&+szx.50naF@@b?ga5*Pצ̱Uʎw~8CZ8g才UNNƍX;~֍{=l7Y1   p@GX[g\;=yT(ЈktW]|" z4ORRM=+6e^c̕G}    h++U{E\˟Qd<k8)?+ͳͳF_gۏ/jEEE Uum|W~~~'=zz4z}|zWy$wzzu.={   |@6um V.;@@z۶T 63ufZj}y~ez<#]#PCJLLHP oJXar~d4zMf}uj=WS"  ,`ŢT@@pz~L?WiTXTEYIΘ Uv 9rDjmm%ӥ`    RVR6\ um^gT<6 x Iڿ?i^* =e@@@`Q[bX_Ip'#  MQXEn,״l-S 飚2}U`ۇ0iH)}abbbhC`h 4A@@ y"IV̺"?)Ӻ7ψq*(ܪEYI~c0x9 e4Orr#y!_hՂ-@@p@:[U)e?hu<6 TUUYi8/LWLLSJN#@1KE  zf1cf=~RuoTPUB#gtUTT4O5|=T  @X \UҰM|vQ=ybccq9}Jԏ@P 8@@BOyg?~`ݛgL*TcR94OaQ5i~| \"G;vG 4{9@@s۶T &}y*ɓ8 JF hz2@@UySrMn'$jZң~5N4ĉv7#V"AfO82sD@@`|<܊^}>=6IIU5*vy|]WWJONi,e͞Zn&  @`U`u|)ӗ])LyMkjj銉 81\͞+s(@@h߻Gm9c'Y1ٕ)=~ o'99zzVKe͞^f   x< v\kkT}v4M9UUUy\Th!@@@> tz1:NEZԧ 9rDjjj:EQ\Vfe@@-+WlU4lx<=˼A4Ollrrr4n8UO͞^f  @.M[?7cRxT_yi^NV4O-!+=bb'@@WTQL/Ե)slxW3tLgg T)yVuuFF B- o    :W&ܪ蒲u뒗I}<9Ϻ:Uz*u|AM> eS#\͞+@@@BA9q+ͣm`u|)ӗ]0IG(..N VLpn+|@@^J,Z)dŬ+k2~RfW| o1GQEEZ[[,Hu^ 4{B!  ]i vW{ލ5z*w>;h=R2[v@UU才ղeH8h(s  xc:J¢j-Jr(WijjRRRRSS}f@fO,2SD;eUViE 9V9H"ݲKƔFrj-RR9d)9l0Yk$Ȥ;v[heIن oS2p3I6羿Aׅ -0TY+mҢZZS7Z@>~ZT@"coNiϧ gMj@`Vh #7A@@~Ƒ4Or%Dؘw&-L4qF N7O__iq-@'ח! ĩhsB5׏Q.yXΘ{tr_4O P+Q^W%#l MM  < i]D Tjcs4ϏԘi+m.y G766Ny\.ކ@ h2%@@Ov}5Oix no;(K~,4׋ k=s-@@e#3J':Ml*m=u;˕ph iuww+''G4Oѹ?Ed@@&8UҕZTQj}z&?7IIwT4O8Cއy)Zf\<@@fA <ͳgeYү:HXx1`yM iGE"04{ @@|_҅?O/,׹iij96ඞ/ӣ6Bc˓ 3/@V4{n%  H`so,W뱵5{cyVۡ߭\À<*V4{Mu `=Y A@@SiJx2Oi#^rUY,Soq4OD%{UäyTTmhvi( @@C&-i-tO+zNmρ<ڶm2228 JF3+@@^mյ/0<< 'muvvH|>G@)۪k_~a͓\'@n 9zYZS7ZfOyXΐ8g8i+(%%4sJ=qL@@ Zッ*-O_ںi< 6TF$%6듑1Nr\QzE͞Ʒ@@0<?vH5Oix hy:{u{,1`o4O+Q^W.@ nh3q@@;0<;f=iM :z|gs4z|wBZZZMgy$ܾ͞7  q.u1]\֒-eJ_d IDAT~iE$<͓֩@+iBk^fO   0S#3J':geYү_9N㈁4ONN<{8b( =   05ZL,*(zԭ^F'\>>'s~ѡCRI8aŨns?#  p` fG)˕MYZS7Z|<[Cg4O_q:-|ȰwTĀ͞XD 8E`|pPC%f=i< 6T:e'H4 [o ĭTgBU%lXGyHA< 'm%z=1L@sMl*mT|v I"`yz-}yfE +@gv=  SiJx2Oi#:\U2i96 u WGm63hݺu-@8 ϴ@@4O#r=r} A\E.G~r 0<Ƒ`P*V4{Mu @ Ӆg  \HV]y,T]}@/zwh?:|L8R }hwm @io-Қ:ݝR?O HXd5nyU4j@ Nh3m@@GO]l.1Hu{tvvH|>edd8pį͞]{f HH j'ZR#y66r3{M5Յ3?G`pb4O__i, -@  ?_w/v~UI%-WZDJFi4O P+Q^W/ @"   FgdOOt(chy6H78{HƩ4qҖrL(@`RfϤD@04OUtzZ}}p#y[5cJIwT4O8CwuuՒqȢQ& 0=3@@@ ^^0< OhqVe*ݮ 騴\À4OKK#CKFu m -..F@bS t}KMLJ4a~]? 1<4OqqrsscxL O=@L(e뱵SM%Yn>|v##cl I8d(4{C@.Ix2Oi#h3ͳdYxiJQMc1؄ @ ݵef  M*+tMZi8]d4#ԙMZp|:dg``@n[k@}=@X`I_ݯ*dEs_i?JtXcI[@@)))|y\TDUfOTy9  0?iY*9-?-<:蝃xl G4lr/@ FhB2 @o3SU!]EV_ߧ'\؛'\>>D'aﻺͪP. @hD[# Q,{a*͓geYү:Vۡ߭\À<999xO)J@l%@VA1  uA j'߯QJmMhyd @3<@J`BWۤEotO+zNm+Xl{{IOOWٶ2<p.%# 4HV] so=J<@KkH󴶶j``@n[k@@`.h̥6B@]j:`yy}Sy-š3fÿWr0씑|ȰwT 4{b$ ̅ࠆJKt}(n4„{M5ՅsQϘE6<}}}yfѕ[!̎͞q.  M Tp~UI%-"Jk(@4E9F'(ѕ(׫lO q!@'.I" @< Tjcs4Ϧ=\n\#h}$`81Nr\QzE@ v|@\cXU!]yR:heotuuqR2 g4{l. ܹSZp}J@,7Uׯ^{'cqĀiiiQwwrrrxH8b(o=@nS t}m1< =JOOmy uCZ>q<@y)..VnnC*L@x@f,0XQry4O]v]FЇ\h#cl IcI@6h&# @ iviS+WLyZ xQMc1؄ N^@S4O#r=} A\E.8gLdffh[ҜS<" &@'   ^mյ/QgɲL=y ~j``4C֌2@3" @ UVJ{h4ϊg-0`4Ozz|>222_4" p =c@8]D Tjcs4Ϗha]ҦVͩ N7O__4qҖ2+@@o4kJ*lWZDy,:L$z@s`\ 0<;ԴiM :zܜgs4z?8A(RKKI3]@ h3w@PcXU!]%[ʔ.Bx'%ݭSV(K~,X/ @=-@@FgdOOtj)y-ʲү:HXx1ɑaoGE"ْ̖͞>  `[5ZL,*(zԭ^F'\>>ڰG ߦИ|"  IDATH}@ Z4{%}@@e/i,WJ뛷L^C[k)bF؄9 *33SEۊ6p% 1$@'  4o4|^ O)m> {rU i0' OG;qԌ l -I O$<"ck-k-tN9ݤ wDkD'j@ VhJ2@P`Ico<[Cg̽y:{u{PS6N Jt%qRR= d +`yJKt-zPhyd @fGf8r@C ]L<1ͳ!˷҅>x9}~CL󤧧l[iX 4{bzy ۫3J,Y^?9*immn 9?  G ALIkiMh?b]:CǢcoNiϧ O 8Lfr@H?T'j"l;ut&%+m.'H扫g )@g>y6 q(0ܤP/͙4߫WZΞ Jt%*;;z@"@! E 8]H j'ZR#y66r<^pHƩ4qҖr(@g qzQ- Ov͖y|v+yHAu*JǢd.~P<_/*DM= @[i=U?94Qgs4zmQ?E\H󴴴[999x>ڰhŽ `ym )//O&̼@@4{T &|r hoo7<*V4M đ͞8Zl @4x9}~NwI`2͓.ϧy" hJ@@"pW#e[u/4Or%DS4O]}@/zݖ{1`o4VAA :@~ @@<kiMh?b]:CǢ㤭@ | M Ҵp~UI%-.7y:{u{,1`o4O+Q^W.@@"@B L yf={l*my&P(uwwqQ2 4{5x S_w/?,ٹ" ֩@+i)A7 ...VnnsR@챐0 @| i=U?ѩާGߘ6chy6H784ONN<{8p)@h( ı橪\֢BRNby uCyaGm6DaG Bf-@x,{a*͓geYү:Vۡ߭\À4 s0TffJQJKFu ܶ͞&  Ė@mϛGL0<ͳ4a~]?`{ y#]1! w] 1"0Qr%<"ck-3[HXt3>)V4O  p[4{n@ ˽.4mǘU%םY#ıPeI2sBV<>?bΝd'==]>OΝ # h̘ @p)۪k_~a͓\'soz#o Ħ͞\Wf F)J6[T#~4e@bCfOl#@@.VUHW.kɖ2%"IIwT4E]]]f͵T s"@gNy 0<#{4~S OhqV塻*kϛy,<OqQ$ s'@gy Q|_e[4ϢBR0#͓_Xsԇ r4i,e" 04{G" 0[e/i,WJ7Mnoz}nl=̑1TTѶ"y  8MfVz@0o̧WkkvUPP`)@+@ǾkCe L UVJ{hSMyiQYslGAit|>edd8zJE@;*P 70T?Ly(!Ƽ@ @D )0ܤPcԧKx-š32<_㤭@ DW"i%# `7=v[A{#3TZhaփJmlQ~~3{M5Յqo4#cgcr6 E@ قP @| y\_URf gҚ'4<T7귝HX?%oy^_4" #h8b(@ 4Ȟ*6ͳAG:u_(RKK#C'V ! 04{ן# ;bUtzZ}}p4OJ[y~2c[\\\TN  $=NZ-jE94ς{SZeJj7"cqĀy뭷qĊQ$ z@ NQvŸMLJ4a~]?o===ji,4gyF֭_ f s"pN2{jʕZ`~s@?̚P?TΪG_OVۡ4zl.H󴷷A)ڵk[q ̂@ԓ=ƑׯWRR~_c555B@Ly+/g iV vS Ī@T=oӟ4*v5vZKt@| u4ϢZZS7ZOyXΐ8g <@"{7-OM? ͞>/\f~_.\??i߾}67俨Mg Q؛nDW{?6;ut&%+m.ZM8:>F4Ot+ q%K/fܩљ:}??#ɛ;^>n `7&j~iJ6[JWZ<=+(ѕ({!޳:@p-=/d4h{-[LKqsɩk_x wf:pڵ^u D] <ͳ0A66GܛgSi.'nL'm\=;# @!5˩.1?ehzk3y;vɟ' N.VUHW.k4Ϛ'4<TJ[yFt<\E3&j&QH,-oTguq茙+\ǀy:;;4#c:@ =ť +0>8]D Tjci wJj c%Fg68ɠ}}}ybt .@'? <ݯ*dE8R}E8gH%z@͞Bq @ i?_pj4Ϧ=\nx6H70b|FƑꍍSi-fz  4{u7 _wŪ e-RvYD<)n 7E]]]fy^T w.@  4Ȟ*Ԃ{SZeJ~8i #4OKK#C+G  p4{T#8F t}m1< =J8u놗/,׹iiI`-AH0A<7# ď͞Ykfĥm+)~g~jxx4wV  k4{bmE fMZXKktwF?O HXd5n͓m۶)##YZ@@ J4{m@V8R~2Iڣ;ut&Egnh֞6VAAݛ!  @'V9 q.0ܤPcԧKx-š3<㤭NiGǁkH  }=7  Q0?O)J@@qBQ& ッ*-OMḩ>FX`I_ݯ*dEs_i?JtXcI[@@)))yTT 1"@'Fi NO,zPTڠiq~䖱7O__4qҖE  04{f"LcXU!]>D'aﻺͪP.  4{bc `KnUW]v]FЇr.us4ONN<{ܜO@@ :1@O t}K#GDXL,M}X-_׆DA СCfyNT %@'֛"QL(e뱵gk-y,>N0<&`P*--%ㄅF@ =qL^ lqgɲLӋ^w *`ym )//F8F}"ͳNwo@}Sy-š3fÿWrL󤧧)##S  4{#+0>8]D5J6ͳ0.^iSMu>Y`pbH:x@@vhܮ#q,00p~UI%-Jk(@4E9I[@@D|6=g#[o>PNN<iG(# 7 !q-`y|ۥJx2Oi#z\U2i96 u WGm63hݺu-@@n[fm@ È`A3͓'Hu^  )@'6וY!Е6ib--yiQYsl/nyU4 @@;sG||pi=J<2228 JF@.4{A&0>8]D Tjcs4ϏԘi+m.tL)wpb4O__i~@@8 ϴ@ ~<Sv~UI%-WZDJFi]zζT  04{f"0<;ԴiM :z,ڳ^GUX8Rq*crf}.D@-=08UҕZL/ȄyR:h%cQ@WW~Y(i" s!@g.y 0GFgdOOtj)y-ʲ<}W_uuu8bH󴴴[999x>ڰG yk@@`h!6B%0XQr-<ЇF%#cl IDɘ"  @'V9 @ Ly+Q  H=\6FtHIs4`fޥ྽Zt!Șyttt%ܢDHd̲3Q@@`JhL ;E'y3_sG{Kaپ33>+ͳhzm)0`o10GQhWQ  x=_B&NJVփ^hv .<嗏Vރi+s:/@@&ZfD s@ Ig&] eyvbٚ5\L |\ߜt:Eu(S^U4Ys[@@sv|$]e>nfdw;H'a<슊 8l  )4{2e'@wCiy;vifaa36l~:]R.~}hs5 [y^}U8q4@@$@_@ouRj /ѧG}TK,x>  WsU".@,0Q|ݽ_{z}gTg|VgђRa&cTF*((PyU]4!  '=* HNd=UގauJ+3kN^~(ia=եͻ49R  NբV͛tE<֬WbZp)MJnUWU'F@"=Sc@:;uzS4ϼ-~ޱˤy"z[& xTZZ@@' qjQ+LPgLͮ׍W<#X$͓7Çe<@@)J@@Ff0( !@ wwgu.u~x4w4=kQֲEs̻ڤybi!e#  /@gxF@ 67)Q5s5rUǧ>ע]:9~I-):-`9SQQ̀r@@v=n7@Oyإ)ٰ9mtK-Z}c[5 [y&h4@@&@frK@7u6N==4ܻܷW˖nPшj /'+ 3/@@2IfO&6sE C<ʙu})wFlWyR|2jy T^Uyyri"0q r@@*@ǩ+G 0I^?T&3v˰G}zw2iia5=x<*--wT  $ $h/pgui4cf+Rڑ{B{NIq΀9i+(''4sJ@@&If$A8nԥX9ꯘ9Ngݠs-Z6qEq Xk7O,I󘓶\.ׄ<"  T=N]9FKlsu/Z]U)28aoy_m nJ{ y]***wT   "xcHNL/CæyVީjT};H( 4T-E@pG-"A$]<(Wo<G#!<ikkS8*PIIgA  L͞i 09VGkͷhގ]YXr4oU7Saib|>Q  hh1(,QSoIٛgyYN}4O2wtt%ܢDH8l(@@4{l # tW?y4φao[K_jђF%Py&hT**W^^ +$@@-@Cud@7u6N=0ǭ +4ܻܷW˖>u W 9z#[-!  `o=^C c<ʙu})wFl}u.F'E9y\T  =X$JD .tvr<!LbJvuu) )[Gż  S-@gW#@M"͘94ς;'7}7Ln;x*E@@4{l@@&4ϙOynQ0}z|I}ibtww[iX,FǡkH  c5BZU.+3^7._2׎|$c:sR&s(n[pSu [D&c異:@@ qR>NHxԥX9GLLϺAZT̩Sغ/O>?Px4Os4WQQsR@@*@ǡ G8Qyz566Yz쫱[ՠ~'N7kN$ jooWqq|>i`  )@g2y,š:_IxATk3R4<9nGB͓d4B%%%/ @@H#=iL; 4ϙ-?zXnEv”R7l?}'͓yWu nfLgyYN}Gs{o!͓ j /ѧG}TK,qH唉  @ I5eFBI+ͣ r4Ou-yZᄆSLFUPPr\  .@gI!-`yzЫ Âܺr(ܷW˖>u WKw[i+s:/@@z=ST@$y/׽mΨYH8gJnUWUqQ)  @ɀEfLN^?tTiYs TS~DYyB<JKK @@*@g| ټI[[35^7._"ڑR+ͳ)0`4O P~~B@@2PfO.:SF`ǥo IDAT<̑Pg^e 1w4=<?XkbyG"  p4{U@@g<*tLP%Tw9i+(ە-߯"΂@@,=1 4OJ]P Pnci[U:+xEu[\<Hơ49irM~!<@@Yf52S 9VJZ@zQB94OI@@ah  4ϙ-?zx4;u`_5ߪoނ"`<`P*..#㐵L@@h$k%š:_IxA3|>=%yrH$9`ǔ[QQTN   p͞Ev-cflVuH8by&h4#V"@@͞q%xM ie5:νK}{lPKE}>y^My!  OxG4w\M6MzZ[[' ]+;Şalk΁wjђEg SU1oΝ; 6虊  L%{;rG?E^^~_ҚJiiM" yzO+Av4 {[VZiYs Gi d.B!RQ  -0a͞gyF/x≡\mܸQ4{Xx lޤ-Ҝhr{_J=&l}u.w>OoN 4ٛvJ/ @@@&cNvyR 2M) \ԙO4ϼ-H]JN7Ds%ls4O<n<@@*0asl"_1cW5ֺfO?12^`(3cf+RL^;|U|I<):0'm>|J-ZHuuuCugc}H1!qg{њk[*4ϡKmM)1`oD"verQ  C .z?ܛ?>U=?լַÜ9sto}dK.9r=fsfӈkgU? %^xrݛg:4ȏ&8y衇r<#JG@@ )#WWK'6{~ӟZ_:LLg\)ϵrƣq{t<"32!w7Qp8lݛ4τsS@@#pf䷿~ߤ|ӸRH@`L̖Z=i7ߢ^1c jF 'VyU\\,Ggbɹ;  f9qkӸ:::4.R S$`yj7I/hFO[٧'Y^VS!͓ i ]m/3Mr@@@:& /RNҪUgϏ~,!HOyإ)oVu-yZᄆ--`'͓&SPPr+1@@&K`B=5 @& \To<օN97Ϭ9VPO=9wuu) 4W@@=SW͛tE1iŴZ74VUU'<@@+@DZKG(`We#;s+S!_4O<Ob  T *y5 mnRn4zݸ|E^;|U|I<):0'mE"XړqQ)  vcUFVJ]P7i4iz <עe#ܕ(=foX,fyI[.ˎR  XfJ P6>RP̑(WoaIq@rX>yr  3h8c2ok4ό2ruˤy{4;.<9ǎٳ*4V@@p@wVG9zimtK-Z}c[)tLlFUPPիWIeg  L͞)aHV'N=0,˭ +<}{l^Ǡ}L%ܢD^̑@@@3Qz6opP&3w~/;zf:#͓㜁֡4OyUS<"  #h8r(ک:;uzQyf)P}CDO=NrեP(xydT  @ إgcHIGL,/ѩhv] ۫eKo$ ttt%ܢDHL2>C@@ksd|i0ͣ{\ޗ²}gTg|VgђRa&c6aF*((PyU]4!  @ _E 9͓Wy; +4Ϭ9z壤yU`rZGۻbC@@oټI[[91l}u.w>OoݹNy Ԃ  $@皸8.tvLZ}٧2iy[5̟$y"zD.GϹKPHx:Rx@@L=zCi35^7._׎|$c:s4OsWEY)w7!BǞ9bU]]] Bx<*--z>D@@]fOplsuǨyf+R^;|U|I+s(n[pSu [`0vo@@=#&G[=+uCM/C#ygݠs-Z69qXkbyM!  @Iy y\U)"H7%͓sV$Q+4sJ@@@`hL"6]O1ͳrNWc[ՠ/;NisҖgrs@@@4{jl |qn.^Ь5՚̆4Oۣ{(MpJ~ٿh*D@@Hf0i3[j|إ)7ܰ9 k4O #U\\,G+G   04{Rg_@7uzQSցS.{4`fޥ>B2#'81VTT eS#   04{| (`OZiWN+y귭ӥ/hzm=Dy^}U8q4Mք2@@@Y4{^Y zO+Av4 pʡ4Op^-[z1h_[ԗӣ>%KطX*C@@l*@Ǧ CYlޤLgr{_ Q=[F_YG~s5 [y̑hT**W^^:@@@4{l0^օN^?tTiYs TS~O9n]]]ݼJx^#y!  \͞$`yZ[35^7._׎|Iq@kkqݪ&Z@@.L&eT?GRX9~#ے w,(@@MFTf<=+uCM/CæynV_4Om-tdZ4O,#͓N \@@@v4{l$SPrǵyͭ\2O}7+ûH(DʖWQQB@@@4{pN.ۤylU#yVީjV5h͑ꍍCisҖH &  L͞ɒ9|&()w7$4kA=: Ir6aZ<Y4D@@ٓhI$y|إ)oVu\kIAX>4@@@ hقq::Y^VSܻܷW˖nPi p5!  L͞PCOZ{(gb\7; <<mܳy.Hs_1l}u.w>OoN[tXr@UK2/@@@14{T/BgTן}:4O}CDO=~KKPHy%   5H <3fjv]n\"e^H*t$i Z{nUUU)??9S)   4{2`'rHՕWEY)w4=kQֲ,{O`'񨴴t-@@@*@gMJԽh 6>R4.O ܔr0'mE"(rQ  d͞ 'yޡa<+Wԁ}5y&Hnyb1'm\.TG    N+ |qo|JiO}7Uۣi+4O+[~_EEE-@@@h Qf$9VGkͷhGL{V5h ̑`Pyl>  \MfՄ\Vvtf}ziL{޵ idokkS8PIIf@   4{Qɡ4ϼ40 ê߶Nԃ~_ڜr HN7@@@+ "MfxM zOY^VSܻܷW˖ޞp}GGcUNǁ H   e4{.Gi0ͣ{\ޗ²}gT֬}EKֻolK{ 4ل9@W&c%:@@@`T4{FŔ%y*oGðua5@)gI[ԗ9R   @zIu,z6oiw\L |\H*t$i ynS<"  \͞kJճRV IDAT:?j;MuϵnkYzd,ֺ4O9SE@@hd&%^fVJ [t(s(n[pSu [D&c異:@@@`\h+}o^xrݛg:ƚiH4ٛ'Y{󘓶\.H_3@@@4ٓFy|qn.^Hi7Uۣi+xرcz׭4WQQ4@@@36IR5[4WMV5h&3 $ A{?Lgx\  ͞4[$yf}z?7y{H$8}[[UuEEJJJ6E@@O=i{uW?9晷cfTasXRZiƶkI:qℊH{ɨ@@=<9II#v4<893;.ղ\ǀ:::nQ_O>,Yb@@@`hL>h0ͣ{\ޗ;zfohu<)>N0isz4UAAʫʕҩ@@@`hLD=Bgz+W1Ͼua7Ϭ9VPO=U .nmy^̑@@@\f"g&]lmf̼js1-q}~fHVv4 "  I!I^?ڛg^aTze< <_ڔ M' )񨴴4@@@Hٓg~VvYiuq_;|U|I<):0{>|X&@@@`hL=[=+uC,Vζ+yNӤY7(\궖]ۃzڤybi)_ @@@'@kvIJ]U)U#?PxJ ܔr0iH$lW~]0!  Nf%yޡa<+Wԁ}5}Hơ49ir9vD@@{P5_:󵛤44Oۣi!AikkS8 &uR@@@4{l2&sfKִoѼ40 OI8byU\\,G+G   hh}<3|>=%y{4;.<@y橨PIIC*L@@@ uW?94Ou-yZᄆ&ShLlFI@@@If5qʼn:*oGðuaP'o-}@GGZ-Kl @@@3ޢp4rkr{_ʷٚ5\4OsZ[[4OAAʫʕ@@@Q4{`.tvr<!)GEKPHx4X .   hj|.ټI[[3GYpy8wT4V P~~>!  d͞IZw9SV_7ϼ-OyNӤ̾4$x?&9xTZZ:ޏ~   \QfiMJ >]WHkG> 9)9~#S?`NڊD"!cB@@@ -hLwwgu.u~w(y4xEu[&*n=kmb2isҖ嚈GqO@@@F3"8k[*f\(Won8u벗I,/ѩhv]z#y.3rj /'Ug֜7D3'p] ǭ#KKKRu    pU=W%z6oiLͮ׍W|#VgSaiۭ@ |M   $ I¸iy[5Ƽw߿^'iH\萟D!E   WsMJ ~4 9)9~#կiasV$Q+4@@@F%@2GJ]P Pnci[U:+xEu[.?]yRx>>?PxTo"͓d6aP<_/*D@@6{L̖Z=<4jFH0i`0vnM   l9k4̧ܭӓX&=ZwP9nGBy>9SQQTN   L=.״<۱K3 S6l~:]R.~}hs5 [y&h4@@@l&0Z1G]#<2=;wM}{2X+=7R=&sJoj=xFX?:qℼ^0ObX@@@ ڪEi…zw+j)zw_[͞KťK:|>; ~1P뒧eKoO{ ߵ;w*7'W6l9m   ^`Tumi޽***lvyg]^SSOӫbԟ4ϩh֜Q<υ]]] BV&}ֆJ@@@%0f`Z`4??gqL4ϳ5kչ>yyLS#`foۭ@ )"   j\<{=m߾=K,9ai4O}CDO=c%ߟd4Qii$W@@@H? k;wnϾƕ/7/X53wn?.|)?dK)`NڊD"!c%*@@@I0pp5>a͞o=e<hYՅjOFTfb2i7'mMp@@@Fx5T9ל9stˇWX]l5MyK`0͓ʖ䗽L5   ZuoJg#'eRo<^/9^>,H$ Ng=   s)#̟y3Mق tAB_ǎWfY8&[QQ̘8D@@@`&l9/~fq$>69S\\,<ϣ@@@2W`š=/^?ֆ ?2+ȑ#+37={X3%͓ @@@l%0}4՘?29|g4q.zz-ۿZ/]THyrLU;w__^϶&w x   Ul|="/ s4OKE}>y^H 6SD@@@vjخj IDQ䖭Vb@@@2MfO8ηKPHx48r+@@@"@g,z4V P~~~k0u@@@#@>kJfMMMV񨴴uS$   "@'SVz_JHD999y[    04{&B5i   h8z^I#գѨ T^Uߘ;    v{<49z#QU    ^94א@@@Nfp*i<եP(x<.ǣ4-SC@@@ hdКyn3hL@@@ٓݭ&<L@@@=i;`NڊD"veIfz   =i{`,Y28@@@Hg=&cTF*((PyU&<@@@2Ef$tWWv7<^WHu^    Dդ{Ziۭj4u8@@@=h橨PII5ށ@@@@3J[կ~h4Jgf\   /@gj /'+ 3/@@@@4{FX4OAAʫʕ77@@@Z=WR(Roo/i+1   3̚Z{nUUU)??B@@@'@'iMWTI󴶶j޽*(( /@8Sx M6M-TB0=31B^ 01_]'pW0onDMttt%ܢD^&̼@@@@tHf*GQ+S^Ut_G   XiR(Roo/i~@@@@ #Ҧ3qݪR~~~F.(F@@@p|g0xTZZ+@@@@ կ~H$<@@@@83gm߾]XJ󘓶\.+   w,Ntagb[AJD Al-\;BDB "ElTQDaqAYA /v ̒&q%ρ%f̛3yg2C[(LOO'wM&&&kY @ @֬YrJufϖ-[ꍙM?m @ @* wlV=O'\  @ @`T֭[ױWǖI @ ǀ @ @:=K-!@ @86@ @3{ԛB @do @ @* HT7 @yɞ @ @URoj  @ 0=# @ @$ S @ @`${F~@ @TI@J- @ @ *sԩdX211|};%oi |ˍͨwB4F%4\vmqmSX bm͋z^eq4<@}{TÇsX˽ TuV;[ŕ&_r?y&YXX'{$|VT6Lvؑ|m1=66#~[Ow4ܹ|k@o;wLfff;1>8q>iy6bƴ(@'ɉ'rM"l/HXm۶dvv6yArjQK ka|||67ɓ .\h* O>MN ʕ+W{-ξx?oDyqrرA,2 t-o|mwZVkSOz*ٺukXq}Ç'O^\Pqo4-y2" Y;E'{GW6MX[V 4).-Qb^@ q]/q뿸eɢ^/nklKG`h[gΜI8дvcXkb@Wq!DOcׯYTָؓA Ƶ#G4~"R zhߘ.uXV3{jH=z,>F6:)FA v wDOX]j#8zMzz۷o'SSS(@!eA/*6VnS LNN.IDS"gإ,q5(Ϟ=[艺AO>5US5qxA``ÊR${ⷦ5[^~䷦@DO\'{FO͖}%7nhA؜~teM ,ƕF t'g׳%8yi)KE}kiy,@pxǘXZ'0X—r|ܭ*1#xU7B P u1rqx_,#-<{-^b3ޫ(@82:U b.-1fm˳w *CEkiOz,@T.b(qŶӲEeE&н@tiÈ1>v9c #P Āڭ,MX~.wJc31(@6 h"ɘN@:TYgJZ67?lDAĨe>d~ۓ5/8AZ).\S @ @!Pk, @ @& c3 @ @TH@B) @ @ @ @B=LM!@ @H @ @Pgj  @ @@6@ @dO:SS @ @= @ @@${*ԙB @  @ @*$ S @ @dm @ P!dMG]IENDB`secs1d-0.0.9/doc/function/images/secs1d_nlpoisson_newton_85.png0000644000076500000240000012410611733717716023447 0ustar carlostaffPNG  IHDRwiCCPICC ProfilexTkA6n"Zkx"IYhE6bk Ed3In6&*Ezd/JZE(ޫ(b-nL~7}ov r4 Ril|Bj A4%UN$As{z[V{wwҶ@G*q Y<ߡ)t9Nyx+=Y"|@5-MS%@H8qR>׋infObN~N>! ?F?aĆ=5`5_M'Tq. VJp8dasZHOLn}&wVQygE0  HPEaP@<14r?#{2u$jtbDA{6=Q<("qCA*Oy\V;噹sM^|vWGyz?W15s-_̗)UKuZ17ߟl;=..s7VgjHUO^gc)1&v!.K `m)m$``/]?[xF QT*d4o(/lșmSqens}nk~8X<R5 vz)Ӗ9R,bRPCRR%eKUbvؙn9BħJeRR~NցoEx pHYs&? IDATx]U}0uHPf 7qpL +ASfb@IyujtP/Hy#c[+є82ؚxA![$XP}9s=?>9g垳Y;sw #8 @ @8!EI @ @$In @ @I$$@ @Lr @ @LJM%! @ @`{ @ @ `Rj*  @ @ @ @RSIH @  @H`Ϟ=᪫ 3fB!̞=;\2xI̤< @]!)LJGܓk_ژK>`#[ouL7W\qE2C>SqR#}dVy/~D}n҉իWw @ I$'@A-4>Mޏꍷc_βEt~ڐ<Og:.Os @Ln& @`_n1&4}Y:qVm]js tJm.]Zzs^I186K " @ `R*& @ⲩ~ɦRťm:qW7nۥ :Oi=b,U }CJ6nuҴS <> @m >T/ز6Y:PVb?ʃ1O1 dɒ1cqIvG }[J6ؾKLq/؆ؖ~q\쟃hL@017 @c&Ih1_7xcLt1dxgAظqc򈳜J8GI5O=Ԅ,[n%IG?J83D#J6{ T;bb)/Z|tYvmi75^}հf͚]$@ ؀+ @ @L- @ @@u6 @ @L- @ @@u6 @ @L- @ @@u6 @ @L- @ @@u6 @ @L- @ @@u6 @ @L- @ @@u6 @ @L- @ @@u6 @ @L- @ @@u6 @ @L- @ @@u&\2̘1# xp ^iy/ʺuG @ @&]uUExGpLZtiKJԑ5Oog{ @ @@fB129WdؼysSO=fΜ98xGF5:ɚ~|_b~dvRn{O @Iog&}kH^{mؾ}{K8#k;=a͚5姽&@ @4,з3>Iqyۼy&ĽZ1C:ɚgauxM @KoI'eZTV|ҵJJmumϞ=aɒ%a߾}XEÇ ϮF @ @/oQiӦe˖%TK(TM&ZjתUV\i]|+ 7tS)yG/yq%{N*  @ @^8TԪW\Yi#GL,/oYgU׼"%_~9Y6wohV{M?pg4[K/~$'?#L<3IZYwR_OrFȚ'kiڵkVռ'tRxg^w3c0)!GL?/_) ?NI~f wy!nS͙ۧ3'lٲeBwVԑ5O_q_-.+ @ @@}LZ`A{&޽;k_jUԑ5O?xĺx-1 @ PIoIk֬Ib`hӦM!^uKqfVXQ5i#ud͓5}ƺ@ @h@^Iv /bkҥ;כּ@>}z{gVeny8ê-^={$ @ @R 1s(%7o^`ԑ5O~q̸A @h@Lj2 @ @ ̤]ҲiӦ5S^k2\tEI鵞 /~I%p{,L^"G`=!@ @|B 'JqcQ _ @ @R & @ @@0=@ @ Z@0)5 @ @I @ @I$$@ @Lr @ @LJM%! @ @`{ @ @ `Rj*  @ @ @ @RSIH @  @ @H- JB @ @$ @ @@jT @ @& @ @R & @ @@0=@ @ Z@0)5 @ @I @ @I$$@ @Lr @ @LJM%! @ @`{ @ @ `Rj*  @ @ @ @RSIH @  @ @H- JB @ @$ @ @@jT @ @& @ @R & @ @@0=@ @ Z@0)5 @ @I @ @I$$@ @Lr @ @LJM%! @ @`{ @ @ `Rj*  @ @ @ @RSIH @  @ @H- JB @ @$ @ @@jT @ @& @ @R & @ @@0=@ @ Z@0)5 @ @I @ @I$$@ @Lr @ @LJM%! @ @`{ @ @ `Rj*  @ @ @ @RSIH @  @ @H- JB @ @$ @ @@jT @ @& @ @R & @ @@0=@ @ Z@0)5 @ @I @ @I$$@ @Lr @ @LJM%! @ @`{ @ @ `Rj*  @ @ @ @RSIH @  @ @H- JB @ @$ @ @@jT @ @& @ @R & @ @@0=@ @ Z@0)5 @ @I @ @I$$@ @Lr @ @LJM%! @ @`{ @ @ `Rj*  @ @ @ @RSIH @  @ @H- JB @ @$ @ @@jT @ @& @ @R & @ @@0=@ @ Z@0)5 @ @I @ @I$$@ @Lr @ @LJM%! @ @`{ @ @ `Rj*  @ @ @ @RSIH @ 0N ם*u= 6 a`zTT=3NNW @ @/b{~ۤ6ᑧ ?7̞}y8SV6])s6cBެC8gve^z0{ Ss @`GCxiKG@I ɖ]f|6{"pccUURV>e<gy ^ >RCٰAbip }*sD* @ i3;<^9e+{|O/&MNԚvŢ?f*{:K/PsC? 0?o.+i[3c8) I[ʕ+ƍÑ#G_6lfΜ6{tYȚ>6"K={իW[&3gN>QCB ?pX`Al РzbK Wɡ׋%v6ƇJV+} eiL|'@TYYiNay˚TCN#|Nd~kG}4̛7/[.,]4<- (e#k8@Y@Ғ%K 7$ܼys+n馪c><\Zj. Y_^ZodY[*gbUZXiJP>>0v_S9T`| h|h>?{8S-;>u@ ŀCODb%Tz18xGۚudM5s=7a6Q)ȴo߾3Z9{ ]tQx+$E`oNhJ%S6PL~(F7nPSȵ@y@hL q{V7ӧ1}KA$;yHL5\3&k 7xcK5kYFfUZgf !@@ TKosca~YS1U H%՞aoF(U Li9(@yp<_hħіa[]P܇RJ{<: @=33iƌ3jN:n$q߶mےJ[eR*5]t˗W<$$P>;WlS/K_ ^_ @)^>{zZTJ4[.M} @J_JDU .J8bB0|`xw ?/8<u;^oYV9HP $ Q??K6*KGM6.:+P VMK3JKb)H6ſ[NqU^xxc̎9s,:BX8=K/ %o f& qAU:W*ڵjcZJqSO}S!J{ęM1} Je=J3E'+=V`|itZbg5f Z* -'jnV F7ZV(pDxI~HOLAZqZ1YȚ><}7’%K2,X,{+/k/N Q7.U)jڰhc6ӎ;9G65۠_8c`CYFeA8{1aT e>S(X]!3-[&OlxG:ml$Oy[% @#?B*_g*esR<)'r IDAT0`w$ 0qV߱dZ2ۨ|6bq{ a'$O<)u @?z&gs=IwZc klZGԷاv#>/ϒEZȉ@ 2-B~MY q9#{# fX՞ B$Q_<6<]qt䭽 YϨ8(fvaGEeȍ@֬Y>UVrM6!u#\+O>dضm[!kYNJYxq_i'r-W/p׎b)׿JY#@N8!\,~8z-~Gޗ/v—_o|%Suלb^< N t{#W`R'h׮] g}vwYs@>}z3ϬArHYzu[7RWi҆dC9RC #?߄>z,ő\HS`{gLp,@o)~%qKv>f7KpaQ[| B嚩 . T @qVe}oGga|#SlªE,[6{ج؇O8 @@/xJ/6 @>4`IaNJfbl{<|߆ m~vaM=!^1:M \ I}wGì "u0iH@0E!@+ُ-|RHS*.}{X^slBxr!yBaAY@0GW @@ Xg݉O[GÒ N~/{A]O~a#@}(Pi[\f )Hq[~NU 0I>@4*PZэ JJʗE ?g.-yB @ˊd| }?R1pV?¢S;Q: @@W &uph  Ј@)/xf\n @y<> @>o9v>IW?_6%ܵ8Ar, u ЏJ8ۧ8#)[p'1j'@] `[ & @vKZkfm+.;A )o PU@0*  @@/ (uG:[ w  I]0@G@@=y)oIo/=/]O J@0)D @@ (Mn&ۮOmܡP;t`R& @((m|8A@\vW }wj8DL9ȕ@ ( *\[g o$KӲg@@0) @m!7:,B`@|ߏ__pڀ}'@QOH E&xA\-|4,ُ @`RE'  @~Go.>ALO>W'N 2/  @ $N @,.ߦO6ַqhpo,oF'5P@0) @ 7oٌ<-BG×8,zYqj) TE @_bp.;-GO^߾|C=H) J2 @ rpf5Yz76&-[@0) @ vIy ;M I @ `R:' @>q_)I@!Xg֔Z=-_[ Ф`R @-o#WKq8W ?=[¨ @cmˣ=ˊS @@&L\ @(7~ M6ԧ7v% @@-Z: @x{͸1_q| ^ @@ڀH @Ο;%Bw),qK %" Ti @ ߾q~Ǜu}tjz @uIT _f(ysw=uڀ}9:Em* @zI ِ8;i+vm/pG.ZR @I]%@r,Iϱ@v+qv5'o'Y@0'@zOEŽtFܽ7vZ *KIN &UqȩˊVz}ˋ3 @@~6n'' }W!f TӴ" @@+Y,lcA7>P81i atI @ &M  @nXqA!lk[Sm^a6-ExICj &qȵ+5ݖa0j?t`R f @'b)ռy`RN%bP0 &% PE@0  @(—vXwM,q!v2.!@Kb0) (uȤo͆Ò>S @@oRʷ[='#܊\V\ @Z" F @*p apV!bt`RWF @$I4$^9 @ :K% @}*|i[t`R76 @]-h~1T|XTnƕ lף?_Z? 2Q*g4T0G|c.hT OKNq?k?~K<ŭ_T? @{g,bJKVʷOq+]sb @ &RI @@ %Sq锣8 βĭGJ  @zqԴK~4)+Kܖ_nF6  @@*?aS1ID+.*NL7J㓌WS @@ &i7 q7s#O[q &3ʐOR @ `R:' @ҩ 0xR7P @@ &j> Y+M kvRgaB R @2qIL]e}ݾzȣ @@7zL4)w#{,ukmهy^pLIn @@F\2%G8$3ɋ+初M- @ wIr&@O&yhEb*TL @@翻&ܵ&Cɼ;$@|)qK @+.({-sk1kˊK~-+MA @@`R @+,>-%YG=_GUBL< Ш}y`Rȷb0AO@0}J&@\`pw0m- _I5zCtP`Bxe׭G]$  @@IMN[`E7B 9 @ &V @@ \oRqn @ OIym}%@Z*00R֦ ?NafRS2 @:Iu\&@THVxUKݪMW|̞h`RhLBزh.|fno @La  @`,,ofx  @@+Z, @ w^?o[7 i>vxh 7zDtP``zCwBUUenUq\ @-Lj! @ =qꈙI0,;솱o_#@,pY#ٯ) 0I>@@ij1]5n  @@ &! FfϽ`fRS}lRcIHLjN6 @@I ӳ%d}dɫ& _ @-?gf)z!z< @2@+pN!sM@iCɩ] @ Ig$@(pB:dfR}Ѻi$ @Z# G @9}SB0I:̻zى @<&ahSF 7Z  @  @@O ,?߲̭8AA_@0j @ 0-$viFfui4`R  @)0X܄Aȃ`RFY  @ ,S?nmRA?t*U5bZK. # @@W =|:<$UW,JUG+ ߱s @ q ЯI:ELeWIe3OwDy`ʕ+Ì3BP/l7RGhNIK.mi@:ɚ>,Y.<ڵkw֭['@(P!}6֢s//@6oޜ6l͛ptM / ~{Kx#kcfΜbcx,_<|; wuW @f|վI[ޗ @@6twkf4R"kKoHYdM;H ,зTp  @SBز̤V-.>AAtNoI?x 1OL8ȉFȚ'kZK.ZI\#@Z 08`L S}fPow*Iq/fs @< wz!< G'aNXz_ >멧ڑ_U_`Ry'Hz 70a_V^{e3-=! WZ @@^b Qudwꩧ&駟-[hv @@.QI`=:1Cé TH+LLV˻w &Jif HYdM_/FXdISwapxKܳF=Ο[܍VǸ '@O}u(iI}g9s-[L0{k8#kkjFZ'7zG6\ @}LOm{&t=Nي7oVJUKHYdM_|`$ @-8m`#s/vj=v,6=}j] @)з?y׬YBqئMBV눳:o=XjFȚ'kŋu֍ o喪qhB`RDd)auW @@;6ڵkWxg BwYw0}z1,3ϬHYdMzm۶py%};@R\ @:#}Ý(|rdfRN @`z3ƽ>*_#ud͓5}\I @`)Ljrx8` @};3j#@8uF! L I0@t@z:.q׬Z  @ IP"@4+0Wx٢!pljD" V @yX4dkʃZ֮{av\ @`R- @L ᑧukf#a>4rAO6* p;+pY>ζWX @`M!@D`BD;Z/^3ZD N@0)T @ &5W'ӞOR|Sth`REGxK 7pSgl PIOJ* @Z 0=,j"l?IIT%@ IDATLꌳZ @ \Ĥץ%Y9$hklpV` @*IU`&@D8{f6nB @La @_WlO;t3Z@ B@0)$ @FfB |8Z/00e*/ TH  @@6{ah`R{}N\`'f&6x#K/8*LJ$  @QsuFSB4h`R[yN]`{F>n='^ؾhR Ѐ`Rh @ ?wd)W-uKkV/]e'K: 6* 0F`z! +;,Nq4%7jQf Д`RS|2 @ *W[N~E-s$h`R{\J NU @ `RF0  @:973<<]\*8 @@:-> @ . pU&H+ VJ: @@C7Yr @LP? g?viv:sLjQ~ Ќ`R3z @R {])$#@\. #@K  3a?  @@+Z  @@JbώIr=7bY/ @@{T @|`\* P]`瓖Uש}FGR @ I^_ @Fg+=mϵ̭A: @@KZ¨ @v H# FI @@ fϛ(ޗFGH@0E!@8g@H=zOu @IV> @L`7^f. 0Iv @ Gs(~:b[3CnvW3z @&Q) @W]$  @H  @~xf~ @9L`* 0|{~;j'@LjFO^ @@|5!'8A&E'IaW) gOZۼ!6 @@Z-< @@ YaOtATּ" ~ @ 7I}3:BCxy3za, TY @@[Ι]hK %@tJ@0S!@%dn @zy9Sgg&y*Yq;px<2 @LjR  @.{ߔ睬-cj'p蘀`RǨUD6%-h`R;TI"0=#̴Ti>!r]O ;Y;  @^LQf @{=?:@r* Ӂm @`ޗ&qTM4!  @FOj$W|u8zOH@0CS @tH~cYKKQ@0&@TX8j : @L1 @@t@@0Ȫ @ :[Vn5 ;I3VZJe'=  @ Iyu}&@B] @dL* ,  Я3<_X @@? Lڹ  @ Z>x>fGz @@I @ s/X*;t%-h@`_p;p2 @U`z!}I0) LϒZZ @]I۶mkmR  @]*0xR6L @u22 @@P.I  @.Lꒁ  @ _ _zK`R^ @ @:"`RE @='pBo[ځcVJ: ~L櫁 ЛoJo6|[=L]'&@-'p(Zvm3gNشiSrg W^ye9 @ 8tEW{V揮c{CF Oӧuᮻ v ˗/O͛7/^ ֭ @ycǐ @zJ S0c:ww[n%̜9s3L2[i' @s-ss @)0f? ۶mXD9 @ ͭq7KV @['pՑ'

孏-u @ -N @MLj @`4P? @WXTޱ^mv @yhk0).{s @ @@[Iä' @ N7[_xIӷh8u@=<n}> @@gFNVڃrԔl& @>h*tuׅwOxfϞbiҥ}ʦ[ @ |&4lPu )mڴ)vmmJ^Ϝ93|! @5Ӗqr2I|uZI\#@^`p7  @h*tE;vvypppu|qȑ1!@(pG( @]+T0iѢEܹ6oޜ߳gO>}5/ @& ,SϾlϤ2 @*T0|Xlh>τ;yzdɒk^ @hḒF!@hinqU:>ICPs wJ|'@"0t̤*48skɵRFtRI~0<<͛W)s @o \=s{?3Fu$ @hy0CV  @ @$4L*$_ @yȌx @ ?M홴rDjS @@ ͏~Eh@S36n֬YS֭z @ |&ܿfI:v7K: @y.nml'@!T0ꫯ_&$@ O*9oԼ" aIׯq͛7w٪#@#՟VEMm(Zʻv ^xa6 @@ [ l @@ & p7]u @ @h*;<\hNwL} @^:T3U/C[  @hjϤ/ fd? sk  @V 4Lڶm[v<5H @3{EjF&C`Rϛ7^  @y>x3S @,`R;r0cƌcZxq8x`˫ZGYٳ'\uUIKޱcG~tY @@[oz˶ zىm!@hk0)3ZyĀ/~裏&`ҥK[PZG#K,[dI袋FbŊP/07G`V @ @ 5J͛7'A 6n)\xooIUYȚ>62k뮻.u]!u̙I?n!x-B @.–G!@-T0)ΚYjU+~ծ:ջ;\s5Rk6l߾YȚ>6.k8#iJO<ĄN @)08ݽ @@/4@?Κy񤯳gKgqYVX??N(..jUP%kYgF`Km=wȑdvUJ*jw @h@.СCU+z饗^+P(3\~"'Ryq9׷pg)j'um|ZkSZs]v>uTnܹs>d#ҹﱬ81O1~d_ TT$"@|=h*#UO*ΈqV {oF\|g%}_/%i{;}1ToFR+At^`)ft^] @@#MfΜlI:3򓟄[otﱞ{gB9wӆ 'fV;#(kYǶeS $=,G//ϒEZ @wp#@dh*T/O\w1{TJܚ5kbeӦM!^vęKW^yeÊ+%Kg#kXI< lmI;/~p7厳 @@ \ĤQ_oR @-&qԮ]‹/>dS y!^v gM:֑5};K;w&ԧ>P(^/>`կ~Jy1 @ @Qf|1sg:>éd#kؐyb'z-?k @m(ePzY': @2L*tgϞ]t @@w ؄҈,ås @`lz  @ @Z'yfRV @@ye]"^ @( ԍM @@.:M@3f>alcO @H/0t؆鵤$@&C`RIiqm۶ý;7 @.87_w M@xjqox  @d 4L* Kx?W:?T? @WJ+MH;G֎M% @ St\ҖPJ$  @`D`78 {`8o  @ <*'@L䱉'!@t@`RYIYvf @&U`pV!n:*'@j d&.U @fi  @Lj  @)g_N?ee @@ S0iǎ WLކ+ ЃC`dOk"  @@ 2.\pmR  @=&0dz#f&ۼdZk @ ~2U @F=dzvϝ2 @$ dR(B#_GU @zF4 2 %@æ\g U,b @<3 T @ wU];h @8m`~_D\ @<3)aÆbŊnݺ1KUVoRQ5 @@ L #( IDAT#k @2b㌤z* B!:“O>n04 m3 $!@r.y[k̙aW @ur?o[kUF4#̤f* @ 993<-]"%謀`RgF,0t(3$FtH@0CЪ!@4"pŢ9{pV>ge5rC:) Imu @xfoN#J zFO@0}J&@4-p2̲1@'෍ga[.'`#aβm|46`"E9Qޭk.X:Ikrt`clĒ1XaX{zҎ󫫧ꭧtU}vCۙ2a @ _nRZ'@&+< @@zjns~ @IK@%] @ R PL% jaסjVz3* 00ir @ #Stt +:ڟ @I99 5j]5l @3 f$r @o; @a9~$@Y`p" @*2$@+p ЭnE#'@K @ Ι+myg? @&k> 0@O- W0)tO @ ?F@Qoxt B@4*]`ɂZuZW]Z}ZGJ) L*4 P5ޞU^ @¤Όq @l^- ֕IG @@¤M @X~8 YaRgFhK~m$ @@V¤$CQ`ms|nO=}*GIM @&V @ Ιݮխ}ݝ @Ix P80^u¤{U-ܓЀ @@]+ @DOhJD) LrZE(ra-~k&8wj"@1 bM @ } $@ . L* @)[LjzNtG@w @R \u5޺<  @@sz"@&wiSOʭ4|qaFb  @y¤@J(uhXpy$@f- L5 @xO;ۡ @# @k.<Y@쪍R(R PaRI&0  @ʅLl @' Lꞽ  @m i9i!aYi&@  @¤JN  @ ,da˒>ͭQ&@Iϱ  @oz{"4 @n$IS P]׎}{SEP9 UaRWuNH'pâ ҝh @@¤A5G]'ڧw @d¤T.(Y @{¤ Жʅ.;.WkI @@¤@\`8ܖl̟4$@ 2  @SXZ>To!@& @}v  @Iͩ @_;  @&u\w @ ܰhl=#^{H'@r&Fa @@=L{:G4M @YP @֑Lj^m\ì#@Z& @@V..ڨϪfט @LIrj EW G23zz!@f# Ls  @]걷q[7K%@Z&0 @@uLe, @@Id% @ \[Wϓ^x͕Iͮ @@IŞ#@L)[ kݤ7qՔn(0 a @K®CqIC >O:- L괸 @ 0ٕI MZFB!@&塪M @@Y57O:Б. @# @L}]3tm @@I%@'@+I@ @¤Λ ! @`a @v @,?,Ӎ-ZUh PaRyH  @V.7xY΁q @6n͛jZXzu$vH{N<֭[רYݻS @կL>Oh'(@aR>|8۷/6¤LvH{NrK8vׯ_Jhd @7_8qp @ @aҎ;!Ҷmŋ2=PXtiؼyszIh=>7!1o;$x(IϿdΡq @ D&=caÆ gÔ<app묾Gs\v %ҫ:q @w ;FN%m+|+fcŊ*''d[RdK$inC'@ $AR ; ,4dnKӂ š5kҜX @ go l{Tνt{Vy9m= @@MU޽{CDL[ԯ### $vH{N5$_>^: )i~֭[]N@ұ+yn] W`LZ ]{…aΝfx!ٗNiI{|$H;2 mNK564a&Kh @ Om{ϯ7$l%fv6mPf>Ҟd )Y#Աqz=NXv. E 0G '%!Co-z)p͍Ħ:>ҞƁ%KLU  @ ϫ'K\ @6L { nkBVk,[lqSXvUWM9ǿ ٿ5jN>kb @J-ra-~os;vL  @@U^1 b~򓟤ŋ'Nt^;}='k׮ ~# @qկL.yK/ @@12FEG`Pbb[ @  ;5Fh]`cob^oQ[yG @ x  @ ܰhj7߱P$@ q P^003h @¤r̓Q @fvA3B90iV|N&@G+qqƓv$# Қ9tC@ u} @rI'ȼqt6 @¤O @Z軴8PCZQ @@7IP' @ \h/ʻw%9hT@) @]st{ @ faR̳6 @rnܤ+tX@ap @Xv*"yhF@V @>.L*dP@*=PssEUu*'@r 5_FKV`cozԴu|*h  @"aQۛ)e5=A @J *5݊%@*!S C3L(\@T 4| @7pw @ aR6Z!@F+j 3!@"&E6!@,rN>$ @ aR>Z%@tMkchcX;j!@&u\ @\u|p'WU @b x. @ x8aݤΉTG@TV) P!% ja!aR\ @c¤Q 9ޞ]9p= @ *4J%@#pϪ!|RzUJtN@9k= @:&wiSOXhpٜ\ @¤b )UկLo#cݤ8!XC&7s @=O1ߌjK*& L؄+@%!uW&UgVTJ/ L* 0ʅpד  @maRtN$@[`ѕsQW&{O@T93b @@K_=V3-  @@+¤VC(^/^+K0d 0)V @/py[25ߎ7}u @iII(@Zr[+7 @*2$@)|۳&UsTM' L*ߜ1 @eo;vR2  @I39 P^0SO*oFNJ@T0 @@7,I @]{ќPM2  @I-B9 PfE_ DžIeCc'@E&e& &r;0T[݆Or~M @LIrj PL\t @r1OFI@O- wf=Բf  @,IYjj P`7,]14 PaRYf8  @Xt0|Ddt:0O @@UV,/]tݤL:  @@I%@'@*D,Lt+d. LʜT @b ܳjnp`&|(*3 @xax @ֱEwC1¤cO  @@F¤ 5C(=P> PaR9(  @ }U-:T/ɴ< @9 r4 @~'L*q @IMZE`FC@Ty2J @@+oO=}*5H+ LwnUFV`msCI/fi$@ q P-"X[ݪ%Z P^aRy  @H*zv'R @B¤ MR  @ ~c>OB8v\t  @Ix P /MoϿԽurpE @ I j PV{o/a鮖JoK::'@)jr( @ Fk#YQ_mi-5 @@^WU @ZZx bl;od#@J! L*4$ @ ?{VM_ ԼJ(&kcW&5n# @@IC"@tR56_~0iN'@D!S /|hX@sH PaReZ @I3!@' L*ޜ @_X^_h8v|lA 7Z|c:"@2@ @_/]Nu}]6d LQ @ $,]4munh @*¤̴:  @3]6'<0i`ʤg @@I"@tG`ntk~։Qs['A&e- @@VVW mޙuv + J1t0l @dw/[hY>6|3d9fm @!<  @ |a! ջgاݕ  @IYj Pz/;V_;n[|92k";V @)py?~/+F>E+l @@I.%@/vٜ/]Ϧ @@¤MH([YOVps:n֭[Rd_wn| @s}_=J: @l a߾}att& d(#$9;v˖- K. /rؾ}{ϱ+V|  @ ܾxNxtdۢ  @2 &LJB$Dڶm[Xxqj,7o>miO뮻.<ȑ#+2)T# @6 C_\\(mo?V.teRZ7 @ &Lz† B__8x {_d\iIfxn]#@d!pâ"su m @n ArG\4Y EiH{|92Zkǝt?'k<=aa͚5 iu$@8l_cτE5+l @@};L޽{-^y)+GikWUH."i&$TFCjKSb$Mw[KS`9a3)?ޙ?zI)J2N73u\GFFfgd3 Xq[mi_~Ƨ/-#ud4Lˇ;(@i¤ ;wNܽ{wHe#9'ڴAJ U-Aj׏pLj1 @ j Jɾ;vM6xEP>s-;d+)%@L* Z NEW5{(+#-1%E&rl>; @mM<3 4o=g @yE { njZl}SmiH{|IsP(9>K @$Vf+r->ͭk P$ÿO{邢o70 E?c!@ iL:@ @tW`msC詅'~zzځ|pb4Z|{Z$;  @@I%,C%@MOV ?v]FÒ¤͝ @vI9 @ o^Pۿ;5pʤޱ%,< @<¤̕ @ 'pypjc${Vo @QFE @'@=(:9 M ERuoL&e5 @@n:oX{^ @e&q֌ P0m{'.JF# Lg.UB_~~uR=7{IO?-n] @I9j P5]|flfo?V.&5=|'@1bE5 @ p+ 0;@&eg% @@.ñ5귾-F@T* ]{焻ozTߞikd+=[O @*-ݯ֯N$Û}[G`n< @n_שSMŷ=''@Y 2)kQ @*.'=p&:4n8  @@¤'UI @n |K[%  ]ʤn΅  @@¤aR|s" @ @@n¤h5L @O@ߜ @ 0)7Z  @ @&7*"@ @& LʍV @ @Iͩ @ @ r0 @ @ >aR|s" @ @@n¤h5L @O@ߜ @ 0)7Z  @ @&7*"@ @& LʍV @ @Iͩ @ @ r0 @ @ >aR|s" @ @@n¤h5L @O@ߜ @ 0)7Z  @ @&7*"@ @& LʍV @ @Iͩ @ @ r0 @ @ >aR|s" @ @@n¤h5L @O@ߜ @ 0)7Z  @ @&7*"@ @& LʍV @ @Iͩ @ @ r0 @ @ >aR|s" @ @@n¤h5L @O@ߜ @ 0)7Z  @ @&7*"@ @& LʍV @ @Iͩ @ @ r0 @ @ >aR|s" @ @@n¤h5L @O@ߜ @ 0)7Z  @ @&7*"@ @& LʍV @ @Iͩ @ @ r0 @ @ >aR|s" @ @@n¤h5L @O@ߜ @ 0)7Z  @ @&7*"@ @& LʍV @ @Iͩ @ @ r0 @ @ >aR|s" @ @@n¤h5L @O@ߜ @ 0)7Z  @ @&7*"@ @& LʍV @ @Iͩ @ @ r0 @ @ >aR|s" @ @@n¤h5L @O@ߜ @ 0)7Z  @ @&7*"@ @& LʍV @ @Iͩ @ @ r0 @ @ >aR|s" @ @@n¤h5L @O@ߜ @ 0)7Z  @ @&7*"@ @& LʍV @ @Iͩ @ @ r0 @ @ >aR|s" @ @@n¤h5L @O@ߜ @ 0)7Z  @ @&7*"@ @& LʍV @ @Iͩ @ @ r0 @ @ >aR|sKE{moҾF (eBV 7n, \׎;ri_S 7_y 0). @ @ BaR$ @ @@^чImk\z022e;}='II[n ֭˼f  @ @:LJBÇ}ѐIJ'8'k,]4a|v @\ 0) Ti۶ma zl޼9vH{N®O#G4LʤX @ @цI=XذaC7<@XGsԒgڜG @L 0W^ _W&ԼbŊꫯNx#9io @ @Zm2W$M6MvTMTz|8۷/6¤Ҍr P_+V(OFJ^˧屓@'{~XvOX&{_Ph̔ئg.^==e'緿<5I1w7?<(L?PΪ)uj>Q}+i$DjI4c 6 x088J!@(ർ&@9 >T \DL"Y')mjscR[qVD^k'U:_YWsUZ>W&UYS'O4Hʩ; %d-"W\qEcA. Ed,G}4֒E*#u2SPp۬sM͛pOOO2Oo>#@ !]qBCCC VtL`ul:"@^;NChu}cIx:Ԭ0ر p'g:نSrΛQ8_k"~'@ :y@ >V]Omn=Z… Ν;'!> PlŞ#@}0PVX ݻ7$l)t]wYTLky&\Z:CD*0aRޭy䑐222F}!g#@ɧ$k#%W6[do~͇|'@^K裰~_($_k׮-GFI^˧屓@^磞^hGsOHS/wc#@ @hII-19 @ @ &y @ @, Ljʁ @ @$ @ @I-S9 @ @@9@ @ в0e* @ @< @ @Z&L@ @ @a @ @@¤H @ L @ @hY@2  @ @I @ @- Zr  @ @0s @ @eaRT$@ @&y @j{Ouի϶o#@' L*ޜ PQe˖ R6m4Nb޼yZIDATg_FGGCbŊqg̦{fҮ(@B핺scT @@};[NYEД;#jhY1SS @D @@|t)OB..Vmn#@(0رcol¾7+q\r;\{55Jfn @I9 ?x`HŋۗE۶mkzo߾u5'u㶸u+/ @@aTة10 @I@gϞ\ܒ>ϟ(y ?O{'])hu=V똬V\ @ 2 @m$C=t6#G=!ygpR/iɒ%] Z#0| @b1FA'A{Ӧt4/juj1 @ ?k&ge @@ɺH===F{Iw$j  @I[9 Q/_U#P:qĤ OO'}RGǤ? @}L @<|pw4Hɶ[Sۖ-[lVXjS:X+ut|P:$@fRtN$@/EɕImBnxk+>M&&zFI6 @ns+ @ @rҹt'&%AR 0)KMm @ @"p[< @ @@¤,5E @\@+ @ 0)KMm @ @"&E>#@ @d) LRS[ @ @?#K}-IENDB`secs1d-0.0.9/doc/function/secs1d_dd_gummel_map.tex0000644000076500000240000001340511733717716021055 0ustar carlostaff\begin{verbatim} [n, p, V, Fn, Fp, Jn, Jp, it, res] = secs1d_dd_gummel_map (x, D, Na, Nd, pin, nin, Vin, Fnin, Fpin, l2, er, u0n, uminn, vsatn, betan, Nrefn, u0p, uminp, vsatp, betap, Nrefp, theta, tn, tp, Cn, Cp, an, ap, Ecritnin, Ecritpin, toll, maxit, ptoll, pmaxit) This function solves the scaled stationary bipolar DD equation system using Gummel algorithm input: x spatial grid D, Na, Nd doping profile pin initial guess for hole concentration nin initial guess for electron concentration Vin initial guess for electrostatic potential Fnin initial guess for electron Fermi potential Fpin initial guess for hole Fermi potential l2 scaled Debye length squared er relative electric permittivity u0n, uminn, vsatn, Nrefn electron mobility model coefficients u0p, uminp, vsatp, Nrefp hole mobility model coefficients theta intrinsic carrier density tn, tp, Cn, Cp, an, ap, Ecritnin, Ecritpin generation recombination model parameters toll tolerance for Gummel iterarion convergence test maxit maximum number of Gummel iterarions ptoll convergence test tolerance for the non linear Poisson solver pmaxit maximum number of Newton iterarions output: n electron concentration p hole concentration V electrostatic potential Fn electron Fermi potential Fp hole Fermi potential Jn electron current density Jp hole current density it number of Gummel iterations performed res total potential increment at each step \end{verbatim} \subsection{Demo 1 for unction secs1d\_dd\_gummel\_map} \begin{verbatim} % physical constants and parameters secs1d_physical_constants; secs1d_silicon_material_properties; % geometry L = 10e-6; % [m] xm = L/2; Nelements = 1000; x = linspace (0, L, Nelements+1)'; sinodes = [1:length(x)]; % dielectric constant (silicon) er = esir * ones (Nelements, 1); % doping profile [m^{-3}] Na = 1e23 * (x <= xm); Nd = 1e23 * (x > xm); % avoid zero doping D = Nd - Na; % initial guess for n, p, V, phin, phip V_p = -1; V_n = 0; Fp = V_p * (x <= xm); Fn = Fp; p = abs (D) / 2 .* (1 + sqrt (1 + 4 * (ni./abs(D)) .^2)) .* (x <= xm) + ... ni^2 ./ (abs (D) / 2 .* (1 + sqrt (1 + 4 * (ni ./ abs (D)) .^2))) .* (x > xm); n = abs (D) / 2 .* (1 + sqrt (1 + 4 * (ni ./ abs (D)) .^ 2)) .* (x > xm) + ... ni ^ 2 ./ (abs (D) / 2 .* (1 + sqrt (1 + 4 * (ni ./ abs (D)) .^2))) .* (x <= xm); V = Fn + Vth * log (n / ni); % scaling factors xbar = L; % [m] nbar = norm(D, 'inf'); % [m^{-3}] Vbar = Vth; % [V] mubar = max (u0n, u0p); % [m^2 V^{-1} s^{-1}] tbar = xbar^2 / (mubar * Vbar); % [s] Rbar = nbar / tbar; % [m^{-3} s^{-1}] Ebar = Vbar / xbar; % [V m^{-1}] Jbar = q * mubar * nbar * Ebar; % [A m^{-2}] CAubar = Rbar / nbar^3; % [m^6 s^{-1}] abar = 1/xbar; % [m^{-1}] % scaling procedure l2 = e0 * Vbar / (q * nbar * xbar^2); theta = ni / nbar; xin = x / xbar; Din = D / nbar; Nain = Na / nbar; Ndin = Nd / nbar; pin = p / nbar; nin = n / nbar; Vin = V / Vbar; Fnin = Vin - log (nin); Fpin = Vin + log (pin); tnin = tn / tbar; tpin = tp / tbar; u0nin = u0n / mubar; uminnin = uminn / mubar; vsatnin = vsatn / (mubar * Ebar); u0pin = u0p / mubar; uminpin = uminp / mubar; vsatpin = vsatp / (mubar * Ebar); Nrefnin = Nrefn / nbar; Nrefpin = Nrefp / nbar; Cnin = Cn / CAubar; Cpin = Cp / CAubar; anin = an / abar; apin = ap / abar; Ecritnin = Ecritn / Ebar; Ecritpin = Ecritp / Ebar; % tolerances for convergence checks toll = 1e-3; maxit = 1000; ptoll = 1e-12; pmaxit = 1000; % solve the problem using the full DD model [nout, pout, Vout, Fnout, Fpout, Jnout, Jpout, it, res] = ... secs1d_dd_gummel_map (xin, Din, Nain, Ndin, pin, nin, Vin, Fnin, Fpin, ... l2, er, u0nin, uminnin, vsatnin, betan, Nrefnin, ... u0pin, uminpin, vsatpin, betap, Nrefpin, theta, ... tnin, tpin, Cnin, Cpin, anin, apin, ... Ecritnin, Ecritpin, toll, maxit, ptoll, pmaxit); % Descaling procedure n = nout*nbar; p = pout*nbar; V = Vout*Vbar; Fn = V - Vth*log(n/ni); Fp = V + Vth*log(p/ni); dV = diff(V); dx = diff(x); E = -dV./dx; % band structure Efn = -Fn; Efp = -Fp; Ec = Vth*log(Nc./n)+Efn; Ev = -Vth*log(Nv./p)+Efp; plot (x, Efn, x, Efp, x, Ec, x, Ev) legend ('Efn', 'Efp', 'Ec', 'Ev') axis tight \end{verbatim} \begin{figure}\centering \includegraphics[width=.7\linewidth]{function/images/secs1d_dd_gummel_map_205.png} \caption{Figure produced by demo number 1 for function secs1d\_dd\_gummel\_map} \label{fig:secs1d_dd_gummel_map_figure_1} \end{figure} \clearpage secs1d-0.0.9/doc/function/secs1d_dd_newton.tex0000644000076500000240000001150511733717716020243 0ustar carlostaff\begin{verbatim} [n, p, V, Fn, Fp, Jn, Jp, it, res] = secs1d_dd_newton (x, D, Vin, nin, pin, l2, er, un, up, theta, tn, tp, Cn, Cp, toll, maxit) Solve the scaled stationary bipolar DD equation system using Newton's method input: x spatial grid D doping profile pin initial guess for hole concentration nin initial guess for electron concentration Vin initial guess for electrostatic potential l2 scaled Debye length squared er relative electric permittivity un electron mobility model coefficients up electron mobility model coefficients theta intrinsic carrier density tn, tp, Cn, Cp generation recombination model parameters toll tolerance for Gummel iterarion convergence test maxit maximum number of Gummel iterarions output: n electron concentration p hole concentration V electrostatic potential Fn electron Fermi potential Fp hole Fermi potential Jn electron current density Jp hole current density it number of Gummel iterations performed res total potential increment at each step \end{verbatim} \subsection{Demo 1 for function secs1d\_dd\_newton} \begin{verbatim} % physical constants and parameters secs1d_physical_constants; secs1d_silicon_material_properties; % geometry L = 1e-6; % [m] x = linspace (0, L, 10)'; sinodes = [1:length(x)]; % dielectric constant (silicon) er = esir * ones (numel (x) - 1, 1); % doping profile [m^{-3}] Na = 1e20 * ones(size(x)); Nd = 1e24 * ones(size(x)); D = Nd-Na; % externally applied voltages V_p = 10; V_n = 0; % initial guess for phin, phip, n, p, V Fp = V_p * (x <= L/2); Fn = Fp; p = abs(D)/2.*(1+sqrt(1+4*(ni./abs(D)).^2)).*(D<0)+... ni^2./(abs(D)/2.*(1+sqrt(1+4*(ni./abs(D)).^2))).*(D>0); n = abs(D)/2.*(1+sqrt(1+4*(ni./abs(D)).^2)).*(D>0)+... ni^2./(abs(D)/2.*(1+sqrt(1+4*(ni./abs(D)).^2))).*(D<0); V = Fn + Vth*log(n/ni); % scaling factors xbar = L; % [m] nbar = norm(D, 'inf'); % [m^{-3}] Vbar = Vth; % [V] mubar = max(u0n, u0p); % [m^2 V^{-1} s^{-1}] tbar = xbar^2/(mubar*Vbar); % [s] Rbar = nbar/tbar; % [m^{-3} s^{-1}] Ebar = Vbar/xbar; % [V m^{-1}] Jbar = q*mubar*nbar*Ebar; % [A m^{-2}] CAubar = Rbar/nbar^3; % [m^6 s^{-1}] abar = xbar^(-1); % [m^{-1}] % scaling procedure l2 = e0*Vbar/(q*nbar*xbar^2); theta = ni/nbar; xin = x/xbar; Din = D/nbar; Nain = Na/nbar; Ndin = Nd/nbar; pin = p/nbar; nin = n/nbar; Vin = V/Vbar; Fnin = Vin - log(nin); Fpin = Vin + log(pin); tnin = tn/tbar; tpin = tp/tbar; % mobility model accounting scattering from ionized impurities u0nin = u0n/mubar; uminnin = uminn/mubar; vsatnin = vsatn/(mubar*Ebar); u0pin = u0p/mubar; uminpin = uminp/mubar; vsatpin = vsatp/(mubar*Ebar); Nrefnin = Nrefn/nbar; Nrefpin = Nrefp/nbar; Cnin = Cn/CAubar; Cpin = Cp/CAubar; anin = an/abar; apin = ap/abar; Ecritnin = Ecritn/Ebar; Ecritpin = Ecritp/Ebar; % tolerances for convergence checks ptoll = 1e-12; pmaxit = 1000; % solve the problem using the Newton fully coupled iterative algorithm [nout, pout, Vout, Fnout, Fpout, Jnout, Jpout, it, res] = secs1d_dd_newton (xin, Din, Vin, nin, pin, l2, er, u0nin, u0pin, theta, tnin, tpin, Cnin, Cpin, ptoll, pmaxit); % Descaling procedure n = nout*nbar; p = pout*nbar; V = Vout*Vbar; Fn = V - Vth*log(n/ni); Fp = V + Vth*log(p/ni); dV = diff(V); dx = diff(x); E = -dV./dx; % compute current densities [Bp, Bm] = bimu_bernoulli (dV/Vth); Jn = q*u0n*Vth .* (n(2:end) .* Bp - n(1:end-1) .* Bm) ./ dx; Jp = -q*u0p*Vth .* (p(2:end) .* Bm - p(1:end-1) .* Bp) ./ dx; Jtot = Jn+Jp; % band structure Efn = -Fn; Efp = -Fp; Ec = Vth*log(Nc./n)+Efn; Ev = -Vth*log(Nv./p)+Efp; plot (x, Efn, x, Efp, x, Ec, x, Ev) legend ('Efn', 'Efp', 'Ec', 'Ev') axis tight \end{verbatim} \begin{figure}\centering \includegraphics[width=.7\linewidth]{function/images/secs1d_dd_newton_819.png} \caption{Figure produced by demo number 1 for function secs1d\_dd\_newton} \label{fig:secs1d_dd_newton_figure_1} \end{figure} \clearpage secs1d-0.0.9/doc/function/secs1d_nlpoisson_newton.tex0000644000076500000240000000633511733717716021705 0ustar carlostaff\begin{verbatim} [V, n, p, res, niter] = secs1d_nlpoisson_newton (x, sinodes, Vin, nin, pin, Fnin, Fpin, D, l2, er, toll, maxit) input: x spatial grid sinodes index of the nodes of the grid which are in the semiconductor subdomain (remaining nodes are assumed to be in the oxide subdomain) Vin initial guess for the electrostatic potential nin initial guess for electron concentration pin initial guess for hole concentration Fnin initial guess for electron Fermi potential Fpin initial guess for hole Fermi potential D doping profile l2 scaled Debye length squared er relative electric permittivity toll tolerance for convergence test maxit maximum number of Newton iterations output: V electrostatic potential n electron concentration p hole concentration res residual norm at each step niter number of Newton iterations \end{verbatim} \subsection{Demo 1 for function secs1d\_nlpoisson\_newton} \begin{verbatim} secs1d_physical_constants secs1d_silicon_material_properties tbulk= 1.5e-6; tox = 90e-9; L = tbulk + tox; cox = esio2/tox; Nx = 50; Nel = Nx - 1; x = linspace (0, L, Nx)'; sinodes = find (x <= tbulk); xsi = x(sinodes); Nsi = length (sinodes); Nox = Nx - Nsi; NelSi = Nsi - 1; NelSiO2 = Nox - 1; Na = 1e22; D = - Na * ones (size (xsi)); p = Na * ones (size (xsi)); n = (ni^2) ./ p; Fn = Fp = zeros (size (xsi)); Vg = -10; Nv = 80; for ii = 1:Nv Vg = Vg + 0.2; vvect(ii) = Vg; V = - Phims + Vg * ones (size (x)); V(sinodes) = Fn + Vth * log (n/ni); % Scaling xs = L; ns = norm (D, inf); Din = D / ns; Vs = Vth; xin = x / xs; nin = n / ns; pin = p / ns; Vin = V / Vs; Fnin = (Fn - Vs * log (ni / ns)) / Vs; Fpin = (Fp + Vs * log (ni / ns)) / Vs; er = esio2r * ones(Nel, 1); l2(1:NelSi) = esi; l2 = (Vs*e0)/(q*ns*xs^2); % Solution of Nonlinear Poisson equation % Algorithm parameters toll = 1e-10; maxit = 1000; [V, nout, pout, res, niter] = secs1d_nlpoisson_newton (xin, sinodes, Vin, nin, pin, Fnin, Fpin, Din, l2, er, toll, maxit); % Descaling n = nout*ns; p = pout*ns; V = V*Vs; qtot(ii) = q * trapz (xsi, p + D - n); end vvectm = (vvect(2:end)+vvect(1:end-1))/2; C = - diff (qtot) ./ diff (vvect); plot(vvectm, C) xlabel('Vg [V]') ylabel('C [Farad]') title('C-V curve') \end{verbatim} \begin{figure}\centering \includegraphics[width=.7\linewidth]{function/images/secs1d_nlpoisson_newton_85.png} \caption{Figure produced by demo number 1 for function secs1d\_nlpoisson\_newton} \label{fig:secs1d_nlpoisson_newton_figure_1} \end{figure} \clearpage secs1d-0.0.9/doc/function/secs1d_physical_constants.m.tex0000644000076500000240000000050511733717716022423 0ustar carlostaff\begin{verbatim} some useful physical constants Kb = Boltzman constant q = quantum of charge e0 = permittivity of free space hplanck = Plank constant hbar = Plank constant by 2 pi mn0 = free electron mass T0 = temperature Vth = thermal voltage \end{verbatim} \clearpage secs1d-0.0.9/doc/function/secs1d_silicon_material_properties.m.tex0000644000076500000240000000264711733717716024316 0ustar carlostaff\begin{verbatim} material properties for silicon and silicon dioxide esir = relative electric permittivity of silicon esio2r = relative electric permittivity of silicon dioxide esi = electric permittivity of silicon esio2 = electric permittivity of silicon dioxide mn = effective mass of electrons in silicon mh = effective mass of holes in silicon u0n = low field electron mobility u0p = low field hole mobility uminn = parameter for doping-dependent electron mobility betan = idem Nrefn = idem uminp = parameter for doping-dependent hole mobility betap = idem Nrefp = idem vsatn = electron saturation velocity vsatp = hole saturation velocity tp = electron lifetime tn = hole lifetime Cn = electron Auger coefficient Cp = hole Auger coefficient an = impact ionization rate for electrons ap = impact ionization rate for holes Ecritn = critical field for impact ionization of electrons Ecritp = critical field for impact ionization of holes Nc = effective density of states in the conduction band Nv = effective density of states in the valence band Egap = bandgap in silicon EgapSio2 = bandgap in silicon dioxide ni = intrinsic carrier density Phims = metal to semiconductor potential barrier \end{verbatim} \clearpage secs1d-0.0.9/doc/secs1d_manual.pdf0000644000076500000240000077670611733720717015703 0ustar carlostaff%PDF-1.5 % 3 0 obj << /Length 151 /Filter /FlateDecode >> stream x-1 E# bB"Z)aU %ӷ׻i^!~)@/q,0E}^=ކ+v=6 a9S*He* Z|!(o-9Fehsރ&#tnZb, endstream endobj 11 0 obj << /Length 1722 /Filter /FlateDecode >> stream xڭYnF}WPMf_ p/Ii⒔}pHGEŲs;wxuMyGwe I"8LDwC|:N>g5j͔ Z}{Ꚉ˜"Y[d s߮J8b+[oI &pD""$2TF86ŇO8ͷF[h1o#dk$ 8FF:Z"~7Inz;eQ2wW1" 0Wa98L,Q"caQL?> *oWGLخva i\x%MYKM<ݔvi[[nl}\ӗVOx^U-zU6zZZ۪~FyAU1&?7L<A2+1~&KΆWI3f:ań1[S1a)!D2uEJ8ZVSC?F~TY#WZI)'9ٝYoHZH!.IcqvRy{0S *%qf3hYԓjtX1o{=]k˖@>}a>V`_ά+@-TWb[lk_\e)W-j 29? ӎrF1P> stream x[Mb.G6 ˲kok-إ6\Jkr&{zH b TOUuUWoTa9HkqF3/7ߊ/[%3qJ6kuA3tJłZj@R3]÷ #d 3o?ޭ`IгSτ92˴ztVϗ|! ɭ𞉸T4 U^ӵ32n~yfXĬ7[1#xf̫.> gm{D."O'k 7b©Fkm;λC?;&Kӭ D1;k~5oFyzV؁bͤMY]V~ѿWw>8Nh3Bł3gf& n'e0I;K"$?ߡş$cʺć_z梞vLMP ,k#  ʩ|Mh]Nټ߱*fh P3oR+4#Eu"Θ (c DCtVqЖmCFz;?3 f# ǸRz^|oKjZk,gZc0iiUj5_B.rs/2WQ5*xk7_P0qRt9yS4͠ C4%+e>A鵤>c䨾=lsU:֜sj0iW/XEO JUpbXE(Jj5߂IGT_zb2)hWQ9Co>xX2iޑ*DơspoPXsn|I&2tO=jDkZ/R s^*"oj+V,_6KM=4ouyp^̛{O)U8p6;τC7^,MY {Y#4a#+wBJ(. @eR;nXBԎҿ!k V0HS1pr)R1n$5~;?͹vi|YR*b^Ͻ S`8 5Xb?FNc8RxI4BT*a|(VEŜ0OalYG9H\;thq'~Q&T! 2/2RWel2!k$SF@v09pn,2:$"({ PN5x$>67jXhPH" ]bxGj")|_ |||߲zz, Ģ(rpŮsym;o"vMyi|or%PE^#C$0D7 7$ĨLLr?1J T"sO&aƆ{jk}ξ]OFA;ٚH&ώ9=Y;,g=DC;&H:xq5Įp;h8ڒd߁ 1B@ڳ5~d|ʟ-22è T]dt>>>] l:crS.r#=Z%փc2l=QO{;X6<&%Mn +ăi\s-Nĝ `B*@ !5W1]-Ke~*\l8xKlnw E'2s{[9QH'T찿"5[7&OzrUJT BoCAfT%/puN3)@O 5gfsͼ?]I=S)!yĵT8zxŁ2rڃrx9"j\h0!h".DAR ˧L^ʼ y.2ԄD)ږRRChJ鬌?a| endstream endobj 25 0 obj << /Length 1272 /Filter /FlateDecode >> stream xXKs6W`z 9"x.NE;d-ɭf,˕eg!)i͡4]vv*|-˧ ^wh:2{~QctեL32ATc-ЇRfʣ_‘Ns8q?U0h`Z$JQ!vU8cq īd-2?aj%EMj2{ -:mӂQ 2aE`ԹxПIQeUD@-Xg:{Q5f>`VY4 iܻGXX) *4bxqRl8 )s07+8)["mD=\nDnc쫒 rIvnGAZk Q{Z=mcAlj9 pnpKˢKz$_ F8[+iFgV.|>}ad_ppy-8'֗-1xpf*00m^4XRmѝ5/Niw ^􏁯zDb;DxTO]n96o `aus&6e8^ I3&l8صGFA5Z w$Rj6 .pRpQ2[l*]C ZogX}O_?-~ڲTcy\  T}Zf}sl\ĐjCԶo`5vQ +D3[Eo 59 A3miIg<}]u endstream endobj 28 0 obj << /Length 2588 /Filter /FlateDecode >> stream xڽZKoHW{ u $݉'{H(E*qo5!JjQ2lI٬nx~EY&QJf׳Jՙi]OOo>ј#qF_=""H[c2S FRIRJdKJ糑6y14uVne]݈HX-MR`HęvZ~p)r]Mܟ{V;SDI&aFl;J& *6u6 yxτX(a/Nڏn^zZ~Ƅ?2$xG!d$\BrPK-a;CCI-11F=X4 %c0ҒtV=FA, e* qmDӓsg$&Y&Mٻ lP&э\y?I iʳEx'jQAI~r]NhR D|}QFX !bj-;7=Mh˩joSIq~B)lNB.6@Q|VS6S/0*DSycX(QHо= j ihTf0ގ4G|}!4nCۊ OĀHHMыd8y:!91!SY{>s1D+/${6VmldopPTR?2a"MܷIt`1UKf4&E ό&e"A A$QP:Qqg,K$Xԋߓ1$MVE BRЧ}P )L%Ds(BSMBL%  ݅:/ Ndw p(D8NY¿8ʔ 趃Ǧ´'Bdɝxg㞨 DSEω$]gv[;(A:|v׶d1 ݋: ȯ'+G4ӻJxA9nܤs<#ve>M9  k9K]P.bNrAҙ'SH5obl# 4SI%5M%D]CC pU JNJ:NN|w|0Tv;#gua޽I, f X6nDQ}S!Fwz >ۉfx+4O!cp=$F`dn{T ܝ6+B!0tUa-~=:/9ϷݘV*(5mЯ I;"rwgný%fGwn|ZnS錰vsXFweP/vGjj{Ԯͤ3aϗv̏hI"6 ;['('ؓgH__g4 7*}פFv{;]GjC$MQG\ޢi5q6s>؛xY܎ȸKDzSlLN->C1{+3NF(xUNBK8'ψ 8ݧē\,ʢw3뭻HS/ 7́%#wk^7vǎ*w&dYOJYlV&we^di뿓i7#'{Āש%;ʷ)Y_\كM=i]0fᆗmqC$;,'s,k[!S[vՑgSN2MT|"U`D*N8.DxiJ%ßB%jvtl F]'ѫ wQ|v>c47l.*ƒ].ܩZ]t?._ӯ _(."\L9.U xuL$9_lp͢[ߛ ʶ{ã=gY9URFY9س &&<.(d][uWGB-U{NamEQF:[>l!d9^6q&4ؖǻ붣bӻZ-#2es袽M[.|\Z:onYdJCc>o=k{X@{f /f]MSI}4^.Wz9ej0 pS6K{Օ?_Rb-іc' endstream endobj 34 0 obj << /Length 1148 /Filter /FlateDecode >> stream xڭVo6~_a6V HX[%FRtlHR&'Ȼ;b8"^Yz+, $gػXz~< "?b4q/x Ofl |~x0$Ƈɛcz0OӸ#N0e^0džI|^qi9 (ֶZ\R du^jjŪ <ykJ#PL P4K'^ѳIg~lc^krwf.6Rы)]={K6l(\N֕K hLl}hagb8L !/QH 0 n t1qJ &jh[ycn^ ݯՖ-gDbyy؋bx( 1!^!&W[& $ҫ ">N_BCעȆtqI߄29#cʵ>'} ^0W&tC (Iwn` 8jwTPgP[g[x-(B_7 8ۙ {wjpD:/ީ/Z#rYޛm,ODNΠMϖW gtӃ6Ԏ?fcİwW0m30ؗ~;vsY\Sў5s<^LXe{ֿCkS{^qۃ/__!񱰈|Sşνy2B[+Ejn`fpa1gQ`~m1zμ endstream endobj 37 0 obj << /Length 780 /Filter /FlateDecode >> stream xVn0Sf*9ۤE5qѢteJ9qs"M}%I|JMڤ]1?6g54l໮c78Y#!c2{w;4C;g71<;ΨB﹆i Cߴ-(-}xiJ]B' 9T, mJ? &y6lCІ=lPimd G:(~f[\4)ȦD+)*i+5mCd]Zpbꁅ%-@kE,_GA (ލf]??},V9`tօX'Gξp%Xdςs.Ă#D[2FleKRV<`eyzZеkA2x#;#96g-~7-i T~Z?266ַL s5r9ָ>zc)ZL9|ZH2JT'SE|L^hY^փ72 &T窕\_)=p+T)-whGRws >MUu[K\Cv{y?Wڤgu)i"BFwY(f 9[qD‘`X` Xr R"t1]h7F&{ʰl!#@͡,KҊqtv$5 kG ^ĘCEN(h"'E4E?-j7rZ5Wr6 s endstream endobj 43 0 obj << /Length 787 /Filter /FlateDecode >> stream xڍU]o0}e* hCFJ.⥛*LFG? d{=^ۻY`Z .. (Q A9lG+3?.8 !RR"fUbdEtt ӓ$O%y:+T2=Y DJa_X}aEŠN&ӰE,V0롻-v ݵ] Y2BY_8"Kiټ2ջLo:sS?sF:UYo=T¥ UyRTPV$iH448M2qfiw嗺C$ *ꨚuB䎮d> stream xڭR=o0+nt>^) "b(q@H@hTIwyVBFc\+-,_6H3Ipb,C@R4I@[ZHkzCؗ6h XE3Cy/ZEgDqV9ҊAtl*-#DV~)ڈ3+ɮMf2ߖRT85ľ u vI# ]m8VĚEu{h/ǩ {Uɏ8yoEGKv;g᳇3lLI+Qj1)$ :n6W ?ūWH ܤt endstream endobj 39 0 obj << /Type /XObject /Subtype /Image /Width 1160 /Height 905 /BitsPerComponent 8 /ColorSpace /DeviceRGB /SMask 47 0 R /Length 15443 /Filter /FlateDecode >> stream x}:42ˉb1N!٪[)X;F ,A69vBq+ݘ[Ů>6CF M *ϥN4Q-WzR|ww$w 'ǣ>G[ϯlJKb0I4WIe$RLTJd-!vi2*l?BH֤u7`W^se˟ cC|+:",;.lbP(Wjײ! x[4/Q/шKVg}5s[7{F,˺R䞍ݻh:t$3Ο:mz9uqRð6 Fz0](kwu]vD. i:wͧ5 ].tʋ)4-+vӝ6eFOۺ&3].,DYPXY2t貾'.C.[6ʚͦ.C.]6߂S2]¥qoeLt.el.۶%̀ _d],x;@>PBa;7 e piit.@tO if2]@,Ԥ.@2vܶ-.eĒ]Ze ].es(e (.iPgFIӴT*ֹ\X,Vp2]P2`cl.I/ v4F]eeoin.e~tsztjqBko; oXT|v Zӣ 2].BI[p u+F'NށF=\' tO|wX|c'f:QVu.`d]s6|]t3[ 7t,+etYX\et.]d7-8G]Y6_t .oq ~|.edml.˪j|f3Y_ce ;s.6vuN^g3s2]emLt.el. @2]@, `Y|~gx2].@2t2]G1t. ZؖNML}{uLbpt.@Ζ]^]t. tjR,BĿiZ*Lrbh4' tʺ,V04$Xxl6_Vp޷9q|nu jՠ@e˞#.J nwم4 i.2](ln6stقOٖ7+Fu.`5^}e'bqt`.[|zijVLFe n,Je܈.]0. »VpK(|>o;.eGƶȺXpbR);7~D.e.@2tL]e2]ve h]c[:5i2]@,e2].@2t2].j-{ L0.eL2byC+ ϓ$iؾZo,ftNM2@er.ƂKRKjLFe˞^ KՖ_^'j.e2wقOC[͏jjzLeݏ ~םi4e Auܶ-Xe UzGn6@rcx]T~hFt.`5Μ8]㍡B%I 2].Xqu䗄" u.].e2t.esF.eD,tY3@2be2].@2t9t ].G]eԤ9tѺ춛uL}{uLe ]Le ]L0. 9tS ]e2].]e2].]}v9t1lfs@2bGuLљuLe ]Le ij2]@. ]B2t. .].e2t.@Le ]LҩIs@2uَm ] ]e2].]e2].]}}.e,9tS ]e2].eiRǙXh2t$IƒV ]vYT.`tm7XU e[7l5]vw&KP5<XKHerIv 19)%tq]ʬ$Y}UjBne2tȺlFҬ!8 ]/[c2tL`wY$J%M^ZE],|4 6d5x%k+yTt9q\t ]et ]et ].F.eD(e (Ο:e tLe ]f2].@2t2].@2t2],4t. Zmۢe N۫e ].e2e ].e2e ].e2e Qvo2]@. 9tS ]e2].]e2].]e2].]e2].]Mml2].@2әuLe ]Le ]Le ]Le ]L0.k=Qt,|4 t. ie tLe ]f2].@2t2].@2t2].@2ƪ^}s@2"vY:5i2]@.۱Mt޷Wt ]et ]e0&]i^/J ].$Ise2tو5/>e2tY\ 5e/9۷ZJZz. 9УKH˯`6mdxŸ}$Q]v[z5[/:s.@2kozkow[:-IrCpRt}M]#Mlս^ ]֗l7]"tl0e x*^e UxJ7\Mo3CtY]V(>%ڱc a KK4_t3'L]6yU; tY]v-LNNX??6?CCOr|#=\}/2tY_]f?F:x]gwjRiW}g獺 ]g}v_HZe {7B<|nff\.Ltu܌{ΆOsvAtCr>L. tLe eG<e X]re (hb ]س2t.`w.e fgg;uٗ6͠e av+˚w O^3(t.`x&vey.@2tL@2e'Oe2]@.$ItLE@Sԥ˾|.eD첣\w@2e} ]eԤ.@2ꦏ~i].eDqOk.@2bu]{Ft ].}.뮩T*.e CtV12]{eG<9q\tͿz\.2t. VM|At ]O/c].eĵlwݦ.e 4en0%t.`]efso]HS].e ve.@2tLtLe 1ﲙN]vϻ3%t.`]$I.*gJ2]Psԩ^2t.`]vӏuQtCuǡs ]a]:]r\Fb1M?"FCeݕJc^j^+NTWLtFeaXJENV-+NX,.FoeSS e\.ۃq yi]%Kj5]jv |>oae]iӦKktwu%c$D:j>) ~1X Xb%`lFҬ!l߾RJ<tْ]f ѱdHv->+߇r|NuykV`Ǘ z>~7r2TN]6u k˲ߒmt$I*JU,u#벉[e>.`mvY(BN1|Nh4ݖ씉>/z.j]*M|S9q\6,kR>|vX-l6-R'gxI].@q awt ].)tf.i`J2]l+,e2]wY`J2]@.qe.eD=W\nJ2]@.}&ʙL˾F].e˒$e2]@.]h4 ]c{=tY]v޷5W2t. VS ]e2]wYZ5(t.`x]?V;u׮dE.e ~?jos L0on2]l }uY jjt2]@.?m2sL˚f. ufz2]@. jXu@.}%]\.h4]o4- |^`]jVf[l ]f/϶9s> V솻.˔Jl-l.eЯ,|>˅ՓK2]ﲟ\ڧ1rT*e Fe,mgle ;x`,0|Xa jjF]`]V׋%t2*J;Š,2Ie FemUh\M2].EFcFl=nzBt.`7}!l;ZT* 2-.t.`{ax>J%dZkgZ{t.`8kh4j5lPV[%~LFlf0 v+.q.e貑  ٖl~&6]XS]_r^YŰ&m?~9?"L0]V} 4ڻGj!+F7]s-+MӬ#{H @`[$ 9 e aŲ$ow[PpKn}[{ʏ|#cR%te9F;ǻ߅r/i_)6t˶?֦^ Nʵ%t/~YQ-h[:u]. 4xе-`\;xCO.el ~AYh?c!mj]^9/|]vw:XtO?fZн4?:\ Y|MwLA]}~<)˖LtYcQw_cry{y=+*KeC%%:e^xۮYn|wz/埿oy+[.ĨϾm^ءtJ$tVϭ -K.MC%%jK.|=Ϭx'~Kce/` fffB/ s񱁺 Xͦ.`ܺP(4p.@FT<ԣ ].4M BRf  ].[}Jz9{1].@ťe2].]e2]Y@2"vYh2]@VKtq2t.@te ].e2e ].e2e ].eU5 s@2"vY$.er# ]V2t.@t t.@t t.@t t.@t t.`4]LK^e2]@DI2t.@t t.@t t.@t t.@teJe ]V.]effFt5M].e2t.@.e2t.@.e2t.@.efgg]eQtQZ-].eĥe ].e2s@2tL@2tL@2FeFe ]$9ty.@2"j ]e2].]e2].]e2].]e2]tY`2]@,Ӻ ](I].e2t.@.e2t.@.e2t.@.e9t4 ].eDl6uLe ]Le ]Le 1Y@2E,ԙQt2t.@te ].e2e ].ea5 s@2"vY$.eRVuLQVe2].@2t2].@2t2].@2ƭs@2be2]@DI2t.@t t.@t t.@tere XN<e ͦ.@2tL@2tL@2tL0]6;;k2]@B:3 t. ].e2t.@Le ]Le 1첓'OL˒$1r7*iq&i4 j.`-wYT 9u_VZqgeaT>b;V*].tYX\PaFcNerHm߾Rժ ѱdHj-YRTS~|e]ɘ]@,d]경-|R(ȕ aӦM;bFVe@w!:)+JҩrܐlFҬ._ s`Ž6eϊ?.tC$.`vYPow#.@V <;IZRᡊŢ.@˺U(ک>)Fvڒ#'e^r}J.ZT*e'ߨV5nKS8|>k{H2tle2t.`vّL9t2t. fe ].e2e ].e2e (]>LEe2]@\ ]e2].3t.@t t. J%Ib2]@,G<e j.@2tL@2tL@2Fe9tLOO2t. $ItLe ]Le ]L0.+.eh4tLQe2].@2t2].@2ƶfgg]"MeΌ]Et ]e.eD척s@2"vY$.eRtLe ]Le zn2]@,I43t.@t t.@tceje XNgp^C,/Q/Q#]F&`K'o8[XJ[`)"҄Uܛ,m8@8}uE`4pv9 >N7϶mˋejF|SӦ(VuF\yVS0bĿf"p^#E8\qYNx̤ăq֬0dӽU Y G<ʧMQpb\m吡W.-ݚ)d"r1hWX)qx\. %p6էx qaG^cN۶\Vרj!5x\VΡ(VdEE,,mespJ_4qB gݸZ~|>-M[4+kԈa`kTCQ?G\YZ*2v\1GfЗ͘C}λ8&1iOk8ӳ ־cù=KEIˣ)D*G\YA~iz/SB_6ows2~Uyq.32quwyD,oɡ(ٗq9dcTB_6oa3Y(l^HbȢq]ڰcscKEBG\y5p5ysqL4}:l5,-͵0?joɡ(V!+8᭒fЗ͛=]Zۓ%;D$g啣g_i1힫x0/k<ez(IûQQUxKEBG\YZo4ˆZfޗ͛=]`Ntћ*dz]u}wYqMbi0Y?XmI}1r 3=c_4hF/1OM endstream endobj 47 0 obj << /Type /XObject /Subtype /Image /Width 1160 /Height 905 /BitsPerComponent 8 /ColorSpace /DeviceGray /Length 2058 /Filter /FlateDecode >> stream x O3D|  endstream endobj 50 0 obj << /Length 1203 /Filter /FlateDecode >> stream xڭVKo6ХȪz']jB6BQݢCq(um9"gf83d]-. 벰PBt$^?&<9]Z-/Nl.W }s}!iʰg9wS6#wRAcyG %x pY"a&I`>q4jq}Yn-:VćUi],~[|11 @ v91q~qFq8Y1&~t D*ZvB.[^wc6dkvfK\#+wBU7Zm@#C<7 ѯv+).ET7<=Y*jnU%xAMg$J dd. b8de&ySgQ)3QYkA U;*^ }!7&f!T$4Eff붗 &?Nx޲krVj;(QhڑN+=/ٜ8Np=7%-oR@̠/Ge%˥0|íFҚ.) '4'.Y}@ `a+8f$D%r8[ 5LS5T*Wč<]7_p Ki[ۉ|O]UwƵ<3ruTCB`{j&Mny}u@DlTƉ *' 10|d334"ZW=nMXఁ5<'*^_R-^\bE@d7՟>^Pz6YZ~ʆAE 0=22cF. XU# ,M!x< Pǹqnͪv4XRuѪm587wh}@b0FnEIG#}]lԥ͉#?90?u?BWƖ\C~o.vp݈~.PGwUN; %gOj} ޱ*8lL9{DfNaWCf7SSyx E7;#ҽ9c! 8ΌYqG !g0ӿkV'S> stream xV[O0}We%q6MCb}@ iC8!T6[ue|w/_G ؉&Z{o3:)`KeY;@v;YΨ0MFp yp啑A&˼aԭ܇Yd[a,3us=DL`*8G9]ԊeK'T>K b0OQdݔw  ,$6 y.7Vtk+ # ;G:x.4l%Cc qtӶkmٝ_EP(4nj]GM&7.Te~ݍ։| *oHݶ3횾Cg N7MIT\xcDM 6Κ dui{RBu$ endstream endobj 57 0 obj << /Length 874 /Filter /FlateDecode >> stream xڍVM8jn>Ltv54IZ=Lĥg"$hxd~m01&&K(Wϯ\r^wƙi}O4`&pshDЁ=1{`Ę__ff| b;w_Nf3=yڋ9[sn\dmM q/zG_A5]p|Sż1*"Øg]}WPང4 h|>cEC'dѭ }?BV4ݰGx˔ uZ뱺4߱*A,ha`V([#.GH?q ƿ*hLI2iq (ytI mĪ\9q>9*EK #:벪q%%4uvQv,螝rT/.PbӃl{mϟvF ҆T0@$\gg"b,<ӥ*%Z X>+g-|\u6 | hmnPf`8ʮ-ä.*vh_u;J01XPc \Zٰ}Yqd0ƦĂ,O7,K,Iz8p<⢎F1д|}qt#.KtH RBxż^sӼÒ}QB_a>|O_.G "fi }$HYd,3vox#@#+x˪o۳lϦy:uDT›-CO> stream xڭP=o@ +<^R@*[E6\"K:Vg?e,6,A@q6Xb~*$IQz(ɺH$%z@i(䜠fxD> stream xAh\'hjbb-&gN.߹r9|{%I_1b ~[wQ =@K_Yio7n³A^@BB:i+!p{e? \\ p!p?Zn%[rDŽ?..@H~(+[?#p%>@BOy/?7?{3G.v..@_ѫOكkٸ2r?\W .._y??ÿי2*"s5 p!pӭ͋wlUf_=}Y:8<~nMs{'ot:o~dww7|__ ^ A>b y Mx(xOoܭ؟{Ong~߼oLjc(+Ic5tpx|{_b+܏{'R!ݾ}^ǿ .ńr|޽VCugVəRyj?YD?c \][ג:MFҗ/wƙQ55Y7]?UZbW]kbK?:/+Xlbe?ZlC7ۮ7n'|x_.}:IcbeVB\W |"+DRÇݻjI~~H?|~bk|[|:2=pZ7?2OzV/{|oOM/K%p%OKr$n}՗o-&JJcL >u=2>xVe6d߼щpY&)Q֣rxbKO9pN6󕫋pŖקΓ$h|T=3+Xl=z| f_qƛ?۷?>ƻdFIc5tpxO4^Ŗ|.J3bu9%pᝅx3 \ [!pؕYj?V #bK>g[!pؕ;i^h<_ =}v (~h{*.^=}ӭB,.q$neVirf d. JÇ\.߻wj%cCU 772Ŗ'{ZZ a},$//+=^(+?+ ~#tVt9 +MfiTl/Vl \ p?d!">hzgVWJ%p'n߾= ƍڮGzƍ}^Xl4V3KD_S \!"hBºw_D_w8?ə%~~i.2~RLm/(r,VK%pKz5iaȏgYH_,ן_+υ_buHw~YT i+dBp/p'FZՕFir#*.|10̞4V3KD&pXluEX]Huz}G]l \褱2KsD)p~hzuW] \)˽OwQlUfӭ~a- x3vGHI2*O4^.Oʥəb[WO\[ٷ[S N4n߾=͒$ya<\.߻wowwr*M[;~ ~t>|`yw9yo[&d^&~C{oV/p?;penݸq#v[o jww7&k2̞4V3K7?"|7[pEwޏ~+YY]il&g&J| Vȝ #|dl׋7/_ ,\Vlw? \[3w^^f? kOZ.jw \!X F=WH`{?' غV- ܟp\ø|W[!g? \p-U ST'Ջ+[O(*W[‰Q֣- N6cw{*.ݝ'IQ? ,p\Px[bux=8<~3eVxPlzv$D㣥VLUWxVXz?Aiv:ZE5_VfO2SlGz͵f^.(QugVəRylPH4DxWZDb>|17~,}Ũv \P< +ĮR{b+f%p@![A,B ˬr1 ZVH[oED8i^l>_؊'T%DBz7j,2eV$0Xlnmfw[vzּΓܭD\YilU.$i۱JGWO\[pY:8<~n,hXlzw.|tΓ仯:~pzx}TpcVHӴjgϞK%pGtks8_VfҨ WV^ꯅ}.X'IdgRb+* xq?b2;nmfwc2A;bbW?$['/V'Jb+/I܋- >4>(*o-betz\kz).՝'ù[:^l}Xl46*o[?Dc > b+d߼o~b+/{{{Ww$D[On*iv:Zu9 +'ϾoUl%[A>Xl-UJc49QϞ=%- ~/w.+S ;f^\k_ \V\!vecX]6|mv29K8z}j,[y vOCz%VYDc1GjVk[j,7~[!vU.AYD#p{C5_9,mOM/(r ) \$9~pbkbK'I_>(*o-betzi[$9~p8w+\Nj|ƆY"Ivo.p)[&tpx|y/[yVsLCΓ$hbR9Y"MN(ӭ|eX=ifo~Exȼ~b+/{{{i\X,g~fiQ(?AbTlbK/_ ,b+h<5oVz_7p>޽{C,B +^Am4hn[VJƍV+y.pg. wzC2j,[yz͵f^v+f?:i^l~IrV<ؠ2*WW|%pp~hGV]f`CRl} k\׻qo(+[VbW]۷ow:.| ΓˊD\YilU.FŖ˄HuElÇ .ѫO.l,-'u//r^iKxcTlxD^v-_mww?_޽{?5m{ӭ|bͻ1\[yVsLg۷Fb+h|T=3b+ܘU.4t:"p5m{F>qb뤱Y:8<+rW-ܘB ?'//VəRylP[({ \\B}|5[S ;f^\k*>cd_ B,ן_+)̶iO4n(~hzuW]fQvMCN'W.+öbK bkDD`0hZqw.{I,N63K;S ز{!jbi\@Q'ù[zYUYilU.$Ql \b2n2KoUlZS%p \v$}e֣rxE$v;[N4.;W&4*UXlz=.:OxRϬ46J3itjڳg[P/buX,w*{{{i\@bkxgbklPd4}YVt:-K(!gW[z͵f^5 K(QbWfZy.nnPd4'dlG. 0V\!vU.A,ݮi\@4V/N4nmfw[㙹VZ-Ŗ%p؛ƋR49`09+hlP`>ؚ^Ŗs|TV]!p \Eu$nxc0\$In[Px?[pY:8<~nxtz\kz=.:O[G'J 7f4MGŖ. N6aeY[^5Ŗ%pب:ZՕFirF4M;NV WŖ%pᝅˊxξYbTl.V\!veFbu٠ɶi7~Wl \@cDUVz^sY׻ݮi\@4V/+ϯ3pVkޏ\@aGKիB2\ V.»(*ffi{gjzAoV +..:OQ5~buyT.M(xi\@zت^]l98/n^+. Γܭp/=^Jcìr$IݎŖ. FV,_y7Q*W1\it[\Px[V*򲷷W-ܘyg~fuר Wب:ifS zZS%pwuU(4Mv;{\P/w㫣bk{g߬r1*ݮi p \@b+2KsFb K ?Z^]lbYb0Zi p \@4V/N4\QleP9>W]%pEf5~buyTVl(IvB{I,N63K;S ز{^n^o5[\P`IrpV^Vl&gVf7-'#p \@PlUfMfͻ|by|՗[On*iv:Z-. (ӭ|eXo2Kb+\[yVnLK_؊'TO_!jbiYTRYQL.^=}ӭb+_n^+@Q*W1\itjڳg[ p \P`[ʰ2{X,5ͻ_ 7YYZil&g&J|mP[K"?|1[xξY5ך-2ZOMO|bW]Xl-V *lDvE۷{yC2[.[y[n4@DAN_RlO46(@Bƍ >jgR5[*jM>K^?/p~I?[ӭb+_ +.Ӏ[W׻qu$9~pbk[ewpUleww7[^4@zom2-$'-U 7f4M;NV{b ? >pb뤱Y:8<+rW-ܘ\Jc493Q*/V *i>{Vu:\7|sx >/wQ55oVz͵b _XlbWfZyNgMxqN~. ߿ bW]f`nk p \P`'Ջ+[Dc٦VZ-\YTƋRY`rV<4@^=}ӭB,l#M,B2 .($9~p8w+\/+J3+ E$v[CU 77*vzsL. QjZRlyrirF`rV<4 'VeB,lnLΓܭp/=^Jcìr$IVlf,^=}Y:8<~ny/[yvzz\PTIO4 pcVHtTl9.ʰ2{X,ͻ_Sl[,g~fiQ(?A"MNSU\P/wBzkO4^7\pcB,ןbklPd4'+ b+dXl]+)kzvMN_RlO46|v p@aGKXlo>*B2\ V.(ffi{gjzAFV +..($9~pbkW] pPTI2*O4^.OʥV^$Ql\| ^=}rE55-'ZS pP`IrpV[?:[+ E$v;[N4(l,_y7|b@Q'I֣rxENVb @N6aeY[K,pcE5*g~fuQQl(MgϞ).eVx|U`nkRvXj?V'T_^kZRl\@GKիB2\ Ʀ p \vQlUfӭb+_n7[!v%pyrirfaVHn+. ^=}rQlUf.hn[כk^gPTIrpV[+r1%pب 77?Uk-K($'_QlW1\itjZ*. N6aeY:8<|zXl%pX,g~fiQ(?A"Mxb @ eVb+2KZ.T>6Mv;{|+| ޽{/O~Wcu<`0V5 >~wLXeN_RlO46b+|Rl!Ç?p-Uc5 ˬr1 xi{u:?2p(ffi{gjzAQbivwwX>rE!مBz?5p]=v$_Vl-V'JJcìrZm?CTWĖ➄o9+|-1 \WxEU 7QDt|—~28|$7V_.>Ab+\NjG[zr1Wo e@p9\Vl]y7)[ˬwP8OxRϬb+Y"MNSUZeb;~F Djf8nQ,pc|ԁANsƍ] Zil&g&JA"MgϞ)(RJÇ1:ݻwӖᝅ{fiTlMM/lU.z^sY+|gV\!veϯ[yf4'w<.YYb+*jnk\P`'Ջ+[DcKIV +.@:?x'V׻ۊʲ N'<*.o_iub+q.LKj*,_Yl5ff͕AɶeYh@"Dq{`VQy%Iei p \@u7b+Įt'JӴ#\PjV\!vUѨ+..RK;ONW]%puuQbkDL٘]PlR[ՉƦ%p5bxe57\[nKe-. 8qU6(HT%p7.[w+խϾVlŒeY$^%puuQՉW[n4#\UeYr1gOZǭųϾ/P7oUlŲ@zp8n.4_ޠ[Q%pu~吶,wv*<ϫbk4.ƪb+&ҭU^38ٶ,4Ul p \@ kz*n4o+bK$2@;n\b+Dc _[Խ@8OVU5}qbYE1~H[-. gO'vv[_C +.@(+Vk3fcvamVQn\Pc?,Zbbt\l98,˒$Ql p \@8]l=x5hV,EQiZ[n%p5u[w NxTlR[^%puuQՉ'pbu\l ,`@[gݍã7…i p \@Zn7ff͕AE1.£b .o_8\}z*wv*<[ p +ĮtmVl[Չi*@j|8b+*<{$I,3 ;n\hԺتN46/UULj\@m'ؚ>x6h*"F~iثǏbK;sU_C +. 8?|uVcvamVQE Tl[w[qeY$Io oozztL>…YEQEU p5qkcbi\lGV,{{{UiEQT'χÉb+,Ayb .o_iub+pa p5V[w, 3J{͠d۲|I -:"Dq{`VQy%Ig p56.BXJh/hٶ,4-\@m'w[!peVQFʲ4@j쬻qyRK;U2AE|t:~_Pco['fb+hrVuiثǏQl/WŖG|L..۟bWzw۬("MS\OVk1\L,޼u7kV,Y%Iyn py.ᄑzpk ¬(r\l9. jKҸ X7[ p \PcEQh|>'V׻ۍVDeYN[ p \P7/_Y>n-u7&Nwv*q.L. j*BzG^38ٶ,+@ob͉ӫx6h6fֻfEQ-.zj-rq,Y%I)@.۟b-V\EQiZ[n5Ӫz[wgexTlŲ_[y\EQT'+G0(ʲ N'<*@.qk1txtz볯[qUV.L. jl\lKL *,bk+ ˬF!gU'\ORK;sˊ,L. (N{G5h6fֻfEQi*@^=~tYlrq,Y%Iyn p \PWb+Ymb+\Ub+<* jl\lu7&N[y) jzw10h *,4-~D@rujUl/Ub+2. +Įt؊".w>lW]fh4ՍMκ'/QleP_[B +..uu>bkDL؊(4M[%pQ{?UӉ݃rX,KSlE]{Ƿ?o+ mbˉ%pQc?,Zbb死b+s.(M[n4#\UeYN[%pQc==^j?&VxTlR[A0 @N4>YmmV\eY>yD\EUlu7&N[y%Ig%pQcUu|gb10h *N-D4M.勐WYE1b+2.[!vM,[o4o]؊Ztb .j|8Zb .j(_Yl=x5hpaVQe9 :NxTlE~xuZNw ʲn.uVuYEyo$Ie\x74;c:4G*B kb)z^[+5mUliZL5']`0g.*ޜhbkb+.*M~_xO>p)gO'vv[qeY;+_|{ $I3\!@_+_uQ]Wlfzw۬ i*?s[~¿Uu|gb10h *N-D4M[u~EYՉӫbkgK$2FUl5n=Ѽb+gbUlS~@6·ÓB2(FQiK pQoVkxӉ݃ ˠ"~W] pQWE1.O4^i4V,b+|Ezj-^Yl/WŖǒeY$-z(o_[m(4Mbˍ.jl\lãӛq볯[TVoi\EQT'_Yl=x5hpaVQe9 [qk1txtz볯~yb+pa5V['pbiݘ]i4AE1.£b @o_8֕VuYEyoګBXJWJ{͠d۲N4NӴ9._V\ӫUuy[˸ʲ4.κ7~ 9:ؠ"~B).·ÓvUlM}\leVQF~_4.~*Z=X=_VlE< Q+L@(N߻Zi4مYEQb @>?,Zbbt\l98,˒$m[Ucb+NpaVQe9 :Γ'O[Ucb묻1txtZ]~F0 K઱w[L^3(VxTl\W|q|gҸؚ_=0('V׻ۍمFߛUeYN[U7/_YتN4_=0(V0 K઱ +ĮtyUl *N--7'OV֍mV,y6{IdYf\5vݸ5VYՉ'JӴ#Ujg*h[\Szb+.t:!pe\uuQU+F16(b:4jGVk1\L,]l98,˒$Ql p۸ փ[HӴ*^?{z]uxtz0؊*z…YEQ`0Pl pe:n-u7&No}b+pa\56.·ÉvcvaŸ -:rH[W[Չs;fE-AUlbRFL^38ٶ,4Ul pWb+l(…]EY@Uqkcbi\lGV,4.:d}>Nw[q@q*_iub+<{=WWUlYj.4+5{&N-D4M6غ\h<:.vvl(VeU5.BXJhb+s@}:OV.B >b4Uuݸ5N+Ɓ|8:37oUl2.…i@׽'pbuݘ]i42,[WQ7|J З_~YL}CW\:xn~ygE^$Y|P>2ı.oumӭU^ R[iD +~G oC({=|$́*n4o+bF!?Hz;ח_~9~/vJUh쉋*B 4N+׸ ˳Ÿ C6 3+~]j,+){{{ ˲$I[+X*_+eiڙ_(4Mbˍ r?l6?@zט~Eޡ*z=s/ی7e9 [>?矇o7i?y#\&pU?;ߩ6[Q5 \EQ|ITXï5M!sW/NS|7f~Սߦ,D4M[ \y%Iei%pEXUl.m4[ p \qV\!v\WEQTVi%pŒeY$-HӴ*.+$Iz| n6YOg_1WQg+>Zߛ_/( Woa }Mkx>*~=6$dC~S63݆GvC†&ӆ-1 ž4ç@8&s>S>䓰sm._ޙg7/^?6D$y!ɰ+_ 3݆hnBk!Nxa? "y ӷ7]'Ib_K'^WizOm^L!?B{{mH!#_~]-S3W]?q~ۦJUV/6$?"޾[7nC~$sdC:i6tdN`^fo{ۦ Ku &:?n!?aM|SJUBِW |A\~wqM~9ߜF+ {sE}&I~hC~T:Ik?T!.j#| Lo%_i.=CyaC0g`hC~/;N^6$wC \8mU_boo/|ʌ_`1lxson~nV7<7lHާa3>q߀gnnC~<fRX`ېW??oޟvuU&;M[?sp {Æ=! 9~aw B.6$wC~@?n[g i?x(Ϧ c9q׸lHާ+`FډiC \q7~# VO[_έ@_iLJe܆1{Fc'L|]lHP+/>EO[}koKvjl_؆ [b|NAuo)?n!?6a5͉ 'pݐ=7|Sݮvﭽ/UmoJyOؐ?gv?n!?f#$+@Nﴈm?' endstream endobj 62 0 obj << /Type /XObject /Subtype /Image /Width 1147 /Height 911 /BitsPerComponent 8 /ColorSpace /DeviceGray /Length 2050 /Filter /FlateDecode >> stream x1 /* $(< G endstream endobj 65 0 obj << /Length 1153 /Filter /FlateDecode >> stream xڭVKs6WVjx Y7NJf(mhh 1+|iyWt8YSfqx"XwOuct(g}t\٫^sf9ߗgKsкr&Q ryP@ &uq kM:JeX,*,m~xvK? C8C\r1Ati]ʨ$Fmj}A["#w-H+J7 #SX [LxZ$Wq1xb8?b<LS&:L C0"ɚk&7N77B݉dqCW[ͪRٮGViRע #=5Fuދ+da*c#&AU`i S= Ҽ~k8 c{_ 7#eVRNiҸo=h1,d:Q/e,Qn%J_ Ɔ6)*dW&daY։uq߻,j''ΌL [Ҙ|Yd, *gra_` mC8 `#^va^4aP{l@is< tc8\Hv[O7蚕Cڼᅵp2{؉;;j0c14g34|L޺? $3 |d|@ثI.W:24 endstream endobj 68 0 obj << /Length 779 /Filter /FlateDecode >> stream xڭVMo0WpYMNjMsXJtj ]_6U {3E G& 3v6=H SwtNJxgL-bƴ :f O-ql*T2b*~4&ƕ)Ӿ[N(VjZt1 R< "o߈(& rڄ~g@-Z[ 1鬩>0额 C/rMw,E@l\aFs2"'iZL`뛦~;Tt<]WYn!^Dd;؂j=5 \ff!؎ n;'*!;i\sR [ݮ8 - endstream endobj 72 0 obj << /Length 439 /Filter /FlateDecode >> stream xڭRMo0+VsǔUmQ.i *߯IK[僇f=|G P!2CQ!%EKXq™q"ѐM#X &/y,I=jE7yA@V :PBDUhp,))ϥm#`F4O.ݓIQKr-%eҁt&(}Wʼn0:> stream x=kk6`u"BT38U^x65ܹ\TB֎=kѣ/8'})uff/``jzVk4v&Ⱦ?:t~oy*2ZۍnHD{8[f8,'=6y.-fxUDVSХVo`\z$0'W`^9KHdQSÝǘ >uX/k&#ƂO(Uh6dLu0E|1<Yld{1Jű ^^5I00,$d ] 9sּSo֋dkXWpt:dzp-qˈc n{ɋHgrg25^*?OT2-IS =ک.y0&lH$ˮp6rӒdOk niXKtj\OUz>¥]z"rjVKcq,b-fNP3m'(2tnaTIoZz䍫L0(#'R,X<_) LfxE鬒cHPiX+wl^hfvt6,-zTO$conWY6[" SO^O/G\ɸ,-tT'7|&O]e,QEk4y7oj[ V[&rG~ppP*#GІOx{SMPP5O;88w߼yS69-ˮlqWIDv[1v P-Ul^\\>NcwWY6˸S7@p G66~۝ſN3u-쌻ʲ٢G5: 7ܠ"Df9b{sSsٯ^?$IU:* 7@p7ZV^\Y[tY^]e,Q~ 7@p 4jn  7@_Y]VN4~=TC)>} 4qMo3G?jhv?jhQ;@v4W;@S;v4jhQ;@4W;@GͿکhQ;@4G@o(v_?jhQ;@v4hQ;@4G@W;@4GͿvG?jhvͿ_?jhv4jhQ;@4W;@GͿv_?jhQ;v4jhQ;@4W;Cv_?jhQ;v4jhQ;@4W;?jhQ;@v4hQ;@4gC:jq]ק?k-?XvJ%~_>+C߭+U;ruRZbxRVɿ2t`PB!wl{XDD<Ȕ:>)<McNNXDBڑ۟f̒.73z R*O?joC8$Innn6Ofj4͋M.ʝ< nf`z;vktᐕdQB)Ed!(vqKg,tnj4^-858tC>ͺu4$<X{ _gJ^y .k7 "DDqNgCtY68K%3KmRteF. lל@p[$IQ5ˮ2>G55 nPA2M=Oc4M۳.2mzz9I'ˮ2>rGv#m"5 P>Xwgak,KND6zQ,z9+4sx*ˮ2>BG~qq +O0i4mo{T6[ƒhKo'GbE`N/m(-d]|1k XZ5ist%L.D@ 7nnnbg0Gv[( X=}5u\H'Mghÿ]w/eyn&//\:OQ͚Urd*N0B8N(PʤhL=&V/tBj]e|*c"܀F"8pp;qb~[gӆoiۢ6v`nw^Z;ˮ2>BG5zxYθ͚|Rpcx!鉃KOLx6 kB$ȀජHafs;ŦF~ެ7+dUƧ˲Y#&q?\;6٧܀<(~E<&a-oN@p[{vkZlqÌ3&"R͜3_Yv^,6eDȿO>9w[τx k*=q唇ild[y6{GKO=?aa]" Ozw`Eq 98'DX)]U` nr`!ϗD&Js`s)<6&dl5@l=JOjșhQ;]ny'hO#[jͿP;<^f/ѥlD6ͿSڱ.]d@!_>>_#rѨ_~<_1{+_U< ,nr@r"Ґ~v@vE5rFd7Y@v%hkɝV27ȫojs,_Jݎ]VWÛLEW;R݊.Ph@v#smxF>=Fκȩeg#1ȧ$n! W;ٍ|z^E݄$|v3En=_$ypw"IͿT !"Epd_*.Еx9!Js~h(4j@::ruE9j@v Ϳک@{V޶T]' G2{>cr$XT:/}$8C:I?j8lͧnMv:|4ǟM;_@,vN{^4`Ywp\' GVf;s/!XE8a?j[بt44*܁QGD.v+6FN@'\$wGm_:/? XE ,ȹ_~81 7vn4@p\' Gˢkg?j^"E|3ka?j }u@/IhQ;M0 ⺸N@luL/`s, {w8hQ;M8|~2K3?'4cEv2hQ; (jnc SٯM`;, 7rhQ;-CWK. n` /-'R`;jf4@Y`+hQ;e4X` s7?jM@lE n@l/?""@Gɢ y>G@lU n1b@H"w|g4Ifm?jeI4@ΙXr!1Vrv; #q0V aY\]? n`'ܷQz?o? زn@l{ @ħy$cuj@[7?jsLEc @FOgfM?j :&F @2$nd nvBفGv(]8"?j[N' n >|jR?jvxk-`,&hQ;-hQ;ڡ{7g$4n_>5qhQ;K~2Ӄۻȶ@=8$hQ;nˉg4+t:U2*6QNp sy|4qධ$IQD^N]elrny nn&lܖP>K*fKUۍ'Ŧ n[]elѣQfvo޼ٟ`EGm'$Ymo&<-d==%lYD9Bd_ n3x$?ݞvS{o=M^[tp˲,-}Tfȕtٲ'C1 n؉7Vxpsʲ*GeVIb4gm: @2*f9+U>=_?n+l6Y,MlČ~?oweÈ@7\8"Rۢ ne:f[ժ t6kˈHfN~eUͲlFvN3ywlbg'Їr3 מO38$hQ;rcאF4@>}f?jO/C-4@^˒v \"8 n.vd6pu$hQ;<a'LgȡG+X@?\]?UyO;Z@ۻGnON7?j[V8j[@]7 \(X;4@}:{d/4@nY~ڼ 箮\>!hQ; G?jTwZE @B2Z;4@KeW(JxVQ[pvp~X"Y}@_'4@/?*kȿ~VvjohQ; @v+WUWQ?jP8՜ʳhQ;( C]4@#L5[_5(n%0<G C}9G ܮ*z(~FVV GYͿVyu((QX4V \@ZVAjR@#T Tc @I=}6ˢG ܪG 뷟" nhQ;ܪTp%(dp;9΋4@TJ^v_؎n >|.Grjȯ3UxU[@F nq뷟^) *r:4@nhQ;Og -ȭJG @7 7?jPD٭-Sn?j yh;95(L(hQ;~ n-Ȁ n%pu-@Qۆ6Fpȳ*HmP]J'IrܒKj"5hQ;k@vjPw|W(hQ;Œ7LRp(ڻrx@9n nǟU!~?vf`za7~;~q4z}uFqss3A$挳P2WO5@)hcF,7  '{&5ה0 @pCp(|IJ>[P8-ɨ~h4P>^@)n;x$8 n nGẗo PjŮ$i6cL"Ç#;2@Yt)g^' n_ [FpvW@nWvl_'?9Jt: PV%n徃Պ~.Q.lbI sfT=6E3΂@9m P׍PJm7N?^. qn% nGm "5Izb08&UӍPfx-R[d_/3Mp -TOl6q:g~c @UUK< 7rqCp_~Dp&P n"P^L>vPv~(Pfn  @?RIMp(J7^' n nGrR޻777FclnIMp(Gv(J_8 n@NB##JP?IMpH7q7,nru$hQ;G2NF7BGX $zw^l0Ztnfl͡ɉ\fm)VYT*r[dH=Ŗn7seWe[*  n΃[׋3h;Άvlnl!4 n n>j n -L Kg$IQ_P*e,bZƌ&@@Q[&FFU.n3R.t*-wTW1Y{pk67 Xï)"ЭN]e|*Կs.آmo{8jVWt~(Dz, n^NQU?(hQ;I.hPpvSVT4k n' G*܊G@iHpv nEY;RG*@kpN?jh ͣGX맢,&hQ;{p;(܂" @T9bG( [N?j&[+e?jڝ_>b)7 @TVo?74j@>e n @TYdG ͿL}_~ns"@z#^7vՔR>=< nXtu$W;뷟9CpvnON74j@n5zE߅vĒ*7?jPq6χ 4`r~GG]p@vVG Ϳvxۉ%7?j9 n9@W;#g7_E^$ve, VU{} NNs;d܊G (vZnwe,#F#~+?fn@+|SpRED:vep[>F< "Ep&P$X ˽ʲY]EL<(PbNN7*zz9rg]el飊h47m>͙ nwel^\\,T7o CunhS{~MpIpkZS/ȡG#ݭst΃ۢm"zgȡ|YS*%B۷En/ܲ*f Ul$ɢ{)]i'o veG-_" nŕψ$n=O-ھu:jgU2jjjRp([p;d9if=^\WzO_$K*f'琴@57*jzB"r0:%qWY6{u^l@A}~)nC'|M,N"hQ;FSo? vz+ nJGAp@vV]V4cr5GZv~(hQ;G^xuܩ `TV{nXRpvLՊ YIpvLJG5# n1WOX2RQhQ;DptR9 nI^Gj.~ nh\`Og9XRpvLpu#4~3% oj'yn9YQͿ79LpvrĒ`w?G%XRp@v/?vp h=67 n,뷟 "v6{ @0_HOz7?j|^K7?IxG1o? ; -_(hQ;P;2܂` {wKp@v$[ S`0uuJB1|3TD-<= @ZrIl4﷑"m%srz_;`9$ك_ȭS[Dpv~Spk|ȶIb``u`كqv,m.~mhWO[XqͿک@=OrI"m:4jvfM>vn4+lu~=hQ;V nɦfhN UdbEB4@ln] tkhQ;e7U[?jZ<ۿܞW;4^7Y @F͔5Z[ @FWOk nvzH\c @宴\-3Zk$vY(ZnL;`ֵ(4EjnON'`ֲ(@:A4EҵbW@ {ǫ. ZY}QR@9WO+ޡƅvLZ͊صʢw痏@9, hQ;XzQt-Gشx@pvlҋX @Kߪ͔XnQ@rR@5K, N)G؎EHqozd$777UƧ˲Y<~qqj72ZtQ宮@p/RO$`_w8Υ[]e|W7z`Hw~p+q`]m-m"DDqNgCtY67V.I@;,tF-4{ Q^Z1dUƧ[6~ U~Z ۷ nSCrI'ˮ2>ݢGjpO9I[4mPDYfOXh,_pUp@=<_4xd͛*"ՒsO7mmLߏPpxZ2ܒ)%&g_:OQ-zٷHsK el6/..FYԢt4޿j؁SLݸu:YsgUƧ[ n$I7޿6,g)lX95tY'ˮ2>]z5_OxqqQ# n,v0oE@p[(Zt8a3 mʲOf&ꟌF~w"L k3(I0Jj}c9,3OGبZrwԞ~4y|Zo?'mV@5fMY; jɔK"M) GȉyKwGȃɫ"4gd49mlG7?j@^\]?ݞ_>9j[ @/FhJI?j@|:{vp{rzoX4?a-]Z9j=!IDvpIGȡQZ)%4ytrz_;a?j@~ /khQ;rk.ۧCGȧGkhQ;@_v4jhQ;@4G@G?jhv_?jhQ;@v4hQ;@4GͿ?jhQ;@v4hQ;@4GͿ4W;@4GͿv_?jhN@G?jCv4jhQ;@4G@G?jͿG?jhv?jhQ;@v4h5jhQ;@v4/oF޼yc(Ԋ| * &PG@p 7v T^ If ʲY]ŷ...Zn AY<A|v[:eUͲl>xH4@p 7(e~#fh:ve@p 7(e$X MqWY6[7@p IUBP]el@p 7(k?_r3*fK u:޾}+. _oP(7oinYve%jm#B*fKUfΙhu:jgU=* (`fsHLSsٯ^=}I,,-tTPjzdGs fN~eUͲl1uj٦n'Ib]ojrKC9`ǧO{? Z>zFŊJ,jE uۍGO!|yߏn ;> ~"P܂aZP>iot>(뿂pcBu>}*| nPDnwNEt. t:YEz'~@7(7n<3J:(;x>'-hټ}Lviwv{ln6^ I;G?'-M$NEߣΨR>ƎϮ~^z=#C`ǧO{~"|36,jYsnY%ke}h4 oxiOɟ(?r{Hd 0t:z}H17nݞfg8* (FPtBp[7ZV{p0>)TzUNI[Jp"R#$}$YJws,|ǭu}\Ȯtbm 7؟/ZJyxm S+3R\DD9_m l2M endstream endobj 73 0 obj << /Type /XObject /Subtype /Image /Width 1171 /Height 887 /BitsPerComponent 8 /ColorSpace /DeviceGray /Length 2037 /Filter /FlateDecode >> stream x $*<] endstream endobj 76 0 obj << /Length 494 /Filter /FlateDecode >> stream xڭRr0(ɂ0oi؅8#N B 9|}-:IvK;ʐR'D@5Rc (=py_:=7w Ɖ| D) <'$WH@d<}ҋ+fMݻHԮL} vłnҰim7V osgx[o,Ms@ THR :="%b W}-؍aCkpN0aSL=8p=挘TkLcƱJUS(Tޞ.tnߖ;fm7n)&SDiuaH&99%d!/wKs~-%3UsK^#64uGf={`(avFgŖ^Uw9@!g+qns._wr_60 endstream endobj 79 0 obj << /Length 812 /Filter /FlateDecode >> stream xڵVMs0WhP$%=8N2Lm29`c̀ l=YHvW^l칮+DMk[S:İ;&$LO7?~A~NLs<ǞX%'A3G5 QDQZ \9 ˰bsDa mc-CAMA loG0 aIߦ:P8RϨdb{j;b?Di"^bD4|Mn !m|t" ۪5ehq:S> stream xڝXo6~_&XnfI"]1l{%""Iߓ#%jĒC\G2خ׫.DUFz6dLx} "\_M]Ͷ޶p؜FX嶵]MOuIۧp {a#}(ԧ^FCB%;n y…GyhlEG*'[=Sq &R BTHBl-В Z/q4aY]W5C;^1?.5|0WWh0!54L~CKP]C\_[ITUΐRa:Z^jNH$w%Ac Ze\HdSQ`1Zv(#/Зgً9oqJ(IVk6>9cA\bmr*V*}˨>爄(yƲ514BL!/tNS% @?С)_%:&ȉ/yvK+7ťh/FCGPz |Z'qmo|OSǕAKN1U8eY:t&cXQfGlnz,q4]pS'ʇ&?/mrʄ=nmOԺ] ; ]2 x*0{Aڟ㜒A7w7?.p endstream endobj 86 0 obj << /Length 1629 /Filter /FlateDecode >> stream xڕXMs6Wh|<#3Ȳ#gle:$LIv s(.v߾}oz`>Nz}/NpQ0 {۸w?]^]'ixzxJ}]7a_lnIioϋ˛Rg移Io'Qmsػ 6fzOB_NXDמ uA_8~, AU/`iKVDK2y0 GһPz7Umz\Ј%L2aijgk+fE)خWjW|8 2YD=Oڋ Ñ:(G~Y=-ԏ>?Z^6+l g/j9qsޮ7}ק]?o֟+<ޮ(g: 3ez#}P!Q}ImXH+#Β0̮DJHi%`ݑ'18P A)] _elfTD"+#CS_U/狠{*QTbo^d ҡ0,d( <5,2Y%t]FZ|.pw,O4#0s"%0mhP"X~3>fI;yX7?rFh ~NH yb*>d|?TPDO!dYT1X]#ϾU:us^ңP;"dZ cA q'^] 7YnIlLƛ%I+?'zNq69;bl+]P qMHT""}Re?9 ^["s 7怈i#%:l.Uk̯d$ 4#V `{r*?Ү#y(͠@ oƺ{#ԂfusZE6j5WNɽ>Zr=- ^<*IHk dƬJ_r pv"gQū"qC `^^7h'~L[{[]R II˿2&jVY(k١!,+h1i{Wӏ6ؽ-$.hQ[|.%jrאݞ,)#q㩐(i7erQ{Vrtjy֨@[TA H]I#K%O5;Gk7Cjs>6+R_5޷2l$5"7ٓGͬ\ߚ5]Y֊xE,gi`D*<#J#2'㕔H)rMHn$K endstream endobj 89 0 obj << /Length 1571 /Filter /FlateDecode >> stream xڵXMs6WhH)[6CgK"PP}A qI0M.v۽zay?[%lW̖u.7CIg|_n&llEJ6lOPH3]sdWC_! S s|[Ca-5rqZʺ[<; .ٮO'LC{URsmƟ *Al:u>ȤȹRet@xQ^O,Ќu5m|>]ݵ5S썋Q1@G|Tn4E?\P,3쾰6%\jMB" {8]fcPLkL?5Wh ]!p%-ŚM&,?ߥ]۶1 (*#{ec X cm}lkZvCy{Y9X28XM9)ZE{0-Ex2ps| .{!텖pVβ1ҩŽT}R\VwkǭҶ)M҇>OX|/z\& d^"ndŇN߾e#Go | 6ٲ97K|gyᐳtz3S>9TR~"LfyyB7+ )dubOJ0/@) Z:,l_'3aڍq_J)ߎ Ă,DY1űԞYв0߉#Yvdoys*#2(w(|5;a!Jۻbf^:nvdJp=!!,tzhWͳh\1Zaњs~ZG)CGGMħJaQ Y8%]^gk,+#Dq2#&k~RXTMʩ‡:).>d/ܕYR` }oG&}WN*`(Q`!H (t+_/7IԌy#t-Tv'',!:9[n$ĸy=86ʧء7b*`>CT(x cQC ǐ75>%#fc37!6_Ϟx~_ endstream endobj 92 0 obj << /Length 1652 /Filter /FlateDecode >> stream xڝXMs6WVyRD[u;izHPB,@JB$nOhx~yvYvK>KVeIfzy^f>jNvۿOWj탹????no?/칚-nnN4e_-679ҲbR\#m/UjS٫J}]Ѭ!U{Dkx~snMDS8^_Ѹ*f_V8jU{{&jz Z9l+%sgX' _qTTT#02*AAD,᷒(B,"cG7bYiZWdoU mԂSC]L1Ҕ[$5s$0s$aHA4Bա< w Se(-M},훹\bR8W6lf'GJy|AR6|v$:c< laWGYB: "8(!\"ۑR me/dzپQcMg%Th E}+@E E֌].m TX*ybrX =bԂp F/=3M?p, M̸mSdPQU0S4c XE`"ϠzGKˑkiJ tÁZ4aQ7aoȉ3M ړ/.ԛDP ؈o^#0SZһb]<`*t X"P0Ѐf" k# зakih/FVʔiOΠ%hH`R}ˑ"Zn1ȜVsd{4=5dlu`) Coi)s,3UƘ2C ;vO1LfW5Su>АZo G Zv|16f`9jׁu4^DjJm m&&>7",m7@*:pBW` D5ڻlнR_eCcGw1H)gu6h~Ƃw❔Ĵp\ rڋ GXκCN*u`[G]b":7L62 -aǕpJ}ocX2sNv @\44a:0.HK{S2dx($xf"7G,:\0ԯ_%w2Yֆ`'R]SݖrҷNVi8_2Gb>;I<5 ݓ&T#@ʚaKKCC] 9-R"F0ֆ- 4+j=ڝ|ǖpi;rQ; Bh>~*BD<9NP!oY<\x*eCx,rAs|ы!>>!:twOqM0mH7S™4=S=%~AΜ~=j0+wlB|٘2ʢ*Fi7bD8EW8z8LcMkNp*f* }nOxl "D;9Wk;`%U>+_ endstream endobj 95 0 obj << /Length 1755 /Filter /FlateDecode >> stream xڕXMs8ϯT%$&ړ8w=[jlZeAfOKׯ_\< zM/\77}gp׻^:y3ʹޝ /nzwͰ\vѰw>0b"*2'iDe\ֻ/Oϯ'LV)W.Bd\@(gT+]X:gXfumahЮX9]Ys#F *cHzvuNġE A bGa݊2ܴ^=WESFJCI7YKyоqIw:[5+Q!-PvHicLha\UChg8뺄=9I骄t%(ј1ʞ@4f5v)h  vLs !]G$kld$uB@=yzN.Cn\24T?)΀1a@Q/_όSJ=8y֝> stream xڥXnH}eK h蕱$B;+1ndqUwL4}o]uԩ {MGu7jNikOougպo558}{nvk#;m>4j9c͡|]rPWyԇ7OZlܷ^yHթyc#1#&~v15LgP97uC& uWs{7F3sP3T͆rT%c {ŸV&I]f~aā8]y:n] S1:`A󎓡-|mnS ǚ- /m`Y_;Əu YNM q䵌aBC=j%կ9!:m Nqۂnx6% u 0&L CSsh Ry-USSԨn}ZN@_=6 G '}C:t KH*C<%<\P+?JL;ZhMTB9s~aP\l2ʹ\]/!/ *X6}͑ uЪp 饢wX@tnnðT_]eڈ Ьж%f󨵟c~-L nYŻb:Әob_|xjCu{c!7~'B{d֏VU-7lb,Iv=O`$ KC" wEf'6 Zw/&c:f>pwm~)'1[ICF[?`ъ2,LWWaGd5C~ d%רe[M%2L_Ʊ,I8-sCBE;g5[*K IsXUIZTRR%ߟ`M?Ñ R5AJp C^&5r5+Tqm7V-/`&&hr3 J=SVJ}R_d( "eeR>Xbĉ兓b-^˛?ifJ9 vH=K*kyEg&n戕̐Ep.bVUs,v%ܰ"R?8 e#Ho4׏ǣ70wԿ4Wux&8WRςݹx!ub*oLPGH{u؄uH\1蟇]pHX=s1 ~]n36*[?o,I`@'> stream xڕUo0޿KВ4ӤOM[I6\mτ;R۴O9޻wd̼bD+g2{d\o;Q=]_=ԟd:=L >aq'S/`؝Mf*IeJ,D7_:&ܞ4v`/=RfI!4VJj83Pu-s/ )r;} |,Ah6|eEJi/KJMPj-;Vu-nK HIX#g Zni jK[6$!rA`@]wZ_.끋Skr&*T{oiDk0lm_:j 0As~€:N̰DEn@E8E: q}, Ak*(<λjfK@NH~L%JEah ˪[Agυ~ >T󭐹|Kq6qd@iM13--xJ[Uܘ`%Mx ALIh0˕h Q?\Ci> stream xڍP w(P b%@;w/wCq(ŊS\ w+rr}3Nf߳Y]MBM$f 1JC.Ll̬ %q]>++3++;*5&ZuA2\^df./vJ0@`ggeH,JyJ-q􄂬m\^@gA`a ,%3KF 3{tt6..,,f0=#bP:n@KUƌJ д9%׀XA=v~p[ 9E#_{`cfolfaqp4{+="0[ahf y7s3ٛ -0{)- Ggfg%R`K ?IhvON q{ @`K?tud\rPY]\<<aaGxMOGJ?/z;BV/E}AVTog37  *d0ZD/y X_f OF/e {c()(2Uu7/yy0mSj?V_54?u=t =3(C^fg YX-^?/.(o IS6s{m2ʮ./kyY5{s1{Y1ry-UA.6M%= T8jLlGnv/׉Il[@,X;v.njr/ @? ^XA'7E_"H,RE<7EEEO`QqX4A/̴A/^2^2^xZeA6 _տ 'ANͿ GпK2&@r3@ 9_l_8~|Ǘ]8  /K]_ qPYB/Ww`y@ ԅ9@௷5bL?Dž3y/@]1S3?AR`/oI].Rйj; heSL1Zц%3yY"0z{5su=B>0[=nkBݹk2+IoDޟCȌ的۱̜8k);Foe(Q5gI-헽FNk:G6TgGBc."OKj8;gq#mjY>L ጾªk\s$~Z \Ņ3갑?-=w SiQ.̣Y҆I/Wmk3? U{Fڥfw~ԯކN0&+ۛD"\fyTb{3yrz@KeX(bSCY}WtwL%>1F/8ч@){K"t.;4HxjΎ`z xi3z~w傌)O40TO>XvoM(Q7w#LY- Q}.TDGkf_\9 ԰,ZR4.B-/9+iD7"HN?2O맛/4>@̯ƠUX#NpΫ13]mK:f6 Dxɓrᬷ-&K><y?ާ\6lT_aAmQ>&@!]=0\  3^Bfݍ^XT/GzM1J1V >׊;ؕ7)T 0΢Ѝ4$zK m., R#$botE |צU%<(Hhn=Z TL|鈎g=x=8x^d(oe=i{l݊ݤPPyv nC)w^ҏݫeM+z )6ȓk9 ix|L>a5%㜴an`tʡO p4Ce n`1f4!'J1C,)oE'nsɱ)^\MLnb֜ig5\d "WNEO'sai~^*U\Bb9o 3S:zjS[+&%aw0?mx0=F픤vk7Ӛ5!3H SvUvzـx3+x#ye4Xg:lRBgR_-Jw9 <rУ:H-R(fd';kQS}~~Ű䁋*vwUfd,#]0;.MYyn6/~O\;",?ʻ+(r6VkwiMk\qrTod3Ѱi+dsMN?qE!:v3 Y\rF69~$?Iޝ]>Gyh5\](݇7"KXu #~+YJ݌ЃX<+A`! TsWPLP)'ݮIlObuT{MGeAKTX)o؝6+kj>l0it`іBД@Y $Kn.[°n40dK9כ4̉1~}0FM<7U vJhF&eF6W\v؛VV 7V!Bs;c>Eh30.? }jQ0%m=5*gѪ=!E"B1MC-1)FbRUbZ~XMӀ&PY\5ML:@|*^mgW5 5}Ait @Gn)F\C$h?'fEIN18綴T*S'gt1zʤސ~S7fzZPq\&6x.8z [:O,o]f\ꗴD+}K uOdV&j80iO& B}xcl9G).1nNqho*3-gbzMiA!f6djsں$r0v_(Io7^fG+-#&!xDfKX};"6̭0 WT3Wpv! xR%kWvhCA51=mR ޵Y~)v 6G=8fS*e̖YO-c-a[ت/3zd6M@ǥyU餃.MWu:wY,$s.i㪣פozCڭnӂ%CH\|4K@{ҙmr9k$ƪ[ fd -/Dه?ʝ{û oa ٓ7YQB|d݋ )>B&CvRCjsJ׶o-^e *Ss~ ^fpȉ6 gbX4Z?4 0D{DtoE:+CVE~`)6f`V2l(E5=ïwa=(&>5'f'ewqϒ(?ϣFd5zblHIq}gE],o~m)/^ڧW)UvBaكr̛`tJ(iaԂ9 ]rDǢ^~KJ5tfQzՋsL4Vbf+ơx(^YFe*Fkޤ6āGnW}U[Ɯ(8ֿt;xyE)"+Թ HG3e)wX`el{ΏuO|{OgWʚųT%`v0d[P/ȁ[d")o$K5`.V#ea/)ྶui }"YegK ֿS 7mZ+|W4Ei}EdpY AsiLh2- [3k8UkaG\3ѻ7O0dKZQk9p:9aTGkiK^L*I$p0o?,OEE=d74 {WNUG-.>0 QczYƱo'Ҡ4++Td5 Jf~J;Vø"ԥg0igf3DןZs[ O FB?^]Ht%UUL Yk܍x7|Owޕt㔻jTY%l_~ YX=kZQ q@w&4vX1+` Fhj+.¹fv!ڟ!cyՃ6 :gxO69U:=DZgFl>?R%Bsȧߦ75`7H0Φ sk9|WJG/ex}Pj~^ \  2Vx<+|*+,gѻj(ݎX@Fdϟ9Mupȹ0!Y\gXwpokS_8Ԁ 4pS{Om6OWd榇`#4vXՠәLVp"p<8y\*!>] UL||AuXsk~b/ qMSIؔڨY) 2]{n]Bҷ)3zed&+N*Wk[,ڥyT-=%ݣMDfrsL9cBtH[b wMLN(e9@m(N6@(nV{xP,ƻ!Q) [fH8!z-aBbakͪij@a#GvXNڗ\rs%&ëU "x*AE <"5bu-iRJ)VW&E2n \hJ'ҽV:H->g?瘓IJJxL־q<>VޏtAl#X{^dמјT)je,g> EqN&<hZ]%SaokְQ;RQB»&O5a&pu71L$[4S[;HdpW:k?a$i!!~G.!<%੊{/Mv60=_c!+n\w7N`^vȆ.O΀kQQ>=|VXeb<>D[k@mc Y~%NExir 3E/F$<(l߾2%bN'ڇ}s9r`K"OB䘲oG}쏎r_e֪kMlhZ}vmm+Wx=OyCs3P]ؒDrs;ur6 p77 ,c";SH* -GX-(W>4h:F]Gu0z~i<٭όԪ6o'زE~{nUn#cgcr7 5t!>0]/^yqrn 0i2 _ɩ|/AE*dF8g㩖mbRې~ zf%}[# jd+lѦ2F@w_}"b}Q>pWWt.L),%@rD>ppvf'IخbuʃMp@DMFCa;뽕N)f@4I} ^% 76Qȵ\ ~}cxŔP>!hҀ-EZAJĺ:[R1wr*UP%:"8 ⽻\3_jL"yw}+Zl$Riw(4l7WxS}:iy"&.:$Z?7o GFt*  D0d}xxW8Z0Qd7]N<-Ѕ* vE]1 3Trp\ĶVtt\Wi⦃ S4RM+׮͉k _}iI(OA+` e.[.i4Hp8fr$1u 2!b0*rEXɶ,khKjK6Q9< K4J[1Z̳+a߇= P<)6Ql1O㭋r*Sˋpb~Mߪz#`@=Y4,`dWlEjCYM oGOaL ,O6W{Olť,`#clKߐ>U|>Ĝ~Eђv%]甊l.nZ(A?TQtjiXTt捒 _?CUgXSdR\ަ\.bs[,] B֫#I Bkv@[}X hM^!믽9C!ww>_K\7k]~邥iBdJZZߛvAK g0-Q%( o Er&Wlum5Kn5LBjU&2A>k,HMg;e"GI$dT+e ?~!^\T VHBdSݾ.yׅ1u|rnuk[PF!0ț!5y^-#_$5ّc(~Ԡb%[su+- W}Px2[m٣fڞ@}Fe0enP1Ƅ$b~,5c3e?A)A]cDVyS'?|ɛɉ@?b;_إұT,"2XI&ӕ؇R01sݓ]^4 N5P+T0Txgb% G>P}OGK j;",I)z:|/ZB}CLh?Y\d)ad hQtiBywdkG 2?ӑDd\,5N4$o( (fUFFq[cbǯߟ:\} u y34:D^u. ő6@eN,bVؐ*x3p{o>SI@Ws}VCIB&7_Z%BZlt5~p7}-Ǿ:.!RwZĦ*ICr/gN0pFZAe`ҼSe|7Vjs83G{nn$`~oΨ !u2cЅ3{Gshog[hwhh)wtƂT-.(mM6M. m]^о)ͩB-5Lc cLy-a@=)5>9oC,/c 6o_꽓[%5){a/[):L~+[Ei:B|69"hLC *L]aו6pdz?`[)2\&:l,( ޤ=̽ xha?[}u$3 a un|WUbuFp[S4pFI'9{|~'0m)-q\b¼|P_C:]; t%^Xk,v`=u=(g; rAu};}; 11$;R#Z0\<2, N|WtòU9RH4 mA;x_[ҫh!iI5~mH2OI <*}G~fQ@* RSin1=vg/uO־EVҘ@^ KJ{ܧjA[}rnz{&,W#GŜċ_<Ɔ猈4dFsmFb0O s=v}Xl7A hAwP|a6 qN e+}t6Zw5TU&(қ. A 8c _ O|CI:< |]St+:YLU)ULЂ{MJ`.czȦrm[ /MhQ^̋0|O8hS_VؽIKWXvH6h̘#}ewrn|6"L8`wRC/^Ī]U>KVi[2nl 8^||oz09F.L^PFdSa0EH;| Ư|\O!LtrwI8ė O$ 5K5Ipl<hrZ_7e#'7 Cꛍ" Ι2 yyU-i#\+Ld_=-\; y t$椹l4i|.o'?[9xxfT@A'Wy;oodzdXKۭ6p2FaflYF#LDe CMxr28Y2av]s$K,w%8Xth wLL?V9c(hǚ_+ili??5 e_J|#[yϱY^󵁪ϏW/pz3pSjx]}k}qB3 Zàߑ]:$EW CVy$#u}H¦OQ菅⒭E0Grop;''%Vc:5ҧϢQ?^R8lݝlFivڐO endstream endobj 119 0 obj << /Length1 1985 /Length2 12881 /Length3 0 /Length 14097 /Filter /FlateDecode >> stream xڍT\[.4=hpwh!kpwNp!XGܙ_k>_W UP61X;330DeEELL LL,*`GK  5ƚQ{UʔH;YY<̜P$bAI7 wKk¼Z*7v*uᑐ@ p`n\n>œd2=E3 hn{dCDl}B녗4p@besFql]1}= #>wYj+m#)|*c/Dj'K,jn"2{6N1ϥg"{/ix1\ s-2NN6Cӏ~.w𦊒$/?=$Eڡeu]4Oq 81̩ҞP݃d4%-ܤptS)Ó5eb v.r辡 &zj1[Aʎp%D;hJ L0psHS2y -%q4AKXmVͺ[|ڄ+5oM68#ɩ:=m4,ZSgh.w[zWTL\| ڏ3Oy3'So^F+6!ɛYXAY`J@M`6AW滵D\w\iM=-l{ l[ʌFi+YƹtLl]ED݆)5jX޺(.+=ʋ:i:V#Mj*BAO^>:jZ|y@ꐵeU}0qbUJ"杺FRAQ[^%$GL񷱙Cu6ÍuܩGN,_C'WķIo^ؚ@ljf9\JT}`r1>-@ !k F,wr\ȑ8HlBd0ɉ g//!y,@?^#Xk_:I´oao=*-T,[lהJ4?Dv]gLح`0I"*Ep?EރAl86x*j*Hl rM}d)qi32b4K(m YՓ%B*2~!b=I牨3Nt7r~!:5 C9s/>32aA9=AyWq[ΐl֚q0[nԿxe,qYL+^dq7CG#?$8 ƛ(Urt+#1`eFn { 46OO9Sa:'rl׃dō#7{0ήcTe#+gMls2D@;J1Q߿phZ^藇S18Eݵ4 LKn4𜉛e(1{._Mu6s}#z{!GibHJYzOqmc&?5of)"(pL%92 ۓLKfzZI$ cG ? Vs?c ͕`?M\A8 e%oDw 6+;#Α' F\Pk`vzi!6}*@Dlf* qh,ǭt%d5mƒ!2lpk>%SɄQ[I(乔;k ՒJ-ps,065chTyPzވtz%η7A/t*ZS3yCUZm !ۅT%h1cT5zW,FV)1P1iSڷq=APTBOj!Y9SGV,m @O)LH{ +Lpr@!_UmDN0Jao?̬c8 ]}@  z'RSfRpD{D d#˱:%Ȝyh;+(CW.`a`T:|!QўdF&][by%9kѺD{U2U+mBpZUrQ}GƋHVY)$2eF}^s5D ~b?n>}Cn5D6݃? 1dtڤ5l`iRuzj/6 טEPڕ}8􁑥"RNj@iQhAYX $ XXBmm(~(=Dv;S #2MҖ!z @17Sxw΅ϡYLTB 5̀O!a_e ;@U-ѝs?l׵3w _4IH6 R2Ú*zx 8S:Fp6jYL%0C\ZV/:mA8r‹T=Ęw#^V!5Ķf?Jxi1b BH"" 2gZίV,6q~EEt#&ɓK]C@[pN`ȋDFDۛ03e{+ /3d;ٳõ.!粙;GrO7FU]S.3&f"!Hab,Iu30Eܐ,%,VT9Kԝ˙X ׇcymлBf~i4Sd@#tz?jBQ Iؗk44yH9-Mo~z;T\#ݸ;ذ IVn[8!ۍeHO@y$PgR^/ ʾמ]_~&&7J揚Jh[IG7=miz3'!\n&XH'h9J:SZ^9paLE!RsǬ\NR$i᜾;;N"jMw n`zX2;mfV5a4 kӍ[I@,j_e&-x tl,b먕plG ّ˭$n'ޯ0? 3Y/96 "8R:1m}M 4-Eɥ=š& dTd!E&u,Ð'_ߜWZkf\64;ڊcmg>4HX';$azR{o^.=;TCuՃ'ҩEa@W^l7PW:%cUmG [,4N /M{l;@;C4TԄ#ڋe_J)|Z⢄Vs; :r$6]'$Ⱦ8,87[ʁ l,Md;'Eyɜ’#fCe'opbi@A6*|>T;U%楸 !E8yg[!xk߸c''"7*cF4/ºњi>}QE:X˧|WEnoiILZ${mL{aHC!w5 EmNMCLC\͝Eôr٘Yg̡t.#2xNnVCj{aeTMt1lըGiI\Óp]Oۀ셙@xc6a9o_#/RXG/ F1 5 / 왽hR(W0~"ϻb 2E\Mǵs>? ,i0;t=` (1J:G88Შ0ooXQu.ޙpFm[\//KX4j+O qA|SMb-\&k5 a-4j?D*#ӸlohfXܾ߇/uKר>0=uI,|;/#_q*O20Rv.kv?9zqǤ9륟DɁEQUa+PQ@G}!r%qcGTV`Gm[YJ%A#s0RVs:>`OZvIއ#{'?,迋]дmѴ721P0~B1 9KǷ83IoSp]i!Ctݬ(m6|:+䋘Hfz?N82XUT!`|ff#ט+5c ݛ~Ct5x UI]MD'8p+F =(S3;sRM}c{U>SL {:-I3L(myW(_qVjU5-zYéiMME1cږ%k?-Kn5KLXb"!5l/hvtUI@]^ dg s+P( oԐ9 Nv6NK(*[[R5˗։4)}Qq NZJwF"ィ^~?z?v;b|}:c}!]vp} Њ}&(u0qa!%gqP\[)f p_F4%:S$R.!Iubj{'x-yM?d'g;Z %F\#+Xww4ѧG3 Ȁd$MX/7iAfz`US)"/2vHǖ>t< Ґj_<9nћ͖U- ~grCC9 ݦ IS8'Èaj YM4Ɩ]8|Kt\o9-.$ZQ7XpW%dvU? "8K\Xړ_z6s}Nqجd$<-:;l.vK6 I3wܼ8\Mc<=Ky!uǩsh9ހxʉj٭A/rN@{ -3-[#?V=禠3$y:<8sOEߒ.k;hp:dE{*~ke:0E#ז_KfxqO+g"'Aۙ~ ../ :Ww5;$s2 MgIx,MObV f~JlS\m1TWPECd&62&V̭ߤޫ_yEeX+t<Ҏ_iB5 Kh&&Y}JiF g~yaUޕQvKS?P9$s$fŻWp$`ut ȻY|ZEl5@ _^Զ]u<lHJ>:AY*^~7y&1}\ t|L~="ܸC)A#Aeڤ$mQ*Uؼ>F9ш:hvmOgHg̀cR(u5P_Ԗc+YW:M<ՆΨ-oh$.I{ϴ-`d MȆ'BB~+ghr4 c&3lȝ+|c?Kx5 CCSp XJ#ٶ~zb15ۗ0x#.dwK܏o?SݴjŗmХ#ȡJw?/ LF08Hpx=~麻zڜKLw)wo!֘ͱM~Nɸu>M6kK@1y-.<ĭN6|wQ,ۉ#%e%OQ#Y q~MqdצX(k18Sz-1NgK?`l|[V={+R^XNȟWkqS79}Qʟʿ[ S`'bbimSz>- m>krWVt!>CWݏj`ub݊0|0nHfa6Ke? 4!KҒI<&U&NPH8vFqJ-R#lE, C@5qI& _"[Á=e_WBhj0Ƽ%!qY~21a[L#lWApzS//%/#DJnhiBGߛqǒ&KSs\9g睞F# NZ~9'-jv@RqmA=9KO}WF\hhLW4%q5< ` BoJ"o:t=i4hc+)CXm9ۄHwϺ[pz`l;PjI]k22Ul[Yw䉋P ~i)czx\Y-#8]n/eޝ֠\q|8泻ZiȚ>~m6so (rٮQ~Q?:>$F_1^v̂>.ӝYDSk<2PNA2}SxB}0vHF)[|##h,y/^̅,3ZB 6l5wBSN\^pO¬^ *}l3'iw_w=I:\ 8/l!u&J58 _2izDŽ4jJ">h xh4g8%:TA6d8}վҏEE[6D" "-EӶ2Gdi8ը,PHry O':( К$Q\/ ܑt\xQ3"$\6k֧_h$@ M'Ԕ2.]|=qmlo@v~cg<8Sig`|Ӓr eqk*#9^ }jDV'.bJP,OȞ 07Oݣ;ۅ#=EA'EC E"!hlm=yt8 <ܐ ^ {C/X\gnT-04_*X1,L%<|`-< RDUm`Da#^HGe;GUeb\Ϋyo&qTT* t-gŀKFCsڲSH8]-d-]T~k5SNQȔ`9:4_a\4b6A9阮e,>B!z:%Nw8-GnhF~6E65=/_0i3k!D,n2u콧0WL$-pVMs`e|E-#2)Jq2K8o =^p ?w"HO*٢XrP[0whS9DÃ4ߪR$<- - bѴ rP&9Px{QQoLk>bRg^XS E*:  ˨;mP'WB$AʣqOҕw2:wyp?E Ds5][<}[Cve;"#M- |guzڵ:9 _>|}iŶbyQ*ELrNS} TX9mnM9O4ӳ2! Zki}x!qKrhپiW' 4#w:&8)h?e$h F]'#w&yt1VBP欝a!*l>OXc?9ږS zB pZarn#[Wg"36C_zR\<=+ڴ>$n+)/) ¨ uS:nP| "ag՟c̓1iYЬyf5GKw+w6;TvL1}wv(df7<0I$NSD#8CSA– "3=ƅˮl~B@!Q㬪.Q\fw!V!Bx4\]O(@)ꄛ@~naQh^,þ}&;--.VΡ2ZSF7(r$hhѷ>|$LVkT syɰ,g0- ސ􅲂W՝ ǺsEɭ^V|Cal꼂2'Q8< S2`CT8cU9)1w8,yCRa^0mdMz+)FN8hCPBr8]+*4e/,= c&wvI)+pF=5ot(f8nbQ$Coхq|oעu[XNuB0.tU<tك[L -|R!Azȵ]s$;{csҦ=# MWn o:ɢHE1=JwAEI 1ϊ37H_sM.RƌQf),BOf`eB@/iy>K!0%&F'Nkb;=i7}y49h7 :8V73,di(1Pt :#FWfב) \.D`l J_*'-FN;Y]|‰IlRL\h:~ti-g M&_w KZyq; lYƎe={k|MC Dfz8]ܳE:Y'bgl4 ơK][хwPOTQhstԢ򵾫N#1ٔ!^VԶ!s pCs#s.0,a3~TBe. u MdC>E rK7ݲ&{=-Fycۙ {+|ճ W5hNG5BȆq?Qq1#+ kUH6nZ ߢbQh[@G$e]X{mISQz5|hԿP?\ yTy3ubUz|fASf,gbķSy,qiK& ]C2vivTzՄL{{sc1k=.=C35i(G9 vYwugʉm {f/=}Rn_ׯtKVP\O L2 h9fe'g$g;XK3 n tGȆJof[yY1'v‡M7Ӊ}ܽc}kfqW$-6e}Уszx1ɤl ͈;+7U(orc(p"Ŗot8>\$ -t0WP?rACnPϽNa0{RAXMf%d9r?OZxjQپ[CG_l`>frcRb ŞDߎ7,rl)^)f&?PWnڳw2[PSi|X{=ą%LX&Q ^M.vSΑ]dȤbk7]S{%a`\] tB?蔆{C𴮺 ?DjFT*9E5Va^[UuO5a)h{xCj lV( Np2_|"eROpS;>ns˙d Q!ө\93yi,FMօf?"uoчka-Hh0J WKRڴ$7Zk% }˒6uY!-D>T8xYz:6()ÅȽ?3%g2]) 7Ɂ}T:k=謁,q!cwKQ98[ۓ9t+߰*||J|EBЦfb\BRb Wh8u2ڊ1vi|{삾.؜Ecv2JK;%nMk peb,E|}{4yqwݩՉ! \LLM!%)՟)k떇"jYL=tIy-d꾅YK34-qF7bgQϱDj6B:M̳#csk<& c[͍2,-8/^v:N)Mӄx %M̖B⪻Ud!ViSd)s2MDUJjo8ycТZԘ$͚vi)-y#&/-< ܧ"vhm؊5O$ʞ?M @(`+tƐ &̅e 1t wGZUPv4Lr"×ٟ,>h@X>ᜣ'?IX1"R,;KLA"E1qET}zBkX߻w\Pƻ8%E`7%&J:y]krH!<}R?VƍVG٧e/>U!#MjƔ2I677m)Gl+Ax(l2?8V:D1+3s)8MR#Dtx1#MZ]K=~(kh!cD|H#~;$zkhe jO'>]Ӡ=qyiL]?IMN$C"܋N z%_▇Vvbkf26oRyzZ/.A&YLZ#rʕPɇDE3F2;;.+QM7䓿g/fL%9 {^g$ǫA%`QT(]B/Xڟ$2]3}0|[WWrKT=!ñAKxBQB c Z2L˝Y++1WE~³a$c\.΀7Rv$тyˬ R{=S?mO<m'ayF,֛!L6GSy9TO=0>^ޡr =1c M5P>[k0DɈq׶>уOen}7]CTcdײKå>CW,|OC|Mosw発랠5B"a3[-7gN7TWύi[{)rIba*eAB  xVXoꙿrr0S>1R[=+%kp|F8@H⛩PPC~wO o 1VeT@`jA9^ /|jƉ} endstream endobj 121 0 obj << /Length1 1563 /Length2 6701 /Length3 0 /Length 7732 /Filter /FlateDecode >> stream xڍu4k׶.D &D2z.3Qfщ.!=j^#ED {-|ryk}ߚf澮\5 l8(PR2<@ ?1 ! C(. H(AhLPww Dā@?(W )P=AZ<u"fQ@z!ah69|bb"\r.P$ @h fG0`àh`t@]yy=<v08+UShP_DXu@=?zB|?a?W+#b~}PGPO+b>>Fl08?10sH'{Apg/ߊn~!7(OPL "w;_.T!bE`G|gf8A13-B@0<RY?/ ןјB`ߡ&߳]UC0!w02 хM)`;P] pa&섹QPEA1-` @H$ȋ13/oxy4&C 0? C1aojE w\x'vr=`sD_a0b_7'E ? ">ݑL/buO#!!'rt_I?<=fDhU/HA@nܻѕM«:'SJռoj8Tu3 &JӝEFܭ8r:"Z{.![ugԢqBZ2Z^˿}vu ۿ@~/t16l1ncU0cC:eMVf0²ܦDDPfP)4^R,q$JW=G죩o:ﳪݍivͶuTv=G~e P"0$*lAHg>)> /ÙwfU nKv 5Ʊuϊa63(QFQ5afrW ڷ酦p `1䗳=8fgPUE!sbzT~oy ?iǭ(<,QNX""Iٟ)=43Ƽ4Y?_N+zE6VEQRV\Z˜IRPe05R^.;$.ˬJc{:iK*#PVc''l!YKiЊ 1SҸ"HWҘҒ&ua'{uՂwCwV dIbuC3]+%pE57[n 2ǵgDm !Y6WsR6G M|\ΠcPB.ahL+]BAi;zTSW+0Q͏FyL}! .\|{]RuMQ,Af=}1;܍ 0>tN1GGEA}-鑨FպyDwb>QxW84q)Tzimi*e9>(Cc_C1~bI`~Hl`H%JR$5U9n{IΤT֞OA~`gHiP!/x7>kgbKIC\Ն7Crj;H^Wz+|ِܟ6v}:ṿr&=ϋSf`-3}Oo6*ZPIT2ۼ!=J $$2k4.4 U6vYwtNuRA F}ksr$ɲ21j3[e1㨰EbCcWbeIV{=ܓx+]񖾒d*Y~ڌb2jєϊ;^^6J}m#lJ^4Z*o7%Ӑ0YehTJET8>Rza4D .(P#*4.0 LxRXPlPPfȗWC㦹._qM`\.PR+9YfN#= 4 oz2#[r(vLi'\#"rI}hD%ևy ,BblTuX0.O(pZ-WNLhKϨ{\r\& W6ђ跞 nB'f_fY,=]v%b㈔ S\.`L9m(uV1.ӭͨOMIO阚2fqF?u˛-8rt H1:&d7a@m)VKa1֯"QnF#gv,} isRϾDffvk]0N{X-"Iguߡć5&w[NOJZFUgõ9Ui3XF@۸z/*3JGREЛM1SsAwnɒ$Z ;K~-lL!٩DSc*{udR:}]ȴSb剈nX=L>JO`4$MxkXĭy"8C)[җJQRֲb~^ߴtď5K\<%:wp-* e&BX/|L}Ђp7կ7)bf3)[Ҁ=6eܠ2z6\L _h\o4͓41v6gpsGQ-b#D$6UD}.@Vt_Ƶl .z'>H^` 8?I<>Y0JEF)_;eN!'Jun†—?NE Iϟ*Ex >D8_ON8&<:jSwZMOVkI/lgy)UǩxuVIZsxU٣)qTHژFH"G8l B#]3D ;!y:)4)f)Tb욟.Exeaj9esm/\ى>Piʍ))Վyeߚ޼(f.af}zwq,>o0}lf= /+;0an;;8NPg&$űK^ӽ" '-tQsw! Q+|DhR)o6 ˖t@3<]Lw}=4?nqV6-mm<_w Ԍzڣa^,iz[p J==Zx$a 1omW͗X,[D,.RObd"pifTXv |9 ݽ}FW\B`i¾6`~۽$)ֵVmgmE넽-&Tur(:8ѥif+߹͑;`ѼMD#ӣ4 +EYߖF^%o*;yg^'ɢ. |ِmkiY;?J AQR^ݬD㦰OE֑ f!y̍ &$*/qxKket 1qM]}|<>&iw`~y0-YdZuNj9b&\l}p~>`72=+w< Ig!M~H ~Mp̆C+ ,Dxu;j잯/VL3y9s>$[Y)ٛrQ);gmsu\nq|_SsMe~Sw?7vyjOCm}DHJߚ?MO Ii#伷lI:iĵF u 旾FwVy3[x&(ETͲ1'?j@1B<~R{M42Z,ӥFЊgJ@XotӱfO[(Jk&Lof_[xsNMml$kjM?SIJ: 2!][ܪĭjf6T[l<ʨ0mEE~"<a7Av63= m5Zֺ>+A<|;}[m6pij^a9I]<γ=C SV[d =Kɝ$a) Vi aӄwLvևh4lO;ٙD8%g= wVi3uVL)/ɿzC9UMO틂k&)f5.)UF3'StK 4_H:vd_lR,M{Y[nդshf]MN s쪯lg\$ w+BxFHr 6χ埡zЁޡ OFBJ,~@tb:!Ť ӕ#\J! ISr5/qC:v\V}65^R*jآ/΁ecW2GXx u?u[puI)2a4nJncT^6qJ܆>)HIx8l`J~Um%n6tt$`ݫXq,=ϦLy˘i->o'O~뽞ʣ-b̭bޞqkN jFcf=\lq%=28NE\#$sak}Xũd$B! u)>?r8)}e˞;=X!<4/-B>~f~V*^ntnh!: |;-H[L!fWsФ)HW}UTM>o7ոq_{ |HmG2 4o9Hԝ,/?mr=rlN|fgN^t xVsHbgZ* v5:jg0Ӳ(aw]\+;zD[Y7+ooQVt\/O;e_ xGk.}LMY"SXIKqcgeuoǁTX@Z@.#6A4^Nէhzay*#DNt;\:d3?ȐM֕vL7Es䬗]&$͙ צUpfg'`rsfau>qPٖ܋m5;׈ `nʳ1p;gmJ;}d o$^kbIj <{HGl)ut-Q' G3Oխ&;7, LPN)K*kZ/o8veJq! J6xp9 endstream endobj 123 0 obj << /Length1 1422 /Length2 6320 /Length3 0 /Length 7283 /Filter /FlateDecode >> stream xڍtTk/RGJaINebh;%iQiDB:K8{ZY?{o? z\2TGrrĀr*@#`fև!̆PW.\`$J'F4p+$+,@ ѿ.b@y; TEr'/U#͊+**+(uY@ 0ꈪhv!`P׿RI!Nb<<`GWn;'B].PkO@M#72nf^a@( wEE.@Tq:P ہnܼI'g"W0 {@΍Drp럎`W*9!(_2:@0 xV.0'++'DiPC8:BHW\Vk=٧p`[ac9AUTlH HD_:Vv /_e\\P}b_/ "GXW?ZO;3{T~jZTcg&Tx p+nCoOG|N34e ]:ѴH??c&ejL`!/RV ySE+u;KFHj֬%ǸhTtF5 ݽ=3dtQUW"{ _eoQ+mY2ϞrVydrm񺞺o'_])YzvlotB0'G>,Kq5 g:^߆WO[GݲOJ&ΎDj)ݰ9~!}Y]ğW{,29;r$ edtHrȾS21WrV ğE~ȒZdZ —NFrZ @߁3U:U/؂T,G4I#{#ִ{3Mdފa$^S?d:h|v{BX^ݡNi'=rQBo'牉8_CCd~Jja_ԑCZ'^A⧄YTXf,{,mO&?*0jTI,; HR)|9SW%p\ʽV1.;2he꽿UlvI&5zR?@@^6#6zD®DyOuܨ K3/|)<^7f )+p?2ieH +BGǧ>i’ !V Trg(k@sZJh~6ʀ>ƪOq[+v)c:dlyu0Zk=-e8}q"ޏnu_Mo^Q8OӐ&ĆɈ;k+Z)l,c:)zV&.JW2ؘV\5ʼnE:5gHy8_:ί0n[ꬅej -Yvy@ef;r*DKm~`X\sM״;/r'݌,Um {*3)-l Io yx'-+$(?bN)Ѫ&NXES+D(`$-S>fwr%5s5[ z.f9S񈃭Æ079pme'ќSvv^jJ`^%2͘ZSsԽU|_$uLb'85I;^yx>̴ f:yc+|vrV~x54:^\A:sRh" 2Hy s_奠;Y8Uhx'8(6y`tMpdpcf[SDK{ǝf L+Cz(g p,[/٘{kT',ҺN]l)-}fy&f0PüKf`D*#3Ov+8fYr7뢒DAٍ/\Р%4i^:0KSƯsIMz"CfKX"ә yRɩ֬Z^nduWcGahP[hD ݲ#Mi3Wɚa7tÄ)rJ bԜT`ٳW!rљ#{z'ɫRpF %hiU.xjϛD#A<ӹk ov@vZm8z(,5RџRrSbC comYTy1-aF^ ,Q*cYxEM?\deEuֽgȚީyc3HXr|Mf”y8fP}F7uy`H%8ƼS x{KjQ+U@m?!z> 1WU;$:ǭi`1%nRhY{xhD:R6hbg)[n_h5(6 |11:Zxs RViEg]3'*YQ]B_$;) RTcï_o^?CD8򨇍Y1*xjoq=rtMSՃ #!ɢiUXJnޝL>‶S9,7d5uja^f$w`5Vgjq͌3T%D}6I.1q/281QOTY%aUl,@ҏ|զ:31s7Ў@3?9e3:j8q׍ᇓ<@VS/]~}LlA|>1>wKCEք3S]K.,ݷ?iOEN !+>5KG ~z:'Bw|&zaP@71zF17BrSb8+`1d]N4lw/vo9lè;oR6!yV[7h)`>PNFRj ,(G>1*4͑?@q@yztOBLźhTL{tph DO;UFMyk; "G_X0{XM )ZY,%+C6Vl*Cǥ BM_DW6T:۳J2du;k:wϾ{@Pi$~}ywx ]} 7 _F ۴jSA p>vLg`(OnOWe^L6J{ܩkHd6G:<ʎt-LUTև㥒ʶ[L\q wM`#"Kǃ1~85΃*3t.#''F'8(Ho'AR x -Geޏުgj sN9LnF#LͦijTg$cYw6ji;0kCfA8Cub)TRԸ4FbtY>=/ 'hq?L ]egOK [ψMˢo̚1Taը[l'h|ie^Z3T,T2·^y@VUwY>˽&ԧN }Dr.b`c2{>_|$(|7jr>2W1g+cH2JmC[PO+BtعTy ]o0&w ^HZO˄%M{_7K8˿\aXq;W4mA^ۼgSTY93 7kzʭCqɓaOyl0Y8m 7#U"m.ִ s)'*8R/Jtb_ҷ{^⯶$],ɉ]z+ُybqJ{W#WGsyw.:63`bg=8zbXdԧ~8DZh$d'#̰Te]A (lUD3^`.?x@qhE3+GSQbR@`;lt`G.x5 $ܳRרhOY[]|#F€%M,U}_NsY&ٍ$B{?SHt~6gvOߵ|lYϳwcM$ۉzv7X㰈f) qg" -Zĥ+b * %w![툾Yfa5>v=58#{!㥙cڢͦ9juи޵3W,,>;Įl28͐KP ް/@,iֹ{GlwuxzعFB?g=SxJdP6#4[sz ؋K+EGMt&gKb%MvSaݿNc( cp!3HGևne .I#΍/9}E^g-D9.t,i7Sun9U:=tH|0@jhGPoǒ j ڻE@Q5}13R}FMemNb2A'x^~n]) lx tp͖OQ>R%\GutAĨirM}]~BR=u FK(W؋s^Q ~xF+T&QF@Δ9ivzn>Z>)߈^5Kpnn:ZWnf2uDsJ#!0"ǯS ,}ݹїIts(\PӾȮl_X{xDgP<: mu~7ȅ? |<z:-:fr͏^-ϑE"K5v9nl]^#")'3s6 En_JN*Hd| )$( -"z\ c玬{Dx-: 9 .ڰΧDve^hGzvմcJT}EXhf&eǢ1|u`5ٰēo8Z"k-ɛ&R(%4/G+6`a*Ss:Cf9vH ]e$k$s96] t)4E>MUԎĈ0-߾۽OvߊQNćs&Όk .ܵn^g] >4U{*{>rTz0SAI b5C̓s& Ov!܇Oi}հĜ? |¹\MҾ:ܣlCą7 [4iCY_GxaP~]?X^XaTw\)_iA"-Xak ΞXƄXvN/qrug&IA¼u86ȁq:ki+\4+!Q4E:V)!V,9RZX۽G;K?_q-vC0 =bkl]ZOW{ wA uDƺPAZǂDN2fE/H JQy`\ѮDa5^!!~rqh_]d6,޽4_"}-aX$ [y HN>Vͺ7=v{;7WϣkeoO(#GŲZg=w|n&^[$!eBJ%L1J23qgwa|\Ⓖ2729j9!rj0d'{.JM`kT oHX'YEJ1{*q?:> stream xڍP-wB&8MK%Hpwn ,י;3{EUmg}>j,f Y{; + @JYYΉJO ؀2kv r@6i4Nbp r 8h$6qY v gTz){'%z>>? '0lBO4`J@XMlY,Dn`%- 2& P1Ɍi vӮaoq3q0d p394 ? `5+]lG ho`bm@UY%V;`bg;oj11ѹ @VB`%=g Mwe̤mmAvgI@@=Yk;{7;97 36-; H^ a w%? P o98o0!SP3O |';@=￿ 2'eSTz'}/,<Nn?v?9@_+#TZ^#}}vv yH*7oC.66_Ml6@=t97T*+.땇@C*qnVv?`gY;L Z) HŁfu@k ?]&q1d݇6rLLkkrC6V;{4 0wB}ͼ<6ߦ?/M`A}J#>߈f cF<t=_Z__oʔ_/ `sr Bik@''Xx@ wui(dUvS-AƲ3.xr2^` 铙6ڌXV,]5TtpރJv߂4f v6뚜f&W'IRةF"+E=ڞxeT:VP"$>z i1 f޲F(qV10)z zKW 'nWuȩ]{sA0 r ; U{+s GcF?c{ܞzBqxl I)Ɇ?mƠׂyHN5y;`K!g<&N>84Mpg*JWOx$1 ,a%DG ~2J+Ho2aȦ)H† ax@YfreE $Q)ϩ.-DۃgE=>|mԙW!څ ^ZӶg cG{A1&}-ŝIj܅X5|.'{.+X? iiQ;㽑? gX읏&, }=|J”>#mb蔨\PqCZVjvQ昶xo[Gj͵Jt{_\/ѩٮ34'*Q'}_R1`K&OVݨ`IU>AkPHN:"`~^܆E!Q SI # c.8!L!(H'MF1KVtTy[R N%eNpgt4ؽg cDT,dp۽ZeRҙ&*?6,KO.Yt{Jr̈1LaZ? /ҧhH1*C~T[Hb{ӭrYū8KbNr*B|I,i}Wv 9E`=n%:[G|Do/`U /ц",^fUz ^.81[sYM:H(t^/xc(%5WaVҕ CP{ Q#e|cq8h qZA. mozI D D*zw}ޮuO 535cb3%|k}+„m͌zzOwmygǡkg3jXmlXSN^Q( sJQqy% \\KΨBR4B-2k-ttG9]6dFbY3]|]8"cY4XF)'*|=j޽QsiZ(9|I95"6]H "3 ٮT3ubCD,&l_CȼTMhM$xq/[. CR Fc+q% 9Yf?Ecg2#`^OpYKo``G ˫m#ƪR$fŁxO @". "L;>#4ڋ_*Q^Mv8mm?$48c$7jS_$r],jQkW QU1/seN~ĸ4PL C JK[žz&~X3+rM ⼢e`3m2So3odueІPy7ݲj$/6F Yf^2q${:/2&-!Zv/P3\2\W3mU* Xm躁MOE4} ߔ+< BO 3`Pn&+J<W{[S`]5FYy;֪'yߊ]MQBn݀ K7zL;[.\%U~֝]X4'!+m] V@ ق,'$)Dx;䬇-1#zrRۿ媖=L|EXrDVX.tPڇ[&n1nfZ t:O2X[.o|2.h8-@⽒4boU'2~Z3_.E`HILumzF_<$u;nV#"}YQLғGq%wI&a: f<<2j+rwdTgDt .㻖3hߺ)c0mucao~@U'$,@wXN?XjPx9ٝleZi<~p=`҂LĆvDj`{Kl=1l4J伒RH7(iF̼C*hAOٚ笑(E!SCM֘5.$ʅ;{Ss儙΃@f2/%F^po̝fS?0._gLS~,jLց"n4"MB14eB킪Y>N0&Lf\IMd XL]8HRYEvTl{|{)#1n$.RwцZFY[j+Z2m^sW)0632(s0;E}>wZƨ% i N'読di4G4l~-/^e49C"2X璪\NGpyEe]sW7GzuuN$G;" ?l5jVi_zFnK͉JZ,gHH娨pys|BBnDp-/lĊ*d XNz6^I=¶&/Z4P"I)[&-1n.s!efp W1=ı?Kf jU-mFV &c;*K$kйa*MucQ Qὑ5OBnDsݒ9Iu"H5yZeDĝ0YUQᘹZx]0uZV7E'Z _HgFzwewNíV3sfUW`ӗ̕%8a#61=6=xdjoU]&fZ6R5E8473$Iyv>.()u|"*.ReڭaVW3MoO#J+j_R!9wy3jŔm4F>f9Gk3լG|3x Q@jju.}l-bvWcc|zVxqÔws'W/\oX?&=Dim`"n7 egmYi;GHɝC DܩcXM>,n]b)YS`E5eg6•f!NGe/].g6bt%~w GbXϴ출xx냭A~57wUIts 0ՓH.c5M$Egm6s1IFNkkJ޻"XuKRi%U% -52cUW}7.}sN-!}^l`vZ\7Cv[N}-oIه,}.ܯ#{h #d>>_/jTe v2gbH:U=it?l](x;F=(M-$hU߉\a-2yIZb1uEם1Gw ƶL1onws7Tx.4 Z V;8u=әKy3:.yij&) %`#&UW ?EAr$ǹGm}]V;SE@ZPV03(+4Z5 5QvN [ز4i^9ՂQ0kQ5/:=]5aIx uO~W92rOB :>o'Ear Z)Ə+^EaFxG"aSXt= ڂ%~J08  yyO^+}h{$ʶ*WY>CaYo\ eh üS!p0?Y'Hhx`k8 f{i[&6lШ- OVyd@ѲbPZyX=X+:=kf`C v`_f$oጷ:wZz%k;Be;*4k֮hbYc ?<s1լKC$u傔gGT1MCRdR#6>n'8<;k{ @ nS]t\־( nK= H?Q )PN/~V<טCɷ y&cׄ/y((]NfyXr?nq):HTv\`Šm<63V{}smO5?á$_ABCVM0ʌ↛\_"HM۹Nn73m?:(_2Vax}!P_'S&D$' \9Jkڡj`3edOexk4V[@.d1* گWm:*c|~3zf6SrTP@Fap-amiQNc`*dӱ0[PVMĤb5}V؃y4؍@!W'm|WG NXQ/$vFScm"uc Գ̨TJR" дХMWS##IAejΛiة I\q^py'j? (0" ߞ>&AҶbat9iYm0jr +tDIT'vͮ5}.3$L ʬHmu^!Kz#ӏ^'9c$STڣΟ19"'DߩmCďݔo۟rg `(NW0Le)JjD~1x:B6\qޒecwb"if)5n!33OZ/ 唩AEokV4G)9txu#]|H@-^ Yjԇ!c'_Κv>Ƽ HyE pkcgsǵ0Tg˳6-}LUpl(uofL܊h֎XL.u0)Zngm ٰZ0G 8V;2zڟ :XV5i%L6bx~guG(> stream xڍP .`3wwwwwnCpw ,^}ޚ~$STa23:303y"rrR dATpMFT;:Y#F9]̬ffN rKΑ r01lNH"vfon 60sss;Zlr gs͛Gc5@_&y͝yA6Nvf47 gs2 60@d+3F$J_t;Sg7#F0:iؚo*R{_²  Ð cc;{ PetvwlMY;ٽ\A 7?#ąNى0Ve1[;Z8Wgll&$abϤfk[䍄 `rqr9U=2 eeog0}Kca ~CrΎ.`d7BbfX;fHX#Mowpf72G2iɈ+yv/n ; dp_IUYRvovJzJ﹠{ghBmf_4~{0?o*o@.  kfm/޶E5RΠ5{qf6Fյpp(Z85Iśk ['M [9߶53cY9 GG@!vޚx -g#m0A q8L 6?$0LF\,&ЛЛbYۛMaCa}ۿ;7fVfdcd*˛xl܂?&|w9[VgAVMn64 y`w1y;O߂jvyaR4Y Ħ 6U2d2[v ;e-ک#`a ?0#5M%"GoH&)vP$zQĬO㷞$7*qN65%D'[FWsl₶u#Rex;ݪm `wEHS:c}$eV_C{)v=N2<6+_I&isyGFЛ݈ߋpR(+蛞;(8P;Aw"v ۝yS*߽`T52>p8DUmXKqԉ=ƚҽ?SӌcIGE&fKZm|heFk }x+i+_F'`O8fc@E1^nNRCTG`f\CdqdQ|yÏÍ(ӵdTAJ+,?^gFcL;H ሊ}BWaqɤUDj:_c5h:ęRYݹgp}΂B2"#Mip}G0p^+,dK&(i"t,|;aM?ND3ޙ@ᩢ")wYE@oċStĀBy5zq.f[ =XU$I43zShRL,jfB}8;lC&@(ٝ\ CKTO:~pqiJE%3%G>9e{:w=6C+B-WfY $3#CCgiLն#odLr#=z VMBWp%ȵ`42HNu<؉.HyZJ9ࡴiӽK%ʪبv@lnT6k۹j2^)qUӅJ>K ^rc6>zxH[ -Aj6[=~X^f[ݫ_.-##ϒOKq}MDvܙ}} Z{Lkꑰr}MQ7ʄBk;W$ dPCd_VdWء+wHxһygOe( ^9wM8#%&-L!Y۔=#~cHsY3wM3_\>[9J!'TH9?!Ͳ>la򴝛Rn0柃Da[]肶aSEKvCd&ʠ璳vzr @:TN 䨙lSOyGb \姵Ɠ;R&\Ć_n^B}=~إYox{b?HEŗ }*{tZh%7cxu;rB̶աϔ+EBxur4:k|_4YXΙ(pБpoO{\O\`n1s[eJ Ɩ Ww %H!-x,PAAT R \@ c_~Tފ7G``<bέQy zlz9nGU!P*-FB7oB wY0m Į m2m:*r)@KU4{Ѱ rL{󶢑M-"hQ 3_Md3;8~FyMz76ۣjGiAw˵L )Wu_7!1FV`JQj~YuX 3@e\wa n@0汖w? KB)^%t"Xc9LӸ̉Fl){+W fK~ɂ(+R 'Ny"DQ5{lc3 t;$*i_Vlg[9 -o}gy\.bx`$1~R6EsIj!Y?vPJ8PgU!0gAvT o!7FbvKX=-ׄbBkYԓvs_c|P^G8\rF`2^S8W1PW]=󎁂jaRӹFԗ*mebv[;8~ ]_sʼn߽QxSre!LXv%o/3D"M2MZDˌq֖W5p\#8VjXdɭ'T&gmM 'nh)MN ~n,@'Jp|Cݯ*YV`UUZ ~nw lnl l玥/3s9Ksx(WvCpּD-CnmWm~`jc ߍf5@wxsdWV ܴ¢R٦v1QRX(K8gij8Q-"4ah}! HI*Gzg p/0x"~QʀhkpJ> 7Ou*VOb6-p꒠u+'=kѶ YJMO<Mк <`հov?x($`>aDsמ3Wb2Lcņ᜙OB/|LJixɠ-n`>!ӶЎTF(NQ#ƒg8/sB @۪ VRmMXA^:LdŒo܂:-Ž蔓{ro4!l!\o.`:lc+6c,n"ƢS*SbrtĮwX'<,"PÎ]yĹS=:_AQQmIY)u'g!R[)HvW0A་* ;|HX>QDIlu߂gVۥלZcȵUΦ5q06τ60AuO fg%6},iwkD iЃR|W*fr]L:IW2uh;dZ㜘$sҠY琱*;wmtlwFj$P%ÕA?,r I4W|t(+U<#4~ȒnJ{Uӈw˒?ovG `~t|$ŘidjSSϧA >inN7Z2Mc ]Z9^5ɰgȊS͉HjF}? @,sOE/bOA \5Mf] xآwT?}^pIQ|̶ ®.dJ=wjRF;m~ O}v\ѐ 6LH&wTTKA(p(D6Gl9Q;w /ŝtY 84mӟ؏\0aSG~ԥUC[bTkY?e!+4JMڇn->ӸiXƠɞعO̻Q`(cݧYUeV/kBVNy"KoE(ruzm:8* cIN ;!i#ixq$+62f=W?)ݬdPЋ'1?TrCs?Y߼: PIf:av60 j*B^n^YAu-Xe۹D4U>__D2fUZorLjy[Wy+7DI;5W"p|ϱT0H@ZqjEOFΖR˂3|0 Мzvɾp6//#D?dj:?B&NBe!Ȯ,q;:Aco @:c'{ӪK5'~"QOo"G;-#){uމڊHůFɢW'VluO?-`GVwU %7ڢqp  QGU7x({j(e>ac vӶŸSSm7uwʽ8vם_m=_Qe k@ygumnrf&ެ?%MŲI&UGwŢ+uEb‡ܬ)DYw[;c?a)_ް|ѥ=y`X}<] ]$Ry|+KG*/SKU,V:eN^ PAu]w+=$!j4e>gnٰL)!#f:(xZ G Iv ,vXv[fJl_ W)aˢ_<_!ŗ~|O~S'wWM-,`:rOYzR$w~3n|␠`L^@H #)pҟgK#0'Fe}<,WأlEvy^2<*48N%y{(+KEyK.IwH+r~)a݉N-TwŘMS=DC\ol]&A٦E>oopu)h1)ś]o;Rr#΋K7#z-M(8۷ǟx0Iu&WJG'0sk~m69"qKgO5ҫ8x (%km5] 4405Z-"@y]]7;<y܄+|tT q=n2RSV@S]uNbr9!-z^nyL9JguHH߾Ao5b5FpL({i<M';q`ljH\ڇ܅ʡ@srqdzP3RdUU 雀4_-¡cxs|zD@#1ue%`閈MQo&^=ԥVp(iy7O|Em FH>klz͗܂9-M'G>N lvBCuD)s.2" k5ӕ{# HM/2=2 1=P K ?iCSMVF66vI[v$`UCK_SʫP\d{M\W'1~ص-LݩY'o={蚽ΩBrm9/!`wp5r4ѹ9 0IVeszuɘGwҶVh޸z8HT2ޟQE ~{a|[nͻˑQTR߃O|COOIhB!tԚ ԡiR{wҜ h+=RئV#U ͜6;$d* ߣ^Q 8x{GҌf_9[×fฎL<,wuo"DB+ԗ 45~NA'+y,&RGbw<7.=r{),:ܓ}d 5f, M1t:X~X7k\JJc=[NӊjqU<jhf)T\{6]o,U ʬMDMHF$ekO4Wܺc(D8D~Oeu"/Dˁ;SĞϯx V0'Qj&(wE !%%$M=+| !I%V|Ƿ̙jUʷ<7}Yzb.E/`Q( g au͙gĮIؼVҕVc]Ad"?ǜ>嵛PC = x.GޥD^^NgNЍCU' P]쀁tiũ"TFW|3]|ͦnf;IZ?b O?tm#+< &6pJvf,&,Io[bW6==WԈETaUG/6 #rN|~AWdݰMM2.m$&ilrZ ̋7e-1L.y{Rq-?4s7F}dty L"qfVB ϋ~#SSNW4Q0 hpʋkReϮw_bwL+tH5㱿\^sucp#ͩzeavcƾDQYQG1^>qg=z+%'Ukn /oXOiM7x(U+y H^ P0GO s'j;n>jjQx/ !|Ubj lf2쎄KH=;kvgnWc}1w1XJ]{(*L0%.١K|;43}@C2"uk!:4 GabtTț婘+Šd),6L K=[%h'8N x) b*#p﹵OA{6AbT 9 %ܞ%Po2] udoGT]>cQ_'m9(ecc&xaZH;:B>11_Sa,6N[qE"9J|R]7(bQ P5aLB7Fz܈uIJO.!N"b4@ kiH;W=8{Wm3=#*JՓ*E@!j+r_6~ZXj ғ_ʽɚv;zk?ᆐt J;} "} K }} ~oIh΂`܇ >zTQ5 JUʼn؁!@_ l/ #q5m,Sg5y\>7?jJdq4# cd֤]8_9~N&[}wi=HUૹtV,*8HyvKEy"UBK/d|rZFIAjtd:Mz+I佖ت BiD*FURd.BʄVi2ѓO+r#f Iтنܹuls]A4+K/lSc^e0LZ#= ''\ HD sz}KWq8CءlN)|O;bW c餬2s۲H򴊾<8Ae N.R6s|da%/׵``ԭQX? 2㛄.:JYSp_(ԭK睯!LDqZSp49}p)`9~]ܑ$;/|頜Yt-ag7*{9B$cU26̧-kÿ"NdrU5E}}o-wT|U@i!İ~ip[eYA)!M<, Fִecl1OdykhUk 0IgwCpݜw'B<* [ r6LJ COR>$D]N%Y֭5Юg4 Sҩ䤛b{li4'Ls#7ߎq-*IxqOtk[> }BYs' QQg,%Xa+:W%(Xz瑫QBu,7k}x+ .ܺaQ%Ygs؂х>w0^Kh2&e+IPo۴߂1F}o`p.GY+ӆ??֙L-2 pg&moM6F4z|տAGJw4I(U/a׿c_ RJs*ovY2Hv:p)=IcmC0ʸz7GD%y$X>*rA E.Ӯj \uڜx.]ȇB_S&$T>'EC]e*?*>[-FȓE\Jc_g"D*Acy`[#Ct׌~u]Emvv}ھz-B{+q½BE5)tpˈmAFhlc1^!]mAeEdkj|}B21 SnN b|XpѶ-zR(C+潥N;cLSL/T*Û#K,i,R,,EO~vg(tAunv[Hs+O˰ţQג̯;|$]:KtlGYC!Y8j>??] z{3{Lᚉ 6GĶ b5Б"K b [ -|:~廼=a,9K=rƎ_ȫPl K%enVʫ> a]7?+H^W;گf#N}יhFwCk2B5r_wMBs %#sn\~ 6}qf{oPv [^FWNkmÚ6";; 8OFz!VwXg!P^Ps:1dxJίyfg>է5bхGUhUs 4,> s?vbdnj1(k2ugйAt';޸2`Bbr(327F&||].IS1˂4c14L ng fa6LBvӧ $FՀ,Y<(wn^*#"~skn`И}HNg--_-_:O1Q%wTέPJ,wQ dB)$jw/>/%Gݤг]. 5{ᐈլv)cVpuWp:DV fNZYR^5[ٰZO^ZxIA}/Ϳa*̠QB|>k0yՈIgMߊy~'^;L<" [M~PV[O@r6? 5_6b'kiDMW8Y.mf5^Pv广OB$%\L@ f";I&Cܫ&HzH;ۤqA8φδCUTD=進fa=@BOSqNwb:K_'}{MQK5O41s~Hbly+ccبadШ}^q ˻rܓBn:'="6@[|Bڹ`K./O yش?l;3 }!<޻Y+L]^@{A~Ktaڷ@y>c:۽]6݅X+PH[`y(a{CୋHOd?5a N`Osk2 endstream endobj 129 0 obj << /Length1 1749 /Length2 9906 /Length3 0 /Length 11033 /Filter /FlateDecode >> stream xڍ4k6%{QQcމC޻5Bމ] 79{_֬5\&:m=.YkgK3 k @~n Iwb3anga`)5 g(@|@ab Psݰ]a[;8Vl^QQaN` hv`'G+#@ {" rrvJq0@m6G0@KIֿAnΈ dP8$!;;7+q!/3"+B坝P 0<ulZJ݅ qu*p`8@ /.B_4"~_g "?uyp;Fؼk` @XG`00<^'SlY;Cn.69{|.>A W xOYm؀,Bm{&X^6=h:# `3ρ@+>7_Qrwt-e%HANG)v#6BU} k5wA͐:SD l [5@¼# vvf\@f倸J-#V.VֿvOP@؈# `s :G60_D//$ D< (G$ (A?H!hA+Z >BWarb!maDPD!#vA܀PG@sqtwcQ,7@0#,`(>`_ĿZiCj>K`/x}CXecOIͧ/ٸ|axil!i-}UdYomĈlKy[7#19 ¡qf_t5Y߲UP4iT^VMMK73fQ1V rĪ1m*Nt9'Kj^߄[-8!Z U%t[TGf[#\{RxpqeXMqS^b-G_ص{EFW翬e^ҎSqE,Gxے gZSq\U\ER#7w8]_&EcU9+ j9p)/?_LT筜}65+"QRnoѣ-ky!ʟSIS>ɟ,Ytū/㯽#UAdǟ/tW5p wR|亨o3h̸s~R=ᗹ7P>ՙl㇌.v 6F4mm=#%%"~44z[')kCPRBL|EA-Ȍ`r] vn:n+2g[}ǻ.72R6(O'u SתE>J'ZDoпLXښI lG)}qkk4RΫ.5*1xTڧI7Bz]xuyv mR@gEʎA0[vHL'ЋuY3PW_܇*!c=x֠r ᪇OɅ:mr_A$N!d /k\0Z kZ&r{(=תYcpt)Jv?66Lb\U4Ue[#h7v_c8S( kiWeT0fYaB]1'GkgJ^ j2d8TUn} `3duD2#韘6*m2YvASu>Ơw+skD-)ud)ӔHKln]SwBMH% M*[ڱ>yPi_0#iMW 5сA|{ãYz,Ijʪ;O7"u!2R:4J&{Dg>g,.yzH4oi C@㪒ӯ=Ri,>)!vQoN!Tjy`d=I]HăP5Pl&j| ^`zK6齠?B4rծ,l~8>[ЌsXKn`MYR U-E')ƶM*:3sڭy(%?ÓV$Qxj@ #`6,E/\6*lW֐rc,fh2ĤԎS*vT'(\^LT! Z>%+^/Z'I*bfVC~ZvC //LMm%w~)Z#/1;ރO&/B)CtݭY*HO*I@R%1tĨ;?hs|Sadɐ֒ժqSpbZr_0[( ~E.sZXgQ93d-Op@y$o_Vc~IU牳+!۔myl8j滽}ng2њbO_Ey$r?B$I{o T^U"f`A-_NLVԑR\;ӶQ!Ҥ܎WLځ,F<ᐜ͒ ѝEp8Q p{a.ކYLռ%G찝{^(dR[ݯ{J{ީ}7O{,Ae/[SYc}\3A0c3ӋIo6+ϙ"l6=<2:s#Snpu$Xz?zZTky#%2+igW| բIZQP*cCXMh3DF[gF]ycx40-X](:ͥ搖{xh4BM巻=8Gw}\n2IuXћ8CS<5;3pFy Ga H ?Gd 9 ciFTcņ ~?t6=u `V-jhq.%=Jx&,;b4](7#[46d12bEr79w⍻N~ڷ޴&!g `N]hr ς=CtkMޣpQ̓l\Ț t[l蒸>^]ZU`d-qG`(W .2}Y{-2n 4cA$6X*Jef&PdXV8NZ_{v}VHwJ"=hs>@BA(~2m FTK]˰u#m3x"⦈HPb_ AcnjRy(܇O+⠽V^.Ʊ8۝J/ܿHs1aQg_2BYwqrac5z|3+%Wea8tEsbWt]G_nk$Oz iǴ1ŶC>+ULS<#"!W&bp;n^nS3M%CCiTѝSkJJ3W[KTut3]Lk/ \ͭtH6J~$>uj!#E\xR`\0k̴*mb4$s*'Я݄ozEl-5wB['g>,|W*T|t X -W#_)tE$vj/OSe3M5,ɴimDr< =j7ic]TO6eYF-f3,9k=/UVʼ<j4:_$<_ae!g)d1_1YjY*kr)^orq|F%^QLx3tؙőН1zʂWDL[hY\ڸ[{kL(OpJ/8VxjA5(|C"_Jae LĠԦ^С`itv;j5cr+4)WAgSz*OGF ~\XMD58MUhݠPklمIyR7(rrjxwc]:gUm!F|)k:˄)aތM$e,dxL[3Xz! S^sЛ8d:$qҝ?_ZKnpԱ,g?C.Hl옴@ 'qީ@Vetˎ 'n.J;-w mX_xK_([NyY/;7[޺9eZ!B:I(usyaҞmK|)9|gljlIͨq ؒMVIIJ(?yDkI3 h'm,}C}:_MfMVSy 5r^dWxtJ;C-(n)U%:]=05t<,cSR3w y2(ߙCG af ^S6]H[SO1`dT^՛d-&#.)g9lJ u5n`韯 f"_c[kFRDdV̑0y[ddpr#m%.\G3Tm\J^Ŷ-~j2ل:B*Z31g׳t8P؆vT2TBNA`. Ad6o#S >kŕ*TDžk(yXaGX#'o3fV}STD OywNG"T!چɼjٲdh3۶ ٟy+մVcBV5xDpzє1Dntjxk{)a-;0GAE )Sy @2oHw#,k+}ň'k9?}ׯzee$$!(*b gJx .Ru6a 4fF^F'.[_)lQ$Epd^AA$]ñzb?UŹA$N(R Xh:|pg$muҰMX?wR`-l8KkA-uc󥷯}X}ʌ2V,0L1Q>:r`#}j&۷XzCdcj!]Z\hOi"PJDx{IU5VT`24y]0Cv?.ӖkDiB.@q ]5NceJmDQiE܅uf P8%w;$w)WtlN+Fѣ#Bo^ި4$ e^=F". eauBAi*|˾E 6o0L`Ӧ/A[j54OE5h]V6H(DN,&z1MxF1e,ú/=`+[L}s-)l7i4h^#| }$9IW?+~4s=?9CY1IC!J%T`4 \yq@I:.7f ~)hgPe!r1Ɣ=_АY>WfBWIʊ$>?p]¡"j+S=.Xu).޲IﰦF5T.n35xWLC_N QŢ$ M1/<حGpދBVd }a$I*V 2wfWw|5T7`(atc `P Au^$>8ey?Ȋ#I _lx&gQ%=/KdBg`5nGaB7 E:dC=mrG%JLD --aWtJSu }sd~#Y4t/x\>OB{'pJE^}Jztc=c endstream endobj 131 0 obj << /Length1 1517 /Length2 7887 /Length3 0 /Length 8893 /Filter /FlateDecode >> stream xڍvT\.%1 9034(ݝRR 0 ݝ )H ! !%)" ͏}ufγ99{ﳆY[WiSD"y!|`q pw'_V G"_aHP B!"`0 'C=6@ >*s!]|Pp;{]Y911Ӂ20j@aη;ZCzHk8?(8ڻ@^^^|Pg7>$N> nԅP0/@M30>;PYiE'5 v{TԁZ.0_}5@_Hg(`@-Eu>wo@(W yV*Vf~)dpw:<u:"^ֶp/ 6.GLE["b` "qvB~otJma??7' o"[`vpf< | m<춷l'?Ή 2TSVP-_,/!~~"?YVm(ﳁ0 l@$?2< οDž ;h"o`!z<NN w b *ɐA9{p7E7FnmWS[z'8tzf0|fxV v;JikP --An >6x+/hD~SXe Ar($A "0 A*0ݲhA,Z"Q~ HeC u;[V?yìӓHͧ2t^Cc쫆/xQ-8)\o3CP'2)s+ 3LW~ pu./-tGWS#_ot3K_8b6zj瑝zu)ytDNꬽVÿ,(4h=5 ;/.77i j `'^dلr}~v6jcҁ{~T_ M= c̔'DD>a2-iïGWI}vu,Chm|)xote`UVfZ cL'3L3LJG4̑L:w 5vۂsO8X%jBdx6Uj#h |שh?sD;ڗa8hym̹`8޻f!>pmȒ:)0NJNxDN;ĀYؙboNQ]TAZ koW 퐭I{IW}V0J"yxo bng}`mbʩvcR7 e{[O>̶ׇiMa7~Zo!oC9%T$MDC`#ػcqiaTuvdrђc՘JF$;FX`cvU?$M}u k iaw|l&ɂ} {ʅlq6Dդg<9jztDޑNݸslVׯ6MbU%_'K͐|5EB$Xo8qNb;ݼo^OUJjsw7΅]FF;OԖ1՝@'tȞ?6\4XPUyp9cY?)S @*_+y3zWa.5Χ IҶmQG^cgS]S91F:75JtcVvҤ׸\?v/ǭ)VϽL@6/U5h_wKGGsH䄼QQؚ Dɱ B+sC!x~ 3&}j^!RG7XSDb>8ÒRۇ_$:`μكNq/s<6yywpCs5'L!_Y DOs׺ujvh!\o{ahjND{, mġ-|F G3f(24b(6KNRLdkG#ȋ\8 y~Yw)\glH,̲Fa)~y)ѳCCIڍxiQ+1UC)ʈ*uK L3 ?s: :_egr">x2ߕEg\cFayMGvk]i:kd&I 'U8Jψ;E\K] ֌i-j٫/{z9c<"]fA흦o{`*/XGI.XZE02Fe™&M]Zod8yGԠL0G{dQ#9TFdK+ͧFY)|-oZPu> Ɓ9mgj[F&)>2G(i,K<ߗvBvNcEu儀&z^CJ9p,+'xTH\(!C7clе6sߤ8i)~X櫍}jVO~Ƀσ|RKSFZN ig`\p .~\_ؔgkkk6lO["𹷊i[3|(IԲ&Xi| F2'O e}1 %}R\װ\+X(9&"I5|;JcOB%TZNaH YFȽ$/.{&E7΢~`OW> 90/.ek5 (',c|0$p^` ma|{M# 5&R5"O !o?^;,|z&\6[Jf};C-6%Q=ú4=<BTgjr=lIX<Z~ \{byF !Nƻ &*{ }NƥkDP_x'V+(j S/-R1X ڒ.GǸ$3~/3=ݲ0`x[?]E7#Bb0gbE;M-pS@Ovy0pm^ghkMy^J˦ogۑ 1K tiHtHj~O\0ݮpyL &AgF!~-Kw"oڢ"(*SFK!߸]Q|_ev(^@sxLaR3{"+F!r cΌ4L|V&{=R]Iy0\ )'"yNQ-ȨccLAٞ,KͶsfN(qje2m5-B¼5i _Tn~"M0epi(RX*/aj'5sCtm 9PenD 3AKx$Į;uxu6H2ȢH(v"PB"5W5,"8SR'fV|$ӃBkKy΃3;Nc;yABnS͝4WB2h <hhl\.Xɣ1K d3)GL34P6:ISjG e42A ͡pŔӾѨ^2zWIsP\{ ͡YʕR5I|p{]nK"\qf+I&Mz~>ff]H25K Š]fS!z2w'^/AkPQlIG.m\Ey} }"~dA$VFu]H`$sZ& 6ohzΰΖaBBfi ;GHŎd'ѱa=AA6"[D# O&]ےǑNe1z:/B3‘"\`ՓcѬSgK5]ޤ QƳ&vw(=Μ1r?' tg|-Zo NO&_5 _gf+հavK~gh]h|s Ο2yЕkpNq"[.سrv0F #PV"MrF$.Yy*+ȳyjK t `j+Fd4բai/ƯԙhE2_Ԥ5obYꨉV1ͤۂs+nDs#M}E6k/G6遨CM#Ј+Z8i15/̾E$(Z`* 7xE\2kLXvviU,5|1Voնxl%KڥcgK7^}ls`pO`ppRC V4ާO S{ugMLBA35;EwaO9]_'e T.㗫PEA-#> ˠ\:T+IQJJj1 ]UWõ}V}7KςD$BpHϨ${$X2!.Q9)/B #$Xw\Ƹrmі;b{}lzWY$C\lmN7(=g $ 7ga u{^+jE􏭹 юm<]q~e7)Q&B?s߆a: ߧZLcIkJXa\bh`|*'_/g@Y7An+6\☈w#F>',k&R}AmаJ}^-qJ˚ |:}'_gY#@)S72(+؊,G=Ѫҥ"ϯVԇyY<{FP-F^`V\YUع)ZKf-mjxfw4DnrQ.b-Ȝ LzΣpEmâWͤ𺱪ThRBK<}%n$Zu%9>xRMm&@q3L˰֜B%`;}gPǑwFc]T8{d4/_Hٓ.힢a _~M;KQkI!ܿRD#&N_fRrl1N_6Gۍ[UkJ5$yQ: !56c.:q?V^jD}*ʏn|PA'VkϽz L+Z 67tc^ nt=,#9)t- !m%Ϥ?#u VIϚwuΞݙV)*3r6ܣQQp~A).pFc-z=us!KC-ۄ=Ox^?j'˪ЌC)S³uhC?ɮg?[vmm4GږW^tLe(Bb&4·[^HP}B*f[, myd!Hi!H-}mAy#Ba3n%pr5G6qYXY VXF8tOfŠd,(|Re8R -"47J g%5RAPفFxۭTQ("֋C6oI)dپAm+DmTf8`\%W~ _G!TQ*->dڧj0A-_S-̰|{Nqz%!"Zᣍi 6VJMB++^]gm퉆$_!qHE>΍FŒ0̽B:yINctDAa_; "D$ek5}ָZ)?錒L0ܜ&5}7K!Rpw8}:Fwp _hqT:# zQ)A4=E[L n^Oؠkk4 4$Yn$F `_Ҫl27w?.lMY*ϴ=ֽzfmhKft^b<&ź9K4rdfZϛe8RȐ+\G##NkU:6^$+bxo=fd K9Ua>WD ;lT^SD1q d%=/cEM5hz1] ۭT]WND|$cn> stream xڌP,!hpXBpNpwwNp.{svr--cv9 QVc17J۹002Tyl̬p,]lX(4NΖvŜF.6q#0{; `efo/@:Q;x:Y[O t-`b}?fob t j~ ^&&wwwF#[gF{'sAz@ trjhd 1F8  Kjf.FN@hjg t P(9 'i,,'/"KLLm<-f6@< =@#g|#7#K# 7HOw&N.ΌΖ6uͻvb@;gtX635SW&u;KGW"Mpm@333+zX0E/{f?pFn@+O"8 hni 4O}X[v6.( x3X9,leU?1f3»vm?;AB&X?/)v/H5}]]o.ze\oͿ"Z:KZzM-]L,Yll3``af?fb8Oo*v&9VN'r=k{ =__0eq~#n$~#No΢(Y#6o΢hxޑoiLE>{wAkagbk;/L3ϘU/nNa0f n?{xw]?t[#?$bay7xg{߿? .dglfEdgeW=w1l\8 7&GW[?L,,)˻D98ޓP9w-m- ~/OnG;}:n؝l?;]iŽ3y9Ww]~_3@&|V" _h:\Sh27~HP /xC&=<$N-Na N 0|yqo풥utFR~/Q7P2cWeSl!F=Z7x"8kʅy,ZlI [&küZVn\r\B[iJoуϲ %-9 (UQvM}5nK,?sST?jJ0 H0 ]jجfk4z̬R yf\$I5״xr dϿ&|òz2|~;av4X㨉)6_ԹM췪G"G171z";W-$}A6 1DRT? 38g"ZV SƞQHreo@*˦Ge2ԏ{ Ч_хO0~<9ON.@0s+X~x ֟>Zd5U? D&G@'w{8LbKL,wMVc}qk[8A t5&gJ:kF5"x84Tx6~͞Mf`RCOi{sS Lj:à~ǭ){Ybwϒy]Rz b!k%a|!݌1(j|yt/y<9E$o3?49(p*FgFr&+嫝i _ZӿzȬd*1~osa# @xr 껰jHUM?kVy!(L/RKwipFJWp٢( %p/jľ [_xw=E@țmy!#F}fѭu[w_ IW֘]/@y]} 2䄱 *LS<9H3=i|F&8N$]k0bHa8rG(M?tfn<-6,6'φX '<>PbigQwka/5B'{CE<Ϙ]U xg J漈9p W(Uvud>6k 5}C%<:q|*.t=:Dvgf$SUGQ( Y^A=2ԊoFH=w x 7Ĩ N|LeIr\cd-\9ShPU6ԵFۑMlU]wY7IU_՗~k^u#c@Su6ļTcM%S f PSWЬofr7rg/611g˶$d3w_iU=SɏyNi"rf%K~_*g``3izJAp0T`#9 [D'ip2m"͛A_ [%rCc[>SXZt|&u\$!UvTA)=>)?^p=9[FΈD-R ݹ.faP_9wZ2=9`3i9ш1*V΁Wz^F`yM= A Tդ|Mv7,$ la_Qd⯭#. ui1㰈%λ#l-UfqJ23O"FK |SY7Ihc")"~p}uDEtBbW_⥫{)m3z/hc15E?B+J6ߴ|pj z8h SmEn]}$ts?tnOI,{)=[ ]"Zƞn#Ly9G>({ǩou4|D}ˠ?=m lV{̰=P,p,*;־l,bϣ? ׀=;svñU%2g&zɉJ~=AzBH8x"q^c?4:ac"wuX\wէ[ /(:q$w\>i_sja~ WS5Ƹ*R|P(7*xZF x(Vo|z@sSf֕Xo;ceڛYj6)aVea#o]ykNejIlgvĽzO1F#؜qtqZodsmM 3㇑-.KL厛Nc{ |ߖ Ѿ[Zw#20(yFe(K4 ?/{pݲvLgB8V-e؄^u kE{/BL~a1; K|| pV{G/d "mZVȤ"(31/"k0ֺ aͽ.n"#͡m['PQR텿H 􄱨+QQy{zIFZQLT3f'v&¡4%yD0W%qKͪ>"Vޔ m>@s{֚60 f '^O.N\\AaLioC}8j8Zs&3⌚بp~ i7?K/ o_7^A dDRwTZb`H%zBe]4j[ZR<g=&\K!`jWeTC<` h/«S`P SEijs0‘0IՂ&^7 y*#-%cyDQY*+t )GK҉b`J;_˅cF&+qFRQ&8"\O;t8Bm/LZ0 j&eaz/ }C'* 1;)ţiGό XƏBɀJaW5 M5ʝWB]2a$bxgr4 r IĶ=Ji|vU`i%Rѻi;!w/܄e?Hx1ohXKnF\E;@ ̐'%u : ބ`dQH|:`FW.nV萔V-7i= Ľ0̀O^{(qT|WjD۷ T,O]*9y=$#7Q.t7<hf5 ֓oΉHo"fqE)=oIْ茴eHIa?FwK.}ʮ[¹e3쀰wЇ xZ8>!y`3#W\B9--e\ц#abЙtӻmk_Lќ,oJƆ&Blg keC.C +%3NIxUYJ݉0/q;nmaD3i "Q M B\6i,FZx\1 5U0܌֚-;^ ed)*DᵅRn Y,_9n(#碜VY8J Cdfө~=P8.2𲰶,~X <ww *gڬo9HsUÒlJT[_!zn_4lrSl9ACnU9}mUc37їbMh,X?`-q(? Z|%YF2?|1uGZIo!BfݬxM (@KGlsMTV\qoIg$Ur[ѓOʄr򏦕\#B"ӁVY}Sfɺ<Z07#څ$i|)9_} aӐ*C!"ЏM ghPjִ$N< u*ftяU(q.Cx əvO|b?"c,(v x"hr3Qr[tСAtm%YSgۓoa  QS".'3ުj(8qšZ}sVĜRS02BtN3Ĺ>UgDzk@^fm~"{T J8td a?S.]:R0vuj>kcZ:00%rGdn^wFWB%L3Dv5Y8 z1'kBݹ Y XD bM|M*.;Y+#u6P}U؉1ug?wxB܏HY_liW.L;`LiR9 ==fv#k1k}!=کA`?qC A>S,5=r5ž%X׭GwI]d|Y2 k(6ߜz1LFK*K,dt)JnCď|_*ctA$r$#QR"Q5.)#'bԖuN^H7ԅ8ﶦ#u(O 爺"[fi͜jn%luI6klB-fZ)@zF4aJeURƙr_ٗqzqsSژO%WH&^O^*DJ xSÅ'Al!vG} ;W$PIE\i7Wn[xGMI'H۹8AJolЄ]/lRJﰚʴE`%XAEƍUEl|>K.&qCzl G[XW]mN>xLxo_% !e؜$HQ}k|]B J'(v m%p5sj룏kw7̌rT3S{$7?{qc2Qˍ0xMeynOΜ?/SІx#Z6_U;r-,⚝S4jѐ7s9~I0a쫵 =4V~mިMBDᇵX%C#FweLE#Z1˦lIAb4[$BF}U۠Pb$1A9B/Dñn`Ng0 >#_uwz72W;JF~>MhBǗ] W!HjLY5djV<]NfYXRӐ|h\+ˮctW ~sKʍp)z\zV&cXʜ$dG06W ٱ3wLwtY8۲a€P3,EЖ9F-M'!t5GY']E6.fY-/Ͱ[+6 <'mV]0QZ i9p&rh=[.ÑL;0SjMz b,>ry/1ދMrcCp Q@p=nf⌋6U%l_`=d耱*QN/(j'/8;a妄9_h=;5 nhH+E! 밅ӲVla}}.] `--qTkb@XFu0 +SM1hZIw.qVeNq:J,Xo =T/l,ȵA;Ǜߛ$Wԧ*M ^5y KsԊ ~#MxɧjzGi{O٦MUc`*#(/3u>o T#zgUBbijaΰЧqYŤKƇ-+7- \z.19+eZe Y̊ h2($N <:ha(Gb֒mrkdg_J89^,$_B|$<7ӴBx* @*Z򭹢`G`ÕL('clDx+\Rsy!Y}?R nvjAx@UU'Ulege 0mFirDn@ڴS$)+;FP#5@H#"kC\Zʓ(J'q<[F3 :xӆ#WFe K"- 8o^QjUWm#>u2(Qc@P"Q s^+ylGQv8ô'91_"uq~sM9d嘠VKǕ Aӷ%aNR{b7XBW}Φh:ɝq} ^T^q=-l?o8^;$&n^~T0g5ZegN7,AW/ &ʗxv D^%A;? ^EO:"A+d"[{ W0$m=cY´༕<#ݗ mR?z:'W>5':8Ht`^k=hhǮ3zrV)'ߩ7-p_"T|'u68p^z bX@sR&HvvWk9~()nͯBxnjQC qX3Iiܝ7n,s"u6o4qМm]`m:;1{}Zhft4Wvڂ "]W ,·/z)!³o Joq`3..H5n|CX4^5daZ۬*bȗt#4 U9z׊U`n{t*Sn,00$㷶F9Ek! q5nJ*`$=ԠSG)[i#\^eSNOp5osTT)¦*S!v_8Jf92tw?lI [t:avjH g6𼵋f5A,D.:)# IeI>4n S&̤Oֳ _1)a;NS[%q>n8LC6?6 +vn>B b .jLem8oL* k0t@zkϱ=G T 7+E\yCK˚Cob|pir5غ@RO>E[աlMmJX<#:%$L$t7V铕2`\WPm]яP\{&/MJtYu>as?dg‘%9aH.k8}M}9 Mjou鐒[U.Leıq,^ [b8;B-O 6:nK9$j(2{yDlqٽ4UTw fE=zB򗝜:|0t7K;*Vwd_(]R>RJ|W=n#ˇ!^VibPO'[t36+L 2 DLN7n&<&ՅW(Y(Jl3㽢 6;ӐAL*tQf΃"R`mleJCܽ>-"f,E ^sϬ[܏5/[9"=.Jѵ1SE:*Qh#琒.&3aɷqU%s8uKI燎{+OZ7/JMT7L Y%mi`&Ứ)EN8DuV.MzOJێ$A^h^MY16AX֩"t5Lr(+DÑ*iYhO# =@v 6RKJ! $`ZF Jγ{28ث/\&*nYNȡ11VҍxDPJF4lzIr O{l)6^"l'_a߿4 \۟)D n՛%V+NN_Y˖`{ fhvE#ݍXZ-4=H^:匔وFWM RW^f%.}z|TIP2ճ°{+d7_.%_f2h'W[,`8՛o#S#9;T68P>$gv }Ȟń 8uƤ| uݖz(i M;݅0B͛r&uCj<,pη95^:]}ˎ!ϼD@Vm梧_ȋxb^qǮ?)L(WNg _Fh=!#w[vkQCT:q{pVfnDQ -[x$s4!:xnBI[@ ?~Y{X#cZ{ :.mKDψV؄ɼ5(r\Z.Pq * B~`␊ 9jЎMF1!@giX'~K~ZkT=x+m(IpҚ?ߞt}#5 3.NjH]wh?VR-!r\rNO6%O|f{7bP<}k)8o wbKCV%h>O^d6z!1ӪKB$"ڷhG;},IY<Pn0ЄHDn#CTzxyALKITTp9Vr&WG)\b"E9}Bæcqd: -0CC&vS帔3{v3tFخ0* DrP*Dl#@ HWA `E=tF1|?a"f^miUY՘K`"7CuəkUj SYN۳ ]#oaK: qwojcI-c[I>POt>(*?GI*fbr' {[6nZAlE òlνe}}vӁo9Qod }t >/rZt?6; l5UV h?ioh s0b6}Y~+\ڎ-^]hn _>SrXhyHAa?g`/pIGOt05y:qk^,8۾YW"tjK Xrm*jhY%O" I{10{bN~笠u>/#D˖ZkO5MKP?G~4J;{nA)8lnp "[NYmy: nrsBѪD{0r468f:a[֛ m,1 y\Apb4.;oU&~iA,Ai9z7-Dh % s3MޣP[Al7 ,yBDM'đWdA_әS7إ}7Y%u'N^a>V3XR'v4`$.M d<oY2Ī3CI6Mg}GN[a:ug|橩;}ĜIhw.0>rmb9Jf/Ӄ bN-b`(} YGKV%ps$pxԆD\%X82hi'*L>6ɀ3e)sVz7L壶lY&GDr?gWjV1!ᇖ^?jWgɿtaU{eE)uhbIy*eu?!w:cĆ$1E~ZXۘd,<6kc1D`)77Z\ZW+~Iv/qYj=N-=ğhQ_+Vp7-StJ$lVTp0e}Qg퓼d {ptgK b!*(lb,c*:hc{+c9| Ϫo=c_&Q\}+(,:ºBo$l΃bxna4 %q5]fI'*Ͼ\jAuSZ<Ph)6GIr guGX{=N>4U~1>nO#76ҿ 'e_ Aa,~ԕۓ)>h}I|JEcߡ"aHEOXQe\y9ȉʡuڰsb\u^I@r0EH_#*.*b.(?[3Ǐ*%iNjE~L3\[}, f"7K˥ ~4 -Q/{>4 h~aZI5弁EN. VJab*鑬~ i(פ9QFmϹzQ f LSovKS4ͮh*τJȹ$h]7Hhz!JfK#:FUȤ Bd4 Dt4xLӼ{Tf( o $[ƥ|+DW\cEtfon9-SŎ{-N6`_$]yFܓ()16/q\a>c&LH )OiTM uaNn?ϰ6'j4lH.%iaP|_t a?EQ ۅbq7%j Ғ}jFZҊ:R;?6<= %A(M~:u*#ㅼ7i(o2ajIs:ә<#'ߌ̧iV/P߃̗Q e22;8B;|1nǾb'E` p9?F ;} gValjh-9~ZٙJ1I_ +bHpѾ}p| PGEB6Tavf-5%B׬TF/dI݀ ,Ee;~^Ή]n}b^U dXR4x!q#Q$Duu|H='|mġfӛcvݑ>y .@oU r⌂nZ[#/|w]1¼v ,`vsBr9~kBM bf"C6wC iɾqj 9̷5G;aq&⥄+:ӜIEnxh0-QlHYEc@[`2wt=PCXщi-%*˄.,cgęj4ůay`V_6k\4J?TY"@-o"$unY'Zo,lYDab%n}O!q/nSŮi"B2YXX >2HSwVb+`r|N W!mf6R!wd-x֎nZ*p̰hƘZ-?0$L-0PiPIA?6L$t|~ `B|@$bbc{cq_&G6C)𾠆=n*8#/7k3 /F_ajb3(h5WXl2>үm`rRM,/q!ߧq]v]WU˯a3{%pzTPϘtUC}ہ`Vǜۼn nlR *U7"DQ , M)G[iB԰%6X$csAe# *1Z//)~`(l$O9.R޷?k@{*ȯe'U eGev?p=-7-V jl&4:rPso'HּSE=vJAZ/$o\2$S\J0BxqKjb^mcW*Қ( ' } BLPFmra]j BR/e8hEb\wH"X!Ւ~e )޺.6T.c? Q|rKE\(ȱ8]4.#A oN2t579xW~:k$! dZw]X}܌{W=k=E^ꚮXgUnK`dpKt~iiҋl䖛Jrm"ڡ)wZF@AF㳄iy1/ƒ)K'кK$VBO6H,t.,PqAY*^4 1,49 c8@|s 檙~#.I#6ؖ<lB}ڔmZU[ݻ?+~3s |b'yfQ؏Cىٹ#O'Zav@:j d)ֳ:BM*Hݤ@G6no^d4T1M5LZ뙞)DNz ]Q?CtKAvvhM9FXοkWeW]h c}Ԑ?*?w?vX3l'(T:Yursjs_&ͷoAA_CYƄLϼ4Dhv tF!Q&rYDšeG]Vt xvEm6T>s@-KuoF r}!.K51h^> 'lgn1U C4,:˞8K~ (KDžd_j| M  ezģ{HWXb) lp KQS ZkΘ*zGɄtȟ]?'_phLR#n\pjp!mvCȨ?ifzE*]9tm O[-I݊ΩƔ@+Xi`*9\!W!hXϹ?ۚCϗ `|BШg$p`OH,!Zm³ EQaTag#)0u} we7$*Fw4 P]U.. EKR0\}D,Du>]n)lDs4SX@`<"NGr,hVIm顗c:(]"q 2JHE~NVz}+d\0cFS-3¾;A$Bmτ99LdBR<#u}ЊEvr^NGD_ D  bBƢhW7>agD6L^5-5ߛ5fhu<_kv2y14]搄Kny!cwG lwB XbtrA-- endstream endobj 135 0 obj << /Length1 1396 /Length2 6044 /Length3 0 /Length 6995 /Filter /FlateDecode >> stream xڍvTTk6Hw(% Qaf!f$%AQ[RBZC@%QQyw_׬g?w>s_ޛYKG)!(^~I@^]H$`cӃ` a.p$BȻ(MBǩ# J I"]$; H̕ME} p@8 1t@:e sDw]$Cy- $ vtE<p-sà//g wcEZ<.0mpC`Wt s]ǀ ')WBpd0tt#4eETC\ ~O݋dH_ k8j ͉ SQ+m"fC"¢yBl~rv 28!k4#q;"p TGa=~4_ܙE" =_>Gj''| aa@@XX]?۪7 _K1;h T0ߔ_wRrsp?`G_h&ЪPGP%àp7hu"l c*=aP-8 bGi!]8,~EG?T\킡5ハK|"E映#V)/Bh~5҅X%>8-8UAfv5gU<C7VZ#㍺#DP9>q_(9YBoHTttʗٰiGfbʣlb>ϫ(fD,5r[6# ɽ$0N?Z]%vG9L6uF3 jȔ,$MOȏSs5􁅅̞T\J򧔴TުY{i2U\1DN䋓;>e_IJ[iJrѐ"|BKt S C*Ey-f=YAl_VT>E&*q"[[I(Xbt[N-;7]6lĘZ<<|㽙{-=nvSo1mN@!9?@E=GE"!5s5vѪ^o)W 2tl#WO^M*έ`塛{kZ<ۉGsCH`g#܁@ ,'*OKWxvӁO}Q!ڔ4OY7k(1Nk-sOН6Ԯ12_ S10Nٛ-wa{ഖA$ruYGݬXxƷckI1]Ѫ=춲391.kA59vÏV\ƹCq>L\Ď00mk7zq8+;UFhZ[$JH+9mؑѼb9bϾm؞v]B Pe 5T_pTfV)5ÝpmT1e5nYWNv k|k'[Gx0J53W^iXKf`wVp,=Uzǻ5cI0r{HbihuhV>qBKBrKH@6:(צʤ[(T|Gc?O # \+!yAǝD2O FK! 撥\BkeBdS$:F۶. |se)H`9v9;Ί?.R?u3wWiGMKD 6w>`yH&z% R=x#όAT{ g9ju\~Z2V*Eq$E=',9:T^XQ k&9>;^zXqOYKK2{UW15kn :x)w>8&Uژ[q+:\Ol,WHg?ɗL~RУk[ h"AD׊= 6(ak%ըj|jxЬc"nJEʤvba)c4^ۑ'ѵj84|h^(rc)[]%욋8J?[9#'7?F댐:eJ= ~L=߉1׌R1c_\Tz/wdLZO"Aeb5789Wt@T&JZe@FEB~-Jَhx8gR([y,3ܟzh#ADi'Gxd۾$%^7~\,rhٔr yAhWIJ2ƬxcI H$!XNhZT{4x^͋y,D3šBUɡo(]/0YZ(V* 8+3NCk'O|y"^4IJbd2K'$־&Td6&HZ绾yJwEJ&*w/T:~gy<ٔ.L>M=3iLƌ`٥j7?|NlX1Xi+&!M|?yyc_>NC"K8\Шbt,et,A;ߢ| ٚMsЪx!oM]z~"z+=aR/D/f% M'hd`fNi+?Ƈ )ʆ$w wS(=qưXJv$Rp05eHČ FAsrKWեULX9}ron4r$V,GUj4:ߴ9vэE]r/* tjh4./ٳjcLjt 9`7^4L; 9yj~Z`e瘎)UWgY>̀2x9:8 웗>X#^;+6UnUw̧}T'o;]mS[̢s+*^J9@={/(4gno k9@%>KtU:@M#U AzBO79f*y&S!!ez1hE[g&3B!BsscGpLCvsdOg;WIA36HC6\MCm9!\vBL=fMۈ16/* !Fss]{muxe@t NjRǡ @~Erk ca8  xTC mor|#|.R\ٵύ}XFӗM_LK4y)P8bmco mޗH"0=k˧3UՖ0 f,_4>k~}xu{CSFWaKӅ눵%1RrbaI7-Ï6jҖ\?̥u;t̎ݎd$"=8%PհźV oƦ@l,\$e"Z.1 "diXM;r2IHv35ʵ|X%:zv+F<;N㪂ʐ^L|q>F{}Wؓi,BT`&u~.Pۍ`V)$rx}\fCߜD,iZ)e|8'\y w+NŒoz;aORExh#!9,lGmt+6L&o=*w(ly9Bq`9a)$ Qkk:tBc9D +<ݡK}}@nB3ufw4Z>>3$೽w(uF%dZs5g9wSt+%lsv{Э s?OSwzdKS[a}{M9RQW`i wUK[AYv7[.PD xO}7~zkmF)(oOĦ,AZ vdbuM5a1oNL>1&km69C.;e0kmX4I?nfH+SA%7k#p8_kl D΍85E1T͐Gu`l™zLU_G.zqU ) S>MlFP6zFB4e/*.Gip1k-u`wvxrϊӏY*r&'8=ZŹj^ι;NнKx0f-qð5rϞd ;bMsZ'PɔVwaU+)$dy{[NQX;<^Ϻ苹,-χ8 ۃ-JԜ˦G0dH&NdnJ_޺ tݟp]8ƿ~1.~X?T>D]zņO1#'΅9 Mc0 CDMeL,Jhha 1=sF?,[dCQs;o9ttݻQ܁f;k.GNm& ߗ0vte%ߦeP^[|9Od?߫LVs$ޫU=89Nܦ]׉nM-fmn58GQX( g5{e҅[ ˵qkhtŴE)]Eĺ,Zߪm-m`ה>D57w{uS0gƓaSұޕ$>9T˿gE8`ӫ Q {%oUhqd%E0P48ltPc<|U:&|&Rb:zA{5 H45u.tVJJVӃ]_S,5Ѣ@J>>n>jq t،O;YuOQ~5hc=f2n=JP=|ކ#j7~S%9Ҽ h\5S'CDYRO& vj`)Y.\ΓL*G.K(u^s 4U(S.3 =_loIPQA^.)`iNBri #TfNi)aEWnd~q**1}rŗjQ,y=m.~HڧUD *Ŭ⻅ endstream endobj 137 0 obj << /Length1 1413 /Length2 6086 /Length3 0 /Length 7050 /Filter /FlateDecode >> stream xڍvT6)%2FJw#H ؈)R"J t)4(Ғ{}y߳s\DD 0$P3@@Hqe&1y( PA08*C!ڞ8,%b ߁(9* ($ Mƣrz16?`YYi%A g 0A9aJ+8c0nr@ Dy8x1c~C?Ȁd<Sg8x8+D2y Bb _QCm=c?SVFD$"28ecm5 OA-# +RQ8*0$ r};F_U_=]]7wc' =N5Q DW C cXc>0!G_/\_>\p/4na]0W 适pq*|~ D0cAkQ8'8qF@Gz߬a0A>AUHqbsdEg$w򙟳.Swe;h4éWa,ߎ}۲ͥjb:(ks݄n8}NB=ΊЊ/|,T]||y3zRv8He*4oG[pp/bz-iyX{jx ;Rnab;;۝3M|7_}TY36GN_b3CBv-WYPUJ<'s!"wQ5fe`!EW=4)zPبЏx>:O~&#φjzۊ$}Ψ^ط, /srR>Ez6Wd:.]q'r\~)|(Y9CFg+cVV`D2%?xvjўj̠E4qmKIW):zVU/R/QG 5 }6>R1ܠ]zs {ʖur!e\rt]k5FP]9nӣ|.kHYרYei^rHv˔ {2^yZҺDr@e3tWN`j΅ eD[OwJFKӉPu`YڼK-܃YW歮jyvubn>XZ(EF[REw2;b뙶,S 2@";Z3Gwlew nËBi:MS˄kT6aS\3 ҥMU[Wq ]'9Wbamcc;fS7&j@#k=rVeWYj+WN{6uVèw[^HUCļ&_g:I)9EW6^A"˞4mL}-tԚJ:IXe zk騹xc)|P2lh[9cib2sXڙy-)ϡ/f 2qT7}1yI";}3$OAU/dIDH5LDERaeν'ٝX=3PJG7*C?1F}(5}l.(69{n ?.OOn25&}Ծ ("+dU{w6E @ KVhyR?|z!Yc&`tZw2ۙ $o<cS#-9)<~J(;WEj)x@1cڇqӨ- |Y,~Z@_I``>1sKm I6GOZ7.vN7œ63v)FE1HMT«5B{G?.Z(:3X.L7qsJ=.Y91 ݦ3SK?cH@˸fa*@I~TsɁ{BɰJb7*楁W9U*Mt`$Z&{]x~ME1q V)nžw=r͗PU7mxZ:ܝSbO-]9ğh; OxR샧:Vog;OƅAbl\bӪdWQU9:;YW *겷$]DkV]'w?m9>H1WJ< `(䍠£LXfOȨ1+U/)XYKL@/ N L*rDK.xR3M@gwcwBg5\K-voÂ26j,ώ@ [/G&"kjE(+&1uQ3|jrDznɆylb6`yi#{t#3d 9A#mߐSh BzdB*{ [=BLJ[NG(CEbwOmEZ-/t ?광k& \szB쥎3D(Dݼ7/Ew#32F>#7REM20,403W;N&t~M Z[.8=e,+ O%~[k:n)%#_}wS"H^mGqu,Iυ<kM,˽{xo.v4֕ԗ E9 /'hPN'M}rf['h+RSx]G"ϺA~ĆgRWmTDr×ْkzFӸLޓ74DU4?*lXx?=w-~̖1`+{8mR-1zR-~AsqPL׳_ph/9WJ.V׶zf8eV!T.+Rv4Aȷg̏kRvUI6D-Kze "+hGdC^ O㛑Fw5awce(7Bx ]:-,> oO ~QL CtwΑ-ty=^L]MSzFPiFЊw7yK =pJH;57Rg6Њ)ǜb/Vɉqysv C(Ϭh S<wϻwd$~JmD*Mg&N*2smʦ~Ƚ1c@o@k-V hOh4ɔP_{ جl̃O47'yD>1E% CP`uY^ˋDбU|HbA{t^hGFk0ᗐGNkM&ߩw[䞴u0R;}DL͌B,l Haw0#b%m\"{/,q#[c5Ku;B*e2QuIjm^P%'ɮؾt[ykf-lyɹdHq6> ԡK˜ۉ泘OKҁ>' Җ6Dg_PݛwkN$K@+ Lk;P|qzim9@J>+G[z&>y$a۸~K=7t=}ѰD?&0= x8nM6pyD0e:}'zUr;#~abv:ǕЭX mĭOCBDc(z^>O:{aک:ΒT5q*7y >RS;jW>);OBӬ8EP܌.d&f0C Mʺ#zI*9ѽ:7 _tLdR9|S:MwJ72Z?7]tLO^ l%!ΓDIpO f)-*5V)|wV7f|CX i%Y#OmRi)_@OuDa|IQm1RN7.07L%ESk[757nƜ<9%*Tpx?ݭrZ˄ f|+LY  QӾf8>/2U166C9ӖU z#/].דty%]ExO861f4Y}& de׳|~qCNz5A^tSh]Қ5r;߭/=[_~|Ao[)kzooSgu̙QrmMAoDC ۳/>g5dHtFuJw[RI\C:;h$@W`_ _~_Щ8E^ǒ9Q.6ٹܣߌI7d\36:Hh#L+^'IiYpbiO5%b麳:EU(%cCsև$+%Q!xy2qFo_t/(RM|IA<+[}XZǰ*k/ o]4WҍDZOrb;8q;ɊSft6Crl鈙f>$.~5^:/$?s;륎 endstream endobj 139 0 obj << /Length1 1528 /Length2 6680 /Length3 0 /Length 7698 /Filter /FlateDecode >> stream xڍtT>5ݍ HJm`lc("JK77}s=]} BPM$+$* [@qa PCfP4D: 0 秇Dt<QqerD O' A" ~u$ sr Pua`:Cp 8 A>J!ŢDDAna$I u܅bhO(0@L` ƍX/ p"<(+0κ *,w??A`0 BNG 0zc #AA sus@SCFPX0IQg+B@ԑnnPC~04{vߝuE ~0' JsjkqA`NP,@(+%% @Po&>(/O Dq$0G(hh}@``,CPCqGü@DA">ꯈ]훿mSSCzdB2QQ )4 i~B A?Q{xxw}$NP?ҷJ/ gM}!M8Y1`p?8){`qc ]͡GY yU * 'q!Q aoфyC!0,j"1 7u`WV ׽#!?OLR BA>@$%~1@ "@bq!#M񳭢@)H p¡;"([u/,@õ=@K E!__ )>G?l9Ue:D23o.:K5fbL3P6ޟaoWSo`n,m rrAlN#i t F4DגߟJw/U+vt5Q=t3tGUL_rQ.!>~Q'>\R9Bkkw*f+cR♳ Ouzo_:.l3qfcyʛDmt*.>{ǥ^ddWpLna;]\/kTZ=V#auSLW-<܂g'0=+)9 }O/怂 mђ۔9H:x{e7TƋ1@`QHoSzzD?uDG#/c9)b, o`ģH!nȍ*O:|\` R3jjez/n7 /2mq˞]eιsP4N&q TD"ro<ǙZ"utOfewv& Fʋ^64m6pAmZt&R8Bm &jȪ4J[aSOqe$q'3s'k Yt|!M:eCnOrdQKȧv2ޢ`|wcA3\uIGNI(|&D k/ڙ倜;QϠќD'ݻ{yJ\_ֺ):2:l) %Z7m6e1R*gEnBϫ瑩Ԯ:}&om@j91s+Jj?Zy襝;dJ{֮ l  [Xved>v|R }eE)@2+vv*!u$"i*oj,D ﯈<2b:rc.bxipj?j{9nzIc8Y'4G,$xl';~|_rIƕy[^&62fsQ |c LNс`Oߤ)*Ȫ`fge:n~l4Q0ĽbCWg)*+Avf‹ f-J\4j[=VJRV1bKc5jS?_vxw5*x_m^g abI7k4$\i``.:>kI{}j_+4vTcN6Y |J:nI9HMKs6%߂dzNKh r~Cy\G|#c~EQ>VM!#AR)7O' C+KF|.4";wk? 4:t|wn0Z=pcr$uاKPrڠ1~ -*|t P?/^q"Yc' V|vٕnVsogN!S˃:Cďj\SE:M[zʇO0 o qn'xL"4]aNTkSWamZp=k7oO5%^޲?_Ty%QueAO\(|aY;4@wĈ)gtr 4xZGʙYM+~SeׅQyH)?N$kQ6½>{) P(c>0-mF(i4Y.?I'5vĩ0Y;_Ah*f#u 2yv/ufa@*>bbXÙ0XkսC@=~Ir"~"sv~r.r9O;ז'ξ-mȘq(!eDDzUג?64c?w.V7"Xu&D5؉N=G@ڢL T9#W 5-Y& ,jZUâldG*jYA6c>X +~ʧ>p\fP=*ͻSh5s|[׳GM&'>c*?kOtv?=-E*8Q:PMZl?KA^R{S̳eDbFʵ=,Wh|_|F Td5Ii{鉽xx?/ PN:rtTIĂIAI'?ȡ!a1^Ӏ FiwcB+]J ;TFB%ˏǏ-$oIg)--vf-M%zw#a[ A> kjG Rfjgl<|HHQ+БK7+y-%k( Okf.̜.vP-wd1<; '5k#ߘ*"_F*9u!꽈nJWJڗ(TS8}:q\댖 3/;s؏ˌc*lS5첖|潫L҉&669aesc.ŜWV_7'"d)>i{Ohxg-DCE+;k=V"-׃)ףaeLH1rvԐk}'lAuz[ӃT"&5^wt)\^Lp|X++~uL|9Dx0B7N,RǷETA`;X&*w$ W &N$aj*T'7g$܈$`| ʕ=lG6U[Anr $J;"2"'OZ)[etg3 o)דq/>.[N*f)9 >$#yoȾS-wTg0tĦgT+KNddtS^ϼB־yxSsv(Bt]4ҲZKG< u&dda %HXRT=0]"tUsYSgD(tsu;4u\uI`Lp~<Mj}#oG3,/۩HsӢcEqe \|AmH)63VwAAdI?Rr+| QQD`\Nx^מ6:EXn4/%}auI~n΋QėLAm槓ϼ&Of%7^>Hd'7㫆UUum,r\Zg=yv8GOZ$VnlqFzBy*}$\xuK7%]k<7ȵ.=}C Sj/-j>鋝k+p<+I1rC!yC~W:Mnқ1%>qQ3X|ƬO,!Ⱦ_fJ5ʤ\1W[I{|}wέdrqK˅uUdeՈGv tjWF|nM.- +Zc*"bl*Jxd.'5CH1y.{!$=1,ڄ_W-eq;nLy ۧ17531DIYDr`sbخF GIyeKڟ/D_$I#U88:23oɺrj84IxrueoFݏRf L8%J9[8c58S-giWy ؁&; łESM BǺLIBh~ڈ[")=F<8ӥiI$̇:Y^҉ELnͱC9F6SF>䫟 ScD0m6myy:L$D+q!\/ (aƈV endstream endobj 141 0 obj << /Length1 1464 /Length2 6941 /Length3 0 /Length 7925 /Filter /FlateDecode >> stream xڍTk6,t!5Cw 0 0CwH4ҍ z{Z߷fgofz-].TGqyErz`//7//Yre6!a9ȹA![<u많Tܝ@>PP($ pC<`6un E2!\`v2lp3 f !({mEk@a Mr8#nvOEB<6_gdܸ={^aA '5p@`5 Y'௻IWD0`50'(@SQ@6!NHm<sX:P@nisA!0_y~e G!q'sZ^7ϟ:p߿[w}8 V PWڞWz=oo# `{ "!P߆K@ fXA`pߪxszrK/З1V0yl// $ B V 92 7hʰ]Aqe( Z~ ;ߨ );96g_TvGݮ:v9jPZ(zn)!a^P-m '@~8Qc:kWy;&Rak@vx6Pp-F- XE<_??ү~xlKx% xo_ ZݮovBָs3k0갖U2Ԟ\_FA}ѧ؆ !r'|12S1D;G#2^G~1ds-Vk~D;H5wІj{%ƎQgTzt8Kc{wGbQ kn}+39fBK%*n]dVK9`+.ے_T-] ?BN[‚٬úRb9c8 @X)q'J˻<&5? aFiY"AK=}YbNRV$4d;˩`I?\ca<3JxtBLeҙW\l5}|/3`ViDdȢ'45x~6Gxx:oh7Rd#`91rş~]6ǙLi6Yq4&V&hk QN٣)u$eᎤ7qO m1h=6H71M镂.Nwt3`l9iÝV ?n=f.n#_'-\TY~j:,JQPC^\4".XZnXjCoj ]] 3i6wWM/?K6{•&mh H2 ]yYx7fm:*qP!djҶnqO/I[?aIܕc(ez\4)ҸM>w4+m/\9hBi#(7LWaS+fSq-l13{`p]s(#l/rV2ZE%u7wYYw@u՝]f݃}z$mpU,L{RF:KkڠIC½@I9)V} Q[ ..95u#R͂a1e׬E '[wlA7Aͦc>Ck ߛ=8g,ӳ*c꣡N=(ވy=ii8P-dGn-nSWY$\j,l5՞)M`Ӗ4@zj}ܕ)iI[VC1ҏӆvUO%эlRiu;t^\*EN2hV%FdF>p:#"㌪U%.>NQ^EWQhaŠAVǹ? ^ݧ o`]5.^hTwSUƊ_&\aG]J*[BneH|X)χ7Y^f/OB{6Tt%DqZW8|y|Ӄ⏗ZLΙ]zG(! 1ɝkK!҇`7JCq0\/rCEo-m." 9[f;Y^ټ1hy;%{y2[4fC4.w"i(WQJ`GP3"q9:d ,*y⫟a:ڳ;/l4 Q\c,J\, i3o@D+4z UҰ30bߚ5g(wNĖHW'FsRU[m(Q w_|!7cm"3yӓ]M4ھ$/ KT,w@`Ih)1RQ''` 3JQC\ƽ`T.ekz,G22>,&ɰ&rX0 4{ƽb H GoЎ< RZ~2$Moqxa$Z/d }5򩃠4EelV(ߩE/px, (\^D1 u,OiwkNo딳Qw_Itr(o<@`^h*}:ǁ} DSV=Dv:NLuAw\qb 팫t]rF4;Yj)sRŠ,3p1XtcgBJoZs4ʈ [5α^9Ѓ|%RMJQO( ut,VEbK>pc<nx̙$Q&P~aSD7je*tqQ֞f*YP3,.}86n,XÝ^/]ϏY8x[m5unZڷn 1RQ[<%I܄VLE>f\|8?qTŽE>廦3җ޲@5 TD'Rt0̟sEbܫǡOjoJб=ш=9O{;@5^!Tphiag ^*E+|Uj@ 1Hξ*09eq6v/=}ǢPoylj%zF3mϗY-80V>۩7hVgui;$gKY:z48,|^DB*[zإ8Rɻ i4F*$5԰)/O!̉$"z߶{.xpZ.Uq_x" |U'gd% -t=`r}گi*/ eI׳e!;ܮvcLM %priv\eò(\$NtLGEb s5"%.JJ2t5VZ[,Ӗ8( 9,]5u?49fN9 6-Hs*d)\Ɔ٭0Zim?1 Tk~_k~ٞ8+Gc!:.-`2]}8xд7^m8d{f?)cl6z^&Sok[=VX $^zN}tF{'^^Ϣ.r󑯅f{៖ykr`om"`$:%CxZNQ@̇B/;lRbKX_,#=N]o-}{MLK.7ubz@ NZ\ˇn9J0^w,OrM*svqtW/ӏ 'x4Jꊭj+]E3z#7 K+|Sd"br\~DvHQʵQ'X- 8<98silyfT0fդ]`NUw ܼ`第Yxx_m+ [Vmu( ԇ ; g$xL UJ_m18>vN;IpqbXmh<2%8~;gx)6+\+Q7`B{b-ؚȧC%Mf!FHa_w%|/:Ӎ$ayeuɐS!t؊?3#@Ƕy] 2: ֣ д*?[nί`~/6 9HC O>(KLEQ|RB 4L؁V 5,Ӹμ:C93+q!lsQWnr?n<ή2D$4E%hŮL}Oa\g?Xjh{d3i素#:,BHEC c,y=I?WԗI9p۴*|ԛא+ te`Y~iڥ-ۣh#ȹH`x}PP]=7GvyQvn9ywE-ܯѰԚDlLdBL1{ڞ;Ql gUIr`\%6oa)9ʉx 7~o)i "(>M;TQ kB)wnN5쿸[ňa2Oswu" n88 KP @i<[ldZw+$i:xNTu7/suލaz|ԩiYHM%$#ڒ#nsycTCtbWpƳ*M=gt*:rϏ>YD|J. b]~펛=_ Dp9/UlP'u-x0rYg9'$hy:D{e ?}8z;$҃ `qחdkεlo1 rcU2ics5oDY0oyx_AGCSMk]8v}A2:}_-.٣?_2]kfKE(dz0QFf?WVd%QNĿmܢ 2a5sҬ #XM3]~/C4 /mNG+㩞f 6c&]w=r0>il5 endstream endobj 143 0 obj << /Length1 2778 /Length2 17790 /Length3 0 /Length 19350 /Filter /FlateDecode >> stream xڌP\ Bp%;ww\Cnn|{*um;!'QT23:330DTULL LL,j@G' ;[8 A2QCg-@ `aab01qΑ jjacHE=-̝Ai@eL ` dt06:m@ *v@g3wvadtssc0qbs4Y8N@GW 6*c'[8%W3uv3t@k c%H쁶e@7fG ? l m=,l@,3CCk';Oq!%!s2vwvbpD?€,fk"bgcuv#vƿ&kekf7051{O.@)ѿM@"233tݍaST=Td 8;}/gfX;f𿣃@ӿ0hm&1.hLl=~9_FuyMEQڿ*G',lгX\TojLIٚԺURP}0Ԁfm2@{uؙA?.(o X[S6.Π5Uur@ r6?mpp(Z8.(-P' @flz8F :f53X9Lbagx1^lA.Pu>S;G?`C0 FF߈ (qALF߈(%#Vo`@\d~#E7q@\A\ .oF .˧E7qQ@\4~#7  I9NEpm Jf  @Su{83%:Ǟqcb6MͿJ0ɿ (%wPt]@uvq3pW?v.rқND7mP{=́,AL-Asu7cPo=o 2t҃`?jPEՠ`Fd:2Sfa{Ll[Fa@sps.or-/ffP ANN@n6@M 7<'kC'at6wk}@sv(@9Jdl&/"{ue7gP$O_ (7vq w-9?) h 8gglYZߍ~w|W=kѱ &[FP`7ʶ%zDg_ʓm X? U?y8xXAwH8p!+aHM/} C0& m ?q %0&`Oq! f5Nd޵ks'X%S6žM4뻆Etq/V3?%cU||9ц̞QIaG:IJ}*VY6}XlvY6jHf ޹VXxws=d[?GbWJ7&><<)/&kqa cdkmWRg ǎƐM;a^qL'n$WqVn )O7A+H)3 Aoa5.Zv hSPG:j.wҞYF燴:9/,1p"b?FV".-Kx 3&Gi^H]&-_ umJeT Pm&+"_ݾ(vz.v>,O! S'.kDtTJx_yფ*Ƒ(c[=G^cDoѯ$%4s aQue3,_L+2 OTaOVW~`2gYVMJ DHl~ŶݔI% WpaۚGwp328ne-xX5A`:ֈ+$ˆs^ t9 #_(2 gRE#}z77^ر60z|q65LZ{*U>WBiA-]dQz2bڻv ׅA] Sgw/v SkU?D7=m=rCzδp;lQᐯCQr>SxIEIsnOtc *Mgtxt{gޛ;c_lh4nW b"uUzlY7~ٿߤ&aOYaVB NN#愀XQ o̻3h }zQJd\⿄(:AN ^/A08g*xҳ*?D-6ij'''RLm{W )KHxt(# 'YZr\ '(b^Z۾Cu`XK 2b rBEz'e"h[ DLBs-ˊx,'fjLIoFN"(NܝK|[K%Wy XBR+ b.@KLqMqޝ &Uh&Q|(l >2S>eM+<*RʒG<{rHs_z(֩ZWw:AV$iUO,#>*ӀacN̰{l,]1-VW[qq8!az-qR%yRXdಿWOٲĔ-NXK x{qpܷ0|) n\x{jr]>$o,. |/|WyB$ F`5+NN)𖴵 +gPWUU\)1Gx2*ۚ{UZM.DDtr}\k+ӼkmZrXLr'мo)ǿb:wO;sp53$ef6f8Њ+21ÊurP(/-i~ u."6p5#v7 f-TԏC=ovuì[82P7&Y& b +UOQYl#FMz(ыݟeJP( LͶ†(TshwU,1?$n@^'mjmeuƠx{(gomMT)f 26݇͞* ؊= 9aMPJtܑ =tRӔO\[|!_N^n',v1 ~!eL`E䮚Yz?F fDWs NrHX!.^_[z!{j߽xO¹x0_kXp x]>yMU !au1p "4rv@ 3e$w"ү٩U4]#A!pSU6slο.Osgܾ8n=GWTOؔ*.¦XdtIӲw3;MOn(6uL6j3p_RUlq9H5 Ƙ2 8q fJl ͣLϭT&&};:4#b߻v庼2@ F&hxZ|WL & x.iG.r `DI&~k<0 $V&5U2l Eciؕ1J1Kې0B>i YN&c'Җ,?Kpgh#zԨC#Ops~ \Ul 3$q$IY28Bp<6A6w 0^B7q\VCurMX<UZ%./9^S>Cf)*M!yZE4XJ"2N.C3Miި,5~S HKQ*l7A)u j|sISH -#׏+% . es]i)^,ui%ߝ9{^ 7OyLF+qBQOz(>0c:?- M4/.6$x#āL~_ #$6@5岲h`TI[hlrζFEbjlVt4X[mˉO^#Ō|RO,WhKO!,fƱ+IWD+g%vrRŞVp{(.jO16iWBtv ljyl=K [=;M/+Кm5j^_I'yj͓ 6GSR+i[OY#LcySYu!85e^"_~@ :wu+ѫC/ TT8%s:x(!kǖQϡ,l_$>ͣ:roNץk@)ʔ=MJM$/2 "QjhLBAMIJRlom[NtA9^搂(|_-j_ u#W9|iP>9V𑘉yd?Q$oh3 %uFM?6-4"r!s');ys !1^zU0pùĖWӁ݅),0|mP2ׄI@f:C@7U{)&' 'd ;JP#]Hh(I'ú/݈|>=E;jB_J@!ŤWHt>1lQT&kUA |[Se-^0ZvIH`% s[4YDdS ̑thgYW(26f=4:OHo*` F:r)nk`Zx;ӄ&:o4s|9[ZiWPwUPE%JU67!^tHOxSg;.f5RNۓYКpI3a*\G]^y>`Gc$Z%N lشSmYԕ˟q<+@ѵI/k]u[13ty[1c/6~|7!ßjk_Ems| 8p nAb\7%*ۦ}m7WBBR Wak2nw͑tRv j~e^HفTq-S.If؞v1'H^0fF9Ru)k>ʯCQV*E<_.~9iѫNQĎ]oT_ !0-yTM[M)ښv"@ڽȇ~ff%-(_ *m?VPO+R ٖZ|ؤbs}"6F_!+g''L|3v( p amL<{f%xy*P"T:1>+T>P#S=aa9z׆3E]}c{™$Å?أE؄Fbʷ5+UXl/&Xkژ_ښ +\udM|F})$Wa%:Ɯy,g}ܺWtםPx@p7w;`!RQ+4893+rk-1 a2Z;OVHo‡*TK*]]6(u^"~ţljV.F*5dL^ "bxΜ=&tKsCF"c"Bƕl'0/ `_[wH(K<,L\ocǖS:8 >6l_yĄgtw!SGK-_-:ׇ]n}Tv]GpVݟWEnDR_CV8ͣ8*@}hO"*"sW|hZ U?B/A/ V 3J gg IrxC~NhZkcc0{ 6f1YlчU. xp9O>N*_2dHZB2`^o;-/I$}CR}oSgW|TC<G,q洵 &ܮ^Mb-!Zy/֔Ⱓwjh0҆g3NgjF 馠iI64o3­wL TE犈 ̓3i͊`B2"^Xq[J2~i"[0 {F zmוghvrsG S{Վ_Vd(hU EM%sQ^OƢh0 1\ǜ-1ík&z{ZIPh#Osbk#iFחCUJXTb+O楢``7!Dظťbs;3B{BR@ ݇+ȉ>b[=?#-8#̔Gjbc?*,6G>{']6ي^MEZnWRs ?s̆HXyp@eS$8Lb+ӥoI7 l)}i_|Ynoz&[BC0n-0➜`ݶO*AVxqJQͨ#׀) ܪRbTWӿ@jnC'1`5rdd(>̎AS,loE]7$o r[MU㏈Q?DyW BI}.7N$.s3߅}4־ Q,$ X4ʊ]aLI=0XY~rc,vȾ/5,1x'uo`S/1:"dx­qs@rjPKe縐}ewwIBYXGhqA{S fu')}^N hsmVۀݥɼcLS22g4.ye{!D_s{MLo("9Ė-閁N6tx6W*H}-@˕T*Ig .Zkoy%2rczz;~"j1SrNR$o#o>?_ dUڝtuH|qpGCB\jQzt$=S?xwuV1҄v1a/[J4,e';گ L.0i&PkZP%ݹE@%7bKD4Ax,t2Ӭ@JrIhsZ;_nex\Ĉd8&  VAqg/U8^óWO,00E f6~'J¢|z,u#b)B ya iQ R>mTևݻ<}/7$ - jۿ==S3x ށZM8f*Vwd쇁uAg !L60RTa'[<9oTɚ ^|,}C Vl6i(<ƘG4 q{GJVq ZL u+0 y`]~{$:ޟ$N|?"^ٻ%!uCZwF殘@xPYVrMb`WɸdA#C#BfE|} uی9†F=hiB(rg`xuT !iRVzp2+";e]>6$yl/&+ Cv&p6uJƕ5K(?= (]oÉtq`?"ΑM0npwBe4W n* &A p /,P-2ji5!&KdU' s[ le)ӞOJ"قEAK& N"0cF80Zԃy0|i9+RCsT {(k8ttRE)>ҠJikZ-L_$wPZxDIt?WQgs. ÕrM; Q C;I[qCaU&3|T.̈ 8`<з?ȉ鍫>lmbM#g5@<[F"%~o0][H)-Br8 a,FJ{3F{2)!D5${n YBeR|ӒpO.]em~ ";Ù,$zbW\PЂ,+7oؕ4onme6@$ؐ,C-2좔ۨ/a7,39V]=ےON$-nUPj3Pg'"hyrƊ:rt_R:(i&Vݙت5aѕZ0Z S f #sT ߵP *b,ҝT(Mp<外Ndz{n=7}8`!/[f{)<~chj$(ĸi'9nƸ i"޻8d^ mJdem4~1?.2fޮp]xRKfi42=O׺ TѸ_yеqSC3S2ܣ1!6,3lzp]IRywo*?jJB&Xoqk:wi+)\Z`XQ50< T>q|U.6rZO/ˤ~ǡԙʼnzhE#v.>:|ʍ'RL8ΣUDKTq\Ɲ~%e˩S, EVӑPVX|yJbQGEh Z D~5L.@JUd!Z;<*vB\t$dʍBم!'&\u}<"kIRftuL.xTѭ[c.M6I^3:>!]7]럘%x44ysrN 9Kͨ!on>$^R8>ex+|3'O0+ \T(D="너ʁUSBc9$SܯikhCdpR*a}{y(xSx3lД8JWN:X{ځS`5^s{a ޵6KREw%>BcTl&C+ Y顁goe74,E`#6(4%ۺzB׀8OQT7G=/kKM7shcr%ʏ|Hun-bq%^j[ԎC37%1RѲ: Zyhڏf4ӲPtZ9)_DlhWu|1#|*t6=}nilBH!JvGK769uKCY˫I?'zl7S2{{ɶWwΙ:9X^G2nu0)Xm>Riy|TUZl)@BAi]KqҺgf9.D:ŕU p*ƗDpd X Zۼ\Cu %˭"d׫SRN<1"{p6r^9hvДk}W~DXE|t߿hVjwAKBcy9ެ{5 ?h45_*%g^ŖZ6fIC|$kY(GCP< Eq,Dс">OI,Efae8p!t=0ECgpJ.Y])59<yQ%{[;b5kr$x|*5uxI6`m){T`ƨ0WSsɞQ.Q<ߑCCHTuE莇;Kx$+I9TUu֛ˌj.O0 ܏jpٷ]d[',t<%]m'/Y#-3+XN3bXPC#IoСL イY=ѫ4½䏒**crGUPI\- ]]bNJa=eB KcV !CEg&XܧH\. ]K%N8d!u *tcNQƺOTT R_5өvygNGXx ɟ$ 3gff0($*kƓD@/Sv8xfmBLyx39XI];"60;QR^5C?{pR>2Fj8JϖGnm=L^~G!uU}7i,$ љ!i=A}:f-#{:>O*N NaZ[dt[v,c,A _cy~.⣩J~F%g!Uw W_t>(x2x@:u;h[ \IDه2v= z[saEPΟalr##M ¢Ne5&ewZCԈL~Ȗ(iȧ]cBco*a\LwN*i+[!!Aw [p~r1]N߁b3)˛ɽ^4ԆRvxmnFIݥ ׈H,>#Z!Q~!z 6@x;5Z]%nm4z'Zk-wv~xeyA V;~c ;W6 GT]iZ9` ʛ/3CJ3701mabSI_PO7Nsrrd~0+Ho.ќn犯!TxId sPYaD{FGMb'!ZZAk eRUXs`nO LyaSQ;:*dDQ& /zKf4kN!;]9ExNqp#a' 麛@ ѳP'~Zt=M+^DwV":ٗF" 1 `V x|`^*u[cWB-d ]-S鍄,¦8?z␦qiGT7Vo&}A#bvpݨ};0\y)?3?Onry zsLX4M|PSt gJ6m҉3v*#ݽN/؃[sz&Tw Ǥs.Tihֶkb] yȣl2]7hHEl"؝>oX/aҿbT=5E1 LHn;08ݼJI7x<}Iߡfc3Qn}NwXmnyZf#U6IbH8rubnȝ1^czlwߑ?-('*Dܫ`F+J:PiD/p:OoݨwH I@:cTʂ0Y?( O .:òc6і TӒd>bW?5jŷb6O;) %awaρn1slQ z}ns>\Cr} -,C=]Ѝ^3oJt]Uÿ=j=!8y30Y]0A^1^~] !)X!hSXge,ڣM|XiS GScMg2i+Fz|o$w0yUU'KH,ٰl'$H l6O}Fݸ,<̠LJaO0P(e%~كOm3 <1fQT߸U%5R }AEX 0GsfmtfW8BoMRs|MlkGsnX,MSF652ueB+^K 2Q,3.`b׬'K*6(+g=nT+ѽZVa~\RʽBJ-Bx/X"%'#y BII)wи]@O޴Oo&eD#paOƲ\7c}Y{0/Tۍ17B]`wa(bc: Qx$/e~Y6[`?Ud`B) p5;  &rG endstream endobj 7 0 obj << /Type /ObjStm /N 100 /First 847 /Length 4045 /Filter /FlateDecode >> stream x\kS[_1JߪRe`l FY@$ EV&૕QAxoZAh 5ÐD8YlR CA> 4 ŰbƨҐ^? 6B p24D[E{"ZHH` `ou %' 6JV:I4 9 ܉T֓a -y@C(@P'‰,9'!>VT;a&D`Hv:˄ aFȃf Ɨr6p zrLqxUs:|;9Lr?MB>JfЅc=],Q3?C'Bm9%zUԼ QZ }Υ]@$y!Ў%*ȩҼ=ɫDN_Vʌp_MSOi7]Q#P}ik2ZnkR5GMDǝd ==dO'+*3v\ɷ6.ޑo~4Ow|&fXzcF ?xvB,;`Kڲ$[w^{w7\oA;qg6|< `+۩Cز1UUM~[R/{j[=-mnn#{{۲)~o2d@~w2KߛZlSmKʟG/8Y۠wG2ۉEcڶxM0;!x31A`溽u?"W޽ͣ5L;C]Qj_X@T }F[qEgs'6Г~%lZM\9@`UHc`P-2P"e&RĦNY5~ik7J f8F*%K#9KfV7zd#rE]$hZ$h%U`6 g,>ш!ٴj[0ddW X]Լ& ёX23 F"AGE ɝ"!c6!MZ2H#.cs1Ƀ~p|MODq7/h]'ပ%1O6QHq*"  ,Nב4$'Y;ZV9Omm?K[|=۶^#^tt)m;xB&C([m5#YZڜpcª)e}MëB>1j~갉F;U9FֺV;lslnh ze{ H*P{@HxNRNpbo\Pvف} ǵ*Ю>%eY6_N3WR(Tʌ"d`QbNQIuZ4E}8cT5QEaFp FL3gçIKjBK\FdJe4LL'3s#ITk gA^bZżdEgxz E?+*zM%%؛mir[-s|d)p]gѩ\&+J6TSl]ʊBoy(űZ9u`L a)|N_PR]R|)9z=8uVtD"_߸ߎ3eWB[M͋mKc/i -|,ɘol5 |)h)8g1b4^8jTfXԒfm!D5&`ԖTRcL=TY!rLtM8/Dӑ֜ˢTΒJ?) *"b<9z񥴑4_#Sk#wLw|;zz sDt;j}Y_U_OzV~fz2]Ɠ83^9~/{v?dL+ v!##L8'{ëї3|Ma =4l6<t:׌H_`x@Q<օi`: kPRb"в['%gN.T~_O< T!@^_#n6!NGߪf2Q|Pq P@װ b rvh͓gܚbgņ(̡O%ʋʪ;_oTJ'9bx2֏F_*I]^nn.FEݒh7{?yF::9%!=ʎԅ~F|Xkh-DF1hChMq+.nܩ]^OzmT߽;|zݒ{?1nA1>~N*άoĨ49.`v]~8mWRö?] G5Z(e!HNZwt 1tTPW8K{Ad2z:z)ӓd49@40eΰ\ySrh>oS.P`&n =חdz24o&|fןfa7V㿒W&YX8Ɨ 0~t:;Vn̽wU^o*+7UfN5w+js+wUǝ ؛%{7gr [ezM{{8^>=^U͹w+m\ > endobj 148 0 obj << /Type /XRef /Index [0 149] /Size 149 /W [1 3 1] /Root 146 0 R /Info 147 0 R /ID [<8CF435CDE1E8E30DB12E448314758274> <8CF435CDE1E8E30DB12E448314758274>] /Length 417 /Filter /FlateDecode >> stream x%;OTQP`_!"/y+Oapd䡍2ZhB#t',,l$tĊ` @mIffY`2 2Gf4G?&I<%9$ t &H3'ywd,,i!)vU_Ja"EfJH1,AJ%;!ar+4+#W`kkUz"E*'74$@a8;ԬDԱj $d~.8^@USM[MxߦBO+wm7e$w=JH; I'y@CMzS Tp/ҥ^24/ Uiޯ09x(\_p_+=S'+%INc5> endstream endobj startxref 260901 %%EOF secs1d-0.0.9/doc/secs1d_manual.tex0000644000076500000240000001653311733720717015713 0ustar carlostaff\documentclass[9pt]{amsart} \usepackage{geometry} \geometry{a4paper} \usepackage{graphicx} \usepackage{amssymb} \usepackage{epstopdf} \usepackage{cprotect} \usepackage{float} \floatstyle{plain} \newfloat{demo}{thp}{dem} \floatname{demo}{Demo} \newfloat{demoout}{thp}{deo} \floatname{demoout}{Demo Output} \newcommand{\unit}[1]{\mathrm{#1}} \newcommand{\electronvolt}{\unit{eV}} \newcommand{\kelvin}{\unit{K}} \newcommand{\nano}{\unit{n}} \newcommand{\meter}{\unit{m}} \newcommand{\second}{\unit{s}} \newcommand{\volt}{\unit{V}} \newcommand{\Ampere}{\unit{A}} \title{secs1d} \author{Carlo de Falco \and Riccardo Sacco} \begin{document} \maketitle \titlepage \tableofcontents \begin{table} \caption{secs1d Package Description} \centering \begin{tabular}{|l|l|} \hline {\bf Name: } & secs1d\\ \hline {\bf Description: } & A Drift-Diffusion simulator for 1d semiconductor devices\\ \hline {\bf Version: } & 0.0.9\\ \hline {\bf Release Date: } & 2012-03-25\\ \hline {\bf Author: } & Carlo de Falco\\ \hline {\bf Maintainer: } & Carlo de Falco\\ \hline {\bf License: } & GPL version 2 or later\\ \hline {\bf Depends on: } & octave ($>=$ 3.0.0), bim ($>=$ 0.0.0), \\ \hline {\bf Autoload: } &No\\ \hline \end{tabular} \end{table} \clearpage \part{Mathematical models} \section{Full model} \subsection{Conservation laws} \begin{equation}\label{eq:conservation} \left\{ \begin{array}{ll} -\lambda^{2}\mathrm{div}\ \left(\varepsilon_{r} \mathrm{grad}\ \varphi \right) = p - n + N_{D} - N_{A} \\[5mm] -\mathrm{div}\ \left(J_{n} \right) + R_{n} \, n = G_{n} \\[5mm] \phantom{-}\mathrm{div}\ \left(J_{p} \right) + R_{p} \, p = G_{p} \end{array} \right. \end{equation} \section{Constitutive relations} \subsection{Currents} \begin{equation}\label{eq:currents} \left\{ \begin{array}{ll} J_{n} = \phantom{-}\mu_{n} \left( \mathrm{grad}\ n - n\ \mathrm{grad}\ \varphi\right) \\[5mm] J_{p} = -\mu_{p} \left( \mathrm{grad}\ p + p\ \mathrm{grad}\ \varphi\right) \end{array} \right. \end{equation} \subsection{Mobilities} \begin{equation}\label{eq:mobilities} \left\{ \begin{array}{ll} \mu_{n} = \displaystyle \frac{2\bar{\mu}_{n}} {1 + \sqrt{1 + 4 \left( \displaystyle \frac{\bar{\mu}_{n}|E|}{v_{sat,n}}\right)^{2}}} ; \qquad \bar{\mu}_{n} = \mu_{min, n} + \displaystyle \frac{\mu_{0,n} - \mu_{min,n}} {1 +\displaystyle \left(\frac{N_{D}+N_{A}}{N_{ref,n}}\right)^{\beta_{n}}} \\[10mm] \mu_{p} = \displaystyle \frac{2\bar{\mu}_{p}} {1 + \sqrt{1 + 4 \left( \displaystyle \frac{\bar{\mu}_{p}|E|}{v_{sat,p}}\right)^{2}}} ; \qquad \bar{\mu}_{p} = \mu_{min, p} + \displaystyle \frac{\mu_{0,p} - \mu_{min,p}} {1 +\displaystyle \left(\frac{N_{D}+N_{A}}{N_{ref,p}}\right)^{\beta_{p}}} \end{array} \right. \end{equation} \subsection{Production terms} \begin{equation}\label{eq:recombination} \left\{ \begin{array}{ll} R_{n} = \displaystyle \frac{p}{\tau_{n} (p + \theta) + \tau_{p} (n + \theta)} + p \left(C_{n} n + C_{p} p \right) \\[5mm] R_{p} = \displaystyle \frac{n}{\tau_{n} (p + \theta) + \tau_{p} (n + \theta)} + n \left (C_{n} n + C_{p} p \right) \end{array} \right. \end{equation} \begin{equation}\label{eq:generation} G_{n} = G_{p} = \displaystyle \frac{\theta^{2}}{\tau_{n} (p + \theta) + \tau_{p} (n + \theta)} + \theta^{2} \left(C_{n} n + C_{p} p \right) + \left(\alpha_{n} |J_{n}|+ \alpha_{p} |J_{p}| \right) \end{equation} %\subsection{Ionization coefficients} \begin{equation}\label{eq:ioniz_coeff} \left\{ \begin{array}{ll} \alpha_{n} = \displaystyle \alpha_{n}^{\infty} \exp \left( -\frac{E_{crit,n}}{|E|} \right) \\[5mm] \alpha_{p} = \displaystyle \alpha_{p}^{\infty} \exp \left( -\frac{E_{crit,p}}{|E|} \right) \end{array} \right. \end{equation} \newpage \section{Simplified model used for Newton's method} \subsection{Conservation laws} \begin{equation}\label{eq:conservationN} \left\{ \begin{array}{ll} -\lambda^{2}\mathrm{div}\ \left(\varepsilon_{r} \mathrm{grad}\ \varphi \right) = p - n + N_{D} - N_{A} \\[5mm] -\mathrm{div}\ \left(J_{n} \right) + R_{n} \, n = G_{n} \\[5mm] \phantom{-}\mathrm{div}\ \left(J_{p} \right) + R_{p} \, p = G_{p} \end{array} \right. \end{equation} \section{Constitutive relations} \subsection{Currents} \begin{equation}\label{eq:currentsN} \left\{ \begin{array}{ll} J_{n} = \phantom{-}\mu_{n} \left( \mathrm{grad}\ n - n\ \mathrm{grad}\ \varphi\right) \\[5mm] J_{p} = -\mu_{p} \left( \mathrm{grad}\ p + p\ \mathrm{grad}\ \varphi\right) \end{array} \right. \end{equation} \subsection{Production terms} \begin{equation}\label{eq:recombinationN} \left\{ \begin{array}{ll} R_{n} = \displaystyle \frac{p}{\tau_{n} (p + \theta) + \tau_{p} (n + \theta)} + p \left(C_{n} n + C_{p} p \right) \\[5mm] R_{p} = \displaystyle \frac{n}{\tau_{n} (p + \theta) + \tau_{p} (n + \theta)} + n \left (C_{n} n + C_{p} p \right) \end{array} \right. \end{equation} \begin{equation}\label{eq:generationN} G_{n} = G_{p} = \displaystyle \frac{\theta^{2}}{\tau_{n} (p + \theta) + \tau_{p} (n + \theta)} + \theta^{2} \left(C_{n} n + C_{p} p \right) \end{equation} \newpage \section{Scaling factors/adimensional parameters} Given any generic quantity $u$ having units $U$, we define the {\em scaled} quantity $\widehat{u}$ as $$ \widehat{u} : = \displaystyle \frac{u}{\overline{u}} $$ where $\overline{u}$ is the scaling factor associated with $u$ and having the same units as $u$. \begin{table}[h!] \begin{center} \begin{tabular}{lll}\hline \textbf{Scaling factor} & \textbf{Value} & \textbf{Units}\\ \hline $\overline{x}$ & $L$ & $\meter$ \\[1mm] $\overline{n}$ & $\| N_D^+ - N_A^-\|_{L^{\infty}(0,L)}$ & $\meter^{-3}$ \\[1mm] $\overline{\varphi}$ & $K_B T / q \simeq 26 \cdot 10^{-3}$ & $\volt$ \\[1mm] $\overline{\mu}$ & $\max\left\{ \mu_{0,n}, \, \mu_{0,p}\right\}$ & $\meter^2\,\volt^{-1}\,\second^{-1}$ \\[1mm] $\overline{t}$ & $\overline{x}^2/(\overline{\mu} \, \overline{\varphi})$ & $\second$ \\[1mm] $\overline{R}$ & $\overline{n}/\overline{t}$ & $\meter^{-3} \second^{-1}$ \\[1mm] $\overline{E}$ & $\overline{\varphi}/\overline{x}$ & $\volt \meter^{-1}$ \\[1mm] $\overline{J}$ & $q \, \overline{\mu} \, \overline{n} \, \overline{E}$ & $\Ampere \meter^{-2}$ \\[1mm] $\overline{\alpha}$ & $\overline{x}^{-1}$ & $\meter^{-1}$ \\[1mm] $\overline{C}_{Au}$ & $\overline{R}/\overline{n}^3$ & $\meter^{6} \second^{-1}$ \\[1mm] \hline \end{tabular} \caption{Scaling factors for the Drift-Diffusion model equations.} \label{tab:model_param_1d} \end{center} \end{table} We also introduce the following adimensional numbers $$ \lambda^2:= \displaystyle \frac{\varepsilon_0 \overline{\varphi}} {q \, \overline{n} \, \overline{x}^2}, \qquad \theta:= \displaystyle \frac{n_i}{\overline{n}} $$ having the meaning of squared normalized Debye length and normalized intrinsic concentration, respectively. \part{Function reference} \section{Drift-Diffusion solvers} \subsection{secs1d\_dd\_gummel\_map} \input{function/secs1d_dd_gummel_map.tex} \subsection{secs1d\_dd\_newton} \input{function/secs1d_dd_newton.tex} \section{Non-linear Poisson solver} \subsection{secs1d\_nlpoisson\_newton} \input{function/secs1d_nlpoisson_newton.tex} \section{Physical constants and material properties} \subsection{secs1d\_physical\_constants.m} \input{function/secs1d_physical_constants.m.tex} \subsection{secs1d\_silicon\_material\_properties.m} \input{function/secs1d_silicon_material_properties.m.tex} \appendix \section{Licence} \input{COPYING.tex} \end{document}secs1d-0.0.9/INDEX0000644000076500000240000000040211733717716012470 0ustar carlostaffsecs1D >> SEmiConductor Simulator in 1D Drift-Diffusion solvers secs1d_dd_gummel_map secs1d_dd_newton non-linear Poisson solver secs1d_nlpoisson_newton Physical constants and material data secs1d_physical_constants.m secs1d_silicon_material_properties.msecs1d-0.0.9/inst/0000755000076500000240000000000011735164216012650 5ustar carlostaffsecs1d-0.0.9/inst/secs1d_dd_gummel_map.m0000755000076500000240000002464711735164067017106 0ustar carlostaff%% Copyright (C) 2004-2012 Carlo de Falco %% %% This file is part of %% SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator %% %% SECS1D is free software; you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by %% the Free Software Foundation; either version 3 of the License, or %% (at your option) any later version. %% %% SECS1D is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %% GNU General Public License for more details. %% %% You should have received a copy of the GNU General Public License %% along with SECS1D; If not, see . %% %% Solve the scaled stationary bipolar DD equation system using Gummel algorithm. %% %% [n, p, V, Fn, Fp, Jn, Jp, it, res] = secs1d_dd_gummel_map (x, D, Na, Nd, %% pin, nin, Vin, Fnin, %% Fpin, l2, er, u0n, %% uminn, vsatn, betan, %% Nrefn, u0p, uminp, vsatp, %% betap, Nrefp, theta, tn, tp, %% Cn, Cp, an, ap, Ecritnin, Ecritpin, %% toll, maxit, ptoll, pmaxit) %% %% input: %% x spatial grid %% D, Na, Nd doping profile %% pin initial guess for hole concentration %% nin initial guess for electron concentration %% Vin initial guess for electrostatic potential %% Fnin initial guess for electron Fermi potential %% Fpin initial guess for hole Fermi potential %% l2 scaled Debye length squared %% er relative electric permittivity %% u0n, uminn, vsatn, Nrefn electron mobility model coefficients %% u0p, uminp, vsatp, Nrefp hole mobility model coefficients %% theta intrinsic carrier density %% tn, tp, Cn, Cp, %% an, ap, %% Ecritnin, Ecritpin generation recombination model parameters %% toll tolerance for Gummel iterarion convergence test %% maxit maximum number of Gummel iterarions %% ptoll convergence test tolerance for the non linear %% Poisson solver %% pmaxit maximum number of Newton iterarions %% %% output: %% n electron concentration %% p hole concentration %% V electrostatic potential %% Fn electron Fermi potential %% Fp hole Fermi potential %% Jn electron current density %% Jp hole current density %% it number of Gummel iterations performed %% res total potential increment at each step function [n, p, V, Fn, Fp, Jn, Jp, it, res] = secs1d_dd_gummel_map (x, D, Na, Nd, pin, nin, Vin, Fnin, Fpin, l2, er, u0n, uminn, vsatn,betan,Nrefn, u0p, uminp,vsatp,betap,Nrefp, theta, tn, tp, Cn, Cp, an, ap, Ecritnin, Ecritpin, toll, maxit, ptoll, pmaxit) p = pin; n = nin; V = Vin; Fp = Fpin; Fn = Fnin; dx = diff (x); dxm = (dx(1:end-1) + dx(2:end)); Nnodes = numel (x); Nelements = Nnodes -1; Jn = zeros (Nelements, 1); Jp = zeros (Nelements, 1); for it = 1:maxit [V(:,2), n(:,2), p(:,2)] = secs1d_nlpoisson_newton (x, [1:Nnodes], V(:,1), n(:, 1), p(:,1), Fn(:,1), Fp(:,1), D, l2, er, ptoll, pmaxit); dV = diff (V(:, 2)); E = - dV ./ dx; [Bp, Bm] = bimu_bernoulli (dV); [Rn, Rp, Gn, Gp, II] = generation_recombination_model (x, n(:, end), p(:, end), E, Jn, Jp, tn, tp, theta, Cn, Cp, an, ap, Ecritnin, Ecritpin); mobility = mobility_model (x, Na, Nd, Nrefn, E, u0n, uminn, vsatn, betan); A = bim1a_advection_diffusion (x, mobility, 1, 1, V(:, 2)); M = bim1a_reaction (x, 1, Rn) + bim1a_reaction (x, II, 1); R = bim1a_rhs (x, 1, Gn); A = A + M; n(:,3) = nin; n(2:end-1,3) = A(2:end-1, 2:end-1) \ (R(2:end-1) - A(2:end-1, [1 end]) * nin ([1 end])); Fn(:,2) = V(:,2) - log (n(:, 3)); Jn = mobility .* (n(2:end, 2) .* Bp - n(1:end-1, 2) .* Bm) ./ dx; [Rn, Rp, Gn, Gp, II] = generation_recombination_model (x, n(:, end), p(:, end), E, Jn, Jp, tn, tp, theta, Cn, Cp, an, ap, Ecritnin, Ecritpin); mobility = mobility_model (x, Na, Nd, Nrefp, E, u0p, uminp, vsatp, betap); A = bim1a_advection_diffusion (x, mobility, 1, 1, -V(:, 2)); M = bim1a_reaction (x, 1, Rp) + bim1a_reaction (x, II, 1); R = bim1a_rhs (x, 1, Gp); A = A + M; p(:,3) = pin; p(2:end-1,3) = A(2:end-1, 2:end-1) \ (R(2:end-1) - A(2:end-1, [1 end]) * pin ([1 end])); Fp(:,2) = V(:,2) + log (p(:,3)); Jp = -mobility .* (p(2:end, 2) .* Bm - p(1:end-1, 2) .* Bp) ./ dx; nrfn = norm (Fn(:,2) - Fn(:,1), inf); nrfp = norm (Fp(:,2) - Fp(:,1), inf); nrv = norm (V(:,2) - V(:,1), inf); res(it) = max ([nrfn; nrfp; nrv]); if (res(it) < toll) break endif V(:,1) = V(:,end); p(:,1) = p(:,end) ; n(:,1) = n(:,end); Fn(:,1) = Fn(:,end); Fp(:,1) = Fp(:,end); endfor n = n(:,end); p = p(:,end); V = V(:,end); Fn = Fn(:,end); Fp = Fp(:,end); endfunction function u = mobility_model (x, Na, Nd, Nref, E, u0, umin, vsat, beta) Neff = Na + Nd; Neff = (Neff(1:end-1) + Neff(2:end)) / 2; ubar = umin + (u0 - umin) ./ (1 + (Neff ./ Nref) .^ beta); u = 2 * ubar ./ (1 + sqrt (1 + 4 * (ubar .* abs (E) ./ vsat) .^ 2)); endfunction function [Rn, Rp, Gn, Gp, II] = generation_recombination_model (x, n, p, E, Jn, Jp, tn, tp, theta, Cn, Cp, an, ap, Ecritn, Ecritp) denomsrh = tn .* (p + theta) + tp .* (n + theta); factauger = Cn .* n + Cp .* p; fact = (1 ./ denomsrh + factauger); Rn = p .* fact; Rp = n .* fact; Gn = theta .^ 2 .* fact; Gp = Gn; II = an * exp(-Ecritn./abs(E)) .* abs (Jn) + ap * exp(-Ecritp./abs(E)) .* abs (Jp); endfunction %!demo %! % physical constants and parameters %! secs1d_physical_constants; %! secs1d_silicon_material_properties; %! %! % geometry %! L = 10e-6; % [m] %! xm = L/2; %! %! Nelements = 1000; %! x = linspace (0, L, Nelements+1)'; %! sinodes = [1:length(x)]; %! %! % dielectric constant (silicon) %! er = esir * ones (Nelements, 1); %! %! % doping profile [m^{-3}] %! Na = 1e23 * (x <= xm); %! Nd = 1e23 * (x > xm); %! %! % avoid zero doping %! D = Nd - Na; %! %! % initial guess for n, p, V, phin, phip %! V_p = -1; %! V_n = 0; %! %! Fp = V_p * (x <= xm); %! Fn = Fp; %! %! p = abs (D) / 2 .* (1 + sqrt (1 + 4 * (ni./abs(D)) .^2)) .* (x <= xm) + ... %! ni^2 ./ (abs (D) / 2 .* (1 + sqrt (1 + 4 * (ni ./ abs (D)) .^2))) .* (x > xm); %! %! n = abs (D) / 2 .* (1 + sqrt (1 + 4 * (ni ./ abs (D)) .^ 2)) .* (x > xm) + ... %! ni ^ 2 ./ (abs (D) / 2 .* (1 + sqrt (1 + 4 * (ni ./ abs (D)) .^2))) .* (x <= xm); %! %! V = Fn + Vth * log (n / ni); %! %! % scaling factors %! xbar = L; % [m] %! nbar = norm(D, 'inf'); % [m^{-3}] %! Vbar = Vth; % [V] %! mubar = max (u0n, u0p); % [m^2 V^{-1} s^{-1}] %! tbar = xbar^2 / (mubar * Vbar); % [s] %! Rbar = nbar / tbar; % [m^{-3} s^{-1}] %! Ebar = Vbar / xbar; % [V m^{-1}] %! Jbar = q * mubar * nbar * Ebar; % [A m^{-2}] %! CAubar = Rbar / nbar^3; % [m^6 s^{-1}] %! abar = 1/xbar; % [m^{-1}] %! %! % scaling procedure %! l2 = e0 * Vbar / (q * nbar * xbar^2); %! theta = ni / nbar; %! %! xin = x / xbar; %! Din = D / nbar; %! Nain = Na / nbar; %! Ndin = Nd / nbar; %! pin = p / nbar; %! nin = n / nbar; %! Vin = V / Vbar; %! Fnin = Vin - log (nin); %! Fpin = Vin + log (pin); %! %! tnin = tn / tbar; %! tpin = tp / tbar; %! %! u0nin = u0n / mubar; %! uminnin = uminn / mubar; %! vsatnin = vsatn / (mubar * Ebar); %! %! u0pin = u0p / mubar; %! uminpin = uminp / mubar; %! vsatpin = vsatp / (mubar * Ebar); %! %! Nrefnin = Nrefn / nbar; %! Nrefpin = Nrefp / nbar; %! %! Cnin = Cn / CAubar; %! Cpin = Cp / CAubar; %! %! anin = an / abar; %! apin = ap / abar; %! Ecritnin = Ecritn / Ebar; %! Ecritpin = Ecritp / Ebar; %! %! % tolerances for convergence checks %! toll = 1e-3; %! maxit = 1000; %! ptoll = 1e-12; %! pmaxit = 1000; %! %! % solve the problem using the full DD model %! [nout, pout, Vout, Fnout, Fpout, Jnout, Jpout, it, res] = ... %! secs1d_dd_gummel_map (xin, Din, Nain, Ndin, pin, nin, Vin, Fnin, Fpin, ... %! l2, er, u0nin, uminnin, vsatnin, betan, Nrefnin, ... %! u0pin, uminpin, vsatpin, betap, Nrefpin, theta, ... %! tnin, tpin, Cnin, Cpin, anin, apin, ... %! Ecritnin, Ecritpin, toll, maxit, ptoll, pmaxit); %! %! % Descaling procedure %! n = nout*nbar; %! p = pout*nbar; %! V = Vout*Vbar; %! Fn = V - Vth*log(n/ni); %! Fp = V + Vth*log(p/ni); %! dV = diff(V); %! dx = diff(x); %! E = -dV./dx; %! %! % band structure %! Efn = -Fn; %! Efp = -Fp; %! Ec = Vth*log(Nc./n)+Efn; %! Ev = -Vth*log(Nv./p)+Efp; %! %! plot (x, Efn, x, Efp, x, Ec, x, Ev) %! legend ('Efn', 'Efp', 'Ec', 'Ev') %! axis tightsecs1d-0.0.9/inst/secs1d_dd_newton.m0000644000076500000240000002017711735164067016264 0ustar carlostaff%% Copyright (C) 2004-2012 Carlo de Falco %% %% This file is part of %% SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator %% %% SECS1D is free software; you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by %% the Free Software Foundation; either version 3 of the License, or %% (at your option) any later version. %% %% SECS1D is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %% GNU General Public License for more details. %% %% You should have received a copy of the GNU General Public License %% along with SECS1D; If not, see . %% Solve the scaled stationary bipolar DD equation system using Newton's method. %% %% [n, p, V, Fn, Fp, Jn, Jp, it, res] = secs1d_dd_newton (x, D, Vin, nin, %% pin, l2, er, un, %% up, theta, tn, tp, %% Cn, Cp, toll, maxit) %% %% input: %% x spatial grid %% D doping profile %% pin initial guess for hole concentration %% nin initial guess for electron concentration %% Vin initial guess for electrostatic potential %% l2 scaled Debye length squared %% er relative electric permittivity %% un electron mobility model coefficients %% up electron mobility model coefficients %% theta intrinsic carrier density %% tn, tp, Cn, Cp generation recombination model parameters %% toll tolerance for Gummel iterarion convergence test %% maxit maximum number of Gummel iterarions %% %% output: %% n electron concentration %% p hole concentration %% V electrostatic potential %% Fn electron Fermi potential %% Fp hole Fermi potential %% Jn electron current density %% Jp hole current density %% it number of Gummel iterations performed %% res total potential increment at each step function [n, p, V, Fn, Fp, Jn, Jp, it, normr] = secs1d_dd_newton (x, D, Vin, nin, pin, l2, er, un, up, theta, tn, tp, Cn, Cp, toll, maxit) dampit = 10; dampcoeff = 2; Nnodes = numel (x); V = Vin; n = nin; p = pin; [res, jac] = residual_jacobian (x, D, V, n, p, l2, er, un, up, theta, tn, tp, Cn, Cp); normr(1) = norm (res, inf); normrnew = normr(1); for it = 1:maxit delta = - jac \ res; tk = 1; for dit = 1:dampit Vnew = Vin; Vnew(2:end-1) = V(2:end-1) + tk * delta(1:Nnodes-2); nnew = nin; nnew(2:end-1) = n(2:end-1) + tk * delta((Nnodes-2)+(1:Nnodes-2)); pnew = pin; pnew(2:end-1) = p(2:end-1) + tk * delta(2*(Nnodes-2)+(1:Nnodes-2)); [resnew, jacnew] = residual_jacobian (x, D, Vnew, nnew, pnew, l2, er, un, up, theta, tn, tp, Cn, Cp); normrnew = norm (resnew, inf); if (normrnew > normr(it)) tk = tk / dampcoeff; else jac = jacnew; res = resnew; break endif endfor V = Vnew; n = nnew; p = pnew; normr(it+1) = normrnew; if (normr(it+1) <= toll) break endif endfor dV = diff (V); dx = diff (x); [Bp, Bm] = bimu_bernoulli (dV); Jn = un .* (n(2:end) .* Bp - n(1:end-1) .* Bm) ./ dx; Jp = -up .* (p(2:end) .* Bm - p(1:end-1) .* Bp) ./ dx; Fp = V + log (p); Fn = V - log (n); endfunction function [res, jac] = residual_jacobian (x, D, V, n, p, l2, er, un, up, theta, tn, tp, Cn, Cp) denomsrh = tn .* (p + theta) + tp .* (n + theta); factauger = Cn .* n + Cp .* p; fact = (1 ./ denomsrh + factauger); nm = (n(2:end) + n(1:end-1))/2; pm = (p(2:end) + p(1:end-1))/2; Nnodes = numel (x); A11 = bim1a_laplacian (x, l2 .* er, 1); A12 = bim1a_reaction (x, 1, 1); A13 = - A12; R1 = A11 * V + bim1a_rhs (x, 1, n-p-D); A21 = - bim1a_laplacian (x, un .* nm, 1); A22 = bim1a_advection_diffusion (x, un, 1, 1, V) + bim1a_reaction (x, 1, p .* fact); A23 = bim1a_reaction (x, 1, n .* fact); R2 = A22 * n + bim1a_rhs (x, 1, (p .* n - theta .^ 2) .* fact); A31 = bim1a_laplacian (x, up .* pm, 1); A32 = bim1a_reaction (x, 1, p .* fact); A33 = bim1a_advection_diffusion (x, up, 1, 1, -V) + bim1a_reaction (x, 1, n .* fact); R3 = A33 * p + bim1a_rhs (x, 1, (p .* n - theta .^ 2) .* fact); res = [R1(2:end-1); R2(2:end-1); R3(2:end-1)]; jac = [A11(2:end-1, 2:end-1), A12(2:end-1, 2:end-1), A13(2:end-1, 2:end-1); A21(2:end-1, 2:end-1), A22(2:end-1, 2:end-1), A23(2:end-1, 2:end-1); A31(2:end-1, 2:end-1), A32(2:end-1, 2:end-1), A33(2:end-1, 2:end-1)]; endfunction %!demo %! % physical constants and parameters %! secs1d_physical_constants; %! secs1d_silicon_material_properties; %! %! % geometry %! L = 1e-6; % [m] %! x = linspace (0, L, 10)'; %! sinodes = [1:length(x)]; %! %! % dielectric constant (silicon) %! er = esir * ones (numel (x) - 1, 1); %! %! % doping profile [m^{-3}] %! Na = 1e20 * ones(size(x)); %! Nd = 1e24 * ones(size(x)); %! D = Nd-Na; %! %! % externally applied voltages %! V_p = 10; %! V_n = 0; %! %! % initial guess for phin, phip, n, p, V %! Fp = V_p * (x <= L/2); %! Fn = Fp; %! %! p = abs(D)/2.*(1+sqrt(1+4*(ni./abs(D)).^2)).*(D<0)+... %! ni^2./(abs(D)/2.*(1+sqrt(1+4*(ni./abs(D)).^2))).*(D>0); %! %! n = abs(D)/2.*(1+sqrt(1+4*(ni./abs(D)).^2)).*(D>0)+... %! ni^2./(abs(D)/2.*(1+sqrt(1+4*(ni./abs(D)).^2))).*(D<0); %! %! V = Fn + Vth*log(n/ni); %! %! % scaling factors %! xbar = L; % [m] %! nbar = norm(D, 'inf'); % [m^{-3}] %! Vbar = Vth; % [V] %! mubar = max(u0n, u0p); % [m^2 V^{-1} s^{-1}] %! tbar = xbar^2/(mubar*Vbar); % [s] %! Rbar = nbar/tbar; % [m^{-3} s^{-1}] %! Ebar = Vbar/xbar; % [V m^{-1}] %! Jbar = q*mubar*nbar*Ebar; % [A m^{-2}] %! CAubar = Rbar/nbar^3; % [m^6 s^{-1}] %! abar = xbar^(-1); % [m^{-1}] %! %! % scaling procedure %! l2 = e0*Vbar/(q*nbar*xbar^2); %! theta = ni/nbar; %! %! xin = x/xbar; %! Din = D/nbar; %! Nain = Na/nbar; %! Ndin = Nd/nbar; %! pin = p/nbar; %! nin = n/nbar; %! Vin = V/Vbar; %! Fnin = Vin - log(nin); %! Fpin = Vin + log(pin); %! %! tnin = tn/tbar; %! tpin = tp/tbar; %! %! % mobility model accounting scattering from ionized impurities %! u0nin = u0n/mubar; %! uminnin = uminn/mubar; %! vsatnin = vsatn/(mubar*Ebar); %! %! u0pin = u0p/mubar; %! uminpin = uminp/mubar; %! vsatpin = vsatp/(mubar*Ebar); %! %! Nrefnin = Nrefn/nbar; %! Nrefpin = Nrefp/nbar; %! %! Cnin = Cn/CAubar; %! Cpin = Cp/CAubar; %! %! anin = an/abar; %! apin = ap/abar; %! Ecritnin = Ecritn/Ebar; %! Ecritpin = Ecritp/Ebar; %! %! % tolerances for convergence checks %! ptoll = 1e-12; %! pmaxit = 1000; %! %! % solve the problem using the Newton fully coupled iterative algorithm %! [nout, pout, Vout, Fnout, Fpout, Jnout, Jpout, it, res] = secs1d_dd_newton (xin, Din, %! Vin, nin, pin, l2, er, %! u0nin, u0pin, theta, tnin, %! tpin, Cnin, Cpin, ptoll, pmaxit); %! % Descaling procedure %! n = nout*nbar; %! p = pout*nbar; %! V = Vout*Vbar; %! Fn = V - Vth*log(n/ni); %! Fp = V + Vth*log(p/ni); %! dV = diff(V); %! dx = diff(x); %! E = -dV./dx; %! %! % compute current densities %! [Bp, Bm] = bimu_bernoulli (dV/Vth); %! Jn = q*u0n*Vth .* (n(2:end) .* Bp - n(1:end-1) .* Bm) ./ dx; %! Jp = -q*u0p*Vth .* (p(2:end) .* Bm - p(1:end-1) .* Bp) ./ dx; %! Jtot = Jn+Jp; %! %! % band structure %! Efn = -Fn; %! Efp = -Fp; %! Ec = Vth*log(Nc./n)+Efn; %! Ev = -Vth*log(Nv./p)+Efp; %! %! plot (x, Efn, x, Efp, x, Ec, x, Ev) %! legend ('Efn', 'Efp', 'Ec', 'Ev') %! axis tightsecs1d-0.0.9/inst/secs1d_nlpoisson_newton.m0000755000076500000240000001302511735164067017716 0ustar carlostaff%% Copyright (C) 2004-2012 Carlo de Falco %% %% This file is part of %% SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator %% %% SECS1D is free software; you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by %% the Free Software Foundation; either version 3 of the License, or %% (at your option) any later version. %% %% SECS1D is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %% GNU General Public License for more details. %% %% You should have received a copy of the GNU General Public License %% along with SECS1D; If not, see . %% Solve the non-linear Poisson problem using Newton's algorithm. %% %% [V, n, p, res, niter] = secs1d_nlpoisson_newton (x, sinodes, Vin, nin, pin, %% Fnin, Fpin, D, l2, er, toll, maxit) %% %% input: %% x spatial grid %% sinodes index of the nodes of the grid which are in the semiconductor subdomain %% (remaining nodes are assumed to be in the oxide subdomain) %% Vin initial guess for the electrostatic potential %% nin initial guess for electron concentration %% pin initial guess for hole concentration %% Fnin initial guess for electron Fermi potential %% Fpin initial guess for hole Fermi potential %% D doping profile %% l2 scaled Debye length squared %% er relative electric permittivity %% toll tolerance for convergence test %% maxit maximum number of Newton iterations %% %% output: %% V electrostatic potential %% n electron concentration %% p hole concentration %% res residual norm at each step %% niter number of Newton iterations function [V, n, p, res, niter] = secs1d_nlpoisson_newton (x, sinodes, Vin, nin, pin, Fnin, Fpin, D, l2, er, toll, maxit) dampit = 10; dampcoeff = 2; sielements = sinodes(1:end-1); Nnodes = numel (x); Nelements = Nnodes - 1; V = Vin; Fn = Fnin; Fp = Fpin; n = exp ( V(sinodes) - Fn); p = exp (-V(sinodes) + Fp); L = bim1a_laplacian (x, l2 .* er, 1); b = zeros (Nelements, 1); b(sielements) = 1; a = zeros (Nnodes, 1); a(sinodes) = (n + p); M = bim1a_reaction (x, b, a); a = zeros (Nnodes,1); a(sinodes) = (n - p - D); N = bim1a_rhs (x, b, a); A = L + M; R = L * V + N; normr(1) = norm (R(2:end-1), inf); normrnew = normr(1); for newtit = 1:maxit dV = zeros (Nnodes, 1); dV(2:end-1) = - A(2:end-1, 2:end-1) \ R(2:end-1) ; tk = 1; for dit = 1:dampit Vnew = V + tk * dV; n = exp ( Vnew(sinodes) - Fn); p = exp (-Vnew(sinodes) + Fp); a = zeros (Nnodes, 1); a(sinodes) = (n + p); M = bim1a_reaction (x, b, a); Anew = L + M; a = zeros (Nnodes,1); a(sinodes) = (n - p - D); N = bim1a_rhs (x, b, a); Rnew = L * Vnew + N; normrnew = norm (Rnew(2:end-1), inf); if (normrnew > normr(newtit)) tk = tk / dampcoeff; else A = Anew; R = Rnew; break endif endfor V = Vnew; normr(newtit+1) = normrnew; reldVnorm = norm (tk*dV, inf) / norm (V, inf); if (reldVnorm <= toll) break endif endfor res = normr; niter = newtit; endfunction %!demo %! secs1d_physical_constants %! secs1d_silicon_material_properties %! %! tbulk= 1.5e-6; %! tox = 90e-9; %! L = tbulk + tox; %! cox = esio2/tox; %! %! Nx = 50; %! Nel = Nx - 1; %! %! x = linspace (0, L, Nx)'; %! sinodes = find (x <= tbulk); %! xsi = x(sinodes); %! %! Nsi = length (sinodes); %! Nox = Nx - Nsi; %! %! NelSi = Nsi - 1; %! NelSiO2 = Nox - 1; %! %! Na = 1e22; %! D = - Na * ones (size (xsi)); %! p = Na * ones (size (xsi)); %! n = (ni^2) ./ p; %! Fn = Fp = zeros (size (xsi)); %! Vg = -10; %! Nv = 80; %! for ii = 1:Nv %! Vg = Vg + 0.2; %! vvect(ii) = Vg; %! %! V = - Phims + Vg * ones (size (x)); %! V(sinodes) = Fn + Vth * log (n/ni); %! %! % Scaling %! xs = L; %! ns = norm (D, inf); %! Din = D / ns; %! Vs = Vth; %! xin = x / xs; %! nin = n / ns; %! pin = p / ns; %! Vin = V / Vs; %! Fnin = (Fn - Vs * log (ni / ns)) / Vs; %! Fpin = (Fp + Vs * log (ni / ns)) / Vs; %! %! er = esio2r * ones(Nel, 1); %! l2(1:NelSi) = esi; %! l2 = (Vs*e0)/(q*ns*xs^2); %! %! % Solution of Nonlinear Poisson equation %! %! % Algorithm parameters %! toll = 1e-10; %! maxit = 1000; %! %! [V, nout, pout, res, niter] = secs1d_nlpoisson_newton (xin, sinodes, %! Vin, nin, pin, %! Fnin, Fpin, Din, l2, %! er, toll, maxit); %! %! % Descaling %! n = nout*ns; %! p = pout*ns; %! V = V*Vs; %! %! qtot(ii) = q * trapz (xsi, p + D - n); %! end %! %! vvectm = (vvect(2:end)+vvect(1:end-1))/2; %! C = - diff (qtot) ./ diff (vvect); %! plot(vvectm, C) %! xlabel('Vg [V]') %! ylabel('C [Farad]') %! title('C-V curve') secs1d-0.0.9/inst/secs1d_physical_constants.m0000644000076500000240000000235011733717716020207 0ustar carlostaff%% Copyright (C) 2004-2012 Carlo de Falco %% %% This file is part of %% SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator %% %% SECS1D is free software; you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by %% the Free Software Foundation; either version 3 of the License, or %% (at your option) any later version. %% %% SECS1D is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %% GNU General Public License for more details. %% %% You should have received a copy of the GNU General Public License %% along with SECS1D; If not, see . %% some useful physical constants %% %% Kb = Boltzman constant %% q = quantum of charge %% e0 = permittivity of free space %% hplanck = Plank constant %% hbar = Plank constant by 2 pi %% mn0 = free electron mass %% T0 = temperature %% Vth = thermal voltage Kb = 1.3806503e-23; q = 1.602176462e-19; e0 = 8.854187817e-12; hplanck = 6.626e-34; hbar = hplanck/ (2*pi); mn0 = 9.11e-31; T0 = 300; Vth = Kb * T0 / q; secs1d-0.0.9/inst/secs1d_silicon_material_properties.m0000755000076500000240000000724611733717716022105 0ustar carlostaff%% Copyright (C) 2004-2012 Carlo de Falco %% %% This file is part of %% SECS1D - A 1-D Drift--Diffusion Semiconductor Device Simulator %% %% SECS1D is free software; you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by %% the Free Software Foundation; either version 3 of the License, or %% (at your option) any later version. %% %% SECS1D is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %% GNU General Public License for more details. %% %% You should have received a copy of the GNU General Public License %% along with SECS1D; If not, see . %% material properties for silicon and silicon dioxide %% %% esir = relative electric permittivity of silicon %% esio2r = relative electric permittivity of silicon dioxide %% esi = electric permittivity of silicon %% esio2 = electric permittivity of silicon dioxide %% mn = effective mass of electrons in silicon %% mh = effective mass of holes in silicon %% %% u0n = low field electron mobility %% u0p = low field hole mobility %% uminn = parameter for doping-dependent electron mobility %% betan = idem %% Nrefn = idem %% uminp = parameter for doping-dependent hole mobility %% betap = idem %% Nrefp = idem %% vsatn = electron saturation velocity %% vsatp = hole saturation velocity %% tp = electron lifetime %% tn = hole lifetime %% Cn = electron Auger coefficient %% Cp = hole Auger coefficient %% an = impact ionization rate for electrons %% ap = impact ionization rate for holes %% Ecritn = critical field for impact ionization of electrons %% Ecritp = critical field for impact ionization of holes %% Nc = effective density of states in the conduction band %% Nv = effective density of states in the valence band %% Egap = bandgap in silicon %% EgapSio2 = bandgap in silicon dioxide %% %% ni = intrinsic carrier density %% Phims = metal to semiconductor potential barrier esir = 11.7; esio2r = 3.9; esi = e0 * esir; esio2 = e0 * esio2r; mn = 0.26*mn0; mh = 0.18*mn0; qsue = q / esi; u0n = 1417e-4; u0p = 480e-4; uminn = u0n; % ref. value: 65e-4; uminp = u0p; % ref. value: 47.7e-4; betan = 0.72; betap = 0.76; Nrefn = 8.5e22; Nrefp = 6.3e22; vsatn = inf; % ref. value: 1.1e5; vsatp = inf; % ref. value: 9.5e4; tp = inf; % ref. value: 1e-6; tn = inf; % ref. value: 1e-6; Cn = 0; % ref. value: 2.8e-31*1e-12; Cp = 0; % ref. value: 9.9e-32*1e-12; an = 0; % ref. value: 7.03e7; ap = 0; % ref. value: 6.71e7; Ecritn = 1.231e8; Ecritp = 1.693e8; mnl = 0.98*mn0; mnt = 0.19*mn0; mndos = (mnl*mnt*mnt)^(1/3); mhh = 0.49*mn0; mlh = 0.16*mn0; mhdos = (mhh^(3/2)+mlh^(3/2))^(2/3); Nc = (6/4)*(2*mndos*Kb*T0/(hbar^2*pi))^(3/2); Nv = (1/4)*(2*mhdos*Kb*T0/(hbar^2*pi))^(3/2); Eg0 = 1.16964*q; alfaEg = 4.73e-4*q; betaEg = 6.36e2; Egap = Eg0-alfaEg*((T0^2)/(T0+betaEg)); Ei = Egap/2+Kb*T0/2*log(Nv/Nc); EgapSio2 = 9*q; deltaEcSio2 = 3.1*q; deltaEvSio2 = EgapSio2-Egap-deltaEcSio2; ni = sqrt(Nc*Nv)*exp(-Egap/(2*(Kb * T0))); Phims = - Egap /(2*q);