pax_global_header00006660000000000000000000000064137524415660014527gustar00rootroot0000000000000052 comment=6fe794dc5525eee33fa7cabee16d282bf4b02eba seirsplus-1.1.0/000077500000000000000000000000001375244156600135575ustar00rootroot00000000000000seirsplus-1.1.0/.DS_Store000066400000000000000000000200041375244156600152360ustar00rootroot00000000000000Bud1 pleslg1S  @ @ @ @exampleslg1Scomp examplesmoDDblobAexamplesmodDblobAexamplesph1ScompexamplesptbLustrCSystem/Volumes/Data/Users/ryan/Dropbox/Projects/Packages/seirsplus/examplesptbNustrexamplesimagesbwspblobbplist00 ]ShowStatusBar[ShowPathbar[ShowToolbar[ShowTabView_ContainerShowSidebar\WindowBounds[ShowSidebar _{{127, 581}, {1215, 446}} %1=I`myz{|}~imageslg1ScompimagesmoDDblob?AimagesmodDblob?Aimagesph1ScompimagesvSrnlong seirsplusbwspblobbplist00 ]ShowStatusBar[ShowPathbar[ShowToolbar[ShowTabView_ContainerShowSidebar\WindowBounds[ShowSidebar _{{250, 586}, {1430, 441}} %1=I`myz{|}~ seirspluslg1Scomp seirsplusmoDDblob|`A seirsplusmodDblob|`A seirsplusph1Scomp seirsplusvSrnlong @ E DSDB ` @ @ @seirsplus-1.1.0/.gitignore000066400000000000000000000000571375244156600155510ustar00rootroot00000000000000# ignore temporary swap files *.swp .DS_Store seirsplus-1.1.0/LICENSE000066400000000000000000000020541375244156600145650ustar00rootroot00000000000000MIT License Copyright (c) [year] [fullname] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.seirsplus-1.1.0/README.md000066400000000000000000000275211375244156600150450ustar00rootroot00000000000000# SEIRS+ Model Framework This package implements models of generalized SEIRS infectious disease dynamics with extensions that allow us to study the effect of social contact network structures, heterogeneities, stochasticity, and interventions, such as social distancing, testing, contact tracing, and isolation. #### *Latest Release: v1.0 (9 Aug 2020)* * Full rollout of [Extended SEIRS Model](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-model-description), [TTI simulation loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-loop), and [network generators](https://github.com/ryansmcgee/seirsplus/wiki/network-generation) for [community](https://github.com/ryansmcgee/seirsplus/wiki/network-generation#demographic-community-network) and [workplace](https://github.com/ryansmcgee/seirsplus/wiki/network-generation#workplace-network) populations. * Example notebooks with in-depth walkthroughs of sophisticated [Community TTI](https://github.com/ryansmcgee/seirsplus/blob/master/examples/Extended_SEIRS_Community_TTI_Demo.ipynb) and [Workplace TTI](https://github.com/ryansmcgee/seirsplus/blob/master/examples/Extended_SEIRS_Workplace_TTI_Demo.ipynb) simulations. * The [`SEIRSModel`](https://github.com/ryansmcgee/seirsplus/wiki/SEIRSModel-class) and [`SEIRSNetworkModel`](https://github.com/ryansmcgee/seirsplus/wiki/SEIRSNetworkModel-class) classes have been refactored to be in line with [Extended SEIRS Model](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-model-description) conventions. The dynamics and core implementations remain the same, but some variable names have changed, etc. * The versions of these classes from before 9 Aug 2020 are now located in the `legacy_models.py` module. * Launch of new [wiki site](https://github.com/ryansmcgee/seirsplus/wiki) for thorough documentation of models and package features ## Overview #### Full documentation of this package's models, code, use cases, examples, and more can be found on [the wiki](https://github.com/ryansmcgee/seirsplus/wiki/) [**Basic SEIRS Model**](https://github.com/ryansmcgee/seirsplus/wiki/SEIRS-Model-Description) | [**Extended SEIRS Model**](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description) :-----:|:-----: | [Model Description](https://github.com/ryansmcgee/seirsplus/wiki/SEIRS-Model-Description) | [Model Description](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description) [`SEIRSNetworkModel` docs](https://github.com/ryansmcgee/seirsplus/wiki/SEIRSModel-class)
[`SEIRSModel` docs](https://github.com/ryansmcgee/seirsplus/wiki/SEIRSNetworkModel-class) | [`ExtSEIRSNetworkModel` docs](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-class) [Basic SEIRS Mean-field Model Demo](https://github.com/ryansmcgee/seirsplus/blob/master/examples/Basic_SEIRS_Meanfield_Model_Demo.ipynb)
[Basic SEIRS Network Model Demo](https://github.com/ryansmcgee/seirsplus/blob/master/examples/Basic_SEIRS_Network_Model_Demo.ipynb) | [Extended SEIRS Community TTI Demo](https://github.com/ryansmcgee/seirsplus/blob/master/examples/Extended_SEIRS_Community_TTI_Demo.ipynb)
[Extended SEIRS Workplace TTI Demo](https://github.com/ryansmcgee/seirsplus/blob/master/examples/Extended_SEIRS_Workplace_TTI_Demo.ipynb) # ### SEIRS Dynamics The foundation of the models in this package is the classic SEIR model of infectious disease. The SEIR model is a standard compartmental model in which the population is divided into **susceptible (S)**, **exposed (E)**, **infectious (I)**, and **recovered (R)** individuals. A susceptible member of the population becomes infected (exposed) when making a transmissive contact with an infectious individual and then progresses to the infectious and finally recovered states. In the SEIRS model, recovered individuals may become resusceptible some time after recovering (although re-susceptibility can be excluded if not applicable or desired).

### Extended SEIRS Model This model extends the classic SEIRS model of infectious disease to represent pre-symptomatic, asymptomatic, and severely symptomatic disease states, which are of particular **relevance to the SARS-CoV-2 pandemic**. In this extended model, the infectious subpopulation is subdivided into **pre-symptomatic (*Ipre*)**, **asymptomatic (*Iasym*)**, **symptomatic (*Isym*)**, and **hospitalized (severely symptomatic, *IH*)**. All of these *I* compartments represent contagious individuals, but transmissibility, rates of recovery, and other parameters may vary between these disease states.

### Testing, Tracing, & Isolation The effect of isolation-based interventions (e.g., isolating individuals in response to testing or contact tracing) are modeled by introducing compartments representing quarantined individuals. An individual may be quarantined in any disease state, and every disease state has a corresponding quarantine compartment (with the exception of the hospitalized state, which is considered a quarantine state for transmission and other purposes). Quarantined individuals follow the same progression through the disease states, but the rates of transition or other parameters may be different. There are multiple methods by which individuals can be moved into or out of a quarantine state in this framework.

### Network Models Standard compartment models capture important features of infectious disease dynamics, but they are deterministic mean-field models that assume uniform mixing of the population (i.e., every individual in the population is equally likely to interact with every other individual). However, it is often important to consider stochasticity, heterogeneity, and the structure of contact networks when studying disease transmission, and many strategies for mitigating spread can be thought of as perturbing the contact network (e.g., social distancing) or making use of it (e.g., contact tracing). This package includes implementation of SEIRS models on stochastic dynamical networks. Individuals are represented as nodes in a network, and parameters, contacts, and interventions can be specified on a targeted individual basis. The network model enables rigorous analysis of transmission patterns and network-based interventions with respect to the properties of realistic contact networks. These SEIRS models can be simulated on any network. Network generation is largely left to the user, but some tools for [Network Generation](https://github.com/ryansmcgee/seirsplus/wiki/network-generation) are included in this package. Unlike mean-field compartment models, which do not model individual members of the population, the network model explicitly represents individuals as discrete nodes. All model parameters can be assigned to each node on an individual basis. Therefore, the network models support arbitrary parameter heterogeneity at the user's discretion. In addition, the specification of the contact network allows for heterogeneity in interaction patterns to be explicitly modeled as well. ## Code Usage This package was designed with broad usability in mind. Complex scenarios can be simulated with very few lines of code or, in many cases, no new coding or knowledge of Python by simply modifying the parameter values in the [example notebooks](https://github.com/ryansmcgee/seirsplus/tree/master/examples) provided. See the Quick Start section and the rest of the wiki documentation for more details. Don't be intimidated by the length of the wiki pages, running these models is quick and easy. The package does all the hard work for you. As an example, here's a complete script that simulates the SEIRS dynamics on a network with forms of social distancing, testing, contact tracing, and quarantining in only 10 lines of code.: ```python from seirsplus.models import * import networkx numNodes = 10000 baseGraph = networkx.barabasi_albert_graph(n=numNodes, m=9) G_normal = custom_exponential_graph(baseGraph, scale=100) # Social distancing interactions: G_distancing = custom_exponential_graph(baseGraph, scale=10) # Quarantine interactions: G_quarantine = custom_exponential_graph(baseGraph, scale=5) model = SEIRSNetworkModel(G=G_normal, beta=0.155, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, p=0.5, Q=G_quarantine, beta_D=0.155, sigma_D=1/5.2, gamma_D=1/12.39, mu_D=0.0004, theta_E=0.02, theta_I=0.02, phi_E=0.2, phi_I=0.2, psi_E=1.0, psi_I=1.0, q=0.5, initI=10) checkpoints = {'t': [20, 100], 'G': [G_distancing, G_normal], 'p': [0.1, 0.5], 'theta_E': [0.02, 0.02], 'theta_I': [0.02, 0.02], 'phi_E': [0.2, 0.2], 'phi_I': [0.2, 0.2]} model.run(T=300, checkpoints=checkpoints) model.figure_infections() ``` ### Quick Start Perhaps the best way to get started with these models is to dive into the [examples](https://github.com/ryansmcgee/seirsplus/tree/master/examples). These example notebooks walk through full simulations using each of the models included in this package with description of the steps involved. **These notebooks can also serve as ready-to-run sandboxes for trying your own simulation scenarios simply by changing the parameter values in the notebook.** ### Installing and Importing the Package All of the code needed to run the models is imported from the ```models``` module of this package. Other features that may be of interest are implemented in the `networks`, `sim_loops`, and `utilities` modules. #### Install the package using ```pip``` The package can be installed on your machine by entering this in the command line: ```> pip install seirsplus``` Then, the ```models``` module (and other modules) can be imported into your scripts as shown here: ```python from seirsplus.models import * from seirsplus.networks import * from seirsplus.sim_loops import * from seirsplus.utilities import * import networkx ``` #### *Alternatively, manually copy the code to your machine* *You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. For some of the features included in this package you will also need the `networks`, `sim_loops`, and `utilities` modules. In this case, the easiest way to use the modules is to place your scripts in the same directory as the modules, and import the modules as shown here:* ```python from models import * from networks import * from sim_loops import * from utilities import * ``` ### Full Code Documentation Complete documentation for all package classes and functions can be found throughout this wiki, including in-depth descriptions of concept, parameters, and how to initialize, run, and interface with the models. Some pages of note: * [`SEIRSModel`](https://github.com/ryansmcgee/seirsplus/wiki/SEIRSModel-class) * [`SEIRSNetworkModel`](https://github.com/ryansmcgee/seirsplus/wiki/SEIRSNetworkModel-class) * [`ExtSEIRSNetworkModel`](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-class) * [Network Generation](https://github.com/ryansmcgee/seirsplus/wiki/Network-Generation) * [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop) seirsplus-1.1.0/build/000077500000000000000000000000001375244156600146565ustar00rootroot00000000000000seirsplus-1.1.0/build/lib/000077500000000000000000000000001375244156600154245ustar00rootroot00000000000000seirsplus-1.1.0/build/lib/seirsplus/000077500000000000000000000000001375244156600174555ustar00rootroot00000000000000seirsplus-1.1.0/build/lib/seirsplus/FARZ.py000066400000000000000000000515301375244156600205750ustar00rootroot00000000000000################################################# # Adapted from https://github.com/rabbanyk/FARZ ################################################# import random import bisect import math import os def random_choice(values, weights=None , size = 1, replace = True): if weights is None: i = int(random.random() * len(values)) else : total = 0 cum_weights = [] for w in weights: total += w cum_weights.append(total) x = random.random() * total i = bisect.bisect(cum_weights, x) if size <=1: if len(values)>i: return values[i] else: return None else: cval = [values[j] for j in range(len(values)) if replace or i!=j] if weights is None: cwei=None else: cwei = [weights[j] for j in range(len(weights)) if replace or i!=j] tmp= random_choice(cval, cwei, size-1, replace) if not isinstance(tmp,list): tmp = [tmp] tmp.append(values[i]) return tmp class Comms: def __init__(self, k): self.k = k self.groups = [[] for i in range(k)] self.memberships = {} def add(self, cluster_id, i, s = 1): if i not in [m[0] for m in self.groups[cluster_id]]: self.groups[cluster_id].append((i,s)) if i in self.memberships: self.memberships[i].append((cluster_id,s)) else: self.memberships[i] =[(cluster_id,s)] def write_groups(self, path): with open(path, 'w') as f: for g in self.groups: for i,s in g: f.write(str(i) + ' ') f.write('\n') class Graph: def __init__(self,directed=False, weighted=False): self.n = 0 self.counter = 0 self.max_degree = 0 self.directed = directed self.weighted = weighted self.edge_list = [] self.edge_time = [] self.deg = [] self.neigh = [[]] return def add_node(self): self.deg.append(0) self.neigh.append([]) self.n+=1 def weight(self, u, v): for i,w in self.neigh[u]: if i == v: return w return 0 def is_neigh(self, u, v): for i,_ in self.neigh[u]: if i == v: return True return False def add_edge(self, u, v, w=1): if u==v: return if not self.weighted : w =1 self.edge_list.append((u,v,w) if uself.max_degree: self.max_degree = self.deg[v] if not self.directed: #if directed deg is indegree, outdegree = len(negh) self.neigh[v].append((u,w)) self.deg[u]+=w if self.deg[u]>self.max_degree: self.max_degree = self.deg[u] return def to_nx(self): import networkx as nx G=nx.Graph() for u,v, w in self.edge_list: G.add_edge(u, v) # G.add_edges_from(self.edge_list) return G def to_nx(self, C): import networkx as nx G=nx.Graph() for i in range(self.n): # This line works for networkx 1.10: # G.add_node(i, {'c':str(sorted(C.memberships[i]))}) # This line works for networkx 2.2: G.add_node(i, c=str(sorted(C.memberships[i]))) # G.add_node(i, {'c':int(C.memberships[i][0][0])}) for i in range(len(self.edge_list)): # for u,v, w in self.edge_list: u,v, w = self.edge_list[i] G.add_edge(u, v, weight=w, capacity=self.edge_time[i]) # G.add_edges_from(self.edge_list) return G def to_ig(self): G=ig.Graph() G.add_edges(self.edge_list) return G def write_edgelist(self, path): with open(path, 'w') as f: for i,j,w in self.edge_list: f.write(str(i) + '\t'+str(j) + '\n') def Q(G, C): q = 0.0 m = 2 * len(G.edge_list) for c in C.groups: for i,_ in c: for j,_ in c: q+= G.weight(i,j) - (G.deg[i]*G.deg[j]/(2*m)) q /= 2*m return q def common_neighbour(i, G, normalize=True): p = {} for k,wik in G.neigh[i]: for j,wjk in G.neigh[k]: if j in p: p[j]+=(wik * wjk) else: p[j]= (wik * wjk) if len(p)<=0 or not normalize: return p maxp = p[max(p, key = lambda i: p[i])] for j in p: p[j] = p[j]*1.0 / maxp return p def choose_community(i, G, C, alpha, beta, gamma, epsilon): mids =[k for k,uik in C.memberships[i]] if random.random()< beta: #inside cids = mids else: cids = [j for j in range(len(C.groups)) if j not in mids] #: cids.append(j) return cids[ int(random.random()*len(cids))] if len(cids)>0 else None def degree_similarity(i, ids, G, gamma, normalize = True): p = [0]*len(ids) for ij,j in enumerate(ids): p[ij] = (G.deg[j] -G.deg[i])**2 if len(p)<=0 or not normalize: return p maxp = max(p) if maxp==0: return p p = [pi*1.0/maxp if gamma<0 else 1-pi*1.0/maxp for pi in p] return p def combine (a,b,alpha,gamma): return (a**alpha) / ((b+1)**gamma) def choose_node(i,c, G, C, alpha, beta, gamma, epsilon): ids = [j for j,_ in C.groups[c] if j !=i ] # also remove nodes that are already connected from the candidate list for k,_ in G.neigh[i]: if k in ids: ids.remove(k) norma = False cn = common_neighbour(i, G, normalize=norma) trim_ids = [id for id in ids if id in cn] dd = degree_similarity(i, trim_ids, G, gamma, normalize=norma) if random.random()beta)): G.add_edge(i,k,wjk*pj) def connect(i, b, G, C, alpha, beta, gamma, epsilon): #Choose community c = choose_community(i, G, C, alpha, beta, gamma, epsilon) if c is None: return #Choose node within community tmp = choose_node(i, c, G, C, alpha, beta, gamma, epsilon) if tmp is None: return j, pj = tmp G.add_edge(i,j,pj) connect_neighbor(i, j, pj , c, b, G, C, beta) def select_node(G, method = 'uniform'): if method=='uniform': return int(random.random() * G.n) # uniform else: if method == 'older_less_active': p = [(i+1) for i in range(G.n)] # older less active elif method == 'younger_less_active' : p = [G.n-i for i in range(G.n)] # younger less active else: p = [1 for i in range(G.n)] # uniform return random_choice(range(len(p)), p ) #, size=1, replace = False)[0] def assign(i, C, e=1, r=1, q = 0.5): p = [e +len(c) for c in C.groups] id = random_choice(range(C.k),p ) C.add(id, i) for j in range(1,r): #todo add strength for fuzzy if (random.random()1 else '') # G = write_to_file(G,C,path,name,format,farz_params) # print(len([memtup[0][0] for memtup in C.memberships.values()])) # import numpy # (unique, counts) = numpy.unique( [memtup[0][0] for memtup in C.memberships.values()], return_counts=True ) # print(numpy.asarray((unique, counts)).T) # exit() node_communities = {node: [c[0] for c in comm_tup] for node, comm_tup in C.memberships.items()} return G, node_communities if arange ==None: arange = default_ranges[vari] for i,var in enumerate(get_range(arange[0],arange[1],arange[2])): for r in range(repeat): farz_params[vari] = var print('s',i+1, r+1, str(farz_params)) G, C =realize(**farz_params) name = 'S'+str(i+1)+'-'+net_name+ (str(r+1) if repeat>1 else '') write_to_file(G,C,path,name,format,farz_params) import sys def main(argv): import getopt FARZsetting = default_FARZ_setting.copy() batch_setting= default_batch_setting.copy() try: opts, args = getopt.getopt(argv,"ho:s:v:c:f:n:k:m:a:b:g:p:r:q:t:e:dw",\ ["output=","path=","repeat=","vary=",'range=','format=',"alpha=","beta=","gamma=",'phi=','overlap=','oProb=','epsilon=','cneigh=','directed','weighted']) except getopt.GetoptError: print('invalid command, try -h to see usage and options') sys.exit(2) for opt, arg in opts: if opt == '-h': print('*** examples:') print('+ example 1: generate a network with 1000 nodes and about 5x1000 edges (m=5), with 4 communities, where 90% of edges fall within communities (beta=0.9)') print('> python FARZ.py -n 1000 -m 5 -k 4 --beta 0.9\n') print('+ example 2: generate a network with properties of example 1, where alpha = 0.2 and gamma = -0.8') print('> python FARZ.py -n 1000 -m 5 -k 4 --beta 0.9 --alpha 0.2 --gamma -0.8 \n') print('+ example 3: generate 10 sample networks with properties of example 1 and save them into ./data') print('> python FARZ.py --path ./data -s 10 -n 1000 -m 5 -k 4 --beta 0.9\n') print('+ example 4: repeat example 2, for beta that varies from 0.5 to 1 with 0.05 increments') print('> python FARZ.py --path ./data -s 10 -v beta -c [0.5,1,0.05] -n 1000 -m 5 -k 4 \n') print('+ example 5: generate overlapping communities, where each node belongs to at most 3 communities and the portion of overlapping nodes varies') print('python FARZ.py -r 3 -v q --path ./datavrq -s 5 --format list\n') print('*** parameters:') print('-n: number of nodes, default (1000)') print('-m: half the average degree of nodes, default (5)') print('-k: number of communities, default (4)') print('-b [or --beta]: the strength of community structure, i.e. the probability of edges to be formed within communities, default (0.8)') print('-a [or --alpha]: the strength of common neighbor\'s effect on edge formation edges, default (0.5)') print('-g [or --gamma]: the strength of degree similarity effect on edge formation, default (0.5), can be negative for networks with negative degree correlation') print('-p [or --phi]: the constant added to all community sizes, higher number makes the communities more balanced in size, default (1), which results in power law distribution for community sizes') print('-r: the number of communities each node can belong to, default (1)' ) print('-q: the probability of a node belonging to the multiple communities, default (0.5)' ) print('-e [or --epsilon]: the probability of noisy/random edges, default (0.0000001)') print('-t: the probability of also connecting to the neighbors of a node each nodes connects to. The default value is (0), but could be increased to a small number to achieve higher clustering coefficient. \n') print('*** batch parameters:') print('-s: the number of networks to be sampled with the given properties, default (1)' ) print('-o: the name of the output network, default (network)') print('--path : the path to write the network(s) to, default (.)') print('-f [or --format]: the format of output, list or gml, default (gml)') print('-v: the parameter to vary and sample networks for, default (None)') print('-c: the range to change the given parameter, should be in format of [s,e,inc]') #print('default FARZ parameters are :\n', default_FARZ_setting) #print('default batch generator parameters are :\n', default_batch_setting) sys.exit() elif opt in ("-o", "--output"): batch_setting['net_name'] = arg elif opt in ("--path"): batch_setting['path'] = arg elif opt in ("-f", "--format"): if arg in supported_formats: batch_setting['format'] = arg else: print('Format not supported , choose from ',supported_formats,' or try -h to see the usage and options') sys.exit(2) elif opt in ("-s","--repeat"): try: batch_setting['repeat'] = int(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) elif opt in ("-v", "--vary"): if (arg in list(default_ranges.keys())): batch_setting['vari'] = arg else: print('Invalid variable, choose form :', list(default_ranges.keys()), ', try -h to see the usage and options') sys.exit(2) elif opt in ("-c", "--range"): try: arange = [float(s) for s in arg[1:-1].split(',')] batch_setting['arange'] = arange except Error: print('Invalid range, should have the following form : [start,end,incrementBy], try -h to see the usage and options ') sys.exit(2) elif opt in ("-n"): try: FARZsetting['n'] = int(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) elif opt in ("-k"): try: FARZsetting['k'] = int(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) elif opt in ("-m"): try: FARZsetting['m'] = int(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) elif opt in ("-a","--alpha"): try: FARZsetting['alpha'] = float(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) elif opt in ("-b","--beta"): try: FARZsetting['beta'] = float(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) elif opt in ("-g","--gamma"): try: FARZsetting['gamma'] = float(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) elif opt in ("-p","--phi"): try: FARZsetting['phi'] = int(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) elif opt in ("-r","--overlap"): try: FARZsetting['r'] = int(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) elif opt in ("-q","--oProb"): try: FARZsetting['q'] = float(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) elif opt in ("-d","--directed"): FARZsetting['directed'] = True elif opt in ("-w","--wighted"): FARZsetting['weighted'] = True elif opt in ("-t","--cneigh"): try: FARZsetting['b'] = float(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) elif opt in ("-e","--epsilon"): try: FARZsetting['epsilon'] = float(arg) except ValueError: print('Invalid Number , try -h to see the usage and options') sys.exit(2) batch_setting['farz_params'] = FARZsetting print('generating FARZ benchmark(s) ... ') generate( **batch_setting) if __name__ == "__main__": main(sys.argv[1:]) # generate(farz_params={"n":25000, # "k":4, # "m":5, # "alpha":0.5, # "gamma":0.5, # "beta":.8, # "phi":1, # "o":1, # 'q':0.5, # "b":0.0, # "epsilon":0.0000001, # 'directed':False, # 'weighted':False}) # python FARZ.py --path ./dataVb55 -s 10 -v beta # python FARZ.py --path ./dataVb82 -s 10 -v beta --alpha 0.8 --gamma 0.2 # python FARZ.py --path ./dataVb5-5 -s 10 -v beta --alpha 0.5 --gamma -0.5 # python FARZ.py --path ./dataVb2-8 -s 10 -v beta --alpha 0.2 --gamma -0.8seirsplus-1.1.0/build/lib/seirsplus/__init__.py000066400000000000000000000000001375244156600215540ustar00rootroot00000000000000seirsplus-1.1.0/build/lib/seirsplus/legacy_models.py000066400000000000000000002475011375244156600226470ustar00rootroot00000000000000from __future__ import absolute_import from __future__ import division from __future__ import print_function import networkx as networkx import numpy as numpy import scipy as scipy import scipy.integrate ######################################################## #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# #@ @# #@ [LEGACY] BASIC SEIRS MODELS @# #@ @# #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# ######################################################## class SEIRSModel(): """ A class to simulate the Deterministic SEIRS Model =================================================== Params: beta Rate of transmission (exposure) sigma Rate of infection (upon exposure) gamma Rate of recovery (upon infection) xi Rate of re-susceptibility (upon recovery) mu_I Rate of infection-related death mu_0 Rate of baseline death nu Rate of baseline birth beta_D Rate of transmission (exposure) for individuals with detected infections sigma_D Rate of infection (upon exposure) for individuals with detected infections gamma_D Rate of recovery (upon infection) for individuals with detected infections mu_D Rate of infection-related death for individuals with detected infections theta_E Rate of baseline testing for exposed individuals theta_I Rate of baseline testing for infectious individuals psi_E Probability of positive test results for exposed individuals psi_I Probability of positive test results for exposed individuals q Probability of quarantined individuals interacting with others initE Init number of exposed individuals initI Init number of infectious individuals initD_E Init number of detected infectious individuals initD_I Init number of detected infectious individuals initR Init number of recovered individuals initF Init number of infection-related fatalities (all remaining nodes initialized susceptible) """ def __init__(self, initN, beta, sigma, gamma, xi=0, mu_I=0, mu_0=0, nu=0, p=0, beta_D=None, sigma_D=None, gamma_D=None, mu_D=None, theta_E=0, theta_I=0, psi_E=0, psi_I=0, q=0, initE=0, initI=10, initD_E=0, initD_I=0, initR=0, initF=0): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Model Parameters: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.beta = beta self.sigma = sigma self.gamma = gamma self.xi = xi self.mu_I = mu_I self.mu_0 = mu_0 self.nu = nu self.p = p # Testing-related parameters: self.beta_D = beta_D if beta_D is not None else self.beta self.sigma_D = sigma_D if sigma_D is not None else self.sigma self.gamma_D = gamma_D if gamma_D is not None else self.gamma self.mu_D = mu_D if mu_D is not None else self.mu_I self.theta_E = theta_E if theta_E is not None else self.theta_E self.theta_I = theta_I if theta_I is not None else self.theta_I self.psi_E = psi_E if psi_E is not None else self.psi_E self.psi_I = psi_I if psi_I is not None else self.psi_I self.q = q if q is not None else self.q #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize Timekeeping: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.t = 0 self.tmax = 0 # will be set when run() is called self.tseries = numpy.array([0]) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize Counts of inidividuals with each state: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.N = numpy.array([int(initN)]) self.numE = numpy.array([int(initE)]) self.numI = numpy.array([int(initI)]) self.numD_E = numpy.array([int(initD_E)]) self.numD_I = numpy.array([int(initD_I)]) self.numR = numpy.array([int(initR)]) self.numF = numpy.array([int(initF)]) self.numS = numpy.array([self.N[-1] - self.numE[-1] - self.numI[-1] - self.numD_E[-1] - self.numD_I[-1] - self.numR[-1] - self.numF[-1]]) assert(self.numS[0] >= 0), "The specified initial population size N must be greater than or equal to the initial compartment counts." #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @staticmethod def system_dfes(t, variables, beta, sigma, gamma, xi, mu_I, mu_0, nu, beta_D, sigma_D, gamma_D, mu_D, theta_E, theta_I, psi_E, psi_I, q): S, E, I, D_E, D_I, R, F = variables # varibles is a list with compartment counts as elements N = S + E + I + D_E + D_I + R dS = - (beta*S*I)/N - q*(beta_D*S*D_I)/N + xi*R + nu*N - mu_0*S dE = (beta*S*I)/N + q*(beta_D*S*D_I)/N - sigma*E - theta_E*psi_E*E - mu_0*E dI = sigma*E - gamma*I - mu_I*I - theta_I*psi_I*I - mu_0*I dDE = theta_E*psi_E*E - sigma_D*D_E - mu_0*D_E dDI = theta_I*psi_I*I + sigma_D*D_E - gamma_D*D_I - mu_D*D_I - mu_0*D_I dR = gamma*I + gamma_D*D_I - xi*R - mu_0*R dF = mu_I*I + mu_D*D_I return [dS, dE, dI, dDE, dDI, dR, dF] #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def run_epoch(self, runtime, dt=0.1): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Create a list of times at which the ODE solver should output system values. # Append this list of times as the model's timeseries t_eval = numpy.arange(start=self.t, stop=self.t+runtime, step=dt) # Define the range of time values for the integration: t_span = (self.t, self.t+runtime) # Define the initial conditions as the system's current state: # (which will be the t=0 condition if this is the first run of this model, # else where the last sim left off) init_cond = [self.numS[-1], self.numE[-1], self.numI[-1], self.numD_E[-1], self.numD_I[-1], self.numR[-1], self.numF[-1]] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Solve the system of differential eqns: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ solution = scipy.integrate.solve_ivp(lambda t, X: SEIRSModel.system_dfes(t, X, self.beta, self.sigma, self.gamma, self.xi, self.mu_I, self.mu_0, self.nu, self.beta_D, self.sigma_D, self.gamma_D, self.mu_D, self.theta_E, self.theta_I, self.psi_E, self.psi_I, self.q ), t_span=t_span, y0=init_cond, t_eval=t_eval ) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Store the solution output as the model's time series and data series: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.tseries = numpy.append(self.tseries, solution['t']) self.numS = numpy.append(self.numS, solution['y'][0]) self.numE = numpy.append(self.numE, solution['y'][1]) self.numI = numpy.append(self.numI, solution['y'][2]) self.numD_E = numpy.append(self.numD_E, solution['y'][3]) self.numD_I = numpy.append(self.numD_I, solution['y'][4]) self.numR = numpy.append(self.numR, solution['y'][5]) self.numF = numpy.append(self.numF, solution['y'][6]) self.t = self.tseries[-1] #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def run(self, T, dt=0.1, checkpoints=None, verbose=False): if(T>0): self.tmax += T else: return False #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Pre-process checkpoint values: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(checkpoints): numCheckpoints = len(checkpoints['t']) paramNames = ['beta', 'sigma', 'gamma', 'xi', 'mu_I', 'mu_0', 'nu', 'beta_D', 'sigma_D', 'gamma_D', 'mu_D', 'theta_E', 'theta_I', 'psi_E', 'psi_I', 'q'] for param in paramNames: # For params that don't have given checkpoint values (or bad value given), # set their checkpoint values to the value they have now for all checkpoints. if(param not in list(checkpoints.keys()) or not isinstance(checkpoints[param], (list, numpy.ndarray)) or len(checkpoints[param])!=numCheckpoints): checkpoints[param] = [getattr(self, param)]*numCheckpoints #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Run the simulation loop: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(not checkpoints): self.run_epoch(runtime=self.tmax, dt=dt) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ print("t = %.2f" % self.t) if(verbose): print("\t S = " + str(self.numS[-1])) print("\t E = " + str(self.numE[-1])) print("\t I = " + str(self.numI[-1])) print("\t D_E = " + str(self.numD_E[-1])) print("\t D_I = " + str(self.numD_I[-1])) print("\t R = " + str(self.numR[-1])) print("\t F = " + str(self.numF[-1])) else: # checkpoints provided for checkpointIdx, checkpointTime in enumerate(checkpoints['t']): # Run the sim until the next checkpoint time: self.run_epoch(runtime=checkpointTime-self.t, dt=dt) # Having reached the checkpoint, update applicable parameters: print("[Checkpoint: Updating parameters]") for param in paramNames: setattr(self, param, checkpoints[param][checkpointIdx]) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ print("t = %.2f" % self.t) if(verbose): print("\t S = " + str(self.numS[-1])) print("\t E = " + str(self.numE[-1])) print("\t I = " + str(self.numI[-1])) print("\t D_E = " + str(self.numD_E[-1])) print("\t D_I = " + str(self.numD_I[-1])) print("\t R = " + str(self.numR[-1])) print("\t F = " + str(self.numF[-1])) if(self.t < self.tmax): self.run_epoch(runtime=self.tmax-self.t, dt=dt) return True #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_infections(self, t_idx=None): if(t_idx is None): return (self.numE[:] + self.numI[:] + self.numD_E[:] + self.numD_I[:]) else: return (self.numE[t_idx] + self.numI[t_idx] + self.numD_E[t_idx] + self.numD_I[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def plot(self, ax=None, plot_S='line', plot_E='line', plot_I='line',plot_R='line', plot_F='line', plot_D_E='line', plot_D_I='line', combine_D=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_D_E='mediumorchid', color_D_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True): import matplotlib.pyplot as pyplot #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Create an Axes object if None provided: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(not ax): fig, ax = pyplot.subplots() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Prepare data series to be plotted: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fseries = self.numF/self.N if plot_percentages else self.numF Eseries = self.numE/self.N if plot_percentages else self.numE Dseries = (self.numD_E+self.numD_I)/self.N if plot_percentages else (self.numD_E+self.numD_I) D_Eseries = self.numD_E/self.N if plot_percentages else self.numD_E D_Iseries = self.numD_I/self.N if plot_percentages else self.numD_I Iseries = self.numI/self.N if plot_percentages else self.numI Rseries = self.numR/self.N if plot_percentages else self.numR Sseries = self.numS/self.N if plot_percentages else self.numS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the reference data: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(dashed_reference_results): dashedReference_tseries = dashed_reference_results.tseries[::int(self.N/100)] dashedReference_IDEstack = (dashed_reference_results.numI + dashed_reference_results.numD_I + dashed_reference_results.numD_E + dashed_reference_results.numE)[::int(self.N/100)] / (self.N if plot_percentages else 1) ax.plot(dashedReference_tseries, dashedReference_IDEstack, color='#E0E0E0', linestyle='--', label='$I+D+E$ ('+dashed_reference_label+')', zorder=0) if(shaded_reference_results): shadedReference_tseries = shaded_reference_results.tseries shadedReference_IDEstack = (shaded_reference_results.numI + shaded_reference_results.numD_I + shaded_reference_results.numD_E + shaded_reference_results.numE) / (self.N if plot_percentages else 1) ax.fill_between(shaded_reference_results.tseries, shadedReference_IDEstack, 0, color='#EFEFEF', label='$I+D+E$ ('+shaded_reference_label+')', zorder=0) ax.plot(shaded_reference_results.tseries, shadedReference_IDEstack, color='#E0E0E0', zorder=1) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the stacked variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topstack = numpy.zeros_like(self.tseries) if(any(Fseries) and plot_F=='stacked'): ax.fill_between(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, topstack+Fseries), topstack, color=color_F, alpha=0.5, label='$F$', zorder=2) ax.plot( numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, topstack+Fseries), color=color_F, zorder=3) topstack = topstack+Fseries if(any(Eseries) and plot_E=='stacked'): ax.fill_between(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, topstack+Eseries), topstack, color=color_E, alpha=0.5, label='$E$', zorder=2) ax.plot( numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, topstack+Eseries), color=color_E, zorder=3) topstack = topstack+Eseries if(combine_D and plot_D_E=='stacked' and plot_D_I=='stacked'): ax.fill_between(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, topstack+Dseries), topstack, color=color_D_E, alpha=0.5, label='$D_{all}$', zorder=2) ax.plot( numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, topstack+Dseries), color=color_D_E, zorder=3) topstack = topstack+Dseries else: if(any(D_Eseries) and plot_D_E=='stacked'): ax.fill_between(numpy.ma.masked_where(D_Eseries<=0, self.tseries), numpy.ma.masked_where(D_Eseries<=0, topstack+D_Eseries), topstack, color=color_D_E, alpha=0.5, label='$D_E$', zorder=2) ax.plot( numpy.ma.masked_where(D_Eseries<=0, self.tseries), numpy.ma.masked_where(D_Eseries<=0, topstack+D_Eseries), color=color_D_E, zorder=3) topstack = topstack+D_Eseries if(any(D_Iseries) and plot_D_I=='stacked'): ax.fill_between(numpy.ma.masked_where(D_Iseries<=0, self.tseries), numpy.ma.masked_where(D_Iseries<=0, topstack+D_Iseries), topstack, color=color_D_I, alpha=0.5, label='$D_I$', zorder=2) ax.plot( numpy.ma.masked_where(D_Iseries<=0, self.tseries), numpy.ma.masked_where(D_Iseries<=0, topstack+D_Iseries), color=color_D_I, zorder=3) topstack = topstack+D_Iseries if(any(Iseries) and plot_I=='stacked'): ax.fill_between(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, topstack+Iseries), topstack, color=color_I, alpha=0.5, label='$I$', zorder=2) ax.plot( numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, topstack+Iseries), color=color_I, zorder=3) topstack = topstack+Iseries if(any(Rseries) and plot_R=='stacked'): ax.fill_between(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, topstack+Rseries), topstack, color=color_R, alpha=0.5, label='$R$', zorder=2) ax.plot( numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, topstack+Rseries), color=color_R, zorder=3) topstack = topstack+Rseries if(any(Sseries) and plot_S=='stacked'): ax.fill_between(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, topstack+Sseries), topstack, color=color_S, alpha=0.5, label='$S$', zorder=2) ax.plot( numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, topstack+Sseries), color=color_S, zorder=3) topstack = topstack+Sseries #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the shaded variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(any(Fseries) and plot_F=='shaded'): ax.fill_between(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), 0, color=color_F, alpha=0.5, label='$F$', zorder=4) ax.plot( numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), color=color_F, zorder=5) if(any(Eseries) and plot_E=='shaded'): ax.fill_between(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), 0, color=color_E, alpha=0.5, label='$E$', zorder=4) ax.plot( numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), color=color_E, zorder=5) if(combine_D and (any(Dseries) and plot_D_E=='shaded' and plot_D_E=='shaded')): ax.fill_between(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), 0, color=color_D_E, alpha=0.5, label='$D_{all}$', zorder=4) ax.plot( numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), color=color_D_E, zorder=5) else: if(any(D_Eseries) and plot_D_E=='shaded'): ax.fill_between(numpy.ma.masked_where(D_Eseries<=0, self.tseries), numpy.ma.masked_where(D_Eseries<=0, D_Eseries), 0, color=color_D_E, alpha=0.5, label='$D_E$', zorder=4) ax.plot( numpy.ma.masked_where(D_Eseries<=0, self.tseries), numpy.ma.masked_where(D_Eseries<=0, D_Eseries), color=color_D_E, zorder=5) if(any(D_Iseries) and plot_D_I=='shaded'): ax.fill_between(numpy.ma.masked_where(D_Iseries<=0, self.tseries), numpy.ma.masked_where(D_Iseries<=0, D_Iseries), 0, color=color_D_I, alpha=0.5, label='$D_I$', zorder=4) ax.plot( numpy.ma.masked_where(D_Iseries<=0, self.tseries), numpy.ma.masked_where(D_Iseries<=0, D_Iseries), color=color_D_I, zorder=5) if(any(Iseries) and plot_I=='shaded'): ax.fill_between(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), 0, color=color_I, alpha=0.5, label='$I$', zorder=4) ax.plot( numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), color=color_I, zorder=5) if(any(Sseries) and plot_S=='shaded'): ax.fill_between(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), 0, color=color_S, alpha=0.5, label='$S$', zorder=4) ax.plot( numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), color=color_S, zorder=5) if(any(Rseries) and plot_R=='shaded'): ax.fill_between(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), 0, color=color_R, alpha=0.5, label='$R$', zorder=4) ax.plot( numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), color=color_R, zorder=5) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the line variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(any(Fseries) and plot_F=='line'): ax.plot(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), color=color_F, label='$F$', zorder=6) if(any(Eseries) and plot_E=='line'): ax.plot(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), color=color_E, label='$E$', zorder=6) if(combine_D and (any(Dseries) and plot_D_E=='line' and plot_D_E=='line')): ax.plot(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), color=color_D_E, label='$D_{all}$', zorder=6) else: if(any(D_Eseries) and plot_D_E=='line'): ax.plot(numpy.ma.masked_where(D_Eseries<=0, self.tseries), numpy.ma.masked_where(D_Eseries<=0, D_Eseries), color=color_D_E, label='$D_E$', zorder=6) if(any(D_Iseries) and plot_D_I=='line'): ax.plot(numpy.ma.masked_where(D_Iseries<=0, self.tseries), numpy.ma.masked_where(D_Iseries<=0, D_Iseries), color=color_D_I, label='$D_I$', zorder=6) if(any(Iseries) and plot_I=='line'): ax.plot(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), color=color_I, label='$I$', zorder=6) if(any(Sseries) and plot_S=='line'): ax.plot(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), color=color_S, label='$S$', zorder=6) if(any(Rseries) and plot_R=='line'): ax.plot(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), color=color_R, label='$R$', zorder=6) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the vertical line annotations: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(len(vlines)>0 and len(vline_colors)==0): vline_colors = ['gray']*len(vlines) if(len(vlines)>0 and len(vline_labels)==0): vline_labels = [None]*len(vlines) if(len(vlines)>0 and len(vline_styles)==0): vline_styles = [':']*len(vlines) for vline_x, vline_color, vline_style, vline_label in zip(vlines, vline_colors, vline_styles, vline_labels): if(vline_x is not None): ax.axvline(x=vline_x, color=vline_color, linestyle=vline_style, alpha=1, label=vline_label) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the plot labels: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ax.set_xlabel('days') ax.set_ylabel('percent of population' if plot_percentages else 'number of individuals') ax.set_xlim(0, (max(self.tseries) if not xlim else xlim)) ax.set_ylim(0, ylim) if(plot_percentages): ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()]) if(legend): legend_handles, legend_labels = ax.get_legend_handles_labels() ax.legend(legend_handles[::-1], legend_labels[::-1], loc='upper right', facecolor='white', edgecolor='none', framealpha=0.9, prop={'size': 8}) if(title): ax.set_title(title, size=12) if(side_title): ax.annotate(side_title, (0, 0.5), xytext=(-45, 0), ha='right', va='center', size=12, rotation=90, xycoords='axes fraction', textcoords='offset points') return ax #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def figure_basic(self, plot_S='line', plot_E='line', plot_I='line',plot_R='line', plot_F='line', plot_D_E='line', plot_D_I='line', combine_D=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_D_E='mediumorchid', color_D_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True, figsize=(12,8), use_seaborn=True, show=True): import matplotlib.pyplot as pyplot fig, ax = pyplot.subplots(figsize=figsize) if(use_seaborn): import seaborn seaborn.set_style('ticks') seaborn.despine() self.plot(ax=ax, plot_S=plot_S, plot_E=plot_E, plot_I=plot_I,plot_R=plot_R, plot_F=plot_F, plot_D_E=plot_D_E, plot_D_I=plot_D_I, combine_D=combine_D, color_S=color_S, color_E=color_E, color_I=color_I, color_R=color_R, color_F=color_F, color_D_E=color_D_E, color_D_I=color_D_I, color_reference=color_reference, dashed_reference_results=dashed_reference_results, dashed_reference_label=dashed_reference_label, shaded_reference_results=shaded_reference_results, shaded_reference_label=shaded_reference_label, vlines=vlines, vline_colors=vline_colors, vline_styles=vline_styles, vline_labels=vline_labels, ylim=ylim, xlim=xlim, legend=legend, title=title, side_title=side_title, plot_percentages=plot_percentages) if(show): pyplot.show() return fig, ax #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def figure_infections(self, plot_S=False, plot_E='stacked', plot_I='stacked',plot_R=False, plot_F=False, plot_D_E='stacked', plot_D_I='stacked', combine_D=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_D_E='mediumorchid', color_D_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True, figsize=(12,8), use_seaborn=True, show=True): import matplotlib.pyplot as pyplot fig, ax = pyplot.subplots(figsize=figsize) if(use_seaborn): import seaborn seaborn.set_style('ticks') seaborn.despine() self.plot(ax=ax, plot_S=plot_S, plot_E=plot_E, plot_I=plot_I,plot_R=plot_R, plot_F=plot_F, plot_D_E=plot_D_E, plot_D_I=plot_D_I, combine_D=combine_D, color_S=color_S, color_E=color_E, color_I=color_I, color_R=color_R, color_F=color_F, color_D_E=color_D_E, color_D_I=color_D_I, color_reference=color_reference, dashed_reference_results=dashed_reference_results, dashed_reference_label=dashed_reference_label, shaded_reference_results=shaded_reference_results, shaded_reference_label=shaded_reference_label, vlines=vlines, vline_colors=vline_colors, vline_styles=vline_styles, vline_labels=vline_labels, ylim=ylim, xlim=xlim, legend=legend, title=title, side_title=side_title, plot_percentages=plot_percentages) if(show): pyplot.show() return fig, ax #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% class SEIRSNetworkModel(): """ A class to simulate the SEIRS Stochastic Network Model =================================================== Params: G Network adjacency matrix (numpy array) or Networkx graph object. beta Rate of transmission (exposure) (global) beta_local Rate(s) of transmission (exposure) for adjacent individuals (optional) sigma Rate of infection (upon exposure) gamma Rate of recovery (upon infection) xi Rate of re-susceptibility (upon recovery) mu_I Rate of infection-related death mu_0 Rate of baseline death nu Rate of baseline birth p Probability of interaction outside adjacent nodes Q Quarantine adjacency matrix (numpy array) or Networkx graph object. beta_D Rate of transmission (exposure) for individuals with detected infections (global) beta_local Rate(s) of transmission (exposure) for adjacent individuals with detected infections (optional) sigma_D Rate of infection (upon exposure) for individuals with detected infections gamma_D Rate of recovery (upon infection) for individuals with detected infections mu_D Rate of infection-related death for individuals with detected infections theta_E Rate of baseline testing for exposed individuals theta_I Rate of baseline testing for infectious individuals phi_E Rate of contact tracing testing for exposed individuals phi_I Rate of contact tracing testing for infectious individuals psi_E Probability of positive test results for exposed individuals psi_I Probability of positive test results for exposed individuals q Probability of quarantined individuals interaction outside adjacent nodes initE Init number of exposed individuals initI Init number of infectious individuals initD_E Init number of detected infectious individuals initD_I Init number of detected infectious individuals initR Init number of recovered individuals initF Init number of infection-related fatalities (all remaining nodes initialized susceptible) """ def __init__(self, G, beta, sigma, gamma, xi=0, mu_I=0, mu_0=0, nu=0, beta_local=None, p=0, Q=None, beta_D=None, sigma_D=None, gamma_D=None, mu_D=None, beta_D_local=None, theta_E=0, theta_I=0, phi_E=0, phi_I=0, psi_E=1, psi_I=1, q=0, initE=0, initI=10, initD_E=0, initD_I=0, initR=0, initF=0, node_groups=None, store_Xseries=False): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Setup Adjacency matrix: self.update_G(G) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Setup Quarantine Adjacency matrix: if(Q is None): Q = G # If no Q graph is provided, use G in its place self.update_Q(Q) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Model Parameters: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.parameters = { 'beta':beta, 'sigma':sigma, 'gamma':gamma, 'xi':xi, 'mu_I':mu_I, 'mu_0':mu_0, 'nu':nu, 'beta_D':beta_D, 'sigma_D':sigma_D, 'gamma_D':gamma_D, 'mu_D':mu_D, 'beta_local':beta_local, 'beta_D_local':beta_D_local, 'p':p,'q':q, 'theta_E':theta_E, 'theta_I':theta_I, 'phi_E':phi_E, 'phi_I':phi_I, 'psi_E':psi_E, 'psi_I':psi_I } self.update_parameters() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Each node can undergo up to 4 transitions (sans vitality/re-susceptibility returns to S state), # so there are ~numNodes*4 events/timesteps expected; initialize numNodes*5 timestep slots to start # (will be expanded during run if needed) self.tseries = numpy.zeros(5*self.numNodes) self.numE = numpy.zeros(5*self.numNodes) self.numI = numpy.zeros(5*self.numNodes) self.numD_E = numpy.zeros(5*self.numNodes) self.numD_I = numpy.zeros(5*self.numNodes) self.numR = numpy.zeros(5*self.numNodes) self.numF = numpy.zeros(5*self.numNodes) self.numS = numpy.zeros(5*self.numNodes) self.N = numpy.zeros(5*self.numNodes) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize Timekeeping: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.t = 0 self.tmax = 0 # will be set when run() is called self.tidx = 0 self.tseries[0] = 0 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize Counts of inidividuals with each state: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.numE[0] = int(initE) self.numI[0] = int(initI) self.numD_E[0] = int(initD_E) self.numD_I[0] = int(initD_I) self.numR[0] = int(initR) self.numF[0] = int(initF) self.numS[0] = self.numNodes - self.numE[0] - self.numI[0] - self.numD_E[0] - self.numD_I[0] - self.numR[0] - self.numF[0] self.N[0] = self.numS[0] + self.numE[0] + self.numI[0] + self.numD_E[0] + self.numD_I[0] + self.numR[0] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Node states: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.S = 1 self.E = 2 self.I = 3 self.D_E = 4 self.D_I = 5 self.R = 6 self.F = 7 self.X = numpy.array([self.S]*int(self.numS[0]) + [self.E]*int(self.numE[0]) + [self.I]*int(self.numI[0]) + [self.D_E]*int(self.numD_E[0]) + [self.D_I]*int(self.numD_I[0]) + [self.R]*int(self.numR[0]) + [self.F]*int(self.numF[0])).reshape((self.numNodes,1)) numpy.random.shuffle(self.X) self.store_Xseries = store_Xseries if(store_Xseries): self.Xseries = numpy.zeros(shape=(5*self.numNodes, self.numNodes), dtype='uint8') self.Xseries[0,:] = self.X.T self.transitions = { 'StoE': {'currentState':self.S, 'newState':self.E}, 'EtoI': {'currentState':self.E, 'newState':self.I}, 'ItoR': {'currentState':self.I, 'newState':self.R}, 'ItoF': {'currentState':self.I, 'newState':self.F}, 'RtoS': {'currentState':self.R, 'newState':self.S}, 'EtoDE': {'currentState':self.E, 'newState':self.D_E}, 'ItoDI': {'currentState':self.I, 'newState':self.D_I}, 'DEtoDI': {'currentState':self.D_E, 'newState':self.D_I}, 'DItoR': {'currentState':self.D_I, 'newState':self.R}, 'DItoF': {'currentState':self.D_I, 'newState':self.F}, '_toS': {'currentState':True, 'newState':self.S}, } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize node subgroup data series: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.nodeGroupData = None if(node_groups): self.nodeGroupData = {} for groupName, nodeList in node_groups.items(): self.nodeGroupData[groupName] = {'nodes': numpy.array(nodeList), 'mask': numpy.isin(range(self.numNodes), nodeList).reshape((self.numNodes,1))} self.nodeGroupData[groupName]['numS'] = numpy.zeros(5*self.numNodes) self.nodeGroupData[groupName]['numE'] = numpy.zeros(5*self.numNodes) self.nodeGroupData[groupName]['numI'] = numpy.zeros(5*self.numNodes) self.nodeGroupData[groupName]['numD_E'] = numpy.zeros(5*self.numNodes) self.nodeGroupData[groupName]['numD_I'] = numpy.zeros(5*self.numNodes) self.nodeGroupData[groupName]['numR'] = numpy.zeros(5*self.numNodes) self.nodeGroupData[groupName]['numF'] = numpy.zeros(5*self.numNodes) self.nodeGroupData[groupName]['N'] = numpy.zeros(5*self.numNodes) self.nodeGroupData[groupName]['numS'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.S) self.nodeGroupData[groupName]['numE'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.E) self.nodeGroupData[groupName]['numI'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.I) self.nodeGroupData[groupName]['numD_E'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.D_E) self.nodeGroupData[groupName]['numD_I'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.D_I) self.nodeGroupData[groupName]['numR'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.R) self.nodeGroupData[groupName]['numF'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.F) self.nodeGroupData[groupName]['N'][0] = self.nodeGroupData[groupName]['numS'][0] + self.nodeGroupData[groupName]['numE'][0] + self.nodeGroupData[groupName]['numI'][0] + self.nodeGroupData[groupName]['numD_E'][0] + self.nodeGroupData[groupName]['numD_I'][0] + self.nodeGroupData[groupName]['numR'][0] #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def update_parameters(self): import time updatestart = time.time() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Model parameters: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.beta = numpy.array(self.parameters['beta']).reshape((self.numNodes, 1)) if isinstance(self.parameters['beta'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta'], shape=(self.numNodes,1)) self.sigma = numpy.array(self.parameters['sigma']).reshape((self.numNodes, 1)) if isinstance(self.parameters['sigma'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['sigma'], shape=(self.numNodes,1)) self.gamma = numpy.array(self.parameters['gamma']).reshape((self.numNodes, 1)) if isinstance(self.parameters['gamma'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['gamma'], shape=(self.numNodes,1)) self.xi = numpy.array(self.parameters['xi']).reshape((self.numNodes, 1)) if isinstance(self.parameters['xi'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['xi'], shape=(self.numNodes,1)) self.mu_I = numpy.array(self.parameters['mu_I']).reshape((self.numNodes, 1)) if isinstance(self.parameters['mu_I'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['mu_I'], shape=(self.numNodes,1)) self.mu_0 = numpy.array(self.parameters['mu_0']).reshape((self.numNodes, 1)) if isinstance(self.parameters['mu_0'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['mu_0'], shape=(self.numNodes,1)) self.nu = numpy.array(self.parameters['nu']).reshape((self.numNodes, 1)) if isinstance(self.parameters['nu'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['nu'], shape=(self.numNodes,1)) self.p = numpy.array(self.parameters['p']).reshape((self.numNodes, 1)) if isinstance(self.parameters['p'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['p'], shape=(self.numNodes,1)) # Testing-related parameters: self.beta_D = (numpy.array(self.parameters['beta_D']).reshape((self.numNodes, 1)) if isinstance(self.parameters['beta_D'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta_D'], shape=(self.numNodes,1))) if self.parameters['beta_D'] is not None else self.beta self.sigma_D = (numpy.array(self.parameters['sigma_D']).reshape((self.numNodes, 1)) if isinstance(self.parameters['sigma_D'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['sigma_D'], shape=(self.numNodes,1))) if self.parameters['sigma_D'] is not None else self.sigma self.gamma_D = (numpy.array(self.parameters['gamma_D']).reshape((self.numNodes, 1)) if isinstance(self.parameters['gamma_D'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['gamma_D'], shape=(self.numNodes,1))) if self.parameters['gamma_D'] is not None else self.gamma self.mu_D = (numpy.array(self.parameters['mu_D']).reshape((self.numNodes, 1)) if isinstance(self.parameters['mu_D'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['mu_D'], shape=(self.numNodes,1))) if self.parameters['mu_D'] is not None else self.mu_I self.theta_E = numpy.array(self.parameters['theta_E']).reshape((self.numNodes, 1)) if isinstance(self.parameters['theta_E'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['theta_E'], shape=(self.numNodes,1)) self.theta_I = numpy.array(self.parameters['theta_I']).reshape((self.numNodes, 1)) if isinstance(self.parameters['theta_I'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['theta_I'], shape=(self.numNodes,1)) self.phi_E = numpy.array(self.parameters['phi_E']).reshape((self.numNodes, 1)) if isinstance(self.parameters['phi_E'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['phi_E'], shape=(self.numNodes,1)) self.phi_I = numpy.array(self.parameters['phi_I']).reshape((self.numNodes, 1)) if isinstance(self.parameters['phi_I'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['phi_I'], shape=(self.numNodes,1)) self.psi_E = numpy.array(self.parameters['psi_E']).reshape((self.numNodes, 1)) if isinstance(self.parameters['psi_E'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['psi_E'], shape=(self.numNodes,1)) self.psi_I = numpy.array(self.parameters['psi_I']).reshape((self.numNodes, 1)) if isinstance(self.parameters['psi_I'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['psi_I'], shape=(self.numNodes,1)) self.q = numpy.array(self.parameters['q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['q'], shape=(self.numNodes,1)) #Local transmission parameters: if(self.parameters['beta_local'] is not None): if(isinstance(self.parameters['beta_local'], (list, numpy.ndarray))): if(isinstance(self.parameters['beta_local'], list)): self.beta_local = numpy.array(self.parameters['beta_local']) else: # is numpy.ndarray self.beta_local = self.parameters['beta_local'] if(self.beta_local.ndim == 1): self.beta_local.reshape((self.numNodes, 1)) elif(self.beta_local.ndim == 2): self.beta_local.reshape((self.numNodes, self.numNodes)) else: self.beta_local = numpy.full_like(self.beta, fill_value=self.parameters['beta_local']) else: self.beta_local = self.beta #---------------------------------------- if(self.parameters['beta_D_local'] is not None): if(isinstance(self.parameters['beta_D_local'], (list, numpy.ndarray))): if(isinstance(self.parameters['beta_D_local'], list)): self.beta_D_local = numpy.array(self.parameters['beta_D_local']) else: # is numpy.ndarray self.beta_D_local = self.parameters['beta_D_local'] if(self.beta_D_local.ndim == 1): self.beta_D_local.reshape((self.numNodes, 1)) elif(self.beta_D_local.ndim == 2): self.beta_D_local.reshape((self.numNodes, self.numNodes)) else: self.beta_D_local = numpy.full_like(self.beta_D, fill_value=self.parameters['beta_D_local']) else: self.beta_D_local = self.beta_D # Pre-multiply beta values by the adjacency matrix ("transmission weight connections") if(self.beta_local.ndim == 1): self.A_beta = scipy.sparse.csr_matrix.multiply(self.A, numpy.tile(self.beta_local, (1,self.numNodes))).tocsr() elif(self.beta_local.ndim == 2): self.A_beta = scipy.sparse.csr_matrix.multiply(self.A, self.beta_local).tocsr() # Pre-multiply beta_D values by the quarantine adjacency matrix ("transmission weight connections") if(self.beta_D_local.ndim == 1): self.A_Q_beta_D = scipy.sparse.csr_matrix.multiply(self.A_Q, numpy.tile(self.beta_D_local, (1,self.numNodes))).tocsr() elif(self.beta_D_local.ndim == 2): self.A_Q_beta_D = scipy.sparse.csr_matrix.multiply(self.A_Q, self.beta_D_local).tocsr() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Update scenario flags: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.update_scenario_flags() #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def node_degrees(self, Amat): return Amat.sum(axis=0).reshape(self.numNodes,1) # sums of adj matrix cols #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def update_G(self, new_G): self.G = new_G # Adjacency matrix: if type(new_G)==numpy.ndarray: self.A = scipy.sparse.csr_matrix(new_G) elif type(new_G)==networkx.classes.graph.Graph: self.A = networkx.adj_matrix(new_G) # adj_matrix gives scipy.sparse csr_matrix else: raise BaseException("Input an adjacency matrix or networkx object only.") self.numNodes = int(self.A.shape[1]) self.degree = numpy.asarray(self.node_degrees(self.A)).astype(float) return #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def update_Q(self, new_Q): self.Q = new_Q # Quarantine Adjacency matrix: if type(new_Q)==numpy.ndarray: self.A_Q = scipy.sparse.csr_matrix(new_Q) elif type(new_Q)==networkx.classes.graph.Graph: self.A_Q = networkx.adj_matrix(new_Q) # adj_matrix gives scipy.sparse csr_matrix else: raise BaseException("Input an adjacency matrix or networkx object only.") self.numNodes_Q = int(self.A_Q.shape[1]) self.degree_Q = numpy.asarray(self.node_degrees(self.A_Q)).astype(float) assert(self.numNodes == self.numNodes_Q), "The normal and quarantine adjacency graphs must be of the same size." return #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def update_scenario_flags(self): self.testing_scenario = ( (numpy.any(self.psi_I) and (numpy.any(self.theta_I) or numpy.any(self.phi_I))) or (numpy.any(self.psi_E) and (numpy.any(self.theta_E) or numpy.any(self.phi_E))) ) self.tracing_scenario = ( (numpy.any(self.psi_E) and numpy.any(self.phi_E)) or (numpy.any(self.psi_I) and numpy.any(self.phi_I)) ) self.vitality_scenario = (numpy.any(self.mu_0) and numpy.any(self.nu)) self.resusceptibility_scenario = (numpy.any(self.xi)) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_infections(self, t_idx=None): if(t_idx is None): return (self.numE[:] + self.numI[:] + self.numD_E[:] + self.numD_I[:]) else: return (self.numE[t_idx] + self.numI[t_idx] + self.numD_E[t_idx] + self.numD_I[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def calc_propensities(self): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Pre-calculate matrix multiplication terms that may be used in multiple propensity calculations, # and check to see if their computation is necessary before doing the multiplication transmissionTerms_I = numpy.zeros(shape=(self.numNodes,1)) if(numpy.any(self.numI[self.tidx]) and numpy.any(self.beta!=0)): transmissionTerms_I = numpy.asarray( scipy.sparse.csr_matrix.dot(self.A_beta, self.X==self.I) ) transmissionTerms_DI = numpy.zeros(shape=(self.numNodes,1)) if(self.testing_scenario and numpy.any(self.numD_I[self.tidx]) and numpy.any(self.beta_D)): transmissionTerms_DI = numpy.asarray( scipy.sparse.csr_matrix.dot(self.A_Q_beta_D, self.X==self.D_I) ) numContacts_D = numpy.zeros(shape=(self.numNodes,1)) if(self.tracing_scenario and (numpy.any(self.numD_E[self.tidx]) or numpy.any(self.numD_I[self.tidx]))): numContacts_D = numpy.asarray( scipy.sparse.csr_matrix.dot( self.A, ((self.X==self.D_E)|(self.X==self.D_I)) ) ) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ propensities_StoE = ( self.p*((self.beta*self.numI[self.tidx] + self.q*self.beta_D*self.numD_I[self.tidx])/self.N[self.tidx]) + (1-self.p)*numpy.divide((transmissionTerms_I + transmissionTerms_DI), self.degree, out=numpy.zeros_like(self.degree), where=self.degree!=0) )*(self.X==self.S) propensities_EtoI = self.sigma*(self.X==self.E) propensities_ItoR = self.gamma*(self.X==self.I) propensities_ItoF = self.mu_I*(self.X==self.I) # propensities_EtoDE = ( self.theta_E + numpy.divide((self.phi_E*numContacts_D), self.degree, out=numpy.zeros_like(self.degree), where=self.degree!=0) )*self.psi_E*(self.X==self.E) propensities_EtoDE = (self.theta_E + self.phi_E*numContacts_D)*self.psi_E*(self.X==self.E) # propensities_ItoDI = ( self.theta_I + numpy.divide((self.phi_I*numContacts_D), self.degree, out=numpy.zeros_like(self.degree), where=self.degree!=0) )*self.psi_I*(self.X==self.I) propensities_ItoDI = (self.theta_I + self.phi_I*numContacts_D)*self.psi_I*(self.X==self.I) propensities_DEtoDI = self.sigma_D*(self.X==self.D_E) propensities_DItoR = self.gamma_D*(self.X==self.D_I) propensities_DItoF = self.mu_D*(self.X==self.D_I) propensities_RtoS = self.xi*(self.X==self.R) propensities__toS = self.nu*(self.X!=self.F) propensities = numpy.hstack([propensities_StoE, propensities_EtoI, propensities_ItoR, propensities_ItoF, propensities_EtoDE, propensities_ItoDI, propensities_DEtoDI, propensities_DItoR, propensities_DItoF, propensities_RtoS, propensities__toS]) columns = ['StoE', 'EtoI', 'ItoR', 'ItoF', 'EtoDE', 'ItoDI', 'DEtoDI', 'DItoR', 'DItoF', 'RtoS', '_toS'] return propensities, columns #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def increase_data_series_length(self): self.tseries= numpy.pad(self.tseries, [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.numS = numpy.pad(self.numS, [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.numE = numpy.pad(self.numE, [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.numI = numpy.pad(self.numI, [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.numD_E = numpy.pad(self.numD_E, [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.numD_I = numpy.pad(self.numD_I, [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.numR = numpy.pad(self.numR, [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.numF = numpy.pad(self.numF, [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.N = numpy.pad(self.N, [(0, 5*self.numNodes)], mode='constant', constant_values=0) if(self.store_Xseries): self.Xseries = numpy.pad(self.Xseries, [(0, 5*self.numNodes), (0,0)], mode='constant', constant_values=0) if(self.nodeGroupData): for groupName in self.nodeGroupData: self.nodeGroupData[groupName]['numS'] = numpy.pad(self.nodeGroupData[groupName]['numS'], [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numE'] = numpy.pad(self.nodeGroupData[groupName]['numE'], [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numI'] = numpy.pad(self.nodeGroupData[groupName]['numI'], [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numD_E'] = numpy.pad(self.nodeGroupData[groupName]['numD_E'], [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numD_I'] = numpy.pad(self.nodeGroupData[groupName]['numD_I'], [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numR'] = numpy.pad(self.nodeGroupData[groupName]['numR'], [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numF'] = numpy.pad(self.nodeGroupData[groupName]['numF'], [(0, 5*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['N'] = numpy.pad(self.nodeGroupData[groupName]['N'], [(0, 5*self.numNodes)], mode='constant', constant_values=0) return None #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def finalize_data_series(self): self.tseries= numpy.array(self.tseries, dtype=float)[:self.tidx+1] self.numS = numpy.array(self.numS, dtype=float)[:self.tidx+1] self.numE = numpy.array(self.numE, dtype=float)[:self.tidx+1] self.numI = numpy.array(self.numI, dtype=float)[:self.tidx+1] self.numD_E = numpy.array(self.numD_E, dtype=float)[:self.tidx+1] self.numD_I = numpy.array(self.numD_I, dtype=float)[:self.tidx+1] self.numR = numpy.array(self.numR, dtype=float)[:self.tidx+1] self.numF = numpy.array(self.numF, dtype=float)[:self.tidx+1] self.N = numpy.array(self.N, dtype=float)[:self.tidx+1] if(self.store_Xseries): self.Xseries = self.Xseries[:self.tidx+1, :] if(self.nodeGroupData): for groupName in self.nodeGroupData: self.nodeGroupData[groupName]['numS'] = numpy.array(self.nodeGroupData[groupName]['numS'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numE'] = numpy.array(self.nodeGroupData[groupName]['numE'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numI'] = numpy.array(self.nodeGroupData[groupName]['numI'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numD_E'] = numpy.array(self.nodeGroupData[groupName]['numD_E'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numD_I'] = numpy.array(self.nodeGroupData[groupName]['numD_I'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numR'] = numpy.array(self.nodeGroupData[groupName]['numR'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numF'] = numpy.array(self.nodeGroupData[groupName]['numF'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['N'] = numpy.array(self.nodeGroupData[groupName]['N'], dtype=float)[:self.tidx+1] return None #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def run_iteration(self): if(self.tidx >= len(self.tseries)-1): # Room has run out in the timeseries storage arrays; double the size of these arrays: self.increase_data_series_length() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 1. Generate 2 random numbers uniformly distributed in (0,1) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r1 = numpy.random.rand() r2 = numpy.random.rand() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 2. Calculate propensities #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ propensities, transitionTypes = self.calc_propensities() # Terminate when probability of all events is 0: if(propensities.sum() <= 0.0): self.finalize_data_series() return False #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 3. Calculate alpha #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ propensities_flat = propensities.ravel(order='F') cumsum = propensities_flat.cumsum() alpha = propensities_flat.sum() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 4. Compute the time until the next event takes place #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tau = (1/alpha)*numpy.log(float(1/r1)) self.t += tau #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 5. Compute which event takes place #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ transitionIdx = numpy.searchsorted(cumsum,r2*alpha) transitionNode = transitionIdx % self.numNodes transitionType = transitionTypes[ int(transitionIdx/self.numNodes) ] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 6. Update node states and data series #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ assert(self.X[transitionNode] == self.transitions[transitionType]['currentState'] and self.X[transitionNode]!=self.F), "Assertion error: Node "+str(transitionNode)+" has unexpected current state "+str(self.X[transitionNode])+" given the intended transition of "+str(transitionType)+"." self.X[transitionNode] = self.transitions[transitionType]['newState'] self.tidx += 1 self.tseries[self.tidx] = self.t self.numS[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.S), a_min=0, a_max=self.numNodes) self.numE[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.E), a_min=0, a_max=self.numNodes) self.numI[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.I), a_min=0, a_max=self.numNodes) self.numD_E[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.D_E), a_min=0, a_max=self.numNodes) self.numD_I[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.D_I), a_min=0, a_max=self.numNodes) self.numR[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.R), a_min=0, a_max=self.numNodes) self.numF[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.F), a_min=0, a_max=self.numNodes) self.N[self.tidx] = numpy.clip((self.numS[self.tidx] + self.numE[self.tidx] + self.numI[self.tidx] + self.numD_E[self.tidx] + self.numD_I[self.tidx] + self.numR[self.tidx]), a_min=0, a_max=self.numNodes) if(self.store_Xseries): self.Xseries[self.tidx,:] = self.X.T if(self.nodeGroupData): for groupName in self.nodeGroupData: self.nodeGroupData[groupName]['numS'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.S) self.nodeGroupData[groupName]['numE'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.E) self.nodeGroupData[groupName]['numI'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.I) self.nodeGroupData[groupName]['numD_E'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.D_E) self.nodeGroupData[groupName]['numD_I'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.D_I) self.nodeGroupData[groupName]['numR'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.R) self.nodeGroupData[groupName]['numF'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.F) self.nodeGroupData[groupName]['N'][self.tidx] = numpy.clip((self.nodeGroupData[groupName]['numS'][0] + self.nodeGroupData[groupName]['numE'][0] + self.nodeGroupData[groupName]['numI'][0] + self.nodeGroupData[groupName]['numD_E'][0] + self.nodeGroupData[groupName]['numD_I'][0] + self.nodeGroupData[groupName]['numR'][0]), a_min=0, a_max=self.numNodes) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Terminate if tmax reached or num infectious and num exposed is 0: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(self.t >= self.tmax or (self.numI[self.tidx]<1 and self.numE[self.tidx]<1 and self.numD_E[self.tidx]<1 and self.numD_I[self.tidx]<1)): self.finalize_data_series() return False #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ return True #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def run(self, T, checkpoints=None, print_interval=10, verbose='t'): if(T>0): self.tmax += T else: return False #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Pre-process checkpoint values: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(checkpoints): numCheckpoints = len(checkpoints['t']) for chkpt_param, chkpt_values in checkpoints.items(): assert(isinstance(chkpt_values, (list, numpy.ndarray)) and len(chkpt_values)==numCheckpoints), "Expecting a list of values with length equal to number of checkpoint times ("+str(numCheckpoints)+") for each checkpoint parameter." checkpointIdx = numpy.searchsorted(checkpoints['t'], self.t) # Finds 1st index in list greater than given val if(checkpointIdx >= numCheckpoints): # We are out of checkpoints, stop checking them: checkpoints = None else: checkpointTime = checkpoints['t'][checkpointIdx] #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Run the simulation loop: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% print_reset = True running = True while running: running = self.run_iteration() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Handle checkpoints if applicable: if(checkpoints): if(self.t >= checkpointTime): if(verbose is not False): print("[Checkpoint: Updating parameters]") # A checkpoint has been reached, update param values: if('G' in list(checkpoints.keys())): self.update_G(checkpoints['G'][checkpointIdx]) if('Q' in list(checkpoints.keys())): self.update_Q(checkpoints['Q'][checkpointIdx]) for param in list(self.parameters.keys()): if(param in list(checkpoints.keys())): self.parameters.update({param: checkpoints[param][checkpointIdx]}) # Update parameter data structures and scenario flags: self.update_parameters() # Update the next checkpoint time: checkpointIdx = numpy.searchsorted(checkpoints['t'], self.t) # Finds 1st index in list greater than given val if(checkpointIdx >= numCheckpoints): # We are out of checkpoints, stop checking them: checkpoints = None else: checkpointTime = checkpoints['t'][checkpointIdx] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(print_interval): if(print_reset and (int(self.t) % print_interval == 0)): if(verbose=="t"): print("t = %.2f" % self.t) if(verbose==True): print("t = %.2f" % self.t) print("\t S = " + str(self.numS[self.tidx])) print("\t E = " + str(self.numE[self.tidx])) print("\t I = " + str(self.numI[self.tidx])) print("\t D_E = " + str(self.numD_E[self.tidx])) print("\t D_I = " + str(self.numD_I[self.tidx])) print("\t R = " + str(self.numR[self.tidx])) print("\t F = " + str(self.numF[self.tidx])) print_reset = False elif(not print_reset and (int(self.t) % 10 != 0)): print_reset = True return True #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def plot(self, ax=None, plot_S='line', plot_E='line', plot_I='line',plot_R='line', plot_F='line', plot_D_E='line', plot_D_I='line', combine_D=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_D_E='mediumorchid', color_D_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True): import matplotlib.pyplot as pyplot #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Create an Axes object if None provided: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(not ax): fig, ax = pyplot.subplots() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Prepare data series to be plotted: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fseries = self.numF/self.numNodes if plot_percentages else self.numF Eseries = self.numE/self.numNodes if plot_percentages else self.numE Dseries = (self.numD_E+self.numD_I)/self.numNodes if plot_percentages else (self.numD_E+self.numD_I) D_Eseries = self.numD_E/self.numNodes if plot_percentages else self.numD_E D_Iseries = self.numD_I/self.numNodes if plot_percentages else self.numD_I Iseries = self.numI/self.numNodes if plot_percentages else self.numI Rseries = self.numR/self.numNodes if plot_percentages else self.numR Sseries = self.numS/self.numNodes if plot_percentages else self.numS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the reference data: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(dashed_reference_results): dashedReference_tseries = dashed_reference_results.tseries[::int(self.numNodes/100)] dashedReference_IDEstack = (dashed_reference_results.numI + dashed_reference_results.numD_I + dashed_reference_results.numD_E + dashed_reference_results.numE)[::int(self.numNodes/100)] / (self.numNodes if plot_percentages else 1) ax.plot(dashedReference_tseries, dashedReference_IDEstack, color='#E0E0E0', linestyle='--', label='$I+D+E$ ('+dashed_reference_label+')', zorder=0) if(shaded_reference_results): shadedReference_tseries = shaded_reference_results.tseries shadedReference_IDEstack = (shaded_reference_results.numI + shaded_reference_results.numD_I + shaded_reference_results.numD_E + shaded_reference_results.numE) / (self.numNodes if plot_percentages else 1) ax.fill_between(shaded_reference_results.tseries, shadedReference_IDEstack, 0, color='#EFEFEF', label='$I+D+E$ ('+shaded_reference_label+')', zorder=0) ax.plot(shaded_reference_results.tseries, shadedReference_IDEstack, color='#E0E0E0', zorder=1) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the stacked variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topstack = numpy.zeros_like(self.tseries) if(any(Fseries) and plot_F=='stacked'): ax.fill_between(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, topstack+Fseries), topstack, color=color_F, alpha=0.5, label='$F$', zorder=2) ax.plot( numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, topstack+Fseries), color=color_F, zorder=3) topstack = topstack+Fseries if(any(Eseries) and plot_E=='stacked'): ax.fill_between(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, topstack+Eseries), topstack, color=color_E, alpha=0.5, label='$E$', zorder=2) ax.plot( numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, topstack+Eseries), color=color_E, zorder=3) topstack = topstack+Eseries if(combine_D and plot_D_E=='stacked' and plot_D_I=='stacked'): ax.fill_between(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, topstack+Dseries), topstack, color=color_D_E, alpha=0.5, label='$D_{all}$', zorder=2) ax.plot( numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, topstack+Dseries), color=color_D_E, zorder=3) topstack = topstack+Dseries else: if(any(D_Eseries) and plot_D_E=='stacked'): ax.fill_between(numpy.ma.masked_where(D_Eseries<=0, self.tseries), numpy.ma.masked_where(D_Eseries<=0, topstack+D_Eseries), topstack, color=color_D_E, alpha=0.5, label='$D_E$', zorder=2) ax.plot( numpy.ma.masked_where(D_Eseries<=0, self.tseries), numpy.ma.masked_where(D_Eseries<=0, topstack+D_Eseries), color=color_D_E, zorder=3) topstack = topstack+D_Eseries if(any(D_Iseries) and plot_D_I=='stacked'): ax.fill_between(numpy.ma.masked_where(D_Iseries<=0, self.tseries), numpy.ma.masked_where(D_Iseries<=0, topstack+D_Iseries), topstack, color=color_D_I, alpha=0.5, label='$D_I$', zorder=2) ax.plot( numpy.ma.masked_where(D_Iseries<=0, self.tseries), numpy.ma.masked_where(D_Iseries<=0, topstack+D_Iseries), color=color_D_I, zorder=3) topstack = topstack+D_Iseries if(any(Iseries) and plot_I=='stacked'): ax.fill_between(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, topstack+Iseries), topstack, color=color_I, alpha=0.5, label='$I$', zorder=2) ax.plot( numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, topstack+Iseries), color=color_I, zorder=3) topstack = topstack+Iseries if(any(Rseries) and plot_R=='stacked'): ax.fill_between(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, topstack+Rseries), topstack, color=color_R, alpha=0.5, label='$R$', zorder=2) ax.plot( numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, topstack+Rseries), color=color_R, zorder=3) topstack = topstack+Rseries if(any(Sseries) and plot_S=='stacked'): ax.fill_between(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, topstack+Sseries), topstack, color=color_S, alpha=0.5, label='$S$', zorder=2) ax.plot( numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, topstack+Sseries), color=color_S, zorder=3) topstack = topstack+Sseries #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the shaded variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(any(Fseries) and plot_F=='shaded'): ax.fill_between(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), 0, color=color_F, alpha=0.5, label='$F$', zorder=4) ax.plot( numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), color=color_F, zorder=5) if(any(Eseries) and plot_E=='shaded'): ax.fill_between(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), 0, color=color_E, alpha=0.5, label='$E$', zorder=4) ax.plot( numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), color=color_E, zorder=5) if(combine_D and (any(Dseries) and plot_D_E=='shaded' and plot_D_I=='shaded')): ax.fill_between(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), 0, color=color_D_E, alpha=0.5, label='$D_{all}$', zorder=4) ax.plot( numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), color=color_D_E, zorder=5) else: if(any(D_Eseries) and plot_D_E=='shaded'): ax.fill_between(numpy.ma.masked_where(D_Eseries<=0, self.tseries), numpy.ma.masked_where(D_Eseries<=0, D_Eseries), 0, color=color_D_E, alpha=0.5, label='$D_E$', zorder=4) ax.plot( numpy.ma.masked_where(D_Eseries<=0, self.tseries), numpy.ma.masked_where(D_Eseries<=0, D_Eseries), color=color_D_E, zorder=5) if(any(D_Iseries) and plot_D_I=='shaded'): ax.fill_between(numpy.ma.masked_where(D_Iseries<=0, self.tseries), numpy.ma.masked_where(D_Iseries<=0, D_Iseries), 0, color=color_D_I, alpha=0.5, label='$D_I$', zorder=4) ax.plot( numpy.ma.masked_where(D_Iseries<=0, self.tseries), numpy.ma.masked_where(D_Iseries<=0, D_Iseries), color=color_D_I, zorder=5) if(any(Iseries) and plot_I=='shaded'): ax.fill_between(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), 0, color=color_I, alpha=0.5, label='$I$', zorder=4) ax.plot( numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), color=color_I, zorder=5) if(any(Sseries) and plot_S=='shaded'): ax.fill_between(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), 0, color=color_S, alpha=0.5, label='$S$', zorder=4) ax.plot( numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), color=color_S, zorder=5) if(any(Rseries) and plot_R=='shaded'): ax.fill_between(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), 0, color=color_R, alpha=0.5, label='$R$', zorder=4) ax.plot( numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), color=color_R, zorder=5) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the line variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(any(Fseries) and plot_F=='line'): ax.plot(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), color=color_F, label='$F$', zorder=6) if(any(Eseries) and plot_E=='line'): ax.plot(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), color=color_E, label='$E$', zorder=6) if(combine_D and (any(Dseries) and plot_D_E=='line' and plot_D_I=='line')): ax.plot(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), color=color_D_E, label='$D_{all}$', zorder=6) else: if(any(D_Eseries) and plot_D_E=='line'): ax.plot(numpy.ma.masked_where(D_Eseries<=0, self.tseries), numpy.ma.masked_where(D_Eseries<=0, D_Eseries), color=color_D_E, label='$D_E$', zorder=6) if(any(D_Iseries) and plot_D_I=='line'): ax.plot(numpy.ma.masked_where(D_Iseries<=0, self.tseries), numpy.ma.masked_where(D_Iseries<=0, D_Iseries), color=color_D_I, label='$D_I$', zorder=6) if(any(Iseries) and plot_I=='line'): ax.plot(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), color=color_I, label='$I$', zorder=6) if(any(Sseries) and plot_S=='line'): ax.plot(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), color=color_S, label='$S$', zorder=6) if(any(Rseries) and plot_R=='line'): ax.plot(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), color=color_R, label='$R$', zorder=6) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the vertical line annotations: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(len(vlines)>0 and len(vline_colors)==0): vline_colors = ['gray']*len(vlines) if(len(vlines)>0 and len(vline_labels)==0): vline_labels = [None]*len(vlines) if(len(vlines)>0 and len(vline_styles)==0): vline_styles = [':']*len(vlines) for vline_x, vline_color, vline_style, vline_label in zip(vlines, vline_colors, vline_styles, vline_labels): if(vline_x is not None): ax.axvline(x=vline_x, color=vline_color, linestyle=vline_style, alpha=1, label=vline_label) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the plot labels: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ax.set_xlabel('days') ax.set_ylabel('percent of population' if plot_percentages else 'number of individuals') ax.set_xlim(0, (max(self.tseries) if not xlim else xlim)) ax.set_ylim(0, ylim) if(plot_percentages): ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()]) if(legend): legend_handles, legend_labels = ax.get_legend_handles_labels() ax.legend(legend_handles[::-1], legend_labels[::-1], loc='upper right', facecolor='white', edgecolor='none', framealpha=0.9, prop={'size': 8}) if(title): ax.set_title(title, size=12) if(side_title): ax.annotate(side_title, (0, 0.5), xytext=(-45, 0), ha='right', va='center', size=12, rotation=90, xycoords='axes fraction', textcoords='offset points') return ax #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def figure_basic(self, plot_S='line', plot_E='line', plot_I='line',plot_R='line', plot_F='line', plot_D_E='line', plot_D_I='line', combine_D=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_D_E='mediumorchid', color_D_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True, figsize=(12,8), use_seaborn=True, show=True): import matplotlib.pyplot as pyplot fig, ax = pyplot.subplots(figsize=figsize) if(use_seaborn): import seaborn seaborn.set_style('ticks') seaborn.despine() self.plot(ax=ax, plot_S=plot_S, plot_E=plot_E, plot_I=plot_I,plot_R=plot_R, plot_F=plot_F, plot_D_E=plot_D_E, plot_D_I=plot_D_I, combine_D=combine_D, color_S=color_S, color_E=color_E, color_I=color_I, color_R=color_R, color_F=color_F, color_D_E=color_D_E, color_D_I=color_D_I, color_reference=color_reference, dashed_reference_results=dashed_reference_results, dashed_reference_label=dashed_reference_label, shaded_reference_results=shaded_reference_results, shaded_reference_label=shaded_reference_label, vlines=vlines, vline_colors=vline_colors, vline_styles=vline_styles, vline_labels=vline_labels, ylim=ylim, xlim=xlim, legend=legend, title=title, side_title=side_title, plot_percentages=plot_percentages) if(show): pyplot.show() return fig, ax #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def figure_infections(self, plot_S=False, plot_E='stacked', plot_I='stacked',plot_R=False, plot_F=False, plot_D_E='stacked', plot_D_I='stacked', combine_D=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_D_E='mediumorchid', color_D_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True, figsize=(12,8), use_seaborn=True, show=True): import matplotlib.pyplot as pyplot fig, ax = pyplot.subplots(figsize=figsize) if(use_seaborn): import seaborn seaborn.set_style('ticks') seaborn.despine() self.plot(ax=ax, plot_S=plot_S, plot_E=plot_E, plot_I=plot_I,plot_R=plot_R, plot_F=plot_F, plot_D_E=plot_D_E, plot_D_I=plot_D_I, combine_D=combine_D, color_S=color_S, color_E=color_E, color_I=color_I, color_R=color_R, color_F=color_F, color_D_E=color_D_E, color_D_I=color_D_I, color_reference=color_reference, dashed_reference_results=dashed_reference_results, dashed_reference_label=dashed_reference_label, shaded_reference_results=shaded_reference_results, shaded_reference_label=shaded_reference_label, vlines=vlines, vline_colors=vline_colors, vline_styles=vline_styles, vline_labels=vline_labels, ylim=ylim, xlim=xlim, legend=legend, title=title, side_title=side_title, plot_percentages=plot_percentages) if(show): pyplot.show() return fig, ax #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%seirsplus-1.1.0/build/lib/seirsplus/models.py000066400000000000000000006665021375244156600213310ustar00rootroot00000000000000from __future__ import absolute_import from __future__ import division from __future__ import print_function import networkx as networkx import numpy as numpy import scipy as scipy import scipy.integrate ######################################################## #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# #@ @# #@ BASIC SEIRS MODELS @# #@ @# #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# ######################################################## class SEIRSModel(): """ A class to simulate the Deterministic SEIRS Model =================================================== Params: beta Rate of transmission (exposure) sigma Rate of infection (upon exposure) gamma Rate of recovery (upon infection) xi Rate of re-susceptibility (upon recovery) mu_I Rate of infection-related death mu_0 Rate of baseline death nu Rate of baseline birth beta_Q Rate of transmission (exposure) for individuals with detected infections sigma_Q Rate of infection (upon exposure) for individuals with detected infections gamma_Q Rate of recovery (upon infection) for individuals with detected infections mu_Q Rate of infection-related death for individuals with detected infections theta_E Rate of baseline testing for exposed individuals theta_I Rate of baseline testing for infectious individuals psi_E Probability of positive test results for exposed individuals psi_I Probability of positive test results for exposed individuals q Probability of quarantined individuals interacting with others initE Init number of exposed individuals initI Init number of infectious individuals initQ_E Init number of detected infectious individuals initQ_I Init number of detected infectious individuals initR Init number of recovered individuals initF Init number of infection-related fatalities (all remaining nodes initialized susceptible) """ def __init__(self, initN, beta, sigma, gamma, xi=0, mu_I=0, mu_0=0, nu=0, p=0, beta_Q=None, sigma_Q=None, gamma_Q=None, mu_Q=None, theta_E=0, theta_I=0, psi_E=0, psi_I=0, q=0, initE=0, initI=10, initQ_E=0, initQ_I=0, initR=0, initF=0): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Model Parameters: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.beta = beta self.sigma = sigma self.gamma = gamma self.xi = xi self.mu_I = mu_I self.mu_0 = mu_0 self.nu = nu self.p = p # Testing-related parameters: self.beta_Q = beta_Q if beta_Q is not None else self.beta self.sigma_Q = sigma_Q if sigma_Q is not None else self.sigma self.gamma_Q = gamma_Q if gamma_Q is not None else self.gamma self.mu_Q = mu_Q if mu_Q is not None else self.mu_I self.theta_E = theta_E if theta_E is not None else self.theta_E self.theta_I = theta_I if theta_I is not None else self.theta_I self.psi_E = psi_E if psi_E is not None else self.psi_E self.psi_I = psi_I if psi_I is not None else self.psi_I self.q = q if q is not None else self.q #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize Timekeeping: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.t = 0 self.tmax = 0 # will be set when run() is called self.tseries = numpy.array([0]) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize Counts of inidividuals with each state: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.N = numpy.array([int(initN)]) self.numE = numpy.array([int(initE)]) self.numI = numpy.array([int(initI)]) self.numQ_E = numpy.array([int(initQ_E)]) self.numQ_I = numpy.array([int(initQ_I)]) self.numR = numpy.array([int(initR)]) self.numF = numpy.array([int(initF)]) self.numS = numpy.array([self.N[-1] - self.numE[-1] - self.numI[-1] - self.numQ_E[-1] - self.numQ_I[-1] - self.numR[-1] - self.numF[-1]]) assert(self.numS[0] >= 0), "The specified initial population size N must be greater than or equal to the initial compartment counts." #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @staticmethod def system_dfes(t, variables, beta, sigma, gamma, xi, mu_I, mu_0, nu, beta_Q, sigma_Q, gamma_Q, mu_Q, theta_E, theta_I, psi_E, psi_I, q): S, E, I, Q_E, Q_I, R, F = variables # varibles is a list with compartment counts as elements N = S + E + I + Q_E + Q_I + R dS = - (beta*S*I)/N - q*(beta_Q*S*Q_I)/N + xi*R + nu*N - mu_0*S dE = (beta*S*I)/N + q*(beta_Q*S*Q_I)/N - sigma*E - theta_E*psi_E*E - mu_0*E dI = sigma*E - gamma*I - mu_I*I - theta_I*psi_I*I - mu_0*I dDE = theta_E*psi_E*E - sigma_Q*Q_E - mu_0*Q_E dDI = theta_I*psi_I*I + sigma_Q*Q_E - gamma_Q*Q_I - mu_Q*Q_I - mu_0*Q_I dR = gamma*I + gamma_Q*Q_I - xi*R - mu_0*R dF = mu_I*I + mu_Q*Q_I return [dS, dE, dI, dDE, dDI, dR, dF] #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def run_epoch(self, runtime, dt=0.1): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Create a list of times at which the ODE solver should output system values. # Append this list of times as the model's timeseries t_eval = numpy.arange(start=self.t, stop=self.t+runtime, step=dt) # Define the range of time values for the integration: t_span = [self.t, self.t+runtime] # Define the initial conditions as the system's current state: # (which will be the t=0 condition if this is the first run of this model, # else where the last sim left off) init_cond = [self.numS[-1], self.numE[-1], self.numI[-1], self.numQ_E[-1], self.numQ_I[-1], self.numR[-1], self.numF[-1]] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Solve the system of differential eqns: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ solution = scipy.integrate.solve_ivp(lambda t, X: SEIRSModel.system_dfes(t, X, self.beta, self.sigma, self.gamma, self.xi, self.mu_I, self.mu_0, self.nu, self.beta_Q, self.sigma_Q, self.gamma_Q, self.mu_Q, self.theta_E, self.theta_I, self.psi_E, self.psi_I, self.q ), t_span=t_span, y0=init_cond, t_eval=t_eval ) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Store the solution output as the model's time series and data series: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.tseries = numpy.append(self.tseries, solution['t']) self.numS = numpy.append(self.numS, solution['y'][0]) self.numE = numpy.append(self.numE, solution['y'][1]) self.numI = numpy.append(self.numI, solution['y'][2]) self.numQ_E = numpy.append(self.numQ_E, solution['y'][3]) self.numQ_I = numpy.append(self.numQ_I, solution['y'][4]) self.numR = numpy.append(self.numR, solution['y'][5]) self.numF = numpy.append(self.numF, solution['y'][6]) self.t = self.tseries[-1] #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def run(self, T, dt=0.1, checkpoints=None, verbose=False): if(T>0): self.tmax += T else: return False #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Pre-process checkpoint values: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(checkpoints): numCheckpoints = len(checkpoints['t']) paramNames = ['beta', 'sigma', 'gamma', 'xi', 'mu_I', 'mu_0', 'nu', 'beta_Q', 'sigma_Q', 'gamma_Q', 'mu_Q', 'theta_E', 'theta_I', 'psi_E', 'psi_I', 'q'] for param in paramNames: # For params that don't have given checkpoint values (or bad value given), # set their checkpoint values to the value they have now for all checkpoints. if(param not in list(checkpoints.keys()) or not isinstance(checkpoints[param], (list, numpy.ndarray)) or len(checkpoints[param])!=numCheckpoints): checkpoints[param] = [getattr(self, param)]*numCheckpoints #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Run the simulation loop: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if(not checkpoints): self.run_epoch(runtime=self.tmax, dt=dt) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ print("t = %.2f" % self.t) if(verbose): print("\t S = " + str(self.numS[-1])) print("\t E = " + str(self.numE[-1])) print("\t I = " + str(self.numI[-1])) print("\t Q_E = " + str(self.numQ_E[-1])) print("\t Q_I = " + str(self.numQ_I[-1])) print("\t R = " + str(self.numR[-1])) print("\t F = " + str(self.numF[-1])) else: # checkpoints provided for checkpointIdx, checkpointTime in enumerate(checkpoints['t']): # Run the sim until the next checkpoint time: self.run_epoch(runtime=checkpointTime-self.t, dt=dt) # Having reached the checkpoint, update applicable parameters: print("[Checkpoint: Updating parameters]") for param in paramNames: setattr(self, param, checkpoints[param][checkpointIdx]) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ print("t = %.2f" % self.t) if(verbose): print("\t S = " + str(self.numS[-1])) print("\t E = " + str(self.numE[-1])) print("\t I = " + str(self.numI[-1])) print("\t Q_E = " + str(self.numQ_E[-1])) print("\t Q_I = " + str(self.numQ_I[-1])) print("\t R = " + str(self.numR[-1])) print("\t F = " + str(self.numF[-1])) if(self.t < self.tmax): self.run_epoch(runtime=self.tmax-self.t, dt=dt) return True #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_infections(self, t_idx=None): if(t_idx is None): return (self.numE[:] + self.numI[:] + self.numQ_E[:] + self.numQ_I[:]) else: return (self.numE[t_idx] + self.numI[t_idx] + self.numQ_E[t_idx] + self.numQ_I[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def plot(self, ax=None, plot_S='line', plot_E='line', plot_I='line',plot_R='line', plot_F='line', plot_Q_E='line', plot_Q_I='line', combine_Q=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_Q_E='mediumorchid', color_Q_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True): import matplotlib.pyplot as pyplot #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Create an Axes object if None provided: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(not ax): fig, ax = pyplot.subplots() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Prepare data series to be plotted: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fseries = self.numF/self.N if plot_percentages else self.numF Eseries = self.numE/self.N if plot_percentages else self.numE Dseries = (self.numQ_E+self.numQ_I)/self.N if plot_percentages else (self.numQ_E+self.numQ_I) Q_Eseries = self.numQ_E/self.N if plot_percentages else self.numQ_E Q_Iseries = self.numQ_I/self.N if plot_percentages else self.numQ_I Iseries = self.numI/self.N if plot_percentages else self.numI Rseries = self.numR/self.N if plot_percentages else self.numR Sseries = self.numS/self.N if plot_percentages else self.numS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the reference data: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(dashed_reference_results): dashedReference_tseries = dashed_reference_results.tseries[::int(self.N/100)] dashedReference_IDEstack = (dashed_reference_results.numI + dashed_reference_results.numQ_I + dashed_reference_results.numQ_E + dashed_reference_results.numE)[::int(self.N/100)] / (self.N if plot_percentages else 1) ax.plot(dashedReference_tseries, dashedReference_IDEstack, color='#E0E0E0', linestyle='--', label='$I+D+E$ ('+dashed_reference_label+')', zorder=0) if(shaded_reference_results): shadedReference_tseries = shaded_reference_results.tseries shadedReference_IDEstack = (shaded_reference_results.numI + shaded_reference_results.numQ_I + shaded_reference_results.numQ_E + shaded_reference_results.numE) / (self.N if plot_percentages else 1) ax.fill_between(shaded_reference_results.tseries, shadedReference_IDEstack, 0, color='#EFEFEF', label='$I+D+E$ ('+shaded_reference_label+')', zorder=0) ax.plot(shaded_reference_results.tseries, shadedReference_IDEstack, color='#E0E0E0', zorder=1) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the stacked variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topstack = numpy.zeros_like(self.tseries) if(any(Fseries) and plot_F=='stacked'): ax.fill_between(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, topstack+Fseries), topstack, color=color_F, alpha=0.5, label='$F$', zorder=2) ax.plot( numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, topstack+Fseries), color=color_F, zorder=3) topstack = topstack+Fseries if(any(Eseries) and plot_E=='stacked'): ax.fill_between(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, topstack+Eseries), topstack, color=color_E, alpha=0.5, label='$E$', zorder=2) ax.plot( numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, topstack+Eseries), color=color_E, zorder=3) topstack = topstack+Eseries if(combine_Q and plot_Q_E=='stacked' and plot_Q_I=='stacked'): ax.fill_between(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, topstack+Dseries), topstack, color=color_Q_E, alpha=0.5, label='$Q_{all}$', zorder=2) ax.plot( numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, topstack+Dseries), color=color_Q_E, zorder=3) topstack = topstack+Dseries else: if(any(Q_Eseries) and plot_Q_E=='stacked'): ax.fill_between(numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, topstack+Q_Eseries), topstack, color=color_Q_E, alpha=0.5, label='$Q_E$', zorder=2) ax.plot( numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, topstack+Q_Eseries), color=color_Q_E, zorder=3) topstack = topstack+Q_Eseries if(any(Q_Iseries) and plot_Q_I=='stacked'): ax.fill_between(numpy.ma.masked_where(Q_Iseries<=0, self.tseries), numpy.ma.masked_where(Q_Iseries<=0, topstack+Q_Iseries), topstack, color=color_Q_I, alpha=0.5, label='$Q_I$', zorder=2) ax.plot( numpy.ma.masked_where(Q_Iseries<=0, self.tseries), numpy.ma.masked_where(Q_Iseries<=0, topstack+Q_Iseries), color=color_Q_I, zorder=3) topstack = topstack+Q_Iseries if(any(Iseries) and plot_I=='stacked'): ax.fill_between(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, topstack+Iseries), topstack, color=color_I, alpha=0.5, label='$I$', zorder=2) ax.plot( numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, topstack+Iseries), color=color_I, zorder=3) topstack = topstack+Iseries if(any(Rseries) and plot_R=='stacked'): ax.fill_between(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, topstack+Rseries), topstack, color=color_R, alpha=0.5, label='$R$', zorder=2) ax.plot( numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, topstack+Rseries), color=color_R, zorder=3) topstack = topstack+Rseries if(any(Sseries) and plot_S=='stacked'): ax.fill_between(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, topstack+Sseries), topstack, color=color_S, alpha=0.5, label='$S$', zorder=2) ax.plot( numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, topstack+Sseries), color=color_S, zorder=3) topstack = topstack+Sseries #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the shaded variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(any(Fseries) and plot_F=='shaded'): ax.fill_between(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), 0, color=color_F, alpha=0.5, label='$F$', zorder=4) ax.plot( numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), color=color_F, zorder=5) if(any(Eseries) and plot_E=='shaded'): ax.fill_between(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), 0, color=color_E, alpha=0.5, label='$E$', zorder=4) ax.plot( numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), color=color_E, zorder=5) if(combine_Q and (any(Dseries) and plot_Q_E=='shaded' and plot_Q_E=='shaded')): ax.fill_between(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), 0, color=color_Q_E, alpha=0.5, label='$Q_{all}$', zorder=4) ax.plot( numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), color=color_Q_E, zorder=5) else: if(any(Q_Eseries) and plot_Q_E=='shaded'): ax.fill_between(numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, Q_Eseries), 0, color=color_Q_E, alpha=0.5, label='$Q_E$', zorder=4) ax.plot( numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, Q_Eseries), color=color_Q_E, zorder=5) if(any(Q_Iseries) and plot_Q_I=='shaded'): ax.fill_between(numpy.ma.masked_where(Q_Iseries<=0, self.tseries), numpy.ma.masked_where(Q_Iseries<=0, Q_Iseries), 0, color=color_Q_I, alpha=0.5, label='$Q_I$', zorder=4) ax.plot( numpy.ma.masked_where(Q_Iseries<=0, self.tseries), numpy.ma.masked_where(Q_Iseries<=0, Q_Iseries), color=color_Q_I, zorder=5) if(any(Iseries) and plot_I=='shaded'): ax.fill_between(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), 0, color=color_I, alpha=0.5, label='$I$', zorder=4) ax.plot( numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), color=color_I, zorder=5) if(any(Sseries) and plot_S=='shaded'): ax.fill_between(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), 0, color=color_S, alpha=0.5, label='$S$', zorder=4) ax.plot( numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), color=color_S, zorder=5) if(any(Rseries) and plot_R=='shaded'): ax.fill_between(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), 0, color=color_R, alpha=0.5, label='$R$', zorder=4) ax.plot( numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), color=color_R, zorder=5) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the line variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(any(Fseries) and plot_F=='line'): ax.plot(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), color=color_F, label='$F$', zorder=6) if(any(Eseries) and plot_E=='line'): ax.plot(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), color=color_E, label='$E$', zorder=6) if(combine_Q and (any(Dseries) and plot_Q_E=='line' and plot_Q_E=='line')): ax.plot(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), color=color_Q_E, label='$Q_{all}$', zorder=6) else: if(any(Q_Eseries) and plot_Q_E=='line'): ax.plot(numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, Q_Eseries), color=color_Q_E, label='$Q_E$', zorder=6) if(any(Q_Iseries) and plot_Q_I=='line'): ax.plot(numpy.ma.masked_where(Q_Iseries<=0, self.tseries), numpy.ma.masked_where(Q_Iseries<=0, Q_Iseries), color=color_Q_I, label='$Q_I$', zorder=6) if(any(Iseries) and plot_I=='line'): ax.plot(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), color=color_I, label='$I$', zorder=6) if(any(Sseries) and plot_S=='line'): ax.plot(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), color=color_S, label='$S$', zorder=6) if(any(Rseries) and plot_R=='line'): ax.plot(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), color=color_R, label='$R$', zorder=6) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the vertical line annotations: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(len(vlines)>0 and len(vline_colors)==0): vline_colors = ['gray']*len(vlines) if(len(vlines)>0 and len(vline_labels)==0): vline_labels = [None]*len(vlines) if(len(vlines)>0 and len(vline_styles)==0): vline_styles = [':']*len(vlines) for vline_x, vline_color, vline_style, vline_label in zip(vlines, vline_colors, vline_styles, vline_labels): if(vline_x is not None): ax.axvline(x=vline_x, color=vline_color, linestyle=vline_style, alpha=1, label=vline_label) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the plot labels: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ax.set_xlabel('days') ax.set_ylabel('percent of population' if plot_percentages else 'number of individuals') ax.set_xlim(0, (max(self.tseries) if not xlim else xlim)) ax.set_ylim(0, ylim) if(plot_percentages): ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()]) if(legend): legend_handles, legend_labels = ax.get_legend_handles_labels() ax.legend(legend_handles[::-1], legend_labels[::-1], loc='upper right', facecolor='white', edgecolor='none', framealpha=0.9, prop={'size': 8}) if(title): ax.set_title(title, size=12) if(side_title): ax.annotate(side_title, (0, 0.5), xytext=(-45, 0), ha='right', va='center', size=12, rotation=90, xycoords='axes fraction', textcoords='offset points') return ax #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def figure_basic(self, plot_S='line', plot_E='line', plot_I='line',plot_R='line', plot_F='line', plot_Q_E='line', plot_Q_I='line', combine_Q=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_Q_E='mediumorchid', color_Q_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True, figsize=(12,8), use_seaborn=True, show=True): import matplotlib.pyplot as pyplot fig, ax = pyplot.subplots(figsize=figsize) if(use_seaborn): import seaborn seaborn.set_style('ticks') seaborn.despine() self.plot(ax=ax, plot_S=plot_S, plot_E=plot_E, plot_I=plot_I,plot_R=plot_R, plot_F=plot_F, plot_Q_E=plot_Q_E, plot_Q_I=plot_Q_I, combine_Q=combine_Q, color_S=color_S, color_E=color_E, color_I=color_I, color_R=color_R, color_F=color_F, color_Q_E=color_Q_E, color_Q_I=color_Q_I, color_reference=color_reference, dashed_reference_results=dashed_reference_results, dashed_reference_label=dashed_reference_label, shaded_reference_results=shaded_reference_results, shaded_reference_label=shaded_reference_label, vlines=vlines, vline_colors=vline_colors, vline_styles=vline_styles, vline_labels=vline_labels, ylim=ylim, xlim=xlim, legend=legend, title=title, side_title=side_title, plot_percentages=plot_percentages) if(show): pyplot.show() return fig, ax #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def figure_infections(self, plot_S=False, plot_E='stacked', plot_I='stacked',plot_R=False, plot_F=False, plot_Q_E='stacked', plot_Q_I='stacked', combine_Q=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_Q_E='mediumorchid', color_Q_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True, figsize=(12,8), use_seaborn=True, show=True): import matplotlib.pyplot as pyplot fig, ax = pyplot.subplots(figsize=figsize) if(use_seaborn): import seaborn seaborn.set_style('ticks') seaborn.despine() self.plot(ax=ax, plot_S=plot_S, plot_E=plot_E, plot_I=plot_I,plot_R=plot_R, plot_F=plot_F, plot_Q_E=plot_Q_E, plot_Q_I=plot_Q_I, combine_Q=combine_Q, color_S=color_S, color_E=color_E, color_I=color_I, color_R=color_R, color_F=color_F, color_Q_E=color_Q_E, color_Q_I=color_Q_I, color_reference=color_reference, dashed_reference_results=dashed_reference_results, dashed_reference_label=dashed_reference_label, shaded_reference_results=shaded_reference_results, shaded_reference_label=shaded_reference_label, vlines=vlines, vline_colors=vline_colors, vline_styles=vline_styles, vline_labels=vline_labels, ylim=ylim, xlim=xlim, legend=legend, title=title, side_title=side_title, plot_percentages=plot_percentages) if(show): pyplot.show() return fig, ax #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% class SEIRSNetworkModel(): """ A class to simulate the SEIRS Stochastic Network Model ====================================================== Params: G Network adjacency matrix (numpy array) or Networkx graph object. beta Rate of transmission (global interactions) beta_local Rate(s) of transmission between adjacent individuals (optional) sigma Rate of progression to infectious state (inverse of latent period) gamma Rate of recovery (inverse of symptomatic infectious period) mu_I Rate of infection-related death xi Rate of re-susceptibility (upon recovery) mu_0 Rate of baseline death nu Rate of baseline birth p Probability of individuals interacting with global population G_Q Quarantine adjacency matrix (numpy array) or Networkx graph object. beta_Q Rate of transmission for isolated individuals (global interactions) beta_Q_local Rate(s) of transmission (exposure) for adjacent isolated individuals (optional) sigma_Q Rate of progression to infectious state for isolated individuals gamma_Q Rate of recovery for isolated individuals mu_Q Rate of infection-related death for isolated individuals q Probability of isolated individuals interacting with global population isolation_time Time to remain in isolation upon positive test, self-isolation, etc. theta_E Rate of random testing for exposed individuals theta_I Rate of random testing for infectious individuals phi_E Rate of testing when a close contact has tested positive for exposed individuals phi_I Rate of testing when a close contact has tested positive for infectious individuals psi_E Probability of positive test for exposed individuals psi_I Probability of positive test for infectious individuals initE Initial number of exposed individuals initI Initial number of infectious individuals initR Initial number of recovered individuals initF Initial number of infection-related fatalities initQ_S Initial number of isolated susceptible individuals initQ_E Initial number of isolated exposed individuals initQ_I Initial number of isolated infectious individuals initQ_R Initial number of isolated recovered individuals (all remaining nodes initialized susceptible) """ def __init__(self, G, beta, sigma, gamma, mu_I=0, alpha=1.0, xi=0, mu_0=0, nu=0, f=0, p=0, beta_local=None, beta_pairwise_mode='infected', delta=None, delta_pairwise_mode=None, G_Q=None, beta_Q=None, beta_Q_local=None, sigma_Q=None, gamma_Q=None, mu_Q=None, alpha_Q=None, delta_Q=None, theta_E=0, theta_I=0, phi_E=0, phi_I=0, psi_E=1, psi_I=1, q=0, isolation_time=14, initE=0, initI=0, initR=0, initF=0, initQ_E=0, initQ_I=0, transition_mode='exponential_rates', node_groups=None, store_Xseries=False, seed=None): if(seed is not None): numpy.random.seed(seed) self.seed = seed #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Model Parameters: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.parameters = { 'G':G, 'G_Q':G_Q, 'beta':beta, 'sigma':sigma, 'gamma':gamma, 'mu_I':mu_I, 'xi':xi, 'mu_0':mu_0, 'nu':nu, 'f':f, 'p':p, 'beta_local':beta_local, 'beta_pairwise_mode':beta_pairwise_mode, 'alpha':alpha, 'delta':delta, 'delta_pairwise_mode':delta_pairwise_mode, 'beta_Q':beta_Q, 'beta_Q_local':beta_Q_local, 'sigma_Q':sigma_Q, 'gamma_Q':gamma_Q, 'mu_Q':mu_Q, 'alpha_Q':alpha_Q, 'delta_Q':delta_Q, 'theta_E':theta_E, 'theta_I':theta_I, 'phi_E':phi_E, 'phi_I':phi_I, 'psi_E':psi_E, 'psi_I':psi_I, 'q':q, 'isolation_time':isolation_time, 'initE':initE, 'initI':initI, 'initR':initR, 'initF':initF, 'initQ_E':initQ_E, 'initQ_I':initQ_I } self.update_parameters() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Each node can undergo 4-6 transitions (sans vitality/re-susceptibility returns to S state), # so there are ~numNodes*6 events/timesteps expected; initialize numNodes*6 timestep slots to start # (will be expanded during run if needed for some reason) self.tseries = numpy.zeros(6*self.numNodes) self.numS = numpy.zeros(6*self.numNodes) self.numE = numpy.zeros(6*self.numNodes) self.numI = numpy.zeros(6*self.numNodes) self.numR = numpy.zeros(6*self.numNodes) self.numF = numpy.zeros(6*self.numNodes) self.numQ_E = numpy.zeros(6*self.numNodes) self.numQ_I = numpy.zeros(6*self.numNodes) self.N = numpy.zeros(6*self.numNodes) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize Timekeeping: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.t = 0 self.tmax = 0 # will be set when run() is called self.tidx = 0 self.tseries[0] = 0 # Vectors holding the time that each node has been in a given state or in isolation: self.timer_state = numpy.zeros((self.numNodes,1)) self.timer_isolation = numpy.zeros(self.numNodes) self.isolationTime = isolation_time #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize Counts of inidividuals with each state: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.numE[0] = int(initE) self.numI[0] = int(initI) self.numR[0] = int(initR) self.numF[0] = int(initF) self.numQ_E[0] = int(initQ_E) self.numQ_I[0] = int(initQ_I) self.numS[0] = (self.numNodes - self.numE[0] - self.numI[0] - self.numR[0] - self.numQ_E[0] - self.numQ_I[0] - self.numF[0]) self.N[0] = self.numNodes - self.numF[0] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Node states: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.S = 1 self.E = 2 self.I = 3 self.R = 4 self.F = 5 self.Q_E = 6 self.Q_I = 7 self.X = numpy.array( [self.S]*int(self.numS[0]) + [self.E]*int(self.numE[0]) + [self.I]*int(self.numI[0]) + [self.R]*int(self.numR[0]) + [self.F]*int(self.numF[0]) + [self.Q_E]*int(self.numQ_E[0]) + [self.Q_I]*int(self.numQ_I[0]) ).reshape((self.numNodes,1)) numpy.random.shuffle(self.X) self.store_Xseries = store_Xseries if(store_Xseries): self.Xseries = numpy.zeros(shape=(6*self.numNodes, self.numNodes), dtype='uint8') self.Xseries[0,:] = self.X.T self.transitions = { 'StoE': {'currentState':self.S, 'newState':self.E}, 'EtoI': {'currentState':self.E, 'newState':self.I}, 'ItoR': {'currentState':self.I, 'newState':self.R}, 'ItoF': {'currentState':self.I, 'newState':self.F}, 'RtoS': {'currentState':self.R, 'newState':self.S}, 'EtoQE': {'currentState':self.E, 'newState':self.Q_E}, 'ItoQI': {'currentState':self.I, 'newState':self.Q_I}, 'QEtoQI': {'currentState':self.Q_E, 'newState':self.Q_I}, 'QItoR': {'currentState':self.Q_I, 'newState':self.R}, 'QItoF': {'currentState':self.Q_I, 'newState':self.F}, '_toS': {'currentState':True, 'newState':self.S}, } self.transition_mode = transition_mode #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize other node metadata: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.tested = numpy.array([False]*self.numNodes).reshape((self.numNodes,1)) self.positive = numpy.array([False]*self.numNodes).reshape((self.numNodes,1)) self.numTested = numpy.zeros(6*self.numNodes) self.numPositive = numpy.zeros(6*self.numNodes) self.testedInCurrentState = numpy.array([False]*self.numNodes).reshape((self.numNodes,1)) self.infectionsLog = [] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize node subgroup data series: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.nodeGroupData = None if(node_groups): self.nodeGroupData = {} for groupName, nodeList in node_groups.items(): self.nodeGroupData[groupName] = {'nodes': numpy.array(nodeList), 'mask': numpy.isin(range(self.numNodes), nodeList).reshape((self.numNodes,1))} self.nodeGroupData[groupName]['numS'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numE'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numI'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numR'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numF'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numQ_E'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numQ_I'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['N'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numPositive'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numTested'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numS'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.S) self.nodeGroupData[groupName]['numE'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.E) self.nodeGroupData[groupName]['numI'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.I) self.nodeGroupData[groupName]['numR'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.R) self.nodeGroupData[groupName]['numF'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.F) self.nodeGroupData[groupName]['numQ_E'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_E) self.nodeGroupData[groupName]['numQ_I'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_I) self.nodeGroupData[groupName]['N'][0] = self.numNodes - self.numF[0] #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def update_parameters(self): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Model graphs: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.G = self.parameters['G'] # Adjacency matrix: if type(self.G)==numpy.ndarray: self.A = scipy.sparse.csr_matrix(self.G) elif type(self.G)==networkx.classes.graph.Graph: self.A = networkx.adj_matrix(self.G) # adj_matrix gives scipy.sparse csr_matrix else: raise BaseException("Input an adjacency matrix or networkx object only.") self.numNodes = int(self.A.shape[1]) self.degree = numpy.asarray(self.node_degrees(self.A)).astype(float) #---------------------------------------- if(self.parameters['G_Q'] is None): self.G_Q = self.G # If no Q graph is provided, use G in its place else: self.G_Q = self.parameters['G_Q'] # Quarantine Adjacency matrix: if type(self.G_Q)==numpy.ndarray: self.A_Q = scipy.sparse.csr_matrix(self.G_Q) elif type(self.G_Q)==networkx.classes.graph.Graph: self.A_Q = networkx.adj_matrix(self.G_Q) # adj_matrix gives scipy.sparse csr_matrix else: raise BaseException("Input an adjacency matrix or networkx object only.") self.numNodes_Q = int(self.A_Q.shape[1]) self.degree_Q = numpy.asarray(self.node_degrees(self.A_Q)).astype(float) #---------------------------------------- assert(self.numNodes == self.numNodes_Q), "The normal and quarantine adjacency graphs must be of the same size." #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Model parameters: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.beta = numpy.array(self.parameters['beta']).reshape((self.numNodes, 1)) if isinstance(self.parameters['beta'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta'], shape=(self.numNodes,1)) self.sigma = numpy.array(self.parameters['sigma']).reshape((self.numNodes, 1)) if isinstance(self.parameters['sigma'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['sigma'], shape=(self.numNodes,1)) self.gamma = numpy.array(self.parameters['gamma']).reshape((self.numNodes, 1)) if isinstance(self.parameters['gamma'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['gamma'], shape=(self.numNodes,1)) self.mu_I = numpy.array(self.parameters['mu_I']).reshape((self.numNodes, 1)) if isinstance(self.parameters['mu_I'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['mu_I'], shape=(self.numNodes,1)) self.alpha = numpy.array(self.parameters['alpha']).reshape((self.numNodes, 1)) if isinstance(self.parameters['alpha'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['alpha'], shape=(self.numNodes,1)) self.xi = numpy.array(self.parameters['xi']).reshape((self.numNodes, 1)) if isinstance(self.parameters['xi'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['xi'], shape=(self.numNodes,1)) self.mu_0 = numpy.array(self.parameters['mu_0']).reshape((self.numNodes, 1)) if isinstance(self.parameters['mu_0'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['mu_0'], shape=(self.numNodes,1)) self.nu = numpy.array(self.parameters['nu']).reshape((self.numNodes, 1)) if isinstance(self.parameters['nu'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['nu'], shape=(self.numNodes,1)) self.f = numpy.array(self.parameters['f']).reshape((self.numNodes, 1)) if isinstance(self.parameters['f'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['f'], shape=(self.numNodes,1)) self.p = numpy.array(self.parameters['p']).reshape((self.numNodes, 1)) if isinstance(self.parameters['p'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['p'], shape=(self.numNodes,1)) self.rand_f = numpy.random.rand(self.f.shape[0], self.f.shape[1]) #---------------------------------------- # Testing-related parameters: #---------------------------------------- self.beta_Q = (numpy.array(self.parameters['beta_Q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['beta_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta_Q'], shape=(self.numNodes,1))) if self.parameters['beta_Q'] is not None else self.beta self.sigma_Q = (numpy.array(self.parameters['sigma_Q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['sigma_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['sigma_Q'], shape=(self.numNodes,1))) if self.parameters['sigma_Q'] is not None else self.sigma self.gamma_Q = (numpy.array(self.parameters['gamma_Q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['gamma_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['gamma_Q'], shape=(self.numNodes,1))) if self.parameters['gamma_Q'] is not None else self.gamma self.mu_Q = (numpy.array(self.parameters['mu_Q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['mu_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['mu_Q'], shape=(self.numNodes,1))) if self.parameters['mu_Q'] is not None else self.mu_I self.alpha_Q = (numpy.array(self.parameters['alpha_Q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['alpha_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['alpha_Q'], shape=(self.numNodes,1))) if self.parameters['alpha_Q'] is not None else self.alpha self.theta_E = numpy.array(self.parameters['theta_E']).reshape((self.numNodes, 1)) if isinstance(self.parameters['theta_E'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['theta_E'], shape=(self.numNodes,1)) self.theta_I = numpy.array(self.parameters['theta_I']).reshape((self.numNodes, 1)) if isinstance(self.parameters['theta_I'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['theta_I'], shape=(self.numNodes,1)) self.phi_E = numpy.array(self.parameters['phi_E']).reshape((self.numNodes, 1)) if isinstance(self.parameters['phi_E'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['phi_E'], shape=(self.numNodes,1)) self.phi_I = numpy.array(self.parameters['phi_I']).reshape((self.numNodes, 1)) if isinstance(self.parameters['phi_I'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['phi_I'], shape=(self.numNodes,1)) self.psi_E = numpy.array(self.parameters['psi_E']).reshape((self.numNodes, 1)) if isinstance(self.parameters['psi_E'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['psi_E'], shape=(self.numNodes,1)) self.psi_I = numpy.array(self.parameters['psi_I']).reshape((self.numNodes, 1)) if isinstance(self.parameters['psi_I'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['psi_I'], shape=(self.numNodes,1)) self.q = numpy.array(self.parameters['q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['q'], shape=(self.numNodes,1)) #---------------------------------------- self.beta_pairwise_mode = self.parameters['beta_pairwise_mode'] #---------------------------------------- # Global transmission parameters: #---------------------------------------- if(self.beta_pairwise_mode == 'infected' or self.beta_pairwise_mode is None): self.beta_global = numpy.full_like(self.beta, fill_value=numpy.mean(self.beta)) self.beta_Q_global = numpy.full_like(self.beta_Q, fill_value=numpy.mean(self.beta_Q)) elif(self.beta_pairwise_mode == 'infectee'): self.beta_global = self.beta self.beta_Q_global = self.beta_Q elif(self.beta_pairwise_mode == 'min'): self.beta_global = numpy.minimum(self.beta, numpy.mean(beta)) self.beta_Q_global = numpy.minimum(self.beta_Q, numpy.mean(beta_Q)) elif(self.beta_pairwise_mode == 'max'): self.beta_global = numpy.maximum(self.beta, numpy.mean(beta)) self.beta_Q_global = numpy.maximum(self.beta_Q, numpy.mean(beta_Q)) elif(self.beta_pairwise_mode == 'mean'): self.beta_global = (self.beta + numpy.full_like(self.beta, fill_value=numpy.mean(self.beta)))/2 self.beta_Q_global = (self.beta_Q + numpy.full_like(self.beta_Q, fill_value=numpy.mean(self.beta_Q)))/2 #---------------------------------------- # Local transmission parameters: #---------------------------------------- self.beta_local = self.beta if self.parameters['beta_local'] is None else numpy.array(self.parameters['beta_local']) if isinstance(self.parameters['beta_local'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta_local'], shape=(self.numNodes,1)) self.beta_Q_local = self.beta_Q if self.parameters['beta_Q_local'] is None else numpy.array(self.parameters['beta_Q_local']) if isinstance(self.parameters['beta_Q_local'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta_Q_local'], shape=(self.numNodes,1)) #---------------------------------------- if(self.beta_local.ndim == 2 and self.beta_local.shape[0] == self.numNodes and self.beta_local.shape[1] == self.numNodes): self.A_beta_pairwise = self.beta_local elif((self.beta_local.ndim == 1 and self.beta_local.shape[0] == self.numNodes) or (self.beta_local.ndim == 2 and (self.beta_local.shape[0] == self.numNodes or self.beta_local.shape[1] == self.numNodes))): self.beta_local = self.beta_local.reshape((self.numNodes,1)) # Pre-multiply beta values by the adjacency matrix ("transmission weight connections") A_beta_pairwise_byInfected = scipy.sparse.csr_matrix.multiply(self.A, self.beta_local.T).tocsr() A_beta_pairwise_byInfectee = scipy.sparse.csr_matrix.multiply(self.A, self.beta_local).tocsr() #------------------------------ # Compute the effective pairwise beta values as a function of the infected/infectee pair: if(self.beta_pairwise_mode == 'infected'): self.A_beta_pairwise = A_beta_pairwise_byInfected elif(self.beta_pairwise_mode == 'infectee'): self.A_beta_pairwise = A_beta_pairwise_byInfectee elif(self.beta_pairwise_mode == 'min'): self.A_beta_pairwise = scipy.sparse.csr_matrix.minimum(A_beta_pairwise_byInfected, A_beta_pairwise_byInfectee) elif(self.beta_pairwise_mode == 'max'): self.A_beta_pairwise = scipy.sparse.csr_matrix.maximum(A_beta_pairwise_byInfected, A_beta_pairwise_byInfectee) elif(self.beta_pairwise_mode == 'mean' or self.beta_pairwise_mode is None): self.A_beta_pairwise = (A_beta_pairwise_byInfected + A_beta_pairwise_byInfectee)/2 else: print("Unrecognized beta_pairwise_mode value (support for 'infected', 'infectee', 'min', 'max', and 'mean').") else: print("Invalid values given for beta_local (expected 1xN list/array or NxN 2d array)") #---------------------------------------- if(self.beta_Q_local.ndim == 2 and self.beta_Q_local.shape[0] == self.numNodes and self.beta_Q_local.shape[1] == self.numNodes): self.A_Q_beta_Q_pairwise = self.beta_Q_local elif((self.beta_Q_local.ndim == 1 and self.beta_Q_local.shape[0] == self.numNodes) or (self.beta_Q_local.ndim == 2 and (self.beta_Q_local.shape[0] == self.numNodes or self.beta_Q_local.shape[1] == self.numNodes))): self.beta_Q_local = self.beta_Q_local.reshape((self.numNodes,1)) # Pre-multiply beta_Q values by the isolation adjacency matrix ("transmission weight connections") A_Q_beta_Q_pairwise_byInfected = scipy.sparse.csr_matrix.multiply(self.A_Q, self.beta_Q_local.T).tocsr() A_Q_beta_Q_pairwise_byInfectee = scipy.sparse.csr_matrix.multiply(self.A_Q, self.beta_Q_local).tocsr() #------------------------------ # Compute the effective pairwise beta values as a function of the infected/infectee pair: if(self.beta_pairwise_mode == 'infected'): self.A_Q_beta_Q_pairwise = A_Q_beta_Q_pairwise_byInfected elif(self.beta_pairwise_mode == 'infectee'): self.A_Q_beta_Q_pairwise = A_Q_beta_Q_pairwise_byInfectee elif(self.beta_pairwise_mode == 'min'): self.A_Q_beta_Q_pairwise = scipy.sparse.csr_matrix.minimum(A_Q_beta_Q_pairwise_byInfected, A_Q_beta_Q_pairwise_byInfectee) elif(self.beta_pairwise_mode == 'max'): self.A_Q_beta_Q_pairwise = scipy.sparse.csr_matrix.maximum(A_Q_beta_Q_pairwise_byInfected, A_Q_beta_Q_pairwise_byInfectee) elif(self.beta_pairwise_mode == 'mean' or self.beta_pairwise_mode is None): self.A_Q_beta_Q_pairwise = (A_Q_beta_Q_pairwise_byInfected + A_Q_beta_Q_pairwise_byInfectee)/2 else: print("Unrecognized beta_pairwise_mode value (support for 'infected', 'infectee', 'min', 'max', and 'mean').") else: print("Invalid values given for beta_Q_local (expected 1xN list/array or NxN 2d array)") #---------------------------------------- #---------------------------------------- # Degree-based transmission scaling parameters: #---------------------------------------- self.delta_pairwise_mode = self.parameters['delta_pairwise_mode'] with numpy.errstate(divide='ignore'): # ignore log(0) warning, then convert log(0) = -inf -> 0.0 self.delta = numpy.log(self.degree)/numpy.log(numpy.mean(self.degree)) if self.parameters['delta'] is None else numpy.array(self.parameters['delta']) if isinstance(self.parameters['delta'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta'], shape=(self.numNodes,1)) self.delta_Q = numpy.log(self.degree_Q)/numpy.log(numpy.mean(self.degree_Q)) if self.parameters['delta_Q'] is None else numpy.array(self.parameters['delta_Q']) if isinstance(self.parameters['delta_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta_Q'], shape=(self.numNodes,1)) self.delta[numpy.isneginf(self.delta)] = 0.0 self.delta_Q[numpy.isneginf(self.delta_Q)] = 0.0 #---------------------------------------- if(self.delta.ndim == 2 and self.delta.shape[0] == self.numNodes and self.delta.shape[1] == self.numNodes): self.A_delta_pairwise = self.delta elif((self.delta.ndim == 1 and self.delta.shape[0] == self.numNodes) or (self.delta.ndim == 2 and (self.delta.shape[0] == self.numNodes or self.delta.shape[1] == self.numNodes))): self.delta = self.delta.reshape((self.numNodes,1)) # Pre-multiply delta values by the adjacency matrix ("transmission weight connections") A_delta_pairwise_byInfected = scipy.sparse.csr_matrix.multiply(self.A, self.delta.T).tocsr() A_delta_pairwise_byInfectee = scipy.sparse.csr_matrix.multiply(self.A, self.delta).tocsr() #------------------------------ # Compute the effective pairwise delta values as a function of the infected/infectee pair: if(self.delta_pairwise_mode == 'infected'): self.A_delta_pairwise = A_delta_pairwise_byInfected elif(self.delta_pairwise_mode == 'infectee'): self.A_delta_pairwise = A_delta_pairwise_byInfectee elif(self.delta_pairwise_mode == 'min'): self.A_delta_pairwise = scipy.sparse.csr_matrix.minimum(A_delta_pairwise_byInfected, A_delta_pairwise_byInfectee) elif(self.delta_pairwise_mode == 'max'): self.A_delta_pairwise = scipy.sparse.csr_matrix.maximum(A_delta_pairwise_byInfected, A_delta_pairwise_byInfectee) elif(self.delta_pairwise_mode == 'mean'): self.A_delta_pairwise = (A_delta_pairwise_byInfected + A_delta_pairwise_byInfectee)/2 elif(self.delta_pairwise_mode is None): self.A_delta_pairwise = self.A else: print("Unrecognized delta_pairwise_mode value (support for 'infected', 'infectee', 'min', 'max', and 'mean').") else: print("Invalid values given for delta (expected 1xN list/array or NxN 2d array)") #---------------------------------------- if(self.delta_Q.ndim == 2 and self.delta_Q.shape[0] == self.numNodes and self.delta_Q.shape[1] == self.numNodes): self.A_Q_delta_Q_pairwise = self.delta_Q elif((self.delta_Q.ndim == 1 and self.delta_Q.shape[0] == self.numNodes) or (self.delta_Q.ndim == 2 and (self.delta_Q.shape[0] == self.numNodes or self.delta_Q.shape[1] == self.numNodes))): self.delta_Q = self.delta_Q.reshape((self.numNodes,1)) # Pre-multiply delta_Q values by the isolation adjacency matrix ("transmission weight connections") A_Q_delta_Q_pairwise_byInfected = scipy.sparse.csr_matrix.multiply(self.A_Q, self.delta_Q).tocsr() A_Q_delta_Q_pairwise_byInfectee = scipy.sparse.csr_matrix.multiply(self.A_Q, self.delta_Q.T).tocsr() #------------------------------ # Compute the effective pairwise delta values as a function of the infected/infectee pair: if(self.delta_pairwise_mode == 'infected'): self.A_Q_delta_Q_pairwise = A_Q_delta_Q_pairwise_byInfected elif(self.delta_pairwise_mode == 'infectee'): self.A_Q_delta_Q_pairwise = A_Q_delta_Q_pairwise_byInfectee elif(self.delta_pairwise_mode == 'min'): self.A_Q_delta_Q_pairwise = scipy.sparse.csr_matrix.minimum(A_Q_delta_Q_pairwise_byInfected, A_Q_delta_Q_pairwise_byInfectee) elif(self.delta_pairwise_mode == 'max'): self.A_Q_delta_Q_pairwise = scipy.sparse.csr_matrix.maximum(A_Q_delta_Q_pairwise_byInfected, A_Q_delta_Q_pairwise_byInfectee) elif(self.delta_pairwise_mode == 'mean'): self.A_Q_delta_Q_pairwise = (A_Q_delta_Q_pairwise_byInfected + A_Q_delta_Q_pairwise_byInfectee)/2 elif(self.delta_pairwise_mode is None): self.A_Q_delta_Q_pairwise = self.A else: print("Unrecognized delta_pairwise_mode value (support for 'infected', 'infectee', 'min', 'max', and 'mean').") else: print("Invalid values given for delta_Q (expected 1xN list/array or NxN 2d array)") #---------------------------------------- # Pre-calculate the pairwise delta*beta values: #---------------------------------------- self.A_deltabeta = scipy.sparse.csr_matrix.multiply(self.A_delta_pairwise, self.A_beta_pairwise) self.A_Q_deltabeta_Q = scipy.sparse.csr_matrix.multiply(self.A_Q_delta_Q_pairwise, self.A_Q_beta_Q_pairwise) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def node_degrees(self, Amat): return Amat.sum(axis=0).reshape(self.numNodes,1) # sums of adj matrix cols #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_susceptible(self, t_idx=None): if(t_idx is None): return (self.numS[:]) else: return (self.numS[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_infected(self, t_idx=None): if(t_idx is None): return (self.numE[:] + self.numI[:] + self.numQ_E[:] + self.numQ_I[:]) else: return (self.numE[t_idx] + self.numI[t_idx] + self.numQ_E[t_idx] + self.numQ_I[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_isolated(self, t_idx=None): if(t_idx is None): return (self.numQ_E[:] + self.numQ_I[:]) else: return (self.numQ_E[t_idx] + self.numQ_I[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_tested(self, t_idx=None): if(t_idx is None): return (self.numTested[:]) else: return (self.numTested[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_positive(self, t_idx=None): if(t_idx is None): return (self.numPositive[:]) else: return (self.numPositive[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_recovered(self, t_idx=None): if(t_idx is None): return (self.numR[:]) else: return (self.numR[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def calc_propensities(self): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Pre-calculate matrix multiplication terms that may be used in multiple propensity calculations, # and check to see if their computation is necessary before doing the multiplication #------------------------------------ self.transmissionTerms_I = numpy.zeros(shape=(self.numNodes,1)) if(numpy.any(self.numI[self.tidx])): self.transmissionTerms_I = numpy.asarray(scipy.sparse.csr_matrix.dot(self.A_deltabeta, self.X==self.I)) #------------------------------------ self.transmissionTerms_Q = numpy.zeros(shape=(self.numNodes,1)) if(numpy.any(self.numQ_I[self.tidx])): self.transmissionTerms_Q = numpy.asarray(scipy.sparse.csr_matrix.dot(self.A_Q_deltabeta_Q, self.X==self.Q_I)) #------------------------------------ numContacts_Q = numpy.zeros(shape=(self.numNodes,1)) if(numpy.any(self.positive) and (numpy.any(self.phi_E) or numpy.any(self.phi_I))): numContacts_Q = numpy.asarray(scipy.sparse.csr_matrix.dot(self.A, ((self.positive)&(self.X!=self.R)&(self.X!=self.F)))) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ propensities_StoE = (self.alpha * (self.p*((self.beta_global*self.numI[self.tidx] + self.q*self.beta_Q_global*self.numQ_I[self.tidx])/self.N[self.tidx]) + (1-self.p)*(numpy.divide(self.transmissionTerms_I, self.degree, out=numpy.zeros_like(self.degree), where=self.degree!=0) +numpy.divide(self.transmissionTerms_Q, self.degree_Q, out=numpy.zeros_like(self.degree_Q), where=self.degree_Q!=0))) )*(self.X==self.S) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(self.transition_mode == 'time_in_state'): propensities_EtoI = 1e5 * ((self.X==self.E) & numpy.greater(self.timer_state, 1/self.sigma)) propensities_ItoR = 1e5 * ((self.X==self.I) & numpy.greater(self.timer_state, 1/self.gamma) & numpy.greater_equal(self.rand_f, self.f)) propensities_ItoF = 1e5 * ((self.X==self.I) & numpy.greater(self.timer_state, 1/self.mu_I) & numpy.less(self.rand_f, self.f)) propensities_EtoQE = numpy.zeros_like(propensities_StoE) propensities_ItoQI = numpy.zeros_like(propensities_StoE) propensities_QEtoQI = 1e5 * ((self.X==self.Q_E) & numpy.greater(self.timer_state, 1/self.sigma_Q)) propensities_QItoR = 1e5 * ((self.X==self.Q_I) & numpy.greater(self.timer_state, 1/self.gamma_Q) & numpy.greater_equal(self.rand_f, self.f)) propensities_QItoF = 1e5 * ((self.X==self.Q_I) & numpy.greater(self.timer_state, 1/self.mu_Q) & numpy.less(self.rand_f, self.f)) propensities_RtoS = 1e5 * ((self.X==self.R) & numpy.greater(self.timer_state, 1/self.xi)) propensities__toS = 1e5 * ((self.X!=self.F) & numpy.greater(self.timer_state, 1/self.nu)) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ else: # exponential_rates propensities_EtoI = self.sigma * (self.X==self.E) propensities_ItoR = self.gamma * ((self.X==self.I) & (numpy.greater_equal(self.rand_f, self.f))) propensities_ItoF = self.mu_I * ((self.X==self.I) & (numpy.less(self.rand_f, self.f))) propensities_EtoQE = (self.theta_E + self.phi_E*numContacts_Q)*self.psi_E * (self.X==self.E) propensities_ItoQI = (self.theta_I + self.phi_I*numContacts_Q)*self.psi_I * (self.X==self.I) propensities_QEtoQI = self.sigma_Q * (self.X==self.Q_E) propensities_QItoR = self.gamma_Q * ((self.X==self.Q_I) & (numpy.greater_equal(self.rand_f, self.f))) propensities_QItoF = self.mu_Q * ((self.X==self.Q_I) & (numpy.less(self.rand_f, self.f))) propensities_RtoS = self.xi * (self.X==self.R) propensities__toS = self.nu * (self.X!=self.F) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ propensities = numpy.hstack([propensities_StoE, propensities_EtoI, propensities_ItoR, propensities_ItoF, propensities_EtoQE, propensities_ItoQI, propensities_QEtoQI, propensities_QItoR, propensities_QItoF, propensities_RtoS, propensities__toS]) columns = ['StoE', 'EtoI', 'ItoR', 'ItoF', 'EtoQE', 'ItoQI', 'QEtoQI', 'QItoR', 'QItoF', 'RtoS', '_toS'] return propensities, columns #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def set_isolation(self, node, isolate): # Move this node in/out of the appropriate isolation state: if(isolate == True): if(self.X[node] == self.E): self.X[node] = self.Q_E elif(self.X[node] == self.I): self.X[node] = self.Q_I elif(isolate == False): if(self.X[node] == self.Q_E): self.X[node] = self.E elif(self.X[node] == self.Q_I): self.X[node] = self.I # Reset the isolation timer: self.timer_isolation[node] = 0 #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def set_tested(self, node, tested): self.tested[node] = tested self.testedInCurrentState[node] = tested #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def set_positive(self, node, positive): self.positive[node] = positive #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def introduce_exposures(self, num_new_exposures): exposedNodes = numpy.random.choice(range(self.numNodes), size=num_new_exposures, replace=False) for exposedNode in exposedNodes: if(self.X[exposedNode]==self.S): self.X[exposedNode] = self.E #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def increase_data_series_length(self): self.tseries = numpy.pad(self.tseries, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numS = numpy.pad(self.numS, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numE = numpy.pad(self.numE, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numI = numpy.pad(self.numI, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numR = numpy.pad(self.numR, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numF = numpy.pad(self.numF, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numQ_E = numpy.pad(self.numQ_E, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numQ_I = numpy.pad(self.numQ_I, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.N = numpy.pad(self.N, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numTested = numpy.pad(self.numTested, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numPositive = numpy.pad(self.numPositive, [(0, 6*self.numNodes)], mode='constant', constant_values=0) if(self.store_Xseries): self.Xseries = numpy.pad(self.Xseries, [(0, 6*self.numNodes), (0,0)], mode='constant', constant_values=0) if(self.nodeGroupData): for groupName in self.nodeGroupData: self.nodeGroupData[groupName]['numS'] = numpy.pad(self.nodeGroupData[groupName]['numS'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numE'] = numpy.pad(self.nodeGroupData[groupName]['numE'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numI'] = numpy.pad(self.nodeGroupData[groupName]['numI'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numR'] = numpy.pad(self.nodeGroupData[groupName]['numR'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numF'] = numpy.pad(self.nodeGroupData[groupName]['numF'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numQ_E'] = numpy.pad(self.nodeGroupData[groupName]['numQ_E'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numQ_I'] = numpy.pad(self.nodeGroupData[groupName]['numQ_I'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['N'] = numpy.pad(self.nodeGroupData[groupName]['N'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numTested'] = numpy.pad(self.nodeGroupData[groupName]['numTested'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numPositive'] = numpy.pad(self.nodeGroupData[groupName]['numPositive'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) return None #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def finalize_data_series(self): self.tseries = numpy.array(self.tseries, dtype=float)[:self.tidx+1] self.numS = numpy.array(self.numS, dtype=float)[:self.tidx+1] self.numE = numpy.array(self.numE, dtype=float)[:self.tidx+1] self.numI = numpy.array(self.numI, dtype=float)[:self.tidx+1] self.numR = numpy.array(self.numR, dtype=float)[:self.tidx+1] self.numF = numpy.array(self.numF, dtype=float)[:self.tidx+1] self.numQ_E = numpy.array(self.numQ_E, dtype=float)[:self.tidx+1] self.numQ_I = numpy.array(self.numQ_I, dtype=float)[:self.tidx+1] self.N = numpy.array(self.N, dtype=float)[:self.tidx+1] self.numTested = numpy.array(self.numTested, dtype=float)[:self.tidx+1] self.numPositive = numpy.array(self.numPositive, dtype=float)[:self.tidx+1] if(self.store_Xseries): self.Xseries = self.Xseries[:self.tidx+1, :] if(self.nodeGroupData): for groupName in self.nodeGroupData: self.nodeGroupData[groupName]['numS'] = numpy.array(self.nodeGroupData[groupName]['numS'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numE'] = numpy.array(self.nodeGroupData[groupName]['numE'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numI'] = numpy.array(self.nodeGroupData[groupName]['numI'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numR'] = numpy.array(self.nodeGroupData[groupName]['numR'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numF'] = numpy.array(self.nodeGroupData[groupName]['numF'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numQ_E'] = numpy.array(self.nodeGroupData[groupName]['numQ_E'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numQ_I'] = numpy.array(self.nodeGroupData[groupName]['numQ_I'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['N'] = numpy.array(self.nodeGroupData[groupName]['N'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numTested'] = numpy.array(self.nodeGroupData[groupName]['numTested'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numPositive'] = numpy.array(self.nodeGroupData[groupName]['numPositive'], dtype=float)[:self.tidx+1] return None #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def run_iteration(self): if(self.tidx >= len(self.tseries)-1): # Room has run out in the timeseries storage arrays; double the size of these arrays: self.increase_data_series_length() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Generate 2 random numbers uniformly distributed in (0,1) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r1 = numpy.random.rand() r2 = numpy.random.rand() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Calculate propensities #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ propensities, transitionTypes = self.calc_propensities() if(propensities.sum() > 0): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Calculate alpha #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ propensities_flat = propensities.ravel(order='F') cumsum = propensities_flat.cumsum() alpha = propensities_flat.sum() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Compute the time until the next event takes place #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tau = (1/alpha)*numpy.log(float(1/r1)) self.t += tau self.timer_state += tau #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Compute which event takes place #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ transitionIdx = numpy.searchsorted(cumsum,r2*alpha) transitionNode = transitionIdx % self.numNodes transitionType = transitionTypes[ int(transitionIdx/self.numNodes) ] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Perform updates triggered by rate propensities: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ assert(self.X[transitionNode] == self.transitions[transitionType]['currentState'] and self.X[transitionNode]!=self.F), "Assertion error: Node "+str(transitionNode)+" has unexpected current state "+str(self.X[transitionNode])+" given the intended transition of "+str(transitionType)+"." self.X[transitionNode] = self.transitions[transitionType]['newState'] self.testedInCurrentState[transitionNode] = False self.timer_state[transitionNode] = 0.0 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Save information about infection events when they occur: if(transitionType == 'StoE'): transitionNode_GNbrs = list(self.G[transitionNode].keys()) transitionNode_GQNbrs = list(self.G_Q[transitionNode].keys()) self.infectionsLog.append({ 't': self.t, 'infected_node': transitionNode, 'infection_type': transitionType, 'infected_node_degree': self.degree[transitionNode], 'local_contact_nodes': transitionNode_GNbrs, 'local_contact_node_states': self.X[transitionNode_GNbrs].flatten(), 'isolation_contact_nodes': transitionNode_GQNbrs, 'isolation_contact_node_states':self.X[transitionNode_GQNbrs].flatten() }) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(transitionType in ['EtoQE', 'ItoQI']): self.set_positive(node=transitionNode, positive=True) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ else: tau = 0.01 self.t += tau self.timer_state += tau #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.tidx += 1 self.tseries[self.tidx] = self.t self.numS[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.S), a_min=0, a_max=self.numNodes) self.numE[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.E), a_min=0, a_max=self.numNodes) self.numI[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.I), a_min=0, a_max=self.numNodes) self.numF[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.F), a_min=0, a_max=self.numNodes) self.numQ_E[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.Q_E), a_min=0, a_max=self.numNodes) self.numQ_I[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.Q_I), a_min=0, a_max=self.numNodes) self.numTested[self.tidx] = numpy.clip(numpy.count_nonzero(self.tested), a_min=0, a_max=self.numNodes) self.numPositive[self.tidx] = numpy.clip(numpy.count_nonzero(self.positive), a_min=0, a_max=self.numNodes) self.N[self.tidx] = numpy.clip((self.numNodes - self.numF[self.tidx]), a_min=0, a_max=self.numNodes) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Update testing and isolation statuses #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ isolatedNodes = numpy.argwhere((self.X==self.Q_E)|(self.X==self.Q_I))[:,0].flatten() self.timer_isolation[isolatedNodes] = self.timer_isolation[isolatedNodes] + tau nodesExitingIsolation = numpy.argwhere(self.timer_isolation >= self.isolationTime) for isoNode in nodesExitingIsolation: self.set_isolation(node=isoNode, isolate=False) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Store system states #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(self.store_Xseries): self.Xseries[self.tidx,:] = self.X.T if(self.nodeGroupData): for groupName in self.nodeGroupData: self.nodeGroupData[groupName]['numS'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.S) self.nodeGroupData[groupName]['numE'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.E) self.nodeGroupData[groupName]['numI'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.I) self.nodeGroupData[groupName]['numR'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.R) self.nodeGroupData[groupName]['numF'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.F) self.nodeGroupData[groupName]['numQ_E'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_E) self.nodeGroupData[groupName]['numQ_I'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_I) self.nodeGroupData[groupName]['N'][self.tidx] = numpy.clip((self.nodeGroupData[groupName]['numS'][0] + self.nodeGroupData[groupName]['numE'][0] + self.nodeGroupData[groupName]['numI'][0] + self.nodeGroupData[groupName]['numQ_E'][0] + self.nodeGroupData[groupName]['numQ_I'][0] + self.nodeGroupData[groupName]['numR'][0]), a_min=0, a_max=self.numNodes) self.nodeGroupData[groupName]['numTested'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.tested) self.nodeGroupData[groupName]['numPositive'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.positive) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Terminate if tmax reached or num infections is 0: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(self.t >= self.tmax or (self.total_num_infected(self.tidx) < 1 and self.total_num_isolated(self.tidx) < 1)): self.finalize_data_series() return False #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ return True #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def run(self, T, checkpoints=None, print_interval=10, verbose='t'): if(T>0): self.tmax += T else: return False #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Pre-process checkpoint values: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(checkpoints): numCheckpoints = len(checkpoints['t']) for chkpt_param, chkpt_values in checkpoints.items(): assert(isinstance(chkpt_values, (list, numpy.ndarray)) and len(chkpt_values)==numCheckpoints), "Expecting a list of values with length equal to number of checkpoint times ("+str(numCheckpoints)+") for each checkpoint parameter." checkpointIdx = numpy.searchsorted(checkpoints['t'], self.t) # Finds 1st index in list greater than given val if(checkpointIdx >= numCheckpoints): # We are out of checkpoints, stop checking them: checkpoints = None else: checkpointTime = checkpoints['t'][checkpointIdx] #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Run the simulation loop: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% print_reset = True running = True while running: running = self.run_iteration() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Handle checkpoints if applicable: if(checkpoints): if(self.t >= checkpointTime): if(verbose is not False): print("[Checkpoint: Updating parameters]") # A checkpoint has been reached, update param values: for param in list(self.parameters.keys()): if(param in list(checkpoints.keys())): self.parameters.update({param: checkpoints[param][checkpointIdx]}) # Update parameter data structures and scenario flags: self.update_parameters() # Update the next checkpoint time: checkpointIdx = numpy.searchsorted(checkpoints['t'], self.t) # Finds 1st index in list greater than given val if(checkpointIdx >= numCheckpoints): # We are out of checkpoints, stop checking them: checkpoints = None else: checkpointTime = checkpoints['t'][checkpointIdx] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(print_interval): if(print_reset and (int(self.t) % print_interval == 0)): if(verbose=="t"): print("t = %.2f" % self.t) if(verbose==True): print("t = %.2f" % self.t) print("\t S = " + str(self.numS[self.tidx])) print("\t E = " + str(self.numE[self.tidx])) print("\t I = " + str(self.numI[self.tidx])) print("\t R = " + str(self.numR[self.tidx])) print("\t F = " + str(self.numF[self.tidx])) print("\t Q_E = " + str(self.numQ_E[self.tidx])) print("\t Q_I = " + str(self.numQ_I[self.tidx])) print_reset = False elif(not print_reset and (int(self.t) % 10 != 0)): print_reset = True return True #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def plot(self, ax=None, plot_S='line', plot_E='line', plot_I='line',plot_R='line', plot_F='line', plot_Q_E='line', plot_Q_I='line', combine_D=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_Q_E='mediumorchid', color_Q_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True): import matplotlib.pyplot as pyplot #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Create an Axes object if None provided: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(not ax): fig, ax = pyplot.subplots() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Prepare data series to be plotted: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fseries = self.numF/self.numNodes if plot_percentages else self.numF Eseries = self.numE/self.numNodes if plot_percentages else self.numE Dseries = (self.numQ_E+self.numQ_I)/self.numNodes if plot_percentages else (self.numQ_E+self.numQ_I) Q_Eseries = self.numQ_E/self.numNodes if plot_percentages else self.numQ_E Q_Iseries = self.numQ_I/self.numNodes if plot_percentages else self.numQ_I Iseries = self.numI/self.numNodes if plot_percentages else self.numI Rseries = self.numR/self.numNodes if plot_percentages else self.numR Sseries = self.numS/self.numNodes if plot_percentages else self.numS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the reference data: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(dashed_reference_results): dashedReference_tseries = dashed_reference_results.tseries[::int(self.numNodes/100)] dashedReference_IDEstack = (dashed_reference_results.numI + dashed_reference_results.numQ_I + dashed_reference_results.numQ_E + dashed_reference_results.numE)[::int(self.numNodes/100)] / (self.numNodes if plot_percentages else 1) ax.plot(dashedReference_tseries, dashedReference_IDEstack, color='#E0E0E0', linestyle='--', label='$I+D+E$ ('+dashed_reference_label+')', zorder=0) if(shaded_reference_results): shadedReference_tseries = shaded_reference_results.tseries shadedReference_IDEstack = (shaded_reference_results.numI + shaded_reference_results.numQ_I + shaded_reference_results.numQ_E + shaded_reference_results.numE) / (self.numNodes if plot_percentages else 1) ax.fill_between(shaded_reference_results.tseries, shadedReference_IDEstack, 0, color='#EFEFEF', label='$I+D+E$ ('+shaded_reference_label+')', zorder=0) ax.plot(shaded_reference_results.tseries, shadedReference_IDEstack, color='#E0E0E0', zorder=1) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the stacked variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topstack = numpy.zeros_like(self.tseries) if(any(Fseries) and plot_F=='stacked'): ax.fill_between(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, topstack+Fseries), topstack, color=color_F, alpha=0.5, label='$F$', zorder=2) ax.plot( numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, topstack+Fseries), color=color_F, zorder=3) topstack = topstack+Fseries if(any(Eseries) and plot_E=='stacked'): ax.fill_between(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, topstack+Eseries), topstack, color=color_E, alpha=0.5, label='$E$', zorder=2) ax.plot( numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, topstack+Eseries), color=color_E, zorder=3) topstack = topstack+Eseries if(combine_D and plot_Q_E=='stacked' and plot_Q_I=='stacked'): ax.fill_between(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, topstack+Dseries), topstack, color=color_Q_E, alpha=0.5, label='$Q_{all}$', zorder=2) ax.plot( numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, topstack+Dseries), color=color_Q_E, zorder=3) topstack = topstack+Dseries else: if(any(Q_Eseries) and plot_Q_E=='stacked'): ax.fill_between(numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, topstack+Q_Eseries), topstack, color=color_Q_E, alpha=0.5, label='$Q_E$', zorder=2) ax.plot( numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, topstack+Q_Eseries), color=color_Q_E, zorder=3) topstack = topstack+Q_Eseries if(any(Q_Iseries) and plot_Q_I=='stacked'): ax.fill_between(numpy.ma.masked_where(Q_Iseries<=0, self.tseries), numpy.ma.masked_where(Q_Iseries<=0, topstack+Q_Iseries), topstack, color=color_Q_I, alpha=0.5, label='$Q_I$', zorder=2) ax.plot( numpy.ma.masked_where(Q_Iseries<=0, self.tseries), numpy.ma.masked_where(Q_Iseries<=0, topstack+Q_Iseries), color=color_Q_I, zorder=3) topstack = topstack+Q_Iseries if(any(Iseries) and plot_I=='stacked'): ax.fill_between(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, topstack+Iseries), topstack, color=color_I, alpha=0.5, label='$I$', zorder=2) ax.plot( numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, topstack+Iseries), color=color_I, zorder=3) topstack = topstack+Iseries if(any(Rseries) and plot_R=='stacked'): ax.fill_between(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, topstack+Rseries), topstack, color=color_R, alpha=0.5, label='$R$', zorder=2) ax.plot( numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, topstack+Rseries), color=color_R, zorder=3) topstack = topstack+Rseries if(any(Sseries) and plot_S=='stacked'): ax.fill_between(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, topstack+Sseries), topstack, color=color_S, alpha=0.5, label='$S$', zorder=2) ax.plot( numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, topstack+Sseries), color=color_S, zorder=3) topstack = topstack+Sseries #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the shaded variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(any(Fseries) and plot_F=='shaded'): ax.fill_between(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), 0, color=color_F, alpha=0.5, label='$F$', zorder=4) ax.plot( numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), color=color_F, zorder=5) if(any(Eseries) and plot_E=='shaded'): ax.fill_between(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), 0, color=color_E, alpha=0.5, label='$E$', zorder=4) ax.plot( numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), color=color_E, zorder=5) if(combine_D and (any(Dseries) and plot_Q_E=='shaded' and plot_Q_I=='shaded')): ax.fill_between(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), 0, color=color_Q_E, alpha=0.5, label='$Q_{all}$', zorder=4) ax.plot( numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), color=color_Q_E, zorder=5) else: if(any(Q_Eseries) and plot_Q_E=='shaded'): ax.fill_between(numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, Q_Eseries), 0, color=color_Q_E, alpha=0.5, label='$Q_E$', zorder=4) ax.plot( numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, Q_Eseries), color=color_Q_E, zorder=5) if(any(Q_Iseries) and plot_Q_I=='shaded'): ax.fill_between(numpy.ma.masked_where(Q_Iseries<=0, self.tseries), numpy.ma.masked_where(Q_Iseries<=0, Q_Iseries), 0, color=color_Q_I, alpha=0.5, label='$Q_I$', zorder=4) ax.plot( numpy.ma.masked_where(Q_Iseries<=0, self.tseries), numpy.ma.masked_where(Q_Iseries<=0, Q_Iseries), color=color_Q_I, zorder=5) if(any(Iseries) and plot_I=='shaded'): ax.fill_between(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), 0, color=color_I, alpha=0.5, label='$I$', zorder=4) ax.plot( numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), color=color_I, zorder=5) if(any(Sseries) and plot_S=='shaded'): ax.fill_between(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), 0, color=color_S, alpha=0.5, label='$S$', zorder=4) ax.plot( numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), color=color_S, zorder=5) if(any(Rseries) and plot_R=='shaded'): ax.fill_between(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), 0, color=color_R, alpha=0.5, label='$R$', zorder=4) ax.plot( numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), color=color_R, zorder=5) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the line variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(any(Fseries) and plot_F=='line'): ax.plot(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), color=color_F, label='$F$', zorder=6) if(any(Eseries) and plot_E=='line'): ax.plot(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), color=color_E, label='$E$', zorder=6) if(combine_D and (any(Dseries) and plot_Q_E=='line' and plot_Q_I=='line')): ax.plot(numpy.ma.masked_where(Dseries<=0, self.tseries), numpy.ma.masked_where(Dseries<=0, Dseries), color=color_Q_E, label='$Q_{all}$', zorder=6) else: if(any(Q_Eseries) and plot_Q_E=='line'): ax.plot(numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, Q_Eseries), color=color_Q_E, label='$Q_E$', zorder=6) if(any(Q_Iseries) and plot_Q_I=='line'): ax.plot(numpy.ma.masked_where(Q_Iseries<=0, self.tseries), numpy.ma.masked_where(Q_Iseries<=0, Q_Iseries), color=color_Q_I, label='$Q_I$', zorder=6) if(any(Iseries) and plot_I=='line'): ax.plot(numpy.ma.masked_where(Iseries<=0, self.tseries), numpy.ma.masked_where(Iseries<=0, Iseries), color=color_I, label='$I$', zorder=6) if(any(Sseries) and plot_S=='line'): ax.plot(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), color=color_S, label='$S$', zorder=6) if(any(Rseries) and plot_R=='line'): ax.plot(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), color=color_R, label='$R$', zorder=6) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the vertical line annotations: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(len(vlines)>0 and len(vline_colors)==0): vline_colors = ['gray']*len(vlines) if(len(vlines)>0 and len(vline_labels)==0): vline_labels = [None]*len(vlines) if(len(vlines)>0 and len(vline_styles)==0): vline_styles = [':']*len(vlines) for vline_x, vline_color, vline_style, vline_label in zip(vlines, vline_colors, vline_styles, vline_labels): if(vline_x is not None): ax.axvline(x=vline_x, color=vline_color, linestyle=vline_style, alpha=1, label=vline_label) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the plot labels: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ax.set_xlabel('days') ax.set_ylabel('percent of population' if plot_percentages else 'number of individuals') ax.set_xlim(0, (max(self.tseries) if not xlim else xlim)) ax.set_ylim(0, ylim) if(plot_percentages): ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()]) if(legend): legend_handles, legend_labels = ax.get_legend_handles_labels() ax.legend(legend_handles[::-1], legend_labels[::-1], loc='upper right', facecolor='white', edgecolor='none', framealpha=0.9, prop={'size': 8}) if(title): ax.set_title(title, size=12) if(side_title): ax.annotate(side_title, (0, 0.5), xytext=(-45, 0), ha='right', va='center', size=12, rotation=90, xycoords='axes fraction', textcoords='offset points') return ax #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def figure_basic(self, plot_S='line', plot_E='line', plot_I='line',plot_R='line', plot_F='line', plot_Q_E='line', plot_Q_I='line', combine_D=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_Q_E='mediumorchid', color_Q_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True, figsize=(12,8), use_seaborn=True, show=True): import matplotlib.pyplot as pyplot fig, ax = pyplot.subplots(figsize=figsize) if(use_seaborn): import seaborn seaborn.set_style('ticks') seaborn.despine() self.plot(ax=ax, plot_S=plot_S, plot_E=plot_E, plot_I=plot_I,plot_R=plot_R, plot_F=plot_F, plot_Q_E=plot_Q_E, plot_Q_I=plot_Q_I, combine_D=combine_D, color_S=color_S, color_E=color_E, color_I=color_I, color_R=color_R, color_F=color_F, color_Q_E=color_Q_E, color_Q_I=color_Q_I, color_reference=color_reference, dashed_reference_results=dashed_reference_results, dashed_reference_label=dashed_reference_label, shaded_reference_results=shaded_reference_results, shaded_reference_label=shaded_reference_label, vlines=vlines, vline_colors=vline_colors, vline_styles=vline_styles, vline_labels=vline_labels, ylim=ylim, xlim=xlim, legend=legend, title=title, side_title=side_title, plot_percentages=plot_percentages) if(show): pyplot.show() return fig, ax #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def figure_infections(self, plot_S=False, plot_E='stacked', plot_I='stacked',plot_R=False, plot_F=False, plot_Q_E='stacked', plot_Q_I='stacked', combine_D=True, color_S='tab:green', color_E='orange', color_I='crimson', color_R='tab:blue', color_F='black', color_Q_E='mediumorchid', color_Q_I='mediumorchid', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True, figsize=(12,8), use_seaborn=True, show=True): import matplotlib.pyplot as pyplot fig, ax = pyplot.subplots(figsize=figsize) if(use_seaborn): import seaborn seaborn.set_style('ticks') seaborn.despine() self.plot(ax=ax, plot_S=plot_S, plot_E=plot_E, plot_I=plot_I,plot_R=plot_R, plot_F=plot_F, plot_Q_E=plot_Q_E, plot_Q_I=plot_Q_I, combine_D=combine_D, color_S=color_S, color_E=color_E, color_I=color_I, color_R=color_R, color_F=color_F, color_Q_E=color_Q_E, color_Q_I=color_Q_I, color_reference=color_reference, dashed_reference_results=dashed_reference_results, dashed_reference_label=dashed_reference_label, shaded_reference_results=shaded_reference_results, shaded_reference_label=shaded_reference_label, vlines=vlines, vline_colors=vline_colors, vline_styles=vline_styles, vline_labels=vline_labels, ylim=ylim, xlim=xlim, legend=legend, title=title, side_title=side_title, plot_percentages=plot_percentages) if(show): pyplot.show() return fig, ax #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ######################################################## #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# #@ @# #@ EXTENDED SEIRS MODELS @# #@ @# #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# ######################################################## class ExtSEIRSNetworkModel(): """ A class to simulate the Extended SEIRS Stochastic Network Model =================================================== Params: G Network adjacency matrix (numpy array) or Networkx graph object. beta Rate of transmission (global interactions) beta_local Rate(s) of transmission between adjacent individuals (optional) beta_asym Rate of transmission (global interactions) beta_asym_local Rate(s) of transmission between adjacent individuals (optional) sigma Rate of progression to infectious state (inverse of latent period) lamda Rate of progression to infectious (a)symptomatic state (inverse of prodromal period) eta Rate of progression to hospitalized state (inverse of onset-to-admission period) gamma Rate of recovery for non-hospitalized symptomatic individuals (inverse of symptomatic infectious period) gamma_asym Rate of recovery for asymptomatic individuals (inverse of asymptomatic infectious period) gamma_H Rate of recovery for hospitalized symptomatic individuals (inverse of hospitalized infectious period) mu_H Rate of death for hospitalized individuals (inverse of admission-to-death period) xi Rate of re-susceptibility (upon recovery) mu_0 Rate of baseline death nu Rate of baseline birth a Probability of an infected individual remaining asymptomatic h Probability of a symptomatic individual being hospitalized f Probability of death for hospitalized individuals (case fatality rate) p Probability of individuals interacting with global population G_Q Quarantine adjacency matrix (numpy array) or Networkx graph object. beta_Q Rate of transmission for isolated individuals (global interactions) beta_Q_local Rate(s) of transmission (exposure) for adjacent isolated individuals (optional) sigma_Q Rate of progression to infectious state for isolated individuals lamda_Q Rate of progression to infectious (a)symptomatic state for isolated individuals eta_Q Rate of progression to hospitalized state for isolated individuals gamma_Q_sym Rate of recovery for non-hospitalized symptomatic individuals for isolated individuals gamma_Q_asym Rate of recovery for asymptomatic individuals for isolated individuals theta_E Rate of random testing for exposed individuals theta_pre Rate of random testing for infectious pre-symptomatic individuals theta_sym Rate of random testing for infectious symptomatic individuals theta_asym Rate of random testing for infectious asymptomatic individuals phi_E Rate of testing when a close contact has tested positive for exposed individuals phi_pre Rate of testing when a close contact has tested positive for infectious pre-symptomatic individuals phi_sym Rate of testing when a close contact has tested positive for infectious symptomatic individuals phi_asym Rate of testing when a close contact has tested positive for infectious asymptomatic individuals psi_E Probability of positive test for exposed individuals psi_pre Probability of positive test for infectious pre-symptomatic individuals psi_sym Probability of positive test for infectious symptomatic individuals psi_asym Probability of positive test for infectious asymptomatic individuals q Probability of isolated individuals interacting with global population isolation_time Time to remain in isolation upon positive test, self-isolation, etc. initE Initial number of exposed individuals initI_pre Initial number of infectious pre-symptomatic individuals initI_sym Initial number of infectious symptomatic individuals initI_asym Initial number of infectious asymptomatic individuals initH Initial number of hospitalized individuals initR Initial number of recovered individuals initF Initial number of infection-related fatalities initQ_S Initial number of isolated susceptible individuals initQ_E Initial number of isolated exposed individuals initQ_pre Initial number of isolated infectious pre-symptomatic individuals initQ_sym Initial number of isolated infectious symptomatic individuals initQ_asym Initial number of isolated infectious asymptomatic individuals initQ_R Initial number of isolated recovered individuals (all remaining nodes initialized susceptible) """ def __init__(self, G, beta, sigma, lamda, gamma, gamma_asym=None, eta=0, gamma_H=None, mu_H=0, alpha=1.0, xi=0, mu_0=0, nu=0, a=0, h=0, f=0, p=0, beta_local=None, beta_asym=None, beta_asym_local=None, beta_pairwise_mode='infected', delta=None, delta_pairwise_mode=None, G_Q=None, beta_Q=None, beta_Q_local=None, sigma_Q=None, lamda_Q=None, eta_Q=None, gamma_Q_sym=None, gamma_Q_asym=None, alpha_Q=None, delta_Q=None, theta_S=0, theta_E=0, theta_pre=0, theta_sym=0, theta_asym=0, phi_S=0, phi_E=0, phi_pre=0, phi_sym=0, phi_asym=0, psi_S=0, psi_E=1, psi_pre=1, psi_sym=1, psi_asym=1, q=0, isolation_time=14, initE=0, initI_pre=0, initI_sym=0, initI_asym=0, initH=0, initR=0, initF=0, initQ_S=0, initQ_E=0, initQ_pre=0, initQ_sym=0, initQ_asym=0, initQ_R=0, o=0, prevalence_ext=0, transition_mode='exponential_rates', node_groups=None, store_Xseries=False, seed=None): if(seed is not None): numpy.random.seed(seed) self.seed = seed #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Model Parameters: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.parameters = { 'G':G, 'G_Q':G_Q, 'beta':beta, 'sigma':sigma, 'lamda':lamda, 'gamma':gamma, 'eta':eta, 'gamma_asym':gamma_asym, 'gamma_H':gamma_H, 'mu_H':mu_H, 'xi':xi, 'mu_0':mu_0, 'nu':nu, 'a':a, 'h':h, 'f':f, 'p':p, 'beta_local':beta_local, 'beta_asym':beta_asym, 'beta_asym_local':beta_asym_local, 'beta_pairwise_mode':beta_pairwise_mode, 'alpha':alpha, 'delta':delta, 'delta_pairwise_mode':delta_pairwise_mode, 'lamda_Q':lamda_Q, 'beta_Q':beta_Q, 'beta_Q_local':beta_Q_local, 'alpha_Q':alpha_Q, 'sigma_Q':sigma_Q, 'eta_Q':eta_Q, 'gamma_Q_sym':gamma_Q_sym, 'gamma_Q_asym':gamma_Q_asym, 'delta_Q':delta_Q, 'theta_S':theta_S, 'theta_E':theta_E, 'theta_pre':theta_pre, 'theta_sym':theta_sym, 'theta_asym':theta_asym, 'phi_S':phi_S, 'phi_E':phi_E, 'phi_pre':phi_pre, 'phi_sym':phi_sym, 'phi_asym':phi_asym, 'psi_S':psi_S, 'psi_E':psi_E, 'psi_pre':psi_pre, 'psi_sym':psi_sym, 'psi_asym':psi_asym, 'q':q, 'isolation_time':isolation_time, 'initE':initE, 'initI_pre':initI_pre, 'initI_sym':initI_sym, 'initI_asym':initI_asym, 'initH':initH, 'initR':initR, 'initF':initF, 'initQ_S':initQ_S, 'initQ_E':initQ_E, 'initQ_pre':initQ_pre, 'initQ_sym':initQ_sym, 'initQ_asym':initQ_asym, 'initQ_R':initQ_R, 'o':o, 'prevalence_ext':prevalence_ext} self.update_parameters() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Each node can undergo 4-6 transitions (sans vitality/re-susceptibility returns to S state), # so there are ~numNodes*6 events/timesteps expected; initialize numNodes*6 timestep slots to start # (will be expanded during run if needed for some reason) self.tseries = numpy.zeros(6*self.numNodes) self.numS = numpy.zeros(6*self.numNodes) self.numE = numpy.zeros(6*self.numNodes) self.numI_pre = numpy.zeros(6*self.numNodes) self.numI_sym = numpy.zeros(6*self.numNodes) self.numI_asym = numpy.zeros(6*self.numNodes) self.numH = numpy.zeros(6*self.numNodes) self.numR = numpy.zeros(6*self.numNodes) self.numF = numpy.zeros(6*self.numNodes) self.numQ_S = numpy.zeros(6*self.numNodes) self.numQ_E = numpy.zeros(6*self.numNodes) self.numQ_pre = numpy.zeros(6*self.numNodes) self.numQ_sym = numpy.zeros(6*self.numNodes) self.numQ_asym = numpy.zeros(6*self.numNodes) self.numQ_R = numpy.zeros(6*self.numNodes) self.N = numpy.zeros(6*self.numNodes) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize Timekeeping: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.t = 0 self.tmax = 0 # will be set when run() is called self.tidx = 0 self.tseries[0] = 0 # Vectors holding the time that each node has been in a given state or in isolation: self.timer_state = numpy.zeros((self.numNodes,1)) self.timer_isolation = numpy.zeros(self.numNodes) self.isolationTime = isolation_time #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize Counts of inidividuals with each state: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.numE[0] = int(initE) self.numI_pre[0] = int(initI_pre) self.numI_sym[0] = int(initI_sym) self.numI_asym[0] = int(initI_asym) self.numH[0] = int(initH) self.numR[0] = int(initR) self.numF[0] = int(initF) self.numQ_S[0] = int(initQ_S) self.numQ_E[0] = int(initQ_E) self.numQ_pre[0] = int(initQ_pre) self.numQ_sym[0] = int(initQ_sym) self.numQ_asym[0] = int(initQ_asym) self.numQ_R[0] = int(initQ_R) self.numS[0] = (self.numNodes - self.numE[0] - self.numI_pre[0] - self.numI_sym[0] - self.numI_asym[0] - self.numH[0] - self.numR[0] - self.numQ_S[0] - self.numQ_E[0] - self.numQ_pre[0] - self.numQ_sym[0] - self.numQ_asym[0] - self.numQ_R[0] - self.numF[0]) self.N[0] = self.numNodes - self.numF[0] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Node states: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.S = 1 self.E = 2 self.I_pre = 3 self.I_sym = 4 self.I_asym = 5 self.H = 6 self.R = 7 self.F = 8 self.Q_S = 11 self.Q_E = 12 self.Q_pre = 13 self.Q_sym = 14 self.Q_asym = 15 self.Q_R = 17 self.X = numpy.array( [self.S]*int(self.numS[0]) + [self.E]*int(self.numE[0]) + [self.I_pre]*int(self.numI_pre[0]) + [self.I_sym]*int(self.numI_sym[0]) + [self.I_asym]*int(self.numI_asym[0]) + [self.H]*int(self.numH[0]) + [self.R]*int(self.numR[0]) + [self.F]*int(self.numF[0]) + [self.Q_S]*int(self.numQ_S[0]) + [self.Q_E]*int(self.numQ_E[0]) + [self.Q_pre]*int(self.numQ_pre[0]) + [self.Q_sym]*int(self.numQ_sym[0]) + [self.Q_asym]*int(self.numQ_asym[0]) + [self.Q_R]*int(self.numQ_R[0]) ).reshape((self.numNodes,1)) numpy.random.shuffle(self.X) self.store_Xseries = store_Xseries if(store_Xseries): self.Xseries = numpy.zeros(shape=(6*self.numNodes, self.numNodes), dtype='uint8') self.Xseries[0,:] = self.X.T self.transitions = { 'StoE': {'currentState':self.S, 'newState':self.E}, 'StoQS': {'currentState':self.S, 'newState':self.Q_S}, 'EtoIPRE': {'currentState':self.E, 'newState':self.I_pre}, 'EtoQE': {'currentState':self.E, 'newState':self.Q_E}, 'IPREtoISYM': {'currentState':self.I_pre, 'newState':self.I_sym}, 'IPREtoIASYM': {'currentState':self.I_pre, 'newState':self.I_asym}, 'IPREtoQPRE': {'currentState':self.I_pre, 'newState':self.Q_pre}, 'ISYMtoH': {'currentState':self.I_sym, 'newState':self.H}, 'ISYMtoR': {'currentState':self.I_sym, 'newState':self.R}, 'ISYMtoQSYM': {'currentState':self.I_sym, 'newState':self.Q_sym}, 'IASYMtoR': {'currentState':self.I_asym, 'newState':self.R}, 'IASYMtoQASYM': {'currentState':self.I_asym, 'newState':self.Q_asym}, 'HtoR': {'currentState':self.H, 'newState':self.R}, 'HtoF': {'currentState':self.H, 'newState':self.F}, 'RtoS': {'currentState':self.R, 'newState':self.S}, 'QStoQE': {'currentState':self.Q_S, 'newState':self.Q_E}, 'QEtoQPRE': {'currentState':self.Q_E, 'newState':self.Q_pre}, 'QPREtoQSYM': {'currentState':self.Q_pre, 'newState':self.Q_sym}, 'QPREtoQASYM': {'currentState':self.Q_pre, 'newState':self.Q_asym}, 'QSYMtoH': {'currentState':self.Q_sym, 'newState':self.H}, 'QSYMtoQR': {'currentState':self.Q_sym, 'newState':self.Q_R}, 'QASYMtoQR': {'currentState':self.Q_asym, 'newState':self.Q_R}, '_toS': {'currentState':True, 'newState':self.S}, } self.transition_mode = transition_mode #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize other node metadata: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.tested = numpy.array([False]*self.numNodes).reshape((self.numNodes,1)) self.positive = numpy.array([False]*self.numNodes).reshape((self.numNodes,1)) self.numTested = numpy.zeros(6*self.numNodes) self.numPositive = numpy.zeros(6*self.numNodes) self.testedInCurrentState = numpy.array([False]*self.numNodes).reshape((self.numNodes,1)) self.infectionsLog = [] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Initialize node subgroup data series: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.nodeGroupData = None if(node_groups): self.nodeGroupData = {} for groupName, nodeList in node_groups.items(): self.nodeGroupData[groupName] = {'nodes': numpy.array(nodeList), 'mask': numpy.isin(range(self.numNodes), nodeList).reshape((self.numNodes,1))} self.nodeGroupData[groupName]['numS'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numE'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numI_pre'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numI_sym'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numI_asym'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numH'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numR'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numF'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numQ_S'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numQ_E'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numQ_pre'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numQ_sym'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numQ_asym'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numQ_R'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['N'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numPositive'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numTested'] = numpy.zeros(6*self.numNodes) self.nodeGroupData[groupName]['numS'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.S) self.nodeGroupData[groupName]['numE'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.E) self.nodeGroupData[groupName]['numI_pre'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.I_pre) self.nodeGroupData[groupName]['numI_sym'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.I_sym) self.nodeGroupData[groupName]['numI_asym'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.I_asym) self.nodeGroupData[groupName]['numH'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.H) self.nodeGroupData[groupName]['numR'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.R) self.nodeGroupData[groupName]['numF'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.F) self.nodeGroupData[groupName]['numQ_S'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_E) self.nodeGroupData[groupName]['numQ_E'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_E) self.nodeGroupData[groupName]['numQ_pre'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_pre) self.nodeGroupData[groupName]['numQ_I_sym'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_I_sym) self.nodeGroupData[groupName]['numQ_I_asym'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_I_asym) self.nodeGroupData[groupName]['numQ_R'][0] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_E) self.nodeGroupData[groupName]['N'][0] = self.numNodes - self.numF[0] #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def update_parameters(self): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Model graphs: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.G = self.parameters['G'] # Adjacency matrix: if type(self.G)==numpy.ndarray: self.A = scipy.sparse.csr_matrix(self.G) elif type(self.G)==networkx.classes.graph.Graph: self.A = networkx.adj_matrix(self.G) # adj_matrix gives scipy.sparse csr_matrix else: raise BaseException("Input an adjacency matrix or networkx object only.") self.numNodes = int(self.A.shape[1]) self.degree = numpy.asarray(self.node_degrees(self.A)).astype(float) #---------------------------------------- if(self.parameters['G_Q'] is None): self.G_Q = self.G # If no Q graph is provided, use G in its place else: self.G_Q = self.parameters['G_Q'] # Quarantine Adjacency matrix: if type(self.G_Q)==numpy.ndarray: self.A_Q = scipy.sparse.csr_matrix(self.G_Q) elif type(self.G_Q)==networkx.classes.graph.Graph: self.A_Q = networkx.adj_matrix(self.G_Q) # adj_matrix gives scipy.sparse csr_matrix else: raise BaseException("Input an adjacency matrix or networkx object only.") self.numNodes_Q = int(self.A_Q.shape[1]) self.degree_Q = numpy.asarray(self.node_degrees(self.A_Q)).astype(float) #---------------------------------------- assert(self.numNodes == self.numNodes_Q), "The normal and quarantine adjacency graphs must be of the same size." #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Model parameters: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.beta = numpy.array(self.parameters['beta']).reshape((self.numNodes, 1)) if isinstance(self.parameters['beta'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta'], shape=(self.numNodes,1)) self.beta_asym = (numpy.array(self.parameters['beta_asym']).reshape((self.numNodes, 1)) if isinstance(self.parameters['beta_asym'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta_asym'], shape=(self.numNodes,1))) if self.parameters['beta_asym'] is not None else self.beta self.sigma = numpy.array(self.parameters['sigma']).reshape((self.numNodes, 1)) if isinstance(self.parameters['sigma'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['sigma'], shape=(self.numNodes,1)) self.lamda = numpy.array(self.parameters['lamda']).reshape((self.numNodes, 1)) if isinstance(self.parameters['lamda'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['lamda'], shape=(self.numNodes,1)) self.gamma = numpy.array(self.parameters['gamma']).reshape((self.numNodes, 1)) if isinstance(self.parameters['gamma'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['gamma'], shape=(self.numNodes,1)) self.eta = numpy.array(self.parameters['eta']).reshape((self.numNodes, 1)) if isinstance(self.parameters['eta'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['eta'], shape=(self.numNodes,1)) self.gamma_asym = (numpy.array(self.parameters['gamma_asym']).reshape((self.numNodes, 1)) if isinstance(self.parameters['gamma_asym'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['gamma_asym'], shape=(self.numNodes,1))) if self.parameters['gamma_asym'] is not None else self.gamma self.gamma_H = (numpy.array(self.parameters['gamma_H']).reshape((self.numNodes, 1)) if isinstance(self.parameters['gamma_H'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['gamma_H'], shape=(self.numNodes,1))) if self.parameters['gamma_H'] is not None else self.gamma self.mu_H = numpy.array(self.parameters['mu_H']).reshape((self.numNodes, 1)) if isinstance(self.parameters['mu_H'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['mu_H'], shape=(self.numNodes,1)) self.alpha = numpy.array(self.parameters['alpha']).reshape((self.numNodes, 1)) if isinstance(self.parameters['alpha'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['alpha'], shape=(self.numNodes,1)) self.xi = numpy.array(self.parameters['xi']).reshape((self.numNodes, 1)) if isinstance(self.parameters['xi'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['xi'], shape=(self.numNodes,1)) self.mu_0 = numpy.array(self.parameters['mu_0']).reshape((self.numNodes, 1)) if isinstance(self.parameters['mu_0'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['mu_0'], shape=(self.numNodes,1)) self.nu = numpy.array(self.parameters['nu']).reshape((self.numNodes, 1)) if isinstance(self.parameters['nu'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['nu'], shape=(self.numNodes,1)) self.a = numpy.array(self.parameters['a']).reshape((self.numNodes, 1)) if isinstance(self.parameters['a'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['a'], shape=(self.numNodes,1)) self.h = numpy.array(self.parameters['h']).reshape((self.numNodes, 1)) if isinstance(self.parameters['h'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['h'], shape=(self.numNodes,1)) self.f = numpy.array(self.parameters['f']).reshape((self.numNodes, 1)) if isinstance(self.parameters['f'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['f'], shape=(self.numNodes,1)) self.p = numpy.array(self.parameters['p']).reshape((self.numNodes, 1)) if isinstance(self.parameters['p'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['p'], shape=(self.numNodes,1)) self.o = numpy.array(self.parameters['o']).reshape((self.numNodes, 1)) if isinstance(self.parameters['o'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['o'], shape=(self.numNodes,1)) self.rand_a = numpy.random.rand(self.a.shape[0], self.a.shape[1]) self.rand_h = numpy.random.rand(self.h.shape[0], self.h.shape[1]) self.rand_f = numpy.random.rand(self.f.shape[0], self.f.shape[1]) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # External infection introduction variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.prevalence_ext = numpy.array(self.parameters['prevalence_ext']).reshape((self.numNodes, 1)) if isinstance(self.parameters['prevalence_ext'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['prevalence_ext'], shape=(self.numNodes,1)) #---------------------------------------- # Testing-related parameters: #---------------------------------------- self.beta_Q = (numpy.array(self.parameters['beta_Q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['beta_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta_Q'], shape=(self.numNodes,1))) if self.parameters['beta_Q'] is not None else self.beta self.sigma_Q = (numpy.array(self.parameters['sigma_Q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['sigma_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['sigma_Q'], shape=(self.numNodes,1))) if self.parameters['sigma_Q'] is not None else self.sigma self.lamda_Q = (numpy.array(self.parameters['lamda_Q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['lamda_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['lamda_Q'], shape=(self.numNodes,1))) if self.parameters['lamda_Q'] is not None else self.lamda self.gamma_Q_sym = (numpy.array(self.parameters['gamma_Q_sym']).reshape((self.numNodes, 1)) if isinstance(self.parameters['gamma_Q_sym'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['gamma_Q_sym'], shape=(self.numNodes,1))) if self.parameters['gamma_Q_sym'] is not None else self.gamma self.gamma_Q_asym = (numpy.array(self.parameters['gamma_Q_asym']).reshape((self.numNodes, 1)) if isinstance(self.parameters['gamma_Q_asym'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['gamma_Q_asym'], shape=(self.numNodes,1))) if self.parameters['gamma_Q_asym'] is not None else self.gamma self.eta_Q = (numpy.array(self.parameters['eta_Q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['eta_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['eta_Q'], shape=(self.numNodes,1))) if self.parameters['eta_Q'] is not None else self.eta self.alpha_Q = (numpy.array(self.parameters['alpha_Q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['alpha_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['alpha_Q'], shape=(self.numNodes,1))) if self.parameters['alpha_Q'] is not None else self.alpha self.theta_S = numpy.array(self.parameters['theta_S']).reshape((self.numNodes, 1)) if isinstance(self.parameters['theta_S'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['theta_S'], shape=(self.numNodes,1)) self.theta_E = numpy.array(self.parameters['theta_E']).reshape((self.numNodes, 1)) if isinstance(self.parameters['theta_E'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['theta_E'], shape=(self.numNodes,1)) self.theta_pre = numpy.array(self.parameters['theta_pre']).reshape((self.numNodes, 1)) if isinstance(self.parameters['theta_pre'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['theta_pre'], shape=(self.numNodes,1)) self.theta_sym = numpy.array(self.parameters['theta_sym']).reshape((self.numNodes, 1)) if isinstance(self.parameters['theta_sym'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['theta_sym'], shape=(self.numNodes,1)) self.theta_asym = numpy.array(self.parameters['theta_asym']).reshape((self.numNodes, 1)) if isinstance(self.parameters['theta_asym'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['theta_asym'], shape=(self.numNodes,1)) self.phi_S = numpy.array(self.parameters['phi_S']).reshape((self.numNodes, 1)) if isinstance(self.parameters['phi_S'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['phi_S'], shape=(self.numNodes,1)) self.phi_E = numpy.array(self.parameters['phi_E']).reshape((self.numNodes, 1)) if isinstance(self.parameters['phi_E'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['phi_E'], shape=(self.numNodes,1)) self.phi_pre = numpy.array(self.parameters['phi_pre']).reshape((self.numNodes, 1)) if isinstance(self.parameters['phi_pre'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['phi_pre'], shape=(self.numNodes,1)) self.phi_sym = numpy.array(self.parameters['phi_sym']).reshape((self.numNodes, 1)) if isinstance(self.parameters['phi_sym'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['phi_sym'], shape=(self.numNodes,1)) self.phi_asym = numpy.array(self.parameters['phi_asym']).reshape((self.numNodes, 1)) if isinstance(self.parameters['phi_asym'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['phi_asym'], shape=(self.numNodes,1)) self.psi_S = numpy.array(self.parameters['psi_S']).reshape((self.numNodes, 1)) if isinstance(self.parameters['psi_S'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['psi_S'], shape=(self.numNodes,1)) self.psi_E = numpy.array(self.parameters['psi_E']).reshape((self.numNodes, 1)) if isinstance(self.parameters['psi_E'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['psi_E'], shape=(self.numNodes,1)) self.psi_pre = numpy.array(self.parameters['psi_pre']).reshape((self.numNodes, 1)) if isinstance(self.parameters['psi_pre'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['psi_pre'], shape=(self.numNodes,1)) self.psi_sym = numpy.array(self.parameters['psi_sym']).reshape((self.numNodes, 1)) if isinstance(self.parameters['psi_sym'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['psi_sym'], shape=(self.numNodes,1)) self.psi_asym = numpy.array(self.parameters['psi_asym']).reshape((self.numNodes, 1)) if isinstance(self.parameters['psi_asym'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['psi_asym'], shape=(self.numNodes,1)) self.q = numpy.array(self.parameters['q']).reshape((self.numNodes, 1)) if isinstance(self.parameters['q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['q'], shape=(self.numNodes,1)) #---------------------------------------- self.beta_pairwise_mode = self.parameters['beta_pairwise_mode'] #---------------------------------------- # Global transmission parameters: #---------------------------------------- if(self.beta_pairwise_mode == 'infected' or self.beta_pairwise_mode is None): self.beta_global = numpy.full_like(self.beta, fill_value=numpy.mean(self.beta)) self.beta_Q_global = numpy.full_like(self.beta_Q, fill_value=numpy.mean(self.beta_Q)) self.beta_asym_global = numpy.full_like(self.beta_asym, fill_value=numpy.mean(self.beta_asym)) elif(self.beta_pairwise_mode == 'infectee'): self.beta_global = self.beta self.beta_Q_global = self.beta_Q self.beta_asym_global = self.beta_asym elif(self.beta_pairwise_mode == 'min'): self.beta_global = numpy.minimum(self.beta, numpy.mean(beta)) self.beta_Q_global = numpy.minimum(self.beta_Q, numpy.mean(beta_Q)) self.beta_asym_global = numpy.minimum(self.beta_asym, numpy.mean(beta_asym)) elif(self.beta_pairwise_mode == 'max'): self.beta_global = numpy.maximum(self.beta, numpy.mean(beta)) self.beta_Q_global = numpy.maximum(self.beta_Q, numpy.mean(beta_Q)) self.beta_asym_global = numpy.maximum(self.beta_asym, numpy.mean(beta_asym)) elif(self.beta_pairwise_mode == 'mean'): self.beta_global = (self.beta + numpy.full_like(self.beta, fill_value=numpy.mean(self.beta)))/2 self.beta_Q_global = (self.beta_Q + numpy.full_like(self.beta_Q, fill_value=numpy.mean(self.beta_Q)))/2 self.beta_asym_global = (self.beta_asym + numpy.full_like(self.beta_asym, fill_value=numpy.mean(self.beta_asym)))/2 #---------------------------------------- # Local transmission parameters: #---------------------------------------- self.beta_local = self.beta if self.parameters['beta_local'] is None else numpy.array(self.parameters['beta_local']) if isinstance(self.parameters['beta_local'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta_local'], shape=(self.numNodes,1)) self.beta_Q_local = self.beta_Q if self.parameters['beta_Q_local'] is None else numpy.array(self.parameters['beta_Q_local']) if isinstance(self.parameters['beta_Q_local'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta_Q_local'], shape=(self.numNodes,1)) self.beta_asym_local = None if self.parameters['beta_asym_local'] is None else numpy.array(self.parameters['beta_asym_local']) if isinstance(self.parameters['beta_asym_local'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['beta_asym_local'], shape=(self.numNodes,1)) #---------------------------------------- if(self.beta_local.ndim == 2 and self.beta_local.shape[0] == self.numNodes and self.beta_local.shape[1] == self.numNodes): self.A_beta_pairwise = self.beta_local elif((self.beta_local.ndim == 1 and self.beta_local.shape[0] == self.numNodes) or (self.beta_local.ndim == 2 and (self.beta_local.shape[0] == self.numNodes or self.beta_local.shape[1] == self.numNodes))): self.beta_local = self.beta_local.reshape((self.numNodes,1)) # Pre-multiply beta values by the adjacency matrix ("transmission weight connections") A_beta_pairwise_byInfected = scipy.sparse.csr_matrix.multiply(self.A, self.beta_local.T).tocsr() A_beta_pairwise_byInfectee = scipy.sparse.csr_matrix.multiply(self.A, self.beta_local).tocsr() #------------------------------ # Compute the effective pairwise beta values as a function of the infected/infectee pair: if(self.beta_pairwise_mode == 'infected'): self.A_beta_pairwise = A_beta_pairwise_byInfected elif(self.beta_pairwise_mode == 'infectee'): self.A_beta_pairwise = A_beta_pairwise_byInfectee elif(self.beta_pairwise_mode == 'min'): self.A_beta_pairwise = scipy.sparse.csr_matrix.minimum(A_beta_pairwise_byInfected, A_beta_pairwise_byInfectee) elif(self.beta_pairwise_mode == 'max'): self.A_beta_pairwise = scipy.sparse.csr_matrix.maximum(A_beta_pairwise_byInfected, A_beta_pairwise_byInfectee) elif(self.beta_pairwise_mode == 'mean' or self.beta_pairwise_mode is None): self.A_beta_pairwise = (A_beta_pairwise_byInfected + A_beta_pairwise_byInfectee)/2 else: print("Unrecognized beta_pairwise_mode value (support for 'infected', 'infectee', 'min', 'max', and 'mean').") else: print("Invalid values given for beta_local (expected 1xN list/array or NxN 2d array)") #---------------------------------------- if(self.beta_Q_local.ndim == 2 and self.beta_Q_local.shape[0] == self.numNodes and self.beta_Q_local.shape[1] == self.numNodes): self.A_Q_beta_Q_pairwise = self.beta_Q_local elif((self.beta_Q_local.ndim == 1 and self.beta_Q_local.shape[0] == self.numNodes) or (self.beta_Q_local.ndim == 2 and (self.beta_Q_local.shape[0] == self.numNodes or self.beta_Q_local.shape[1] == self.numNodes))): self.beta_Q_local = self.beta_Q_local.reshape((self.numNodes,1)) # Pre-multiply beta_Q values by the isolation adjacency matrix ("transmission weight connections") A_Q_beta_Q_pairwise_byInfected = scipy.sparse.csr_matrix.multiply(self.A_Q, self.beta_Q_local.T).tocsr() A_Q_beta_Q_pairwise_byInfectee = scipy.sparse.csr_matrix.multiply(self.A_Q, self.beta_Q_local).tocsr() #------------------------------ # Compute the effective pairwise beta values as a function of the infected/infectee pair: if(self.beta_pairwise_mode == 'infected'): self.A_Q_beta_Q_pairwise = A_Q_beta_Q_pairwise_byInfected elif(self.beta_pairwise_mode == 'infectee'): self.A_Q_beta_Q_pairwise = A_Q_beta_Q_pairwise_byInfectee elif(self.beta_pairwise_mode == 'min'): self.A_Q_beta_Q_pairwise = scipy.sparse.csr_matrix.minimum(A_Q_beta_Q_pairwise_byInfected, A_Q_beta_Q_pairwise_byInfectee) elif(self.beta_pairwise_mode == 'max'): self.A_Q_beta_Q_pairwise = scipy.sparse.csr_matrix.maximum(A_Q_beta_Q_pairwise_byInfected, A_Q_beta_Q_pairwise_byInfectee) elif(self.beta_pairwise_mode == 'mean' or self.beta_pairwise_mode is None): self.A_Q_beta_Q_pairwise = (A_Q_beta_Q_pairwise_byInfected + A_Q_beta_Q_pairwise_byInfectee)/2 else: print("Unrecognized beta_pairwise_mode value (support for 'infected', 'infectee', 'min', 'max', and 'mean').") else: print("Invalid values given for beta_Q_local (expected 1xN list/array or NxN 2d array)") #---------------------------------------- if(self.beta_asym_local is None): self.A_beta_asym_pairwise = None elif(self.beta_asym_local.ndim == 2 and self.beta_asym_local.shape[0] == self.numNodes and self.beta_asym_local.shape[1] == self.numNodes): self.A_beta_asym_pairwise = self.beta_asym_local elif((self.beta_asym_local.ndim == 1 and self.beta_asym_local.shape[0] == self.numNodes) or (self.beta_asym_local.ndim == 2 and (self.beta_asym_local.shape[0] == self.numNodes or self.beta_asym_local.shape[1] == self.numNodes))): self.beta_asym_local = self.beta_asym_local.reshape((self.numNodes,1)) # Pre-multiply beta_asym values by the adjacency matrix ("transmission weight connections") A_beta_asym_pairwise_byInfected = scipy.sparse.csr_matrix.multiply(self.A, self.beta_asym_local.T).tocsr() A_beta_asym_pairwise_byInfectee = scipy.sparse.csr_matrix.multiply(self.A, self.beta_asym_local).tocsr() #------------------------------ # Compute the effective pairwise beta values as a function of the infected/infectee pair: if(self.beta_pairwise_mode == 'infected'): self.A_beta_asym_pairwise = A_beta_asym_pairwise_byInfected elif(self.beta_pairwise_mode == 'infectee'): self.A_beta_asym_pairwise = A_beta_asym_pairwise_byInfectee elif(self.beta_pairwise_mode == 'min'): self.A_beta_asym_pairwise = scipy.sparse.csr_matrix.minimum(A_beta_asym_pairwise_byInfected, A_beta_asym_pairwise_byInfectee) elif(self.beta_pairwise_mode == 'max'): self.A_beta_asym_pairwise = scipy.sparse.csr_matrix.maximum(A_beta_asym_pairwise_byInfected, A_beta_asym_pairwise_byInfectee) elif(self.beta_pairwise_mode == 'mean' or self.beta_pairwise_mode is None): self.A_beta_asym_pairwise = (A_beta_asym_pairwise_byInfected + A_beta_asym_pairwise_byInfectee)/2 else: print("Unrecognized beta_pairwise_mode value (support for 'infected', 'infectee', 'min', 'max', and 'mean').") else: print("Invalid values given for beta_asym_local (expected 1xN list/array or NxN 2d array)") #---------------------------------------- # Degree-based transmission scaling parameters: #---------------------------------------- self.delta_pairwise_mode = self.parameters['delta_pairwise_mode'] with numpy.errstate(divide='ignore'): # ignore log(0) warning, then convert log(0) = -inf -> 0.0 self.delta = numpy.log(self.degree)/numpy.log(numpy.mean(self.degree)) if self.parameters['delta'] is None else numpy.array(self.parameters['delta']) if isinstance(self.parameters['delta'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta'], shape=(self.numNodes,1)) self.delta_Q = numpy.log(self.degree_Q)/numpy.log(numpy.mean(self.degree_Q)) if self.parameters['delta_Q'] is None else numpy.array(self.parameters['delta_Q']) if isinstance(self.parameters['delta_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta_Q'], shape=(self.numNodes,1)) self.delta[numpy.isneginf(self.delta)] = 0.0 self.delta_Q[numpy.isneginf(self.delta_Q)] = 0.0 #---------------------------------------- if(self.delta.ndim == 2 and self.delta.shape[0] == self.numNodes and self.delta.shape[1] == self.numNodes): self.A_delta_pairwise = self.delta elif((self.delta.ndim == 1 and self.delta.shape[0] == self.numNodes) or (self.delta.ndim == 2 and (self.delta.shape[0] == self.numNodes or self.delta.shape[1] == self.numNodes))): self.delta = self.delta.reshape((self.numNodes,1)) # Pre-multiply delta values by the adjacency matrix ("transmission weight connections") A_delta_pairwise_byInfected = scipy.sparse.csr_matrix.multiply(self.A, self.delta.T).tocsr() A_delta_pairwise_byInfectee = scipy.sparse.csr_matrix.multiply(self.A, self.delta).tocsr() #------------------------------ # Compute the effective pairwise delta values as a function of the infected/infectee pair: if(self.delta_pairwise_mode == 'infected'): self.A_delta_pairwise = A_delta_pairwise_byInfected elif(self.delta_pairwise_mode == 'infectee'): self.A_delta_pairwise = A_delta_pairwise_byInfectee elif(self.delta_pairwise_mode == 'min'): self.A_delta_pairwise = scipy.sparse.csr_matrix.minimum(A_delta_pairwise_byInfected, A_delta_pairwise_byInfectee) elif(self.delta_pairwise_mode == 'max'): self.A_delta_pairwise = scipy.sparse.csr_matrix.maximum(A_delta_pairwise_byInfected, A_delta_pairwise_byInfectee) elif(self.delta_pairwise_mode == 'mean'): self.A_delta_pairwise = (A_delta_pairwise_byInfected + A_delta_pairwise_byInfectee)/2 elif(self.delta_pairwise_mode is None): self.A_delta_pairwise = self.A else: print("Unrecognized delta_pairwise_mode value (support for 'infected', 'infectee', 'min', 'max', and 'mean').") else: print("Invalid values given for delta (expected 1xN list/array or NxN 2d array)") #---------------------------------------- if(self.delta_Q.ndim == 2 and self.delta_Q.shape[0] == self.numNodes and self.delta_Q.shape[1] == self.numNodes): self.A_Q_delta_Q_pairwise = self.delta_Q elif((self.delta_Q.ndim == 1 and self.delta_Q.shape[0] == self.numNodes) or (self.delta_Q.ndim == 2 and (self.delta_Q.shape[0] == self.numNodes or self.delta_Q.shape[1] == self.numNodes))): self.delta_Q = self.delta_Q.reshape((self.numNodes,1)) # Pre-multiply delta_Q values by the isolation adjacency matrix ("transmission weight connections") A_Q_delta_Q_pairwise_byInfected = scipy.sparse.csr_matrix.multiply(self.A_Q, self.delta_Q).tocsr() A_Q_delta_Q_pairwise_byInfectee = scipy.sparse.csr_matrix.multiply(self.A_Q, self.delta_Q.T).tocsr() #------------------------------ # Compute the effective pairwise delta values as a function of the infected/infectee pair: if(self.delta_pairwise_mode == 'infected'): self.A_Q_delta_Q_pairwise = A_Q_delta_Q_pairwise_byInfected elif(self.delta_pairwise_mode == 'infectee'): self.A_Q_delta_Q_pairwise = A_Q_delta_Q_pairwise_byInfectee elif(self.delta_pairwise_mode == 'min'): self.A_Q_delta_Q_pairwise = scipy.sparse.csr_matrix.minimum(A_Q_delta_Q_pairwise_byInfected, A_Q_delta_Q_pairwise_byInfectee) elif(self.delta_pairwise_mode == 'max'): self.A_Q_delta_Q_pairwise = scipy.sparse.csr_matrix.maximum(A_Q_delta_Q_pairwise_byInfected, A_Q_delta_Q_pairwise_byInfectee) elif(self.delta_pairwise_mode == 'mean'): self.A_Q_delta_Q_pairwise = (A_Q_delta_Q_pairwise_byInfected + A_Q_delta_Q_pairwise_byInfectee)/2 elif(self.delta_pairwise_mode is None): self.A_Q_delta_Q_pairwise = self.A else: print("Unrecognized delta_pairwise_mode value (support for 'infected', 'infectee', 'min', 'max', and 'mean').") else: print("Invalid values given for delta_Q (expected 1xN list/array or NxN 2d array)") #---------------------------------------- # Pre-calculate the pairwise delta*beta values: #---------------------------------------- self.A_deltabeta = scipy.sparse.csr_matrix.multiply(self.A_delta_pairwise, self.A_beta_pairwise) self.A_Q_deltabeta_Q = scipy.sparse.csr_matrix.multiply(self.A_Q_delta_Q_pairwise, self.A_Q_beta_Q_pairwise) if(self.A_beta_asym_pairwise is not None): self.A_deltabeta_asym = scipy.sparse.csr_matrix.multiply(self.A_delta_pairwise, self.A_beta_asym_pairwise) else: self.A_deltabeta_asym = None #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def node_degrees(self, Amat): return Amat.sum(axis=0).reshape(self.numNodes,1) # sums of adj matrix cols #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_susceptible(self, t_idx=None): if(t_idx is None): return (self.numS[:] + self.numQ_S[:]) else: return (self.numS[t_idx] + self.numQ_S[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_infected(self, t_idx=None): if(t_idx is None): return (self.numE[:] + self.numI_pre[:] + self.numI_sym[:] + self.numI_asym[:] + self.numH[:] + self.numQ_E[:] + self.numQ_pre[:] + self.numQ_sym[:] + self.numQ_asym[:]) else: return (self.numE[t_idx] + self.numI_pre[t_idx] + self.numI_sym[t_idx] + self.numI_asym[t_idx] + self.numH[t_idx] + self.numQ_E[t_idx] + self.numQ_pre[t_idx] + self.numQ_sym[t_idx] + self.numQ_asym[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_isolated(self, t_idx=None): if(t_idx is None): return (self.numQ_S[:] + self.numQ_E[:] + self.numQ_pre[:] + self.numQ_sym[:] + self.numQ_asym[:] + self.numQ_R[:]) else: return (self.numQ_S[t_idx] + self.numQ_E[t_idx] + self.numQ_pre[t_idx] + self.numQ_sym[t_idx] + self.numQ_asym[t_idx] + self.numQ_R[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_tested(self, t_idx=None): if(t_idx is None): return (self.numTested[:]) else: return (self.numTested[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_positive(self, t_idx=None): if(t_idx is None): return (self.numPositive[:]) else: return (self.numPositive[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def total_num_recovered(self, t_idx=None): if(t_idx is None): return (self.numR[:] + self.numQ_R[:]) else: return (self.numR[t_idx] + self.numQ_R[t_idx]) #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def calc_propensities(self): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Pre-calculate matrix multiplication terms that may be used in multiple propensity calculations, # and check to see if their computation is necessary before doing the multiplication #------------------------------------ self.transmissionTerms_I = numpy.zeros(shape=(self.numNodes,1)) if(numpy.any(self.numI_sym[self.tidx]) or numpy.any(self.numI_asym[self.tidx]) or numpy.any(self.numI_pre[self.tidx])): if(self.A_deltabeta_asym is not None): self.transmissionTerms_sym = numpy.asarray(scipy.sparse.csr_matrix.dot(self.A_deltabeta, self.X==self.I_sym)) self.transmissionTerms_asym = numpy.asarray(scipy.sparse.csr_matrix.dot(self.A_deltabeta_asym, ((self.X==self.I_pre)|(self.X==self.I_asym)))) self.transmissionTerms_I = self.transmissionTerms_sym+self.transmissionTerms_asym else: self.transmissionTerms_I = numpy.asarray(scipy.sparse.csr_matrix.dot(self.A_deltabeta, ((self.X==self.I_sym)|(self.X==self.I_pre)|(self.X==self.I_asym)))) #------------------------------------ self.transmissionTerms_Q = numpy.zeros(shape=(self.numNodes,1)) if(numpy.any(self.numQ_pre[self.tidx]) or numpy.any(self.numQ_sym[self.tidx]) or numpy.any(self.numQ_asym[self.tidx])): self.transmissionTerms_Q = numpy.asarray(scipy.sparse.csr_matrix.dot(self.A_Q_deltabeta_Q, ((self.X==self.Q_pre)|(self.X==self.Q_sym)|(self.X==self.Q_asym)))) #------------------------------------ self.transmissionTerms_IQ = numpy.zeros(shape=(self.numNodes,1)) if(numpy.any(self.numQ_S[self.tidx]) and (numpy.any(self.numI_sym[self.tidx]) or numpy.any(self.numI_asym[self.tidx]) or numpy.any(self.numI_pre[self.tidx]))): self.transmissionTerms_IQ = numpy.asarray(scipy.sparse.csr_matrix.dot(self.A_Q_deltabeta_Q, ((self.X==self.I_sym)|(self.X==self.I_pre)|(self.X==self.I_asym)))) #------------------------------------ numContacts_Q = numpy.zeros(shape=(self.numNodes,1)) if(numpy.any(self.positive) and (numpy.any(self.phi_S) or numpy.any(self.phi_E) or numpy.any(self.phi_pre) or numpy.any(self.phi_sym) or numpy.any(self.phi_asym))): numContacts_Q = numpy.asarray(scipy.sparse.csr_matrix.dot(self.A, ((self.positive)&(self.X!=self.R)&(self.X!=self.Q_R)&(self.X!=self.F)))) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ propensities_StoE = ( self.alpha * (self.o*(self.beta_global*self.prevalence_ext) + (1-self.o)*( self.p*((self.beta_global*self.numI_sym[self.tidx] + self.beta_asym_global*(self.numI_pre[self.tidx] + self.numI_asym[self.tidx]) + self.q*self.beta_Q_global*(self.numQ_pre[self.tidx] + self.numQ_sym[self.tidx] + self.numQ_asym[self.tidx]))/self.N[self.tidx]) + (1-self.p)*(numpy.divide(self.transmissionTerms_I, self.degree, out=numpy.zeros_like(self.degree), where=self.degree!=0) + numpy.divide(self.transmissionTerms_Q, self.degree_Q, out=numpy.zeros_like(self.degree_Q), where=self.degree_Q!=0)))) )*(self.X==self.S) propensities_QStoQE = numpy.zeros_like(propensities_StoE) if(numpy.any(self.X==self.Q_S)): propensities_QStoQE = ( self.alpha_Q * (self.o*(self.q*self.beta_global*self.prevalence_ext) + (1-self.o)*( self.p*(self.q*(self.beta_global*self.numI_sym[self.tidx] + self.beta_asym_global*(self.numI_pre[self.tidx] + self.numI_asym[self.tidx]) + self.beta_Q_global*(self.numQ_pre[self.tidx] + self.numQ_sym[self.tidx] + self.numQ_asym[self.tidx]))/self.N[self.tidx]) + (1-self.p)*(numpy.divide(self.transmissionTerms_IQ+self.transmissionTerms_Q, self.degree_Q, out=numpy.zeros_like(self.degree_Q), where=self.degree_Q!=0)))) )*(self.X==self.Q_S) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(self.transition_mode == 'time_in_state'): propensities_EtoIPRE = 1e5 * ((self.X==self.E) & numpy.greater(self.timer_state, 1/self.sigma)) propensities_IPREtoISYM = 1e5 * ((self.X==self.I_pre) & numpy.greater(self.timer_state, 1/self.lamda) & numpy.greater_equal(self.rand_a, self.a)) propensities_IPREtoIASYM = 1e5 * ((self.X==self.I_pre) & numpy.greater(self.timer_state, 1/self.lamda) & numpy.less(self.rand_a, self.a)) propensities_ISYMtoR = 1e5 * ((self.X==self.I_sym) & numpy.greater(self.timer_state, 1/self.gamma) & numpy.greater_equal(self.rand_h, self.h)) propensities_ISYMtoH = 1e5 * ((self.X==self.I_sym) & numpy.greater(self.timer_state, 1/self.eta) & numpy.less(self.rand_h, self.h)) propensities_IASYMtoR = 1e5 * ((self.X==self.I_asym) & numpy.greater(self.timer_state, 1/self.gamma)) propensities_HtoR = 1e5 * ((self.X==self.H) & numpy.greater(self.timer_state, 1/self.gamma_H) & numpy.greater_equal(self.rand_f, self.f)) propensities_HtoF = 1e5 * ((self.X==self.H) & numpy.greater(self.timer_state, 1/self.mu_H) & numpy.less(self.rand_f, self.f)) propensities_StoQS = numpy.zeros_like(propensities_StoE) propensities_EtoQE = numpy.zeros_like(propensities_StoE) propensities_IPREtoQPRE = numpy.zeros_like(propensities_StoE) propensities_ISYMtoQSYM = numpy.zeros_like(propensities_StoE) propensities_IASYMtoQASYM = numpy.zeros_like(propensities_StoE) propensities_QEtoQPRE = 1e5 * ((self.X==self.Q_E) & numpy.greater(self.timer_state, 1/self.sigma_Q)) propensities_QPREtoQSYM = 1e5 * ((self.X==self.Q_pre) & numpy.greater(self.timer_state, 1/self.lamda_Q) & numpy.greater_equal(self.rand_a, self.a)) propensities_QPREtoQASYM = 1e5 * ((self.X==self.Q_pre) & numpy.greater(self.timer_state, 1/self.lamda_Q) & numpy.less(self.rand_a, self.a)) propensities_QSYMtoQR = 1e5 * ((self.X==self.Q_sym) & numpy.greater(self.timer_state, 1/self.gamma_Q_sym) & numpy.greater_equal(self.rand_h, self.h)) propensities_QSYMtoH = 1e5 * ((self.X==self.Q_sym) & numpy.greater(self.timer_state, 1/self.eta_Q) & numpy.less(self.rand_h, self.h)) propensities_QASYMtoQR = 1e5 * ((self.X==self.Q_asym) & numpy.greater(self.timer_state, 1/self.gamma_Q_asym)) propensities_RtoS = 1e5 * ((self.X==self.R) & numpy.greater(self.timer_state, 1/self.xi)) propensities__toS = 1e5 * ((self.X!=self.F) & numpy.greater(self.timer_state, 1/self.nu)) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ else: # exponential_rates propensities_EtoIPRE = self.sigma * (self.X==self.E) propensities_IPREtoISYM = self.lamda * ((self.X==self.I_pre) & (numpy.greater_equal(self.rand_a, self.a))) propensities_IPREtoIASYM = self.lamda * ((self.X==self.I_pre) & (numpy.less(self.rand_a, self.a))) propensities_ISYMtoR = self.gamma * ((self.X==self.I_sym) & (numpy.greater_equal(self.rand_h, self.h))) propensities_ISYMtoH = self.eta * ((self.X==self.I_sym) & (numpy.less(self.rand_h, self.h))) propensities_IASYMtoR = self.gamma_asym * (self.X==self.I_asym) propensities_HtoR = self.gamma_H * ((self.X==self.H) & (numpy.greater_equal(self.rand_f, self.f))) propensities_HtoF = self.mu_H * ((self.X==self.H) & (numpy.less(self.rand_f, self.f))) propensities_StoQS = (self.theta_S + self.phi_S*numContacts_Q)*self.psi_S * (self.X==self.S) propensities_EtoQE = (self.theta_E + self.phi_E*numContacts_Q)*self.psi_E * (self.X==self.E) propensities_IPREtoQPRE = (self.theta_pre + self.phi_pre*numContacts_Q)*self.psi_pre * (self.X==self.I_pre) propensities_ISYMtoQSYM = (self.theta_sym + self.phi_sym*numContacts_Q)*self.psi_sym * (self.X==self.I_sym) propensities_IASYMtoQASYM = (self.theta_asym + self.phi_asym*numContacts_Q)*self.psi_asym * (self.X==self.I_asym) propensities_QEtoQPRE = self.sigma_Q * (self.X==self.Q_E) propensities_QPREtoQSYM = self.lamda_Q * ((self.X==self.Q_pre) & (numpy.greater_equal(self.rand_a, self.a))) propensities_QPREtoQASYM = self.lamda_Q * ((self.X==self.Q_pre) & (numpy.less(self.rand_a, self.a))) propensities_QSYMtoQR = self.gamma_Q_sym * ((self.X==self.Q_sym) & (numpy.greater_equal(self.rand_h, self.h))) propensities_QSYMtoH = self.eta_Q * ((self.X==self.Q_sym) & (numpy.less(self.rand_h, self.h))) propensities_QASYMtoQR = self.gamma_Q_asym * (self.X==self.Q_asym) propensities_RtoS = self.xi * (self.X==self.R) propensities__toS = self.nu * (self.X!=self.F) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ propensities = numpy.hstack([propensities_StoE, propensities_EtoIPRE, propensities_IPREtoISYM, propensities_IPREtoIASYM, propensities_ISYMtoR, propensities_ISYMtoH, propensities_IASYMtoR, propensities_HtoR, propensities_HtoF, propensities_StoQS, propensities_EtoQE, propensities_IPREtoQPRE, propensities_ISYMtoQSYM, propensities_IASYMtoQASYM, propensities_QStoQE, propensities_QEtoQPRE, propensities_QPREtoQSYM, propensities_QPREtoQASYM, propensities_QSYMtoQR, propensities_QSYMtoH, propensities_QASYMtoQR, propensities_RtoS, propensities__toS]) columns = [ 'StoE', 'EtoIPRE', 'IPREtoISYM', 'IPREtoIASYM', 'ISYMtoR', 'ISYMtoH', 'IASYMtoR', 'HtoR', 'HtoF', 'StoQS', 'EtoQE', 'IPREtoQPRE', 'ISYMtoQSYM', 'IASYMtoQASYM', 'QStoQE', 'QEtoQPRE', 'QPREtoQSYM', 'QPREtoQASYM', 'QSYMtoQR', 'QSYMtoH', 'QASYMtoQR', 'RtoS', '_toS' ] return propensities, columns #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def set_isolation(self, node, isolate): # Move this node in/out of the appropriate isolation state: if(isolate == True): if(self.X[node] == self.S): self.X[node] = self.Q_S elif(self.X[node] == self.E): self.X[node] = self.Q_E elif(self.X[node] == self.I_pre): self.X[node] = self.Q_pre elif(self.X[node] == self.I_sym): self.X[node] = self.Q_sym elif(self.X[node] == self.I_asym): self.X[node] = self.Q_asym elif(self.X[node] == self.R): self.X[node] = self.Q_R elif(isolate == False): if(self.X[node] == self.Q_S): self.X[node] = self.S elif(self.X[node] == self.Q_E): self.X[node] = self.E elif(self.X[node] == self.Q_pre): self.X[node] = self.I_pre elif(self.X[node] == self.Q_sym): self.X[node] = self.I_sym elif(self.X[node] == self.Q_asym): self.X[node] = self.I_asym elif(self.X[node] == self.Q_R): self.X[node] = self.R # Reset the isolation timer: self.timer_isolation[node] = 0 #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def set_tested(self, node, tested): self.tested[node] = tested self.testedInCurrentState[node] = tested #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def set_positive(self, node, positive): self.positive[node] = positive #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def introduce_exposures(self, num_new_exposures): exposedNodes = numpy.random.choice(range(self.numNodes), size=num_new_exposures, replace=False) for exposedNode in exposedNodes: if(self.X[exposedNode]==self.S): self.X[exposedNode] = self.E elif(self.X[exposedNode]==self.Q_S): self.X[exposedNode] = self.Q_E #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def increase_data_series_length(self): self.tseries = numpy.pad(self.tseries, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numS = numpy.pad(self.numS, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numE = numpy.pad(self.numE, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numI_pre = numpy.pad(self.numI_pre, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numI_sym = numpy.pad(self.numI_sym, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numI_asym = numpy.pad(self.numI_asym, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numH = numpy.pad(self.numH, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numR = numpy.pad(self.numR, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numF = numpy.pad(self.numF, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numQ_S = numpy.pad(self.numQ_S, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numQ_E = numpy.pad(self.numQ_E, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numQ_pre = numpy.pad(self.numQ_pre, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numQ_sym = numpy.pad(self.numQ_sym, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numQ_asym = numpy.pad(self.numQ_asym, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numQ_R = numpy.pad(self.numQ_R, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.N = numpy.pad(self.N, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numTested = numpy.pad(self.numTested, [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.numPositive = numpy.pad(self.numPositive, [(0, 6*self.numNodes)], mode='constant', constant_values=0) if(self.store_Xseries): self.Xseries = numpy.pad(self.Xseries, [(0, 6*self.numNodes), (0,0)], mode='constant', constant_values=0) if(self.nodeGroupData): for groupName in self.nodeGroupData: self.nodeGroupData[groupName]['numS'] = numpy.pad(self.nodeGroupData[groupName]['numS'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numE'] = numpy.pad(self.nodeGroupData[groupName]['numE'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numI_pre'] = numpy.pad(self.nodeGroupData[groupName]['numI_pre'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numI_sym'] = numpy.pad(self.nodeGroupData[groupName]['numI_sym'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numI_asym'] = numpy.pad(self.nodeGroupData[groupName]['numI_asym'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numH'] = numpy.pad(self.nodeGroupData[groupName]['numH'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numR'] = numpy.pad(self.nodeGroupData[groupName]['numR'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numF'] = numpy.pad(self.nodeGroupData[groupName]['numF'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numQ_S'] = numpy.pad(self.nodeGroupData[groupName]['numQ_S'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numQ_E'] = numpy.pad(self.nodeGroupData[groupName]['numQ_E'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numQ_pre'] = numpy.pad(self.nodeGroupData[groupName]['numQ_pre'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numQ_sym'] = numpy.pad(self.nodeGroupData[groupName]['numQ_sym'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numQ_asym'] = numpy.pad(self.nodeGroupData[groupName]['numQ_asym'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numQ_R'] = numpy.pad(self.nodeGroupData[groupName]['numQ_R'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['N'] = numpy.pad(self.nodeGroupData[groupName]['N'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numTested'] = numpy.pad(self.nodeGroupData[groupName]['numTested'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) self.nodeGroupData[groupName]['numPositive'] = numpy.pad(self.nodeGroupData[groupName]['numPositive'], [(0, 6*self.numNodes)], mode='constant', constant_values=0) return None #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def finalize_data_series(self): self.tseries = numpy.array(self.tseries, dtype=float)[:self.tidx+1] self.numS = numpy.array(self.numS, dtype=float)[:self.tidx+1] self.numE = numpy.array(self.numE, dtype=float)[:self.tidx+1] self.numI_pre = numpy.array(self.numI_pre, dtype=float)[:self.tidx+1] self.numI_sym = numpy.array(self.numI_sym, dtype=float)[:self.tidx+1] self.numI_asym = numpy.array(self.numI_asym, dtype=float)[:self.tidx+1] self.numH = numpy.array(self.numH, dtype=float)[:self.tidx+1] self.numR = numpy.array(self.numR, dtype=float)[:self.tidx+1] self.numF = numpy.array(self.numF, dtype=float)[:self.tidx+1] self.numQ_S = numpy.array(self.numQ_S, dtype=float)[:self.tidx+1] self.numQ_E = numpy.array(self.numQ_E, dtype=float)[:self.tidx+1] self.numQ_pre = numpy.array(self.numQ_pre, dtype=float)[:self.tidx+1] self.numQ_sym = numpy.array(self.numQ_sym, dtype=float)[:self.tidx+1] self.numQ_asym = numpy.array(self.numQ_asym, dtype=float)[:self.tidx+1] self.numQ_R = numpy.array(self.numQ_R, dtype=float)[:self.tidx+1] self.N = numpy.array(self.N, dtype=float)[:self.tidx+1] self.numTested = numpy.array(self.numTested, dtype=float)[:self.tidx+1] self.numPositive = numpy.array(self.numPositive, dtype=float)[:self.tidx+1] if(self.store_Xseries): self.Xseries = self.Xseries[:self.tidx+1, :] if(self.nodeGroupData): for groupName in self.nodeGroupData: self.nodeGroupData[groupName]['numS'] = numpy.array(self.nodeGroupData[groupName]['numS'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numE'] = numpy.array(self.nodeGroupData[groupName]['numE'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numI_pre'] = numpy.array(self.nodeGroupData[groupName]['numI_pre'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numI_sym'] = numpy.array(self.nodeGroupData[groupName]['numI_sym'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numI_asym'] = numpy.array(self.nodeGroupData[groupName]['numI_asym'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numR'] = numpy.array(self.nodeGroupData[groupName]['numR'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numF'] = numpy.array(self.nodeGroupData[groupName]['numF'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numQ_S'] = numpy.array(self.nodeGroupData[groupName]['numQ_S'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numQ_E'] = numpy.array(self.nodeGroupData[groupName]['numQ_E'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numQ_pre'] = numpy.array(self.nodeGroupData[groupName]['numQ_pre'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numQ_sym'] = numpy.array(self.nodeGroupData[groupName]['numQ_sym'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numQ_asym'] = numpy.array(self.nodeGroupData[groupName]['numQ_asym'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numQ_R'] = numpy.array(self.nodeGroupData[groupName]['numQ_R'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['N'] = numpy.array(self.nodeGroupData[groupName]['N'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numTested'] = numpy.array(self.nodeGroupData[groupName]['numTested'], dtype=float)[:self.tidx+1] self.nodeGroupData[groupName]['numPositive'] = numpy.array(self.nodeGroupData[groupName]['numPositive'], dtype=float)[:self.tidx+1] return None #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def run_iteration(self): if(self.tidx >= len(self.tseries)-1): # Room has run out in the timeseries storage arrays; double the size of these arrays: self.increase_data_series_length() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Generate 2 random numbers uniformly distributed in (0,1) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r1 = numpy.random.rand() r2 = numpy.random.rand() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Calculate propensities #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ propensities, transitionTypes = self.calc_propensities() if(propensities.sum() > 0): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Calculate alpha #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ propensities_flat = propensities.ravel(order='F') cumsum = propensities_flat.cumsum() alpha = propensities_flat.sum() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Compute the time until the next event takes place #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tau = (1/alpha)*numpy.log(float(1/r1)) self.t += tau self.timer_state += tau #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Compute which event takes place #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ transitionIdx = numpy.searchsorted(cumsum,r2*alpha) transitionNode = transitionIdx % self.numNodes transitionType = transitionTypes[ int(transitionIdx/self.numNodes) ] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Perform updates triggered by rate propensities: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ assert(self.X[transitionNode] == self.transitions[transitionType]['currentState'] and self.X[transitionNode]!=self.F), "Assertion error: Node "+str(transitionNode)+" has unexpected current state "+str(self.X[transitionNode])+" given the intended transition of "+str(transitionType)+"." self.X[transitionNode] = self.transitions[transitionType]['newState'] self.testedInCurrentState[transitionNode] = False self.timer_state[transitionNode] = 0.0 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Save information about infection events when they occur: if(transitionType == 'StoE' or transitionType == 'QStoQE'): transitionNode_GNbrs = list(self.G[transitionNode].keys()) transitionNode_GQNbrs = list(self.G_Q[transitionNode].keys()) self.infectionsLog.append({ 't': self.t, 'infected_node': transitionNode, 'infection_type': transitionType, 'infected_node_degree': self.degree[transitionNode], 'local_contact_nodes': transitionNode_GNbrs, 'local_contact_node_states': self.X[transitionNode_GNbrs].flatten(), 'isolation_contact_nodes': transitionNode_GQNbrs, 'isolation_contact_node_states':self.X[transitionNode_GQNbrs].flatten() }) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(transitionType in ['EtoQE', 'IPREtoQPRE', 'ISYMtoQSYM', 'IASYMtoQASYM', 'ISYMtoH']): self.set_positive(node=transitionNode, positive=True) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ else: tau = 0.01 self.t += tau self.timer_state += tau #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.tidx += 1 self.tseries[self.tidx] = self.t self.numS[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.S), a_min=0, a_max=self.numNodes) self.numE[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.E), a_min=0, a_max=self.numNodes) self.numI_pre[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.I_pre), a_min=0, a_max=self.numNodes) self.numI_sym[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.I_sym), a_min=0, a_max=self.numNodes) self.numI_asym[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.I_asym), a_min=0, a_max=self.numNodes) self.numH[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.H), a_min=0, a_max=self.numNodes) self.numR[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.R), a_min=0, a_max=self.numNodes) self.numF[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.F), a_min=0, a_max=self.numNodes) self.numQ_S[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.Q_S), a_min=0, a_max=self.numNodes) self.numQ_E[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.Q_E), a_min=0, a_max=self.numNodes) self.numQ_pre[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.Q_pre), a_min=0, a_max=self.numNodes) self.numQ_sym[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.Q_sym), a_min=0, a_max=self.numNodes) self.numQ_asym[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.Q_asym), a_min=0, a_max=self.numNodes) self.numQ_R[self.tidx] = numpy.clip(numpy.count_nonzero(self.X==self.Q_R), a_min=0, a_max=self.numNodes) self.numTested[self.tidx] = numpy.clip(numpy.count_nonzero(self.tested), a_min=0, a_max=self.numNodes) self.numPositive[self.tidx] = numpy.clip(numpy.count_nonzero(self.positive), a_min=0, a_max=self.numNodes) self.N[self.tidx] = numpy.clip((self.numNodes - self.numF[self.tidx]), a_min=0, a_max=self.numNodes) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Update testing and isolation statuses #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ isolatedNodes = numpy.argwhere((self.X==self.Q_S)|(self.X==self.Q_E)|(self.X==self.Q_pre)|(self.X==self.Q_sym)|(self.X==self.Q_asym)|(self.X==self.Q_R))[:,0].flatten() self.timer_isolation[isolatedNodes] = self.timer_isolation[isolatedNodes] + tau nodesExitingIsolation = numpy.argwhere(self.timer_isolation >= self.isolationTime) for isoNode in nodesExitingIsolation: self.set_isolation(node=isoNode, isolate=False) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Store system states #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(self.store_Xseries): self.Xseries[self.tidx,:] = self.X.T if(self.nodeGroupData): for groupName in self.nodeGroupData: self.nodeGroupData[groupName]['numS'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.S) self.nodeGroupData[groupName]['numE'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.E) self.nodeGroupData[groupName]['numI_pre'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.I_pre) self.nodeGroupData[groupName]['numI_sym'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.I_sym) self.nodeGroupData[groupName]['numI_asym'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.I_asym) self.nodeGroupData[groupName]['numH'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.H) self.nodeGroupData[groupName]['numR'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.R) self.nodeGroupData[groupName]['numF'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.F) self.nodeGroupData[groupName]['numQ_S'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_S) self.nodeGroupData[groupName]['numQ_E'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_E) self.nodeGroupData[groupName]['numQ_pre'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_pre) self.nodeGroupData[groupName]['numQ_sym'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_sym) self.nodeGroupData[groupName]['numQ_asym'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_asym) self.nodeGroupData[groupName]['numQ_R'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.X==self.Q_R) self.nodeGroupData[groupName]['N'][self.tidx] = numpy.clip((self.nodeGroupData[groupName]['numS'][0] + self.nodeGroupData[groupName]['numE'][0] + self.nodeGroupData[groupName]['numI'][0] + self.nodeGroupData[groupName]['numQ_E'][0] + self.nodeGroupData[groupName]['numQ_I'][0] + self.nodeGroupData[groupName]['numR'][0]), a_min=0, a_max=self.numNodes) self.nodeGroupData[groupName]['numTested'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.tested) self.nodeGroupData[groupName]['numPositive'][self.tidx] = numpy.count_nonzero(self.nodeGroupData[groupName]['mask']*self.positive) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Terminate if tmax reached or num infections is 0: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(self.t >= self.tmax or (self.total_num_infected(self.tidx) < 1 and self.total_num_isolated(self.tidx) < 1)): self.finalize_data_series() return False #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ return True #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def run(self, T, checkpoints=None, print_interval=10, verbose='t'): if(T>0): self.tmax += T else: return False #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Pre-process checkpoint values: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(checkpoints): numCheckpoints = len(checkpoints['t']) for chkpt_param, chkpt_values in checkpoints.items(): assert(isinstance(chkpt_values, (list, numpy.ndarray)) and len(chkpt_values)==numCheckpoints), "Expecting a list of values with length equal to number of checkpoint times ("+str(numCheckpoints)+") for each checkpoint parameter." checkpointIdx = numpy.searchsorted(checkpoints['t'], self.t) # Finds 1st index in list greater than given val if(checkpointIdx >= numCheckpoints): # We are out of checkpoints, stop checking them: checkpoints = None else: checkpointTime = checkpoints['t'][checkpointIdx] #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Run the simulation loop: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% print_reset = True running = True while running: running = self.run_iteration() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Handle checkpoints if applicable: if(checkpoints): if(self.t >= checkpointTime): if(verbose is not False): print("[Checkpoint: Updating parameters]") # A checkpoint has been reached, update param values: for param in list(self.parameters.keys()): if(param in list(checkpoints.keys())): self.parameters.update({param: checkpoints[param][checkpointIdx]}) # Update parameter data structures and scenario flags: self.update_parameters() # Update the next checkpoint time: checkpointIdx = numpy.searchsorted(checkpoints['t'], self.t) # Finds 1st index in list greater than given val if(checkpointIdx >= numCheckpoints): # We are out of checkpoints, stop checking them: checkpoints = None else: checkpointTime = checkpoints['t'][checkpointIdx] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(print_interval): if(print_reset and (int(self.t) % print_interval == 0)): if(verbose=="t"): print("t = %.2f" % self.t) if(verbose==True): print("t = %.2f" % self.t) print("\t S = " + str(self.numS[self.tidx])) print("\t E = " + str(self.numE[self.tidx])) print("\t I_pre = " + str(self.numI_pre[self.tidx])) print("\t I_sym = " + str(self.numI_sym[self.tidx])) print("\t I_asym = " + str(self.numI_asym[self.tidx])) print("\t H = " + str(self.numH[self.tidx])) print("\t R = " + str(self.numR[self.tidx])) print("\t F = " + str(self.numF[self.tidx])) print("\t Q_S = " + str(self.numQ_S[self.tidx])) print("\t Q_E = " + str(self.numQ_E[self.tidx])) print("\t Q_pre = " + str(self.numQ_pre[self.tidx])) print("\t Q_sym = " + str(self.numQ_sym[self.tidx])) print("\t Q_asym = " + str(self.numQ_asym[self.tidx])) print("\t Q_R = " + str(self.numQ_R[self.tidx])) print_reset = False elif(not print_reset and (int(self.t) % 10 != 0)): print_reset = True return True #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def plot(self, ax=None, plot_S='line', plot_E='line', plot_I_pre='line', plot_I_sym='line', plot_I_asym='line', plot_H='line', plot_R='line', plot_F='line', plot_Q_E='line', plot_Q_pre='line', plot_Q_sym='line', plot_Q_asym='line', plot_Q_S='line', plot_Q_R='line', combine_Q_infected=True, color_S='tab:green', color_E='orange', color_I_pre='tomato', color_I_sym='crimson', color_I_asym='#F0909B', color_H='violet', color_R='tab:blue', color_F='black', color_Q_E='orange', color_Q_pre='tomato', color_Q_sym='crimson', color_Q_asym='#F0909B', color_Q_S='tab:green', color_Q_R='tab:blue', color_Q_infected='tab:purple', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True): import matplotlib.pyplot as pyplot #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Create an Axes object if None provided: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(not ax): fig, ax = pyplot.subplots() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Prepare data series to be plotted: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sseries = self.numS/self.numNodes if plot_percentages else self.numS Eseries = self.numE/self.numNodes if plot_percentages else self.numE I_preseries = self.numI_pre/self.numNodes if plot_percentages else self.numI_pre I_symseries = self.numI_sym/self.numNodes if plot_percentages else self.numI_sym I_asymseries = self.numI_asym/self.numNodes if plot_percentages else self.numI_asym Rseries = self.numR/self.numNodes if plot_percentages else self.numR Hseries = self.numH/self.numNodes if plot_percentages else self.numH Fseries = self.numF/self.numNodes if plot_percentages else self.numF Q_Sseries = self.numQ_S/self.numNodes if plot_percentages else self.numQ_S Q_Eseries = self.numQ_E/self.numNodes if plot_percentages else self.numQ_E Q_preseries = self.numQ_pre/self.numNodes if plot_percentages else self.numQ_pre Q_asymseries = self.numQ_asym/self.numNodes if plot_percentages else self.numQ_asym Q_symseries = self.numQ_sym/self.numNodes if plot_percentages else self.numQ_sym Q_Rseries = self.numQ_R/self.numNodes if plot_percentages else self.numQ_R Q_infectedseries = (Q_Eseries + Q_preseries + Q_asymseries + Q_symseries) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the reference data: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(dashed_reference_results): dashedReference_tseries = dashed_reference_results.tseries[::int(self.numNodes/100)] dashedReference_infectedStack = dashed_reference_results.total_num_infected()[::int(self.numNodes/100)] / (self.numNodes if plot_percentages else 1) ax.plot(dashedReference_tseries, dashedReference_infectedStack, color='#E0E0E0', linestyle='--', label='Total infections ('+dashed_reference_label+')', zorder=0) if(shaded_reference_results): shadedReference_tseries = shaded_reference_results.tseries shadedReference_infectedStack = shaded_reference_results.total_num_infected() / (self.numNodes if plot_percentages else 1) ax.fill_between(shaded_reference_results.tseries, shadedReference_infectedStack, 0, color='#EFEFEF', label='Total infections ('+shaded_reference_label+')', zorder=0) ax.plot(shaded_reference_results.tseries, shadedReference_infectedStack, color='#E0E0E0', zorder=1) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the stacked variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topstack = numpy.zeros_like(self.tseries) if(any(Fseries) and plot_F=='stacked'): ax.fill_between(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, topstack+Fseries), topstack, color=color_F, alpha=0.75, label='$F$', zorder=2) ax.plot( numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, topstack+Fseries), color=color_F, zorder=3) topstack = topstack+Fseries if(any(Hseries) and plot_H=='stacked'): ax.fill_between(numpy.ma.masked_where(Hseries<=0, self.tseries), numpy.ma.masked_where(Hseries<=0, topstack+Hseries), topstack, color=color_H, alpha=0.75, label='$H$', zorder=2) ax.plot( numpy.ma.masked_where(Hseries<=0, self.tseries), numpy.ma.masked_where(Hseries<=0, topstack+Hseries), color=color_H, zorder=3) topstack = topstack+Hseries if(combine_Q_infected and any(Q_infectedseries) and plot_Q_E=='stacked' and plot_Q_pre=='stacked' and plot_Q_sym=='stacked' and plot_Q_asym=='stacked'): ax.fill_between(numpy.ma.masked_where(Q_infectedseries<=0, self.tseries), numpy.ma.masked_where(Q_infectedseries<=0, topstack+Q_infectedseries), topstack, facecolor=color_Q_infected, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_{infected}$', zorder=2) ax.plot( numpy.ma.masked_where(Q_infectedseries<=0, self.tseries), numpy.ma.masked_where(Q_infectedseries<=0, topstack+Q_infectedseries), color=color_Q_infected, zorder=3) topstack = topstack+Q_infectedseries if(not combine_Q_infected and any(Q_Eseries) and plot_Q_E=='stacked'): ax.fill_between(numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, topstack+Q_Eseries), topstack, facecolor=color_Q_E, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_E$', zorder=2) ax.plot( numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, topstack+Q_Eseries), color=color_Q_E, zorder=3) topstack = topstack+Q_Eseries if(any(Eseries) and plot_E=='stacked'): ax.fill_between(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, topstack+Eseries), topstack, color=color_E, alpha=0.75, label='$E$', zorder=2) ax.plot( numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, topstack+Eseries), color=color_E, zorder=3) topstack = topstack+Eseries if(not combine_Q_infected and any(Q_preseries) and plot_Q_pre=='stacked'): ax.fill_between(numpy.ma.masked_where(Q_preseries<=0, self.tseries), numpy.ma.masked_where(Q_preseries<=0, topstack+Q_preseries), topstack, facecolor=color_Q_pre, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_{pre}$', zorder=2) ax.plot( numpy.ma.masked_where(Q_preseries<=0, self.tseries), numpy.ma.masked_where(Q_preseries<=0, topstack+Q_preseries), color=color_Q_pre, zorder=3) topstack = topstack+Q_preseries if(any(I_preseries) and plot_I_pre=='stacked'): ax.fill_between(numpy.ma.masked_where(I_preseries<=0, self.tseries), numpy.ma.masked_where(I_preseries<=0, topstack+I_preseries), topstack, color=color_I_pre, alpha=0.75, label='$I_{pre}$', zorder=2) ax.plot( numpy.ma.masked_where(I_preseries<=0, self.tseries), numpy.ma.masked_where(I_preseries<=0, topstack+I_preseries), color=color_I_pre, zorder=3) topstack = topstack+I_preseries if(not combine_Q_infected and any(Q_symseries) and plot_Q_sym=='stacked'): ax.fill_between(numpy.ma.masked_where(Q_symseries<=0, self.tseries), numpy.ma.masked_where(Q_symseries<=0, topstack+Q_symseries), topstack, facecolor=color_Q_sym, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_{sym}$', zorder=2) ax.plot( numpy.ma.masked_where(Q_symseries<=0, self.tseries), numpy.ma.masked_where(Q_symseries<=0, topstack+Q_symseries), color=color_Q_sym, zorder=3) topstack = topstack+Q_symseries if(any(I_symseries) and plot_I_sym=='stacked'): ax.fill_between(numpy.ma.masked_where(I_symseries<=0, self.tseries), numpy.ma.masked_where(I_symseries<=0, topstack+I_symseries), topstack, color=color_I_sym, alpha=0.75, label='$I_{sym}$', zorder=2) ax.plot( numpy.ma.masked_where(I_symseries<=0, self.tseries), numpy.ma.masked_where(I_symseries<=0, topstack+I_symseries), color=color_I_sym, zorder=3) topstack = topstack+I_symseries if(not combine_Q_infected and any(Q_asymseries) and plot_Q_asym=='stacked'): ax.fill_between(numpy.ma.masked_where(Q_asymseries<=0, self.tseries), numpy.ma.masked_where(Q_asymseries<=0, topstack+Q_asymseries), topstack, facecolor=color_Q_asym, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_{asym}$', zorder=2) ax.plot( numpy.ma.masked_where(Q_asymseries<=0, self.tseries), numpy.ma.masked_where(Q_asymseries<=0, topstack+Q_asymseries), color=color_Q_asym, zorder=3) topstack = topstack+Q_asymseries if(any(I_asymseries) and plot_I_asym=='stacked'): ax.fill_between(numpy.ma.masked_where(I_asymseries<=0, self.tseries), numpy.ma.masked_where(I_asymseries<=0, topstack+I_asymseries), topstack, color=color_I_asym, alpha=0.75, label='$I_{asym}$', zorder=2) ax.plot( numpy.ma.masked_where(I_asymseries<=0, self.tseries), numpy.ma.masked_where(I_asymseries<=0, topstack+I_asymseries), color=color_I_asym, zorder=3) topstack = topstack+I_asymseries if(any(Q_Rseries) and plot_Q_R=='stacked'): ax.fill_between(numpy.ma.masked_where(Q_Rseries<=0, self.tseries), numpy.ma.masked_where(Q_Rseries<=0, topstack+Q_Rseries), topstack, facecolor=color_Q_R, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_R$', zorder=2) ax.plot( numpy.ma.masked_where(Q_Rseries<=0, self.tseries), numpy.ma.masked_where(Q_Rseries<=0, topstack+Q_Rseries), color=color_Q_R, zorder=3) topstack = topstack+Q_Rseries if(any(Rseries) and plot_R=='stacked'): ax.fill_between(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, topstack+Rseries), topstack, color=color_R, alpha=0.75, label='$R$', zorder=2) ax.plot( numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, topstack+Rseries), color=color_R, zorder=3) topstack = topstack+Rseries if(any(Q_Sseries) and plot_Q_S=='stacked'): ax.fill_between(numpy.ma.masked_where(Q_Sseries<=0, self.tseries), numpy.ma.masked_where(Q_Sseries<=0, topstack+Q_Sseries), topstack, facecolor=color_Q_S, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_S$', zorder=2) ax.plot( numpy.ma.masked_where(Q_Sseries<=0, self.tseries), numpy.ma.masked_where(Q_Sseries<=0, topstack+Q_Sseries), color=color_Q_S, zorder=3) topstack = topstack+Q_Sseries if(any(Sseries) and plot_S=='stacked'): ax.fill_between(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, topstack+Sseries), topstack, color=color_S, alpha=0.75, label='$S$', zorder=2) ax.plot( numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, topstack+Sseries), color=color_S, zorder=3) topstack = topstack+Sseries #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the shaded variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(any(Fseries) and plot_F=='shaded'): ax.fill_between(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), 0, color=color_F, alpha=0.75, label='$F$', zorder=4) ax.plot( numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), color=color_F, zorder=5) if(any(Hseries) and plot_H=='shaded'): ax.fill_between(numpy.ma.masked_where(Hseries<=0, self.tseries), numpy.ma.masked_where(Hseries<=0, Hseries), 0, color=color_H, alpha=0.75, label='$H$', zorder=4) ax.plot( numpy.ma.masked_where(Hseries<=0, self.tseries), numpy.ma.masked_where(Hseries<=0, Hseries), color=color_H, zorder=5) if(combine_Q_infected and any(Q_infectedseries) and plot_Q_E=='shaded' and plot_Q_pre=='shaded' and plot_Q_sym=='shaded' and plot_Q_asym=='shaded'): ax.fill_between(numpy.ma.masked_where(Q_infectedseries<=0, self.tseries), numpy.ma.masked_where(Q_infectedseries<=0, Q_infectedseries), 0, color=color_Q_infected, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_{infected}$', zorder=4) ax.plot( numpy.ma.masked_where(Q_infectedseries<=0, self.tseries), numpy.ma.masked_where(Q_infectedseries<=0, Q_infectedseries), color=color_Q_infected, zorder=5) if(not combine_Q_infected and any(Q_Eseries) and plot_Q_E=='shaded'): ax.fill_between(numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, Q_Eseries), 0, facecolor=color_Q_E, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_E$', zorder=4) ax.plot( numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, Q_Eseries), color=color_Q_E, zorder=5) if(any(Eseries) and plot_E=='shaded'): ax.fill_between(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), 0, color=color_E, alpha=0.75, label='$E$', zorder=4) ax.plot( numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), color=color_E, zorder=5) if(not combine_Q_infected and any(Q_preseries) and plot_Q_pre=='shaded'): ax.fill_between(numpy.ma.masked_where(Q_preseries<=0, self.tseries), numpy.ma.masked_where(Q_preseries<=0, Q_preseries), 0, facecolor=color_Q_pre, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_{pre}$', zorder=4) ax.plot( numpy.ma.masked_where(Q_preseries<=0, self.tseries), numpy.ma.masked_where(Q_preseries<=0, Q_preseries), color=color_Q_pre, zorder=5) if(any(I_preseries) and plot_I_pre=='shaded'): ax.fill_between(numpy.ma.masked_where(I_preseries<=0, self.tseries), numpy.ma.masked_where(I_preseries<=0, I_preseries), 0, color=color_I_pre, alpha=0.75, label='$I_{pre}$', zorder=4) ax.plot( numpy.ma.masked_where(I_preseries<=0, self.tseries), numpy.ma.masked_where(I_preseries<=0, I_preseries), color=color_I_pre, zorder=5) if(not combine_Q_infected and any(Q_symseries) and plot_Q_sym=='shaded'): ax.fill_between(numpy.ma.masked_where(Q_symseries<=0, self.tseries), numpy.ma.masked_where(Q_symseries<=0, Q_symseries), 0, facecolor=color_Q_sym, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_{sym}$', zorder=4) ax.plot( numpy.ma.masked_where(Q_symseries<=0, self.tseries), numpy.ma.masked_where(Q_symseries<=0, Q_symseries), color=color_Q_sym, zorder=5) if(any(I_symseries) and plot_I_sym=='shaded'): ax.fill_between(numpy.ma.masked_where(I_symseries<=0, self.tseries), numpy.ma.masked_where(I_symseries<=0, I_symseries), 0, color=color_I_sym, alpha=0.75, label='$I_{sym}$', zorder=4) ax.plot( numpy.ma.masked_where(I_symseries<=0, self.tseries), numpy.ma.masked_where(I_symseries<=0, I_symseries), color=color_I_sym, zorder=5) if(not combine_Q_infected and any(Q_asymseries) and plot_Q_asym=='shaded'): ax.fill_between(numpy.ma.masked_where(Q_asymseries<=0, self.tseries), numpy.ma.masked_where(Q_asymseries<=0, Q_asymseries), 0, facecolor=color_Q_asym, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_{asym}$', zorder=4) ax.plot( numpy.ma.masked_where(Q_asymseries<=0, self.tseries), numpy.ma.masked_where(Q_asymseries<=0, Q_asymseries), color=color_Q_asym, zorder=5) if(any(I_asymseries) and plot_I_asym=='shaded'): ax.fill_between(numpy.ma.masked_where(I_asymseries<=0, self.tseries), numpy.ma.masked_where(I_asymseries<=0, I_asymseries), 0, color=color_I_asym, alpha=0.75, label='$I_{asym}$', zorder=4) ax.plot( numpy.ma.masked_where(I_asymseries<=0, self.tseries), numpy.ma.masked_where(I_asymseries<=0, I_asymseries), color=color_I_asym, zorder=5) if(any(Q_Rseries) and plot_Q_R=='shaded'): ax.fill_between(numpy.ma.masked_where(Q_Rseries<=0, self.tseries), numpy.ma.masked_where(Q_Rseries<=0, Q_Rseries), 0, facecolor=color_Q_R, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_R$', zorder=4) ax.plot( numpy.ma.masked_where(Q_Rseries<=0, self.tseries), numpy.ma.masked_where(Q_Rseries<=0, Q_Rseries), color=color_Q_R, zorder=5) if(any(Rseries) and plot_R=='shaded'): ax.fill_between(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), 0, color=color_R, alpha=0.75, label='$R$', zorder=4) ax.plot( numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), color=color_R, zorder=5) if(any(Q_Sseries) and plot_Q_S=='shaded'): ax.fill_between(numpy.ma.masked_where(Q_Sseries<=0, self.tseries), numpy.ma.masked_where(Q_Sseries<=0, Q_Sseries), 0, facecolor=color_Q_S, alpha=0.75, hatch='//////', edgecolor='white', linewidth=0.0, label='$Q_S$', zorder=4) ax.plot( numpy.ma.masked_where(Q_Sseries<=0, self.tseries), numpy.ma.masked_where(Q_Sseries<=0, Q_Sseries), color=color_Q_S, zorder=5) if(any(Sseries) and plot_S=='shaded'): ax.fill_between(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), 0, color=color_S, alpha=0.75, label='$S$', zorder=4) ax.plot( numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), color=color_S, zorder=5) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the line variables: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(any(Fseries) and plot_F=='line'): ax.plot(numpy.ma.masked_where(Fseries<=0, self.tseries), numpy.ma.masked_where(Fseries<=0, Fseries), color=color_F, label='$F$', zorder=6) if(any(Hseries) and plot_H=='line'): ax.plot(numpy.ma.masked_where(Hseries<=0, self.tseries), numpy.ma.masked_where(Hseries<=0, Hseries), color=color_H, label='$H$', zorder=6) if(combine_Q_infected and any(Q_infectedseries) and plot_Q_E=='line' and plot_Q_pre=='line' and plot_Q_sym=='line' and plot_Q_asym=='line'): ax.plot(numpy.ma.masked_where(Q_infectedseries<=0, self.tseries), numpy.ma.masked_where(Q_infectedseries<=0, Q_infectedseries), color=color_Q_infected, label='$Q_{infected}$', zorder=6) if(not combine_Q_infected and any(Q_Eseries) and plot_Q_E=='line'): ax.plot(numpy.ma.masked_where(Q_Eseries<=0, self.tseries), numpy.ma.masked_where(Q_Eseries<=0, Q_Eseries), color=color_Q_E, label='$Q_E$', zorder=6) if(any(Eseries) and plot_E=='line'): ax.plot(numpy.ma.masked_where(Eseries<=0, self.tseries), numpy.ma.masked_where(Eseries<=0, Eseries), color=color_E, label='$E$', zorder=6) if(not combine_Q_infected and any(Q_preseries) and plot_Q_pre=='line'): ax.plot(numpy.ma.masked_where(Q_preseries<=0, self.tseries), numpy.ma.masked_where(Q_preseries<=0, Q_preseries), color=color_Q_pre, label='$Q_{pre}$', zorder=6) if(any(I_preseries) and plot_I_pre=='line'): ax.plot(numpy.ma.masked_where(I_preseries<=0, self.tseries), numpy.ma.masked_where(I_preseries<=0, I_preseries), color=color_I_pre, label='$I_{pre}$', zorder=6) if(not combine_Q_infected and any(Q_symseries) and plot_Q_sym=='line'): ax.plot(numpy.ma.masked_where(Q_symseries<=0, self.tseries), numpy.ma.masked_where(Q_symseries<=0, Q_symseries), color=color_Q_sym, label='$Q_{sym}$', zorder=6) if(any(I_symseries) and plot_I_sym=='line'): ax.plot(numpy.ma.masked_where(I_symseries<=0, self.tseries), numpy.ma.masked_where(I_symseries<=0, I_symseries), color=color_I_sym, label='$I_{sym}$', zorder=6) if(not combine_Q_infected and any(Q_asymseries) and plot_Q_asym=='line'): ax.plot(numpy.ma.masked_where(Q_asymseries<=0, self.tseries), numpy.ma.masked_where(Q_asymseries<=0, Q_asymseries), color=color_Q_asym, label='$Q_{asym}$', zorder=6) if(any(I_asymseries) and plot_I_asym=='line'): ax.plot(numpy.ma.masked_where(I_asymseries<=0, self.tseries), numpy.ma.masked_where(I_asymseries<=0, I_asymseries), color=color_I_asym, label='$I_{asym}$', zorder=6) if(any(Q_Rseries) and plot_Q_R=='line'): ax.plot(numpy.ma.masked_where(Q_Rseries<=0, self.tseries), numpy.ma.masked_where(Q_Rseries<=0, Q_Rseries), color=color_Q_R, linestyle='--', label='$Q_R$', zorder=6) if(any(Rseries) and plot_R=='line'): ax.plot(numpy.ma.masked_where(Rseries<=0, self.tseries), numpy.ma.masked_where(Rseries<=0, Rseries), color=color_R, label='$R$', zorder=6) if(any(Q_Sseries) and plot_Q_S=='line'): ax.plot(numpy.ma.masked_where(Q_Sseries<=0, self.tseries), numpy.ma.masked_where(Q_Sseries<=0, Q_Sseries), color=color_Q_S, linestyle='--', label='$Q_S$', zorder=6) if(any(Sseries) and plot_S=='line'): ax.plot(numpy.ma.masked_where(Sseries<=0, self.tseries), numpy.ma.masked_where(Sseries<=0, Sseries), color=color_S, label='$S$', zorder=6) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the vertical line annotations: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(len(vlines)>0 and len(vline_colors)==0): vline_colors = ['gray']*len(vlines) if(len(vlines)>0 and len(vline_labels)==0): vline_labels = [None]*len(vlines) if(len(vlines)>0 and len(vline_styles)==0): vline_styles = [':']*len(vlines) for vline_x, vline_color, vline_style, vline_label in zip(vlines, vline_colors, vline_styles, vline_labels): if(vline_x is not None): ax.axvline(x=vline_x, color=vline_color, linestyle=vline_style, alpha=1, label=vline_label) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw the plot labels: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ax.set_xlabel('days') ax.set_ylabel('percent of population' if plot_percentages else 'number of individuals') ax.set_xlim(0, (max(self.tseries) if not xlim else xlim)) ax.set_ylim(0, ylim) if(plot_percentages): ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()]) if(legend): legend_handles, legend_labels = ax.get_legend_handles_labels() ax.legend(legend_handles[::-1], legend_labels[::-1], loc='upper right', facecolor='white', edgecolor='none', framealpha=0.9, prop={'size': 8}) if(title): ax.set_title(title, size=12) if(side_title): ax.annotate(side_title, (0, 0.5), xytext=(-45, 0), ha='right', va='center', size=12, rotation=90, xycoords='axes fraction', textcoords='offset points') return ax #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def figure_basic(self, plot_S='line', plot_E='line', plot_I_pre='line', plot_I_sym='line', plot_I_asym='line', plot_H='line', plot_R='line', plot_F='line', plot_Q_E='line', plot_Q_pre='line', plot_Q_sym='line', plot_Q_asym='line', plot_Q_S=False, plot_Q_R=False, combine_Q_infected=True, color_S='tab:green', color_E='orange', color_I_pre='tomato', color_I_sym='crimson', color_I_asym='#F0909B', color_H='violet', color_R='tab:blue', color_F='black', color_Q_E='orange', color_Q_pre='tomato', color_Q_sym='crimson', color_Q_asym='#F0909B', color_Q_S='tab:green', color_Q_R='tab:blue', color_Q_infected='tab:purple', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True, figsize=(12,8), use_seaborn=True, show=True): import matplotlib.pyplot as pyplot fig, ax = pyplot.subplots(figsize=figsize) if(use_seaborn): import seaborn seaborn.set_style('ticks') seaborn.despine() self.plot(ax=ax, plot_S=plot_S, plot_E=plot_E, plot_I_pre=plot_I_pre, plot_I_sym=plot_I_sym, plot_I_asym=plot_I_asym, plot_H=plot_H, plot_R=plot_R, plot_F=plot_F, plot_Q_E=plot_Q_E, plot_Q_pre=plot_Q_pre, plot_Q_sym=plot_Q_sym, plot_Q_asym=plot_Q_asym, plot_Q_S=plot_Q_S, plot_Q_R=plot_Q_R, combine_Q_infected=combine_Q_infected, color_S=color_S, color_E=color_E, color_I_pre=color_I_pre, color_I_sym=color_I_sym, color_I_asym=color_I_asym, color_H=color_H, color_R=color_R, color_F=color_F, color_Q_E=color_Q_E, color_Q_pre=color_Q_pre, color_Q_sym=color_Q_sym, color_Q_asym=color_Q_asym, color_Q_S=color_Q_S, color_Q_R=color_Q_R, color_Q_infected=color_Q_infected, color_reference=color_reference, dashed_reference_results=dashed_reference_results, dashed_reference_label=dashed_reference_label, shaded_reference_results=shaded_reference_results, shaded_reference_label=shaded_reference_label, vlines=vlines, vline_colors=vline_colors, vline_styles=vline_styles, vline_labels=vline_labels, ylim=ylim, xlim=xlim, legend=legend, title=title, side_title=side_title, plot_percentages=plot_percentages) if(show): pyplot.show() return fig, ax #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def figure_infections(self, plot_S=False, plot_E='stacked', plot_I_pre='stacked', plot_I_sym='stacked', plot_I_asym='stacked', plot_H='stacked', plot_R=False, plot_F='stacked', plot_Q_E='stacked', plot_Q_pre='stacked', plot_Q_sym='stacked', plot_Q_asym='stacked', plot_Q_S=False, plot_Q_R=False, combine_Q_infected=True, color_S='tab:green', color_E='orange', color_I_pre='tomato', color_I_sym='crimson', color_I_asym='#F0909B', color_H='violet', color_R='tab:blue', color_F='black', color_Q_E='orange', color_Q_pre='tomato', color_Q_sym='crimson', color_Q_asym='#F0909B', color_Q_S='tab:green', color_Q_R='tab:blue', color_Q_infected='tab:purple', color_reference='#E0E0E0', dashed_reference_results=None, dashed_reference_label='reference', shaded_reference_results=None, shaded_reference_label='reference', vlines=[], vline_colors=[], vline_styles=[], vline_labels=[], ylim=None, xlim=None, legend=True, title=None, side_title=None, plot_percentages=True, figsize=(12,8), use_seaborn=True, show=True): import matplotlib.pyplot as pyplot fig, ax = pyplot.subplots(figsize=figsize) if(use_seaborn): import seaborn seaborn.set_style('ticks') seaborn.despine() self.plot(ax=ax, plot_S=plot_S, plot_E=plot_E, plot_I_pre=plot_I_pre, plot_I_sym=plot_I_sym, plot_I_asym=plot_I_asym, plot_H=plot_H, plot_R=plot_R, plot_F=plot_F, plot_Q_E=plot_Q_E, plot_Q_pre=plot_Q_pre, plot_Q_sym=plot_Q_sym, plot_Q_asym=plot_Q_asym, plot_Q_S=plot_Q_S, plot_Q_R=plot_Q_R, combine_Q_infected=combine_Q_infected, color_S=color_S, color_E=color_E, color_I_pre=color_I_pre, color_I_sym=color_I_sym, color_I_asym=color_I_asym, color_H=color_H, color_R=color_R, color_F=color_F, color_Q_E=color_Q_E, color_Q_pre=color_Q_pre, color_Q_sym=color_Q_sym, color_Q_asym=color_Q_asym, color_Q_S=color_Q_S, color_Q_R=color_Q_R, color_Q_infected=color_Q_infected, color_reference=color_reference, dashed_reference_results=dashed_reference_results, dashed_reference_label=dashed_reference_label, shaded_reference_results=shaded_reference_results, shaded_reference_label=shaded_reference_label, vlines=vlines, vline_colors=vline_colors, vline_styles=vline_styles, vline_labels=vline_labels, ylim=ylim, xlim=xlim, legend=legend, title=title, side_title=side_title, plot_percentages=plot_percentages) if(show): pyplot.show() return fig, ax #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% seirsplus-1.1.0/build/lib/seirsplus/networks.py000066400000000000000000001171761375244156600217200ustar00rootroot00000000000000from __future__ import division import numpy import scipy import networkx from . import FARZ from .models import * import matplotlib.pyplot as pyplot def generate_workplace_contact_network(num_cohorts=1, num_nodes_per_cohort=100, num_teams_per_cohort=10, mean_intracohort_degree=6, pct_contacts_intercohort=0.2, farz_params={'alpha':5.0, 'gamma':5.0, 'beta':0.5, 'r':1, 'q':0.0, 'phi':10, 'b':0, 'epsilon':1e-6, 'directed': False, 'weighted': False}, distancing_scales=[]): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Generate FARZ networks of intra-cohort contacts: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cohortNetworks = [] teams_indices = {} for i in range(num_cohorts): numNodes = num_nodes_per_cohort[i] if isinstance(num_nodes_per_cohort, list) else num_nodes_per_cohort numTeams = num_teams_per_cohort[i] if isinstance(num_teams_per_cohort, list) else num_teams_per_cohort cohortMeanDegree = mean_intracohort_degree[i] if isinstance(mean_intracohort_degree, list) else mean_intracohort_degree farz_params.update({'n':numNodes, 'k':numTeams, 'm':cohortMeanDegree}) cohortNetwork, cohortTeamLabels = FARZ.generate(farz_params=farz_params) cohortNetworks.append(cohortNetwork) for node, teams in cohortTeamLabels.items(): for team in teams: try: teams_indices['c'+str(i)+'-t'+str(team)].append(node) except KeyError: teams_indices['c'+str(i)+'-t'+str(team)] = [node] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Establish inter-cohort contacts: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cohortsAdjMatrices = [networkx.adj_matrix(cohortNetwork) for cohortNetwork in cohortNetworks] workplaceAdjMatrix = scipy.sparse.block_diag(cohortsAdjMatrices) workplaceNetwork = networkx.from_scipy_sparse_matrix(workplaceAdjMatrix) N = workplaceNetwork.number_of_nodes() cohorts_indices = {} cohortStartIdx = -1 cohortFinalIdx = -1 for c, cohortNetwork in enumerate(cohortNetworks): cohortStartIdx = cohortFinalIdx + 1 cohortFinalIdx = cohortStartIdx + cohortNetwork.number_of_nodes() - 1 cohorts_indices['c'+str(c)] = list(range(cohortStartIdx, cohortFinalIdx)) for team, indices in teams_indices.items(): if('c'+str(c) in team): teams_indices[team] = [idx+cohortStartIdx for idx in indices] for i in list(range(cohortNetwork.number_of_nodes())): i_intraCohortDegree = cohortNetwork.degree[i] i_interCohortDegree = int( ((1/(1-pct_contacts_intercohort))*i_intraCohortDegree)-i_intraCohortDegree ) # Add intercohort edges: if(len(cohortNetworks) > 1): for d in list(range(i_interCohortDegree)): j = numpy.random.choice(list(range(0, cohortStartIdx))+list(range(cohortFinalIdx+1, N))) workplaceNetwork.add_edge(i, j) return workplaceNetwork, cohorts_indices, teams_indices # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def generate_demographic_contact_network(N, demographic_data, layer_generator='FARZ', layer_info=None, distancing_scales=[], isolation_groups=[], verbose=False): graphs = {} age_distn = demographic_data['age_distn'] household_size_distn = demographic_data['household_size_distn'] household_stats = demographic_data['household_stats'] ######################################### # Preprocess Demographic Statistics: ######################################### meanHouseholdSize = numpy.average(list(household_size_distn.keys()), weights=list(household_size_distn.values())) # print("mean household size: " + str(meanHouseholdSize)) # Calculate the distribution of household sizes given that the household has more than 1 member: household_size_distn_givenGT1 = {key: value/(1-household_size_distn[1]) for key, value in household_size_distn.items()} household_size_distn_givenGT1[1] = 0 # Percent of households with at least one member under 20: pctHouseholdsWithMember_U20 = household_stats['pct_with_under20'] # Percent of households with at least one member over 60: pctHouseholdsWithMember_O60 = household_stats['pct_with_over60'] # Percent of households with at least one member under 20 AND at least one over 60: pctHouseholdsWithMember_U20andO60 = household_stats['pct_with_under20_over60'] # Percent of SINGLE OCCUPANT households where the occupant is over 60: pctHouseholdsWithMember_O60_givenEq1 = household_stats['pct_with_over60_givenSingleOccupant'] # Average number of members Under 20 in households with at least one member Under 20: meanNumU20PerHousehold_givenU20 = household_stats['mean_num_under20_givenAtLeastOneUnder20'] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Define major age groups (under 20, between 20-60, over 60), # and calculate age distributions conditional on belonging (or not) to one of these groups: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ageBrackets_U20 = ['0-9', '10-19'] totalPctU20 = numpy.sum([age_distn[bracket] for bracket in ageBrackets_U20]) age_distn_givenU20 = {bracket: pct/totalPctU20 for bracket, pct in age_distn.items() if bracket in ageBrackets_U20} ageBrackets_20to60 = ['20-29', '30-39', '40-49', '50-59'] totalPct20to60 = numpy.sum([age_distn[bracket] for bracket in ageBrackets_20to60]) age_distn_given20to60 = {bracket: pct/totalPct20to60 for bracket, pct in age_distn.items() if bracket in ageBrackets_20to60} ageBrackets_O60 = ['60-69', '70-79', '80+'] totalPctO60 = numpy.sum([age_distn[bracket] for bracket in ageBrackets_O60]) age_distn_givenO60 = {bracket: pct/totalPctO60 for bracket, pct in age_distn.items() if bracket in ageBrackets_O60} ageBrackets_NOTU20 = ['20-29', '30-39', '40-49', '50-59', '60-69', '70-79', '80+'] totalPctNOTU20 = numpy.sum([age_distn[bracket] for bracket in ageBrackets_NOTU20]) age_distn_givenNOTU20 = {bracket: pct/totalPctNOTU20 for bracket, pct in age_distn.items() if bracket in ageBrackets_NOTU20} ageBrackets_NOTO60 = ['0-9', '10-19', '20-29', '30-39', '40-49', '50-59'] totalPctNOTO60 = numpy.sum([age_distn[bracket] for bracket in ageBrackets_NOTO60]) age_distn_givenNOTO60 = {bracket: pct/totalPctNOTO60 for bracket, pct in age_distn.items() if bracket in ageBrackets_NOTO60} #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Calculate the probabilities of a household having members in the major age groups, # conditional on single/multi-occupancy: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ prob_u20 = pctHouseholdsWithMember_U20 # probability of household having at least 1 member under 20 prob_o60 = pctHouseholdsWithMember_O60 # probability of household having at least 1 member over 60 prob_eq1 = household_size_distn[1] # probability of household having 1 member prob_gt1 = 1 - prob_eq1 # probability of household having greater than 1 member householdSituations_prob = {} householdSituations_prob['u20_o60_eq1'] = 0 # can't have both someone under 20 and over 60 in a household with 1 member householdSituations_prob['u20_NOTo60_eq1'] = 0 # assume no one under 20 lives on their own (data suggests <1% actually do) householdSituations_prob['NOTu20_o60_eq1'] = pctHouseholdsWithMember_O60_givenEq1*prob_eq1 householdSituations_prob['NOTu20_NOTo60_eq1'] = (1 - pctHouseholdsWithMember_O60_givenEq1)*prob_eq1 householdSituations_prob['u20_o60_gt1'] = pctHouseholdsWithMember_U20andO60 householdSituations_prob['u20_NOTo60_gt1'] = prob_u20 - householdSituations_prob['u20_o60_gt1'] - householdSituations_prob['u20_NOTo60_eq1'] - householdSituations_prob['u20_o60_eq1'] householdSituations_prob['NOTu20_o60_gt1'] = prob_o60 - householdSituations_prob['u20_o60_gt1'] - householdSituations_prob['NOTu20_o60_eq1'] - householdSituations_prob['u20_o60_eq1'] householdSituations_prob['NOTu20_NOTo60_gt1'] = prob_gt1 - householdSituations_prob['u20_o60_gt1'] - householdSituations_prob['NOTu20_o60_gt1'] - householdSituations_prob['u20_NOTo60_gt1'] assert(numpy.sum(list(householdSituations_prob.values())) == 1.0), "Household situation probabilities must do not sum to 1" ######################################### ######################################### # Randomly construct households following the size and age distributions defined above: ######################################### ######################################### households = [] # List of dicts storing household data structures and metadata homelessNodes = N # Number of individuals to place in households curMemberIndex = 0 while(homelessNodes > 0): household = {} household['situation'] = numpy.random.choice(list(householdSituations_prob.keys()), p=list(householdSituations_prob.values())) household['ageBrackets'] = [] if(household['situation'] == 'NOTu20_o60_eq1'): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Household size is definitely 1 household['size'] = 1 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # There is only 1 member in this household, and they are OVER 60; add them: household['ageBrackets'].append( numpy.random.choice(list(age_distn_givenO60.keys()), p=list(age_distn_givenO60.values())) ) elif(household['situation'] == 'NOTu20_NOTo60_eq1'): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Household size is definitely 1 household['size'] = 1 # There is only 1 member in this household, and they are BETWEEN 20-60; add them: household['ageBrackets'].append( numpy.random.choice(list(age_distn_given20to60.keys()), p=list(age_distn_given20to60.values())) ) elif(household['situation'] == 'u20_o60_gt1'): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw a household size (given the situation, there's at least 2 members): household['size'] = min(homelessNodes, max(2, numpy.random.choice(list(household_size_distn_givenGT1), p=list(household_size_distn_givenGT1.values()))) ) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # There's definitely at least one UNDER 20 in this household, add an appropriate age bracket: household['ageBrackets'].append( numpy.random.choice(list(age_distn_givenU20.keys()), p=list(age_distn_givenU20.values())) ) # Figure out how many additional Under 20 to add given there is at least one U20; add them: # > Must leave room for at least one Over 60 (see minmax terms) numAdditionalU20_givenAtLeastOneU20 = min(max(0, numpy.random.poisson(meanNumU20PerHousehold_givenU20-1)), household['size']-len(household['ageBrackets'])-1) for k in range(numAdditionalU20_givenAtLeastOneU20): household['ageBrackets'].append( numpy.random.choice(list(age_distn_givenU20.keys()), p=list(age_distn_givenU20.values())) ) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # There's definitely one OVER 60 in this household, add an appropriate age bracket: household['ageBrackets'].append( numpy.random.choice(list(age_distn_givenO60.keys()), p=list(age_distn_givenO60.values())) ) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Any remaining members can be any age EXCLUDING Under 20 (all U20s already added): for m in range(household['size'] - len(household['ageBrackets'])): household['ageBrackets'].append( numpy.random.choice(list(age_distn_givenNOTU20.keys()), p=list(age_distn_givenNOTU20.values())) ) elif(household['situation'] == 'u20_NOTo60_gt1'): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw a household size (given the situation, there's at least 2 members): household['size'] = min(homelessNodes, max(2, numpy.random.choice(list(household_size_distn_givenGT1), p=list(household_size_distn_givenGT1.values()))) ) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # There's definitely at least one UNDER 20 in this household, add an appropriate age bracket: household['ageBrackets'].append( numpy.random.choice(list(age_distn_givenU20.keys()), p=list(age_distn_givenU20.values())) ) # Figure out how many additional Under 20 to add given there is at least one U20; add them: # > NOT CURRENTLY ASSUMING that there must be at least one non-Under20 member in every household (doing so makes total % U20 in households too low) numAdditionalU20_givenAtLeastOneU20 = min(max(0, numpy.random.poisson(meanNumU20PerHousehold_givenU20-1)), household['size']-len(household['ageBrackets'])) for k in range(numAdditionalU20_givenAtLeastOneU20): household['ageBrackets'].append( numpy.random.choice(list(age_distn_givenU20.keys()), p=list(age_distn_givenU20.values())) ) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # There are no OVER 60 in this household. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Remaining members can be any age EXCLUDING OVER 60 and EXCLUDING UNDER 20 (all U20s already added): for m in range(household['size'] - len(household['ageBrackets'])): household['ageBrackets'].append( numpy.random.choice(list(age_distn_given20to60.keys()), p=list(age_distn_given20to60.values())) ) elif(household['situation'] == 'NOTu20_o60_gt1'): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw a household size (given the situation, there's at least 2 members): household['size'] = min(homelessNodes, max(2, numpy.random.choice(list(household_size_distn_givenGT1), p=list(household_size_distn_givenGT1.values()))) ) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # There are no UNDER 20 in this household. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # There's definitely one OVER 60 in this household, add an appropriate age bracket: household['ageBrackets'].append( numpy.random.choice(list(age_distn_givenO60.keys()), p=list(age_distn_givenO60.values())) ) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Any remaining members can be any age EXCLUDING UNDER 20: for m in range(household['size'] - len(household['ageBrackets'])): household['ageBrackets'].append( numpy.random.choice(list(age_distn_givenNOTU20.keys()), p=list(age_distn_givenNOTU20.values())) ) elif(household['situation'] == 'NOTu20_NOTo60_gt1'): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Draw a household size (given the situation, there's at least 2 members): household['size'] = min(homelessNodes, max(2, numpy.random.choice(list(household_size_distn_givenGT1), p=list(household_size_distn_givenGT1.values()))) ) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # There are no UNDER 20 in this household. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # There are no OVER 60 in this household. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Remaining household members can be any age BETWEEN 20 TO 60, add as many as needed to meet the household size: for m in range(household['size'] - len(household['ageBrackets'])): household['ageBrackets'].append( numpy.random.choice(list(age_distn_given20to60.keys()), p=list(age_distn_given20to60.values())) ) # elif(household['situation'] == 'u20_NOTo60_eq1'): # impossible by assumption # elif(household['situation'] == 'u20_o60_eq1'): # impossible if(len(household['ageBrackets']) == household['size']): homelessNodes -= household['size'] households.append(household) else: print("Household size does not match number of age brackets assigned. "+household['situation']) numHouseholds = len(households) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Check the frequencies of constructed households against the target distributions: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ print("Generated overall age distribution:") for ageBracket in sorted(age_distn): age_freq = numpy.sum([len([age for age in household['ageBrackets'] if age==ageBracket]) for household in households])/N print(str(ageBracket)+": %.4f\t(%.4f from target)" % (age_freq, (age_freq - age_distn[ageBracket])) ) print() print("Generated household size distribution:") for size in sorted(household_size_distn): size_freq = numpy.sum([1 for household in households if household['size']==size])/numHouseholds print(str(size)+": %.4f\t(%.4f from target)" % (size_freq, (size_freq - household_size_distn[size])) ) print("Num households: " +str(numHouseholds)) print("mean household size: " + str(meanHouseholdSize)) print() if(verbose): print("Generated percent households with at least one member Under 20:") checkval = len([household for household in households if not set(household['ageBrackets']).isdisjoint(ageBrackets_U20)])/numHouseholds target = pctHouseholdsWithMember_U20 print("%.4f\t\t(%.4f from target)" % (checkval, checkval - target)) print("Generated percent households with at least one Over 60") checkval = len([household for household in households if not set(household['ageBrackets']).isdisjoint(ageBrackets_O60)])/numHouseholds target = pctHouseholdsWithMember_O60 print("%.4f\t\t(%.4f from target)" % (checkval, checkval - target)) print("Generated percent households with at least one Under 20 AND Over 60") checkval = len([household for household in households if not set(household['ageBrackets']).isdisjoint(ageBrackets_O60) and not set(household['ageBrackets']).isdisjoint(ageBrackets_U20)])/numHouseholds target = pctHouseholdsWithMember_U20andO60 print("%.4f\t\t(%.4f from target)" % (checkval, checkval - target)) print("Generated percent households with 1 total member who is Over 60") checkval = numpy.sum([1 for household in households if household['size']==1 and not set(household['ageBrackets']).isdisjoint(ageBrackets_O60)])/numHouseholds target = pctHouseholdsWithMember_O60_givenEq1*prob_eq1 print("%.4f\t\t(%.4f from target)" % (checkval, checkval - target)) print("Generated mean num members Under 20 given at least one member is Under 20") checkval = numpy.mean([numpy.in1d(household['ageBrackets'], ageBrackets_U20).sum() for household in households if not set(household['ageBrackets']).isdisjoint(ageBrackets_U20)]) target = meanNumU20PerHousehold_givenU20 print("%.4f\t\t(%.4f from target)" % (checkval, checkval - target)) # ######################################### ######################################### # Generate Contact Networks ######################################### ######################################### ######################################### # Generate baseline (no intervention) contact network: ######################################### #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Define the age groups and desired mean degree for each graph layer: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(layer_info is None): # Use the following default data if none is provided: # Data source: https://www.medrxiv.org/content/10.1101/2020.03.19.20039107v1 layer_info = { '0-9': {'ageBrackets': ['0-9'], 'meanDegree': 8.6, 'meanDegree_CI': (0.0, 17.7) }, '10-19': {'ageBrackets': ['10-19'], 'meanDegree': 16.2, 'meanDegree_CI': (12.5, 19.8) }, '20-59': {'ageBrackets': ['20-29', '30-39', '40-49', '50-59'], 'meanDegree': ((age_distn_given20to60['20-29']+age_distn_given20to60['30-39'])*15.3 + (age_distn_given20to60['40-49']+age_distn_given20to60['50-59'])*13.8), 'meanDegree_CI': ( ((age_distn_given20to60['20-29']+age_distn_given20to60['30-39'])*12.6 + (age_distn_given20to60['40-49']+age_distn_given20to60['50-59'])*11.0), ((age_distn_given20to60['20-29']+age_distn_given20to60['30-39'])*17.9 + (age_distn_given20to60['40-49']+age_distn_given20to60['50-59'])*16.6) ) }, # '20-39': {'ageBrackets': ['20-29', '30-39'], 'meanDegree': 15.3, 'meanDegree_CI': (12.6, 17.9) }, # '40-59': {'ageBrackets': ['40-49', '50-59'], 'meanDegree': 13.8, 'meanDegree_CI': (11.0, 16.6) }, '60+': {'ageBrackets': ['60-69', '70-79', '80+'], 'meanDegree': 13.9, 'meanDegree_CI': (7.3, 20.5) } } # Count the number of individuals in each age bracket in the generated households: ageBrackets_numInPop = {ageBracket: numpy.sum([len([age for age in household['ageBrackets'] if age==ageBracket]) for household in households]) for ageBracket, __ in age_distn.items()} #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Generate a graph layer for each age group, representing the public contacts for each age group: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ adjMatrices = [] adjMatrices_isolation_mask = [] individualAgeGroupLabels = [] curidx = 0 for layerGroup, layerInfo in layer_info.items(): print("Generating graph for "+layerGroup+"...") layerInfo['numIndividuals'] = numpy.sum([ageBrackets_numInPop[ageBracket] for ageBracket in layerInfo['ageBrackets']]) layerInfo['indices'] = range(curidx, curidx+layerInfo['numIndividuals']) curidx += layerInfo['numIndividuals'] individualAgeGroupLabels[min(layerInfo['indices']):max(layerInfo['indices'])] = [layerGroup]*layerInfo['numIndividuals'] graph_generated = False graph_gen_attempts = 0 # Note, we generate a graph with average_degree parameter = target mean degree - meanHousehold size # so that when in-household edges are added each graph's mean degree will be close to the target mean targetMeanDegree = layerInfo['meanDegree']-int(meanHouseholdSize) targetMeanDegreeRange = (targetMeanDegree+meanHouseholdSize-0.75, targetMeanDegree+meanHouseholdSize+0.75) if layer_generator=='FARZ' else layerInfo['meanDegree_CI'] # targetMeanDegreeRange = (targetMeanDegree+meanHouseholdSize-1, targetMeanDegree+meanHouseholdSize+1) while(not graph_generated): try: if(layer_generator == 'LFR'): # print "TARGET MEAN DEGREE = " + str(targetMeanDegree) layerInfo['graph'] = networkx.generators.community.LFR_benchmark_graph( n=layerInfo['numIndividuals'], tau1=3, tau2=2, mu=0.5, average_degree=int(targetMeanDegree), tol=1e-01, max_iters=200, seed=(None if graph_gen_attempts<10 else int(numpy.random.rand()*1000))) elif(layer_generator == 'FARZ'): # https://github.com/rabbanyk/FARZ layerInfo['graph'], layerInfo['communities'] = FARZ.generate(farz_params={ 'n': layerInfo['numIndividuals'], 'm': int(targetMeanDegree/2), # mean degree / 2 'k': int(layerInfo['numIndividuals']/50), # num communities 'alpha': 2.0, # clustering param 'gamma': -0.6, # assortativity param 'beta': 0.6, # prob within community edges 'r': 1, # max num communities node can be part of 'q': 0.5, # probability of multi-community membership 'phi': 1, 'b': 0.0, 'epsilon': 0.0000001, 'directed': False, 'weighted': False}) elif(layer_generator == 'BA'): pass else: print("Layer generator \""+layer_generator+"\" is not recognized (support for 'LFR', 'FARZ', 'BA'") nodeDegrees = [d[1] for d in layerInfo['graph'].degree()] meanDegree = numpy.mean(nodeDegrees) maxDegree = numpy.max(nodeDegrees) # Enforce that the generated graph has mean degree within the 95% CI of the mean for this group in the data: if(meanDegree+meanHouseholdSize >= targetMeanDegreeRange[0] and meanDegree+meanHouseholdSize <= targetMeanDegreeRange[1]): # if(meanDegree+meanHouseholdSize >= targetMeanDegree+meanHouseholdSize-1 and meanDegree+meanHouseholdSize <= targetMeanDegree+meanHouseholdSize+1): if(verbose): print(layerGroup+" public mean degree = "+str((meanDegree))) print(layerGroup+" public max degree = "+str((maxDegree))) adjMatrices.append(networkx.adj_matrix(layerInfo['graph'])) # Create an adjacency matrix mask that will zero out all public edges # for any isolation groups but allow all public edges for other groups: if(layerGroup in isolation_groups): adjMatrices_isolation_mask.append(numpy.zeros(shape=networkx.adj_matrix(layerInfo['graph']).shape)) else: # adjMatrices_isolation_mask.append(numpy.ones(shape=networkx.adj_matrix(layerInfo['graph']).shape)) # The graph layer we just created represents the baseline (no dist) public connections; # this should be the superset of all connections that exist in any modification of the network, # therefore it should work to use this baseline adj matrix as the mask instead of a block of 1s # (which uses unnecessary memory to store a whole block of 1s, ie not sparse) adjMatrices_isolation_mask.append(networkx.adj_matrix(layerInfo['graph'])) graph_generated = True else: graph_gen_attempts += 1 if(graph_gen_attempts >= 1):# and graph_gen_attempts % 2): if(meanDegree+meanHouseholdSize < targetMeanDegreeRange[0]): targetMeanDegree += 1 if layer_generator=='FARZ' else 0.05 elif(meanDegree+meanHouseholdSize > targetMeanDegreeRange[1]): targetMeanDegree -= 1 if layer_generator=='FARZ' else 0.05 # reload(networkx) if(verbose): # print("Try again... (mean degree = "+str(meanDegree)+"+"+str(meanHouseholdSize)+" is outside the target range for mean degree "+str(targetMeanDegreeRange)+")") print("\tTry again... (mean degree = %.2f+%.2f=%.2f is outside the target range for mean degree (%.2f, %.2f)" % (meanDegree, meanHouseholdSize, meanDegree+meanHouseholdSize, targetMeanDegreeRange[0], targetMeanDegreeRange[1])) # The networks LFR graph generator function has unreliable convergence. # If it fails to converge in allotted iterations, try again to generate. # If it is stuck (for some reason) and failing many times, reload networkx. except networkx.exception.ExceededMaxIterations: graph_gen_attempts += 1 # if(graph_gen_attempts >= 10 and graph_gen_attempts % 10): # reload(networkx) if(verbose): print("\tTry again... (networkx failed to converge on a graph)") #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Assemble an graph for the full population out of the adjacencies generated for each layer: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A_baseline = scipy.sparse.lil_matrix(scipy.sparse.block_diag(adjMatrices)) # Create a networkx Graph object from the adjacency matrix: G_baseline = networkx.from_scipy_sparse_matrix(A_baseline) graphs['baseline'] = G_baseline ######################################### # Generate social distancing modifications to the baseline *public* contact network: ######################################### # In-household connections are assumed to be unaffected by social distancing, # and edges will be added to strongly connect households below. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Social distancing graphs are generated by randomly drawing (from an exponential distribution) # a number of edges for each node to *keep*, and other edges are removed. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ G_baseline_NODIST = graphs['baseline'].copy() # Social distancing interactions: for dist_scale in distancing_scales: graphs['distancingScale'+str(dist_scale)] = custom_exponential_graph(G_baseline_NODIST, scale=dist_scale) if(verbose): nodeDegrees_baseline_public_DIST = [d[1] for d in graphs['distancingScale'+str(dist_scale)].degree()] print("Distancing Public Degree Pcts:") (unique, counts) = numpy.unique(nodeDegrees_baseline_public_DIST, return_counts=True) print([str(unique)+": "+str(count/N) for (unique, count) in zip(unique, counts)]) # pyplot.hist(nodeDegrees_baseline_public_NODIST, bins=range(int(max(nodeDegrees_baseline_public_NODIST))), alpha=0.5, color='tab:blue', label='Public Contacts (no dist)') pyplot.hist(nodeDegrees_baseline_public_DIST, bins=range(int(max(nodeDegrees_baseline_public_DIST))), alpha=0.5, color='tab:purple', label='Public Contacts (distancingScale'+str(dist_scale)+')') pyplot.xlim(0,40) pyplot.xlabel('degree') pyplot.ylabel('num nodes') pyplot.legend(loc='upper right') pyplot.show() ######################################### # Generate modifications to the contact network representing isolation of individuals in specified groups: ######################################### if(len(isolation_groups) > 0): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Assemble an adjacency matrix mask (from layer generation step) that will zero out # all public contact edges for the isolation groups but allow all public edges for other groups. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A_isolation_mask = scipy.sparse.lil_matrix(scipy.sparse.block_diag(adjMatrices_isolation_mask)) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Then multiply each distancing graph by this mask to generate the corresponding # distancing adjacency matrices where the isolation groups are isolated (no public edges), # and create graphs corresponding to the isolation intervention for each distancing level: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ for graphName, graph in graphs.items(): A_withIsolation = scipy.sparse.csr_matrix.multiply( networkx.adj_matrix(graph), A_isolation_mask ) graphs[graphName+'_isolation'] = networkx.from_scipy_sparse_matrix(A_withIsolation) ######################################### ######################################### # Add edges between housemates to strongly connect households: ######################################### ######################################### # Apply to all distancing graphs # Create a copy of the list of node indices for each age group (graph layer) to draw from: for layerGroup, layerInfo in layer_info.items(): layerInfo['selection_indices'] = list(layerInfo['indices']) individualAgeBracketLabels = [None]*N # Go through each household, look up what the age brackets of the members should be, # and randomly select nodes from corresponding age groups (graph layers) to place in the given household. # Strongly connect the nodes selected for each household by adding edges to the adjacency matrix. for household in households: household['indices'] = [] for ageBracket in household['ageBrackets']: ageGroupIndices = next(layer_info[item]['selection_indices'] for item in layer_info if ageBracket in layer_info[item]["ageBrackets"]) memberIndex = ageGroupIndices.pop() household['indices'].append(memberIndex) individualAgeBracketLabels[memberIndex] = ageBracket for memberIdx in household['indices']: nonselfIndices = [i for i in household['indices'] if memberIdx!=i] for housemateIdx in nonselfIndices: # Apply to all distancing graphs for graphName, graph in graphs.items(): graph.add_edge(memberIdx, housemateIdx) ######################################### # Check the connectivity of the fully constructed contacts graphs for each age group's layer: ######################################### if(verbose): for graphName, graph in graphs.items(): nodeDegrees = [d[1] for d in graph.degree()] meanDegree= numpy.mean(nodeDegrees) maxDegree= numpy.max(nodeDegrees) components = sorted(networkx.connected_components(graph), key=len, reverse=True) numConnectedComps = len(components) largestConnectedComp = graph.subgraph(components[0]) print(graphName+": Overall mean degree = "+str((meanDegree))) print(graphName+": Overall max degree = "+str((maxDegree))) print(graphName+": number of connected components = {0:d}".format(numConnectedComps)) print(graphName+": largest connected component = {0:d}".format(len(largestConnectedComp))) for layerGroup, layerInfo in layer_info.items(): nodeDegrees_group = networkx.adj_matrix(graph)[min(layerInfo['indices']):max(layerInfo['indices']), :].sum(axis=1) print("\t"+graphName+": "+layerGroup+" final graph mean degree = "+str(numpy.mean(nodeDegrees_group))) print("\t"+graphName+": "+layerGroup+" final graph max degree = "+str(numpy.max(nodeDegrees_group))) pyplot.hist(nodeDegrees_group, bins=range(int(max(nodeDegrees_group))), alpha=0.5, label=layerGroup) # pyplot.hist(nodeDegrees, bins=range(int(max(nodeDegrees))), alpha=0.5, color='black', label=graphName) pyplot.xlim(0,40) pyplot.xlabel('degree') pyplot.ylabel('num nodes') pyplot.legend(loc='upper right') pyplot.show() ######################################### return graphs, individualAgeBracketLabels, households def household_country_data(country): if(country=='US'): household_data = { 'household_size_distn':{ 1: 0.283708848, 2: 0.345103011, 3: 0.150677793, 4: 0.127649150, 5: 0.057777709, 6: 0.022624223, 7: 0.012459266 }, 'age_distn':{'0-9': 0.121, '10-19': 0.131, '20-29': 0.137, '30-39': 0.133, '40-49': 0.124, '50-59': 0.131, '60-69': 0.115, '70-79': 0.070, '80+' : 0.038 }, 'household_stats':{ 'pct_with_under20': 0.3368, 'pct_with_over60': 0.3801, 'pct_with_under20_over60': 0.0341, 'pct_with_over60_givenSingleOccupant': 0.110, 'mean_num_under20_givenAtLeastOneUnder20': 1.91 } } return household_data #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Defines a random exponential edge pruning mechanism # where the mean degree be easily down-shifted #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def custom_exponential_graph(base_graph=None, scale=100, min_num_edges=0, m=9, n=None): # If no base graph is provided, generate a random preferential attachment power law graph as a starting point. if(base_graph): graph = base_graph.copy() else: assert(n is not None), "Argument n (number of nodes) must be provided when no base graph is given." graph = networkx.barabasi_albert_graph(n=n, m=m) # We modify the graph by probabilistically dropping some edges from each node. for node in graph: neighbors = list(graph[node].keys()) if(len(neighbors) > 0): quarantineEdgeNum = int( max(min(numpy.random.exponential(scale=scale, size=1), len(neighbors)), min_num_edges) ) quarantineKeepNeighbors = numpy.random.choice(neighbors, size=quarantineEdgeNum, replace=False) for neighbor in neighbors: if(neighbor not in quarantineKeepNeighbors): graph.remove_edge(node, neighbor) return graph #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def plot_degree_distn(graph, max_degree=None, show=True, use_seaborn=True): import matplotlib.pyplot as pyplot if(use_seaborn): import seaborn seaborn.set_style('ticks') seaborn.despine() # Get a list of the node degrees: if type(graph)==numpy.ndarray: nodeDegrees = graph.sum(axis=0).reshape((graph.shape[0],1)) # sums of adj matrix cols elif type(graph)==networkx.classes.graph.Graph: nodeDegrees = [d[1] for d in graph.degree()] else: raise BaseException("Input an adjacency matrix or networkx object only.") # Calculate the mean degree: meanDegree = numpy.mean(nodeDegrees) # Generate a histogram of the node degrees: pyplot.hist(nodeDegrees, bins=range(max(nodeDegrees)), alpha=0.75, color='tab:blue', label=('mean degree = %.1f' % meanDegree)) pyplot.xlim(0, max(nodeDegrees) if not max_degree else max_degree) pyplot.xlabel('degree') pyplot.ylabel('num nodes') pyplot.legend(loc='upper right') if(show): pyplot.show() seirsplus-1.1.0/build/lib/seirsplus/sim_loops.py000066400000000000000000000575371375244156600220540ustar00rootroot00000000000000from __future__ import division import pickle import numpy import time def run_tti_sim(model, T, intervention_start_pct_infected=0, average_introductions_per_day=0, testing_cadence='everyday', pct_tested_per_day=1.0, test_falseneg_rate='temporal', testing_compliance_symptomatic=[None], max_pct_tests_for_symptomatics=1.0, testing_compliance_traced=[None], max_pct_tests_for_traces=1.0, testing_compliance_random=[None], random_testing_degree_bias=0, tracing_compliance=[None], num_contacts_to_trace=None, pct_contacts_to_trace=1.0, tracing_lag=1, isolation_compliance_symptomatic_individual=[None], isolation_compliance_symptomatic_groupmate=[None], isolation_compliance_positive_individual=[None], isolation_compliance_positive_groupmate=[None], isolation_compliance_positive_contact=[None], isolation_compliance_positive_contactgroupmate=[None], isolation_lag_symptomatic=1, isolation_lag_positive=1, isolation_lag_contact=0, isolation_groups=None, cadence_testing_days=None, cadence_cycle_length=28, temporal_falseneg_rates=None ): #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Testing cadences involve a repeating 28 day cycle starting on a Monday # (0:Mon, 1:Tue, 2:Wed, 3:Thu, 4:Fri, 5:Sat, 6:Sun, 7:Mon, 8:Tues, ...) # For each cadence, testing is done on the day numbers included in the associated list. if(cadence_testing_days is None): cadence_testing_days = { 'everyday': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27], 'workday': [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25], 'semiweekly': [0, 3, 7, 10, 14, 17, 21, 24], 'weekly': [0, 7, 14, 21], 'biweekly': [0, 14], 'monthly': [0], 'cycle_start': [0] } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(temporal_falseneg_rates is None): temporal_falseneg_rates = { model.E: {0: 1.00, 1: 1.00, 2: 1.00, 3: 1.00}, model.I_pre: {0: 0.25, 1: 0.25, 2: 0.22}, model.I_sym: {0: 0.19, 1: 0.16, 2: 0.16, 3: 0.17, 4: 0.19, 5: 0.22, 6: 0.26, 7: 0.29, 8: 0.34, 9: 0.38, 10: 0.43, 11: 0.48, 12: 0.52, 13: 0.57, 14: 0.62, 15: 0.66, 16: 0.70, 17: 0.76, 18: 0.79, 19: 0.82, 20: 0.85, 21: 0.88, 22: 0.90, 23: 0.92, 24: 0.93, 25: 0.95, 26: 0.96, 27: 0.97, 28: 0.97, 29: 0.98, 30: 0.98, 31: 0.99}, model.I_asym: {0: 0.19, 1: 0.16, 2: 0.16, 3: 0.17, 4: 0.19, 5: 0.22, 6: 0.26, 7: 0.29, 8: 0.34, 9: 0.38, 10: 0.43, 11: 0.48, 12: 0.52, 13: 0.57, 14: 0.62, 15: 0.66, 16: 0.70, 17: 0.76, 18: 0.79, 19: 0.82, 20: 0.85, 21: 0.88, 22: 0.90, 23: 0.92, 24: 0.93, 25: 0.95, 26: 0.96, 27: 0.97, 28: 0.97, 29: 0.98, 30: 0.98, 31: 0.99}, model.Q_E: {0: 1.00, 1: 1.00, 2: 1.00, 3: 1.00}, model.Q_pre: {0: 0.25, 1: 0.25, 2: 0.22}, model.Q_sym: {0: 0.19, 1: 0.16, 2: 0.16, 3: 0.17, 4: 0.19, 5: 0.22, 6: 0.26, 7: 0.29, 8: 0.34, 9: 0.38, 10: 0.43, 11: 0.48, 12: 0.52, 13: 0.57, 14: 0.62, 15: 0.66, 16: 0.70, 17: 0.76, 18: 0.79, 19: 0.82, 20: 0.85, 21: 0.88, 22: 0.90, 23: 0.92, 24: 0.93, 25: 0.95, 26: 0.96, 27: 0.97, 28: 0.97, 29: 0.98, 30: 0.98, 31: 0.99}, model.Q_asym: {0: 0.19, 1: 0.16, 2: 0.16, 3: 0.17, 4: 0.19, 5: 0.22, 6: 0.26, 7: 0.29, 8: 0.34, 9: 0.38, 10: 0.43, 11: 0.48, 12: 0.52, 13: 0.57, 14: 0.62, 15: 0.66, 16: 0.70, 17: 0.76, 18: 0.79, 19: 0.82, 20: 0.85, 21: 0.88, 22: 0.90, 23: 0.92, 24: 0.93, 25: 0.95, 26: 0.96, 27: 0.97, 28: 0.97, 29: 0.98, 30: 0.98, 31: 0.99}, } #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Custom simulation loop: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% interventionOn = False interventionStartTime = None timeOfLastIntervention = -1 timeOfLastIntroduction = -1 testingDays = cadence_testing_days[testing_cadence] cadenceDayNumber = 0 tests_per_day = int(model.numNodes * pct_tested_per_day) max_tracing_tests_per_day = int(tests_per_day * max_pct_tests_for_traces) max_symptomatic_tests_per_day = int(tests_per_day * max_pct_tests_for_symptomatics) tracingPoolQueue = [[] for i in range(tracing_lag)] isolationQueue_symptomatic = [[] for i in range(isolation_lag_symptomatic)] isolationQueue_positive = [[] for i in range(isolation_lag_positive)] isolationQueue_contact = [[] for i in range(isolation_lag_contact)] model.tmax = T running = True while running: running = model.run_iteration() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Introduce exogenous exposures randomly: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(int(model.t)!=int(timeOfLastIntroduction)): timeOfLastIntroduction = model.t numNewExposures = numpy.random.poisson(lam=average_introductions_per_day) model.introduce_exposures(num_new_exposures=numNewExposures) if(numNewExposures > 0): print("[NEW EXPOSURE @ t = %.2f (%d exposed)]" % (model.t, numNewExposures)) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Execute testing policy at designated intervals: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if(int(model.t)!=int(timeOfLastIntervention)): cadenceDayNumber = int(model.t % cadence_cycle_length) timeOfLastIntervention = model.t currentNumInfected = model.total_num_infected()[model.tidx] currentPctInfected = model.total_num_infected()[model.tidx]/model.numNodes if(currentPctInfected >= intervention_start_pct_infected and not interventionOn): interventionOn = True interventionStartTime = model.t if(interventionOn): print("[INTERVENTIONS @ t = %.2f (%d (%.2f%%) infected)]" % (model.t, currentNumInfected, currentPctInfected*100)) nodeStates = model.X.flatten() nodeTestedStatuses = model.tested.flatten() nodeTestedInCurrentStateStatuses = model.testedInCurrentState.flatten() nodePositiveStatuses = model.positive.flatten() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # tracingPoolQueue[0] = tracingPoolQueue[0]Queue.pop(0) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ newIsolationGroup_symptomatic = [] newIsolationGroup_contact = [] #---------------------------------------- # Isolate SYMPTOMATIC cases without a test: #---------------------------------------- numSelfIsolated_symptoms = 0 numSelfIsolated_symptomaticGroupmate = 0 if(any(isolation_compliance_symptomatic_individual)): symptomaticNodes = numpy.argwhere((nodeStates==model.I_sym)).flatten() for symptomaticNode in symptomaticNodes: if(isolation_compliance_symptomatic_individual[symptomaticNode]): if(model.X[symptomaticNode] == model.I_sym): numSelfIsolated_symptoms += 1 newIsolationGroup_symptomatic.append(symptomaticNode) #---------------------------------------- # Isolate the GROUPMATES of this SYMPTOMATIC node without a test: #---------------------------------------- if(isolation_groups is not None and any(isolation_compliance_symptomatic_groupmate)): isolationGroupmates = next((group for group in isolation_groups if symptomaticNode in group), None) for isolationGroupmate in isolationGroupmates: if(isolationGroupmate != symptomaticNode): if(isolation_compliance_symptomatic_groupmate[isolationGroupmate]): numSelfIsolated_symptomaticGroupmate += 1 newIsolationGroup_symptomatic.append(isolationGroupmate) #---------------------------------------- # Isolate the CONTACTS of detected POSITIVE cases without a test: #---------------------------------------- numSelfIsolated_positiveContact = 0 numSelfIsolated_positiveContactGroupmate = 0 if(any(isolation_compliance_positive_contact) or any(isolation_compliance_positive_contactgroupmate)): for contactNode in tracingPoolQueue[0]: if(isolation_compliance_positive_contact[contactNode]): newIsolationGroup_contact.append(contactNode) numSelfIsolated_positiveContact += 1 #---------------------------------------- # Isolate the GROUPMATES of this self-isolating CONTACT without a test: #---------------------------------------- if(isolation_groups is not None and any(isolation_compliance_positive_contactgroupmate)): isolationGroupmates = next((group for group in isolation_groups if contactNode in group), None) for isolationGroupmate in isolationGroupmates: # if(isolationGroupmate != contactNode): if(isolation_compliance_positive_contactgroupmate[isolationGroupmate]): newIsolationGroup_contact.append(isolationGroupmate) numSelfIsolated_positiveContactGroupmate += 1 #---------------------------------------- # Update the nodeStates list after self-isolation updates to model.X: #---------------------------------------- nodeStates = model.X.flatten() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #---------------------------------------- # Allow SYMPTOMATIC individuals to self-seek tests # regardless of cadence testing days #---------------------------------------- symptomaticSelection = [] if(any(testing_compliance_symptomatic)): symptomaticPool = numpy.argwhere((testing_compliance_symptomatic==True) & (nodeTestedInCurrentStateStatuses==False) & (nodePositiveStatuses==False) & ((nodeStates==model.I_sym)|(nodeStates==model.Q_sym)) ).flatten() numSymptomaticTests = min(len(symptomaticPool), max_symptomatic_tests_per_day) if(len(symptomaticPool) > 0): symptomaticSelection = symptomaticPool[numpy.random.choice(len(symptomaticPool), min(numSymptomaticTests, len(symptomaticPool)), replace=False)] #---------------------------------------- # Test individuals randomly and via contact tracing # on cadence testing days: #---------------------------------------- tracingSelection = [] randomSelection = [] if(cadenceDayNumber in testingDays): #---------------------------------------- # Apply a designated portion of this day's tests # to individuals identified by CONTACT TRACING: #---------------------------------------- tracingPool = tracingPoolQueue.pop(0) if(any(testing_compliance_traced)): numTracingTests = min(len(tracingPool), min(tests_per_day-len(symptomaticSelection), max_tracing_tests_per_day)) for trace in range(numTracingTests): traceNode = tracingPool.pop() if((nodePositiveStatuses[traceNode]==False) and (testing_compliance_traced[traceNode]==True) and (model.X[traceNode] != model.R) and (model.X[traceNode] != model.Q_R) and (model.X[traceNode] != model.H) and (model.X[traceNode] != model.F)): tracingSelection.append(traceNode) #---------------------------------------- # Apply the remainder of this day's tests to random testing: #---------------------------------------- if(any(testing_compliance_random)): testingPool = numpy.argwhere((testing_compliance_random==True) & (nodePositiveStatuses==False) & (nodeStates != model.R) & (nodeStates != model.Q_R) & (nodeStates != model.H) & (nodeStates != model.F) ).flatten() numRandomTests = max(min(tests_per_day-len(tracingSelection)-len(symptomaticSelection), len(testingPool)), 0) testingPool_degrees = model.degree.flatten()[testingPool] testingPool_degreeWeights = numpy.power(testingPool_degrees,random_testing_degree_bias)/numpy.sum(numpy.power(testingPool_degrees,random_testing_degree_bias)) if(len(testingPool) > 0): randomSelection = testingPool[numpy.random.choice(len(testingPool), numRandomTests, p=testingPool_degreeWeights, replace=False)] #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #---------------------------------------- # Perform the tests on the selected individuals: #---------------------------------------- selectedToTest = numpy.concatenate((symptomaticSelection, tracingSelection, randomSelection)).astype(int) numTested = 0 numTested_random = 0 numTested_tracing = 0 numTested_symptomatic = 0 numPositive = 0 numPositive_random = 0 numPositive_tracing = 0 numPositive_symptomatic = 0 numIsolated_positiveGroupmate = 0 newTracingPool = [] newIsolationGroup_positive = [] for i, testNode in enumerate(selectedToTest): model.set_tested(testNode, True) numTested += 1 if(i < len(symptomaticSelection)): numTested_symptomatic += 1 elif(i < len(symptomaticSelection)+len(tracingSelection)): numTested_tracing += 1 else: numTested_random += 1 # If the node to be tested is not infected, then the test is guaranteed negative, # so don't bother going through with doing the test: if(model.X[testNode] == model.S or model.X[testNode] == model.Q_S): pass # Also assume that latent infections are not picked up by tests: elif(model.X[testNode] == model.E or model.X[testNode] == model.Q_E): pass elif(model.X[testNode] == model.I_pre or model.X[testNode] == model.Q_pre or model.X[testNode] == model.I_sym or model.X[testNode] == model.Q_sym or model.X[testNode] == model.I_asym or model.X[testNode] == model.Q_asym): if(test_falseneg_rate == 'temporal'): testNodeState = model.X[testNode][0] testNodeTimeInState = model.timer_state[testNode][0] if(testNodeState in list(temporal_falseneg_rates.keys())): falseneg_prob = temporal_falseneg_rates[testNodeState][ int(min(testNodeTimeInState, max(list(temporal_falseneg_rates[testNodeState].keys())))) ] else: falseneg_prob = 1.00 else: falseneg_prob = test_falseneg_rate if(numpy.random.rand() < (1-falseneg_prob)): # +++++++++++++++++++++++++++++++++++++++++++++ # The tested node has returned a positive test # +++++++++++++++++++++++++++++++++++++++++++++ numPositive += 1 if(i < len(symptomaticSelection)): numPositive_symptomatic += 1 elif(i < len(symptomaticSelection)+len(tracingSelection)): numPositive_tracing += 1 else: numPositive_random += 1 # Update the node's state to the appropriate detected case state: model.set_positive(testNode, True) #---------------------------------------- # Add this positive node to the isolation group: #---------------------------------------- if(isolation_compliance_positive_individual[testNode]): newIsolationGroup_positive.append(testNode) #---------------------------------------- # Add the groupmates of this positive node to the isolation group: #---------------------------------------- if(isolation_groups is not None and any(isolation_compliance_positive_groupmate)): isolationGroupmates = next((group for group in isolation_groups if testNode in group), None) for isolationGroupmate in isolationGroupmates: if(isolationGroupmate != testNode): if(isolation_compliance_positive_groupmate[isolationGroupmate]): numIsolated_positiveGroupmate += 1 newIsolationGroup_positive.append(isolationGroupmate) #---------------------------------------- # Add this node's neighbors to the contact tracing pool: #---------------------------------------- if(any(tracing_compliance) or any(isolation_compliance_positive_contact) or any(isolation_compliance_positive_contactgroupmate)): if(tracing_compliance[testNode]): testNodeContacts = list(model.G[testNode].keys()) numpy.random.shuffle(testNodeContacts) if(num_contacts_to_trace is None): numContactsToTrace = int(pct_contacts_to_trace*len(testNodeContacts)) else: numContactsToTrace = num_contacts_to_trace newTracingPool.extend(testNodeContacts[0:numContactsToTrace]) # Add the nodes to be isolated to the isolation queue: isolationQueue_positive.append(newIsolationGroup_positive) isolationQueue_symptomatic.append(newIsolationGroup_symptomatic) isolationQueue_contact.append(newIsolationGroup_contact) # Add the nodes to be traced to the tracing queue: tracingPoolQueue.append(newTracingPool) print("\t"+str(numTested_symptomatic) +"\ttested due to symptoms [+ "+str(numPositive_symptomatic)+" positive (%.2f %%) +]" % (numPositive_symptomatic/numTested_symptomatic*100 if numTested_symptomatic>0 else 0)) print("\t"+str(numTested_tracing) +"\ttested as traces [+ "+str(numPositive_tracing)+" positive (%.2f %%) +]" % (numPositive_tracing/numTested_tracing*100 if numTested_tracing>0 else 0)) print("\t"+str(numTested_random) +"\ttested randomly [+ "+str(numPositive_random)+" positive (%.2f %%) +]" % (numPositive_random/numTested_random*100 if numTested_random>0 else 0)) print("\t"+str(numTested) +"\ttested TOTAL [+ "+str(numPositive)+" positive (%.2f %%) +]" % (numPositive/numTested*100 if numTested>0 else 0)) print("\t"+str(numSelfIsolated_symptoms) +" will isolate due to symptoms ("+str(numSelfIsolated_symptomaticGroupmate)+" as groupmates of symptomatic)") print("\t"+str(numPositive) +" will isolate due to positive test ("+str(numIsolated_positiveGroupmate)+" as groupmates of positive)") print("\t"+str(numSelfIsolated_positiveContact) +" will isolate due to positive contact ("+str(numSelfIsolated_positiveContactGroupmate)+" as groupmates of contact)") #---------------------------------------- # Update the status of nodes who are to be isolated: #---------------------------------------- numIsolated = 0 isolationGroup_symptomatic = isolationQueue_symptomatic.pop(0) for isolationNode in isolationGroup_symptomatic: model.set_isolation(isolationNode, True) numIsolated += 1 isolationGroup_contact = isolationQueue_contact.pop(0) for isolationNode in isolationGroup_contact: model.set_isolation(isolationNode, True) numIsolated += 1 isolationGroup_positive = isolationQueue_positive.pop(0) for isolationNode in isolationGroup_positive: model.set_isolation(isolationNode, True) numIsolated += 1 print("\t"+str(numIsolated)+" entered isolation") #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ interventionInterval = (interventionStartTime, model.t) return interventionInterval #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% seirsplus-1.1.0/build/lib/seirsplus/utilities.py000066400000000000000000000060021375244156600220400ustar00rootroot00000000000000import numpy import matplotlib.pyplot as pyplot def gamma_dist(mean, coeffvar, N): scale = mean*coeffvar**2 shape = mean/scale return numpy.random.gamma(scale=scale, shape=shape, size=N) def dist_info(dists, names=None, plot=False, bin_size=1, colors=None, reverse_plot=False): dists = [dists] if not isinstance(dists, list) else dists names = [names] if(names is not None and not isinstance(names, list)) else (names if names is not None else [None]*len(dists)) colors = [colors] if(colors is not None and not isinstance(colors, list)) else (colors if colors is not None else pyplot.rcParams['axes.prop_cycle'].by_key()['color']) for i, (dist, name) in enumerate(zip(dists, names)): print((name+": " if name else "")+" mean = %.2f, std = %.2f, 95%% CI = (%.2f, %.2f)" % (numpy.mean(dist), numpy.std(dist), numpy.percentile(dist, 2.5), numpy.percentile(dist, 97.5))) print() if(plot): pyplot.hist(dist, bins=numpy.arange(0, int(max(dist)+1), step=bin_size), label=(name if name else False), color=colors[i], edgecolor='white', alpha=0.6, zorder=(-1*i if reverse_plot else i)) if(plot): pyplot.ylabel('num nodes') pyplot.legend(loc='upper right') pyplot.show() def network_info(networks, names=None, plot=False, bin_size=1, colors=None, reverse_plot=False): import networkx networks = [networks] if not isinstance(networks, list) else networks names = [names] if not isinstance(names, list) else names colors = [colors] if(colors is not None and not isinstance(colors, list)) else (colors if colors is not None else pyplot.rcParams['axes.prop_cycle'].by_key()['color']) for i, (network, name) in enumerate(zip(networks, names)): degree = [d[1] for d in network.degree()] if(name): print(name+":") print("Degree: mean = %.2f, std = %.2f, 95%% CI = (%.2f, %.2f)\n coeff var = %.2f" % (numpy.mean(degree), numpy.std(degree), numpy.percentile(degree, 2.5), numpy.percentile(degree, 97.5), numpy.std(degree)/numpy.mean(degree))) r = networkx.degree_assortativity_coefficient(network) print("Assortativity: %.2f" % (r)) c = networkx.average_clustering(network) print("Clustering coeff: %.2f" % (c)) print() if(plot): pyplot.hist(degree, bins=numpy.arange(0, int(max(degree)+1), step=bin_size), label=(name+" degree" if name else False), color=colors[i], edgecolor='white', alpha=0.6, zorder=(-1*i if reverse_plot else i)) if(plot): pyplot.ylabel('num nodes') pyplot.legend(loc='upper right') pyplot.show() def results_summary(model): print("total percent infected: %0.2f%%" % ((model.total_num_infected()[-1]+model.total_num_recovered()[-1])/model.numNodes * 100) ) print("total percent fatality: %0.2f%%" % (model.numF[-1]/model.numNodes * 100) ) print("peak pct hospitalized: %0.2f%%" % (numpy.max(model.numH)/model.numNodes * 100) )seirsplus-1.1.0/dist/000077500000000000000000000000001375244156600145225ustar00rootroot00000000000000seirsplus-1.1.0/dist/seirsplus-1.0.2-py3-none-any.whl000066400000000000000000001771501375244156600221710ustar00rootroot00000000000000PKQJCNXSseirsplus/FARZ.py}Ͷ3/El泊8O&f8GS Mxzy.y nfS4fOۖ-mCQ@t"b4kЂ,yvi׎z,t ?!@|\zJB$,d]yƢp~kL #JpW9W DžN,U؁h &+#K)+MtzEĦy9LH>/DH|ԲIA(u,S\y,n>yaS;mSw.vBy ktƳmJSȈkIA? g(*X(Q*36SAAqbaZ(%G7qy)T!1q XSPc܄ФR _ ֤8Kp^[qg΋㱸fvƒ1bnzqD@TuSǮ|ʡ7ޤWqxV:1@k r=SSRrqG.|Sq~ܧBz4(2`z4/ic`=Mqs5G$Ўf¨2/֜dg  +z=U|a^EQzij˃Ϟ5\B^Z#edQĞ=fkjL%:uX1jjQjrHwgE-d{#0&@ XeZ/sڞqk2> o"W6EJ-ALj@ϋEgXhY[c~L!Vh4).gši^tU M/^8$`0y=,FGfq]S,WۚeȜ楨v׶>_gjU7DVČ ^b{ӎ:~|v,iXO/y zO!FD5ĵԞ $' 1˿ q:&BD'q/A+6D?RKvh!:j푣"kqJԶ2N-2ݘ VnlӺ͑i#m( KG"Gڧƹ·G&3ʹwP 6 odj|o$HQPƉIa={KJaKvo.3i OHF"DSqlocRU\sxpKn~qZ,E `BEEayY0eIg)-/Qߤ<|mo&2e 吳t |GA!^S-VM?u%kC}%Q`GH`׼t׃N ~%$R,4Kq%e CIRz5.* L >%bpi'-2,x(./o~ڵjQ4ezvM`$Af6{)Y'VϺ0ɬƗjj\q^m4yR%][X.J AfQaY"YW*߀<Q-f-=1_kXJWRKGA3Y@ u ZM Kv̞:MzTiBHB)Z5e} jp;eAEEUPy-܆KdipWԔ }VZPgpd}%3Kǐ 4wG0ˌJj!nwf<4:̭mI[20m7 ![JQ_zD=c^u{QѢ͟_-^䈩$hIm\-t tp3v)Rܓ s|pPQA.V65qu.zzTc粢Lv<=F#%vF(Jh~E5<7ޗ vfEA5⬞;+  vQ4mpmyq$(Z۩0N @.j2n>qҶ3 |s6&!|wPNR1aJF//kGB9ќS** FaNGŰ(N pM#[G75R/VAj!Wzzv aӏjȖ"}\'X]9d> gdƿ["ECl n(ㇸe2a^;/װD="=w(F8BEd|r!Ş,qX~O lS L5sD ]y Z6'^)Dy_%Rm;C׹h7 ?YJ:^!F|wJo^:H?w?9!):$g-7ԧf3x(b6?PwoOnJfQD| ƻqa8K$i H8@̆)A8ʝ^UЭv(c.-I`s\7´dؾBa\'t@5,.[.@ kX ?CYR H kW2EAz[HxBMNMiL#u~6\[O0BülCCьO 8fQ($en$;9W]#$cVMRu 947A/2 ˧Vtϭ0c7!6L7# B1]軅! MlϚC)NM@j8:( H[+r!{:buC @W-L:Qd6MC+㪊\/ٞ;jZ1t[:K/ƶE4phM8oێl: ##e6sDݨff snXu@|4kn`=F Y5IfCgo,"Ȯ 6(]{3~i/41oͼ (Yzn>X`ᄄo7@[fAd"0 <܅Ypa>M[Ӷ>qqhC1  4 R(Q O"1TˈcAϼ%=*V C |L OB^u /JUUTZ'5%k28_l1Z9g:3yz.QhMF(lp.//h^`9J `EXDq# #~;zض 1"f|,tcdc !%Ӱo!K/L吮~Fzv!+bR,3Z}l$xC>}:ݚSh6o5 K!/EƝٝI6g[Cā;跺@għ^u;X>; nj!C#:Y8+', Td]ߺ,VF)ϔ\xijrLsd!X5~nҵхq7NN_;5wjxjLqnDw$A1}O!>xj}u]<<<;,=c=c71On!շgAL~e|/PKLwPseirsplus/__init__.pyPK Q.&1AOseirsplus/legacy_models.py}k6 N;)IݲvboFI^VzӒַz(jqM2ICI$cG;kC-Gqj$  mQhJ~*\ס~GM=O;8nd哷Fz;@UxzߡɉwO Z'\_&_}5w~g6?Ɠ̋ X4V$^퍾l...+H#+wJ5R/Rv ݍ]2^ 6VahV;Ŀ߹B!?x][5wwR[E^HKq(JO~bOC?e%X4kk6_j(Z2˹Ã#Ͻt+eq97Q%>Ab}k2V?(ɋ A/I8fq `\El'G 1~Wnc?a#}#TPK4*SCMATB :m@HTv(vWXbUn)pA`^ 5hJ;zʏ6T B© B,OXFJOlM]$Bߓi`W TECdk G@ H7koȾXtQq7}D)#nXC!GE& >St%jQm>nnE6 psx_ ,ev3@O++AbUHF 's 'RoS'@Nަ^Nvܦ]NFڦ:8dC5^`9qoDr#0zK4{ 9;)7GyZ,/HmPfZ(8U`"0V :a E -oPhr2@N! #fFA"z08-ɀ8.8M%nukf뭿{5J $ { >2K$>n=n(]!3⭕#;+in]kEy7w蹫7f_ Q bk7).3ѕq82c#LePS\J[׬̴TWf/CqzYyvgĀ5Ly³ ڽ8rPs~E׷.ޢ>{+c 7O!H,^䑣ntm -p̑hUC3\xȉ* mN^nxI7[n#LLq.ٓ.bd};1om6Q 9lo5[(C1#;d{bH4Xmp^Dp.9 AC?p?2B/NK(GW3.! pr.@–Xsr(.1 u"@uÂ1/7Òd<ɜ2*K -nrNpWJ9">E""37a@rQ_ZLєy {!5j_k԰֨]!ܡ&ޝ{BgDVwՖ\9E;!oX-T8j`}dKA;s(PmtVtH* ԫ {/\¨) rM'!/K , E*Nmm őF{py'FcoGnPÅGI&CHwd=B# m2(ǣUyCQKD1(d"޴$nF!&0 qN;xJ$ Hi#Ё#}~YBd(-˦Zj+fYC{lV@ax8w/5eþڵPy7 CŘ}!P ^E,|nUl='nyL 3bb6ួp6Rz#Ge 6[C>a69^֟FfJUFZ4tsQO_KǙ%hrlbrxI;U$;wRi du M0mF(؁XSN2Sa0*wBb@:To+շV[o~!Ёe,ij.ooFRFQl-O+g%tG+/I2Ӥ+#B(#%"1^(fW4\x0cE0"n逛!Ni![j(q1j 3Opo>t$0Gb$P9ĚNjm]^EE<\:!X6F1uH B!u"*=x=&^O^T.!tÕ'5 ]٧$\^OoD0?rW${$4z{w2@B<GJz8vƓ$E:62MrLJrLzgZv;K6L^0`ӧLj\-Urk/=,:,i kpDQ瘔NK?"LD5D>Z)&\[U]7\zu6O=kVd/ERWp.z++ Jŭt UKP@bn6|^Tr5+&s W,o]{8x{2g -9Ί׬_Bc/5s-y9(lY6Z (39vR֢Os\%GC2t~PQlbuEOCKP:k-ũrb!0Rn$s{1_:g2g1/⽏ݥjd2 uj 5dL@,",qi4;c)$yj<\T˙ Z^G{9}Jg$ԉyڰR[OL'D6iKG YI>T:Î̶e'uBag]`>L"MݹGy1Az X^H'v>;Nwn}$r?B#DY+n{ EP /[ԉpϼ#Rr6&$[W};~$e;=ҍ,[?5 #4g %Y>O۟: _gdY' }}\*-z2f9d0wLӟPp"d;tbb͒Hߊ޷<xٙBc7Km6'Y噵f^]*ϽkK7Wlv+-Bι뜋γ,ա{xu^8$m]FqHkKF+kX'q#`:'x(%wXbw;uzlk/كn =xhTQ(W) (؍*؍,]a|Є) 1U 'XQ=!^U;('SQo_BL F]atmvm/I?T-Ai!p5$: 9e2.FLen~>U-_}ȭ凌lSE7T?( J(os׷U ;p}s69ߜLg\ߣQun^ъl?ão)کtZ7ڃ_VHL#1)]A15L&X: p~6=dSɦjvN9ꔔVa8t>Q(낣PO>UdÞwcz~@Az1dn\1 }n ۃX6XL&@Oe= # [/-E7ݛ~m1ٯ3"]0]0]7L9 0"gP2lQ#~ ?2`ď!Ga6*=Vf)iѾ}('i:?R:ŧG<:<=sj0"1ek o:k/,sP@qQY[> 5%u  O=Ǐ>? V^X,8&82h.; rCX^>x>+{wxt1JFJFJEJEJBv! ZNi4GLQNˎCi?iNBNcӦb?)_iq]O8{H$q"'NDGNtDDLD/fp 2<r"^o{{]w00y4h7H&ES@JxYd"&NyD4}(۪ݼ-<|ܷԬatgnV=Mpl -\y!ԡ'ΡW!.;4rL0'yNNL0궃ϭ8LK<5@PTiRRƅܥ>&/pڵ[?vIWn'_-.)eE: C @.=a[SUfJ!WuГvi s!3~9>~XtF!-{AMN crbiE:8crOffvbOo)j!?P_UU:ճ&]-s Ȥagy^(G&<G !x' O/sO67-э9awFoBxƃdrs.mA!(䪑J>ZB* V5bjĒ͈0Z!êF,Xأ_ڄK1hRld52G}hP2Z[ uꤲɪH /hP{ To}%"#LZSt_2k[j}6/@i`&aa,'#UlL 5^ 14p kuvD-xKV]]8=gnnX.<Ѫ&Pڲ8'02p NBڊiOjV͙Csci_RY|;ӎfԢ\•mKVEzZMڑoҢ|zMj7iGIMj%]%~i%Z?ҙ9+Ԥ5i:7fh}O2`BTԍPLkւ @u@zF3 E. 5֦cU,FEUC[AV(=*W. ^4I4_A\Riūc[Z3uq5ƭwqI'WfmܼwJt7U gG;uq-ƺQc>x$;`,k7Oȯ!G6!]B|u :{++AH*Ö~zhZ}EzA!h]5Tu<*h+PTєSJ͂TōA<*U_YYo~$fP*zOxڃ}nsG1Mi 9Oa>6fʈWvZ* /5%$>.^נ!AhV &w (ۖ [(!8c^;x  u"r=u? #bfeXQuorċ{Cja^kE1Ljn@bEa8PWb5:nRwJ@J(~NT"QVa<-lddޥeڒqhyf6]A݈la&u99f9gF¦AqWP7"[Xb[jHW䕢8ib7NkY9JəB*X?EMrܾl ۜIfi~^K w<5krh:'~^^wPVQp؅(IE:ѧ;E}{Bw;َ}@Чԑ >C<Ԛş~=7bAV//OA#m{w[8+O]{׷v"9琐[%1-+LRoI8jvMt2ڭ1T2E3fV35T3m\7Ma#0'%-ZUВ6!|oHT%[RWGT=/E5D/(ۑW)._?NOBtv3蛦X(T)D(|g#ٰ|WaBPdp&F8Zp#}`$N3#mZpF8pJHI|sst-s*p:"s"NP7."i4T4ZGdz"vy,"oJhh* NA|>˃'8Qo u&2j[J@:5ut4‡k?Ӡ{ˀ ehѰsjk/xs& ^1GvaXfi%[O吾A"&{)8*%Ҥ&%ܳ~`(ߤ%оiE~p[Vk/;SaadI8 ~`T#fx\~ cJZ=]?$oAtOQ8޺`3B_d~mdC#6I<7^m(FK܏_5!z2ɣrrX!)grl5['7AMVfV+l~+yw7=8}o]Œ1/xDNEBv+]]`|;pW a5p>n'YBr7ѰwVBCܒ+@8+W d{:yI[f6o d,6tm4U8]ӬBv”U:ͪO[g+6pZ7jmjxfίfL򿔴J  _wPIL7iGlZ§^g=$>>S:\5W]Wdc;ytv`4lQv>0rY:uS(YIo.QR(`)s5H@)]O# 1zX#K$lvuao%<ɸ(X#Xg$Ch4hVkdQ"f)keZmSk}> , %7CtaKq/h,3Y-ְH{@PLQGbip": !rKif>[S(tbm,xG?ڣ0sOa ׉uXZ{G`4)9T SZjrP?@bK+ߓ7t.`%+GNV |EUJCQ?TN7;+ǎ(ڏ%'XhBTVKIe>ŨaaĿe "BB3dPa&Tg֩ܜ݋۬ȸ"*Y"_K|>]N ԰zuuH3#~}l⻓Hu)oڨFb  h& N$AG'D_$5_}65 @Q4>#צLΓ/RQ쒾heYַ6 Nz.Ch$Z*6OϫWˢy«'H?(n3|,-1ھH/557Tjg0 E+D _eT aD fRCfA`9Z@1i 3Ղ2ystt.Fh}=x\N^O'LNB+U 4쬱Dw1VQŀt.Gj7%!7U(4#%w]/!dƔ켵EȀkM{(;O&CWRMÙtHF.9p^`wN d &-r$A|W_B~ ޽IAPx-9g{0$!r; E٠om ^H7"CvHq Gw@oGÖa:a I?4a,=5S l<JV8\ p-I]p, `#{U+0*\d4p]Phy]dp8 pεuOH&B:bqo!)1Q6Rhш;EgϮ]a xh^cď<<Ǥ$Ǥg&zfu+ktyx7z`a V<} &\&[Ε-P?RaM Φm&eoD_N_cRck$eK?z0)}#'Pi%wL[brMVu㭭7aG4ڳjwb $Q|YݡuʞTs012@_笢)/^18O|L$\(A>)?H rT$7i*I]':'%h%7i*KnRGrxm, N|4.O:K:6t禂m`D;VDGݔ/=uIwQE2je,ゎ[Cg!^]YpA߭#a>[=[R ; ;H$ԗ7y6ʵeC<,e59^Fdg,'YS??+L+YSɵ^r:%7InTruK$7JnTrm#ܼ q -9Ί׬_BcT߀PZԖ<Мwcv_6Hu¬@e\JS)k'9Dz.Qגx:?(OOCK[1:"Oފק%sB~ٖa|Vn@,94q&{gqzu϶Ub2>>v;wu :H2O 7@1# d>J3ϥYҌsX\uyz/g.hl@Y#=U>%~fmX@'"XDh⥋#DӒ>T:=]w1OC|?g@ݝ{'}l 0ᮧ@_!.T{mӨ?3 jݴH xF ܳIwXߠTA^.xvAdBn.6!ٺrVvGXb?SOV3~,QnyH>ޔؾ~.P y< 8>1OB@vŚe<SoyV3qab>zXZ:14kͼ`={ƿ?b&.;b}Eb_h9sayeA:3p.3 (im6hUy[% &JI֧6@6K]^mኂpEA~ ?\Q ݈ʂߕk 0mMS<`zUB잩!U|0%)*Ĕ`T+Ff6{ CuRD~ WCSF9/S3RjB\/Ld/\6)"Sdw%c s 9ߜo?aۨg{pPK  Q/5ukseirsplus/models.pykwƕ(ݿQCRT$kzTk%=9git &6x~]/(<(grB'-ڵd-˥I{]ly$7[GQ%>=W9>K~z3~_l W ?_F5Њv1[Lg|7±bCMyl*կV N?Ԝo=R"O,H^ wa(4wQoү}"Ǭ6D59t5!jjSoWg#HG ~+Q30T, C7a2+}!RPL4GyH!fm9g]L*?rU4Xa`u$HTifoȻ  ]|Y3Y>ҀR_ LuFh2B}eCn<@*B-¹ @5ZC"A^ Y(e!a}ݐ8!qC'!w18'82GGQD_7Mc,sE؆6%/C@Zf_&#pS !T-.hL0/i?]ڡ/i'=r^ԗ>X~KE8i*rqh»}PtnbTn_P[ _`[M> fA_P[YhVR(b(h~EW3N2+ 6Z;.l]q}v0#nrHy K:;$lB8]n$\+u0EnhH{iܿxdCrQt;H`5b QיLu|"luksYy-#y9}sS:W: s[0{FОe+-Ѕa9yȜQ hUt ' 0X^f1 M{{ S0]; L%1M%Zqy=gy[ì f@y$ȃIv$cڔm4h! j1ԇ>+dGv( Ŀ mT݆.w !<Ʉ΅wMg_>/ PipAcCϐOO|8" Ӆ 3s")Fwe`S,=錔/TȌ E J=ZXoVRZG_HȜM\˗VUtŢR\!( a~Hcfk k 7dbc6Oh]dC.;GOFm?`S!ϏP_ ?d^I۵!!.o0^ʨ)3 r#^FȁΗ!yb7a4h9<g\&d gI&3wb=3n8[ ³>b" C2Xx}A%#}!, ,fax(K mjdۆ{AtxqO:ʡxC#PU3C5($O(KGYMf=`wn%0GbP$p9pXQp(^'q/6X05Q`M~RCtGm 0зg3N`auHPޅ:ڋ>g(^WˢE* E1``+xh00wjo72|@J|p{*?Bcwd7t$ُ[Eڛ*M`[&ea/( 0!Bn%7'7ʦ֠ r"wT-| bXoZYof7^*jΌ5q΍+]]Y0ϐ Ɔ 'ZX8l$vN$DxC0w m_q$?kږ6 t=$\|bC C_)~`Ѹp.c/PoOtJ{»Նx#Vqf.A-5jn=!׭&u]Zksrr:w ʬN~L y%btYl: )_F'ƷUH3x.ȡ6?7#ߺYOhy>Xr\Xrj,Zp=@뇍:pвK?!rBqw!vގbgAn&5 ;$45B:C*6> qƙ59&㚈3վa 6BՀVܚ47B;C[ΐ^. 5Q*qSP9)6zڭ"R"ח4Q qyӊӁz5mc%K1B{n;?ߤ^wfzToIh Vp1 0#(#j j=xyiE頙zvy_PhgXG`_F)ElCfe˾;8'\[tygfEIFBiUSj AܧAɤGi)B=A 2T|o0UMU`]J sPlŷ\Q/C|QDN&RУ LTܴuVhnjܴ&ެiMuz6_R|VI&*[T/_*k&̊Z}6S>4n{t.. KJmM۴́5<3hXff*5uJ_hꭿc| u=@ތ VvuwW:By똇s(P-_8d0KҘb6ɗV'grw q#P'4; y)ϰ?plz- MA(U/ߪ=0o'M9* 6W'{"a |o7q!Vb~\aLOQ_g>> >a^+ 挴(Sjj\zSBv|VBMLEP VRࡄܗ)q 3g``ÎbzIp]sLHZ %I E6)I*&^#1X5@_=CFOYȅpu! z|$Ka>\.Ph8,Ɋ*O`RR~VWhL}pEjk޽~?i˂6Fd=)bY6U\EzFh{u$ QSEaI(eيSp."C)wͨYƩx!{cr6# ,'/q1 IzY^Y c?-l< 5V`ֽId7]/,Nm;| ^;˘\QS!D_C[Iä).ƴDcՉ$tN@?c crCx_h„H}H_H͓U0[Yo 0G3Em{c V0}Hoο+fp>A.݂ BCKhk~p;/|qj ~lЄpN<iB<`}S˰'x"sQxZDc].II]g}IeˁHqb2F]f&rKwe%/ kHˮcY XxѢ t79cQ )HΫ>S,#5HΩ%d _@v i?X$_7wݕ[0a2S͊w7U\'!r?2*4̧5SʨoSGr[`wx,=@}@'x\첅vSV ʐّL)p]Eo8`4s< JhPYOc$ʠ`J~ ] ;qώ ~~\WS·?;dA=sQI GV W07+`C&$a?-ӆ:c2oiAUc$LuD4Wqo3$%y}qk@}lɪ w+{l{0C~083o*Be2/ /VY$P^)V |6!..ÿlJ V<+&DW'A"T?,>$!jl3X$>_/blΝpt#؛Ku{N%yYBtY``o@ȏ#Mj6Q'nNMkt9ҿ{[$}5w1s $5㴛;?u~fНb\Oz|A Ϧ#ħ{~ߑՐH/⤋c5S: 8( ^6XC` |1yxn`{'VPtbZL9U2ُsV'.U;" [ ,>CDC=>\z܎E!e{XE)޶]ala=ԆLhtiȰAM 4l|!?+anzDS8xK|5qDIx`aCbhC!h-`ԉb*Z3@et˧qԀ/_FOެm']# kf}_L}%jocP-{ uf9(n &)mqa3n J0]`6GLM\G I4r0L@ ;"j#$uDabY2]/_p{fCZOѸQ^CVи=P1N6UnXU& 毎{ivgrv4"Cyl2* T'@ JV6Il퐲/D ȇAy<.nƷҩŘnud`ٚ"f?gOp<ÔAB=Hmv(ĎT% l;a;յ@7fw D7Lr9o޼(._" D1r& }SfhOF;hEy'0Ľ`q= b>Vp CC!u0 %u ,HPXLa2a+S:\_ Tz? O` 1MwYbuK9Ղ׍r+;\0ko")U6"0= x[8 /f윙6w Bտ?];-jf_GN!\sBgc O~0~z!&1/1oXƍ>X|>YE!=Tq:䤦hg{lE3zFH6ɞGZȘN[{_h[D"p)E[zIJ?bҰA2l8ZelI-r;y;i[&"h69 YHn-Oj`dbXZng qpQKoe*P?j%W z#tkrWّMgH]8䏼"aF@{R7 <L7ifNMppXdtX/Ca X6Hɋ CW#B,zէ9u1r 1r#XYdލPz9ffU=p!vHi&!͞:dI,gCcsHivLN:?&R5dd{U$ "i;u!D"BހGXJj Z؎`̆;P\h@8*p6PjZ^cѲB9C}%AI(9ѕpng!ROGF(!Ze8Qh04i1Xy4PQ9~4Sҩ JB+{ΑGq&*\B R 3qx.kuD zIUhI D&!rI8΄7\0--{XhGW(%dl]m?^ [|{ˡw =5]ЃIo%y>J΄d,+ :x-..V״[\"Ye*u-.ݳi…3wmVK}p>-މqpd֐)sB2eތz"fCʲBH `e`0m,! d`Wi7+WCnx^aZ.B\X%0ۄO  }DJAbWbc{]uN!u%f91ՕΉ1crӝ\:sGWcCWѥh՚'C0-M{|~mX Jʛ',+!$ nK]XXCY6ghwcA0q4q<9ӏA 饺xy 78b[WG?!O 7R'NYFmI\c':L'<@]vKOLtryZF ЦQȣ-O>q'r<8nטi/H 3&Pt*/h9,x!\tYMNe9%@n.ZR\7XK_Km71L{Z"B8ס[w3POmYyv# E+a&568 m蝼xaFI:NP'ԗ Np{~lȡ(2%\T;LTxqb"rP~lM?t,xz F9|'DB28Ձ%+'mޚfD!|E,)ցŧ| $XK (ٟ`{c5oXB`×nμ@,ֆnz˂&J;&xf2$CN]+1 z3}D-ajUBgdA1R ` &r9s6Ϋ8j{7TpXuZ_ V.B~酀 !ߙRY2Xʬq;7a%V4t5)\7. }g -nep$tqwKQAy3}Pf\&0IR#* vFNg#&Ü|w ?TU2,*z3jm;2k3gWwᘫ/Ke݃BvAw{V*IӴFc4k!4n;&MW74SM2TTշFyʫ+תcљ{Qr5 qQB%lj4lk 4cv}: 彗# xi6bTLfphA8#䷤[x/_\X5Veܡ(딮+ [ &0}6=ڶ}yo0>%jkazdᤗ>~?2^z:xi.%W$sOYN`G 1UȞ r{ͧ}ĹBE.ɞD0NEd"8S px"S(_| # |EɀDCL)k4Eh^GTO/i>xyk'4^'t=QHY-Q߰#$s!l)ٓ'Ý`%N&1]ԂQ"FbEXzGhtCL荐6I@Ior8yGyemCV@eh!!h5jXQgk *˻m] -PtzJ i InU軺2ygɻ ˟ bz}VV͔_6˝AF¹)㒆R[6msf .iu4Ʊڔe`B୆vSǡm) \ObЂT`i}@HCه M])SY5% ]5 I%֑\kM%.*tM%2jёXP=j:"ֳt[o.l #b=[X 2Dm!VM#FX6:Xn5(a'x~,ѣFJo|硣YMqwMCh̔NkQE7@VI\v̕jQę-kY18 @C2Lq΃9CG}qB s/^C/4u1>ũ`Kz Sl;qG~ɾ#~X^=LCkL?sT抃lж ldn b 1c p ~vKΥpoўB{z&f)h&Tbv?ts^2H~fwdETOR3r;>c=<^Uu@.x7}lP 0@!%CV \'"Mb/ rMo#DX?UZ oPP >CECbz)֗Kߌ痷 h0YMz=FH3vBK&H~`cl!3{s08g7̲ůH^T8~9 ᬢΡ9I4}%dO0x3٤$|JҒ?]rš9z`,x:qᐆ˻ VuwPW:$BĎy8Îs((P-_8d0KҘb6ɗVrWb"P'9})ϰ?pd aae\g#i`~9 a^aثzwa{aM\խW{S,?{/%7cPRD0/DsFZ)_z\֙@ozWZ^(|(nc|!&"O+\_Ve`)PBKy\|l3gfaG?1pBPL|^5|}$>t6_xw?-\*6ؔǦR62oc?$dn''>ҷ)'KrK-d 2Gya\G/"A.X5@q y=yddʴ NB~R9 o!.2M-G''[g*na O:` Ka'O4 p=1!Q. i` <+jTu[#vb06h9X{m@yruއ`gqI|.c)"bsGK#= 3 2-B-zvu@Mո"e!쐭Bpm?{>*# /`#Ufļ]*U?yQcw 2Bt,ZxSآY]Bx)>r Y[D?_cNb.}@}sm]u" cFS?T0ݺ;m]?|'! rsD3Xs ZcGV%p]PdLN9~C6T-uYp^zpiX WVKWq5c@JXeųDFOE54-.di[f]h%&5Sh;z" :BTZ2F.ԍ ~d]:R L:yjHy|7HvY0qP.1Iv"C.Ș( r~Gbo53tn6fZ(;lJڬD(t_3/Cc]KiHL2""T_.@1CmXʢ/p.[Y_nuKeaB%Txx:&Wz $.civ1,PzkH?C26ٲZS5`T&9fTpDF&*o| sc[/K$Ig;R1҃" Dbev2,ȿ '%-BHK$qC+W"/˔}hxɾ:6B@`AiľB}5?Cy_\~cw< aٗ9r%XO8>* E9 <J`na붥(\Yێ&2d+8&ߗ"f0\O9i47e=B.!={_J۝Vd jsCɱ{֍,]-=h1q={cT{Թp[˜,uw=Fo7~Ḫz {oПu}o[8i"}H_.WTxHNU {MA0SaxXzvrd;x\<9ԷS:qywPG:Ka WdzceM٣){ǘ ?然rJp  )9?1~>8(ϜfkFfkFf kƱf kƱfkư>Ɵ"ÿ?syT@"?\ [eM٣)y O.9c/0̛yԓ8J]9ҭ/2eSl[N!-*CӇ;!xȼ~{Yz/AMPxɂ, ,1%8 Q4ywp&^<+eoojɃ4x/VVw)COBIA K,hwjI^dG!զͪv524YofծUc)MUk7fzcu}Z+5+L~ =N&i"# 1V8)0Bc x-~'7 6vMbis{oNWӄdO#J.L39GrzI\k ]YRըœXX <9k,i ~j؆ObXH! .XtyѢ zjtƢFfFfF"i$ $1%7ӹl[vrnsYfKUs*\Uչs]ឫ"ձ\c70wW݂wV[ 2ېUlXׂ6l\Z#Uc W.y0apBrXF x_bp86q8UQ,^o[1x [ ;X7rC/]b 6$~t6y܅y%G,LK@ݼ]Fo>2g=⏌&!3j͔2˯DSWٶ|Lv< O";:{Q]4RTq.${ep&[܇u.nqppvsoĎBT%C44ڧwNC@FYPPRvѓg֣O l=x؋pDsǕ௎ 6jq?NcdǠEۣ'dF`x'1W@"~LHݰ9-_ eI=vO\[@ Cz]xǠeް[>-Wpa@GH;P3(opr:ˁ锢NG.&Aj︗B TM "oz{@ރuZɄ@ ym2—,] nu |a]`!\-x`Wbx7Kfq^A@5/ "T?,>I?C^i*6%r}..3F8)7usK-1Ȥo;KR|;"X$ ?Ҷ͆> ܣt(`3{zROuw@{="C$Xp/}3'K :AR1N## _B%/7zzk#9tg4'7Dh0N>n`:(!gkħ{CÎrʐK']t*׬Zg`os@-8˃x` 6UfaɏN$(mFuBo+n;LAu7gc'+*&蹘 feBH;K(NaYrm x7LSX0a1\i[49 V'LsXnL+W0]V1ݝ'p=A%.ZB"&]"k'qun*:2Snaha 1Pnm _2OJau3ƴruO#b`u1Ʈr5wY:4Qwf=rgYZНV' @ثnwՂݙbv!ݸ3{_{wfw#f&M:d6٤Y[8! 8!U:7'۔Cڨ6UHVd)qsf#d} ?4 2/qjV5AfWծ`42 hUk1Hwg7k-NS}'pNug UɋXnxE{́ȌnxE{ m  d9Hpܝ:[d9U"38vhv -;J]e6qPMc5h~"ף2+UЃDf4q)ɉiO;e|Zqj֝ǰ:d«üۚuG: iw@!U]2Ů|mff`3=Ŵsb+'a3-dr`91ݝ3wtnNw׼h wtlNwDpg[f>ت:tmY=צsaٹ91ޙ{7% Ή]\V)Y]wvrNwسnNIq¼sbKWuuJ ?wV#?#1 5Mp{RJ;aly``\T F‚'(څA\,VXJp@ ,p'**P!CU‡$. {W Ji_3B k!@&51 wm8 -1[rD(&VI,Odw3:`5>.U;" [ ,>CDC5Ǜ(C۱(ϻ?dk%=Əٰו-uj>So\vI6JZ̈́:PiB2 _dԟ(anHm ٧p_4\%q7@5nȳ$%E3 v=$6$ktb(!4uNp}Ի|A ɛGz{k~>_~߯U&Ծ 7KP1= Q:@ 9(2vh680h%.0#F &Y#$t9}ReP&aFK:0X,J._/mJ־h (T.BERoBe8RX*(sLjIPF0 ڄ6x*85C3u3wcCPqBܦFlBV1$3Lɋq͜e쉕 GR9V[6 : ]ínepkIQ6GM6x]8S7wѝ0PN4y<ʅq\ycanD[6iJRC="ߤ ߤ7h*@BR^FgGP鋶:DIƢQ& {_m/q+JF֢[wq]q>j7D#sGWœC2^E 1T86}ɩsJ2s/ i߹|Ӿ"`w1H+X>M!8ZR@O | ie+y|hA-SuRz!Bn[z_6h6f2GJ D("u雈]@)?S+/꣦Oe'Kt-:Dީ/w(]?{m#_=j J1+y Q  r'礳xᷨ)* 6RKJp KaK$4 \?[)Ξ_"YZGǡofY}=y2/Ŷa9,>䒬Bs$m!5+QAafzcpuRVQw!uݪ%7 $Xp\RwO;E->«+/|'qQ]CXQ"T瀳h%q]مGu={XgI$VЪc?Z۰{P'A51DFB8R8{E9ͽIGxTЉI=ME|S+i5d*0VPT7ha\1VfZ%Q yF#b9#-yP7srF_%AR77:j3]j9%TٝD@H3whtSQga|A1SF qǘ_֏)lPSQ56>:N띕., 'clDY=5D&57ތz~l끑j0G[U.M_W=pz>(-@0 HW( *a\ $A=OH}Fwo:2%HFK~!>t2GtMx?'p* уsj䐳8H#ؖYŃIiW, Ӄˏ-nt(# n@^УBٳf8u8uHFW3\]p: m@_I uFW u5cV:1a~ձ؅v.8yr{*@e8Q] 3;G59J0"CqVhJrP)9{}i>=!D~) gZbef$&VazPN1$N&Ct V c2|jbj`]LСg:J|1B+4:ٍ0q35R?`:rGCSYCv2Lzc "_MtmUu :x-iif,߶ ~5$y6gGJ#.Sue*u-.ˮM˰uwwHL}]6^Ѱ}-rdy-BvՈlR^I." }Si'?Qc \}&;(dA>;5,TøAѻZVUniSZ/O+ah_^ ы+<#.BuS~yZMib(`Ƅe1]y64]t.U0S wWKl^k(=(bx .~mX/(7O 2 @ a +! BT"7o$<;3Vmjt}8BGʁ4qd]<9?^Z M/yGHOh_qo| hBX^_ {o^S8g|AV0nK" m?Ia:]aDzA)9ՕIn$($6Em8|ʽ1s/>!ݢ`̓ż|93E/R5OqS*GYNe6ǑoV3䔋.2 tɒRcoN,n]-O?9fK]hr]o`r_Z7a ;p"$zxk! ^q8 49b,~_0v]2PY_Rak;CL"أVX-h.kKu2ݍ`Íke&0`Yk"&(D[ȝ[&rb2Hx΃ p9؁%3gFg–8Pphrp/?V|k;@#'J;ǟ&PjdfIeWA`2Vb\w5oW|mH#{:F,wQ</D8qjIǫܶ/㬏74A|Z׵q[yUmr:&8b}z~nnIծnInQbm[дu إg"InlWPOH{F/Sl_4>`@5-^iKbg׮Z)f< nɷHL OyE IȈ= '+<q#&r| )~ ;3˞Qޑ 6uMi8>BJvh Ի=UfۍIӴ Mt됭nK8 ]x xt됮!a5놇ŽIӼct=hlKN҄*ꐪF?:,o:,›i^õcTd ܋\9.%jkazdᤗH?₞&Ge5K6 iv_4 B( B]#kGtIE*`^؇_k;r@ƒDfL<{Wa?%KoB)Ax'@g'r rb,M(22)dWQμ V'4 [Zx^y6WmZ H8߄;J+hE-MBUHg^}ӭ&~(q<)a\K\xCࣼ!+,j1w5,D356ZwPۮcw)@*55й^?)xL&AVf'Ԛbdw!j<4ҽvxRI:UI`^` CiQq?GcGjC&rUWdA%6x SHZ+Ͷ_6޶`ac:Go,:$|f$g0>8vl XI~R? ul(-6\kPr?+*)IL\@ MBK=3q|454|MKU&뺐6H󺐮lBWI}#6X ̷ԝ,fȅnna_.eUˑk6\CгbFqأ?OGH@xVr:Doy!ZaB(^%; =c_+'lv6 P %u?g4_X,J%0 6Q*!iSB|2NuS4~˃D8 nwa%r*x>Fr]#qDjMfbeh{!9\{A[U#$2 WF%]ƚ\vD{Vl\ _m&+\?z/(i%ZTeTeF+zUҹ%m)5i64i}NͲ:մ;cpo3i=[VW=0d$6ެZZ,ae[j9:/W, Tu'\=DaX u<fF#ua$&Q+q&f#%3 i{֍ɓY۳6D5dm58:ME$XuAh?\^xy ,:^5x ̺0Yɨ`6i"x.}Ll^ͼF`v݌gF%6uqTyGPہeh0N fH@Z-qX Fnr~1/yuW9%1o,[,N>b|ļk860_Ak+- L%07Zzjio^ּٚhߚyaSk^tך[1EּfZ[Am)e`ҿ(5bԛWK{ [khI/w^> źr7/.5]YBօmwXn$lѷZ&1/xKHoV تs#K:8Uo-2b׈jCn5O]\e [-Nmaa :ֳ-ZDnU`QR^466lm9qENk-Lk%F :^ْiӶY ڪmv'qW=Yڦ8Uml+f|{6/ &h ho-G (DImcJrr_3EQ+*I :58PhelQPmGYgؚRC tbN!gEGj 'O#: ,'7 GF@j/՝wQasʲM}. 2AQ32jdP(Fh1,f}GDFpThMY D h _ *œ,z39it `qD8,C3&r8X|zŅQ>hҦ Pq@YxAȔD=';Їvh*'J1:!4|6.&gDVTQ }@РD"VQͥX"y JjzҼ1Vd爵a_u vRsT4մڡi X5tAޜ5l )fcV,ΓnxKir]de}nl7[yPBFsQuT]?_!/ov[عmP!ڄ%2BܭV"zstGr!݋sntyX $vA< Qh&SۓKps%[6]u{95Mܲ|oEB6{RWeZaI&s˫ ]N~3. }4^b˄)9fP6YSV~;KO^r o;g 3ujMO~TC^jnf7+~N?(>?Ⱥ/MIkNO]$m|SOٮǚ ,lvnt>|չ۠=*:V,.k!M7GD_.-|=)ڊ&+Dqk]YA?ZA?.xU$}>BZ!n=jy;\;7aưsc؊r^_B=/RmAkXT8,jr63u(O9CQ^CE.{[r-EnHR)EnJѫ26 p /ӋIAU/ҡP;3ڛg{"Gz?JO$nuF&\-M+j}Z\^38H`~F^)J {0i- 9*H tTp2C&*;40{ocpM=`f28d!GBwUɫo'PKB QL-!$seirsplus/networks.py=r۸ ])QLrl'>SIpu0?<]cuf[>0|Q( k”s>j(薇ѷ;: M<') 57Vu? $_՗ oY5rmSׂ1[@ԫ-gM}R0^ӌ-7Lj hsϝFF`E4_qo'>IȟX]0@qJ977A`6ȱp;8aΧ>-V*XWuWVX5ldyn.cBlW !_4MaMfC%)pjH&%;}~䩔Js/JNCf=ңEʦBF n qw%Û( *>mjB~@HtmɮgP Ӆ6Irl_|̃4;Cv=aD ZJ8M9iДҥr+;+-^;6 ՞ *Q9BحtJhK'K)Zѭ:qaMUE2HA*,YFgk1*Ւ/2՚<-ՄgsovLvYM:\I<*ur'YhnPmL$r:nĈN]v<rV`4ba%RSf*l+~)Z-F|\XÊwqak +{`3Y?Iz?KbPuv.̲,ugdJ+QC͚6dp и4 ~VQ%Xy3>IQ? 5խ+[yRٖ۫~14kpZ`"wGe1e ,upo=J>P7Ds!dgf)J-l^Ӓaci7%٫ #r 'K `Ʈ/$ȩ~=_{(:O\xȌcFCWWһf 툢(j)$u˷mThH#XV3vx˾y<$OP=uiUylOz]9+&&cK9?\v1.2]`%,dd$+lߞyw_مp> BLFCx+QR;粭!5gAČ}RT4}?YSl>Z9^T [qI;MsNdw_q(a2cb ezC)G-#P x 0L4 ky\@| |fg 5-?O Ú邺KP-뽔c'y8+E3Թ,4@4rE2P@(ն5 hec=,%l[bmmQO{<1%QG4ӗ堻{PR$JD(`ju^'f稻{D_^twJ4T| ΛTz?ukIsv~aO8 B OlC(2#-_֜'_#ʶ1xPmlA0#HjIi| yLʱ|%͖E7Gy+&j ω/رFmAv0M9RvISX-f.oJ!_cg9d.|N}Ghc.[sZHA  XY2h;Y4? ] W' EWdE YCz3#,__,wS (g B XւU9+4^ `?cTRRbawe X*薱GI8WX葱kد5PTXh,ihnǨJ@8ALm< K/)(A? &]5oFa5( ,s0 {DQr54jUsD.$^iEi] 3!,ORD^p!N<G<I}VD*0%p(oG+Ċ<-;Iqn柬k>_4:tm=l Eq__k0HXq N>+ ļ2s㆒Kv~rm_P #k16 52ui^8&= ~,qFfz)bHvh5_if<6O/~:==A|EHe@Rc8Z\_^eV9jk)oe)Hb|alwN[6u B#*CZW[OgAZHy+JY 6f2f"Re^Zf[bm.`1Wm'6(hqAip$RĪ.@'y x:l6'j(-1, ,%RkC>k2kvDsY? z4>N`|y0$Fz}z썞NE8`E)F4af;T3_U^ﲅ[/,UϐOõD#o kP`hӇg|=JMRXŇ 5N]n(A9%Ѓeq* ȓEmOzolOOrYi*M!蔈+uLjjJ( -#A~S.B<4˔O27LMe aˤsPh;O9/o:~oyqg, ({-bl€Xc֊B#`nMry岨*X1+16,Ig7{7*XZ^. i|_?>l\ޫ=𸋮:fOs1J!!/QXwWFzǢ2DKW+D-)&u .=R[D$ge*>Y|^CD,|^㻹q'Zu68ә%lBmX9f\'d L%1Ɩ8AiHAr^2p͢ 3.mo7$K!8T;@ f4P(i[zi>?i?ǵ,t9 }xy2+%$±z60U>`4zOu?ԥ v.0F픏Wi(ZC6hIeY$wz%N37oa A`<'ND-*mJӍy4'T&ё{`G"7=L`qS&vG|̣\l|B/ሏگisl2a|&y>ˎnooaһ{Hn u=wnuheXB/5Ay,I: GWoCiۼ#dPkgU{n}y/#Уdu,?a6:N}GZ`u~u4H7]0@Hs[b9r_>:!xXrr%ӣ4+'f!M˗Px8/Z< DE vCI2gߊ$<a`n@aAjELLf(v1Hpj1ä5Um !0uVą0L34&)|"]MR&J^ubi)4\7IQp 7-Yl@D:" rguݭhEXpqPE~-2̃Uer."VGmgʆo#\uX~hK\2C}+o谍g+a@ׂgA131H̰$瘸FTEe__XkئVMet$)2Z>8ʬn(•a XIT15.ΐjI#tx:be9Clj2ZOWAq3=kP_Z |Ç?ilÛ 䌽>}T K/wj0h,8Y d:a~iA u=qǙ}ʍ{8E*\$=胪J33GsFFf}u#ֺ8s:v։FE:9bi8H`7{˽Zq:3.!9 >y"4)z)4S {=`mK|y#\н.PӾFz蔔?۠7[4Өz@ֵd fL 5Ki=\{8M!T"[skN>rFGg-h[i_U iً/FU`"7*UjmS*rU;NsYMrOc4  YQ]s Rk)g'Q5A)k^?eSQ.J$ {4RA#X2u4Blw6H( 4sJHxދMҮ2N ZxgkG?Ô;d̂7' L-mTU"̟Z9XCVNvBT+~R\ށT(cd+c0 +ܐ%o(A(򏩒Q aL`UK+IUP>!^dʁ ٠p6dj<&:iwP/o@=ox}p ,tld]:o8_A$jD&ZF)I)rPkv)he2KVi%(+C Z+X:vC邬(m8Pŵ0/X>&`}wF.c-h^#sRO)anQUg0 "ˠԪUхg¼|pRjIkxu k:xjue`X#.Mkv[2sipBGyDs7䗣4r1~7" u]ط4-C>>|Ld^LG ?;Coʛ0;F.`h^9AqKZҩuXB\d&cQbW/F|ul^* P̎P5rmRQ{Ҁ2,F<sk~cβt%`}QG_]%AL|J{gbێ ](SdU`wu!ISTDZ Ix10[ l2,f`(/[hJPLĆ%6&%Pl)7nuU&HC\gNc;^%Lfiy[0Vh4_xt"P,,q't Taua=Yu՘h Hv'Zݱ[ݝ#hOuO6s7kDQ_.nӬ+-ٙDtȫ% ުW+C*+ -+<lKxI׬m_:%hl},JPsm3Р=ЁZfbD3vcvye&{qnx[<r6YKdz|r}yӳ mhdOB-ΒcשZ#1AYҨt%0˨e1q_ue_/25/C}ucƿ A) .b <2>' MmE|-H*bxoj)NEHs*~[.\ Z;jXvΘTAueœcG}]0ZnpR ^GCGVKr@itU]AJ[t:gŚ;DABw,u}a=}r;`69".oAұ~d6Hccf%[CFʳ' Qؓ|o$ܡ-SqB1Stsђ,Â.A~d,hJ0fmJZ3Y* B#.-Ńՠ_kSu:B=갭zNf;qyuwWu 4*a?\DH2Or^KqF*á9Mf3qMȔ)a0:S2l,ixiK,}#;+KWw9$) y>}:rHٿ˲N|:cov9u|vft.1tWWc`קSZUUAV{^(l0]fD$ GSi85Myig:$l g&I\gW"8xELGPWF^M A=Y_(ns0 #`:ݘ*sf/x RnA˨ GAA~ț 8HB M3G k (K ib3)*H_ oJ`1-Y a=HSzpfE(w/]*6{DCܪYѐI8 C e<*O8Z_i}{{̰2rs*壞Ub;]SXX)s籙7PKB Qzؿ9^seirsplus/sim_loops.pyr6_&R&֬::YϴGCK Eryv} ,Cb΍@$ڐlgyBg3o(~c10wЃ_ɶ3i懫$ޜ|M(2 \\E={sK,YoM#u ~ YyI6tGO4VeI844-;̸`fsoA9??颀0|6[zAJC%^2 .pD8=@3K6qm@< ul32-D263 fl= ѦɁ J(^j/W7^L75Ɨ\;.|1VぎЗJ m E%sVIr8JD4["³&Fo_QARHڎ w>ggya)xOQ$4{9|MnP¼ >W^ `hGEMyMvte=*8!~ XoPoDd5e.4$ӬϹKR|>&i_ M`ր-`G0214Q6qC7D80n0n0nʠf]Q$KK@N n[J?9b~2T/9x#%(+g8W 0AX!ހѭE׭s~ X )1 S)шGP޼7w3Ρℎ$ԣ>j@ p `` jP޼`751r<-톁~V`g S1ߡ3Pr +|PBRh k8Fa388Fa8;fuqpGq|=!%~&n&~&/{ U侤eX}bytMBMҲLLm Wk苰 lLbֆ\a><7zxrK3e0 y68/2C$%uZ+үD@qT(JKMlC}7)PhYy9o+ZcVgBT;yEtzM`*񱎀j~EvpŒP4i e}F4Ue+:0 {aU8Irn!kjER}-tru^]&T"M9Z0S 0w贿 Yȍl|"SO~5fj4zUhMz{Z7>gG>Txqkϭ@YtVUHo'9nXKɑ;ҢBMO!^^\dޓpI' I½~D)^] 3-q/E[Q[\Eqja@nmQ@5xp' g\2uQId q╿|ms9϶43~-'`@$ZF`PVsʠæePV[Cn'~>=]_ 'O\"YI{u5!Na$}2dBl gQWB{)"F Wil!/%ȈeCoŴwȮ$L6}):,/}X_?^N.~<׉Q~ B %e9`;.Q& -V~\K mxvM8J;u[L/Dk1/c4%܂i u tᤴdeJd@ h4\85: ^ Žp݇.NH'~Z1/TN?Ej xXl2 ڈH?g1 w:Kynn+b՞FG]I]7Kua׉ d:.S_V-s;6&VE㛋ɛ 3x v2 z#ºM̫!՗]a=XiJ}0Uw{c&%PC>! _afw^R  B㭃\VeAqsHQ"Z>BI`[h^~2woѤbQHr6>%Y$kSOa?e^wm%).K&%&ҏ|"+/Y4M n_ѥ=R0TvMŸ{;[W)c#;rv]_s45[H;mkxB5BgV~ dʺb~0y^HCPEy5z ʴ2_G6d#0>qz\ ) G{2br86fGq-|ynj&i.8FɪkExI+L7c ]N>9;gV>`SL+헦FN*f g>¸mixa.ku$~l2˕+uTo A ]>j@| s1O? { MdN_lP LY|8{`$B@Y=$r{ϳcslˆ exv|`_g*6CLٰQeqKJ%SeJa/_r-ni48;@i\"V%ۑo㥧q T[Eҫ)JFr .iˆEYB*rĽ$bŃT@0uVbh]]LqA0=cQm 4!bFmhیN r:']3tN`aKGѺ Ied[X֏e3ɔ:U n*VNH`=Pf,bޱAQѠ ١1TZ {Jm jWCZMΖEbÞܴOUʌtC^_ 0ՙؘ!{Y&u|Ӕ0׆ qt;N)XkLP>ڥu.?<,YLʐrٟx?4SkBndUnFPVk }}c.ma;m{i@K7(}ś(IVD68lv^=FNV/9^lCgi6Jx2ZIPu\e@tW6t̻؛'фg: Wh#.{jȴ+>p5JLӣZ1}C]ϐa-$_8+=`N}Kwt7@34u]fݪӀFa RTҫ5J;yX|_Lq٣4Kc %0@Tl%*%v.C~ as#!x-ӁF.\6J*RCK9ۚC1FΙxp2dϡ:@[Z9rWr73qgVɏƈ;3O, /~H۝VV/(vQ-ҫmԩݜ .|m[njeV 妳Fexd!z(]Ad<ܮ#Q{]V>`S-aYlaNN1ө-dcVdu,HcW& ;*@T0Nu"'S6*sPKB Q - seirsplus/utilities.pyVMoF=Gb@@ )3d -""E^UXCia~awe[]%-$~̼y;d28nםC J`'F&jP VՓP ;]!{;ً~e;ZBD[vM"6;v6x䲭ȮthPg]K6쳨5d\wj0RJcfLu}( +heh b'$WʺGLjƱjclǜ+V?FjZ@JބuګϋcQcM#x2HuW) p-c- u*a0zKW5su!rA|pV2i|}w:N|ÒA}w[PoȰz/KJ6u,:0jo@D|hkċKfۊφQ}-Θs Qko6,w4& ~/eK*QeBZp9`9Te#'T5Z:&5-+ˠno. {hĝBvV7-̻,(r(z 8;zT8޹Duo˔fJqmNc^f2w[0\hMc"|sh)u6X3L Fq0AC*vpvW?L7;r`ӯ ~t$Vѹ>?5^LgD %=p>Wt~)d>_mo׊8#&սZ.cQ q8|GHӽR?PK3 Qx6u,!seirsplus-1.0.2.dist-info/LICENSE]R_o08婕P7`dH<a(~w$]I. a,vd}ޮ᭛aO東L'u#X ǩi#&cut4x<!vjhPdƻ.\p 5AdP`<<#VHkт LƇ6anG{'{W 3$=& \k;%y> sƈr|sx3 ,^~[f+T5%͂ilQe@0 EkZJ3Va>fr;ZY?zo8P[g"yEOPMʵYBՋLD+^{jWNhW{P~<@,(KPɬHtֈe&+$J2->ZGl#87JJƻk(vP@iso4Lb >4%)w^?Uy[VZ3NM C)Y XP Y4;x *_\ISXg)u*Kײl"FDZH \G+_BHO$0E~PK3 Q9C 6Lfo`usz !^UL6׹m >q YTJ/PK3 Q8~\\seirsplus-1.0.2.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫PK3 QV: 'seirsplus-1.0.2.dist-info/top_level.txt+N,*.)-PK3 Q/)A seirsplus-1.0.2.dist-info/RECORD}I΢@@b Ddq`Q=}I'^kSҴuٷ^OUt6DtXѨ+ n"9h1OcR.'Um[j;޸,Z+iM^.\wpLiMx$Gt5$7+Wi{D0@?06'W=Dk,oc!ގ`&Zv#mwr\'H/+FwuߦǷo29k=.)KGd 4V,UkYy¬ϕ!$L#%H:l cd=I|.o&ذ#{΋{6"2P49VLؠا"t84҃]9eCH:.!-gݳușsj-bU}>mNS/)Oe?PKQJCNXSseirsplus/FARZ.pyPKLwP}seirsplus/__init__.pyPK Q.&1AOseirsplus/legacy_models.pyPK  Q/5ukrHseirsplus/models.pyPKB QL-!$ؽseirsplus/networks.pyPKB Qzؿ9^!seirsplus/sim_loops.pyPKB Q - seirsplus/utilities.pyPK3 Qx6u,!zseirsplus-1.0.2.dist-info/LICENSEPK3 QW4͏ZqgM? 8QA$8'hn* 9Ӡ`ٍ1<dbf#|Xp`  T6S& 7A$1%BfafX#sE:0?-0yRg;;"MvUfͮFmogcu뼃x)/5T_߇f,y.KÉ8+P8lI"li f6;bY+0GğބV~5|ayu T^fց:>%Ypǟ#&g7)vdf3h;YEx RA⠁=Ѓ6 NK]~ ty yA8Dh"ñkN$| Rv2"W Wbtw@]lFg (ܤ4RF| q؇fxNAGxDY пD ` wqqG8@~J ` Υ'* Mi\WFOfo,UD= o 0R]?lg [ADԒWOJ u.  PiJ"u+*`xwH s @;G`W_v:.^ u4?wprd]G^ Kp%IF`ꏠ1it e7Fc[Vk-Vsm7 [$ݦ%~q o.o m6Td$)q]DE; * #&)37_bO^WƄN-O D%M h Y2"X1'hLthG[t䄚N )TK)xOPgrEZ.(3F~\hsɭc,9 iy0Y:8DzVc0SSZ]:ro/ 1`ڇ|0wL> &A"1`Q@P }t! ;EjZkaje@ྂՀVt[\Wa#{κ'zZ.GȠl8d,ݪcIU&HGX4̟N ` !5p^Ga8-ƞT=S7׀owy=i"?8ҤŨ8. $eL 1 q2 0X|TR0NoO 4Rj8VM Cg߁}dhYfoOp t-\c]:4&|F'V~߼Ƈ=1@}W.hfs2}0OU/׼48;{tJ5b𽶆k=|q )pSN1T )f\%=:&;O8Pۓo FG9)QN?+¸~ɧuݓ@2*D8B>żZ$l\q.p$aZ U1vGS6gD` D}4g% JhޛY@V%A$^sm#Jy_@89rKA&4++]}D[8jDPBާ=". N [JpJT_ R&0Xz-ֹO:vU0iF'pĄ"fai`QEg&ݸ&@ݣ#;wf+Bp)N _fGJR|H0B^́7(G×t 6:I@r`Uz҇YmċY%S@)'T/\$ʔaǡpak|i 2Yix@rkZ#4 rvZ I!J'ie~h_P0Cq2yq !>>9d-^XNp&2Nf!3u{ɉ6mDMBTaQr4CM\b K)3j!)xbVOJ*Ա$1NaIquB ńD0#A[8݈V?~L\JA>3;~\p)ZbQ?I)J{d!f)jbx3QP]|9xQ\v/$rcΎ{c kJHsM#Ņp벥(ϤHO6ȃL2[I 3r/&% a[BQ'BC3 'hw )J*e"Ng'g^Z'¼bp [b0g0R|Dæ}x,z+!Y0LbP^H:NwϿ &l~li@;g/lZÁ#fc4I}S.o.Q䪀NoT-!k֕ĦAAq?&p=\G.Y/ E;mlAST~wuoRT`g dF{ǃ,>Bde ,! a}PȠh",R۳M0ʍǚ_h{|~QM}|T ⧟x2<:yʓ''qȫ"m׆t0~On'O +pNdhҺ/i[8ta {29K BxFx ţ<7o 5WD(P$@91ꃴKwhsC 'OTߥC#H@[r D 5AK 6gi}STԡlgX$هo"{;;洛]p</6b,3|;1-) i$S'’pb3惰#2 im iw!S50v5jb[#ō/XBAfF#0~g?/a>˗r'o<|o9oL]kyI%$5P?¥k]`eֹ B}fwMs RGJО*xr_$U;iA_7WujU5͒jXc*l#H6Ӎ7Ǵk,1FS|w Թip0: bR䣙A62G3h't\5J; [(hcow6rF^&_ةE=N˙8+#3k0l؝!vfa: Pj\+Z vZfXV9bKg{j)ȶ"0٦ @jeyw=7wL$U䪕{-HT +V\u~wߺ;'}kciw BG{ 8hhC> ojE;xwaȇM,ttZGg;aZ]{4[+AoEu՚1.C}]: 1#񕖜w x]ҌNZj/ Ws:'RMgIKeXiKiگUj<-U[Vtm`XZbQCGjYLֽgN|m|/TDxavS wsdSh~b2hMjaVbz)#*?r9Y5P]{xks*yi0P7p |?|w؆`X I88zmIu!{mr|CQә|~tmD]SsExU™XsTBxtml4[B(v 'ON!+!V Rۜ Uaß=e&[";r`ˁbuN-~lVVj4D>{M 'u=3%=%I,'gwq$`"sۣvz jt6w?88Ԙ e))N?5s8gΌ@˴s(eZYSY;`4D Z0QMgڀZ 68nYҼZ Vc|i˘9í&|_s?/~ݽeAjQ*G.+N)VxLK !_hF],Q a?_ V撶&~BU9ȑRCk]Q{ӟk>)Ew$T2A!=l (v9 WcDg ٓ-.b!vȯTz+|%gIj>r BCC)8Vǣ 4a"qW An&Q)/-ߘ4k`M!RAXV(YR Y  m 9׸" yV^'}kEwKˣA(;d*-Lg>x?|WqXd Y]_r¦ 2<1S .>jiЊ1; ĻtZEEhJԬxWx^>|*y =*B>T.|*mgl油xƙް86IYD+`$Э^)+,|DLǠDp%_(Sxts޺"@M<%@'<#'L%,GOdarR$X+twn4-JaLPV@@y {Dѐ7x +Oϵ:Q6>Хa˲2e?\\a97Ύ4JEȧ8SYqi?qx)Ed=I+CAa$fi墕;MtpXOVt$%ǧ8xt:="'2<~G#|ٌsKHܽho1 ' Ϧl+ޞ`D-Μhy,* <ӫb8W i%pu*Fc,xIs*ȉ0Ht f) "[jr~?؏?radi׀/Zu?WyoEٽPRgP*NSQG vCx|2xh'pL:f+Ŕ)*hwPGcVSo@D7S9Jv$c&7 l *󜛴ﭶ*U@T4;}Z^!Ln))c|9AAP-HJRG Xsdw|Cw ΐ;`4I.hˁUY77N]664mKE˴||u zjfmiao8pM \ip$M| mNDnžQTInp+p`m/~ M iЗEf$%UNHݷLg+nzr ][(&m'$Mj5 H Eu?Z(K&G+ F,xfxSb*[~OрäEVs~U1GhԬjj,5P60?EB~+h IW2 a#%G73359|4\ʥ}ӡz:kpAj ~Ysn/Gsmx3n-~4H\u rAv槏) h3& AM[!U(`xI]aq`fx؟I|´!M^nS.6aI8iڮTH G\R{d7-{V˄߉zu5G#U kl_dTB4"˾X谩lb54)ܿkN3aI -M}4=%_7x+lZ@ZJ_܍[48L"޶ ;aW{*";lk@:f;Fa/[szxSM0_c8et@)/Rlf$:nJWK $Qe^sL`j4cxLR^%1-3(|,i/E"]@yc%U"jūYm)&E$ OJkMDQpMdzSI o)iT4XUnd4c`bbT@gKgrtu~7&/D(+c~4USn餽&%]Jx?M/GQ|t*1AH75e{RZQ "̵ gQAQf0"uETBd* q E3KɌ*NMlGV=Ot8]N& Cj\_x !Ez(Ҥ.K5D~&iRZ8n+(2kIfGh'bEմfu ܕ6.x 5Z=>ד5+[vX+ė6Ext1  #+6:oZi/^XUuvUߓ$?Dsr<α1TvݯĻ=8ݵf&: `O &1X4o' &x R{zߪ\Y՗;BdSo"UUs~.+Z lѴ 1!B/ܖo+<\nztY8q0IUp -FS~OcZٻ C%+Dcs ƒ+s+ِ㌪t1I5=~/$>?l^) ՊW],BXtHG-nT\IᶋhSh p|{ yRhf+ 2GMeLGbY>-'K}&{4}'עQH'6 5BYg/cg-o`a)>Nabai{8H2N9M>nseԲލwrѷ|8IY`Ÿ ;rZcYm -g@۫vTB,hk;CZO24qDÛϧ[{{;;!^?zh;T\6W9l};:mw;JY\țo֛C7/o^|߼\rc<v¹ ; qmBWqaEbe<91&^Tk_5Fhq'N꓅*e.|r篎>yMgkyw@Ͽu_~xE㿼ys"_?qp*/O?:l}"V__/x<˂)ɆPF ,2"Ύ%:# Cuw"@Z;dk`ND ?ڝ/fq]k.?Hh"x:ͤq,4 /JVr`~ק=W[=J'a̪;>u)dVHgf9X qQRPb!͋*C돗? \=}t1NmJ5R՜l}&M'|1}f dF3x $]$@_LHKs-w}\D:/+ L! Hw>ـYZ 47B!mFpjw2 px+~-3 ]5>~i0@1Ѕ_mYen̗oCB"WCŎ@Di9qsg>@"@Tw~)g]ʜ/s*s.Ɂ}{zy)_IVU+DQ.$K0 |#C|:'y z"atOnjn|;{,x*.NK:g*(1͂`tSg2CyC[j dl;nIk6a /gl3A |mc6=v//mR_ ό(1?;>]!< 3v{p}^~fA,iHp]p8.:$G8/A* {]K+{] H Ze{Q r&Pr#D̢_QL'ѩJw|5_A|^<_g C q- M]w$`y/3q?i<GUlgCO1(L 6TR,AQQ 5/>#3 6e |=o5GmEo;' t7> IC;!Ϸ,8!- m6ډDQx*uR9WzATf1^6%6nf8q¦9}6/o󘟣 Gh={-ƹ@! %hJ iATts5~{'V5~' i5`2mOKQ6'AL0NR@9,ѩGޫp<\=EJQెFSnc: nҶ/k[pTO_}jHO%[)IX4=VuPUVᔴ*mkPشUM| C%Wer|^ّSUH~4>bL\sRGnֈ7^4H60r:Rj;wP\gSmnuV\H9dkӿw7%h{U]8i/ h/x름v'܄mFڶETQ1$u+Y$͠6 h$]YҥtpAv(]-]7Z )-pw;~Q:n5[RyeD8Ѱnjv7nUdq 7\]/\IvݔBrgʝmJU;ʝ9)w)x7VܙEm9o'REUgwh ?ԖtL7@F] gC;e '=Zop |=.;2 4Z1tg ux6&Ɇޏ4q܎3")q6P$9/Xi?Uy/7@FYnf!lK\ /Cb=~:·{8%TsW$?aI|w9!oWÖ gjvo5SΏ% `ݔo7H]\4Kvl6Q rpoVx[24,+e]X[ݖvoaK҅.mv[.Hp菹(wx~} /b+tղ9t:+{eKXn:^LhtY.qc;c3 Hrs_2\A_-DZ}hr43mCZſ1wrA6x HԣG*vl xf]u`>n篂$NsF2ajrk0ݰX >qdV+4z_+u -gG~+#C_iUrF E70=ŻM$W V5s7tݏZ}l 8` YzK&LG0\AI;}i ^Wi~5zN,ܸ$+ZGVuP@@lwcu^cK? ޡ@3zʃ\Oyip=`d ,feD&X*Ywh-'ZWM7j(XfMZ M!Q(A?JP%|D|ЅzZ,1#4B9sRT(B 9W|\Dhn-5dDYBp^G%e˷ V@B)ĐnQ1X"RBDr"@S = ĸ7<&@G< FhFy2F@SQ* Tlx&fD4BE%ɚJVSr[iΟS *TT!u*4 Eա.xMsGD5hr}rmz ctgC?bh$117Ej .$ IrxՔR:_>b;f{MDz`&` 9Yzc82f,g+ X[$ɫ c,Y^1;źQ͉ ^76.Y``N@=GZ!S9([ #Q!ZPe1J NcBe206 ;n 0c6.!&`ސF웍طo7bhvls#LfZGO;2Ӻz3-=ivZ7O;1:̷fک3ŞT3c$vĮ39 ]; o&S3yV'AzOj"ޡ#,Q<7({~wcDOpEA[-[My0aGWA*敜7E>Bi\ɿ0b,4eTDd3U`:.vYdq f n`v0K<]20Y|V_y$>۝ q+F2`۝ypiz]Vb<>p]nN>V_fڒ/.i6h1H{F-n1I($k!ƸKuo:٭zZƨ\C MdVJpU*+巂'"¶T=sTݯOٜU.Vsy:ݧ Hݧ:> S렇8: ȼ#`9ݎΚ#f=v^q-9xM#}8]G,'*, /Z,'_\^6_Wx!>ߢ:Srt{]rkqg-`s V=r @t*UBJA)Y>!-UԷ *`l r,_ܬV:`-Y'q> Yx!#ZrrݤE *JPKwRWc{]m,UYuF͙alrݜU9]9R/KuRSE5̥FN  P92(-dqUrpA[ Y` (ݡGL `kҠ.U]^P7mC8UbCٖYQT P_[ ebr\PZ)0[m9%̯vjW%55x00QvbWo}7"}蛮Dt;MHt%ޮdi.ci/z;7:fIsٸi{s- hՕ"PӁt0x. K<6 ,P]8aRǯͩh 9#C ,t -VZB.zuj?j:+ ևX{ k/7+C`k?pk/pxpflj]vk$8Y8?)|gw wEx6Gwk;k\@- AÇ!+LA}&ހl-Y8`zj,hU+ iUQlEy%M{9IKwz+!O{#z-T7g%YhII:X$PKӴolĥ4&U!L[ml~*m6S*ג8}u#Qp?x_fߣΰ2$^Z-CXC c$X u&Ht,-KD@o:-?Ӡ@㨺ۍQQjʼnjkPmޣ:r5T3 \\dz10} g3XO0XOc%K[+6=<7uRC,')/QY yl O&`a@Jdfxt`j]mrK|Y|DD(Nt] '(q-̫SVo 쬨 xtK!w-'̵& Pq߁h4\ae1zЊfpв0~/wB2yilg+5}9YVfVX:>ʜZOt3[FF4G'0!E`3x)+:Qx+^#3LIh# Û`43"$Q&x(h^Ϊ 5]IF1 blh,b;б:h~aD`[>qRSXiHqIEiXQ{4Ȣ΋ѡkt ڋ^]WP{uweB߫.tu *j"Nml[CssqpHc΀#T] \Uss V)o4V+Akq@Y7DZN@ժk;&µ44yOQZ78 Z[۫}xƓڌdųyQژc)z*sJ*8Clg&Mr[o2ۢ8748+öhέ Etιn9O"XCjzicᮄ6dEQ(2:PO#!J rL:, EW'rUQxE),f<UE^0$WׅFas@5H+?+]a (jFC<nhntKƾiFQkF9k  ot鍿%㶸Ŀ 8Ir]1=MI):ϧ6B1 J@1FCƹeѳz?E=>JHHg~ nѓ7fRKA#4I?ޤq%G{t>g<(,G᜶^2 oD -)ԠDԅV]~n jZwT/ $N<*>襪YKy;Lȱ! ¸kq Gv\(Z_Pk)(g 쨫/vO (ڮU#M"sNe[J<@ia,6xZb mVag U]Bs▃իnVonVj~k+:GоټjE/ R^ pEm',*wb?Q{־ڳ٦Z~}gl=ݡ].o}`"c/w`}zLg?XmL[^Y< rosV~ &КK_><=Y!uvD7aǽ>z4gHS&2w5%U*湰6\# 7qI-@ᩧi9#;^ YSCFe=@ixi[=".J+^G8ڕ::뾐y@ t;X!-AX4BbiX !Y;V5Bʨ;]4_&TqX3_1I+t;uR 897OE}6HrL@6is\$mqI,_60oq 3h >z1XwuWXfD)lrJݗe$i=MPBgyԒ 󜍛|^q߬t>}[ 0/:F}ƁI8 biqNz?ì>}'lRMxAw`)"dx}-^ q G=]o`WO.vYoN@=%ys Ϧ\ ('Ϊ; `+}MG֖@^ CK^PDu4uze9`U} lUgl!N{딈Դm^G)K-`daEFA|ȬW~izVxAU}ȄPZH k qpCSy"M$W V5s7h1*)% G%xfxN$]OQL}QZTZJ}s:-% ]J:<2EB.Z&Yzp ]>@c+wd1%Bn a z&mU|<( iIsnO}\*%Oá86ŶwP7:$LĞpS {CaOr :4«0Ŀ0Kف'-7:UV~NKV.~ͫ \$Z7jP6 ).5WQ(A?JP%|D|ЅzZ,1#4B9sRT(B 9W|\Dhn-5dDYBp^G%e˷ V@B)ĐnQ42Qcu)2 ZL%D3r(5m:prSnE/B>Nےg-mU/Ƌil)k㋕>2}__{|4u4_oq6'o3~۝ :<߿_I:҃z~Zhŭ>D{ۓckyrX9GsWWz*'l0e442}$.ԗf;;sdqp)A~M!J:^GyѸXo՟Âl?Q/ߝu߱NvogK\u.Vwc?MyD˯?Y,/WڶI)xAJVr㵺i]BcuCMYU)q͊:^O|b]X yC(.RY: Y(k\͊9 ڃ$@,(b^/̊`Q j pmI?(rFH&Lk'rjɹx @o SWt-:,!Or @P*epi8q7cBaqpL8K5 v VZog E"YB-R>|t]L8UV[,|IP*_9$ +p5_XDJ!7W~X_')B/!E1%} :D#Pb}_>x$<.<.<<#%mo4OljRxrI43|LS8,}"aEHqtccW>)h\=lOdaq`& F(4|Kz3QPfP- ذm lMbS9ȅS:H䣶Qhâ-ztBT9`ԣ 0*VZAx`b Eus@Pw. ER"#G7J+@9 VK jn7]%^STV P}{m= FΰA VUxw86L -"QQ!WVT|UuM2W2]Wee ];]eN9u9s!/؁/|Z;Oz?w]zu ѸH.=v#T2 UHŲ z"adDA\F]ya<eMpk8ELOw8T!(Ǜx1͂`t<zFxu+Oxʶf:lF0`m3A |a=v |ΥH1F8 j3~]G7F~qtX;w׭{Us >0 bqLD؀sqׁ'=}! jW,N]z' ]j@ڝH*DC܈R6oPG7&d%b:NUJedUk|] Xltz 1>4 q) Z.ΠDx>t)Jx *nGj:˄ Aag@ҺK%[Aa 5[ͪh%^N9(OvpE37x<‘m0q`>5&,s*s>VIp$Ac-I 1,4Aqk:$iWa? f=~ōS:9P" 'l\!ceVIҁC{*lMي3g U3لWׅnv@ ;BM Vr3`:AR?xiy{} 43`pfGug|6Y~}쭜%CxR2֩bógY,bS!WFZD<҈jg)``X_씙0:6e4F׆q4i+B 7nB{qL(}2 Ԇߚ@42 g M)WuQ}[݄NDlG%RX>E&~1G%_JIAB 8B?#)'@_n+*oKWTS1ڣ8`eXx\Y\#s+vm0z\҃;cRqsNb'z*GƼ/hSckhŒȓ@L8j{&.予W>TUtL DIAuZM^|y[5Qi+ C\wV? Jv%YYvQPr 3`c=XFphώ& B$zt%;Ð+D/f/C p<ņ`D <Û3' Isaϱn%KkTG"aP4l"6Dfbذ ҃Rǣ;: Ytx7#_Z^qbq-hn Ĩ 9V5Ȭ r|9iKпx 縎{8=+=={9=;==wvBh"uX"D]Rs ouO۰sKA[2(E0^o/3 X-+P۟U`qBmxc%KcWc{+!icD1{âL[c[4]Ye͋sm'voX=w`۽Xa~Q:_bl~c%K/1_1{1ϟS(vos :oLcl/f~`Ŕ@6*i4#Y?Qc$t#^AGN鍸_^c)^KӰV 8Vy ĎVל3&N9ȤEkY5$H? Hj{iוgԀiO0^{gDMh-iC1t:CtPeϔ=Vqn(DZZ$vOT " xiIkre<Z5KE^[qv-{[ 3 cg<2vp1'8=b!y`I\vR9 t#:)_r?PY<d3k~4'"c\[ w^Q kLj>(nh. P"i^9nnsg8%\g]3nCJq’gsBvqkF恒RF' ngpˠ1PKG/I0kӡV$l&ȘbGՂ^H5VS?L4`VE|9V^Jq^5bjႩ77%QodP+|( –lk ; v7/%h'яxv DA\'l&K1tENA0{,_7ڵy@x/=iQ5Ynh/҄Vyqǣ[4!.b@MՉhpN>&11<hF3x40NE9])¼ o :OҤIìҤj2UE ꗌ TTlYc4)j=ļAu' 6TTБU!IY])g%MAk~-1Ti/-(?׮x׾x=寧'dM3SW~_ʯvc;O$D [M3 \z|]s4awƝКՒR\~Aj~@s`- 0k- ҧ L+ s[h&2#'@2{9K(" F +:'xAQmal/ vOPJMZkbu+_zPK\Ժ ^֌_6.(M`M7xCBttu @_qOW-ĦݪI x"ͪɼZU:1KcUv^S%^cS$ t(:awgS@PY%Y<37oVoqfeaYo1 ?h 1e7DC3i]=퍙ӎʹS=L&LZ쭝Ӿ,U]9"ŞZLĎ1fb>fL4j`Y3lMе3tVP'AzOy"t~ofWWcqG v|A_P[W@;2|UVrю멙-H,RAp肻F^nmZ|q#1MSQדȱqK9}s=^ZDl$Q%nOox! Arz:u"6666{S=ǝIMu0'ES4`N0g0Ok<59K Y慡D`&5qI,~phepTę&/Z=ye5 N'XnZX-oH-V*X({sye5" !da3XVdA3Z,FM/؞ZeRJ`P#iv2gzZ\Zhj-kVK'yȀEk/&`Xb_Jm0Qgƪ)q諃VSw$Î 4-8;yBX,Yĥi~ Y1CSsƥ&/J‚ @Zq1IS7̓ݚoNV1zQ m!ϙ`3P尜V}qb;nV.'cne2 `1s^dن|qz͕u̓`vxE2fOe4 3 H~@bq = [S.p()=,vW&44'@-zR蚋Awj4L;Cw4ܮI[fsw~ F> ߆9QH5~RO(qz޻4BȂ2T_a!6Zow47rp} Lyfe{yn>#[w8ع'@h6ACpOˬNMwHb&E m|?+an.9zō8g @ NsHdw[|z##Eb(! B. iYg,3|8w}x|=9Yl̇ޫz#l洶r*F~b^>~rEO c'(4'߷n6^ȸA(GT]e{ I9(mRP&^VZgSڣPX,JzޓnoьcEc)D9Sd~UĨ^) 9ꅯUtN/r p?ϖaUGh:rEKD2hf=DsZ8N!TxomU cQy䅁4n:~E*Tr>ѮltbTa'G$"tG::DA3DOW9fxÔ4^DKj.٥~9ٙDd+.# z >tmnzxMWtbl6H ?ZQ =/Q%l~1wѕ܀ȜT1]8c"[U O@z0m! *Nm ^iQT%l;aLEA`,iEYV,f 0]kY f9_{1I 98NMћ#A;|Aڇ7.e'a`_.X|w졩baN\p:XIǀ yxȭMa"a+ 4O՗B@zy.HRPg94>2JwH:P؄Dtiwƌnō1]'2pLzbj qstMDSշ=c)3v:po#$;H[Z1sr^'wE/w*{ERlpRi l8=NdWo9G~,#b.].͕pȸL]gL!qlpe؃Vqy؋p"r`7ɍUMzL[ݦ/{ews zJƝEO0+9lX>vqMpM⚖5+5 ש]\˳…omZf+΅eUgp?6lM(?ZE4Tjzz:hLpDp35:v7_Qю4uڔ:kJi=mJݜ]Vo>NR:{܀+ww=OM0wy=FkX5>t&+43<|6YMcrS([?^UOT8TI9I-`r`Zff;0@-prp5v^#a]$5 D&/(v,9^̅usb:M]b]/a)+|!c#̱.a%"$n%N?A#MVE13ɥ(,m țezkq#b5Mvb$rh%5JLD%iY!a"cPbr[6=΁۪v ^Qk4LI5/L/H=i>k ݐl;0$p щ (',4& k iw2#}JX&{ШFYOne7vFeHjɲi1/nμ/_.6XiwG}MD8+|A/cl ωJZc Q 2=]؎55gJ"cMÖ'|rؙ@sKysnǕ K=#65۟8P8um9n ʧp iqD.ɹiU;rmh|Dua,:QՒ8'qN[yimwCZ'uk}4b3tKo]Y lg)JiAJI2YX[Ei~r:AeKm {#"[|XqE-s/G7ĕ(0泂RGc!L3yWAH&qJٓb;1IHP)PWJ!.`QIQo[Y]]ݥ\{~,Q EF+ip>i6ܐOf 7퓦A[)ӆjdÜ_eUyʵnXtj^4qgU WH6cZU:M |vc: 7卓p_K(&k00⧙fY5i%\o|uMļ2[rJ'q80}6ޱ{$m6 7i3HV9Dj5鬢h;j&Gsl@^+^߅">=D ^#BG&U5}6Ty_w2Wވ^=sqy'У R }Ry8ކ%S9NB~7h$t#HHtbv@ -R8NE0rnVFNBB<'[7"e5he[Y[kV[z~9S%mͩpf8z ?e5Y D pR`9ӎQ5E!D/2c~H] v><T) s3%Y] E]N.64/37]$n0)6Je(ۦ6eNً`^b k(I#7.1(1qL8/> 2}yidӊz!Fq~1ߧGo&t;Gjҿ@  bJA`Q o- eITZ&\+VDp- )[ZZ6TqVk>ieڥ낝({\B=B':M>!=AdMQn7[)9:*GM +pbB୦v/|: |8o(8a~V2ʗO>|k!OFM&ʮB~5h2|Ϡfr쇟 L^~4_MԊfb i5y6@Lϴ"/n!VNn'w/t(fB&y3g/|F: | δ[MJ )2J''x`DK.j߯σ%YU~.4fJ XGjj.:s%jȱkʙE׆Qgѐ σ[UkQ>Ci,T֯m !q_lSl#d_ ;ovc73}0Sdy 8`#s# dOyiXc\u.8m[ Iܮ.U7obxMڈhaJS 8'N|!a$[7&h,bS=`HL4#}Kwimǐ; xzY_)"M_ JUPH 2aE#S{m4Gr|Ue{%8 wrAB܄능/G:{-Ɲ;f_t]9`ym"|=3{[a茜~8g7ԲůHzDޚ(v9 [E4Cc8d .p-ܽR~voWѵwऔ-[9n 8;h <-`(6IL۵6dE<^ 78eA =nZ\e=\]Elon[(P])K%ΉKJՒM91s "fBJz|1jeR[BZw1=Ohtԭ:Jd,qU>:6d2re*(>^=&GJFUc|G12^:\k?ęyUִ?2zVhQ7Mx.%7Z/At$qH2i鰐/Gݹ'vhlޤxۆGO*QfÝɺ>h#NF,uvWmT<;4U*帚Q8 x|D ,EoѬ rӋhqxr;NvmQ)pwUГ=zM#Ғ:" *@HQ*hDl:8۳&mK[2. 'Gc#dag[~ &v&ɮH W)"B ,@rJW`c y#5M)@Yt.~̬ !FP|De,UegSUPʢǙp&+[iWu KO7=3RJOOoHJOyL#Yv1Pz>G&?=27YZǏ0hL> lv@>7;n-Š-EHR[?$b WtzH:+ߥ4Q?-`.;7}p\bfU^ bt%zdPd?| e¾zԽd_Y]@`ľB}է<TsQ\JZ>_gˌ}9Q#Pz3W4Q葟SBO5{g_>Dxd%(9?OSHȖ~Gh=xO&3\ .YQŀ9u#p DWt_"~=լ6iVEtjW#SԸff͚U;mVRjW4֨ݼf5k7SSde+ *nV4/* Dc\ ԂԂ4ESIBbĤE:.jqQOp,ز6>ˍx,7qAb?VXᱠZou ;Xq n¿;qxcK]t1v^uJ|w{-ߝ*VC{y"8~)X_r<_/gίC .S6o]\|q14uˉr_Vu'Vk+ |V̔3™c& /Oŗb_EM̊ + ++ +Sګ/h2Y~$w6(İfE/I>a(DxH?B5-< 艶9XqH.Un꿗czt\Ѥ3~Y8ؤ`;#bOg/&zFE= ?YƈDC,ޤ#iFA*NPo ES_ ZϴY@XitV4p[rfa W q`!݆| լzi' ?Oo#X"!uA\\pB\of"&5 v޼gDG͝BQUUBnԨ5SR7K]t l Vdw-95"[:{Y]J5I~뤫Ȩ[q:x'6|S2Dn^9ML&ᦋS@u[DK>^tz9~W{[_ tac>O ~zW=ڗ\<&{ԩ6~KM< (xPO1q=ebVC-"-i#, 5zGyepX-pn%Z55{18^Syc&F*E~cf:y~BiѩGpwLV9w+)1Ј 8NK;,qAy!* |I_$@e@ i>e$},;W-/0!xd"ĕܚ!*w? &x/|N7] I KD(9f?,=c>\Os΄}3'7`ެ"?>;6:4&〤ӽwփˉ x1\Ky =d8_*3QsT $5ԫ;/8 s\i*SGr0q*eܞs1+~Q%^#6YvCT+AX8JiVuBg`1agrBHn,]QE ݌<٭V]|eG ZPtkRuLLJ X1/+&31IdBH*K(,+B`iնir3XfLK)m+&0MaYa:eƴ?:i{!WB.=A%&lB"*qG= wf2F;*b;#3) sE).,91Pf} w0f䮰cI),+8ƀqiu#1,Sxu 7[S7cp$C\)Etr{FBYY?3>DF. Xcdz G;7 ZIO< 6muE0g;ZMPP+fCeD&t֡Hb&ũH4$<~h#]B56l ?n`n_TոG"˾n8IjnGG:9:L7Ud&\S8CeW:Çsi''K8F{bj^1ߛq߫߫;{UWZ Zh!zM|Bs}yk:%xKu6 V=MԫުQ̓xJ[{*+xE)@|)Y.̵pO9`1u_ UE-dT^ad_F+nMI =HPzS ڸ688͝w`FQ+w?zD؏YhD'^$'ND沊" &4Â=.Rb,*0حXOUHИJ{W15┍8U*sbxu?\o- sZ[(hvc]0%Mq*v5{E;QUk+ڭKv;mNvJ?يetc=eJ]=`iwH716OV^RW\}uJZQ =/Q) >*"Bcv 9dA>jd 9:GFQClr{>cqv=[pn.cTI,&_#-j~/+!UxdOYMƃa5GܮEJMj'_u ([<\>%=@k,"=rtl1ၫ<\ A;Dd_F,?B+? ˜ & ؼ"6ak&b>Ɐ|~F %iU5"b[ f-?}{lZL,W[l0r| Rv4r%!L4-2ق &oVqfJyOü@' imvn]tP/\RIbpnX'a 04fq,>Gr MwA#g b+x"H?Lhڂ HXel.FլJ4)oI*s\u['% j& (-vG75EO'ӄ4S׻S~HS7Ν+EwT–A8m6)8g=!Yra+l;ԝ3^Oeh!Ph"Oݼ5Գh/|i֢=4:D&ƼQu᜶y_u/q+^JFlE5-U iyS]_}.Z WS=Uhd =]fcBojt]ڌNC !QoriH k'=ֳg uî"upջ(B:QS3ob aaEk hGMT;`^ƢVy'.AJ$[6xMl,Bki)l4xgյ^h JgH֛\zZfңigitQaxg5>%ز9ͮex8ϜamMy0$ƾin]C5v8XuM'Y2rxb]nZV߇͝:8Y5g.3a~XKWVW{󈻟vsW©(GΩm^DA¶|/L b)`Xx.E~dB0+I;"qMpal4[ܵC98WvFS vLkhWC;5ë:83 HXY ࠩlH2jra$?UEowql 0rtJ/0VD7|UM؁QIa!n/˞sņ9aYD8]G|%~VvTSʗvqMpM⚲UK%j|]|Vi5>:³;kVkfiSB/mcaV<+pu8oyzeg+fEj"/"dXv( 4OdV?4T:tИ,pWn#Y»sb %`\]v\ lEE;z`N)0zҊOO/2^\^|TyϞYSZgOOiSZOVB2jъ+>=N> y zzM .rS܆գJ U|jsU༢] j,pMWB8NݲE*6߬"?u/G1Uu GB5MʁMj+E`4X XB-RlBׅxV.Zff;\-prpJϫx^y+W<^2ڢ kqkV[U 1Mly `{2hV!Sb&։QL@ *L7 e s}P4k@3Ĝ6':1)14raIsr&{ q_׽}K_uo?}]0roW9.T0*E)E Ik6A}60 |2$Kv;`#=sfQv@Cp`W!~%8m@.HYFv +P6M 6 9qV9h N&DNn] 4w)zn PޝD@+N{[s#fŴ*4 _:89N}dq, 0746[1XuxiG .vkĥ#][';Hʤ r_AF" W&xHcI5wps>{҈rPY&?X]ۏ,n5EF9"wI^j,9ޭ _iBn~ {5|WvDC9vv%;@6ne6OH-ƢRܾtMde%{6q#b5MvHN JjP\EK͒]d?T"2&9Pt["?+j )2pROz 5n%0$ щ AȂxG)vߝ_# w}mx' !xDc[ Xsu`۾Ev餝Qe^ȴW+av"|F!c xb^Za'ʲh!m 9 0DJ1>I(Atw[W|3R[Aa˓r>VP|eýٱ+xp=QvixtprЕOAb~w/(y%9o 4"Bn8ҷ 37?E46B"8xl 9xx&Z7Ym8gqyZxEpH>IkXvXQZwXQZwXY6oCk.=]av avDa(dfαTo9v "b](x^mqq?ٻE;ϢgYT\rpqy6i5(/Ņv:;x6wklx/+~%ݲ݇m:Pr!]#m+B0 E.,,H\KH #=!8zWa?%>L9Н4'|} C$D E^&V&I4Az"8 7&b<1_4)/ؿK hgyy9zuKӻ`] zcp|^ I,Kn̳/ D ݊Ѩ*@qQ8E"] XiUÇN3Ա|nW¿^#BG&U5}vpNTW܌ /s51*աjgNu ^;`eHJ>IC lC ,@m(]R=Ě$wÏFB7I'99hd"T?Y?#fj)$dsBxͶ]VVfuMonlml)lHf7Ϡ]0"Fi8p+-x|V[*]ǚy- sU'u0ye[e}8 Ҥ.$\I3c WA6O vVLiVҩi]H4DoDkRF& k`NF FsG*ƁAoqTAF s;8)1 _s(гŸ 7A?ɒvܳR?ğ<^HWuL\r}CX y/UԿ. K=Fk?Eh=&=;|=UJE>*H303B53dP\Ň oOɈfkˆ'4{bk2r8 `@< ࿊jK?As؄* ^`5dOe ?'K4_X$}\ %0 *\S*6ЮfK*``?=rhqMtPt^Af\ 9< 9NR{⺶55%+/vG?aͭժmd $U!o̶BJ|^Vja69=@A 6< ~YiV=bmB'="f<*S?NԪmxpN=%K)Iސ2!چg6o\w~w^?_߅i@pޡ*\o 䧶"R+-/sіRTnCeD-^M)Ԥ{Lʤb*Ckm- ,&D=^nMԫ۱V+ae~Xj3u_ijNhyW Mn8A,$`1ԱLJ2$&$3( /iQAXkO>yRnks@Y .ЧuYZ t"V:'j?Y ΂؟(tVȀ*JI6dD2Sd%{XAA8aɓjlmh3͆ߨ⛚߲Cg?/ ڄVlߨ盘̎v ^1˭ 137=c3#17 ^gfLc zZ jKA)YE{{VMjެ7_(zE|Q_/|aԛ/yzE|E=hEEoP֭hzuj ]ocDay<_W^*z[wY[ DoWt?}h8o_›JbuUҁ'[u~;XuV/6W2r--Rb ׈_~5biiX&\b5+-RD} v_>®Vo@۪YX"Oa믒=5XSmѮVr6^B}ٖPe 42hiaO\<϶YXԯr*feiao*kʗmrZ@SتwZY[cmg\[,.)%*i`jemZh/?jഴjתC\O~Iv:EӬµhVX3]2Xt{nZdѬUij/ pgY#tkb%Oբ [-]z'_ BsZK>NTlw,ɽHK;ŧuy3ciDZ,Q-缶r- Zxsk mKuז bܼ4W_׍gR,Z DBnҌh>n>{i*8=84"Ikc>z/&M(*DTz]?lԤcQXJC]C!I $EM^&gi/UuM┷0շӅJٴ4攪Yk[̏A Eff|_H۹&ܽC xx,ߦĿve6;W9`8HVT-p@FH"V-s1ҰBW!ի5RHbX1A-\B;T@ ˗.}gλ@: s$_a0Fcp,Ǥo[ F[zPGnpW ,Aw?64 0᛫@OAeŠf WGfۨ|Gz#Ue{%H*, we;"()K_F+ t0Z;-w;gQ_.p!NtF_? jWdW5OdY"jRЃ+4`<ZF"0E77o\kxwvk? 4ikǗ3pY?tϤ(1F_PK1[eg8(Q.X[>GU[U3&mnd!@>!* Wq뛈##G6F #r=l/'8Yr`_т}QGzБM}ٰ-j!4) bjȖPبV.G n%25~b¸! .V \0fL 鷾vнЎ$%(AF5kT~6?OIu6:=t$"l,(`: CRajy @%k t@'3IāC<ς3SћFHfQ!z F<%#Of1kw~ciO:h1xyS=;Ls?!C9suq&"٦g_(I3__P N^p՗<<vhJ#;9qiW_5__$d%"bQ!A>KWߨ5.t2" ǏTPs7qv] 9F$67~$0AC3of/}˃x~p`2CCAi0ەtNn<AL`m `@ޤTf:7McT/_#D KrD|ԧ#ǿu@u:HAwF/mBd`yPu &&* P1⯳ cwFud?d2Di7d ߒvr=sQe3!;P&qX;; svΰ+lZ=}"aTp@[>]Z}^0O7X\ %K6 ErQcK0^oq"5ݭ\SP)œmH?_XF׺3M$џP; \wĤo Nxʕm}iiN"Tjqgh?}]P΢sq7t:)%+F< `:O8(n :&"Ӹvf4i՝m^,Jf?4 }| /FM&<[ M0ʐ@)\W|"=av "n稺 OΣb$r(:r/NÍ_` j'EVZ69Clj,W>I(r5U,^/"D+ ,=Iu}Em)›nQl$*½2\>IC$Dh+L<~JΕ)&CkƒQX3pù_t:u+к*Z܂%^J +p"9U[F.Br=I] Y.Gj $UqKP) L)!:|ƍ"&8YĹ; 7gYOId3 'x2໕0b hMMy]A h$9+0 2VP{1=o{z848Z,v[Uc124#){*ʈ}C"BLyE/>B?߭,82.)N*h[]3oLMMN(o8F&Ce:shn(5I[ĥg"ZZ ̞!|WH<*";] i^f#5Arm ΉѹҚ#<X|E a=ܣȞ ҈8X"YOL_^ _R*h)%O-(K'(Pר`|58 HQbK}PfނtWbw1$D|-G%Hq$H_")(f-l/>R\%ⳡ _!NDڿWhD ځ/xa`b#><c6I#[=* xl2 ?У8CdPvsTVxMPQg!?pUm qW 6I\ј4<}GJ]vv#Qֹʺҵ7yI)|wp8qH. ԟBr*,ýB}=G!Dzqpm@VGgT YaX;]h\S< ~\VN[)<±1AuTT{[W, *dzAXVCd$N fɊ`XcT.N匑 '!spjÃFaAl#kFY4!uDUt=_0\ .zshts$Rw]2\ sQ 6S.FnAs y$94P8/F+Ȋ.&hP] "o>R%';] /;Bޣ]kݎM[IGbJ.:ǎl`ܑF0i3! a.F> `-pa6ms԰fzXQzt|T;!?G:2z(h M(Y3W*ʨuOZfi}&s{+JUCRʶ4nG~WN;KK,N-كqI 4]H v30eT nkC:V "kA"\BXiTm㐅Y`?*e"Z9Gʝh^=j#fvLiH_sЀPi4h'B$X׉H3͛ 87oImChAɏ!#\T⃰qpŎϪ+vnd2nzqޠk-|XJrp?DO~N]VP[Ł6X*Cs+cT$l\%wZJ&'7'!!_{E |l69;o..~XMa 01`F tDtutcc=I?O>4m?]emĐi)$T@暮o; [zщ 4y38|xVg+/r7\+;7\XX=* h\6iKX2T`P1!ܳs?EM\`oE('$BrzH1z5ӱA+NVgFh_Dn}D:,~akuk9ěqIw\n8qw2Fsnsc"1t8C#x Uq2>TI,s; ‰FaJpҫ4"~ Lqz3.a@N}f+] r[~Ш Rg~,aūPNvl LJXo6fwШZO`5y!]E$þh.<(1C { 'Fƹٮ $8Kn_()ؤVK!mrА]C 8ʃM.M=co.ɛjywxz#C:!NcAD,n{8`(1}x*=y@s+wݫ,¡(:Bvc@V M8JE E'F'd*ӣ ^8PW_8Ni2BR'І}x͢V:Ofvg/W4CI*j 1*aJ/='>ug,:·*N@A^fˀ2T:jR$Aؑt9Txg\GqpLLGaNkGl(|Gg$y̳Wţk#/@u"؋,͉ޱ#'.ih})( mMm06q0SĐ.4IV7YpmcGl%%3%%nY۾.ڭ~-ԂDt0x79E:MYk]IKqpYÔǷ8\9LʸCbe]OhN!_T :Lpq8gIۉB | t[9a@Vnne+4 I>(dI`/_5xM;UFҀH=_ib|3rR{ܚgmnH2_KQ$%:n֑Ʋc)X J8\t` |Xn803F!f0ssN,d$j +\x)Pe PThǖ2E0t?kaքB SV:;+`Yk^WfA(;p4sW b\!g0/@KDIL wYA҂R W6Vۛ;l q6ѳ ; ,#EgMJ~Z |i؟/%_8>!likzʶRw mq4əHN(6<g+^(wvh[ R+ *ɛύ-GRnH$Ț3lg)[\Rkw?L.vwJNȿV)Nao*yd ձ5FwՁ7v홒&&Jv/@WSL]ÀV `=\ൕB;N0nP=T{NH] SAOPEˉo\9%;S,BHoFtJ݂:Dg"-љ6`FWoAMzmif ZQcΉ,KOR+b`TJP" ^Pٱ1ePeW/ ۞* bt2m;:q2LFq@ʮ;7RFExY`5>Ltf" +\NL_-1QMC֣^sqB%^#*9:0k)<|'BPfxa<ɻ-aAFD%y ÊCvGZM[MEiY@ǣa;XE+$:"R7Xk1v /2ݾc&:Uyx}w'o,X&O>bt|S5Y2 }%lz[ lV 2 h1sJd-9f}]zuΆ5Mz5|<܊Rf^8CWkKVj03_|>iB+r\I<@ 5ck-fV ##Q%APtKdԼ!<-0NQNkӨ?ɑ7SP1úP|&HBc ""8& .\WN7<բ&q.YHL؛." >dBq š?kA|"h3XKj;RD[!}·]H,DoR'ROzA,n~ <̇nMM`؍RAPeoщNDހb 2.D&[6]HYmҬHsZ1q?"(B2 e>H=AHʙ#XjZm(qDH-?h7AkՂ5nd*4tavOOڧGZvQ>lw65> ^1H"Cs < #n{ntG,aʸ 0"S>`7OTdo8 ''pmP|q 7.熁OK,D{8DHrGؖ?<ބdDP!q (@=mo2IT0G[$X1 4¡Dl),NF:d6K/9Dyg D0V)vyV&xDp9B)*nUs؉2p1~Nn3~@&n;YȄaE= ŀ@ &S 1ġ4 c~|X3eqCv~ a}r@0lxU-!ADHx&5Dջg*\YGQ?WhF&LCRA)-&d)aJ; ~5)6&xр,C(}+#':f"u'7tz_bV w51Nڝ^]8,g`jf 8>:htV(B+Ch4] I;LО9/j/ Y=[[un Dw&?ݵ;B߲Z Ԝ3lԨ'U*MFsɊ<FLMǁFƌ/ѷIYa&pL$ 0 FS8#/HLu`jYClÛ/g͚e;1EFR6]tf F6T,Pi$P$w*{7Yd>,q+~UĉM,2O&L{$0o* &݆pcxac'$;lP6Na'`0)l 8rl .`_wؖ5]Fbr}-]h)T[K`45AtL5SMXB"W\<|Tsbv^Nc.3iN|&鷪@\ юGL==z&`Sb#?p'4`"ATϘe!nS|yVI{8hO9SNy0Cj3@2φz|D'\5L+Bٍ V 4f" ~b<{Q .80kLMu^bK9ٻw*@3`5,/H.ph)vӛꙴC%\O{ ۖS0x3]ԮXh| $$i!kaxuqwoayx4|BSL[tFc%ժW`Ko掿*ZcEQ;Y%ـJCxj,@yixD灐dIHXYB4;|n ΦRkNσ"mL~4U/2(0p$(@:~6%Z̍ݻF E!q!.TM _KȜw lsSw|\~wl+]\Ķ[[(<|~ׁf9wc5j$dψWVAy.‧"~ qD*ӭ߮Viš|-F^Į5[܌'$).o.~NA"zK^hgab*L,P^3%) X4h }ew!{P5|Lf{ b.k/2j-XvTeu`5y VRt~ޔIKݲc>zESHqnHoa I5QJ?2E/t*fW;:oԘ, blJLi_TN6qPP:Wsr ȫ9YLz@1j]1k\r`#8,5f$K%hR:D=3VhwE YPB/{wQ 7_^^oُAɪ?wh+g#Ob[}?A4s5<0s^Z;\Q,rL$A-JI>l칈A,sFAw{7;@U] ^4$w rT/'xHf~Ksf,vY\ov/$9rg_2B&*;c X!Z xͭ2 6Pr0[xt!lW4B-LՑ-b SV 21؅ 9>ϥl/ !Ȉ;E7d1 6JP+9ӦٲS.BͲ $iSFh^wqmHF'JcXlTtGjU+>2abПf|gV^CP(j `AGz/ѼŮF&7ʡK-)L؞UBAr&{(TU; %Z%ai-4Z !49$iaYYOFhNf iHJ}WNνb9"b2r 9߿]ÌO*)lՅ "1Y-1wp~/Y],ldQ_ZټLv}Q0 E JI"YQ^/L[w>Fu=P-VD,q!&JZXCD_)z[~ h]4"f <kLQrbΑ*c9uƞ_r[Lm;D<ZY=XL<=qTE j:EV4eڀn@L %mx7|:Q^ y rHrvQl1YҰO{lZ6̫B9S Gpgz rM"PG\oB cLkU7v@ jMAgb)DJ2m/E=R{?(=eJSڥ;HͧG]ڻ7ߪt+ݭ?{PfiM/LO3` kSev=-G;ԉ-j4yf1Blu9hi#3)<ߝ^X+"畞Ö|P!>ʚP)8v!c~!4lUM8KpۢƯ4]`;3Fy֏8f5%楩 b!3P˔IV@NRT_V;c|_TQ)XF1ɽ=ۘ& m3~}˸2?`"P0a_o/^tHȿ`Sb PuW&Oc@(8 Xs'7d1G|0R*^!׭H-mۤ#<V_YwɫP,ārHCUȈW_QGHXP"+"،Q_dN(X1$>< @l%, 1.b3'V~v/gcTsvOz,_?9<>UOxCBի_qu$''hwvwŬ]soȵPS?k:|7pD+׆t'DžO! >f+__ÕQ<'` H[I -zW-^jxsgi3pY؛ }<WqU`vezF/`׾u?`}c]8`_Ww[&zSWz~_^\ǝt{?78jZ>"W+f4rn8Μ{{8BF?މ۹ pjTˑNk+Wyk`' r=ut}Ǖ;Co99Ba-TWz~ #;vVIjW狜sܩ_Uo~%qOg0vٿM;,_>+_{ث(xz?3db?n ,1!+JP8U+mǵ{Mi =YP=#=o,uP_7! 30Ǽwc3^{"-٤86}]LFCӴdxA].:HTP4~SNg$_d"AA=dxmcg.F~㠡sg&pqH\! pjXFvjRlx$FWOTOTOmdzTseirsplus-1.1.0/dist/seirsplus-1.0.3-py3-none-any.whl000066400000000000000000001771741375244156600222000ustar00rootroot00000000000000PKQJCNXSseirsplus/FARZ.py}Ͷ3/El泊8O&f8GS Mxzy.y nfS4fOۖ-mCQ@t"b4kЂ,yvi׎z,t ?!@|\zJB$,d]yƢp~kL #JpW9W DžN,U؁h &+#K)+MtzEĦy9LH>/DH|ԲIA(u,S\y,n>yaS;mSw.vBy ktƳmJSȈkIA? g(*X(Q*36SAAqbaZ(%G7qy)T!1q XSPc܄ФR _ ֤8Kp^[qg΋㱸fvƒ1bnzqD@TuSǮ|ʡ7ޤWqxV:1@k r=SSRrqG.|Sq~ܧBz4(2`z4/ic`=Mqs5G$Ўf¨2/֜dg  +z=U|a^EQzij˃Ϟ5\B^Z#edQĞ=fkjL%:uX1jjQjrHwgE-d{#0&@ XeZ/sڞqk2> o"W6EJ-ALj@ϋEgXhY[c~L!Vh4).gši^tU M/^8$`0y=,FGfq]S,WۚeȜ楨v׶>_gjU7DVČ ^b{ӎ:~|v,iXO/y zO!FD5ĵԞ $' 1˿ q:&BD'q/A+6D?RKvh!:j푣"kqJԶ2N-2ݘ VnlӺ͑i#m( KG"Gڧƹ·G&3ʹwP 6 odj|o$HQPƉIa={KJaKvo.3i OHF"DSqlocRU\sxpKn~qZ,E `BEEayY0eIg)-/Qߤ<|mo&2e 吳t |GA!^S-VM?u%kC}%Q`GH`׼t׃N ~%$R,4Kq%e CIRz5.* L >%bpi'-2,x(./o~ڵjQ4ezvM`$Af6{)Y'VϺ0ɬƗjj\q^m4yR%][X.J AfQaY"YW*߀<Q-f-=1_kXJWRKGA3Y@ u ZM Kv̞:MzTiBHB)Z5e} jp;eAEEUPy-܆KdipWԔ }VZPgpd}%3Kǐ 4wG0ˌJj!nwf<4:̭mI[20m7 ![JQ_zD=c^u{QѢ͟_-^䈩$hIm\-t tp3v)Rܓ s|pPQA.V65qu.zzTc粢Lv<=F#%vF(Jh~E5<7ޗ vfEA5⬞;+  vQ4mpmyq$(Z۩0N @.j2n>qҶ3 |s6&!|wPNR1aJF//kGB9ќS** FaNGŰ(N pM#[G75R/VAj!Wzzv aӏjȖ"}\'X]9d> gdƿ["ECl n(ㇸe2a^;/װD="=w(F8BEd|r!Ş,qX~O lS L5sD ]y Z6'^)Dy_%Rm;C׹h7 ?YJ:^!F|wJo^:H?w?9!):$g-7ԧf3x(b6?PwoOnJfQD| ƻqa8K$i H8@̆)A8ʝ^UЭv(c.-I`s\7´dؾBa\'t@5,.[.@ kX ?CYR H kW2EAz[HxBMNMiL#u~6\[O0BülCCьO 8fQ($en$;9W]#$cVMRu 947A/2 ˧Vtϭ0c7!6L7# B1]軅! MlϚC)NM@j8:( H[+r!{:buC @W-L:Qd6MC+㪊\/ٞ;jZ1t[:K/ƶE4phM8oێl: ##e6sDݨff snXu@|4kn`=F Y5IfCgo,"Ȯ 6(]{3~i/41oͼ (Yzn>X`ᄄo7@[fAd"0 <܅Ypa>M[Ӷ>qqhC1  4 R(Q O"1TˈcAϼ%=*V C |L OB^u /JUUTZ'5%k28_l1Z9g:3yz.QhMF(lp.//h^`9J `EXDq# #~;zض 1"f|,tcdc !%Ӱo!K/L吮~Fzv!+bR,3Z}l$xC>}:ݚSh6o5 K!/EƝٝI6g[Cā;跺@għ^u;X>; nj!C#:Y8+', Td]ߺ,VF)ϔ\xijrLsd!X5~nҵхq7NN_;5wjxjLqnDw$A1}O!>xj}u]<<<;,=c=c71On!շgAL~e|/PKLwPseirsplus/__init__.pyPK Q.&1AOseirsplus/legacy_models.py}k6 N;)IݲvboFI^VzӒַz(jqM2ICI$cG;kC-Gqj$  mQhJ~*\ס~GM=O;8nd哷Fz;@UxzߡɉwO Z'\_&_}5w~g6?Ɠ̋ X4V$^퍾l...+H#+wJ5R/Rv ݍ]2^ 6VahV;Ŀ߹B!?x][5wwR[E^HKq(JO~bOC?e%X4kk6_j(Z2˹Ã#Ͻt+eq97Q%>Ab}k2V?(ɋ A/I8fq `\El'G 1~Wnc?a#}#TPK4*SCMATB :m@HTv(vWXbUn)pA`^ 5hJ;zʏ6T B© B,OXFJOlM]$Bߓi`W TECdk G@ H7koȾXtQq7}D)#nXC!GE& >St%jQm>nnE6 psx_ ,ev3@O++AbUHF 's 'RoS'@Nަ^Nvܦ]NFڦ:8dC5^`9qoDr#0zK4{ 9;)7GyZ,/HmPfZ(8U`"0V :a E -oPhr2@N! #fFA"z08-ɀ8.8M%nukf뭿{5J $ { >2K$>n=n(]!3⭕#;+in]kEy7w蹫7f_ Q bk7).3ѕq82c#LePS\J[׬̴TWf/CqzYyvgĀ5Ly³ ڽ8rPs~E׷.ޢ>{+c 7O!H,^䑣ntm -p̑hUC3\xȉ* mN^nxI7[n#LLq.ٓ.bd};1om6Q 9lo5[(C1#;d{bH4Xmp^Dp.9 AC?p?2B/NK(GW3.! pr.@–Xsr(.1 u"@uÂ1/7Òd<ɜ2*K -nrNpWJ9">E""37a@rQ_ZLєy {!5j_k԰֨]!ܡ&ޝ{BgDVwՖ\9E;!oX-T8j`}dKA;s(PmtVtH* ԫ {/\¨) rM'!/K , E*Nmm őF{py'FcoGnPÅGI&CHwd=B# m2(ǣUyCQKD1(d"޴$nF!&0 qN;xJ$ Hi#Ё#}~YBd(-˦Zj+fYC{lV@ax8w/5eþڵPy7 CŘ}!P ^E,|nUl='nyL 3bb6ួp6Rz#Ge 6[C>a69^֟FfJUFZ4tsQO_KǙ%hrlbrxI;U$;wRi du M0mF(؁XSN2Sa0*wBb@:To+շV[o~!Ёe,ij.ooFRFQl-O+g%tG+/I2Ӥ+#B(#%"1^(fW4\x0cE0"n逛!Ni![j(q1j 3Opo>t$0Gb$P9ĚNjm]^EE<\:!X6F1uH B!u"*=x=&^O^T.!tÕ'5 ]٧$\^OoD0?rW${$4z{w2@B<GJz8vƓ$E:62MrLJrLzgZv;K6L^0`ӧLj\-Urk/=,:,i kpDQ瘔NK?"LD5D>Z)&\[U]7\zu6O=kVd/ERWp.z++ Jŭt UKP@bn6|^Tr5+&s W,o]{8x{2g -9Ί׬_Bc/5s-y9(lY6Z (39vR֢Os\%GC2t~PQlbuEOCKP:k-ũrb!0Rn$s{1_:g2g1/⽏ݥjd2 uj 5dL@,",qi4;c)$yj<\T˙ Z^G{9}Jg$ԉyڰR[OL'D6iKG YI>T:Î̶e'uBag]`>L"MݹGy1Az X^H'v>;Nwn}$r?B#DY+n{ EP /[ԉpϼ#Rr6&$[W};~$e;=ҍ,[?5 #4g %Y>O۟: _gdY' }}\*-z2f9d0wLӟPp"d;tbb͒Hߊ޷<xٙBc7Km6'Y噵f^]*ϽkK7Wlv+-Bι뜋γ,ա{xu^8$m]FqHkKF+kX'q#`:'x(%wXbw;uzlk/كn =xhTQ(W) (؍*؍,]a|Є) 1U 'XQ=!^U;('SQo_BL F]atmvm/I?T-Ai!p5$: 9e2.FLen~>U-_}ȭ凌lSE7T?( J(os׷U ;p}s69ߜLg\ߣQun^ъl?ão)کtZ7ڃ_VHL#1)]A15L&X: p~6=dSɦjvN9ꔔVa8t>Q(낣PO>UdÞwcz~@Az1dn\1 }n ۃX6XL&@Oe= # [/-E7ݛ~m1ٯ3"]0]0]7L9 0"gP2lQ#~ ?2`ď!Ga6*=Vf)iѾ}('i:?R:ŧG<:<=sj0"1ek o:k/,sP@qQY[> 5%u  O=Ǐ>? V^X,8&82h.; rCX^>x>+{wxt1JFJFJEJEJBv! ZNi4GLQNˎCi?iNBNcӦb?)_iq]O8{H$q"'NDGNtDDLD/fp 2<r"^o{{]w00y4h7H&ES@JxYd"&NyD4}(۪ݼ-<|ܷԬatgnV=Mpl -\y!ԡ'ΡW!.;4rL0'yNNL0궃ϭ8LK<5@PTiRRƅܥ>&/pڵ[?vIWn'_-.)eE: C @.=a[SUfJ!WuГvi s!3~9>~XtF!-{AMN crbiE:8crOffvbOo)j!?P_UU:ճ&]-s Ȥagy^(G&<G !x' O/sO67-э9awFoBxƃdrs.mA!(䪑J>ZB* V5bjĒ͈0Z!êF,Xأ_ڄK1hRld52G}hP2Z[ uꤲɪH /hP{ To}%"#LZSt_2k[j}6/@i`&aa,'#UlL 5^ 14p kuvD-xKV]]8=gnnX.<Ѫ&Pڲ8'02p NBڊiOjV͙Csci_RY|;ӎfԢ\•mKVEzZMڑoҢ|zMj7iGIMj%]%~i%Z?ҙ9+Ԥ5i:7fh}O2`BTԍPLkւ @u@zF3 E. 5֦cU,FEUC[AV(=*W. ^4I4_A\Riūc[Z3uq5ƭwqI'WfmܼwJt7U gG;uq-ƺQc>x$;`,k7Oȯ!G6!]B|u :{++AH*Ö~zhZ}EzA!h]5Tu<*h+PTєSJ͂TōA<*U_YYo~$fP*zOxڃ}nsG1Mi 9Oa>6fʈWvZ* /5%$>.^נ!AhV &w (ۖ [(!8c^;x  u"r=u? #bfeXQuorċ{Cja^kE1Ljn@bEa8PWb5:nRwJ@J(~NT"QVa<-lddޥeڒqhyf6]A݈la&u99f9gF¦AqWP7"[Xb[jHW䕢8ib7NkY9JəB*X?EMrܾl ۜIfi~^K w<5krh:'~^^wPVQp؅(IE:ѧ;E}{Bw;َ}@Чԑ >C<Ԛş~=7bAV//OA#m{w[8+O]{׷v"9琐[%1-+LRoI8jvMt2ڭ1T2E3fV35T3m\7Ma#0'%-ZUВ6!|oHT%[RWGT=/E5D/(ۑW)._?NOBtv3蛦X(T)D(|g#ٰ|WaBPdp&F8Zp#}`$N3#mZpF8pJHI|sst-s*p:"s"NP7."i4T4ZGdz"vy,"oJhh* NA|>˃'8Qo u&2j[J@:5ut4‡k?Ӡ{ˀ ehѰsjk/xs& ^1GvaXfi%[O吾A"&{)8*%Ҥ&%ܳ~`(ߤ%оiE~p[Vk/;SaadI8 ~`T#fx\~ cJZ=]?$oAtOQ8޺`3B_d~mdC#6I<7^m(FK܏_5!z2ɣrrX!)grl5['7AMVfV+l~+yw7=8}o]Œ1/xDNEBv+]]`|;pW a5p>n'YBr7ѰwVBCܒ+@8+W d{:yI[f6o d,6tm4U8]ӬBv”U:ͪO[g+6pZ7jmjxfίfL򿔴J  _wPIL7iGlZ§^g=$>>S:\5W]Wdc;ytv`4lQv>0rY:uS(YIo.QR(`)s5H@)]O# 1zX#K$lvuao%<ɸ(X#Xg$Ch4hVkdQ"f)keZmSk}> , %7CtaKq/h,3Y-ְH{@PLQGbip": !rKif>[S(tbm,xG?ڣ0sOa ׉uXZ{G`4)9T SZjrP?@bK+ߓ7t.`%+GNV |EUJCQ?TN7;+ǎ(ڏ%'XhBTVKIe>ŨaaĿe "BB3dPa&Tg֩ܜ݋۬ȸ"*Y"_K|>]N ԰zuuH3#~}l⻓Hu)oڨFb  h& N$AG'D_$5_}65 @Q4>#צLΓ/RQ쒾heYַ6 Nz.Ch$Z*6OϫWˢy«'H?(n3|,-1ھH/557Tjg0 E+D _eT aD fRCfA`9Z@1i 3Ղ2ystt.Fh}=x\N^O'LNB+U 4쬱Dw1VQŀt.Gj7%!7U(4#%w]/!dƔ켵EȀkM{(;O&CWRMÙtHF.9p^`wN d &-r$A|W_B~ ޽IAPx-9g{0$!r; E٠om ^H7"CvHq Gw@oGÖa:a I?4a,=5S l<JV8\ p-I]p, `#{U+0*\d4p]Phy]dp8 pεuOH&B:bqo!)1Q6Rhш;EgϮ]a xh^cď<<Ǥ$Ǥg&zfu+ktyx7z`a V<} &\&[Ε-P?RaM Φm&eoD_N_cRck$eK?z0)}#'Pi%wL[brMVu㭭7aG4ڳjwb $Q|YݡuʞTs012@_笢)/^18O|L$\(A>)?H rT$7i*I]':'%h%7i*KnRGrxm, N|4.O:K:6t禂m`D;VDGݔ/=uIwQE2je,ゎ[Cg!^]YpA߭#a>[=[R ; ;H$ԗ7y6ʵeC<,e59^Fdg,'YS??+L+YSɵ^r:%7InTruK$7JnTrm#ܼ q -9Ί׬_BcT߀PZԖ<Мwcv_6Hu¬@e\JS)k'9Dz.Qגx:?(OOCK[1:"Oފק%sB~ٖa|Vn@,94q&{gqzu϶Ub2>>v;wu :H2O 7@1# d>J3ϥYҌsX\uyz/g.hl@Y#=U>%~fmX@'"XDh⥋#DӒ>T:=]w1OC|?g@ݝ{'}l 0ᮧ@_!.T{mӨ?3 jݴH xF ܳIwXߠTA^.xvAdBn.6!ٺrVvGXb?SOV3~,QnyH>ޔؾ~.P y< 8>1OB@vŚe<SoyV3qab>zXZ:14kͼ`={ƿ?b&.;b}Eb_h9sayeA:3p.3 (im6hUy[% &JI֧6@6K]^mኂpEA~ ?\Q ݈ʂߕk 0mMS<`zUB잩!U|0%)*Ĕ`T+Ff6{ CuRD~ WCSF9/S3RjB\/Ld/\6)"Sdw%c s 9ߜo?aۨg{pPK  Q/5ukseirsplus/models.pykwƕ(ݿQCRT$kzTk%=9git &6x~]/(<(grB'-ڵd-˥I{]ly$7[GQ%>=W9>K~z3~_l W ?_F5Њv1[Lg|7±bCMyl*կV N?Ԝo=R"O,H^ wa(4wQoү}"Ǭ6D59t5!jjSoWg#HG ~+Q30T, C7a2+}!RPL4GyH!fm9g]L*?rU4Xa`u$HTifoȻ  ]|Y3Y>ҀR_ LuFh2B}eCn<@*B-¹ @5ZC"A^ Y(e!a}ݐ8!qC'!w18'82GGQD_7Mc,sE؆6%/C@Zf_&#pS !T-.hL0/i?]ڡ/i'=r^ԗ>X~KE8i*rqh»}PtnbTn_P[ _`[M> fA_P[YhVR(b(h~EW3N2+ 6Z;.l]q}v0#nrHy K:;$lB8]n$\+u0EnhH{iܿxdCrQt;H`5b QיLu|"luksYy-#y9}sS:W: s[0{FОe+-Ѕa9yȜQ hUt ' 0X^f1 M{{ S0]; L%1M%Zqy=gy[ì f@y$ȃIv$cڔm4h! j1ԇ>+dGv( Ŀ mT݆.w !<Ʉ΅wMg_>/ PipAcCϐOO|8" Ӆ 3s")Fwe`S,=錔/TȌ E J=ZXoVRZG_HȜM\˗VUtŢR\!( a~Hcfk k 7dbc6Oh]dC.;GOFm?`S!ϏP_ ?d^I۵!!.o0^ʨ)3 r#^FȁΗ!yb7a4h9<g\&d gI&3wb=3n8[ ³>b" C2Xx}A%#}!, ,fax(K mjdۆ{AtxqO:ʡxC#PU3C5($O(KGYMf=`wn%0GbP$p9pXQp(^'q/6X05Q`M~RCtGm 0зg3N`auHPޅ:ڋ>g(^WˢE* E1``+xh00wjo72|@J|p{*?Bcwd7t$ُ[Eڛ*M`[&ea/( 0!Bn%7'7ʦ֠ r"wT-| bXoZYof7^*jΌ5q΍+]]Y0ϐ Ɔ 'ZX8l$vN$DxC0w m_q$?kږ6 t=$\|bC C_)~`Ѹp.c/PoOtJ{»Նx#Vqf.A-5jn=!׭&u]Zksrr:w ʬN~L y%btYl: )_F'ƷUH3x.ȡ6?7#ߺYOhy>Xr\Xrj,Zp=@뇍:pвK?!rBqw!vގbgAn&5 ;$45B:C*6> qƙ59&㚈3վa 6BՀVܚ47B;C[ΐ^. 5Q*qSP9)6zڭ"R"ח4Q qyӊӁz5mc%K1B{n;?ߤ^wfzToIh Vp1 0#(#j j=xyiE頙zvy_PhgXG`_F)ElCfe˾;8'\[tygfEIFBiUSj AܧAɤGi)B=A 2T|o0UMU`]J sPlŷ\Q/C|QDN&RУ LTܴuVhnjܴ&ެiMuz6_R|VI&*[T/_*k&̊Z}6S>4n{t.. KJmM۴́5<3hXff*5uJ_hꭿc| u=@ތ VvuwW:By똇s(P-_8d0KҘb6ɗV'grw q#P'4; y)ϰ?plz- MA(U/ߪ=0o'M9* 6W'{"a |o7q!Vb~\aLOQ_g>> >a^+ 挴(Sjj\zSBv|VBMLEP VRࡄܗ)q 3g``ÎbzIp]sLHZ %I E6)I*&^#1X5@_=CFOYȅpu! z|$Ka>\.Ph8,Ɋ*O`RR~VWhL}pEjk޽~?i˂6Fd=)bY6U\EzFh{u$ QSEaI(eيSp."C)wͨYƩx!{cr6# ,'/q1 IzY^Y c?-l< 5V`ֽId7]/,Nm;| ^;˘\QS!D_C[Iä).ƴDcՉ$tN@?c crCx_h„H}H_H͓U0[Yo 0G3Em{c V0}Hoο+fp>A.݂ BCKhk~p;/|qj ~lЄpN<iB<`}S˰'x"sQxZDc].II]g}IeˁHqb2F]f&rKwe%/ kHˮcY XxѢ t79cQ )HΫ>S,#5HΩ%d _@v i?X$_7wݕ[0a2S͊w7U\'!r?2*4̧5SʨoSGr[`wx,=@}@'x\첅vSV ʐّL)p]Eo8`4s< JhPYOc$ʠ`J~ ] ;qώ ~~\WS·?;dA=sQI GV W07+`C&$a?-ӆ:c2oiAUc$LuD4Wqo3$%y}qk@}lɪ w+{l{0C~083o*Be2/ /VY$P^)V |6!..ÿlJ V<+&DW'A"T?,>$!jl3X$>_/blΝpt#؛Ku{N%yYBtY``o@ȏ#Mj6Q'nNMkt9ҿ{[$}5w1s $5㴛;?u~fНb\Oz|A Ϧ#ħ{~ߑՐH/⤋c5S: 8( ^6XC` |1yxn`{'VPtbZL9U2ُsV'.U;" [ ,>CDC=>\z܎E!e{XE)޶]ala=ԆLhtiȰAM 4l|!?+anzDS8xK|5qDIx`aCbhC!h-`ԉb*Z3@et˧qԀ/_FOެm']# kf}_L}%jocP-{ uf9(n &)mqa3n J0]`6GLM\G I4r0L@ ;"j#$uDabY2]/_p{fCZOѸQ^CVи=P1N6UnXU& 毎{ivgrv4"Cyl2* T'@ JV6Il퐲/D ȇAy<.nƷҩŘnud`ٚ"f?gOp<ÔAB=Hmv(ĎT% l;a;յ@7fw D7Lr9o޼(._" D1r& }SfhOF;hEy'0Ľ`q= b>Vp CC!u0 %u ,HPXLa2a+S:\_ Tz? O` 1MwYbuK9Ղ׍r+;\0ko")U6"0= x[8 /f윙6w Bտ?];-jf_GN!\sBgc O~0~z!&1/1oXƍ>X|>YE!=Tq:䤦hg{lE3zFH6ɞGZȘN[{_h[D"p)E[zIJ?bҰA2l8ZelI-r;y;i[&"h69 YHn-Oj`dbXZng qpQKoe*P?j%W z#tkrWّMgH]8䏼"aF@{R7 <L7ifNMppXdtX/Ca X6Hɋ CW#B,zէ9u1r 1r#XYdލPz9ffU=p!vHi&!͞:dI,gCcsHivLN:?&R5dd{U$ "i;u!D"BހGXJj Z؎`̆;P\h@8*p6PjZ^cѲB9C}%AI(9ѕpng!ROGF(!Ze8Qh04i1Xy4PQ9~4Sҩ JB+{ΑGq&*\B R 3qx.kuD zIUhI D&!rI8΄7\0--{XhGW(%dl]m?^ [|{ˡw =5]ЃIo%y>J΄d,+ :x-..V״[\"Ye*u-.ݳi…3wmVK}p>-މqpd֐)sB2eތz"fCʲBH `e`0m,! d`Wi7+WCnx^aZ.B\X%0ۄO  }DJAbWbc{]uN!u%f91ՕΉ1crӝ\:sGWcCWѥh՚'C0-M{|~mX Jʛ',+!$ nK]XXCY6ghwcA0q4q<9ӏA 饺xy 78b[WG?!O 7R'NYFmI\c':L'<@]vKOLtryZF ЦQȣ-O>q'r<8nטi/H 3&Pt*/h9,x!\tYMNe9%@n.ZR\7XK_Km71L{Z"B8ס[w3POmYyv# E+a&568 m蝼xaFI:NP'ԗ Np{~lȡ(2%\T;LTxqb"rP~lM?t,xz F9|'DB28Ձ%+'mޚfD!|E,)ցŧ| $XK (ٟ`{c5oXB`×nμ@,ֆnz˂&J;&xf2$CN]+1 z3}D-ajUBgdA1R ` &r9s6Ϋ8j{7TpXuZ_ V.B~酀 !ߙRY2Xʬq;7a%V4t5)\7. }g -nep$tqwKQAy3}Pf\&0IR#* vFNg#&Ü|w ?TU2,*z3jm;2k3gWwᘫ/Ke݃BvAw{V*IӴFc4k!4n;&MW74SM2TTշFyʫ+תcљ{Qr5 qQB%lj4lk 4cv}: 彗# xi6bTLfphA8#䷤[x/_\X5Veܡ(딮+ [ &0}6=ڶ}yo0>%jkazdᤗ>~?2^z:xi.%W$sOYN`G 1UȞ r{ͧ}ĹBE.ɞD0NEd"8S px"S(_| # |EɀDCL)k4Eh^GTO/i>xyk'4^'t=QHY-Q߰#$s!l)ٓ'Ý`%N&1]ԂQ"FbEXzGhtCL荐6I@Ior8yGyemCV@eh!!h5jXQgk *˻m] -PtzJ i InU軺2ygɻ ˟ bz}VV͔_6˝AF¹)㒆R[6msf .iu4Ʊڔe`B୆vSǡm) \ObЂT`i}@HCه M])SY5% ]5 I%֑\kM%.*tM%2jёXP=j:"ֳt[o.l #b=[X 2Dm!VM#FX6:Xn5(a'x~,ѣFJo|硣YMqwMCh̔NkQE7@VI\v̕jQę-kY18 @C2Lq΃9CG}qB s/^C/4u1>ũ`Kz Sl;qG~ɾ#~X^=LCkL?sT抃lж ldn b 1c p ~vKΥpoўB{z&f)h&Tbv?ts^2H~fwdETOR3r;>c=<^Uu@.x7}lP 0@!%CV \'"Mb/ rMo#DX?UZ oPP >CECbz)֗Kߌ痷 h0YMz=FH3vBK&H~`cl!3{s08g7̲ůH^T8~9 ᬢΡ9I4}%dO0x3٤$|JҒ?]rš9z`,x:qᐆ˻ VuwPW:$BĎy8Îs((P-_8d0KҘb6ɗVrWb"P'9})ϰ?pd aae\g#i`~9 a^aثzwa{aM\խW{S,?{/%7cPRD0/DsFZ)_z\֙@ozWZ^(|(nc|!&"O+\_Ve`)PBKy\|l3gfaG?1pBPL|^5|}$>t6_xw?-\*6ؔǦR62oc?$dn''>ҷ)'KrK-d 2Gya\G/"A.X5@q y=yddʴ NB~R9 o!.2M-G''[g*na O:` Ka'O4 p=1!Q. i` <+jTu[#vb06h9X{m@yruއ`gqI|.c)"bsGK#= 3 2-B-zvu@Mո"e!쐭Bpm?{>*# /`#Ufļ]*U?yQcw 2Bt,ZxSآY]Bx)>r Y[D?_cNb.}@}sm]u" cFS?T0ݺ;m]?|'! rsD3Xs ZcGV%p]PdLN9~C6T-uYp^zpiX WVKWq5c@JXeųDFOE54-.di[f]h%&5Sh;z" :BTZ2F.ԍ ~d]:R L:yjHy|7HvY0qP.1Iv"C.Ș( r~Gbo53tn6fZ(;lJڬD(t_3/Cc]KiHL2""T_.@1CmXʢ/p.[Y_nuKeaB%Txx:&Wz $.civ1,PzkH?C26ٲZS5`T&9fTpDF&*o| sc[/K$Ig;R1҃" Dbev2,ȿ '%-BHK$qC+W"/˔}hxɾ:6B@`AiľB}5?Cy_\~cw< aٗ9r%XO8>* E9 <J`na붥(\Yێ&2d+8&ߗ"f0\O9i47e=B.!={_J۝Vd jsCɱ{֍,]-=h1q={cT{Թp[˜,uw=Fo7~Ḫz {oПu}o[8i"}H_.WTxHNU {MA0SaxXzvrd;x\<9ԷS:qywPG:Ka WdzceM٣){ǘ ?然rJp  )9?1~>8(ϜfkFfkFf kƱf kƱfkư>Ɵ"ÿ?syT@"?\ [eM٣)y O.9c/0̛yԓ8J]9ҭ/2eSl[N!-*CӇ;!xȼ~{Yz/AMPxɂ, ,1%8 Q4ywp&^<+eoojɃ4x/VVw)COBIA K,hwjI^dG!զͪv524YofծUc)MUk7fzcu}Z+5+L~ =N&i"# 1V8)0Bc x-~'7 6vMbis{oNWӄdO#J.L39GrzI\k ]YRըœXX <9k,i ~j؆ObXH! .XtyѢ zjtƢFfFfF"i$ $1%7ӹl[vrnsYfKUs*\Uչs]ឫ"ձ\c70wW݂wV[ 2ېUlXׂ6l\Z#Uc W.y0apBrXF x_bp86q8UQ,^o[1x [ ;X7rC/]b 6$~t6y܅y%G,LK@ݼ]Fo>2g=⏌&!3j͔2˯DSWٶ|Lv< O";:{Q]4RTq.${ep&[܇u.nqppvsoĎBT%C44ڧwNC@FYPPRvѓg֣O l=x؋pDsǕ௎ 6jq?NcdǠEۣ'dF`x'1W@"~LHݰ9-_ eI=vO\[@ Cz]xǠeް[>-Wpa@GH;P3(opr:ˁ锢NG.&Aj︗B TM "oz{@ރuZɄ@ ym2—,] nu |a]`!\-x`Wbx7Kfq^A@5/ "T?,>I?C^i*6%r}..3F8)7usK-1Ȥo;KR|;"X$ ?Ҷ͆> ܣt(`3{zROuw@{="C$Xp/}3'K :AR1N## _B%/7zzk#9tg4'7Dh0N>n`:(!gkħ{CÎrʐK']t*׬Zg`os@-8˃x` 6UfaɏN$(mFuBo+n;LAu7gc'+*&蹘 feBH;K(NaYrm x7LSX0a1\i[49 V'LsXnL+W0]V1ݝ'p=A%.ZB"&]"k'qun*:2Snaha 1Pnm _2OJau3ƴruO#b`u1Ʈr5wY:4Qwf=rgYZНV' @ثnwՂݙbv!ݸ3{_{wfw#f&M:d6٤Y[8! 8!U:7'۔Cڨ6UHVd)qsf#d} ?4 2/qjV5AfWծ`42 hUk1Hwg7k-NS}'pNug UɋXnxE{́ȌnxE{ m  d9Hpܝ:[d9U"38vhv -;J]e6qPMc5h~"ף2+UЃDf4q)ɉiO;e|Zqj֝ǰ:d«üۚuG: iw@!U]2Ů|mff`3=Ŵsb+'a3-dr`91ݝ3wtnNw׼h wtlNwDpg[f>ت:tmY=צsaٹ91ޙ{7% Ή]\V)Y]wvrNwسnNIq¼sbKWuuJ ?wV#?#1 5Mp{RJ;aly``\T F‚'(څA\,VXJp@ ,p'**P!CU‡$. {W Ji_3B k!@&51 wm8 -1[rD(&VI,Odw3:`5>.U;" [ ,>CDC5Ǜ(C۱(ϻ?dk%=Əٰו-uj>So\vI6JZ̈́:PiB2 _dԟ(anHm ٧p_4\%q7@5nȳ$%E3 v=$6$ktb(!4uNp}Ի|A ɛGz{k~>_~߯U&Ծ 7KP1= Q:@ 9(2vh680h%.0#F &Y#$t9}ReP&aFK:0X,J._/mJ־h (T.BERoBe8RX*(sLjIPF0 ڄ6x*85C3u3wcCPqBܦFlBV1$3Lɋq͜e쉕 GR9V[6 : ]ínepkIQ6GM6x]8S7wѝ0PN4y<ʅq\ycanD[6iJRC="ߤ ߤ7h*@BR^FgGP鋶:DIƢQ& {_m/q+JF֢[wq]q>j7D#sGWœC2^E 1T86}ɩsJ2s/ i߹|Ӿ"`w1H+X>M!8ZR@O | ie+y|hA-SuRz!Bn[z_6h6f2GJ D("u雈]@)?S+/꣦Oe'Kt-:Dީ/w(]?{m#_=j J1+y Q  r'礳xᷨ)* 6RKJp KaK$4 \?[)Ξ_"YZGǡofY}=y2/Ŷa9,>䒬Bs$m!5+QAafzcpuRVQw!uݪ%7 $Xp\RwO;E->«+/|'qQ]CXQ"T瀳h%q]مGu={XgI$VЪc?Z۰{P'A51DFB8R8{E9ͽIGxTЉI=ME|S+i5d*0VPT7ha\1VfZ%Q yF#b9#-yP7srF_%AR77:j3]j9%TٝD@H3whtSQga|A1SF qǘ_֏)lPSQ56>:N띕., 'clDY=5D&57ތz~l끑j0G[U.M_W=pz>(-@0 HW( *a\ $A=OH}Fwo:2%HFK~!>t2GtMx?'p* уsj䐳8H#ؖYŃIiW, Ӄˏ-nt(# n@^УBٳf8u8uHFW3\]p: m@_I uFW u5cV:1a~ձ؅v.8yr{*@e8Q] 3;G59J0"CqVhJrP)9{}i>=!D~) gZbef$&VazPN1$N&Ct V c2|jbj`]LСg:J|1B+4:ٍ0q35R?`:rGCSYCv2Lzc "_MtmUu :x-iif,߶ ~5$y6gGJ#.Sue*u-.ˮM˰uwwHL}]6^Ѱ}-rdy-BvՈlR^I." }Si'?Qc \}&;(dA>;5,TøAѻZVUniSZ/O+ah_^ ы+<#.BuS~yZMib(`Ƅe1]y64]t.U0S wWKl^k(=(bx .~mX/(7O 2 @ a +! BT"7o$<;3Vmjt}8BGʁ4qd]<9?^Z M/yGHOh_qo| hBX^_ {o^S8g|AV0nK" m?Ia:]aDzA)9ՕIn$($6Em8|ʽ1s/>!ݢ`̓ż|93E/R5OqS*GYNe6ǑoV3䔋.2 tɒRcoN,n]-O?9fK]hr]o`r_Z7a ;p"$zxk! ^q8 49b,~_0v]2PY_Rak;CL"أVX-h.kKu2ݍ`Íke&0`Yk"&(D[ȝ[&rb2Hx΃ p9؁%3gFg–8Pphrp/?V|k;@#'J;ǟ&PjdfIeWA`2Vb\w5oW|mH#{:F,wQ</D8qjIǫܶ/㬏74A|Z׵q[yUmr:&8b}z~nnIծnInQbm[дu إg"InlWPOH{F/Sl_4>`@5-^iKbg׮Z)f< nɷHL OyE IȈ= '+<q#&r| )~ ;3˞Qޑ 6uMi8>BJvh Ի=UfۍIӴ Mt됭nK8 ]x xt됮!a5놇ŽIӼct=hlKN҄*ꐪF?:,o:,›i^õcTd ܋\9.%jkazdᤗH?₞&Ge5K6 iv_4 B( B]#kGtIE*`^؇_k;r@ƒDfL<{Wa?%KoB)Ax'@g'r rb,M(22)dWQμ V'4 [Zx^y6WmZ H8߄;J+hE-MBUHg^}ӭ&~(q<)a\K\xCࣼ!+,j1w5,D356ZwPۮcw)@*55й^?)xL&AVf'Ԛbdw!j<4ҽvxRI:UI`^` CiQq?GcGjC&rUWdA%6x SHZ+Ͷ_6޶`ac:Go,:$|f$g0>8vl XI~R? ul(-6\kPr?+*)IL\@ MBK=3q|454|MKU&뺐6H󺐮lBWI}#6X ̷ԝ,fȅnna_.eUˑk6\CгbFqأ?OGH@xVr:Doy!ZaB(^%; =c_+'lv6 P %u?g4_X,J%0 6Q*!iSB|2NuS4~˃D8 nwa%r*x>Fr]#qDjMfbeh{!9\{A[U#$2 WF%]ƚ\vD{Vl\ _m&+\?z/(i%ZTeTeF+zUҹ%m)5i64i}NͲ:մ;cpo3i=[VW=0d$6ެZZ,ae[j9:/W, Tu'\=DaX u<fF#ua$&Q+q&f#%3 i{֍ɓY۳6D5dm58:ME$XuAh?\^xy ,:^5x ̺0Yɨ`6i"x.}Ll^ͼF`v݌gF%6uqTyGPہeh0N fH@Z-qX Fnr~1/yuW9%1o,[,N>b|ļk860_Ak+- L%07Zzjio^ּٚhߚyaSk^tך[1EּfZ[Am)e`ҿ(5bԛWK{ [khI/w^> źr7/.5]YBօmwXn$lѷZ&1/xKHoV تs#K:8Uo-2b׈jCn5O]\e [-Nmaa :ֳ-ZDnU`QR^466lm9qENk-Lk%F :^ْiӶY ڪmv'qW=Yڦ8Uml+f|{6/ &h ho-G (DImcJrr_3EQ+*I :58PhelQPmGYgؚRC tbN!gEGj 'O#: ,'7 GF@j/՝wQasʲM}. 2AQ32jdP(Fh1,f}GDFpThMY D h _ *œ,z39it `qD8,C3&r8X|zŅQ>hҦ Pq@YxAȔD=';Їvh*'J1:!4|6.&gDVTQ }@РD"VQͥX"y JjzҼ1Vd爵a_u vRsT4մڡi X5tAޜ5l )fcV,ΓnxKir]de}nl7[yPBFsQuT]?_!/ov[عmP!ڄ%2BܭV"zstGr!݋sntyX $vA< Qh&SۓKps%[6]u{95Mܲ|oEB6{RWeZaI&s˫ ]N~3. }4^b˄)9fP6YSV~;KO^r o;g 3ujMO~TC^jnf7+~N?(>?Ⱥ/MIkNO]$m|SOٮǚ ,lvnt>|չ۠=*:V,.k!M7GD_.-|=)ڊ&+Dqk]YA?ZA?.xU$}>BZ!n=jy;\;7aưsc؊r^_B=/RmAkXT8,jr63u(O9CQ^CE.{[r-EnHR)EnJѫ26 p /ӋIAU/ҡP;3ڛg{"Gz?JO$nuF&\-M+j}Z\^38H`~F^)J {0i- 9*H tTp2C&*;40{ocpM=`f28d!GBwUɫo'PKB QL-!$seirsplus/networks.py=r۸ ])QLrl'>SIpu0?<]cuf[>0|Q( k”s>j(薇ѷ;: M<') 57Vu? $_՗ oY5rmSׂ1[@ԫ-gM}R0^ӌ-7Lj hsϝFF`E4_qo'>IȟX]0@qJ977A`6ȱp;8aΧ>-V*XWuWVX5ldyn.cBlW !_4MaMfC%)pjH&%;}~䩔Js/JNCf=ңEʦBF n qw%Û( *>mjB~@HtmɮgP Ӆ6Irl_|̃4;Cv=aD ZJ8M9iДҥr+;+-^;6 ՞ *Q9BحtJhK'K)Zѭ:qaMUE2HA*,YFgk1*Ւ/2՚<-ՄgsovLvYM:\I<*ur'YhnPmL$r:nĈN]v<rV`4ba%RSf*l+~)Z-F|\XÊwqak +{`3Y?Iz?KbPuv.̲,ugdJ+QC͚6dp и4 ~VQ%Xy3>IQ? 5խ+[yRٖ۫~14kpZ`"wGe1e ,upo=J>P7Ds!dgf)J-l^Ӓaci7%٫ #r 'K `Ʈ/$ȩ~=_{(:O\xȌcFCWWһf 툢(j)$u˷mThH#XV3vx˾y<$OP=uiUylOz]9+&&cK9?\v1.2]`%,dd$+lߞyw_مp> BLFCx+QR;粭!5gAČ}RT4}?YSl>Z9^T [qI;MsNdw_q(a2cb ezC)G-#P x 0L4 ky\@| |fg 5-?O Ú邺KP-뽔c'y8+E3Թ,4@4rE2P@(ն5 hec=,%l[bmmQO{<1%QG4ӗ堻{PR$JD(`ju^'f稻{D_^twJ4T| ΛTz?ukIsv~aO8 B OlC(2#-_֜'_#ʶ1xPmlA0#HjIi| yLʱ|%͖E7Gy+&j ω/رFmAv0M9RvISX-f.oJ!_cg9d.|N}Ghc.[sZHA  XY2h;Y4? ] W' EWdE YCz3#,__,wS (g B XւU9+4^ `?cTRRbawe X*薱GI8WX葱kد5PTXh,ihnǨJ@8ALm< K/)(A? &]5oFa5( ,s0 {DQr54jUsD.$^iEi] 3!,ORD^p!N<G<I}VD*0%p(oG+Ċ<-;Iqn柬k>_4:tm=l Eq__k0HXq N>+ ļ2s㆒Kv~rm_P #k16 52ui^8&= ~,qFfz)bHvh5_if<6O/~:==A|EHe@Rc8Z\_^eV9jk)oe)Hb|alwN[6u B#*CZW[OgAZHy+JY 6f2f"Re^Zf[bm.`1Wm'6(hqAip$RĪ.@'y x:l6'j(-1, ,%RkC>k2kvDsY? z4>N`|y0$Fz}z썞NE8`E)F4af;T3_U^ﲅ[/,UϐOõD#o kP`hӇg|=JMRXŇ 5N]n(A9%Ѓeq* ȓEmOzolOOrYi*M!蔈+uLjjJ( -#A~S.B<4˔O27LMe aˤsPh;O9/o:~oyqg, ({-bl€Xc֊B#`nMry岨*X1+16,Ig7{7*XZ^. i|_?>l\ޫ=𸋮:fOs1J!!/QXwWFzǢ2DKW+D-)&u .=R[D$ge*>Y|^CD,|^㻹q'Zu68ә%lBmX9f\'d L%1Ɩ8AiHAr^2p͢ 3.mo7$K!8T;@ f4P(i[zi>?i?ǵ,t9 }xy2+%$±z60U>`4zOu?ԥ v.0F픏Wi(ZC6hIeY$wz%N37oa A`<'ND-*mJӍy4'T&ё{`G"7=L`qS&vG|̣\l|B/ሏگisl2a|&y>ˎnooaһ{Hn u=wnuheXB/5Ay,I: GWoCiۼ#dPkgU{n}y/#Уdu,?a6:N}GZ`u~u4H7]0@Hs[b9r_>:!xXrr%ӣ4+'f!M˗Px8/Z< DE vCI2gߊ$<a`n@aAjELLf(v1Hpj1ä5Um !0uVą0L34&)|"]MR&J^ubi)4\7IQp 7-Yl@D:" rguݭhEXpqPE~-2̃Uer."VGmgʆo#\uX~hK\2C}+o谍g+a@ׂgA131H̰$瘸FTEe__XkئVMet$)2Z>8ʬn(•a XIT15.ΐjI#tx:be9Clj2ZOWAq3=kP_Z |Ç?ilÛ 䌽>}T K/wj0h,8Y d:a~iA u=qǙ}ʍ{8E*\$=胪J33GsFFf}u#ֺ8s:v։FE:9bi8H`7{˽Zq:3.!9 >y"4)z)4S {=`mK|y#\н.PӾFz蔔?۠7[4Өz@ֵd fL 5Ki=\{8M!T"[skN>rFGg-h[i_U iً/FU`"7*UjmS*rU;NsYMrOc4  YQ]s Rk)g'Q5A)k^?eSQ.J$ {4RA#X2u4Blw6H( 4sJHxދMҮ2N ZxgkG?Ô;d̂7' L-mTU"̟Z9XCVNvBT+~R\ށT(cd+c0 +ܐ%o(A(򏩒Q aL`UK+IUP>!^dʁ ٠p6dj<&:iwP/o@=ox}p ,tld]:o8_A$jD&ZF)I)rPkv)he2KVi%(+C Z+X:vC邬(m8Pŵ0/X>&`}wF.c-h^#sRO)anQUg0 "ˠԪUхg¼|pRjIkxu k:xjue`X#.Mkv[2sipBGyDs7䗣4r1~7" u]ط4-C>>|Ld^LG ?;Coʛ0;F.`h^9AqKZҩuXB\d&cQbW/F|ul^* P̎P5rmRQ{Ҁ2,F<sk~cβt%`}QG_]%AL|J{gbێ ](SdU`wu!ISTDZ Ix10[ l2,f`(/[hJPLĆ%6&%Pl)7nuU&HC\gNc;^%Lfiy[0Vh4_xt"P,,q't Taua=Yu՘h Hv'Zݱ[ݝ#hOuO6s7kDQ_.nӬ+-ٙDtȫ% ުW+C*+ -+<lKxI׬m_:%hl},JPsm3Р=ЁZfbD3vcvye&{qnx[<r6YKdz|r}yӳ mhdOB-ΒcשZ#1AYҨt%0˨e1q_ue_/25/C}ucƿ A) .b <2>' MmE|-H*bxoj)NEHs*~[.\ Z;jXvΘTAueœcG}]0ZnpR ^GCGVKr@itU]AJ[t:gŚ;DABw,u}a=}r;`69".oAұ~d6Hccf%[CFʳ' Qؓ|o$ܡ-SqB1Stsђ,Â.A~d,hJ0fmJZ3Y* B#.-Ńՠ_kSu:B=갭zNf;qyuwWu 4*a?\DH2Or^KqF*á9Mf3qMȔ)a0:S2l,ixiK,}#;+KWw9$) y>}:rHٿ˲N|:cov9u|vft.1tWWc`קSZUUAV{^(l0]fD$ GSi85Myig:$l g&I\gW"8xELGPWF^M A=Y_(ns0 #`:ݘ*sf/x RnA˨ GAA~ț 8HB M3G k (K ib3)*H_ oJ`1-Y a=HSzpfE(w/]*6{DCܪYѐI8 C e<*O8Z_i}{{̰2rs*壞Ub;]SXX)s籙7PK" Q|i#K&_seirsplus/sim_loops.pyks۸{~L2VI]bOuS뤞X -A'sAHB/ž/,-hCfe ͈$# QHO&{$ }ׂ.I,gq6т=2GvaF4̀,ͼ$lK:b<3MgY-9&wΌfsoA9?"tQ`>- !]/aEF2ngxzG6ޗ$ΖQB ,栌f _⅋hS$Jg7 D`8̼9E1q u~32JtY%Qo;!vt(33&Z (nIP(ϒކ(b^D v?FV8gitޝ-^4\e-:)wȪa{'Αd#9 >S⑄c/Go pL-|C+=2< gWGu#%~|ste=Uo8 ~ \Pokt5e+.4 4sc  ln|L~>* &4B@P(GC@3!@ lp#!F7yO%ko:Wnt.ltR) W(#`_[ TFC[7~ S5 @u` `M`z0]J_GRFތ+~8Y#yGSʛm"}!DɛW F& o5!F(ytn k|Ɛܗ1ûo-#5(gdxnhE50oCT:qp!:!qȂc!ݡ?-CjP1[S_[f t4?]kZ駖bO&$79' -q4.‚1yi]2}o(9{/`y1R.0ZwC@qŠ$QSn1GV}PbT'Ѷֈ+l^FQ!9=^J|$^Lpr)CiD8)66Si3>1n8t0[@8zž%ydc$9۵SXR̙U@ =tкP/+b(.E h)܁vl7}B&1Js Ui!ƘI\~0 ی[nkNWBgBz[>q̂Z~GdI^q {<=?ryqSwxO%q. 1yJ{u/tgQ*dm #dE[QC\Euj^s[LRM[FI@LK(0;T_Mx.x^Vfߍ V \,( ,Jݪu94N=|rUݕ{%RԺS韴g<χj,hB@ b|I/!ds ɄU*O5d Ÿ+V1U:^kQ Z!%8g:. O_`,vaB=e{W'(Kn>D-fA{%Wrr'~[?[GyF<p®hR))-QLY/sXr q/OdE%5M?+-Cmq&*N̗r 5 +EFXmv j)9!1͟^p4zߊ+X ?5/~W:"iŽT:kzj(ĶOfuF .o5*cIקdi9;L |d;;%ͭ{Y}sryҜZT;Hbo6ZFhRq($9OIn^SMɂ۰ ^wm8.*LKL)EBW^hbKF{Xe.b&" otm l]P̦IhǮ1OJx w#Po.팴qf_Û|~/bn[ / f@M_Nj/ 4>S4hXWװL+K3ui8 A=bqpЃ+F.|++XP)ӵz-ԡ81I[:\7w4qfu%<7<̛ & \%X(v'Oߛ {| ~S޲}C>5SpbuV.-M^>%g,-Kf;Ju PAXDz5CxܨCCyv%M~ٰ382NEy*^Dl! sX;F/i9WҮ.s`VXYl4!bDm?iۈ>Q rA$]#tI`aWH%.Ie*b]bykeSNYܳJ7MVxN9Hd= Έ0>. c5AcbAZU -NԮ-^57< bK.@"NUɌpHW7'FxYFn"@U"gk0՚F{,I)O)NpUTo s^^FUC`L2}9B,)2jSE$0ͥGhj0ِڷ(co[ -VgcٮwҞY%7d%kqpKf_ UF )-%5YYi㯆`uI"#nLx qP7J]Eu#k Ty㸐 ޮolsutKaIIQ| ̃V;z冼Bab)q Cͷ Ug)a +1vppk,P=ڕw~Ve<^,x?p Y=`OcllqRt<%r ?pz蝺Eܖvи 徬\ "Ї]Tz_m\4 ٲsm:w[g$SNl)ߗdEmR| L+I١w&JҞD5s!lǴ]ʗQh;Wڃ}j#L!;[HVz0%59`omfl.}]M  dTkPdC쿳i8K@9+x#Ydz@{𸬗a[m)ۆA/[,/0_"SR Ź Jfw7$rbK]2BJ^Bu%,vJ(F[ _JWJ73Ig-V)&Y?3p,k~ȘV|3Z(.uu::c)Wmcҩ\-"mgNfeI٠3FelJ!u(-mAb<ܮ#PM{]V_S-9Yl*;;HTwLU KdiDbAT bT H9=⯐QA*{ QL(|c+=4$oqO[rrPKB Q - seirsplus/utilities.pyVMoF=Gb@@ )3d -""E^UXCia~awe[]%-$~̼y;d28nםC J`'F&jP VՓP ;]!{;ً~e;ZBD[vM"6;v6x䲭ȮthPg]K6쳨5d\wj0RJcfLu}( +heh b'$WʺGLjƱjclǜ+V?FjZ@JބuګϋcQcM#x2HuW) p-c- u*a0zKW5su!rA|pV2i|}w:N|ÒA}w[PoȰz/KJ6u,:0jo@D|hkċKfۊφQ}-Θs Qko6,w4& ~/eK*QeBZp9`9Te#'T5Z:&5-+ˠno. {hĝBvV7-̻,(r(z 8;zT8޹Duo˔fJqmNc^f2w[0\hMc"|sh)u6X3L Fq0AC*vpvW?L7;r`ӯ ~t$Vѹ>?5^LgD %=p>Wt~)d>_mo׊8#&սZ.cQ q8|GHӽR?PK" Qx6u,!seirsplus-1.0.3.dist-info/LICENSE]R_o08婕P7`dH<a(~w$]I. a,vd}ޮ᭛aO東L'u#X ǩi#&cut4x<!vjhPdƻ.\p 5AdP`<<#VHkт LƇ6anG{'{W 3$=& \k;%y> sƈr|sx3 ,^~[f+T5%͂ilQe@0 EkZJ3Va>fr;ZY?zo8P[g"yEOPMʵYBՋLD+^{jWNhW{P~<@,(KPɬHtֈe&+$J2->ZGl#87JJƻk(vP@iso4Lb >4%)w^?Uy[VZ3NM C)Y XP Y4;x *_\ISXg)u*Kײl"FDZH \G+_BHO$0E~PK" QL"seirsplus-1.0.3.dist-info/METADATAeN0E& $T8h˂~ƥ \}+2r]U}Ozv'eSG$kXgt.14)ȡjg2{۬S^ ޷oZgmkɍ_NJ{NVJ}PK" Q8~\\seirsplus-1.0.3.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫PK" QV: 'seirsplus-1.0.3.dist-info/top_level.txt+N,*.)-PK" Q\~B seirsplus-1.0.3.dist-info/RECORD}I΢@@@@DQ Qb*dTO߽C҉u}[E @7PxtADEoT.W͔=Le|"0O CԠ! +-t#CW$xLqs&U%-z5_z5Fy_ g{7tn;OȶII:D3'o#2||)JfBka]nmu0 4|b6lߖwWsHKzT҃M7;.t7յVPt6brGt&."@aЀg*]}80XAIYJ0#bV15)e:T?Q{5tNvb^,ASE6UWR$WGu& ,-jneDbd[,U*|ʢs+[ȍK4?5|B_aLIGoHJܓ:TDacT3lFlN$p|U>8 APKQJCNXSseirsplus/FARZ.pyPKLwP}seirsplus/__init__.pyPK Q.&1AOseirsplus/legacy_models.pyPK  Q/5ukrHseirsplus/models.pyPKB QL-!$ؽseirsplus/networks.pyPK" Q|i#K&_!seirsplus/sim_loops.pyPKB Q - seirsplus/utilities.pyPK" Qx6u,!seirsplus-1.0.3.dist-info/LICENSEPK" QL"@seirsplus-1.0.3.dist-info/METADATAPK" Q8~\\seirsplus-1.0.3.dist-info/WHEELPK" QV: '0seirsplus-1.0.3.dist-info/top_level.txtPK" Q\~B seirsplus-1.0.3.dist-info/RECORDPK eseirsplus-1.1.0/dist/seirsplus-1.0.3.tar.gz000066400000000000000000001761271375244156600203550ustar00rootroot000000000000002_dist/seirsplus-1.0.3.tar{㶱0ܿ)PoJi7N_ӕiHsNm3+2IҜ .@Pwo6fE_$x+m4of~o$ 'A/M/|ux󇗿4t:F_߷qdycy{|v)Gsz"_A7zsE?=/1ƧA? I8j234=f|6S=ퟳ`I8dȇߔ=-  Bh8EA', Y4~sfAA> (Hhxc6 0~5S~eӴ T?k$p:kj쁬nI!;,erLpd9?pzaN3BЭ8_^Go͋$Hћ#/zU;ߵީOFL}yrthã/_{5>W4͏Zqgm? 8Q7A$8'hn: 9Ӡ`٭1<dbf|Xp`  T6S& A$1%BfafOX#sE:2?-0yRg;;"MvUfnFmogcu뢃x)/5T_?f,yÇ.KÉ8+P㸸lI"li f6bY+0GğކV~5|ayu T^fց:>%Yp#6g7)vdf3h;YWEx RA⠁=Ѓ6 N+]~ ty y@8\Dh"ñku>)vKk+1; @ ' (ܤ4RF| q؇fxNAGx DY пB ` wqsG8@~N `Υ'* MiçWFOfo,UD o 0R]?lg [ADԒׁOJ u>  PiJ"u+*`xwH s @@`W_v:.^ u4?wprd]G^ Kp%IF`ꏠ1it eFc[Vk-Vsm7 [$ݦ%~q oo m6Td$)q]DE; : #&)37_bO^WƄN- D%M h Y2"X1ghLthG[t䄚N )TK)xOPgrEZ.(3F~\h{sɭc,9 iy0Y:8Dz^c8SSZ]:ro/ 1`ڇ|0wL> &WA"1 `Q@P}t! ;EjZkaje@ྂՀVt[\a{κ'zZ.'Ƞl8d5,ݪcIU&HGX54̟N ` !5pDa8-ƞU=S7׀owy=i"?8ҤŨ8. $eL 1 i2 0X|TR0NoO 4Rj8VM C߁}dhYfoOp t-\c]:2&|F'V~߼Ƈ=1@}W.hfs2}0OU/׼48;{tJ5b𽱆k=|q )pSN1T )f\%:&;8Pۓo F9)AN?+¸~ɧMݓ@2*D8B>żZ$l\q.p$aZ U1nGS6gD` D}2g% JhޛY@V%A$^sm#Jy_@89rKA&4++]}D[8jDPBާ=" N [JpJT_ R&0Xz-ֹ:vU0iF'pĄ"fai`QEg6ݸ6@ݣ#;wf+Bp)N _fGJR|D0B^́7(G×t 6:IHr`Uz҇YmċY%S@)GT/\$ʔaǡpaki 2Yix@rkZ#4 rvZ I!J'ie~h_P0nBq2yq !>>9 d-^XNp&2Nf!3u{ɉ6mDMBTaQr4CM\b K)3j!)xbVOJ*Ա$1NaIqMB ńD0#A[78݈V?~J\JA>3;~\p)ZbQ?I)J{d!f)jbx3QP]|9xQ\v/$rcΎ{c kJHsM#Ņp벥(ϤHO6ȃL2[I 3r/&% a[BQ'BC3 'hw )J*U"Ng'g^Z'¼bp [b0g0R|Dæ}x,z+!Y0JbP^H:N ƱǦtҪқkzU^ڲ9<[WMoCJ]z?vݢg]6~!U\zuv5&O11?>p7Oga}W_A6U?4ZZڳux@HQZ@1>Hn)7W(f|rUD7Q*Ȗgs5JbS ǠT׸m#sv66ȂР)*x|:jo7)o ib`2AX 2*~NRu!wT_(dQaJM&Ac/ҿKZV=N>͋(F&>k>RC*RO<f {B]ɓ8CG }}kC:?y'@ vY8'z4^i-u0Bԛw*dGa;İ-F;8e_B' GR.U97ѝjD> >ja2[d244xSV(ˠ_CѣJ 4}ߍ&Qqޞ6-=ӧ%ew!o<#Q7+"_qr(f jA%zNa'*FRu$Dpj9K` Ђ% h^ZL_p*PM۳le,VXv7GC=w.z 8Հht CJ蝘Ô4ڀaIG81AX-Αd4KO6Ct4R;)utXhlo5ϱw~d ! |c3[p/_}r'o nnkE;xaȇM,ttZGg;aZ]G{4[+QoEu՚1.C}]: 1#񕖜w x]ҌNZj/ Ws:'RMgIKeXiKiگUj<-U[Vtm`XZbQCGjYLփgN|{M 'u=3%=%I,'Wgwq$`"sۣvz jt6w?88Ԙ e))N?5s8gΌ@˴ (eZYSY;`4D Z0QMgڀZ 68nYҼZ Vc|i˘9í&|_s?/~ݽeAjQ*G.+N)VxL+ !_hF],Q a?_ V抶&~DU9ȑRCk]Q{ӟk>)Ew$T2A!=l (v9 WcDg ٓ-.b!vȯTz+|%gIj>r BCC)8Vǣ 4a"qW An&Q)/-ߘ4k`M!RAXV(YR Y  m 9׸" yV^'}kEwKˣA(;d*-Lg>x?|׳iXd Y]_r¦ 2<1S .>jiЊ1; ĻtZEEhJԬxWx^#>|*y =*B>T.|*mgl油xƙް86IYD+`$Н^)+,|DLǠDp%_(Sxts޺"@M<@'<#'L%,GOdarR$X+twn5-JaLPV@@y {Dѐ7x +Oϵ:Q6>Хa˲2e?\\a97Ύ4JEȧ8; 8a8ɔz2O1H 0`Frʝ&:8'W:oSjuUlF^%$^ෘHHDp~gYCctoOdVg h<{ gU1@:tY 9D Er$VkwBO}G-|9bkl0r wkVǺX񟌫7^?vm(R(eNթI^; !Q<>y<4Rv&N i3փG`b; q Ac1)tOc^"ʛ%;bEsVyMV Z*N V*n-/ؐG~A~W71ɜ EBG\i:@T_Goz;<5fH;d; p_w\ލvx M0 v'MbP4Ib(3Ŷ6A]h~R07^S)l_^V6QWW7B1p^AHGY9@Ry!;gHqO0̤x~?4ś'x.KlHBll I6ɥeZjZ&UM 530x8ap48\¦B>o6'b"I7BGa(*$7s8fKIj86A?sD&4"|Ut z|'$Ce3{7=Յ- m6y`ͦ|:Y]V%ng铕T#ne<31{Q'haҊ"9{S?IݘZ] 4jVXmh5urYߚb(Msgm" E!{Xمw䰑eGY> znXҀyP=5u Շ 59NҊgw 9qlrXDV]a$:S;ӧt4ܛ~ &ܹ^X Щ! 7oFP3۸6u3j~lN~yӜ6]3kî㜋n<˦"cgC*0f\‹_ <5^6a-yk~-LboP`vQyͫ=do?WRFtx5 aŝzu각ЭQv9c6t1}: 딗a)6`37F%MI{T2x8y7+IjqN xt.[ܥ@B4M= @Z]5xETf1tݐtK/G6}g>C@gLe(DDM4E_x("KDn1pX8(^_20 eep&goUzM _@1A[^&|%/DUȊΙSkN>4"R.\ C|լ7Z^jq'Zy&( }B©$Q 7˔4w* Fh,*N7S\2zNE011`* Ep γ39::+h?IJ]"c1~j?઩@t^ yYՈ.%N~d &Ѩ skXE d2=)(Dڥ(ӧ|}bꨌM3w_psXѺ"HW!2p܊8dFnp6#~'pUK'ddexǂ!5/`Ð"=wiR%dojS\q["4kb)E-~~A\3 #\1"jZ3^Zp<لC}JHX oepݕL ]-@[Tt"<:?儑zx7K4 /*^:d;*IMq·ŹQE9pUu*CY]Ww]pZ3F0P'Vq,X^皷ɆG<=\oU. rv_R)7z] *9zrv•`- 6hZBP!YJnӷv;]{&(GLR\BQ_cVknDr"!眂dpʜFy1p68*]LRfM/DZ*A7In.t fCUjP*8Rs˱WV" j/FtJ s@jS d?ӑX֥gߣM~_=I%}l?>҉ ?CP+,/+0Yed o2XqS#nXC9҅LbrqGϹe}}E=\w#\D;h-&!NR| |1n.|NXV[F%g/CP?U-r? 4Zf{N-S}G xv4M~\vz.-|^dN),`+Zǎ:8MU[ENhΫR;˦o/7/8/O(GpnNyy\U\؟8/u{5wYNN̥Ʌ:2WjQ?Z\I)}d!JA /?;O޾yxYZޥv_"_Q͛"A4PAIy84!V__x<˂)ɆPF ,2"Ύ%:# Cuw"@Z;dkdND ?ڝ/fq]k.?Hh"x:ͤq,4 /JVr`~ק=[=J'a̪;>u)dVHgf9X qIRPb!͋*C돗? \=}t1NmJ5R՜l}&m'|1}f dF3x $]$@_LHKs-w}\D:/+ L! Hw>ـYZ 47B!mFpjw2 px'~-w3 ]5>~i0@1Ѕ_mYen̗oCB"WCŎ@Di9qsg>@KPjmWJa ULR⥍1PD P7uZ$(R[Y0y@Zfq3yhyK\-2m:iu&6a匚mu1HmN%\+1E<\0g5⌸ׅp31=a|[{}w{Us >0 bq\D؀sqׁ'=}! jW,N]z' ]j@ڝH*DC܈R6oPG7&d%b:NUJedS#0 9']:4ʸnkYPw7nb#$SxA(dN18`8~Zנ~G7Aa diťd9wj~a2r(}hδ5j7iFmͦY.;n-( ,jQwYd( gI6[X@bXhtHҌN "~7L957NEXdC4qpTA>V~kB|Ş=[{"L=Yjx3>G~Ls6uFwf4!v: Ax? C4?4uhrEOaU2gߏ(<pU-x_;kW[L&F}HƁ6 bi (o;ØcէODi;+C$&im8>KA+\78qή7n8-}L:KmSܢzsOw,Tf@RmT:NH!${m!ҒyM-],궶a @;uW:<R 4~e |iHlN&*E%S0˔5yʥ ZjE7Ѱ.yAw۝4ʼn6y|9:5Gk14G YX-AW5H kU?u?je߭+58Iin{Z9 dpt)>?GgANm=^*x.†W54$vSe$YpxQTuXےzۍVCx*يOQ3Ht0?ƪ1* UmX¦=jS>7-/ Ȏ쟪B򓤉9<c$?:r3F oy?yE#ߘh))P):v|g:Nu6ܶ\guSzNA8{wSWIۅKHǿnJmwMjm[-NuaZsKRw2ϛE :kx]ҕ)]JAa) wnu wCJSVEn,WF fwSiƻ)]EP_\SW|oJm7M*)w^;_Ο/ܹrRnۍwS|ʝ[ۖSLv|.U8kXա=Ǻؓڒȵ!|zN;%7In%klQfy;2 4Z1tO>Tc?7-o -mL if寕9jEERzmH6r^J :V)!Ye_lfr3 s^n~{ǟ#!#|;n ݱSR8K59m}EFʷL|vI{>lpf]v]:X[[@ Mv#E%zMcnN_KHan϶h "vIh%Cò2\v%M%m)nivI-z-]o$ kH? n:q'ڷ «"BZ-Lxor[ujKkԋfIh7v?<<5i[Ky'7XhdGT'=H}bY^V)߀WoU v*H47}!l$0h!# +5*#GfKӫ7R~V}r?Q8,V+hY qp S( DrlU3EIxت̦`>0n t)h5O~%|&Wt[J<¯uxdkU5\L&@hp@a<>ec֪sBc+dǑ%Bn a z&mU|t}\y9q=g9U^ U_\HԖ+?S%+5%q"D F_l b_ D»)?JP%(G PO%rsP&RX(gN UH9!犖(K(눐RX¸lVa*u:] !Q #2W 0*X;Rd@Jx_Od>N ;KBnbʭEx[|m9%rJ=%>cx16= /em|g]$yCOGA{v+M0cl Kj^Cg6z CMh!'B4ÀM{c4yc`tf4[0'c4e*بMʆh`6KT@#TTBϞHji9*w <HMRBc@RTz׮g1wDT&ǿ:)ܦ0v0H'6#6FAr39sCXʪCO WЪyZM)P]Q 9tTdO^GMXfbF.]XFW|b%>lN`f ` qiua׷8 qEL5 *QRt*Fކamwf݆{qi 1To6blľ݈}F#Ç`I<4:zڑޘiy1H;Ӻyډa5N/a/ݧ5O옉#k&vD蝙IgL}3o$ȫZ= [T `ьI=]_E?+K&z+DMnj3y -h@3>!@)s ?K:.@#7u v;:kmax+m6mkmtPlXb/?/*\4chy_qyۨGq^}|Ou+]-wɭmf &a_Z[ -Z%0J)өdz6W# *% g9'\WR߂.誀*XuV[|!s [鬂\g:.dL0Shnʭu7V:*A-J]mlu|Wf6g^r@usVt^.tK.IMI0Vʗ8.Ծ6/BٚDz~o?;"T 3[[Õm5d%آt_]r3,KTtQzAݴ T]oڛae[g DR%XB}m-MIplCilO崖3Jsw}^Դo lGaKXRow]JMCtMWo}7"}ӕ{}w[~F脚q&efnw8_ι.4;VTW@]@L[bN.>M 6.,Y\(@@uᄵZoKuv:6£ +4Wʋ+ϣ -L/?p*PXi V{KCLj0[b0k<ڛʃíxų vq ڮY`2gtoV.O(!5Cu H!ޭ!s)w0 0a x겵wrf8kA|YԫճUu< 7hUE!j =_4&-A< ^D뵶PMޜPVf%A'a̮bXBTl.M&Qjdz:T0m5r߶لN_KӬ5c7&hw&*jŪ*`#.n7AZcoI] ڬc7=e,o-!dG:Gn4ȅR+NT$,O]$:l#Չ./-3錦Uw {{=[v6``=zz-y^:g26-^Ao~'6Y7Ao%Db9Ly:j`cnqx2C=8 "W&4ãxFSRn-dm_|Re j$NE&vgیR8AlUog^z;XopgdgEnu[ [l[ټ9qȲBe4'Q*ۈ! p0D@572=Bn?!υ)KYщ[A1`]OLBCoH@vÏt!0GApV%)x:N6)fpGtg'=ր/AKKF8'8byzԝJCK-LSlŊEu^ _ˠk^z蒾2î# W׮-[ ^ucWQqjcӏO3@tlrntfuОkJ}^ R_;xϪ1=u"V]}5O7q=6s@~ҾY^>3\O%f$h(M͋hwNӼ(VSUrg>3iz{ƐǹYYEۭ6vne(suQ}~9(\VK;w%Ķ +B8g]o(@?չx>9U_Vn`fա&g9_n)E s@5H+?+]a (jFC<nhntKƾiFQkF9k  ot魿%㶸Ŀ8Ir]1=MI):ϧ6B1 J@1Fcƹeѳz?E=o>JHHg~ nѓvRKA#4I?ަq%G{t>g<(,GႶ^2 oD -)ԠDԥV]~aKjZwT/ $N<*>襪YKy;Lȱ! ¸kq Gv\(Z_Pk)(g 쨫/wO (ڮU#M"sNe[J<@ia,6x[b mVag U]Bs▃իnVonVjٵV#hlf"Qv߉][{r)cp"pJ~;=kߍLlS-}we?S־3hԞ.eTW{ym_Q1 `;>v=6-V]M\Ig7Oaid+TDhͥ/?<=Y!uvD7aǽ>x4gHS&25U*湰6\# 7aI-@ᩧi9#;^ YSCFe=@ixq[=".J+^G8ڕ::뾐y@ t;X!-AX4BbiX !Y;V5Bʨ;]4_&TqX3_1I+t;uR 80OE}6HrL@6is\$mqI,_60nq 3h >z1XwuWXfD)lrJݗe$i=MPBgyԒ ݋|^q߬t>}[ 0/&F}ƁI8 biq7Nz?ì>}'lRMxAw`)"dx}-^ op G=]o`WOvYoN@=%ys Ϧ\ ('Ϊ; `+}MG֖@^ CK^PDu4uze9`U} |Ul!N딈Դm^G)K'S$\io.'cyx2YTS9 ηM6aI_; BG <je?ڝ"IvxoOŹJJ~6?(6;ؿ:M_Ʉ98L|9Z!vÊb(ȑY/~Z?> ,Vk֨ ViD>D3H|jh6/-cy)0 0}Ól-ꍝ?A,=87o^x~|{‡o}{ql/ON`O9'?̿IxٸuEdfVt*UdFV?-F?kKfpƐGq3E2dZ zt@XjţG'us@ݹI5S`(@sX-ܩbxtlwdfzcL)2ΆB S]hX '@!(+Ictj$9)XU ow0 0CDE7FYN᭩Me:2e2=>"@Tw~)g]ʜ/s*s.#B^-^޵/v~Z(q\p{d 7bOm37eg z"adDA\F]ya<eMpk8ELϹw8T!(x)͂`t<zFxu+Oxʶf:lF0`msA |a=v |ΥH1F8 jq9gx.ۣv{t#o?8:nj;^^>`>D=̂X; &6p\uI`opF_jGU ,=[Wj V㒡ʜ%_' ,αZ3+K*vo8 ^bl~c%+{{=GvblVas-]N~L2j9xcz,;0uoa^Ivbl?OW(]/1_bl~c%Kۿ۽y{)gcb97vz13?Wc0Onclcl/f[Ŕ@6*i4#Y?Pc$#t#^x&$V/R/Pݱo?CӁiX+bC~<SMkHbLJl{feSk΀vI  dҢ5FAR^c$G5=EFٴ3j@ӧ4'CX3]EIFg4bDtF紡Q:!:KP2g+ 87C-LY-'*^sQ<45~WbYms"8J;=G]j-uɱVZ3gZMc`O<$.;/, a}õl?œE\1-;/Ĩ[r܆Za&R574CxdpvC R(LuwU93g3ӮBtV!% a][a@V !5 @q@I)œ]` ePe#$YCP+{gp6gdL^ЂjAze^sZEч&a 0HLӢdg+/8kzucpsӛӀ(·2m>qy\aKaݵXaʼnGo; nx6U:f"' Kn =@/ݛwqZǼTVന,br~7Vy_iPKü8-|`M1@E]4y8@J?M c4<\WҜ.aHcx ƷQViaViҏ|p|\H KYKipU*6HSŬ1Bjb^Փ]YAiX*HSEǪzR,z׮ MD5J4tvkWk_Ef+?uٯhWA鍱'B }fQ&^[M݇d.=.NxK;NhjI).K? 5{˂{?$f4E h Ȝ, Ĩ̈*( ,^g0a4N ^qT[ۋn«ݓ7RZXgb+v^1;ź+s.)9G.gs5ueťKJ_0qm<4a%<׾©eܓ+b<(Us ij$HA2Vs'cDT ט Ȩ(e/gƮCX83)T<#tw gVG;ύMf\2aGYoAfLB@3!vSf!r8כ|hu#31zڱviڄIӺyڗšJ~Т+'SU=SWS }1;FbLRЧp,7 &C- x2Ksiv j$Hoi0Oz,|b8w\~Ю/ jrV9jh Uf*J.^2??q=5{^ r`_*"(9]p׈7޶m[KnĕfG.L~뤫\Oqoe iJտg1D ]hɧz\]9ދ80tg_' ̸DAs'QbbCM< (!1Ea-`L}2khiAicą,"jZ}P3mb',n;&λE؁8iwxLt`}!* |I_$@e@fEt+rM>BU?KkCb99qe !*w? &x=6t.{M ۫HbFc8"b>`/r{Nqz?;;sR.˼q]Tfώ m:=4o& 0q<c׿;+$Вah4osD REGNTvS濄 Ͻr;MCĩ5Y;k:Alޡ5^ ) y6k)1TS}xڕvy8́9}Es Ûjv?]0ւKa10Vd?!,SXVx`1- `:4e 9 JKM`Yᙁ2c14fl3XfLKg +~[iecXz`Qz`βtx^ ,+ @f8uؽm71gv[٭Ef1+r [>7t|7e\ѭ7EyOe縔NemSɝZe^%LLPJL׶8 ΤHsUɋO0GjM`z*jD+ZsU23qfɋVO^YE V[5a[h &RK##Js=aʞD^YE{iÇxbfl q̼)KFK#Vٮ1T9kH%eac̙bzjE)$k,iV;'5ڹbK'Z:Ih22`zjmK /'`XbRfLgἱjiJqɰ#$H3Mc}*N~tKqiHV+h*q: 'b)+g"­B%V\Ly$Mn:zi ^k@B[H@Au8s?XLi3Tk9,Us_γ[հɘ[p=X̜d.GWk#B$D"_^seu] ^efѰ g!gS3}M%1CyyČ&=4acBk0$'xŔ ;JJ] 6PK8eb*)Z;M4 ;Ď* GY\?%Ťѻ(H㷡eERsͯ{3F^n?P! Uzf}͍E'c^>߹mD,`![)v.} MPP+2kS]+حIrlB2udp(J*%K^qc"7.v*=Y_G<^H@l~cJtPKfHZ@.˸ p^`'_FON4kk*{59߫W5{<)f3X m濛0+2uJ060=U,oYCmzJT= WAU/'(T,V=R&ޅ$E[|4nXqQ,_U+1W Hzkv)ä%\mCX,Zǭ\ђ%!: Yp5ܫ"kEE3!ޛc$Bk[o8hBl>XT?ya}}[<|ʡ1Obk)U85t ;ɾNQ Evĕc'^0%Mq*v5E;Q|k+ڭKvmNvt?ي%2n]F[04tU$|~? R/Cd筫}hqďVT{sO pkP,ƻ >A)z J ˓B0G88unwPvFC4®/618Wc =) >*"iȮJ~hhu еWi`>>Z(f&15&)WkSi~r sh:&dnIƃ|_ː vk|MWVI_1sCV:c* k 坻`t*7*2'bLWA;Θ,p~Ղn8L[aB ,<S[BmZe1U @N$EQ-5KnA;LfZrւY^L@|6& }SfHFpAi_еa 0{Yzt4WǷ {h9dA1`Br"vSHX=Ju S/P*,m|;Ү2Y?ϵҮR/+OT\˭g(r-h7Vdm. DʷJx+Ra%<-a?ŋi!:\l=+Q ҃SDC)^nptq{nt%9zysξWq̮|8rcB316ǧ9.sƝ1/zpqcLɳL+)#B=@*]:TmtX ۈf#6?nbI}]ʞ3|'T\TmZNS(?~.eު"a&/B.Amr[{NN_ r^@%h1ȽlG_<0VG-5n+SY rRTsl\5Gٹ|Is[4P5VZ#BC!zՆkF6+Gs+=4)\\J|SToZ75n OTo0Z&HJ#aGºN+hv4[ !@RG  p!%7LtYjZ qj q*EPrv )`H NFѥ}B3Iq,-ee2&,&-#ܑ #Y}E\)Ҫ4fكFMG"l">Kz눘 zq@s%&\&2.@!o>opAG\,U\t#b~$Ísrc|ln;^ j w9֧y˞s«qg%i >J΄$|)[&d]\2\evqp:-ujlpbafsasl"/",܏#d/ۡ,k4O@V"M?%\(%L NƨEWTnGi6uΚ:{zZOzr7gף՛O>Ӧ>Ξ+o<7]]OS]i^༢њ`+V7 7 M<;dpSܔy9ʖW&NP ܴ\ ?EXa c.{ \%0۸Ol]^fr٠1ZŦL3mN:1̬sڜS(\SSbsjisr,ڹ4"ܺ`ޣ`r*E Д"A4:B|;ma: i/;`#8P{9(Z;w~ao# @Jtaѿ ?e^0AV@1nvG8d%:g кa.%{?t[ ʋyN$sa\DS:XwKX _HX sKj ooCe6OHmQyr) y n&46p6sAGvxX=:cnɆZI*,$QIl,+grX/TEd MpOs趪E,xAiWM5SR d! ROxB7$1 ~tj> 5MBdgy,)H@rCF_ 14Q֓۾Er餝Q&>jZqlsp̋E3/ ֆne_ <_[sRHx ÂLO׭+>cM͙RXӰI|9\+vh \Rޜzq%x>Rv~'$N2C[[-6<(jg!HnxZ\KrnbnE\gA8%9|nNTq5Im8qyZ'ݐ {cZ_4͆ +[aCi0ۙkRZRh̬q9Va%VQom0cwFAyA(LU!IR=* vFNg%&ELRi4ܨO 7퓦YÍw;cЖ&|ʴb>60g>WYAr%Mn\.j@_8MpfS2ݘa >Ay㤨8wf1C ,iaYtMZI,1|]<1/VܡRIq-}w I۶M{=wQQ_Q;iG2y_tL-_OnٖԭH2WRaH j Ҥ. ʴ.Y]H:Hu!ѳBEHr!DL\F1 _Jz3&9qgns"L|y~ʸ'rАZ}]"ZE1#ؘ!3b$ Hkd+csn4\f`0K7qp;&Oڭ}ʿVNS,% -/_αIJ`A)UT>_WmYAQ '2mj(K*XK~ EWun5xE!Ky+Fsth`dGy2vW[[OvCl_#N19pFpOqs*Άq/OnYr vV!8QgN{+Ǵ#nTrMhdы 2R> :4O7Uʺ6L pV,xxQӮ {dLۣɿ;Α-8긨,@B+R3tf_ {%&%&nV W+9>Bi%s\˟ʖV;h5 m%pdBĵ՚Omv`'JP,ЉθCiBmOP>,"A=a`[Vw*0FNJk:yAU5ԉZ)' ^QS"Ύ([nRhIۖe~b~RreMڶm-7rbe<Ӷ LުdA=MzSۆ̈́azMVjbXvlZ\XnԺhsшU2nr"qI5oRuUTS;-ͿLc9٠A^@^c.F") <v ;tۯB{ōś)^vt6.}gη st#ɖ6TR. 9}Hvpom1~^'?npW pDqf&|s)(LXѬ| ^v~/>u$Mo%DnY^I7H(>CyGbu07!źbxx%FqgE2p%xpN$X޲Gcluց{:#篟 l+R^/=<f?]BVQMЀ{M"øC%EƙdNҁkR.sbli1an]̯$\cc?,fg:$Dy8ls(l/P=_]% ŖENi1SńDvNrRJa{*-d +302CA>2CA>2CA>  }L[Ȧ9ZdAf,3٬ +2=7ܴW6BBk7ԏ YQ?0*_~wz/ PRD>ܕ HL1)25R_g&x܇ꌋG!dZ(Ӓmoh::H ;g.\x w/$Ut|48)e0s|VHt3=#N7h'k $JMv+#4 p>9.v NpYP4Hat#zYWw4 Ԩ2FoWJ~Iat"䠥8R5Oѱd/k`!xdmEBCre2饒oLrԖP=G G2ӻ"1Z0!uq?R/8%upNw6\ ʵfɑRgUX"ߑC8,='#Dqc^cw5폌GM9`^ y87>KɍKr<#nps:, %xQw %7)޶akQ(G5z@pcn(YnG=%l+# 9LC-ea-<ʁmat|4A2ޜ20Wo9H7h:wp oUj9xH)h~BE8KE[}4k"Z.܎]jj yݤe-kp"kfĈ$HCt P7҃DԃJ6:ۺΦIRV w% FIHLl6;#~8+PN%ޣnUj)<;VJ́ 70E?W Wd:#MأI7}c*c{Nh+XHQG~N /AG~kB&kB&k°&քaM2I5aX;tFqET>zГ}c=7YI3 dF~S_zф=d2<“ 1cκYԣ(VrԶOXMh9lpmA|9/_sCt%H o2 nÒD59|DH߻&OnpXI'}xSK)wkӽW|eaV6$$r1`Nň5B'W)k.ooG!5MUcv525YofNUc&ͪ5j7Yyڍ+T;-\EVvk[~-Hwp=| cŋpE !䬭 c503U4goF4XHd!G5Xθ1r3C 1`EU.ĀZ+Z.CR=uP2ěYHCMvݼ7QsPFTUEo95j͔R"}B*+kj&]}KhC;&~mŔ}F+.LL6:*2q\f` ߔ ۫rNC@IP]y)ђO1ge~_d3^=9W?/xrO߫{{oz;%sA+A=::W{Ou*a_|mO oxLc>hPKHKڵG6˵Bl!AgQ#>h5Ai1`aC!wD^ xsXɁѱJߘE΅~^cߤ}@t&}UNe]FJ 4!Ӓf~D6KnPEE$_I<'P"xsI `˪˟%L!,99q%~O mvB«BR%Hl(JNY=@lᨏ)Cy2b3!AI!#"X7Osώ =万8 itr"ǣB8} v)zB-iv&NWJ>LԜ/UtHIMe8`K(4LJ4c#xu ( _T׈Mwֻ$J;63RUqݠ+mL\!$7@tW!dT:$o7#ovU__킱ݚTF#m,yeq_,2u+1MPU+ NVZZ_9IZ,G2YnIMfd LB}80ՍXgaRk"Fd"@h.39Ђ2PBMdU WOfKBnF b%$ >e9Lg3o_~+ ֍IT`i BaX9JMerZ0q({a&*j$KDzHzT˪j`Yl%ݔd"O2%1`of݈q "^Eu͘7 0-0ogG"~-qfNlg²3e̙bzbE'n2`1mqn2`и1n{s2`7܀q.5Z"jĢiK6<'VXd|Rq2?ƍ M\RI 0ol䌘ٓfNЄyߜ{}3uZ+Z/xl|A \:;rp1vCM%GCpizVИU!)9\R\W[r* |QQ U H1Tҙ@W挭M :z2Q@H@A?z RKC\WC}֥&$XKRC5k-2^S,jh ]Ih5"~c@̩wͨvOUbu]{2Ƞ8K + *$fDbwe4X~!X.] Pb|]ZW!-F `OM-ۅV8YRzX,* 908q>G ^{bURp+QLkCw4ܮVĹ~l '@qw6PD!5qJA}F=+5D@*x zK,o8nCVlM[p]Q3LΥo?BVA=ԊP5ѩ u+حIrq*҄d? 0(anH.9l !Ꮫ8XDWUA5Ȳ(Nqڼ8ENEb(! B. :wv@!Nġޫz#l洶r*F~b^>~h@~М|fs&EƵB f5?-kcMUAi*2*E"?$ gQл>mJ־ sm)\@ SXpELݗBzQ `h؀#ٗ [SRBO5ީB-6 '!4ps<XǯQvԊO,"ke Wŀ 1b83b#h:9ܐRig<KPDGҺ V&[Ÿ9$GmvD`MK8GX^yu Rђ%uV2hfDʞ^¦"ħ Dh m'/ <}/v+SG/R94Uv8e#NJ8d[Gœ! !zuFAlcg:LIiܪ AMuNTzZʨv]NODbaeaXOY).uWo*>Mӆ>exVT{sO pkP,ƻ >A)z `Ai{Rn( K~Q3hS1}e7hT>D*jkcY"^vz,pːOB䡊HXF]C?4}4xW >j(RXzɄk;y1LZR@:9 UO1tF=lDY-aOgzZӐҥzʮt^SEڭ7NNP̈́:rJ:TpiB,&|v4`x%+k~GӀ$ =Pނܯ 8Dظ|b$ ]}Fwomc#Iγøt;+:#&g?p* уsj.eE-p-3?ߋ'®X +ǻ@1K@Y :luEsN8181HFS1\Mwug@g)zN9NUbfT;w581hЎi hǴv.$33d8`5v VV&88hj 3:G`OU]̣\) Bi7L=ϐЇ4;yE80 !Y$Y+ ӌh_E"_)FMA_j"J+YbQl W*~h/]mK :L{1ihэ qln;vCpRDX.\v=sazdwcv"_I&߶Քe]\2\m.6>zɳ>`UZϷ⚕uZ..dK&e&t8~:gyeCC^Ysl#KV%B$`UO"M?==4& wq۾EDy_c/XC` e.3Wp!:Wz[Qю:iJi. Ӌ d3zqŧgץ,5U޳u֔zڔӧzOO)AmC}551^S}&\fJbnJ?7qҚMk=wŻyN$wh-vЩź_^t ߕQ`v !-[b٬,4Ҥl(|}<</ypiɞs AGvxX=:cn]D1B%T&C`d:+*a $ tVO?(ZfJy >\ԓ^xM<r"1 d~tjFyA:|`*v]"wȟA,]_DV003F9*oQ]vs:igT2w]6_l~dm覗Vqk"ZEE/HN-9QRk OR^)np>^.^ ֍{V5Ymq)^g'Ruֶkakakaj[kKnE]"ǡ4C6E)mQ Ys2[Eka|n?ȁd4 Wzۥx\܏oq~nNhD׽\@`"8:]?<1< i&@TahٓxRb䕘b_S(Y"v&] 'yDxMFm7ʻRo5O}FeE*顭C깜v}4iqL7@&lhtz iFt ;ۯr5<Of 퓦ƇNc[+ L퓪IC[2 ^S`yM _56XxS>kP7AU9EEI5.\ 5FfYQ.2)AWx]IQ 8q/%r3_L K!BDgwU| \Q:*vUbsUKK {;hcIF(ܤBZZc G51$wR~oKq{i5Ʀ-qp#c![* 'ŽKl{_"aIsqaη~{!&\~fHۊP$LB|sty0= K=j/6K;%x,H&xOzAI;ltpt'G( td%`Hm"yIInCw4Pbxba%έnyHxuV@Ze!nc u,DfhhUWHP*=Ii j:U&7\G$p zaruZﶰ:@z=׎@*a ROP}F xJkT38 Ѝ##}҉GN?YxH!U*OƏȹY9a Ynld8>memY]S[n[ }>Y3(nk/$vJ5Ֆ ƃ/'7lױFi"} \I!L^VYiki4 &(BBU以*h~pg:Յ4AՅttZM%Q$15ԇQ0y:(S0*pqE9d[U'_JL—*Ji`l~1MС?'OlGG>39 O+z<2EF3C^9h5G |!CRgOh+O#)fb$p sN_{ja ̌v 32+c›`S202͞ *0b/n8,;&OМ,6aʂ}+:X;ك*;Y.59 IWB ?( הʇ* 6+R '2p1-zypE&)]#|sЄ|ky2Ϭy@gS|sm}D$/[@a(3-t8D'kL6!0#er<K;mk.zp}!<Mzy D qRb~C X^*p]SF/"_L9A "_btxVYT . "Orc~x]0N`'NxJ('*V-jY\#y#Zҳg\w WGof>Jˋ\{erT'P&E8QnbW{ 5iG^2z2ZjKC)Ix5QW[6vՊemXv t+qZU|ӷN8 #DX u,A@SLm(ɴd:L5JKfZTS;Oԭ=fV i]ֆV#]8 -{V`5' bc52 R %6T'FIVPjh}5[jjag>7-÷l;|;c,6!7p&f/#CWtįmLrkBLLa/fŬ~ϘF#fM>YY=s0؂ւRP`Vg޺mSnZ7|Ѿ7_ >_ {}o|Q7_hzsQZkAm)(epQћ/Խu+ڦ^~ZBכ--%};+gXו_>r ^~]n!Vg:b|U3ϪDj54"_|A[X]tV_VՋ̯\KƭԢ)X:x5◟eXZ֭ pJo&lT:u_ݗO~-ж`%ŵӯǾl뱅eXdO T[ǩܮP_~%iYM ڪoZXWOz;ʾYr٪oZXxg[5Tn},6V֤%X[|K%knZ<تZYDjϸ8-mi,-W߽,wҲnN4p-2L׳ ^>V"/Y4kcZE'\#{YȤ1ݚXӬxhVKFc¿PVRO*,Kr;ҎjuuXZ/KT9`vcZBҀn]b㵥&"7/ucٲѪP=D4""Bx>z!& m=CF4"8KIS#J ķ^5i}XT&A&j1P;˷)񯝱sٹs)U=U\4,} UH*yk&~ #VL+fu ײP򥇾vD?.(N7CIg%LX('!u;K1G>k7іѧFwFe1\>"K]b- %L*($SPdYՑ)@ٽ6_|Hz%DnY^I K(?(aH!n!GuҗJ=ndYԗ o"xaAȯᾸh;O8aZ)ٕ 1Y`q+5 i𐎻/_G.ķG=)!='v-"4$pb= w ','v&OMgZi \}Ϥ&3-~9Jd Q"W4D~_GbLVr)N*9Jd / V3yȟ?!Co8Hi5Jҿ,@:ǀ>wx>|9O!m&ENNu_ }W/ 8ٮv?"bQ!A>KWߨ5.t2|o)oJ77Gkg>٥YlTIhs@lGTM0>pfGh <&<:s] pMH1C6 V}1MkMl4I25GA GO#ǿu@u:HAwF/mBd`yPu &&* P1⯳ cwFud?d2Di7d ߒvr=sQe3!;P&qX;; svΰ+lZ=}"aTp@[>]Z}^0O7X\ %K6 ErQcK0^oq"5ݭ\SP)œmH?_XF׺3M$џP; \wĤo Nxʕm}iiN"Tjqgh?}]P΢sq7t:)%+F< `:O8(n :&"Ӹvf4i՝m^,Jf?4 }| /FM&<[ M0ʐ@)\W|"=av "n稺 OΣb$r(:r/NÍ_` j'EVZ69Clj,W>I(r5U,^/"D+ ,=Iu}Em)›nQl$*½2\>IC$Dh+L<~JΕ)&CkƒQX3pù_t:u+к*Z܂%^J +p"9U[F.Br=I] Y.Gj $UqKP) L)!:|ƍ"&8YĹ; 7gYOId3 'x2໕0b hMMy]A h$9+0 2VP{1=o{z848Z,v[Uc124#){*ʈ}C"BLyE/>B?߭,82.)N*h[]3oLMMN(o8F&Ce:shn(5I[ĥg"ZZ ̞!|WH<*";] i^f#5Arm ΉѹҚ#<X|E a=ܣȞ ҈8X"YOL_^ _R*h)%O-(K'(Pר`|58 HQbK}PfނtWbw1$D|-G%Hq$H_")(f-l/>R\%ⳡ _!NDڿWhD ځ/xa`b#><c6I#[=* xl2 ?У8CdPvsTVxMPQg!?pUm qW 6I\ј4<}GJ]vv#Qֹʺҵ7yI)|wp8qH. ԟBr*,ýB}=G!Dzqpm@VGgT YaX;]h\S< ~\VN[)<±1AuTT{[W, *dzAXVCd$N fɊ`XcT.N匑 '!spjÃFaAl#kFY4!uDUt=_0\ .zshts$Rw]2\ sQ 6S.FnAs y$94P8/F+Ȋ.&hP] "o>R%';] /;Bޣ]kݎM[IGbJ.:ǎl`ܑF0i3! a.F> `-pa6ms԰fzXQzt|T;!?G:2z(h M(Y3W*ʨuOZfi}&s{+JUCRʶ4nG~WN;KK,N-كqI 4]H v30eT nkC:V "kA"\BXiTm㐅Y`?*e"Z9Gʝh^=j#fvLiH_sЀPi4h'B$X׉H3͛ 87oImChAɏ!#\T⃰qpŎϪ+vnd2nzqޠk-|XJrp?DO~N]VP[Ł6X*Cs+cT$l\%wZJ&'7'!!_{E |l69;o..~XMa 01`F tDtutcc=I?O>4m?]emĐi)$T@暮o; [zщ 4y38|xVg+/r7\+;7\XX=* h\6iKX2T`P1!ܳs?EM\`oE('$BrzH1z5ӱA+NVgFh_Dn}D:,~akuk9ěqIw\n8qw2Fsnsc"1t8C#x Uq2>TI,s; ‰FaJpҫ4"~ Lqz3.a@N}f+] r[~Ш Rg~,aūPNvl LJXo6fwШZO`5y!]E$þh.<(1C { 'Fƹٮ $8Kn_()ؤVK!mrА]C 8ʃM.M=co.ɛjywxz#C:!NcAD,n{8`(1}x*=y@s+wݫ,¡(:Bvc@V M8JE E'F'd*ӣ ^8PW_8Ni2BR'І}x͢V:Ofvg/W4CI*j 1*aJ/='>ug,:·*N@A^fˀ2T:jR$Aؑt9Txg\GqpLLGaNkGl(|Gg$y̳Wţk#/@u"؋,͉ޱ#'.ih})( mMm06q0SĐ.4IV7YpmcGl%%3%%nY۾.ڭ~-ԂDt0x79E:MYk]IKqpYÔǷ8\9LʸCbe]OhN!_T :Lpq8gIۉB | t[9a@Vnne+4 I>(dI`/_5xM;UFҀH=_i=ksFX|$,"%qkuv-?lcA$(  Vr~30xa%PLOϫ(u8w.[cQ׳fnΉeԱa wq5 qA>XUq\P2Pfaݛ?Cg-̚P&++`2z+{]qjtJtҘHQV^-؊q,p`{HDNY% 0"2Z2  * <JPbDfk  mm ikE[t]3=moh~{y}ZlOc& E+@Y2/ WĬ5DfccʠˮT_Z*bn{z(";|Ҋзqm4w0!5W Ǖ )VhJuouœ`3oXv`⹟edx,~_k,胼S%7>yReC!O8P)x^J~H7mU@(j!À3TIؖ3a>EWlt[ۤYɓŭx/e6%T|Fn1F*Q=!ϕP8޲if0؉;^${IJOF͋Qjɳނ ,α30Z. x:a9;b(-{Ҋg*OIh cZW'ԅ&Zd3A9 ii:xsRAP8bRhh?TRXsg ^2"O-^ޅ; v#%MT{Թi"A>@|kZABV!p"E4L`8|HJ)H0ś-:X_`M_^lD́ĴuF S:KM՘iwsN:&gVT`cZ$EHT5cG#Oz U9Si5-5S68"`oj@7}F2rm0SFlw{ֻ=rxtvq6q0z3iCDќOlC ';z#nwrb3r,KgX62nHwXM#8oPC qAc_i w7O ˹a`'Cc9 Q-%7QO6!Tx PO; wU8V0 ELlo)p(&B 1KϺ/MKqQ={^Y$k?5 '0,U]á d+{`-`g[lv Lpy<83&"o0̻gƣCм.x2aguOCx1dc1TCs q(Th>,KߞӸX!;G?ᄰ> `,Jk}ZB̪ "U<T3,أQ?WhF&LCV$l`}?|g[L:mOv'N$ ݣo/O1+WY?svYݩv l*;AǮ-&m5Nc"#UGGoSZThfzlN62$Hg^2A۵_(_@>jB_-aijN5` :.gAXQߛzj4\ax%[i lw[xJlO57gG^T~3VhJ PB/{ Q 7_^^lmu01gy'YCI 5Fd# |Ũ~boɋ֎љap|rEY2ٱD#ՌE$x\ cPJ ;~4PyUF]8 _ڀTsˁ;Z2 —W!;ZyA,@ܹ[.+sցn|N=>KФYErǚy +DdRsA2F])Un׀f0RS~+ۥ<d (9uud DuȔFZ21Ԉ>ौǗ C;E7;dG  7⡭Lf 0֍5 38D6"= y_d ݏ-g:ON@:s v>̓J[`a_AkKSf[hdl2ɽϟĭz2 l҇ =qQ|#Ur"E!G#B&㓛xLy `IG"[!~¹(zjK]5ѕm{H07G?Ԛ>*W 'Q(Dg>kTlfwlaSحEՃF΃|K/Xđ]O %8K)d'R! h{)j!pB 3AU(tHPZ.A*l>=zmbݼ9M׻݊ꈾeьb|v\WO3^G k㌺Qe6<-C@;҉-jy>f!Bl u9hf#S1<3ߝV+b՞ÓdO \=ʚP)8s 龗!1lUM8KjۢƯ4Y`/Fy ֏anV%0%楩 WCf,/9nJ*Kw==9=T_V*t\쯝sH9><R"q#fys D6!ͳgO2A<ۋ=!/XcWl!V_Yg 5W2y%mDcJOSB>'x( s,VV$sgbb6Al`uD[ X(@9TQqf!`_ĀB$,T Qufh`KП|k #І4G ҸUҠrNͥ7YfZu j>0bzdHAR KOk HT M9ԇO@Rumށ^8Y}Ut2*4qc$`R8ՠdf$ !yy^V0eKhFY1iGm Td,'-'g䰹}@us`9M ӥR$?ۥRPӘzӥI Qud%G,J\%p柛2a$A.zU5&RJ\u+bӜzr7)`]y(QO*2HTJK6⟑PLSm1QUE8 Yg0T25j ̮@W&݆6s ,BC?Ov@k"͸?1Ho+7 #]aDb/auq9{>OYA*>x,.V -ui[ o/DH|ԲIA(u,S\y,n>yaS;mSw.vBy ktƳmJSȈkIA? g(*X(Q*36SAAqbaZ(%G7qy)T!1q XSPc܄ФR _ ֤8Kp^[qg΋㱸fvƒ1bnzqD@TuSǮ|ʡ7ޤWqxV:1@k r=SSRrqG.|Sq~ܧBz4(2`z4/ic`=Mqs5G$Ўf¨2/֜dg  +z=U|a^EQzij˃Ϟ5\B^Z#edQĞ=fkjL%:uX1jjQjrHwgE-d{#0&@ XeZ/sڞqk2> o"W6EJ-ALj@ϋEgXhY[c~L!Vh4).gši^tU M/^8$`0y=,FGfq]S,WۚeȜ楨v׶>_gjU7DVČ ^b{ӎ:~|v,iXO/y zO!FD5ĵԞ $' 1˿ q:&BD'q/A+6D?RKvh!:j푣"kqJԶ2N-2ݘ VnlӺ͑i#m( KG"Gڧƹ·G&3ʹwP 6 odj|o$HQPƉIa={KJaKvo.3i OHF"DSqlocRU\sxpKn~qZ,E `BEEayY0eIg)-/Qߤ<|mo&2e 吳t |GA!^S-VM?u%kC}%Q`GH`׼t׃N ~%$R,4Kq%e CIRz5.* L >%bpi'-2,x(./o~ڵjQ4ezvM`$Af6{)Y'VϺ0ɬƗjj\q^m4yR%][X.J AfQaY"YW*߀<Q-f-=1_kXJWRKGA3Y@ u ZM Kv̞:MzTiBHB)Z5e} jp;eAEEUPy-܆KdipWԔ }VZPgpd}%3Kǐ 4wG0ˌJj!nwf<4:̭mI[20m7 ![JQ_zD=c^u{QѢ͟_-^䈩$hIm\-t tp3v)Rܓ s|pPQA.V65qu.zzTc粢Lv<=F#%vF(Jh~E5<7ޗ vfEA5⬞;+  vQ4mpmyq$(Z۩0N @.j2n>qҶ3 |s6&!|wPNR1aJF//kGB9ќS** FaNGŰ(N pM#[G75R/VAj!Wzzv aӏjȖ"}\'X]9d> gdƿ["ECl n(ㇸe2a^;/װD="=w(F8BEd|r!Ş,qX~O lS L5sD ]y Z6'^)Dy_%Rm;C׹h7 ?YJ:^!F|wJo^:H?w?9!):$g-7ԧf3x(b6?PwoOnJfQD| ƻqa8K$i H8@̆)A8ʝ^UЭv(c.-I`s\7´dؾBa\'t@5,.[.@ kX ?CYR H kW2EAz[HxBMNMiL#u~6\[O0BülCCьO 8fQ($en$;9W]#$cVMRu 947A/2 ˧Vtϭ0c7!6L7# B1]軅! MlϚC)NM@j8:( H[+r!{:buC @W-L:Qd6MC+㪊\/ٞ;jZ1t[:K/ƶE4phM8oێl: ##e6sDݨff snXu@|4kn`=F Y5IfCgo,"Ȯ 6(]{3~i/41oͼ (Yzn>X`ᄄo7@[fAd"0 <܅Ypa>M[Ӷ>qqhC1  4 R(Q O"1TˈcAϼ%=*V C |L OB^u /JUUTZ'5%k28_l1Z9g:3yz.QhMF(lp.//h^`9J `EXDq# #~;zض 1"f|,tcdc !%Ӱo!K/L吮~Fzv!+bR,3Z}l$xC>}:ݚSh6o5 K!/EƝٝI6g[Cā;跺@għ^u;X>; nj!C#:Y8+', Td]ߺ,VF)ϔ\xijrLsd!X5~nҵхq7NN_;5wjxjLqnDw$A1}O!>xj}u]<<<;,=c=c71On!շgAL~e|/PKLwPseirsplus/__init__.pyPK Q.&1AOseirsplus/legacy_models.py}k6 N;)IݲvboFI^VzӒַz(jqM2ICI$cG;kC-Gqj$  mQhJ~*\ס~GM=O;8nd哷Fz;@UxzߡɉwO Z'\_&_}5w~g6?Ɠ̋ X4V$^퍾l...+H#+wJ5R/Rv ݍ]2^ 6VahV;Ŀ߹B!?x][5wwR[E^HKq(JO~bOC?e%X4kk6_j(Z2˹Ã#Ͻt+eq97Q%>Ab}k2V?(ɋ A/I8fq `\El'G 1~Wnc?a#}#TPK4*SCMATB :m@HTv(vWXbUn)pA`^ 5hJ;zʏ6T B© B,OXFJOlM]$Bߓi`W TECdk G@ H7koȾXtQq7}D)#nXC!GE& >St%jQm>nnE6 psx_ ,ev3@O++AbUHF 's 'RoS'@Nަ^Nvܦ]NFڦ:8dC5^`9qoDr#0zK4{ 9;)7GyZ,/HmPfZ(8U`"0V :a E -oPhr2@N! #fFA"z08-ɀ8.8M%nukf뭿{5J $ { >2K$>n=n(]!3⭕#;+in]kEy7w蹫7f_ Q bk7).3ѕq82c#LePS\J[׬̴TWf/CqzYyvgĀ5Ly³ ڽ8rPs~E׷.ޢ>{+c 7O!H,^䑣ntm -p̑hUC3\xȉ* mN^nxI7[n#LLq.ٓ.bd};1om6Q 9lo5[(C1#;d{bH4Xmp^Dp.9 AC?p?2B/NK(GW3.! pr.@–Xsr(.1 u"@uÂ1/7Òd<ɜ2*K -nrNpWJ9">E""37a@rQ_ZLєy {!5j_k԰֨]!ܡ&ޝ{BgDVwՖ\9E;!oX-T8j`}dKA;s(PmtVtH* ԫ {/\¨) rM'!/K , E*Nmm őF{py'FcoGnPÅGI&CHwd=B# m2(ǣUyCQKD1(d"޴$nF!&0 qN;xJ$ Hi#Ё#}~YBd(-˦Zj+fYC{lV@ax8w/5eþڵPy7 CŘ}!P ^E,|nUl='nyL 3bb6ួp6Rz#Ge 6[C>a69^֟FfJUFZ4tsQO_KǙ%hrlbrxI;U$;wRi du M0mF(؁XSN2Sa0*wBb@:To+շV[o~!Ёe,ij.ooFRFQl-O+g%tG+/I2Ӥ+#B(#%"1^(fW4\x0cE0"n逛!Ni![j(q1j 3Opo>t$0Gb$P9ĚNjm]^EE<\:!X6F1uH B!u"*=x=&^O^T.!tÕ'5 ]٧$\^OoD0?rW${$4z{w2@B<GJz8vƓ$E:62MrLJrLzgZv;K6L^0`ӧLj\-Urk/=,:,i kpDQ瘔NK?"LD5D>Z)&\[U]7\zu6O=kVd/ERWp.z++ Jŭt UKP@bn6|^Tr5+&s W,o]{8x{2g -9Ί׬_Bc/5s-y9(lY6Z (39vR֢Os\%GC2t~PQlbuEOCKP:k-ũrb!0Rn$s{1_:g2g1/⽏ݥjd2 uj 5dL@,",qi4;c)$yj<\T˙ Z^G{9}Jg$ԉyڰR[OL'D6iKG YI>T:Î̶e'uBag]`>L"MݹGy1Az X^H'v>;Nwn}$r?B#DY+n{ EP /[ԉpϼ#Rr6&$[W};~$e;=ҍ,[?5 #4g %Y>O۟: _gdY' }}\*-z2f9d0wLӟPp"d;tbb͒Hߊ޷<xٙBc7Km6'Y噵f^]*ϽkK7Wlv+-Bι뜋γ,ա{xu^8$m]FqHkKF+kX'q#`:'x(%wXbw;uzlk/كn =xhTQ(W) (؍*؍,]a|Є) 1U 'XQ=!^U;('SQo_BL F]atmvm/I?T-Ai!p5$: 9e2.FLen~>U-_}ȭ凌lSE7T?( J(os׷U ;p}s69ߜLg\ߣQun^ъl?ão)کtZ7ڃ_VHL#1)]A15L&X: p~6=dSɦjvN9ꔔVa8t>Q(낣PO>UdÞwcz~@Az1dn\1 }n ۃX6XL&@Oe= # [/-E7ݛ~m1ٯ3"]0]0]7L9 0"gP2lQ#~ ?2`ď!Ga6*=Vf)iѾ}('i:?R:ŧG<:<=sj0"1ek o:k/,sP@qQY[> 5%u  O=Ǐ>? V^X,8&82h.; rCX^>x>+{wxt1JFJFJEJEJBv! ZNi4GLQNˎCi?iNBNcӦb?)_iq]O8{H$q"'NDGNtDDLD/fp 2<r"^o{{]w00y4h7H&ES@JxYd"&NyD4}(۪ݼ-<|ܷԬatgnV=Mpl -\y!ԡ'ΡW!.;4rL0'yNNL0궃ϭ8LK<5@PTiRRƅܥ>&/pڵ[?vIWn'_-.)eE: C @.=a[SUfJ!WuГvi s!3~9>~XtF!-{AMN crbiE:8crOffvbOo)j!?P_UU:ճ&]-s Ȥagy^(G&<G !x' O/sO67-э9awFoBxƃdrs.mA!(䪑J>ZB* V5bjĒ͈0Z!êF,Xأ_ڄK1hRld52G}hP2Z[ uꤲɪH /hP{ To}%"#LZSt_2k[j}6/@i`&aa,'#UlL 5^ 14p kuvD-xKV]]8=gnnX.<Ѫ&Pڲ8'02p NBڊiOjV͙Csci_RY|;ӎfԢ\•mKVEzZMڑoҢ|zMj7iGIMj%]%~i%Z?ҙ9+Ԥ5i:7fh}O2`BTԍPLkւ @u@zF3 E. 5֦cU,FEUC[AV(=*W. ^4I4_A\Riūc[Z3uq5ƭwqI'WfmܼwJt7U gG;uq-ƺQc>x$;`,k7Oȯ!G6!]B|u :{++AH*Ö~zhZ}EzA!h]5Tu<*h+PTєSJ͂TōA<*U_YYo~$fP*zOxڃ}nsG1Mi 9Oa>6fʈWvZ* /5%$>.^נ!AhV &w (ۖ [(!8c^;x  u"r=u? #bfeXQuorċ{Cja^kE1Ljn@bEa8PWb5:nRwJ@J(~NT"QVa<-lddޥeڒqhyf6]A݈la&u99f9gF¦AqWP7"[Xb[jHW䕢8ib7NkY9JəB*X?EMrܾl ۜIfi~^K w<5krh:'~^^wPVQp؅(IE:ѧ;E}{Bw;َ}@Чԑ >C<Ԛş~=7bAV//OA#m{w[8+O]{׷v"9琐[%1-+LRoI8jvMt2ڭ1T2E3fV35T3m\7Ma#0'%-ZUВ6!|oHT%[RWGT=/E5D/(ۑW)._?NOBtv3蛦X(T)D(|g#ٰ|WaBPdp&F8Zp#}`$N3#mZpF8pJHI|sst-s*p:"s"NP7."i4T4ZGdz"vy,"oJhh* NA|>˃'8Qo u&2j[J@:5ut4‡k?Ӡ{ˀ ehѰsjk/xs& ^1GvaXfi%[O吾A"&{)8*%Ҥ&%ܳ~`(ߤ%оiE~p[Vk/;SaadI8 ~`T#fx\~ cJZ=]?$oAtOQ8޺`3B_d~mdC#6I<7^m(FK܏_5!z2ɣrrX!)grl5['7AMVfV+l~+yw7=8}o]Œ1/xDNEBv+]]`|;pW a5p>n'YBr7ѰwVBCܒ+@8+W d{:yI[f6o d,6tm4U8]ӬBv”U:ͪO[g+6pZ7jmjxfίfL򿔴J  _wPIL7iGlZ§^g=$>>S:\5W]Wdc;ytv`4lQv>0rY:uS(YIo.QR(`)s5H@)]O# 1zX#K$lvuao%<ɸ(X#Xg$Ch4hVkdQ"f)keZmSk}> , %7CtaKq/h,3Y-ְH{@PLQGbip": !rKif>[S(tbm,xG?ڣ0sOa ׉uXZ{G`4)9T SZjrP?@bK+ߓ7t.`%+GNV |EUJCQ?TN7;+ǎ(ڏ%'XhBTVKIe>ŨaaĿe "BB3dPa&Tg֩ܜ݋۬ȸ"*Y"_K|>]N ԰zuuH3#~}l⻓Hu)oڨFb  h& N$AG'D_$5_}65 @Q4>#צLΓ/RQ쒾heYַ6 Nz.Ch$Z*6OϫWˢy«'H?(n3|,-1ھH/557Tjg0 E+D _eT aD fRCfA`9Z@1i 3Ղ2ystt.Fh}=x\N^O'LNB+U 4쬱Dw1VQŀt.Gj7%!7U(4#%w]/!dƔ켵EȀkM{(;O&CWRMÙtHF.9p^`wN d &-r$A|W_B~ ޽IAPx-9g{0$!r; E٠om ^H7"CvHq Gw@oGÖa:a I?4a,=5S l<JV8\ p-I]p, `#{U+0*\d4p]Phy]dp8 pεuOH&B:bqo!)1Q6Rhш;EgϮ]a xh^cď<<Ǥ$Ǥg&zfu+ktyx7z`a V<} &\&[Ε-P?RaM Φm&eoD_N_cRck$eK?z0)}#'Pi%wL[brMVu㭭7aG4ڳjwb $Q|YݡuʞTs012@_笢)/^18O|L$\(A>)?H rT$7i*I]':'%h%7i*KnRGrxm, N|4.O:K:6t禂m`D;VDGݔ/=uIwQE2je,ゎ[Cg!^]YpA߭#a>[=[R ; ;H$ԗ7y6ʵeC<,e59^Fdg,'YS??+L+YSɵ^r:%7InTruK$7JnTrm#ܼ q -9Ί׬_BcT߀PZԖ<Мwcv_6Hu¬@e\JS)k'9Dz.Qגx:?(OOCK[1:"Oފק%sB~ٖa|Vn@,94q&{gqzu϶Ub2>>v;wu :H2O 7@1# d>J3ϥYҌsX\uyz/g.hl@Y#=U>%~fmX@'"XDh⥋#DӒ>T:=]w1OC|?g@ݝ{'}l 0ᮧ@_!.T{mӨ?3 jݴH xF ܳIwXߠTA^.xvAdBn.6!ٺrVvGXb?SOV3~,QnyH>ޔؾ~.P y< 8>1OB@vŚe<SoyV3qab>zXZ:14kͼ`={ƿ?b&.;b}Eb_h9sayeA:3p.3 (im6hUy[% &JI֧6@6K]^mኂpEA~ ?\Q ݈ʂߕk 0mMS<`zUB잩!U|0%)*Ĕ`T+Ff6{ CuRD~ WCSF9/S3RjB\/Ld/\6)"Sdw%c s 9ߜo?aۨg{pPK  Q/5ukseirsplus/models.pykwƕ(ݿQCRT$kzTk%=9git &6x~]/(<(grB'-ڵd-˥I{]ly$7[GQ%>=W9>K~z3~_l W ?_F5Њv1[Lg|7±bCMyl*կV N?Ԝo=R"O,H^ wa(4wQoү}"Ǭ6D59t5!jjSoWg#HG ~+Q30T, C7a2+}!RPL4GyH!fm9g]L*?rU4Xa`u$HTifoȻ  ]|Y3Y>ҀR_ LuFh2B}eCn<@*B-¹ @5ZC"A^ Y(e!a}ݐ8!qC'!w18'82GGQD_7Mc,sE؆6%/C@Zf_&#pS !T-.hL0/i?]ڡ/i'=r^ԗ>X~KE8i*rqh»}PtnbTn_P[ _`[M> fA_P[YhVR(b(h~EW3N2+ 6Z;.l]q}v0#nrHy K:;$lB8]n$\+u0EnhH{iܿxdCrQt;H`5b QיLu|"luksYy-#y9}sS:W: s[0{FОe+-Ѕa9yȜQ hUt ' 0X^f1 M{{ S0]; L%1M%Zqy=gy[ì f@y$ȃIv$cڔm4h! j1ԇ>+dGv( Ŀ mT݆.w !<Ʉ΅wMg_>/ PipAcCϐOO|8" Ӆ 3s")Fwe`S,=錔/TȌ E J=ZXoVRZG_HȜM\˗VUtŢR\!( a~Hcfk k 7dbc6Oh]dC.;GOFm?`S!ϏP_ ?d^I۵!!.o0^ʨ)3 r#^FȁΗ!yb7a4h9<g\&d gI&3wb=3n8[ ³>b" C2Xx}A%#}!, ,fax(K mjdۆ{AtxqO:ʡxC#PU3C5($O(KGYMf=`wn%0GbP$p9pXQp(^'q/6X05Q`M~RCtGm 0зg3N`auHPޅ:ڋ>g(^WˢE* E1``+xh00wjo72|@J|p{*?Bcwd7t$ُ[Eڛ*M`[&ea/( 0!Bn%7'7ʦ֠ r"wT-| bXoZYof7^*jΌ5q΍+]]Y0ϐ Ɔ 'ZX8l$vN$DxC0w m_q$?kږ6 t=$\|bC C_)~`Ѹp.c/PoOtJ{»Նx#Vqf.A-5jn=!׭&u]Zksrr:w ʬN~L y%btYl: )_F'ƷUH3x.ȡ6?7#ߺYOhy>Xr\Xrj,Zp=@뇍:pвK?!rBqw!vގbgAn&5 ;$45B:C*6> qƙ59&㚈3վa 6BՀVܚ47B;C[ΐ^. 5Q*qSP9)6zڭ"R"ח4Q qyӊӁz5mc%K1B{n;?ߤ^wfzToIh Vp1 0#(#j j=xyiE頙zvy_PhgXG`_F)ElCfe˾;8'\[tygfEIFBiUSj AܧAɤGi)B=A 2T|o0UMU`]J sPlŷ\Q/C|QDN&RУ LTܴuVhnjܴ&ެiMuz6_R|VI&*[T/_*k&̊Z}6S>4n{t.. KJmM۴́5<3hXff*5uJ_hꭿc| u=@ތ VvuwW:By똇s(P-_8d0KҘb6ɗV'grw q#P'4; y)ϰ?plz- MA(U/ߪ=0o'M9* 6W'{"a |o7q!Vb~\aLOQ_g>> >a^+ 挴(Sjj\zSBv|VBMLEP VRࡄܗ)q 3g``ÎbzIp]sLHZ %I E6)I*&^#1X5@_=CFOYȅpu! z|$Ka>\.Ph8,Ɋ*O`RR~VWhL}pEjk޽~?i˂6Fd=)bY6U\EzFh{u$ QSEaI(eيSp."C)wͨYƩx!{cr6# ,'/q1 IzY^Y c?-l< 5V`ֽId7]/,Nm;| ^;˘\QS!D_C[Iä).ƴDcՉ$tN@?c crCx_h„H}H_H͓U0[Yo 0G3Em{c V0}Hoο+fp>A.݂ BCKhk~p;/|qj ~lЄpN<iB<`}S˰'x"sQxZDc].II]g}IeˁHqb2F]f&rKwe%/ kHˮcY XxѢ t79cQ )HΫ>S,#5HΩ%d _@v i?X$_7wݕ[0a2S͊w7U\'!r?2*4̧5SʨoSGr[`wx,=@}@'x\첅vSV ʐّL)p]Eo8`4s< JhPYOc$ʠ`J~ ] ;qώ ~~\WS·?;dA=sQI GV W07+`C&$a?-ӆ:c2oiAUc$LuD4Wqo3$%y}qk@}lɪ w+{l{0C~083o*Be2/ /VY$P^)V |6!..ÿlJ V<+&DW'A"T?,>$!jl3X$>_/blΝpt#؛Ku{N%yYBtY``o@ȏ#Mj6Q'nNMkt9ҿ{[$}5w1s $5㴛;?u~fНb\Oz|A Ϧ#ħ{~ߑՐH/⤋c5S: 8( ^6XC` |1yxn`{'VPtbZL9U2ُsV'.U;" [ ,>CDC=>\z܎E!e{XE)޶]ala=ԆLhtiȰAM 4l|!?+anzDS8xK|5qDIx`aCbhC!h-`ԉb*Z3@et˧qԀ/_FOެm']# kf}_L}%jocP-{ uf9(n &)mqa3n J0]`6GLM\G I4r0L@ ;"j#$uDabY2]/_p{fCZOѸQ^CVи=P1N6UnXU& 毎{ivgrv4"Cyl2* T'@ JV6Il퐲/D ȇAy<.nƷҩŘnud`ٚ"f?gOp<ÔAB=Hmv(ĎT% l;a;յ@7fw D7Lr9o޼(._" D1r& }SfhOF;hEy'0Ľ`q= b>Vp CC!u0 %u ,HPXLa2a+S:\_ Tz? O` 1MwYbuK9Ղ׍r+;\0ko")U6"0= x[8 /f윙6w Bտ?];-jf_GN!\sBgc O~0~z!&1/1oXƍ>X|>YE!=Tq:䤦hg{lE3zFH6ɞGZȘN[{_h[D"p)E[zIJ?bҰA2l8ZelI-r;y;i[&"h69 YHn-Oj`dbXZng qpQKoe*P?j%W z#tkrWّMgH]8䏼"aF@{R7 <L7ifNMppXdtX/Ca X6Hɋ CW#B,zէ9u1r 1r#XYdލPz9ffU=p!vHi&!͞:dI,gCcsHivLN:?&R5dd{U$ "i;u!D"BހGXJj Z؎`̆;P\h@8*p6PjZ^cѲB9C}%AI(9ѕpng!ROGF(!Ze8Qh04i1Xy4PQ9~4Sҩ JB+{ΑGq&*\B R 3qx.kuD zIUhI D&!rI8΄7\0--{XhGW(%dl]m?^ [|{ˡw =5]ЃIo%y>J΄d,+ :x-..V״[\"Ye*u-.ݳi…3wmVK}p>-މqpd֐)sB2eތz"fCʲBH `e`0m,! d`Wi7+WCnx^aZ.B\X%0ۄO  }DJAbWbc{]uN!u%f91ՕΉ1crӝ\:sGWcCWѥh՚'C0-M{|~mX Jʛ',+!$ nK]XXCY6ghwcA0q4q<9ӏA 饺xy 78b[WG?!O 7R'NYFmI\c':L'<@]vKOLtryZF ЦQȣ-O>q'r<8nטi/H 3&Pt*/h9,x!\tYMNe9%@n.ZR\7XK_Km71L{Z"B8ס[w3POmYyv# E+a&568 m蝼xaFI:NP'ԗ Np{~lȡ(2%\T;LTxqb"rP~lM?t,xz F9|'DB28Ձ%+'mޚfD!|E,)ցŧ| $XK (ٟ`{c5oXB`×nμ@,ֆnz˂&J;&xf2$CN]+1 z3}D-ajUBgdA1R ` &r9s6Ϋ8j{7TpXuZ_ V.B~酀 !ߙRY2Xʬq;7a%V4t5)\7. }g -nep$tqwKQAy3}Pf\&0IR#* vFNg#&Ü|w ?TU2,*z3jm;2k3gWwᘫ/Ke݃BvAw{V*IӴFc4k!4n;&MW74SM2TTշFyʫ+תcљ{Qr5 qQB%lj4lk 4cv}: 彗# xi6bTLfphA8#䷤[x/_\X5Veܡ(딮+ [ &0}6=ڶ}yo0>%jkazdᤗ>~?2^z:xi.%W$sOYN`G 1UȞ r{ͧ}ĹBE.ɞD0NEd"8S px"S(_| # |EɀDCL)k4Eh^GTO/i>xyk'4^'t=QHY-Q߰#$s!l)ٓ'Ý`%N&1]ԂQ"FbEXzGhtCL荐6I@Ior8yGyemCV@eh!!h5jXQgk *˻m] -PtzJ i InU軺2ygɻ ˟ bz}VV͔_6˝AF¹)㒆R[6msf .iu4Ʊڔe`B୆vSǡm) \ObЂT`i}@HCه M])SY5% ]5 I%֑\kM%.*tM%2jёXP=j:"ֳt[o.l #b=[X 2Dm!VM#FX6:Xn5(a'x~,ѣFJo|硣YMqwMCh̔NkQE7@VI\v̕jQę-kY18 @C2Lq΃9CG}qB s/^C/4u1>ũ`Kz Sl;qG~ɾ#~X^=LCkL?sT抃lж ldn b 1c p ~vKΥpoўB{z&f)h&Tbv?ts^2H~fwdETOR3r;>c=<^Uu@.x7}lP 0@!%CV \'"Mb/ rMo#DX?UZ oPP >CECbz)֗Kߌ痷 h0YMz=FH3vBK&H~`cl!3{s08g7̲ůH^T8~9 ᬢΡ9I4}%dO0x3٤$|JҒ?]rš9z`,x:qᐆ˻ VuwPW:$BĎy8Îs((P-_8d0KҘb6ɗVrWb"P'9})ϰ?pd aae\g#i`~9 a^aثzwa{aM\խW{S,?{/%7cPRD0/DsFZ)_z\֙@ozWZ^(|(nc|!&"O+\_Ve`)PBKy\|l3gfaG?1pBPL|^5|}$>t6_xw?-\*6ؔǦR62oc?$dn''>ҷ)'KrK-d 2Gya\G/"A.X5@q y=yddʴ NB~R9 o!.2M-G''[g*na O:` Ka'O4 p=1!Q. i` <+jTu[#vb06h9X{m@yruއ`gqI|.c)"bsGK#= 3 2-B-zvu@Mո"e!쐭Bpm?{>*# /`#Ufļ]*U?yQcw 2Bt,ZxSآY]Bx)>r Y[D?_cNb.}@}sm]u" cFS?T0ݺ;m]?|'! rsD3Xs ZcGV%p]PdLN9~C6T-uYp^zpiX WVKWq5c@JXeųDFOE54-.di[f]h%&5Sh;z" :BTZ2F.ԍ ~d]:R L:yjHy|7HvY0qP.1Iv"C.Ș( r~Gbo53tn6fZ(;lJڬD(t_3/Cc]KiHL2""T_.@1CmXʢ/p.[Y_nuKeaB%Txx:&Wz $.civ1,PzkH?C26ٲZS5`T&9fTpDF&*o| sc[/K$Ig;R1҃" Dbev2,ȿ '%-BHK$qC+W"/˔}hxɾ:6B@`AiľB}5?Cy_\~cw< aٗ9r%XO8>* E9 <J`na붥(\Yێ&2d+8&ߗ"f0\O9i47e=B.!={_J۝Vd jsCɱ{֍,]-=h1q={cT{Թp[˜,uw=Fo7~Ḫz {oПu}o[8i"}H_.WTxHNU {MA0SaxXzvrd;x\<9ԷS:qywPG:Ka WdzceM٣){ǘ ?然rJp  )9?1~>8(ϜfkFfkFf kƱf kƱfkư>Ɵ"ÿ?syT@"?\ [eM٣)y O.9c/0̛yԓ8J]9ҭ/2eSl[N!-*CӇ;!xȼ~{Yz/AMPxɂ, ,1%8 Q4ywp&^<+eoojɃ4x/VVw)COBIA K,hwjI^dG!զͪv524YofծUc)MUk7fzcu}Z+5+L~ =N&i"# 1V8)0Bc x-~'7 6vMbis{oNWӄdO#J.L39GrzI\k ]YRըœXX <9k,i ~j؆ObXH! .XtyѢ zjtƢFfFfF"i$ $1%7ӹl[vrnsYfKUs*\Uչs]ឫ"ձ\c70wW݂wV[ 2ېUlXׂ6l\Z#Uc W.y0apBrXF x_bp86q8UQ,^o[1x [ ;X7rC/]b 6$~t6y܅y%G,LK@ݼ]Fo>2g=⏌&!3j͔2˯DSWٶ|Lv< O";:{Q]4RTq.${ep&[܇u.nqppvsoĎBT%C44ڧwNC@FYPPRvѓg֣O l=x؋pDsǕ௎ 6jq?NcdǠEۣ'dF`x'1W@"~LHݰ9-_ eI=vO\[@ Cz]xǠeް[>-Wpa@GH;P3(opr:ˁ锢NG.&Aj︗B TM "oz{@ރuZɄ@ ym2—,] nu |a]`!\-x`Wbx7Kfq^A@5/ "T?,>I?C^i*6%r}..3F8)7usK-1Ȥo;KR|;"X$ ?Ҷ͆> ܣt(`3{zROuw@{="C$Xp/}3'K :AR1N## _B%/7zzk#9tg4'7Dh0N>n`:(!gkħ{CÎrʐK']t*׬Zg`os@-8˃x` 6UfaɏN$(mFuBo+n;LAu7gc'+*&蹘 feBH;K(NaYrm x7LSX0a1\i[49 V'LsXnL+W0]V1ݝ'p=A%.ZB"&]"k'qun*:2Snaha 1Pnm _2OJau3ƴruO#b`u1Ʈr5wY:4Qwf=rgYZНV' @ثnwՂݙbv!ݸ3{_{wfw#f&M:d6٤Y[8! 8!U:7'۔Cڨ6UHVd)qsf#d} ?4 2/qjV5AfWծ`42 hUk1Hwg7k-NS}'pNug UɋXnxE{́ȌnxE{ m  d9Hpܝ:[d9U"38vhv -;J]e6qPMc5h~"ף2+UЃDf4q)ɉiO;e|Zqj֝ǰ:d«üۚuG: iw@!U]2Ů|mff`3=Ŵsb+'a3-dr`91ݝ3wtnNw׼h wtlNwDpg[f>ت:tmY=צsaٹ91ޙ{7% Ή]\V)Y]wvrNwسnNIq¼sbKWuuJ ?wV#?#1 5Mp{RJ;aly``\T F‚'(څA\,VXJp@ ,p'**P!CU‡$. {W Ji_3B k!@&51 wm8 -1[rD(&VI,Odw3:`5>.U;" [ ,>CDC5Ǜ(C۱(ϻ?dk%=Əٰו-uj>So\vI6JZ̈́:PiB2 _dԟ(anHm ٧p_4\%q7@5nȳ$%E3 v=$6$ktb(!4uNp}Ի|A ɛGz{k~>_~߯U&Ծ 7KP1= Q:@ 9(2vh680h%.0#F &Y#$t9}ReP&aFK:0X,J._/mJ־h (T.BERoBe8RX*(sLjIPF0 ڄ6x*85C3u3wcCPqBܦFlBV1$3Lɋq͜e쉕 GR9V[6 : ]ínepkIQ6GM6x]8S7wѝ0PN4y<ʅq\ycanD[6iJRC="ߤ ߤ7h*@BR^FgGP鋶:DIƢQ& {_m/q+JF֢[wq]q>j7D#sGWœC2^E 1T86}ɩsJ2s/ i߹|Ӿ"`w1H+X>M!8ZR@O | ie+y|hA-SuRz!Bn[z_6h6f2GJ D("u雈]@)?S+/꣦Oe'Kt-:Dީ/w(]?{m#_=j J1+y Q  r'礳xᷨ)* 6RKJp KaK$4 \?[)Ξ_"YZGǡofY}=y2/Ŷa9,>䒬Bs$m!5+QAafzcpuRVQw!uݪ%7 $Xp\RwO;E->«+/|'qQ]CXQ"T瀳h%q]مGu={XgI$VЪc?Z۰{P'A51DFB8R8{E9ͽIGxTЉI=ME|S+i5d*0VPT7ha\1VfZ%Q yF#b9#-yP7srF_%AR77:j3]j9%TٝD@H3whtSQga|A1SF qǘ_֏)lPSQ56>:N띕., 'clDY=5D&57ތz~l끑j0G[U.M_W=pz>(-@0 HW( *a\ $A=OH}Fwo:2%HFK~!>t2GtMx?'p* уsj䐳8H#ؖYŃIiW, Ӄˏ-nt(# n@^УBٳf8u8uHFW3\]p: m@_I uFW u5cV:1a~ձ؅v.8yr{*@e8Q] 3;G59J0"CqVhJrP)9{}i>=!D~) gZbef$&VazPN1$N&Ct V c2|jbj`]LСg:J|1B+4:ٍ0q35R?`:rGCSYCv2Lzc "_MtmUu :x-iif,߶ ~5$y6gGJ#.Sue*u-.ˮM˰uwwHL}]6^Ѱ}-rdy-BvՈlR^I." }Si'?Qc \}&;(dA>;5,TøAѻZVUniSZ/O+ah_^ ы+<#.BuS~yZMib(`Ƅe1]y64]t.U0S wWKl^k(=(bx .~mX/(7O 2 @ a +! BT"7o$<;3Vmjt}8BGʁ4qd]<9?^Z M/yGHOh_qo| hBX^_ {o^S8g|AV0nK" m?Ia:]aDzA)9ՕIn$($6Em8|ʽ1s/>!ݢ`̓ż|93E/R5OqS*GYNe6ǑoV3䔋.2 tɒRcoN,n]-O?9fK]hr]o`r_Z7a ;p"$zxk! ^q8 49b,~_0v]2PY_Rak;CL"أVX-h.kKu2ݍ`Íke&0`Yk"&(D[ȝ[&rb2Hx΃ p9؁%3gFg–8Pphrp/?V|k;@#'J;ǟ&PjdfIeWA`2Vb\w5oW|mH#{:F,wQ</D8qjIǫܶ/㬏74A|Z׵q[yUmr:&8b}z~nnIծnInQbm[дu إg"InlWPOH{F/Sl_4>`@5-^iKbg׮Z)f< nɷHL OyE IȈ= '+<q#&r| )~ ;3˞Qޑ 6uMi8>BJvh Ի=UfۍIӴ Mt됭nK8 ]x xt됮!a5놇ŽIӼct=hlKN҄*ꐪF?:,o:,›i^õcTd ܋\9.%jkazdᤗH?₞&Ge5K6 iv_4 B( B]#kGtIE*`^؇_k;r@ƒDfL<{Wa?%KoB)Ax'@g'r rb,M(22)dWQμ V'4 [Zx^y6WmZ H8߄;J+hE-MBUHg^}ӭ&~(q<)a\K\xCࣼ!+,j1w5,D356ZwPۮcw)@*55й^?)xL&AVf'Ԛbdw!j<4ҽvxRI:UI`^` CiQq?GcGjC&rUWdA%6x SHZ+Ͷ_6޶`ac:Go,:$|f$g0>8vl XI~R? ul(-6\kPr?+*)IL\@ MBK=3q|454|MKU&뺐6H󺐮lBWI}#6X ̷ԝ,fȅnna_.eUˑk6\CгbFqأ?OGH@xVr:Doy!ZaB(^%; =c_+'lv6 P %u?g4_X,J%0 6Q*!iSB|2NuS4~˃D8 nwa%r*x>Fr]#qDjMfbeh{!9\{A[U#$2 WF%]ƚ\vD{Vl\ _m&+\?z/(i%ZTeTeF+zUҹ%m)5i64i}NͲ:մ;cpo3i=[VW=0d$6ެZZ,ae[j9:/W, Tu'\=DaX u<fF#ua$&Q+q&f#%3 i{֍ɓY۳6D5dm58:ME$XuAh?\^xy ,:^5x ̺0Yɨ`6i"x.}Ll^ͼF`v݌gF%6uqTyGPہeh0N fH@Z-qX Fnr~1/yuW9%1o,[,N>b|ļk860_Ak+- L%07Zzjio^ּٚhߚyaSk^tך[1EּfZ[Am)e`ҿ(5bԛWK{ [khI/w^> źr7/.5]YBօmwXn$lѷZ&1/xKHoV تs#K:8Uo-2b׈jCn5O]\e [-Nmaa :ֳ-ZDnU`QR^466lm9qENk-Lk%F :^ْiӶY ڪmv'qW=Yڦ8Uml+f|{6/ &h ho-G (DImcJrr_3EQ+*I :58PhelQPmGYgؚRC tbN!gEGj 'O#: ,'7 GF@j/՝wQasʲM}. 2AQ32jdP(Fh1,f}GDFpThMY D h _ *œ,z39it `qD8,C3&r8X|zŅQ>hҦ Pq@YxAȔD=';Їvh*'J1:!4|6.&gDVTQ }@РD"VQͥX"y JjzҼ1Vd爵a_u vRsT4մڡi X5tAޜ5l )fcV,ΓnxKir]de}nl7[yPBFsQuT]?_!/ov[عmP!ڄ%2BܭV"zstGr!݋sntyX $vA< Qh&SۓKps%[6]u{95Mܲ|oEB6{RWeZaI&s˫ ]N~3. }4^b˄)9fP6YSV~;KO^r o;g 3ujMO~TC^jnf7+~N?(>?Ⱥ/MIkNO]$m|SOٮǚ ,lvnt>|չ۠=*:V,.k!M7GD_.-|=)ڊ&+Dqk]YA?ZA?.xU$}>BZ!n=jy;\;7aưsc؊r^_B=/RmAkXT8,jr63u(O9CQ^CE.{[r-EnHR)EnJѫ26 p /ӋIAU/ҡP;3ڛg{"Gz?JO$nuF&\-M+j}Z\^38H`~F^)J {0i- 9*H tTp2C&*;40{ocpM=`f28d!GBwUɫo'PKB QL-!$seirsplus/networks.py=r۸ ])QLrl'>SIpu0?<]cuf[>0|Q( k”s>j(薇ѷ;: M<') 57Vu? $_՗ oY5rmSׂ1[@ԫ-gM}R0^ӌ-7Lj hsϝFF`E4_qo'>IȟX]0@qJ977A`6ȱp;8aΧ>-V*XWuWVX5ldyn.cBlW !_4MaMfC%)pjH&%;}~䩔Js/JNCf=ңEʦBF n qw%Û( *>mjB~@HtmɮgP Ӆ6Irl_|̃4;Cv=aD ZJ8M9iДҥr+;+-^;6 ՞ *Q9BحtJhK'K)Zѭ:qaMUE2HA*,YFgk1*Ւ/2՚<-ՄgsovLvYM:\I<*ur'YhnPmL$r:nĈN]v<rV`4ba%RSf*l+~)Z-F|\XÊwqak +{`3Y?Iz?KbPuv.̲,ugdJ+QC͚6dp и4 ~VQ%Xy3>IQ? 5խ+[yRٖ۫~14kpZ`"wGe1e ,upo=J>P7Ds!dgf)J-l^Ӓaci7%٫ #r 'K `Ʈ/$ȩ~=_{(:O\xȌcFCWWһf 툢(j)$u˷mThH#XV3vx˾y<$OP=uiUylOz]9+&&cK9?\v1.2]`%,dd$+lߞyw_مp> BLFCx+QR;粭!5gAČ}RT4}?YSl>Z9^T [qI;MsNdw_q(a2cb ezC)G-#P x 0L4 ky\@| |fg 5-?O Ú邺KP-뽔c'y8+E3Թ,4@4rE2P@(ն5 hec=,%l[bmmQO{<1%QG4ӗ堻{PR$JD(`ju^'f稻{D_^twJ4T| ΛTz?ukIsv~aO8 B OlC(2#-_֜'_#ʶ1xPmlA0#HjIi| yLʱ|%͖E7Gy+&j ω/رFmAv0M9RvISX-f.oJ!_cg9d.|N}Ghc.[sZHA  XY2h;Y4? ] W' EWdE YCz3#,__,wS (g B XւU9+4^ `?cTRRbawe X*薱GI8WX葱kد5PTXh,ihnǨJ@8ALm< K/)(A? &]5oFa5( ,s0 {DQr54jUsD.$^iEi] 3!,ORD^p!N<G<I}VD*0%p(oG+Ċ<-;Iqn柬k>_4:tm=l Eq__k0HXq N>+ ļ2s㆒Kv~rm_P #k16 52ui^8&= ~,qFfz)bHvh5_if<6O/~:==A|EHe@Rc8Z\_^eV9jk)oe)Hb|alwN[6u B#*CZW[OgAZHy+JY 6f2f"Re^Zf[bm.`1Wm'6(hqAip$RĪ.@'y x:l6'j(-1, ,%RkC>k2kvDsY? z4>N`|y0$Fz}z썞NE8`E)F4af;T3_U^ﲅ[/,UϐOõD#o kP`hӇg|=JMRXŇ 5N]n(A9%Ѓeq* ȓEmOzolOOrYi*M!蔈+uLjjJ( -#A~S.B<4˔O27LMe aˤsPh;O9/o:~oyqg, ({-bl€Xc֊B#`nMry岨*X1+16,Ig7{7*XZ^. i|_?>l\ޫ=𸋮:fOs1J!!/QXwWFzǢ2DKW+D-)&u .=R[D$ge*>Y|^CD,|^㻹q'Zu68ә%lBmX9f\'d L%1Ɩ8AiHAr^2p͢ 3.mo7$K!8T;@ f4P(i[zi>?i?ǵ,t9 }xy2+%$±z60U>`4zOu?ԥ v.0F픏Wi(ZC6hIeY$wz%N37oa A`<'ND-*mJӍy4'T&ё{`G"7=L`qS&vG|̣\l|B/ሏگisl2a|&y>ˎnooaһ{Hn u=wnuheXB/5Ay,I: GWoCiۼ#dPkgU{n}y/#Уdu,?a6:N}GZ`u~u4H7]0@Hs[b9r_>:!xXrr%ӣ4+'f!M˗Px8/Z< DE vCI2gߊ$<a`n@aAjELLf(v1Hpj1ä5Um !0uVą0L34&)|"]MR&J^ubi)4\7IQp 7-Yl@D:" rguݭhEXpqPE~-2̃Uer."VGmgʆo#\uX~hK\2C}+o谍g+a@ׂgA131H̰$瘸FTEe__XkئVMet$)2Z>8ʬn(•a XIT15.ΐjI#tx:be9Clj2ZOWAq3=kP_Z |Ç?ilÛ 䌽>}T K/wj0h,8Y d:a~iA u=qǙ}ʍ{8E*\$=胪J33GsFFf}u#ֺ8s:v։FE:9bi8H`7{˽Zq:3.!9 >y"4)z)4S {=`mK|y#\н.PӾFz蔔?۠7[4Өz@ֵd fL 5Ki=\{8M!T"[skN>rFGg-h[i_U iً/FU`"7*UjmS*rU;NsYMrOc4  YQ]s Rk)g'Q5A)k^?eSQ.J$ {4RA#X2u4Blw6H( 4sJHxދMҮ2N ZxgkG?Ô;d̂7' L-mTU"̟Z9XCVNvBT+~R\ށT(cd+c0 +ܐ%o(A(򏩒Q aL`UK+IUP>!^dʁ ٠p6dj<&:iwP/o@=ox}p ,tld]:o8_A$jD&ZF)I)rPkv)he2KVi%(+C Z+X:vC邬(m8Pŵ0/X>&`}wF.c-h^#sRO)anQUg0 "ˠԪUхg¼|pRjIkxu k:xjue`X#.Mkv[2sipBGyDs7䗣4r1~7" u]ط4-C>>|Ld^LG ?;Coʛ0;F.`h^9AqKZҩuXB\d&cQbW/F|ul^* P̎P5rmRQ{Ҁ2,F<sk~cβt%`}QG_]%AL|J{gbێ ](SdU`wu!ISTDZ Ix10[ l2,f`(/[hJPLĆ%6&%Pl)7nuU&HC\gNc;^%Lfiy[0Vh4_xt"P,,q't Taua=Yu՘h Hv'Zݱ[ݝ#hOuO6s7kDQ_.nӬ+-ٙDtȫ% ުW+C*+ -+<lKxI׬m_:%hl},JPsm3Р=ЁZfbD3vcvye&{qnx[<r6YKdz|r}yӳ mhdOB-ΒcשZ#1AYҨt%0˨e1q_ue_/25/C}ucƿ A) .b <2>' MmE|-H*bxoj)NEHs*~[.\ Z;jXvΘTAueœcG}]0ZnpR ^GCGVKr@itU]AJ[t:gŚ;DABw,u}a=}r;`69".oAұ~d6Hccf%[CFʳ' Qؓ|o$ܡ-SqB1Stsђ,Â.A~d,hJ0fmJZ3Y* B#.-Ńՠ_kSu:B=갭zNf;qyuwWu 4*a?\DH2Or^KqF*á9Mf3qMȔ)a0:S2l,ixiK,}#;+KWw9$) y>}:rHٿ˲N|:cov9u|vft.1tWWc`קSZUUAV{^(l0]fD$ GSi85Myig:$l g&I\gW"8xELGPWF^M A=Y_(ns0 #`:ݘ*sf/x RnA˨ GAA~ț 8HB M3G k (K ib3)*H_ oJ`1-Y a=HSzpfE(w/]*6{DCܪYѐI8 C e<*O8Z_i}{{̰2rs*壞Ub;]SXX)s籙7PK" Q|i#K&_seirsplus/sim_loops.pyks۸{~L2VI]bOuS뤞X -A'sAHB/ž/,-hCfe ͈$# QHO&{$ }ׂ.I,gq6т=2GvaF4̀,ͼ$lK:b<3MgY-9&wΌfsoA9?"tQ`>- !]/aEF2ngxzG6ޗ$ΖQB ,栌f _⅋hS$Jg7 D`8̼9E1q u~32JtY%Qo;!vt(33&Z (nIP(ϒކ(b^D v?FV8gitޝ-^4\e-:)wȪa{'Αd#9 >S⑄c/Go pL-|C+=2< gWGu#%~|ste=Uo8 ~ \Pokt5e+.4 4sc  ln|L~>* &4B@P(GC@3!@ lp#!F7yO%ko:Wnt.ltR) W(#`_[ TFC[7~ S5 @u` `M`z0]J_GRFތ+~8Y#yGSʛm"}!DɛW F& o5!F(ytn k|Ɛܗ1ûo-#5(gdxnhE50oCT:qp!:!qȂc!ݡ?-CjP1[S_[f t4?]kZ駖bO&$79' -q4.‚1yi]2}o(9{/`y1R.0ZwC@qŠ$QSn1GV}PbT'Ѷֈ+l^FQ!9=^J|$^Lpr)CiD8)66Si3>1n8t0[@8zž%ydc$9۵SXR̙U@ =tкP/+b(.E h)܁vl7}B&1Js Ui!ƘI\~0 ی[nkNWBgBz[>q̂Z~GdI^q {<=?ryqSwxO%q. 1yJ{u/tgQ*dm #dE[QC\Euj^s[LRM[FI@LK(0;T_Mx.x^Vfߍ V \,( ,Jݪu94N=|rUݕ{%RԺS韴g<χj,hB@ b|I/!ds ɄU*O5d Ÿ+V1U:^kQ Z!%8g:. O_`,vaB=e{W'(Kn>D-fA{%Wrr'~[?[GyF<p®hR))-QLY/sXr q/OdE%5M?+-Cmq&*N̗r 5 +EFXmv j)9!1͟^p4zߊ+X ?5/~W:"iŽT:kzj(ĶOfuF .o5*cIקdi9;L |d;;%ͭ{Y}sryҜZT;Hbo6ZFhRq($9OIn^SMɂ۰ ^wm8.*LKL)EBW^hbKF{Xe.b&" otm l]P̦IhǮ1OJx w#Po.팴qf_Û|~/bn[ / f@M_Nj/ 4>S4hXWװL+K3ui8 A=bqpЃ+F.|++XP)ӵz-ԡ81I[:\7w4qfu%<7<̛ & \%X(v'Oߛ {| ~S޲}C>5SpbuV.-M^>%g,-Kf;Ju PAXDz5CxܨCCyv%M~ٰ382NEy*^Dl! sX;F/i9WҮ.s`VXYl4!bDm?iۈ>Q rA$]#tI`aWH%.Ie*b]bykeSNYܳJ7MVxN9Hd= Έ0>. c5AcbAZU -NԮ-^57< bK.@"NUɌpHW7'FxYFn"@U"gk0՚F{,I)O)NpUTo s^^FUC`L2}9B,)2jSE$0ͥGhj0ِڷ(co[ -VgcٮwҞY%7d%kqpKf_ UF )-%5YYi㯆`uI"#nLx qP7J]Eu#k Ty㸐 ޮolsutKaIIQ| ̃V;z冼Bab)q Cͷ Ug)a +1vppk,P=ڕw~Ve<^,x?p Y=`OcllqRt<%r ?pz蝺Eܖvи 徬\ "Ї]Tz_m\4 ٲsm:w[g$SNl)ߗdEmR| L+I١w&JҞD5s!lǴ]ʗQh;Wڃ}j#L!;[HVz0%59`omfl.}]M  dTkPdC쿳i8K@9+x#Ydz@{𸬗a[m)ۆA/[,/0_"SR Ź Jfw7$rbK]2BJ^Bu%,vJ(F[ _JWJ73Ig-V)&Y?3p,k~ȘV|3Z(.uu::c)Wmcҩ\-"mgNfeI٠3FelJ!u(-mAb<ܮ#PM{]V_S-9Yl*;;HTwLU KdiDbAT bT H9=⯐QA*{ QL(|c+=4$oqO[rrPKB Q - seirsplus/utilities.pyVMoF=Gb@@ )3d -""E^UXCia~awe[]%-$~̼y;d28nםC J`'F&jP VՓP ;]!{;ً~e;ZBD[vM"6;v6x䲭ȮthPg]K6쳨5d\wj0RJcfLu}( +heh b'$WʺGLjƱjclǜ+V?FjZ@JބuګϋcQcM#x2HuW) p-c- u*a0zKW5su!rA|pV2i|}w:N|ÒA}w[PoȰz/KJ6u,:0jo@D|hkċKfۊφQ}-Θs Qko6,w4& ~/eK*QeBZp9`9Te#'T5Z:&5-+ˠno. {hĝBvV7-̻,(r(z 8;zT8޹Duo˔fJqmNc^f2w[0\hMc"|sh)u6X3L Fq0AC*vpvW?L7;r`ӯ ~t$Vѹ>?5^LgD %=p>Wt~)d>_mo׊8#&սZ.cQ q8|GHӽR?PK" Qx6u,!seirsplus-1.0.4.dist-info/LICENSE]R_o08婕P7`dH<a(~w$]I. a,vd}ޮ᭛aO東L'u#X ǩi#&cut4x<!vjhPdƻ.\p 5AdP`<<#VHkт LƇ6anG{'{W 3$=& \k;%y> sƈr|sx3 ,^~[f+T5%͂ilQe@0 EkZJ3Va>fr;ZY?zo8P[g"yEOPMʵYBՋLD+^{jWNhW{P~<@,(KPɬHtֈe&+$J2->ZGl#87JJƻk(vP@iso4Lb >4%)w^?Uy[VZ3NM C)Y XP Y4;x *_\ISXg)u*Kײl"FDZH \G+_BHO$0E~PK" Q"seirsplus-1.0.4.dist-info/METADATAeN0E&UV X4$Xt>4(XRd| R&y<+/T8CC@wZw@53y̗age /z=$c}dG4|+Xn:xA- 7A[X3.]pT[s|z/upUг=Qu([un[OnB?h0ۭ*L kgYZ,KS y$V`ЯQ[) [ek 4#!S]ASklI.҇z TZބ)OPY8Ie)(DA?!(>Н? J-A,fi6=WZ^ZBe3e2pdAc[,io|aȍ0}`@{9/_O`P뀷 U4 (=h1Xoٵ׬@jΙOTO+R,/y0i*!~[@§ e7]. bIpr%Fw%Vap>xɀMJ:!UIiK|}h6x;t.Aq;? Kdi.z 8F a}'w$$6\z2?rф?|peT>zi6K"PE#e+o.ñFpЁDI-yP7@_^( R d+RgP*A.z'!=W s 6|EnOmxnoo!p30b땫XN#~w ',MuU8 7\RAdd SF׻Qv=n4vo^nbu;vEm {1\GJp2kCuIvOBHTsn`Cj'hJ({0o:ƒ.ho/C0C4.g=>8<Վ5ڥo#`Ƭ} @ }t`r$3Z.5%Ap*G7#Yt捠Vfd +X hAZuF(?G`p;!NqBz -} zɆ)@_ح?$8Pe14a~8u]Kt  Rw)8u荃bI3u.y Hvopq&b3,MZl@R&',c E7\h@e-EA*ŮC`Մ}0UQݣ#aRe=0@h|bdúr*|N͑\i`ͽ_= d.B)\̫EAbhB XIPSng@|4e#pF f.*@GX}Vu dU4@5WIa0uؼ*N##g *drύ(MW )JF5!}J#$ %D8 A"k-JhN%ϱ:"m+9/aZ[e CfTZ|GL(b&[ vZt& oݍ *Ly[o=:BsaIrOq.ejvD_)(G#I(prD=|!Mg`;$7 \5 }FU25^Bk~BELv R.C81U$GVe=BP.w`xV6ŬJ0#:7+\ (R /1ArGa"d>m^hLdD.DE%A3$~% (#/ % Օ8ʗCLjEjBM gq4p/vGП]z T}|b~YQQp2(/И-sF0+ #%z1O4lJwH\RR?%x@( $ 4Ȧq'a%4UpO =)H b?i)K$=-TWR.焺dz z<UY֔T % uvTGo?1uҀJWi5\!Es]ctqTXNuvcMdEi>!m#kN.%G1 8h/b ;r5t 5>1O>ITQKka8[j߈HBl`Æ_O?4%١5EֺDY%loG<=DR- ;dJ:T%^Z&k;:ɋg'MPecQPUv^3EHH_KZ >}\͍XImg+W߷$B<[ '~Ic^o<]8N3Ls`:Ȧ֛S@K{R H)J5;b6F;;ɍ?O ؞&J2pf]Il7Oj õ^qbPncY4EwPG&MA5 vV Lfy< KA^IҰG\ :>,Rɲ)=D9#xy]@wIX*7yۄ'}G ~H%@[*~'ÃLaP&SS ȧG-H$}W67) rDQ]*y<8\-Ǡy LPZ|msW?K NEv{69JN}(rںgNZEǣb-΢11wH bߠFR05}",'=c>+9,ffFj~_p'8 P=Ümw_)5r/[l&֤J,T!dϾj qj5~Y[ g/Tm&y4VE87>ktD*嬩\PKݔGsT5{I i6Y^JG·aЛ͒H{y^DJG_sE/3?&Q<\XqKrB/$eC9j&`DI"uAdڲ{Q%r> M&aJHn֩5(~$spXpgVČ,9Nc 4_ySM:Tu~]'lJ{ΑHTr27!<9o? AeA2GCT( 9"' ނ k;\\#$c5FTVYXs=`kRZ, 0:7\hXO, tNA\YSU+5jG^[8-6ߣ9sNYR klUXScf&VyE6uqvZ:> &`\'APLB|43f@hf>#ZW\;FX |aza m pF@ۨ9 ;uuGI}|9؝V{p|f\S:Vì3Lj^kEXˬT*^l `Z-V&4<H-23λ'4Uɜd7\Ps}EAwŊ.[zot ?-NAT}oWYa sPQGM:x.4i3Vb0^+A`fk??N2Z3rǥb7s+^!f$ҒUV`ySۼKYkZ]jZRa QY~ +Mw)-WY:VJG#euܺjۊ] +R w8B,:j|\-+4bI޺̉)Z3mbxmiZE ;$+c-q%ڏYe~o8#W}[4\NHnc{ؖwRCm9Snp - , -=`P1 b?|z7ᖽ&Mv4"Ghg ;wf ;-݇/~62|*ZnNl MoUbC]VbZ!־i5PTW6̔^L:/xDO.G> BuT3b={Mt|N>o8 .wNP=LpK< G=ـG-.dYo6*}:s/XM?փrk @r.Y:j8Y83+tJCȘZNP^mpfK.$)d% D*zs\4и"lG wKs'\,x9Cw.)ŏVJgn~#Psxbw<Ől.=΃LtVd{{X֮V/R]G5fN̙2?hvL+kJ KutÀpFHRK&lCQ+ǭ9K~Zj/m|"G6?tՄkqϠ,H-Jȥpi63 O>ϐ p1!P" h<5" B3L3 cB\O(U*9[jhԽ =~os9ݧ#qc`h|*S0(`ֲ"$6"ŎQ3gPSҳ*5;xCp|?{\S T PoE,Z-dz\NA|Tw3*x$qK֚̒!˵++P1B4~A'f7G- Z1f7xnUZ/*O׫|‡O^3BGEȇ ՅR% ?l p\6U82U:)+h%,UޖիRZ]=eE2@r^e*n[W_²!$cuDE{ ;W\J2qe>>mQ)P28l *}p*(0!cOV?/t鹖\Z'8 TCsYVgҀk6S9R"Utg~*k:"=mg</1u2(ෞ Ǔ"y:(<4,\rk?ΛZ>Us6SUdTǯz_4wv --&R!~Db1tmř2EE™wzU '*;Nh,e~/tN9QCf՚] l:員v_d~{K-=_ۯx?G.\õ?U#E.V'*!(W~σ]wJJEs9@u**=bxvHOFc !?BqZnj ~52?@C\wc`*| Sf*5_ɎD|,fA_\U%tsvV fg[ 6䑟iՍ=%v3g;?HvQ8W$A45P U>#ۄ=pzo5aĪw&^fCn̂ntMl vMl!@&̍@Wi:n !|~6 FT&P'Wp QiVh7k,.r^o2aCuG\<3"v9t?k76&BRMrhְUS/B͌3-m? Nikt5 $[߉HÍQ39{bRMP! 2l ~ݽj; P^wMOnuk e[M$d)_;CaGVkqdh%Ux o@ `:^ek >pjOj7VhU-AZM\&;F@BQo-!Vfv9lhF~f9QO+V4 ox:TOG@~M.3HaC9kέY?8>t~-?rƭE#ۯ#UWA.1%]!aw$| %wy2tE=AHu~jt~r͛Q?Lo&nͻyՌ߼l^7ͤy̚Ast8""wϲ,kz/A8i`|Rm Յ&,Q~:I'Mە #IH}Kj"x ^@w;4CؠN(wDc*pMM уJ5pT?XdW 6-b_FX#Ŗx}8:iI&Gx?}MX(Bb^뚻2~Av0a'T}p0]5s{|TcjO"Tb9x9-4y CGlqh:l%tkvNo* &6k gl:eA ،DMi*sISR| xCMtJZܤwƒ!E& GwD#MSqϺ=hG/VtW ^{c y7$důҁQn*nߚKn%h+St0|)GQMA=$ Ūp0i/N2J '~$qYKvqմ^S-P{ oЖ _ Q7"Žs%EH (/WC*@D3x5-䵨ZA|IiV}( ,}_p*IB2%͝  xSLL hv\lLN3OF9cee̯j-B^d5K 5±h4܀o.uQ%&&{sOJ+ Qv75_t0:*c&VD1jULe"hy8Q6ߪ.k 2 ~ބ2qH /0H]%{ ٛCܖ/d0"͚XybQ_-xEF}-i0L$WLL`6PR+=xz2֠[ܻuw%4Bp{4Юk2æ=FAO9adFM9E W {qdGwaqnTQ5\96rJnt݃xc̄Qy>3$f\&mD?AjO/[9k򃲂p]wJ^dwWBs wj/޾v8…p%XK?8ྂ4ְ!/>T@}{-tMo.g#& .(sʯ)xL5{7ahdevqsNX2eN<\Re8rQ.&)TWPÛ$̓Ëz:Z*E(N؍+~#vm oxoD#OyX lY9 LH,ҧ]dtdq&Z¾Q6ĆF(%uv ],U27,8e|{^)7L,!moBB&I1gͲ>>"~ZֻN.4o')`{7db'@Yk,-be r{Ž]vt9c-`mvH멾#R;&?.hx3tR^q}kotbg'˔pa0]BcGpQ &*o]wG'nU)yrzrheӷ˗Kn '^#N8AbTP'G_4t؀l/h5|0>~2dz,lY> eb:?/#츎/XJs80_ZX{8 kaAƟ(x κDkָnŪ;O(O؍4&LZ7LMp(Tk?*7}|գtˬSckYBfkT|fVMqȋ% E)*߼A:Kq2xy ^`WJFTC/Q>Z6ܗaݔo~_gBf4ǩ@E2dZ 9qח!ZE"  ;t p(Зy-"\ĎCm,N:|]O х&h L%3QhPf-Э8"\I.$6dbN%t8e"q*V 2Vb@BRxc% S]K耱*@m)Lѣģ :Gyo)J- -#Y) BjPQ'2 .n> 9ơK, FWAZ?#P8Βm*'4İ<ŭ鐤2 Eor4k+n,؇i8a t<}L<ׄt=S{&lEzسf|}l«Q ni\;B"(X+5u2nZAi~hjuK>9yr-l($.Ӽg=Ù&Zם=OٴgɺR3sKcƋ'dXSEmCb1 퐿Ln.ɵX"SM⿨onU橶 WJ "Hiχ Tf I9r[(Dn5Aţ6ة*›⨒YWG^h& bÀG^gߋ/8tg^B\D!4 F!`V'DI4 ;D7ǖə5wbIk zafE4R^3j%3 y@4J)w&R":&/`~t˾Ѿ*lD;#,qZ^,YX,]X{p:K.lkaSgӒr Jg6o.iR$智]⒆yqAqd6vX\+3?ٵ%clӁtx(6.'sM)%ApH$piDXE^bؒ5{AyxnBѰxDDl"&6MD*bº&7kKJU,TZg!3<Mgb ep@BMJeحyUd"SX0y5EUA 2)|ªeIQQxjY[0 v׮|x*_NPֶ m d00 6:/xiD#+b43yK07~,S5d$N7H.9S&HA-j䧠rPPT7hBi<zi86rPa.q8|u8m | Q_ HBȥ%y[BYmmvB-߹usyX9RiH|˂ҐfC|MTJ͍"aP)kl}KJՊ!n6)#!aa]h;iA)lg69: rtjֳb!iZF Bk*DEת;W;bʾ[Wjq2 VCX-es2As/$(>/S|~΂z e݃X] kh$?9I6H&m+갶%GշdTg`~ UMc(cUX5ZeNI"VM{^ć}@7$oZr_-?U'Isx*I5)uf moy?yE#ߘh))P):v|g:Nu6ܶ\guSzNA8{wSWIۅKHǿnJmwMjm[-NuaZsKRw2ϛE :kx]Oҕ)]JAa) wnu wCJSVEn,WF fwSiƻ)]EP_\SW|oJm7M*)wV٦;[gΟ-ܙrgRnۍwSlʝYۖSLv|.U8kXա=~vcImItou=~v?SN Mۣe@;2,P?C.PMuCPyFPǿhKh9OnclNOc7s,Q+*kERJŞ{Z({od!|}fY E9y2/H#!#|;n ݱSR8K59m}EFʷL|vI{>lpf]v]:X[[@ Mv#E%zMcnN_KHan϶h "vIh%Cò2\v%M%m)nivI-z-]o$ kH? n:q'ڷ «"BZ-Lxr[ujKkԋfI`7v?<<5i[Ky'7XhdTG=H}bY^V)߀WoU v*H07}!l$0h!# +5*GfKӫ7R~V}r?R8,V+hY qpS( DrlU3yIxت̦`>W0o tk)hO~%|&Wt[J<¯uxdkU5\L&@hp@a<t=a<ד*F* @.Rhv_I$jKoNߚqǍ8ixu}#yJدVHYeQNt" hBP%(G YBPMT]XC9RZI),3'E*sEK wEz_CF% uDHYBXq^,a\|ܰo[}.AA(dRH+J HAN|ou)2 ZbHVMF񃌃zqH*nWX*z=/qgq}}- (aתJl"J^PSiBa# Q=.fΧfzK?f p& cЛ d`Vi. :r%/QMs.󲠢=aP^72MB=PB]; hpijbza0eY_;x_}_FmaR^1>A{v+M0cl Kj^Cg6z CMh!'B4ÀM{c4yc`tf4[0'c4e*بMʆh`6KT@#TTBϞHji9* <HMRBc@PTz׮g1wDT&ǿ:)ܦ0v0H'6#6FAr39sCXʪB WЪyZM)uk-f!Gmڢ3rIR/[QaQ7ѮHݪY0Ieo:84Df4 WQ~+x *"l[:@3GZYb5kyН}: '}*C>E(z. # ތZ<ٚ`9bݎK[j᥯8ݒw۴9ҷݎuBqa`_~pҌ{}lMoxS-J?խ,wM%Yqւ}Qjm10jc(( Lǫx\( t2(br]K} V`-Yo:+`l r{C21JO9)N.MZpr[tW+u6]Uj4ۜyV:-)[%z-rT'5%oZT[\Z)_kTऺPпek+Cr1Z@Lv(WP%7lAo WՐ `ytD[. jRKEu6Suio.9mi5K` P&6/' +gv6a7hfOl#qZGR>3ٍu;2cT<ߐ< J0#BafuJ0 RXUl R V͆)ຏ;"O {_p Ntq&'X;5[ԙ؊A[,Aנ[%}U e]G~ǯ*Kɯ][*BW`+ƖK9177jg4V[ :rIO U^5g=`2vOcwoUxcj{t DPknzx/\K?mN%}C}ǍgrBd(d?CMrJPyAH{Ey-ZWka9sZU%zkCzEz]hD$$ O:ቛ"a4L? xbOAtݸ'A͎asgýZaLK!|%1յ~W&j:%t[MvK\ ۭ[Rі{/A\՜Tsj>T567-}P%? vCV8p X=E.(~j <Ck5 7r[4VS"zVCOm&+4æ PTi#R P騭3*_Xϛjhbm/YuN)Jpp+7p+ABZMҾWsZ ty8J dɸ-Qd渰Y+16tkHw fȪ vȖ])J=ސr݆|(\TC>,hņj~Y%(Hf ĸ<^NW{aMX?'O&xF45]4 t:!`xv9apÐA ?o6l=u>#;b6a-'e(0?QfIx9{>mPorI\`?v$F=wj>Ts4#0ŭ  Kf)?ăJfFIkkfit)jlqA^j#dhL ,kh=YbԪۼn':.<a͸XҨ-حnXR>~t+B$Y+cF]_b5iZ[L *LwU0| :ؽ-;;_̩b0A=5ht, 9Cat, a88kUaT<1_f|)kA4h؞mM<5U}*I8I hi{5p2 lgT#Q77 ljEq tdm J>iUE4]'@@.]'W;WWϜVx6BĿ'NXMMuA2W2V:RwMeI>l4jsk;tG*8>,YS+{ͪKáuC,z(f/0R5[|:O~OZw'X0*123_ H^:9:L׸_} +ńONJ 2J뜸I ,):mIQ=IS-reTr& y@Bx8ʒptZѶ56l&~7! \6Y Ȏ쟪B򓤉c<ը\sRGnЖG7^4H60r:Rj;wP\gSmnuV\H9dkӿw7%h{U]8i/ h/x름v'܄mFڶE<Qܵ;`9VyHޛAgm+I2K=8Lo.'}ؒlY.&4uʶ xOW,ЂuSn("us^nӘ.eح۳-Dm]>Z}mа vIc>lIw[eZ]Rއ-CKm);k菹(A#73|_uۆ:oZu="\'cbOl|vi<k͒.Cyn:7vqSܮnU77 B+Ϫ: v(khph:9%kMfwM8: U+#1"U}x*]W7UaDfՉ`nBH&aSB FVkTD'y嗦Wo|kYLeZF o7tN; ( DrlU3yypxaVa2X^`p+]7aDѵt ϹJkEK4W=nRѥĭ#s{:Q rex< 9PY𐵪54"{yH q X"~ƠgVS O _]91~4fŮY .4ccOXl{~Cbt@)=9$ʫA# C+ qқ~Sed׼*QkmEu}#yJدVHUjl Rny% hJP%(G YBPMT]XC9RZI),3'E*sEK wEz_CF% uDHYBXq^,a\|ܰo[}.AA(dRH+J HAL.S5X"RTB< /׋Rӆ !71V"^T-y6<9y۞<_勱bl6Xs._u'OSG6Gog~xx|90 0}Ól-ꍝ?A,=87ǯkv |P@Dⷁ ?=\pIetM%bD<Ҁ@1M㰔v^1#R]ؗo-jd pNo=fMƁ(tKf-D[BBI.$6dbN%t5).M#jTLT UR:ڶFKLt Z R`#QN0Z@hO F>zt@XjţG'us@ݹI5S`(@sX-ܪbxtlwdfzSL)2ΆB S]hX '@!(KIctj$9)XU ow0 0CDE7FӇ\X[SIV5t\et]ez|DdwRκw9_U]F=8`Z@k _<}ߵvQ),F#ݏxS4W!oĞfn>= suG0ŇU63>ޕ?P o24 &UV3/?Xfq3yh_׭uݴۣyyf<`U^Uy6O4,Ž3 ibξ ^gv4]eP:svA`teRciwr#ALuq#J^ UNpCސY+$:V)VuG_#`t'`3xx#\.xǥ,;k5ꇛ2: =CХ(dN18f6ad,BkPNhaYSI.4o]2n5Fƣf<xW8L[L?]GEY. ;֘t ZU/J%;84[%Q8Βm*'4İ<ŭ鐤&^ ""&57N ?C4qpTw@Y}'MHb ]왪س5g+bÞ73W 4g^^"HpEZ:B"(X 5u2nZˑπi~hjuK>9yr-l($.Ӽg=Ù&Zם=OٴgɺR[r -FKOȰY 6eMv_Ϧjm63H#J^0&zVR@:Gb}Sf0qL] &7sܸ9p 9^Ʊ3m'8z&S {k&* 5t:7\!eF)Boe~w:&c?qHc@Bh6w?+%? u$C* 3 }\b«y/]QOeV`j⨂bqe dU(r+^h& bÀG^gSquH:쌝J=Ĺ9a ގG\ oL폭K"O^3_t]?"^PUqӹ3)ܖY$ i5yabQnZԄG]T, r=gY,(u\\gYdEBɺ˙+lπ2cA$=;4 a**Cd m:&տ՟oC|t.@Z$9υK=*Ŗ,qx R[BѰxDDl"&6MD*bº&7kKJUhO,dq lx|ikx ~lj9ǵH5/Wd B:Z 'Q-Aq{6:ttKi[ a {Z힊avIUS7X=mV'cs/mɠpx|x7Xc^BmV{9V%K/1_bl?O^N^I%vS9Wcz ;0uoaro%teeJQ7/v۽cy܁{ clJbciRF~c%K/1_bl} s6>N1w(?۽clq 7 輱3+x۽1xrdCWc{97sz1{/1zfKgH_blj%Lh+ƶ7;[+vE^$ss8van϶h "c%K/1_bl~cwc{+~O~%zهI='=Y)~O{ {c%1{=wS/_bl/Ƌc%2;F$|D*b҅xu:7~z!x=/qLZ18[9jZ+@;>d3#([5"h\s̴8Mb08\ %yg0 "6#aNY<zJ5*JB4:y 3: Ō YZBuI>SXVXĹj!`j1Gإ>Q7*Y1'ˍ^>F4djhC,yműWY`9Rco)0K<ŜlxMx%qI`4Ѝ|@eX ;d(,Zqn1y!Fݒ&Z 3B#2`Bez娻ϩ9ܖpvf_θ)en[grKFbŭYM;JJ-e-(s@- 4'¬WNZx;9 c]W {%#2ט[b.>L0`FZf$>[y)Y{׈  7ޘޜDQoB=+| [ ux 3'\wh4(NG?})npij,19IH^rkx|$k:E|f}JZXnSh*]4ET'9VhOҼ8t|FgO$Sd0-޷|dyy۹𽖎IX!lS"De/ $ ۬E AB迅5ز* b-wL8'', `cMpRkZ8^mFwmV.[s'{9׻ 񳳾3'kEE|oVGvl'ӑuhA\4cfR)sTx+EWH%!.i6wT瞉iU ^ y{JOO==ŇSik<9BwwD zx5$R@m [{'פSRMjWi|`2IoVB8/tH"ovUGvX n]T,I*X& y`²sˌiVXԡ),+Lg̘U0VZRn 1v2cZSXChʕL,+@j=j=s˛,ovZ`Ya2cƩM nؽ9Zn-2ֈYk81ɸ'@.)-g;r/ǥt*k͜JH.*aZgҮN%V`ű\;/q&G J^~LK7dgȌfHQ7^=vYW/),;eS+*N!YcN;'9l'[:INB%#ֿ֚jq%-etF1סZMޒ;B$;4ݧl`GWdcdƜANA& M^u58<K w] = @q1IS7̓ݚoNV1zQ m!ϙ`3P尜V}qb;nV.'cne2`1s^]"&|+/UnA5,*s_ASIP^ 1EC_=4acBk0$')N8K+Ema=q )t ;URpvh|A&Ww1׻UnW$-VĹ~'JA?w@(㷡eERsͯӟ{3A^wn?P! Uzf}E'c^>߹mD,`![Hgo.;&zi5ѩ .P$w6!OC28q%lЍ%Gx0GOxaT,n>8>`=h=x=< P/?X$2 Tᒙq".9Çs܇kѓ%|ޫ9{|oNk+}b*~U^=kx /k Y=|Bs}f5ḱ jDOA%[ֺP&UzeUPoՋE~I<%= <`Ϣ?w=j q Y4[(pw_U;1W Hzkv)IKڕ?ϖ_ª^u+ZdɪΊUlqƮ5ܫ"^'׊f*B|6H֎p*|< bb?Uy"Cc*9^h׈S6:U1t߉qk@W$b0uufhNzkG\9ySt{`{P{]ηV,2ݺddgN.0F)+eUuC7]EӉy@eh=u]6^՞@!OPʸ+ȣ0(-<} ea1ԯq-qܔ?fj߇h@]_Bmm Jԫ_QnAIY(1j' sn"$棆d=&{jqv=B7|ߠe9\ ڹCӤ~ :x}h7o¼EJMjs)[<\>%l~1w.}U@UDN*Ř܃v1a b Y<Ղ2H-0rRé-!DhYLUmQ$k );m͂[dEmbYX\Z7ڋHQ16i;7EodtPd1p'o !$e'a`Χoq,{h9d\A1`Br")L$sJ@W:Ka)CRXO6\2,Gڕr }Os-+{r+\0`kk"Qy I oE*|dO~ ׳Ŵ:\l=+Q4_Xi)QÃ|93nW8nύ*P'+ɕ窾\_x= {d }s8sc(lB s]:洍cF_ qcL7ɳLΑ }^O ]ZM!Zq Hrr6X xN6&GڂB,.yzQ\ܕU<ߥ Ri l8Pj%;!4k9WmH*hdr8Vn)Nr#ιaAB/}E+Oo7M|S#&iDe88KՒ4@R ;q0U`mɑ=Q͌&$ْf.xr٧eapF1sO Wȍ`nStJbU5j+ȋh[$$ClfuL==DzX>^2vX͏ڣ1>t}Hyv>>=z_` 4ia'-p@rI H<| (C5~mV0KV !N!NųH8 !`0r kY]:'=LppTфe;R0)B Mv٪Hw5C4Bn8Z|dg[ !YYGXЋ(\Ld\C& g>3r`G\lA|Gf89@I0su 6/5Kdim\v=GNWxs`dYDFIO;! mc2t.I]\2\Sfefvq:cq6Upqئelٹ^X.[<<[]Ӧ>Ξ+3P{bRx+s)W4ZE!8UcMgnB;~:cL8ޥL?n P3h }>q2EA\::(i}dlta nhl.bCF2ǝӎ8A]ֈK9\jHIM;" @F" W&xHCIo&Z;85|u1E/*OM~$*pqYdjr>D&/(v,9̅}sb8M]b]/a++|!c#̱.%"$n%N?A#MvE13ɥ(,c țezkkq#b5Mvb$rh%5JL@%iY!a"cPbr[6=΁۪N ^Qk4LI5/H/H=iVL@ȥ|8JwJ8|hoH(:dtt[lxPvK "ܴ*H6p5Js:܌0nIk8qNkE"] XiUÇx13Ա|P׫`W(ؤҴ8f*/+_j<"7bëCuжgk6u:zt@*a ROy^8#@m(]R=%$w?G#GrGO~n5v,so5r9 I.q|F+Zַ 76oω>,G3# m#bLJa!;򓺕[Z@O\!L^9iC54Aԅ4UAօ23 T.$zWI25UC2蟐K(@`4WKIQBc]=Cp~1 ~?')ėg頌z2`/ ůѷˡ-Uѩ=) " ==A(qNЌԼFL q;&1'`Oe|7A ޸l2*P-_y=P*^`5d:ϒ;Y.вˁ+FB~\kJCu%Qq.9+6:Kk$iPt^ ro-c/ YamA(e[Bژ~Ϥ` qɅ4>mͩpg8z ?eIBp8 0FȏiGܨ"1d.|;A tZhnum9.YB . ]zxXܛF)F@7HecpS2p0pJ1LLpR5Z&SޛWTz&NPe>4iEB=_p s| ɘӣ7Gw#[pqQ]B;R3tf_ {%&%&nV W+Ȝw} 9O?eK4]K؆JRTCגxj'LԹ.؍RG@q:w(mE ߇-[$hr&lw NYiV=bmB1=r;o<k-uV n' fT9/cy;䖛ZnҶ&uTDr-gxuMܤr?o6Oh8m+7*hPOӤZ}j۰P7WiHM[\V4Wmn\4bm\qx?ni]kg@-ҷF[z ?ɯe!\>\Yݵ LPoB>E +5\DQ?SOvGPBTUHk~8ddu!2- TH9v!-^ZI!?_|tqR `8VH0=WnJOH0N$&WHqGh2@"}bs]Bv͇ NpYP4atW"i Ԩ2FoWJ~Iat"䠥8R5Oѱd/k`!xdmEBCre2饒oLrԖP=G G2ӻ"1Z0!uq?R/8%upNw6\ ʵgɑBgUX"H1FƋRo랓x811 GF #JI/<ޥ$#DG7$3Ɯ q qԝ{BIoMmxyQ~© Da w^>&놻n𰍒]|S͆1ct02[6£ @A7@T*(nk s;)qY9WmT<;4U*帚Q8 x|D ,EFhi"Z.dҶwj-q7iY=yڣ)-ܴ-1"-#ԍ NĶ)>=kfVU*]_YjH88H>' ',)$z"=4.fS^!w*4a)])\ `6}Sgӹ0R0ԇPR@VqB"T՛_bJMWA)gJ(Wlywlu^)C.U?dDJM*<+~>!!= B2d+pa>9='\=2鑹IϚݚ|p1Ї }8.Xg hmcqі"˖HR[?$!p-WtzH:+=ߥ4Q?m`.;7}p\bfU^ bt%zdPd?| e¾zԽd_Y]@`ľB}է<TsQ\JZ>_gˌ}9Q#PzW5;rLy.LiKd ׇJ1vw;yrl!>:2ԻїW~3"ƴygDjwΈ˝Qbhnxi]={qƞG`~;# C=WAj:}A]gt>n:#4htѶ nnT}AȾJVD0ʴ𬢝DLfg?Oaji#ݡ{Jm;c*xT9P(v BU7LgDأ {4!cLE5{s m )*| 9?1~>8ϞaMքbMքbM$Ú0I5ɰ& kW!qGzc?=&#+pFyJ~@@K=GQƓGx21q {Y7{:zEЪPVIT[f .7n yys·u(nACPp{$1&?s+'λ&OnpXI'sPK)5އ+X>>0+w|0bDIqEAy!~sM<; YmҬ[ѩ]LqkW#SΚ6kVY5RڤYF5k7Y:s WQݚa'Rn<!kxsRԻ0B cA \wYCgp4 ,6%ȱjl|r_;7ʍw[q>Vn4tF.Mz3"ft6=bgQÀ IMe(qLt81M*891`DJtqR 5hbkXC6 +J.c503U4gF4XnC>jV= bqcLgNc850K* 3#]KoW8&:]#{xzCbUKU,bZ+7֚u﵀DCӍp˻4"ՆOk %u8|E\r\pB\fVMjr yLj._5w dDUUT iSLIkYH[e{eMm$k|nqȼ.c|qǥTs O(vpsW߇ a4X']ED" |ࣟPMz|ؘ@ibz0 7]+2<%ZW#G<9Lq?pa}uglO \d~ۯI}\}Pϼ^ohoGJo#E=vmm[oH~HZf }rx XE8PsQ558ޜ79ilrjntR7&i{Qs87(t6_j~ i*'s{-q !Ӓf~D6KܠXy !* |I_$@e@uE4Q2 >B-UHkC|X2srJ~O> mvBBP%l(JNY=kDuٙ1Q/\Osk YΜ'2_.*{4O(C{{L²$'r<[*kчp,q h->+$Вah4~esD REGNTvS濄 TϽrQLCĩtNs<9r{;X!%UxtgKR8QQoP/α?1pl݉¬އ^iׄ_ !BIRtzNwBDC"08yx[8e ZPhRuLLJ X1ƕU/}fb0 ]!W Bpe̴Ej[4ni ,3Lv02cZ\tKXŴ=KXJ !qVi EL!_Wc qθ;3R#YYSՑ ˊ(>;LbWر3XfLK+~ i RhjXT=,`y a/v[1Ŷz9w%f̙Efo,1{c[n-15g6ldQ)"pClg\ cAtnpEoj%9 NNtW FFtAj IpГGCzeᔩǨ[a*Ԯ_ItЪbb*W7k͗:pϫ— J^,bIm_e5" 2c-,eo̲œ, =%Z!7 J" ;Zs)`*?;C跒`;)YNk :mÁ|\( 4FXlS &.eoҵ,pp=2XVdA3wIXd|bI]ƹ7Cլ1aYd«l6㠰z,s'XdzbI=lWL8#89\, 7͜q.)v9iU30l'M[RϴI9LXe|bI=d~&8#- 0ol䌘ٓfNJqh¼oν]뙺_kjqWKoRgm64塈Bj΃"z;WO#Tk,h,CUܟv"vX >D!p2=݆7ຢfNAu3K~s&z2kS: WB[T aPi#]B56h ?m`nTոG"˾n8AjnGG:9:L7Ud&tv@!Nġޫz#l洶r*F~b^>~h@ЂOPhNo9x "Zs`SPu1&破ICz["jyOI~kBbس(e]xϿmJ sm)$ )]"KJU `h؀#ٗ [SRBO5ީB-6 ^:͝e =~V4~BaU`̖FtBU1`Ęq8f"sYFzpCJ?eO.a@IN2XR Ut/5-jw0az1FKlNiˠmJ){&"{B>" &4˂=nRb,*0حXOUHИJ{W15┍8U*sbxu?\o-6 sZ[(hvc]0%Mq*v5{E;QUk+ڭKv;mNvJ?يetc=eJ]=`nwH716OH ί({Z_xXb(05\ J{y gH,lARG=Π%NݬQ KdzU+mC>) >*"Fcv 9d|0t-b snc"$3棆d=;@9|TAzy)WQ%k1V4UɶDdMW!UxdOYMƃa5GܮEJMj'ֺ^t.ƒ 5xq9BU^R*èe{ЎfF-2?ɈGHyG~Y3DuW1lMdRl§1`R<#ZSSV#WNUyW>\U5{tk\-Ha-ze Ԣy1sT(k^ƚy jYlQ> ?Kx0s~),h9KEcV{g)mB' ?H{*bs*_ꡮMD#K)t2}Si3; ޿@@cCBGi5޲3/u|{; <̓Oy}ل+%9AAbA)f%&8zE$ y"$~9R=P~W].#KhBk p?$O'feD|tspƧjݱ٤BfH\jZ&R+zI.YuCݰUԝZRk[Ɍ"p .5~H9&`KaVDZV{De,jpDec"FJa(КFG~V^ ,\]hU^ѠDxdΥ%o&=fY|FwVCXm^-[1Ƕٵ\»3'xF`j# o[`EPμ+u]cbIA .b%X׸~VasxNV k˥nR8roq Ks.œ, s'+M&Mz8sԺR#!/'-*Kc+y<i1նBk%'+'Y<si74($Fh .-:yP73ѢVwjOi0բUL]T*(=# 2nX6GC>}0A)Ώi٢m)zӞӀ=>#.g!==ΞӦ>=ȅd֣W|zj'M|j\\>\3\7Uߧ6c GӋL)D&yEKX̗+o +),J2}U(v4^&&E`t1@iBj&d~]g<lVlV i9Z r"0$W ܤܤ&Rj+Wx^mϫxU/b mQ-kqkVX c+W5 DT 6+OOl]^xU.4F!Sb&։Q,-Y&00' *' AѬͬsڜS(-L+ə4'gruo/}k׽uy_Yٿ9ޛ &[H178i&fAP惚dP cglٻ{xDc[ Xsu`۾EvtΨ2.dګ0K6_l~dmI8 \DY5"$ƖT5') u늏]XRsTj+(24ly_'׊*4Slt7V|@#\R?ʮ?"2C[N`26<($g||W>Dq[.ɹ|Ua$rÑm \Qua,:dŭ8'qI+Emq7A|ֺqj㜵958tMp%X'N`maFkaFkafRm݇k.]aDCi0mR:02 iXie*Z /s; V0 mJ]g?F-7hCy#Crf".D6IȌ=y 7+vK^I!5aw[ rGԁdv@FyWꍲrΨ̡(Z%=\=>6:nO&-.4._$H۞.!agUIӬ}tilKN>/55X~ `y5X^cESfM.UO.A )0,:5/Jqgܭ12ˊJN)M ʦ|Hnpt'E-ā 4f{@ K!BDgٮW~u s(IE]\Uwi+}}w,ɭM8!E?氱W!k:Jq'巍QvL t4vI16%mAwklxyc9D’sq~η~{!&\~fHۊPz$LB|sty0= [=j/6K|:%w yaw<ـs$|&z8AI;tp t'G( t%`Hc"y|I}I< H?N2q X hwiA|ۣ"oR+_p(5ph\^jݒ' .X,^kj(R`;8 ?>nCwtUkEQ 8( K[f"^.\˪C;8&t +Fw1*ա:35m$u:zT0òA$hK @8 ,@m(]R=Ě$w?G#GrGO~nBT,so5r9 a[.q|F+Zַ 766>$|jěgP._Hn#4k<>L-_On٩cMFi"} \I!L^QYki4 (BBUF~43B B:A: (Bύš`M(D9< 9NR{⺶55%+;Kj? U Gm*|ax7Sf[a);6á$mr{xp Ӭ{ڄN{$DxL:Qw &9/&yC|hmՕ™J gmxnómhzuió6,ᖄ}'a(oe9,"/j42WdWO7"[%/,*ם.ƝW:waP'>\w WGoV3PDjc2yT'P&E8QnbW{ 5iG^2z2ZjKC)Ix5QW[6vՊemXv t+qZq 'd,: z ۀRI6dD2Sd%%3-*k'O֞mmh3-i]ֆV#]8 -8=Yj`1ԱPP)ԆLHfT$b+(g5l>yYmf5|ٰ3_]|S[Wy_ۀeWߊ u8_|3ߎ!+c:[6&~5!&cbVgbfd#f#fM>YY=s0؂ւRP`Vg޺mSnZ7|Ѿ7_ >_ {}o|Q7_hzsQZkAm)(epQћ/Խu+ڦ^~ZBכ-m-};;g_>v ʭBt7~g:џUn4iŪo_›NbwUҁ'u~;uVo6W2Z4n-wM,{ְnOĄkvz[4a҉l|]+EnU))E~?gۏ-l_%{jڢ]l?NvmmNh*7mV}֟7x]ϗm׳٩TҝV}&Tn/?F崬rcUﴲ&m >ϸXR,KTvӊV&ڴ-v_~ii[M m`CUlod pgٿtu.مktfe7ݴB/yɦYr׈,<ϲG&mJ fǫE2 Oڗ-|])dX{ݑvTOg~Yye[\+<&nh=%o *6:^Y/h"Eskٲ--D_aUI3Z_UW_]4uW{XlWK{%WuW41~Q^˚4>VTKD%[/5i}XJV^5YtiҪ +@Ҫ+ӅYK{ë:S&dq[L%lZVJsJլ NÅ"3M 3v wH0SAir6%3v.;عz3Ajq׀6@j1טB ?^PBWH3[bX1:[HB* U򥇾vD?.(NoL9l/0KlQ'!u;K1G>hKu:yΨp ?˝R]d kA \| ,V4k:20^ŧNO$#(!p*$]J5TXBApE;"(5>R+Wawv[$'o wLr 3lm;I[9$p&e_]`<<f]BHMPC_1 qW ĊٔS?fgqLJPH8xػ$/6ˁ}ݿ owq0pAvV}OtϠ/G!6]d](P]t*z>>CN?I%G`?C(nnWYl$[V9$Led!@>!* Wq뛈##G6F #r=l/'8APp0|#a#4G a8IaׯFl+  5AC'0nV JWa(lo}E{IԏK$Pt/q j:֨&cl~D/m<?t$z_HD>XQu@ K֞  ot.O4gȃӉxxgة+<ǥ7?NkCxJF<%#̈cw5<5tb󎧘{w C9s<'5^|?~"'7_軬 _yB8?x@dX՗ CtI@ʥx^^,5fT\ (Y݊52zR[} g=e~;#ODBP ug@Ku}ALv \i6hG;~+'G U'Cq_v${9Nw(^1@)xXIGq;T1Ƶ0qHlbQ_1l_kx 5:n2QL]mʆQPxO%Az-ϗ-@6l'019Ɉ.z0\hxDjFqq;y.E,ȵmtk/$ `"rЍ l]KhöXFUWU&Ӥlgt1q4"q8 8 Gx@\f]GmG:J#XC@X_SD`5}.K|i6f9: ;&6 |秸x͵Q PC$ 0#1ç*~9"n *#E)%DǖOոT~Dc~'8az ~Ww6Kɀ0u&PRN|4fP19*!1UcZdoFT"Aj j/o8?|O?>'P&Gn ab,FC_b$e/^?P\qpk]D"%RIG5%G!%Ixb k&\\u=ai eMpwC/3drLgz B?it9ȬVe_6HNOa >2@'Qp 9BO'ҽ Ayg88~CO-AK'A (HF/5{hf{i* $` qG&uB#R|ka88f#4%أxޭ:1&9acq =3L ew0GElurLS 'Pa!ߦy爊ՀoJ,ΛĩEH9@reg1>e[(] IGDw7tJ@I $O@/q2+PqBԪ +N 4q6j,# DAAc#9k]3 ckԏkʩy+eǹY86&踎*jyԃC}A,S/j(\I,X [rLawx-'!spjÃF|5gxaY4ʢ ܬ&Z{08#,rOpћkd<*Hzz`S} @ c9"WR] "o>R%';__v2½GWl v;6Ul%)N(;qG3PD΄U\XZaC@ofax;+k@5ꢧ@ԹUNfO_둎LA ^3B+pUJ2j]n>gh~,ɒJUCRʶ4nG~w;K[,NmكqI 4] v30mT nkC:V ?Aւr Q`QqCd̖RF(*ϜS|܉vܣ<+l a8̔UQ:' F8xDv ]B:iFyb//. $FaDnŶ$ZPck=U*x/"\q"ݾdm\/רG>l%9"'?OooW+l_,!׹STEl\%wZJ&'7'!!_{E |l69;/.~XvL`>xhsL9:@#ev(l8_Mɀ4Ut/w\sTfY0qD|Hc蘉>@z~TC|hNCjDӦlSyykf|c؂%ԋNM!|uȇM:^ys$ XD獃@NK;.4-n+jmDv4{"DR"zAXFI;<9jnM@&X# ]ˌG) /?T]xM 6 z,nF݉>\H5R? Rq1/,@vg^ٕ\!&Q*权 x %Yx?>r"Lyzu{t8r迼 !AYtQ˿"cXIaDu Ti@ɕleU epâteqx Hp+cV/}'fQ5G3\FN|ev;r Ժq hР2' ՛~  SQ|WۼԒTA4@^1+am&c YEfKDD]"g9;wnא.RKsui[%BWF x̍U?K5^f '_rqS{6TMToQ=q,w䆾rw;r$5DAư)u 6'4 c֛H fi=od",6=)3秄]7nlF2.ekc2#.Mŋ{Cŷ/@H/p88 /o' _MG/bu+:B@Lmt}?7EO8l׮SA)ӻ W đCBk9'*g щ tK< Ց5}>%u`(+̗9I ș|9̳L%aH)! ^ woHx^&铒! XeHc4i{EQ5:OYh!\̶H r(y[\sbgN7?F[0.RzMU\Wl|s8{ p&-z.htJB&p{Wys)rx}J(b ЎYKߧ{pcs108; 76A(yts ekbpKb5-78XٽAQmG2M;^–pw;7MWύ(9 ɘĞ-)Rmu( pSfFVZH|Q8;fs,A>HMWCewDC%\ >gq8/ v\`r *)g𯎡]ftp;V~qTr<GP_ꗣpj$n81whD쐓wIMOel&?nwQ9^N9>wL&jZHq S"dL4zۄc;6ZZf\k:שvܝgص~ ] κtE!>?1GCUO yqho6oQ C.pQ80ܧ*&ͷ_y|r7SKSch+An=O8A*L0/;8S%jR('{;i4z&%EYv opAJ;hTy'ܼ"baq4xqXppejɘn!Gdž=Ug]R#XT%CʯlR+㥐6L]C NobDIy*$n뎫gE$9a$'G|t?p  & fti v@z d txtbQ uT5XaCQ$u,c@V M8JE EF'd*ã ^8Pp` $vµ\xηc;{91J*MWyxPgMQЍSz%W9ρ{?g#|"]ᄠqme (SN&dIOϮ/Etɐ() _efll p" !;usKZI[6&w6ʸKkAogbH$+;,/pmc&P [K3%_JY۾.ڭ~-ԂDt0x7rtj-Ûp0xu/ DSgqH#H9LʸCbe]Ohn!_P8|&N ]Ƃ$cD>t[9a@vqr fŕ4H\QI>(dI`/_5xoY6ܯ_G¢(Du܊ΑծeR6{ձ p m+o<]Uq(`ӏLFTI^jy |Vvkl1 zV9 x?t6:6p^.Ca1.jCQ5N p[ʬ?<̟{=gYjDorVZoe+ PB8CN9ʫ[1ҳUq 3 3ˡc$r&@@@KFZA҂R W6Vۛl [q6ѳ ; Z|GΚ&H3Ҽ>_H\,q|C;ل m`ی/ h3Bo!Q`KmtyVP(h\qV.%)T /7[,ܐH:`Y-~\.)5ѻ&q;CBl'_ڊ7<27 ձ5FwՁ7q,Wvqk%Zqޫr&ޮaZ\w֚Q.yJKY@'qFt(NBK='.VWq 'f"ԷZ )$\YL7n#:nA"|A]WLhOt0Zp˷^\]&6o43(BxQ P%'K1k0*r%(Y/'2+՗F ۞* 1bt2m;:q2LFieCʮ;7RFEi$`c?@0љ7tpIf;qT02m2 en?hb:pē}y\QT*+ȉB~к޹+s1*1j)luѻXos˕tp.Z{|vyw2B{^=G^A0ٟkIQcN;^_8x>5m%]v+ҨM邥=aP1$Y 94Ҫ){k%=5qMu$w N%Wtb#C>MϒnHT&r FGxd2d*H7"]B VAI7 FRSc%\@1ΎRFe86|_E-D`mwňPҚ3>C(ٱ>EX&$hj:Z5'd\2X5qC cl*nQ EkFQ˓Os5"z-yVR]kc7mk4=f=b0|4Ky`ƀۭF&`tRk؛ W'q TɍO(cr$1|j^\HFS+b jQy8G,hBZzI KA{:I8bP|Ka៵Rx @>xy40VGꎔ4QέN J!zîXB$Rd ))ƧpkVM Q?C7&0FRN)F(G(e oщnDހb 2fD&[6]HYmҬHsZ1q?"(B2 e>H=BHʙJ+Giyj!8&Cx 0ߌFT 3kЅj 1`;9tNN'Za9t75> ݣ`08=lm0z)!"Gh|4s!c@ pFΟe ˦VM?2I}r rsz^"?~h;K`٠>?<)x:4R"}cU`[xA1p'QUI(bf~KiC<7٠ RY❌|}5~l_sZ%[`8aqRL [ؓksЅ>STܪwge`O1y#܀9g=5M#oL,dR.0K1@;B/U@@ב%aٱl4a0C-٦TMﵟ S}&эVy.shNlQ58-: 13@u6r>/ACRnvDGn6vD k5.am>𸴹Va4UZo)q7p⚄&3M 3ܮiRH/:ov jJ*G~?{ޠZٿCx<[ I;Lvm m5PWq:cx$l-ZSƨ0Ys-D<&V+39f<G WhvO#[c_sLݞJ\ލgp>\c4gC,[͗cf|zL4vh23I\-`e@>9P@yxtϱ(wh'^WCE@8CtF+:G{tIL e%X*]z:ҍ l^xue[V"pR!hS-:&>|N`҆oTj@Y7GkH=#jAMD{'@#E'> @$ᏠX=^?ZFwZ [jJ T`'v-Ǭ%6(.Bf ?qW&(k5hAŮfB4ڵ>RW 1{l 6l h|f߻@"]R1'+כ=VX5HTj)XiIcQ;lK@(6ק&|t"pC떅qĠࠔF`Ãma_7ڷlg"* K %'34+?z!ҷr K+~uC&@Fg ,ݞA&[8m,g݄6SPhd6M6otn_~; `ﰉm6N`r) :q 對S؄)$~:S#ak/=ߏ&~[j >ᲨkKg;!4f0g.xni&ZRyv!S#E@Lvhg,ZZAxzn@rK:Y& y@\щ:L<|&S6]$@} i,E!BTU#ܐWN6{=E8Ad<Aq^o.0yZ !C87)X-Ђ b7AG%*(>@'C257Hֹ&-eg^xmְp1vBIh"k7 I8Z҇t.0\Yz;| EZX(NmL6R\n.4ύo>3ϧ4uԼ0f48䀘Z= d3VhJ PB/{ Q ^^\nmu01gy'YCI55Fd# |Ũ~boɋ֎љap|rEY2ٱD#ՌEH칈A,4PFAnw{w;@U_vh~IjRo-h '<0 _ _hd|jZn~}D|D4MƑp!t#Q6ۆD,V9=w] %8K)d'R! h{)j!pB 3AU(tHPZ.A*l>=zmb]>M׻݊ꈾeьb|r\WO3^G k㌺Qe6<-C@;҉-jy>f!Bl u9hf#S1<3ߝV+b՞ÓdO \=ʚP)8s 龗!1lUM8Kjۢo4Y`/Fy ֏anV%0楩 WCf,/9nJ*K+U_/`:.cs9fW_et)[i"ٳGoGL f ŋ,V#1+H+ UG/yi3 Ć+h kn6Yb"1'D!Lfpg1_XU<$W ԥm}0 ȿK߀.)~ru?~Z׫O;OIm~F;,_bQ*t?W?W޿|Ktqu$;h7vw̬]Zs{hȵPS?+:|7pD#WtܙDžO Ag W+-yz@n%)Z|.^X xݮ}uPe0<8gͯo~'}\\;[?4޳bƕmWfڶ}7`3~}sq]& q~/kX K޿^?άz˱k MP+_-Lw:I?/DH|ԲIA(u,S\y,n>yaS;mSw.vBy ktƳmJSȈkIA? g(*X(Q*36SAAqbaZ(%G7qy)T!1q XSPc܄ФR _ ֤8Kp^[qg΋㱸fvƒ1bnzqD@TuSǮ|ʡ7ޤWqxV:1@k r=SSRrqG.|Sq~ܧBz4(2`z4/ic`=Mqs5G$Ўf¨2/֜dg  +z=U|a^EQzij˃Ϟ5\B^Z#edQĞ=fkjL%:uX1jjQjrHwgE-d{#0&@ XeZ/sڞqk2> o"W6EJ-ALj@ϋEgXhY[c~L!Vh4).gši^tU M/^8$`0y=,FGfq]S,WۚeȜ楨v׶>_gjU7DVČ ^b{ӎ:~|v,iXO/y zO!FD5ĵԞ $' 1˿ q:&BD'q/A+6D?RKvh!:j푣"kqJԶ2N-2ݘ VnlӺ͑i#m( KG"Gڧƹ·G&3ʹwP 6 odj|o$HQPƉIa={KJaKvo.3i OHF"DSqlocRU\sxpKn~qZ,E `BEEayY0eIg)-/Qߤ<|mo&2e 吳t |GA!^S-VM?u%kC}%Q`GH`׼t׃N ~%$R,4Kq%e CIRz5.* L >%bpi'-2,x(./o~ڵjQ4ezvM`$Af6{)Y'VϺ0ɬƗjj\q^m4yR%][X.J AfQaY"YW*߀<Q-f-=1_kXJWRKGA3Y@ u ZM Kv̞:MzTiBHB)Z5e} jp;eAEEUPy-܆KdipWԔ }VZPgpd}%3Kǐ 4wG0ˌJj!nwf<4:̭mI[20m7 ![JQ_zD=c^u{QѢ͟_-^䈩$hIm\-t tp3v)Rܓ s|pPQA.V65qu.zzTc粢Lv<=F#%vF(Jh~E5<7ޗ vfEA5⬞;+  vQ4mpmyq$(Z۩0N @.j2n>qҶ3 |s6&!|wPNR1aJF//kGB9ќS** FaNGŰ(N pM#[G75R/VAj!Wzzv aӏjȖ"}\'X]9d> gdƿ["ECl n(ㇸe2a^;/װD="=w(F8BEd|r!Ş,qX~O lS L5sD ]y Z6'^)Dy_%Rm;C׹h7 ?YJ:^!F|wJo^:H?w?9!):$g-7ԧf3x(b6?PwoOnJfQD| ƻqa8K$i H8@̆)A8ʝ^UЭv(c.-I`s\7´dؾBa\'t@5,.[.@ kX ?CYR H kW2EAz[HxBMNMiL#u~6\[O0BülCCьO 8fQ($en$;9W]#$cVMRu 947A/2 ˧Vtϭ0c7!6L7# B1]軅! MlϚC)NM@j8:( H[+r!{:buC @W-L:Qd6MC+㪊\/ٞ;jZ1t[:K/ƶE4phM8oێl: ##e6sDݨff snXu@|4kn`=F Y5IfCgo,"Ȯ 6(]{3~i/41oͼ (Yzn>X`ᄄo7@[fAd"0 <܅Ypa>M[Ӷ>qqhC1  4 R(Q O"1TˈcAϼ%=*V C |L OB^u /JUUTZ'5%k28_l1Z9g:3yz.QhMF(lp.//h^`9J `EXDq# #~;zض 1"f|,tcdc !%Ӱo!K/L吮~Fzv!+bR,3Z}l$xC>}:ݚSh6o5 K!/EƝٝI6g[Cā;跺@għ^u;X>; nj!C#:Y8+', Td]ߺ,VF)ϔ\xijrLsd!X5~nҵхq7NN_;5wjxjLqnDw$A1}O!>xj}u]<<<;,=c=c71On!շgAL~e|/PKLwPseirsplus/__init__.pyPK Q.&1AOseirsplus/legacy_models.py}k6 N;)IݲvboFI^VzӒַz(jqM2ICI$cG;kC-Gqj$  mQhJ~*\ס~GM=O;8nd哷Fz;@UxzߡɉwO Z'\_&_}5w~g6?Ɠ̋ X4V$^퍾l...+H#+wJ5R/Rv ݍ]2^ 6VahV;Ŀ߹B!?x][5wwR[E^HKq(JO~bOC?e%X4kk6_j(Z2˹Ã#Ͻt+eq97Q%>Ab}k2V?(ɋ A/I8fq `\El'G 1~Wnc?a#}#TPK4*SCMATB :m@HTv(vWXbUn)pA`^ 5hJ;zʏ6T B© B,OXFJOlM]$Bߓi`W TECdk G@ H7koȾXtQq7}D)#nXC!GE& >St%jQm>nnE6 psx_ ,ev3@O++AbUHF 's 'RoS'@Nަ^Nvܦ]NFڦ:8dC5^`9qoDr#0zK4{ 9;)7GyZ,/HmPfZ(8U`"0V :a E -oPhr2@N! #fFA"z08-ɀ8.8M%nukf뭿{5J $ { >2K$>n=n(]!3⭕#;+in]kEy7w蹫7f_ Q bk7).3ѕq82c#LePS\J[׬̴TWf/CqzYyvgĀ5Ly³ ڽ8rPs~E׷.ޢ>{+c 7O!H,^䑣ntm -p̑hUC3\xȉ* mN^nxI7[n#LLq.ٓ.bd};1om6Q 9lo5[(C1#;d{bH4Xmp^Dp.9 AC?p?2B/NK(GW3.! pr.@–Xsr(.1 u"@uÂ1/7Òd<ɜ2*K -nrNpWJ9">E""37a@rQ_ZLєy {!5j_k԰֨]!ܡ&ޝ{BgDVwՖ\9E;!oX-T8j`}dKA;s(PmtVtH* ԫ {/\¨) rM'!/K , E*Nmm őF{py'FcoGnPÅGI&CHwd=B# m2(ǣUyCQKD1(d"޴$nF!&0 qN;xJ$ Hi#Ё#}~YBd(-˦Zj+fYC{lV@ax8w/5eþڵPy7 CŘ}!P ^E,|nUl='nyL 3bb6ួp6Rz#Ge 6[C>a69^֟FfJUFZ4tsQO_KǙ%hrlbrxI;U$;wRi du M0mF(؁XSN2Sa0*wBb@:To+շV[o~!Ёe,ij.ooFRFQl-O+g%tG+/I2Ӥ+#B(#%"1^(fW4\x0cE0"n逛!Ni![j(q1j 3Opo>t$0Gb$P9ĚNjm]^EE<\:!X6F1uH B!u"*=x=&^O^T.!tÕ'5 ]٧$\^OoD0?rW${$4z{w2@B<GJz8vƓ$E:62MrLJrLzgZv;K6L^0`ӧLj\-Urk/=,:,i kpDQ瘔NK?"LD5D>Z)&\[U]7\zu6O=kVd/ERWp.z++ Jŭt UKP@bn6|^Tr5+&s W,o]{8x{2g -9Ί׬_Bc/5s-y9(lY6Z (39vR֢Os\%GC2t~PQlbuEOCKP:k-ũrb!0Rn$s{1_:g2g1/⽏ݥjd2 uj 5dL@,",qi4;c)$yj<\T˙ Z^G{9}Jg$ԉyڰR[OL'D6iKG YI>T:Î̶e'uBag]`>L"MݹGy1Az X^H'v>;Nwn}$r?B#DY+n{ EP /[ԉpϼ#Rr6&$[W};~$e;=ҍ,[?5 #4g %Y>O۟: _gdY' }}\*-z2f9d0wLӟPp"d;tbb͒Hߊ޷<xٙBc7Km6'Y噵f^]*ϽkK7Wlv+-Bι뜋γ,ա{xu^8$m]FqHkKF+kX'q#`:'x(%wXbw;uzlk/كn =xhTQ(W) (؍*؍,]a|Є) 1U 'XQ=!^U;('SQo_BL F]atmvm/I?T-Ai!p5$: 9e2.FLen~>U-_}ȭ凌lSE7T?( J(os׷U ;p}s69ߜLg\ߣQun^ъl?ão)کtZ7ڃ_VHL#1)]A15L&X: p~6=dSɦjvN9ꔔVa8t>Q(낣PO>UdÞwcz~@Az1dn\1 }n ۃX6XL&@Oe= # [/-E7ݛ~m1ٯ3"]0]0]7L9 0"gP2lQ#~ ?2`ď!Ga6*=Vf)iѾ}('i:?R:ŧG<:<=sj0"1ek o:k/,sP@qQY[> 5%u  O=Ǐ>? V^X,8&82h.; rCX^>x>+{wxt1JFJFJEJEJBv! ZNi4GLQNˎCi?iNBNcӦb?)_iq]O8{H$q"'NDGNtDDLD/fp 2<r"^o{{]w00y4h7H&ES@JxYd"&NyD4}(۪ݼ-<|ܷԬatgnV=Mpl -\y!ԡ'ΡW!.;4rL0'yNNL0궃ϭ8LK<5@PTiRRƅܥ>&/pڵ[?vIWn'_-.)eE: C @.=a[SUfJ!WuГvi s!3~9>~XtF!-{AMN crbiE:8crOffvbOo)j!?P_UU:ճ&]-s Ȥagy^(G&<G !x' O/sO67-э9awFoBxƃdrs.mA!(䪑J>ZB* V5bjĒ͈0Z!êF,Xأ_ڄK1hRld52G}hP2Z[ uꤲɪH /hP{ To}%"#LZSt_2k[j}6/@i`&aa,'#UlL 5^ 14p kuvD-xKV]]8=gnnX.<Ѫ&Pڲ8'02p NBڊiOjV͙Csci_RY|;ӎfԢ\•mKVEzZMڑoҢ|zMj7iGIMj%]%~i%Z?ҙ9+Ԥ5i:7fh}O2`BTԍPLkւ @u@zF3 E. 5֦cU,FEUC[AV(=*W. ^4I4_A\Riūc[Z3uq5ƭwqI'WfmܼwJt7U gG;uq-ƺQc>x$;`,k7Oȯ!G6!]B|u :{++AH*Ö~zhZ}EzA!h]5Tu<*h+PTєSJ͂TōA<*U_YYo~$fP*zOxڃ}nsG1Mi 9Oa>6fʈWvZ* /5%$>.^נ!AhV &w (ۖ [(!8c^;x  u"r=u? #bfeXQuorċ{Cja^kE1Ljn@bEa8PWb5:nRwJ@J(~NT"QVa<-lddޥeڒqhyf6]A݈la&u99f9gF¦AqWP7"[Xb[jHW䕢8ib7NkY9JəB*X?EMrܾl ۜIfi~^K w<5krh:'~^^wPVQp؅(IE:ѧ;E}{Bw;َ}@Чԑ >C<Ԛş~=7bAV//OA#m{w[8+O]{׷v"9琐[%1-+LRoI8jvMt2ڭ1T2E3fV35T3m\7Ma#0'%-ZUВ6!|oHT%[RWGT=/E5D/(ۑW)._?NOBtv3蛦X(T)D(|g#ٰ|WaBPdp&F8Zp#}`$N3#mZpF8pJHI|sst-s*p:"s"NP7."i4T4ZGdz"vy,"oJhh* NA|>˃'8Qo u&2j[J@:5ut4‡k?Ӡ{ˀ ehѰsjk/xs& ^1GvaXfi%[O吾A"&{)8*%Ҥ&%ܳ~`(ߤ%оiE~p[Vk/;SaadI8 ~`T#fx\~ cJZ=]?$oAtOQ8޺`3B_d~mdC#6I<7^m(FK܏_5!z2ɣrrX!)grl5['7AMVfV+l~+yw7=8}o]Œ1/xDNEBv+]]`|;pW a5p>n'YBr7ѰwVBCܒ+@8+W d{:yI[f6o d,6tm4U8]ӬBv”U:ͪO[g+6pZ7jmjxfίfL򿔴J  _wPIL7iGlZ§^g=$>>S:\5W]Wdc;ytv`4lQv>0rY:uS(YIo.QR(`)s5H@)]O# 1zX#K$lvuao%<ɸ(X#Xg$Ch4hVkdQ"f)keZmSk}> , %7CtaKq/h,3Y-ְH{@PLQGbip": !rKif>[S(tbm,xG?ڣ0sOa ׉uXZ{G`4)9T SZjrP?@bK+ߓ7t.`%+GNV |EUJCQ?TN7;+ǎ(ڏ%'XhBTVKIe>ŨaaĿe "BB3dPa&Tg֩ܜ݋۬ȸ"*Y"_K|>]N ԰zuuH3#~}l⻓Hu)oڨFb  h& N$AG'D_$5_}65 @Q4>#צLΓ/RQ쒾heYַ6 Nz.Ch$Z*6OϫWˢy«'H?(n3|,-1ھH/557Tjg0 E+D _eT aD fRCfA`9Z@1i 3Ղ2ystt.Fh}=x\N^O'LNB+U 4쬱Dw1VQŀt.Gj7%!7U(4#%w]/!dƔ켵EȀkM{(;O&CWRMÙtHF.9p^`wN d &-r$A|W_B~ ޽IAPx-9g{0$!r; E٠om ^H7"CvHq Gw@oGÖa:a I?4a,=5S l<JV8\ p-I]p, `#{U+0*\d4p]Phy]dp8 pεuOH&B:bqo!)1Q6Rhш;EgϮ]a xh^cď<<Ǥ$Ǥg&zfu+ktyx7z`a V<} &\&[Ε-P?RaM Φm&eoD_N_cRck$eK?z0)}#'Pi%wL[brMVu㭭7aG4ڳjwb $Q|YݡuʞTs012@_笢)/^18O|L$\(A>)?H rT$7i*I]':'%h%7i*KnRGrxm, N|4.O:K:6t禂m`D;VDGݔ/=uIwQE2je,ゎ[Cg!^]YpA߭#a>[=[R ; ;H$ԗ7y6ʵeC<,e59^Fdg,'YS??+L+YSɵ^r:%7InTruK$7JnTrm#ܼ q -9Ί׬_BcT߀PZԖ<Мwcv_6Hu¬@e\JS)k'9Dz.Qגx:?(OOCK[1:"Oފק%sB~ٖa|Vn@,94q&{gqzu϶Ub2>>v;wu :H2O 7@1# d>J3ϥYҌsX\uyz/g.hl@Y#=U>%~fmX@'"XDh⥋#DӒ>T:=]w1OC|?g@ݝ{'}l 0ᮧ@_!.T{mӨ?3 jݴH xF ܳIwXߠTA^.xvAdBn.6!ٺrVvGXb?SOV3~,QnyH>ޔؾ~.P y< 8>1OB@vŚe<SoyV3qab>zXZ:14kͼ`={ƿ?b&.;b}Eb_h9sayeA:3p.3 (im6hUy[% &JI֧6@6K]^mኂpEA~ ?\Q ݈ʂߕk 0mMS<`zUB잩!U|0%)*Ĕ`T+Ff6{ CuRD~ WCSF9/S3RjB\/Ld/\6)"Sdw%c s 9ߜo?aۨg{pPK  Q/5ukseirsplus/models.pykwƕ(ݿQCRT$kzTk%=9git &6x~]/(<(grB'-ڵd-˥I{]ly$7[GQ%>=W9>K~z3~_l W ?_F5Њv1[Lg|7±bCMyl*կV N?Ԝo=R"O,H^ wa(4wQoү}"Ǭ6D59t5!jjSoWg#HG ~+Q30T, C7a2+}!RPL4GyH!fm9g]L*?rU4Xa`u$HTifoȻ  ]|Y3Y>ҀR_ LuFh2B}eCn<@*B-¹ @5ZC"A^ Y(e!a}ݐ8!qC'!w18'82GGQD_7Mc,sE؆6%/C@Zf_&#pS !T-.hL0/i?]ڡ/i'=r^ԗ>X~KE8i*rqh»}PtnbTn_P[ _`[M> fA_P[YhVR(b(h~EW3N2+ 6Z;.l]q}v0#nrHy K:;$lB8]n$\+u0EnhH{iܿxdCrQt;H`5b QיLu|"luksYy-#y9}sS:W: s[0{FОe+-Ѕa9yȜQ hUt ' 0X^f1 M{{ S0]; L%1M%Zqy=gy[ì f@y$ȃIv$cڔm4h! j1ԇ>+dGv( Ŀ mT݆.w !<Ʉ΅wMg_>/ PipAcCϐOO|8" Ӆ 3s")Fwe`S,=錔/TȌ E J=ZXoVRZG_HȜM\˗VUtŢR\!( a~Hcfk k 7dbc6Oh]dC.;GOFm?`S!ϏP_ ?d^I۵!!.o0^ʨ)3 r#^FȁΗ!yb7a4h9<g\&d gI&3wb=3n8[ ³>b" C2Xx}A%#}!, ,fax(K mjdۆ{AtxqO:ʡxC#PU3C5($O(KGYMf=`wn%0GbP$p9pXQp(^'q/6X05Q`M~RCtGm 0зg3N`auHPޅ:ڋ>g(^WˢE* E1``+xh00wjo72|@J|p{*?Bcwd7t$ُ[Eڛ*M`[&ea/( 0!Bn%7'7ʦ֠ r"wT-| bXoZYof7^*jΌ5q΍+]]Y0ϐ Ɔ 'ZX8l$vN$DxC0w m_q$?kږ6 t=$\|bC C_)~`Ѹp.c/PoOtJ{»Նx#Vqf.A-5jn=!׭&u]Zksrr:w ʬN~L y%btYl: )_F'ƷUH3x.ȡ6?7#ߺYOhy>Xr\Xrj,Zp=@뇍:pвK?!rBqw!vގbgAn&5 ;$45B:C*6> qƙ59&㚈3վa 6BՀVܚ47B;C[ΐ^. 5Q*qSP9)6zڭ"R"ח4Q qyӊӁz5mc%K1B{n;?ߤ^wfzToIh Vp1 0#(#j j=xyiE頙zvy_PhgXG`_F)ElCfe˾;8'\[tygfEIFBiUSj AܧAɤGi)B=A 2T|o0UMU`]J sPlŷ\Q/C|QDN&RУ LTܴuVhnjܴ&ެiMuz6_R|VI&*[T/_*k&̊Z}6S>4n{t.. KJmM۴́5<3hXff*5uJ_hꭿc| u=@ތ VvuwW:By똇s(P-_8d0KҘb6ɗV'grw q#P'4; y)ϰ?plz- MA(U/ߪ=0o'M9* 6W'{"a |o7q!Vb~\aLOQ_g>> >a^+ 挴(Sjj\zSBv|VBMLEP VRࡄܗ)q 3g``ÎbzIp]sLHZ %I E6)I*&^#1X5@_=CFOYȅpu! z|$Ka>\.Ph8,Ɋ*O`RR~VWhL}pEjk޽~?i˂6Fd=)bY6U\EzFh{u$ QSEaI(eيSp."C)wͨYƩx!{cr6# ,'/q1 IzY^Y c?-l< 5V`ֽId7]/,Nm;| ^;˘\QS!D_C[Iä).ƴDcՉ$tN@?c crCx_h„H}H_H͓U0[Yo 0G3Em{c V0}Hoο+fp>A.݂ BCKhk~p;/|qj ~lЄpN<iB<`}S˰'x"sQxZDc].II]g}IeˁHqb2F]f&rKwe%/ kHˮcY XxѢ t79cQ )HΫ>S,#5HΩ%d _@v i?X$_7wݕ[0a2S͊w7U\'!r?2*4̧5SʨoSGr[`wx,=@}@'x\첅vSV ʐّL)p]Eo8`4s< JhPYOc$ʠ`J~ ] ;qώ ~~\WS·?;dA=sQI GV W07+`C&$a?-ӆ:c2oiAUc$LuD4Wqo3$%y}qk@}lɪ w+{l{0C~083o*Be2/ /VY$P^)V |6!..ÿlJ V<+&DW'A"T?,>$!jl3X$>_/blΝpt#؛Ku{N%yYBtY``o@ȏ#Mj6Q'nNMkt9ҿ{[$}5w1s $5㴛;?u~fНb\Oz|A Ϧ#ħ{~ߑՐH/⤋c5S: 8( ^6XC` |1yxn`{'VPtbZL9U2ُsV'.U;" [ ,>CDC=>\z܎E!e{XE)޶]ala=ԆLhtiȰAM 4l|!?+anzDS8xK|5qDIx`aCbhC!h-`ԉb*Z3@et˧qԀ/_FOެm']# kf}_L}%jocP-{ uf9(n &)mqa3n J0]`6GLM\G I4r0L@ ;"j#$uDabY2]/_p{fCZOѸQ^CVи=P1N6UnXU& 毎{ivgrv4"Cyl2* T'@ JV6Il퐲/D ȇAy<.nƷҩŘnud`ٚ"f?gOp<ÔAB=Hmv(ĎT% l;a;յ@7fw D7Lr9o޼(._" D1r& }SfhOF;hEy'0Ľ`q= b>Vp CC!u0 %u ,HPXLa2a+S:\_ Tz? O` 1MwYbuK9Ղ׍r+;\0ko")U6"0= x[8 /f윙6w Bտ?];-jf_GN!\sBgc O~0~z!&1/1oXƍ>X|>YE!=Tq:䤦hg{lE3zFH6ɞGZȘN[{_h[D"p)E[zIJ?bҰA2l8ZelI-r;y;i[&"h69 YHn-Oj`dbXZng qpQKoe*P?j%W z#tkrWّMgH]8䏼"aF@{R7 <L7ifNMppXdtX/Ca X6Hɋ CW#B,zէ9u1r 1r#XYdލPz9ffU=p!vHi&!͞:dI,gCcsHivLN:?&R5dd{U$ "i;u!D"BހGXJj Z؎`̆;P\h@8*p6PjZ^cѲB9C}%AI(9ѕpng!ROGF(!Ze8Qh04i1Xy4PQ9~4Sҩ JB+{ΑGq&*\B R 3qx.kuD zIUhI D&!rI8΄7\0--{XhGW(%dl]m?^ [|{ˡw =5]ЃIo%y>J΄d,+ :x-..V״[\"Ye*u-.ݳi…3wmVK}p>-މqpd֐)sB2eތz"fCʲBH `e`0m,! d`Wi7+WCnx^aZ.B\X%0ۄO  }DJAbWbc{]uN!u%f91ՕΉ1crӝ\:sGWcCWѥh՚'C0-M{|~mX Jʛ',+!$ nK]XXCY6ghwcA0q4q<9ӏA 饺xy 78b[WG?!O 7R'NYFmI\c':L'<@]vKOLtryZF ЦQȣ-O>q'r<8nטi/H 3&Pt*/h9,x!\tYMNe9%@n.ZR\7XK_Km71L{Z"B8ס[w3POmYyv# E+a&568 m蝼xaFI:NP'ԗ Np{~lȡ(2%\T;LTxqb"rP~lM?t,xz F9|'DB28Ձ%+'mޚfD!|E,)ցŧ| $XK (ٟ`{c5oXB`×nμ@,ֆnz˂&J;&xf2$CN]+1 z3}D-ajUBgdA1R ` &r9s6Ϋ8j{7TpXuZ_ V.B~酀 !ߙRY2Xʬq;7a%V4t5)\7. }g -nep$tqwKQAy3}Pf\&0IR#* vFNg#&Ü|w ?TU2,*z3jm;2k3gWwᘫ/Ke݃BvAw{V*IӴFc4k!4n;&MW74SM2TTշFyʫ+תcљ{Qr5 qQB%lj4lk 4cv}: 彗# xi6bTLfphA8#䷤[x/_\X5Veܡ(딮+ [ &0}6=ڶ}yo0>%jkazdᤗ>~?2^z:xi.%W$sOYN`G 1UȞ r{ͧ}ĹBE.ɞD0NEd"8S px"S(_| # |EɀDCL)k4Eh^GTO/i>xyk'4^'t=QHY-Q߰#$s!l)ٓ'Ý`%N&1]ԂQ"FbEXzGhtCL荐6I@Ior8yGyemCV@eh!!h5jXQgk *˻m] -PtzJ i InU軺2ygɻ ˟ bz}VV͔_6˝AF¹)㒆R[6msf .iu4Ʊڔe`B୆vSǡm) \ObЂT`i}@HCه M])SY5% ]5 I%֑\kM%.*tM%2jёXP=j:"ֳt[o.l #b=[X 2Dm!VM#FX6:Xn5(a'x~,ѣFJo|硣YMqwMCh̔NkQE7@VI\v̕jQę-kY18 @C2Lq΃9CG}qB s/^C/4u1>ũ`Kz Sl;qG~ɾ#~X^=LCkL?sT抃lж ldn b 1c p ~vKΥpoўB{z&f)h&Tbv?ts^2H~fwdETOR3r;>c=<^Uu@.x7}lP 0@!%CV \'"Mb/ rMo#DX?UZ oPP >CECbz)֗Kߌ痷 h0YMz=FH3vBK&H~`cl!3{s08g7̲ůH^T8~9 ᬢΡ9I4}%dO0x3٤$|JҒ?]rš9z`,x:qᐆ˻ VuwPW:$BĎy8Îs((P-_8d0KҘb6ɗVrWb"P'9})ϰ?pd aae\g#i`~9 a^aثzwa{aM\խW{S,?{/%7cPRD0/DsFZ)_z\֙@ozWZ^(|(nc|!&"O+\_Ve`)PBKy\|l3gfaG?1pBPL|^5|}$>t6_xw?-\*6ؔǦR62oc?$dn''>ҷ)'KrK-d 2Gya\G/"A.X5@q y=yddʴ NB~R9 o!.2M-G''[g*na O:` Ka'O4 p=1!Q. i` <+jTu[#vb06h9X{m@yruއ`gqI|.c)"bsGK#= 3 2-B-zvu@Mո"e!쐭Bpm?{>*# /`#Ufļ]*U?yQcw 2Bt,ZxSآY]Bx)>r Y[D?_cNb.}@}sm]u" cFS?T0ݺ;m]?|'! rsD3Xs ZcGV%p]PdLN9~C6T-uYp^zpiX WVKWq5c@JXeųDFOE54-.di[f]h%&5Sh;z" :BTZ2F.ԍ ~d]:R L:yjHy|7HvY0qP.1Iv"C.Ș( r~Gbo53tn6fZ(;lJڬD(t_3/Cc]KiHL2""T_.@1CmXʢ/p.[Y_nuKeaB%Txx:&Wz $.civ1,PzkH?C26ٲZS5`T&9fTpDF&*o| sc[/K$Ig;R1҃" Dbev2,ȿ '%-BHK$qC+W"/˔}hxɾ:6B@`AiľB}5?Cy_\~cw< aٗ9r%XO8>* E9 <J`na붥(\Yێ&2d+8&ߗ"f0\O9i47e=B.!={_J۝Vd jsCɱ{֍,]-=h1q={cT{Թp[˜,uw=Fo7~Ḫz {oПu}o[8i"}H_.WTxHNU {MA0SaxXzvrd;x\<9ԷS:qywPG:Ka WdzceM٣){ǘ ?然rJp  )9?1~>8(ϜfkFfkFf kƱf kƱfkư>Ɵ"ÿ?syT@"?\ [eM٣)y O.9c/0̛yԓ8J]9ҭ/2eSl[N!-*CӇ;!xȼ~{Yz/AMPxɂ, ,1%8 Q4ywp&^<+eoojɃ4x/VVw)COBIA K,hwjI^dG!զͪv524YofծUc)MUk7fzcu}Z+5+L~ =N&i"# 1V8)0Bc x-~'7 6vMbis{oNWӄdO#J.L39GrzI\k ]YRըœXX <9k,i ~j؆ObXH! .XtyѢ zjtƢFfFfF"i$ $1%7ӹl[vrnsYfKUs*\Uչs]ឫ"ձ\c70wW݂wV[ 2ېUlXׂ6l\Z#Uc W.y0apBrXF x_bp86q8UQ,^o[1x [ ;X7rC/]b 6$~t6y܅y%G,LK@ݼ]Fo>2g=⏌&!3j͔2˯DSWٶ|Lv< O";:{Q]4RTq.${ep&[܇u.nqppvsoĎBT%C44ڧwNC@FYPPRvѓg֣O l=x؋pDsǕ௎ 6jq?NcdǠEۣ'dF`x'1W@"~LHݰ9-_ eI=vO\[@ Cz]xǠeް[>-Wpa@GH;P3(opr:ˁ锢NG.&Aj︗B TM "oz{@ރuZɄ@ ym2—,] nu |a]`!\-x`Wbx7Kfq^A@5/ "T?,>I?C^i*6%r}..3F8)7usK-1Ȥo;KR|;"X$ ?Ҷ͆> ܣt(`3{zROuw@{="C$Xp/}3'K :AR1N## _B%/7zzk#9tg4'7Dh0N>n`:(!gkħ{CÎrʐK']t*׬Zg`os@-8˃x` 6UfaɏN$(mFuBo+n;LAu7gc'+*&蹘 feBH;K(NaYrm x7LSX0a1\i[49 V'LsXnL+W0]V1ݝ'p=A%.ZB"&]"k'qun*:2Snaha 1Pnm _2OJau3ƴruO#b`u1Ʈr5wY:4Qwf=rgYZНV' @ثnwՂݙbv!ݸ3{_{wfw#f&M:d6٤Y[8! 8!U:7'۔Cڨ6UHVd)qsf#d} ?4 2/qjV5AfWծ`42 hUk1Hwg7k-NS}'pNug UɋXnxE{́ȌnxE{ m  d9Hpܝ:[d9U"38vhv -;J]e6qPMc5h~"ף2+UЃDf4q)ɉiO;e|Zqj֝ǰ:d«üۚuG: iw@!U]2Ů|mff`3=Ŵsb+'a3-dr`91ݝ3wtnNw׼h wtlNwDpg[f>ت:tmY=צsaٹ91ޙ{7% Ή]\V)Y]wvrNwسnNIq¼sbKWuuJ ?wV#?#1 5Mp{RJ;aly``\T F‚'(څA\,VXJp@ ,p'**P!CU‡$. {W Ji_3B k!@&51 wm8 -1[rD(&VI,Odw3:`5>.U;" [ ,>CDC5Ǜ(C۱(ϻ?dk%=Əٰו-uj>So\vI6JZ̈́:PiB2 _dԟ(anHm ٧p_4\%q7@5nȳ$%E3 v=$6$ktb(!4uNp}Ի|A ɛGz{k~>_~߯U&Ծ 7KP1= Q:@ 9(2vh680h%.0#F &Y#$t9}ReP&aFK:0X,J._/mJ־h (T.BERoBe8RX*(sLjIPF0 ڄ6x*85C3u3wcCPqBܦFlBV1$3Lɋq͜e쉕 GR9V[6 : ]ínepkIQ6GM6x]8S7wѝ0PN4y<ʅq\ycanD[6iJRC="ߤ ߤ7h*@BR^FgGP鋶:DIƢQ& {_m/q+JF֢[wq]q>j7D#sGWœC2^E 1T86}ɩsJ2s/ i߹|Ӿ"`w1H+X>M!8ZR@O | ie+y|hA-SuRz!Bn[z_6h6f2GJ D("u雈]@)?S+/꣦Oe'Kt-:Dީ/w(]?{m#_=j J1+y Q  r'礳xᷨ)* 6RKJp KaK$4 \?[)Ξ_"YZGǡofY}=y2/Ŷa9,>䒬Bs$m!5+QAafzcpuRVQw!uݪ%7 $Xp\RwO;E->«+/|'qQ]CXQ"T瀳h%q]مGu={XgI$VЪc?Z۰{P'A51DFB8R8{E9ͽIGxTЉI=ME|S+i5d*0VPT7ha\1VfZ%Q yF#b9#-yP7srF_%AR77:j3]j9%TٝD@H3whtSQga|A1SF qǘ_֏)lPSQ56>:N띕., 'clDY=5D&57ތz~l끑j0G[U.M_W=pz>(-@0 HW( *a\ $A=OH}Fwo:2%HFK~!>t2GtMx?'p* уsj䐳8H#ؖYŃIiW, Ӄˏ-nt(# n@^УBٳf8u8uHFW3\]p: m@_I uFW u5cV:1a~ձ؅v.8yr{*@e8Q] 3;G59J0"CqVhJrP)9{}i>=!D~) gZbef$&VazPN1$N&Ct V c2|jbj`]LСg:J|1B+4:ٍ0q35R?`:rGCSYCv2Lzc "_MtmUu :x-iif,߶ ~5$y6gGJ#.Sue*u-.ˮM˰uwwHL}]6^Ѱ}-rdy-BvՈlR^I." }Si'?Qc \}&;(dA>;5,TøAѻZVUniSZ/O+ah_^ ы+<#.BuS~yZMib(`Ƅe1]y64]t.U0S wWKl^k(=(bx .~mX/(7O 2 @ a +! BT"7o$<;3Vmjt}8BGʁ4qd]<9?^Z M/yGHOh_qo| hBX^_ {o^S8g|AV0nK" m?Ia:]aDzA)9ՕIn$($6Em8|ʽ1s/>!ݢ`̓ż|93E/R5OqS*GYNe6ǑoV3䔋.2 tɒRcoN,n]-O?9fK]hr]o`r_Z7a ;p"$zxk! ^q8 49b,~_0v]2PY_Rak;CL"أVX-h.kKu2ݍ`Íke&0`Yk"&(D[ȝ[&rb2Hx΃ p9؁%3gFg–8Pphrp/?V|k;@#'J;ǟ&PjdfIeWA`2Vb\w5oW|mH#{:F,wQ</D8qjIǫܶ/㬏74A|Z׵q[yUmr:&8b}z~nnIծnInQbm[дu إg"InlWPOH{F/Sl_4>`@5-^iKbg׮Z)f< nɷHL OyE IȈ= '+<q#&r| )~ ;3˞Qޑ 6uMi8>BJvh Ի=UfۍIӴ Mt됭nK8 ]x xt됮!a5놇ŽIӼct=hlKN҄*ꐪF?:,o:,›i^õcTd ܋\9.%jkazdᤗH?₞&Ge5K6 iv_4 B( B]#kGtIE*`^؇_k;r@ƒDfL<{Wa?%KoB)Ax'@g'r rb,M(22)dWQμ V'4 [Zx^y6WmZ H8߄;J+hE-MBUHg^}ӭ&~(q<)a\K\xCࣼ!+,j1w5,D356ZwPۮcw)@*55й^?)xL&AVf'Ԛbdw!j<4ҽvxRI:UI`^` CiQq?GcGjC&rUWdA%6x SHZ+Ͷ_6޶`ac:Go,:$|f$g0>8vl XI~R? ul(-6\kPr?+*)IL\@ MBK=3q|454|MKU&뺐6H󺐮lBWI}#6X ̷ԝ,fȅnna_.eUˑk6\CгbFqأ?OGH@xVr:Doy!ZaB(^%; =c_+'lv6 P %u?g4_X,J%0 6Q*!iSB|2NuS4~˃D8 nwa%r*x>Fr]#qDjMfbeh{!9\{A[U#$2 WF%]ƚ\vD{Vl\ _m&+\?z/(i%ZTeTeF+zUҹ%m)5i64i}NͲ:մ;cpo3i=[VW=0d$6ެZZ,ae[j9:/W, Tu'\=DaX u<fF#ua$&Q+q&f#%3 i{֍ɓY۳6D5dm58:ME$XuAh?\^xy ,:^5x ̺0Yɨ`6i"x.}Ll^ͼF`v݌gF%6uqTyGPہeh0N fH@Z-qX Fnr~1/yuW9%1o,[,N>b|ļk860_Ak+- L%07Zzjio^ּٚhߚyaSk^tך[1EּfZ[Am)e`ҿ(5bԛWK{ [khI/w^> źr7/.5]YBօmwXn$lѷZ&1/xKHoV تs#K:8Uo-2b׈jCn5O]\e [-Nmaa :ֳ-ZDnU`QR^466lm9qENk-Lk%F :^ْiӶY ڪmv'qW=Yڦ8Uml+f|{6/ &h ho-G (DImcJrr_3EQ+*I :58PhelQPmGYgؚRC tbN!gEGj 'O#: ,'7 GF@j/՝wQasʲM}. 2AQ32jdP(Fh1,f}GDFpThMY D h _ *œ,z39it `qD8,C3&r8X|zŅQ>hҦ Pq@YxAȔD=';Їvh*'J1:!4|6.&gDVTQ }@РD"VQͥX"y JjzҼ1Vd爵a_u vRsT4մڡi X5tAޜ5l )fcV,ΓnxKir]de}nl7[yPBFsQuT]?_!/ov[عmP!ڄ%2BܭV"zstGr!݋sntyX $vA< Qh&SۓKps%[6]u{95Mܲ|oEB6{RWeZaI&s˫ ]N~3. }4^b˄)9fP6YSV~;KO^r o;g 3ujMO~TC^jnf7+~N?(>?Ⱥ/MIkNO]$m|SOٮǚ ,lvnt>|չ۠=*:V,.k!M7GD_.-|=)ڊ&+Dqk]YA?ZA?.xU$}>BZ!n=jy;\;7aưsc؊r^_B=/RmAkXT8,jr63u(O9CQ^CE.{[r-EnHR)EnJѫ26 p /ӋIAU/ҡP;3ڛg{"Gz?JO$nuF&\-M+j}Z\^38H`~F^)J {0i- 9*H tTp2C&*;40{ocpM=`f28d!GBwUɫo'PKJ, QpZ1!~seirsplus/networks.py=ms6+pdD2#ʱ)7qs';s;ק$HbL*Iv;~ 7o7["b7qX?^䋔,͓4gKID C#m=#$WGdģLxD՜(߇Faʇ9NwAqxtxu,aO0x_]OP#걷Ycf,3}1$LQE\ⳫkBX!~IB@A<&ߪ#k*f!- cY.a` Z0f˗zo\r@Ѳ=L74D ӭxCA2sk _0 "Y뤌R${tO>8K]%sߛ fn0xXOm8we0iX+bAUO*:O+䩔WJs/JNCf=ңEʦBF n qw%Û( &N DFrBJO Bڶds^LHB`9mFx/>A!F0"QS%ŜIhJRk~=r=j~Z(_V:%4%QUWKpUv*YJ  ,~mIFʵ jI]_hjMj39LvYM:\lYNG#fb|4Ye"Yy5#$HXӳ2糰@X@Q2s1u;%n*㥘p,s*!H'ϒ}S~K\))Ö́]첧k~6)ZZF|Llao905XX,=0~ z?ObPu4,$Ms OI}2ҕfM44. _UmI2M&Ѩ`֕Ƀ<[BlKʉu?RyGdnX8T*}#hk#6OL:J7V *~ r36iɰ 5Ru O`܄. 0c ? r*_O%)B<< FF2#tQPE;( Z Iuu*Rǹ݆A#d.olo+: p#J?*qU 6'pc\ B;Evz.@2P45Hۏ߾?c_~SpP!&ࡳ5(~ VLX1 b>)*,~)-E/*ON.3트T4]S=o8D0Be1GL @Ur2#Җ]B/5<.J 9m'8aC?No`xfU y{ID? JyQGl1s {5\ ?/J_mn 7ZY9š-Q1ܶ(n(#tˋ r?,ST %j"|PZ 05(us?//{%U*>FM*dr=.:9Z_!_'SPDAD`xQ/ ̇e[K<(RqE h$Ne5AŤ4>SUXhfȢx>[Dy/6j //WرFmAv0M9RvMSX-fnJ!Or}P$*7ٮ0_X`i-c>*x;arDAe8Ef$'u2AU`BDcd Yvs=C¨ }=eڊ{6J+ *Xʀ}Lz-X]CF3uQ3Fu+(}-FhUI>뀥n{4}{1FE&2VvĈS1ĤNd񒂜-@`Uvl0( M@˂;I%(QC!Y>G›m∛6Pܵ0($E H؛|.!xijLKٹE_ bvB-R!ށ|>wfɺ*DECVP4{+uÎ$Lp4a쳲i؛yE5,30n( a`w*l .xO%0ccP#Suarݳ*\<=4i\m1hfG["4k׏ ]CmcdzsGQTV ,U;kEͽڛ4j dY!A3r+9gI >!N{PR\iW myhv 9AK[ۍ+%Ɋ-cerhǎ*Pº*JZDZOFOq? )GNc?^ JIs;M0Ft% #L-5̓@0queÁ+=Q#a;Umʥ#!ZA={i^LeQ~ Gω%m˶JHlt+FD/8͉|0UI xit^7ƑAȍs#f. (_iĴK8#,@iϳoooaһHn sz^{n^n=E/nbet _ z"c~pH_M?~OJm$7Z$ Isŵ pK #JN13-.!O~ ҩm: ӱW~.ԹZJ0)И\A^U8l㠊:%]Y3X5`[ Dg pGѧ  elWD3{Z- $JY3U {@7 TfN6 _.nf,.^<&ZKhFxmH1ґÌD9Xt(1=}4YD#4?h/bjSJd A~ o0r <5KF8*5Ee1u~C bc͎6-аL ix*ebDbsKn(]RMWrCKd"2oMtV_⥱͋{dZ)c55,AdvctZ*LN s]ʹ3iu0am0S@OmUж,Z~tdإI<i'%s?'^]p7+taO4wJ~9J-ws)\RGYEߌ}KB1DD8L/|nAp7>^2n$ क़,>ܼ%jP%i -Pm9fU.vUaT7X%K Ukkw!&M' Ēa,+7pxHG^}55X]aL:$7\l۱Q+~ eKxvϊ.V C_^vXZRX&AtGH %)Z)\V*kb+0/y U j]ΜnE-Cep/ zʠ攥/M[PeXJ޻#jխtٜKo6BNDՌz3F]t4꣎B;EZv7]41EEDGiycK6rh=n)eDlX;YiS`9^b x&A}QWehT=(y;Qd6Whh L#G'(%\΃AB_zJ+,0K%jVUs A^Kw,q,%'|U1MՍbdZ^Emm80\Tc6rR#۝ku{ouw.s=z=jS @G}TH\MfܷFgoqn蠑W)J=U V҇bMU+V:[Vx>#B ٖ&YJ}OtJ"ZX7ZDfA{0,%UY1ň6lCףgl7MNx .w=1ˍZWJ\C7=kvgڎNNZѝ'sǮSGFb+4QZ` \b&:$ʾ^ dkZ_1ǺKw]R"a7Q \!yCe}EO::? |[TJRDU2+\>63w԰&߿ )6(4n1K $(9!ǀXa{ |E@*fpM#˭:*fWh6vNt>Ί w, YG kduTI:8ut/wdk+fW4\+F6gO:wa{%bdgϢ}CL,&vBѩF4[v6/i!$ϙ*)VID4kV55wSĩ COD5qUT:K#3+OF#"²}7-::-M>֧V XWUfu+pnq/ܽC /Av Gǯw- Җvct_m 䈀zG@ {qwt0Q.y",@mꋃs?S#^lQP/߶8/Ύ wG/`CD (ZaNa)u}DW)pP1nC2pDƄtF8/&[F c..הWWK/ɓݧk~6( P׍q] 'c*Y贂A t *i 8xYH4nמqO|1V=- !]/aEF2ngxzG6ޗ$ΖQB ,栌f _⅋hS$Jg7 D`8̼9E1q u~32JtY%Qo;!vt(33&Z (nIP(ϒކ(b^D v?FV8gitޝ-^4\e-:)wȪa{'Αd#9 >S⑄c/Go pL-|C+=2< gWGu#%~|ste=Uo8 ~ \Pokt5e+.4 4sc  ln|L~>* &4B@P(GC@3!@ lp#!F7yO%ko:Wnt.ltR) W(#`_[ TFC[7~ S5 @Ѩ@̳p0 ۽L! _BSAȯ#9u*oFNc,N< ͈݌D)AA͏+vC°7Cܼcȿa~ݷxd3F hEd4ޢ諌!*8D8F8dQݱXw!{5(-u e믭3vvş.u-SK'y 3O0HEіxWaؘô\a27Ad`bfg 0x QBli!8gbP(%ڗ=Ӈ 9ܤ乡I§ wsu1GV}WQbTgѶ՞+l^FQ!9=^J|%^҅pr,CiD8636sp3>1o8st0[@8zž%y,c$9۵s_RLU@@tкP/+b(.E h)܁vlw}B&1Js Ui!Ƙ7X\~0{ی[nkNWBg6Bz[>q̂Z~GdI^q {<=?ryqSwxO%q. 1yJ{u/tghQ*d #dE[QC\Euj^;s[LRM[FI@LK(0l;T_Mx.x^VfߍV V \,( ,Jݪu94N=|rUݕ{%RԺS韴g<χj,hB@ b|I/!ds ɄU*O5d Ÿ+V1U:^kQ Z!%8g:. O_`,vaB=e{\OP<}Z̰!:/,/81J DO~x,=T!]`)H/RRV[UW/%^xln^ 4ȊKVkP)&̳J_&wP|X&q"^piruNOB[2KיА e:.W_V=s;6.3^UdœqA3^lr';Ynjcv{.߰|4+]PmL"]vXQIkTpǒOXs=w{!4yafwwJ2[[Au$SZ9vjx-]i)L m SM3? JwoѤQHr,݀Sa?8Jq\NURJ?%d4((EGȱRˀ]R6MEn!غfM Ўc9v8]=F\i7^ܶV^ʯLYF>k_43i|h"аN![aVfȟ&q@Pz  zϡiW\,c5gߓVVS%kCZCq-bt%zoji8FͪJxVY+8My7LJ]QN>7B"֧6e|5hkn3x(ƒpJxQBDx1cp[zfX2˕s5#/hИ"kl>-*&C([pӏ{avXyg.9(6~ V x2 Ι 8e*A96M6 Aqi5K4e޲lshD۠{N:>_$cNuuP!lf1lLYKR9i)T| B3W\[8泀K>67XZ>(UvxJWj#QK@agqT,ejcrU$0ؼC L1 v^rh]]Lq[)eg:U nxRsڑzMa}\lg[4GSk$E.bTił)A$ Zl] e59[j,~oxĸ]r'E׫<4#aqN& D"!E`5[mYR6H3Rv\e/{?R9x eŸ16 XF1Sd&i,,;&IaKѬIaO!oQj+@bt5<;:]G{% = 9b'/QsUw]kX77HUɨ֠(mIɆ}M;;g,q-P-rVGcM3qY/öOS ^3X>_~7`DLps"%HnH F)hk ŀd"*bKXbkPÿw2Jnr19^}gZRM6~fĝBvV7-̻,(r(z 8;zT8޹Duo˔fJqmNc^f2w[0\hMc"|sh)u6X3L Fq0AC*vpvW?L7;r`ӯ ~t$Vѹ>?5^LgD %=p>Wt~)d>_mo׊8#&սZ.cQ q8|GHӽR?PKkB Qx6u,!seirsplus-1.0.5.dist-info/LICENSE]R_o08婕P7`dH<a(~w$]I. a,vd}ޮ᭛aO東L'u#X ǩi#&cut4x<!vjhPdƻ.\p 5AdP`<<#VHkт LƇ6anG{'{W 3$=& \k;%y> sƈr|sx3 ,^~[f+T5%͂ilQe@0 EkZJ3Va>fr;ZY?zo8P[g"yEOPMʵYBՋLD+^{jWNhW{P~<@,(KPɬHtֈe&+$J2->ZGl#87JJƻk(vP@iso4Lb >4%)w^?Uy[VZ3NM C)Y XP Y4;x *_\ISXg)u*Kײl"FDZH \G+_BHO$0E~PKkB Q."seirsplus-1.0.5.dist-info/METADATAeN0E&Hl $zElXm j3WѐA"k8/EG50XWߊ\WU{℞C*6YK %:~ rh~m.<06glBt5[l$.s|r^R_PKkB Q8~\\seirsplus-1.0.5.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫PKjB QV: 'seirsplus-1.0.5.dist-info/top_level.txt+N,*.)-PKkB Qy;B seirsplus-1.0.5.dist-info/RECORD}Ͳc@2~,&"DDmh&\&S*7}]]Ѫ.O8q%g/[LKüǗZ8ehPǨF}/8A)q`UWZip]]#OqG=I3-=3{M6mz -{&G;hӇf8m%Z"dQąvr 3>|۵30O#NVȆRJ ,-:', go 4Vm_S5]m}p]9t(%au1!҃M}n.(!9#ˍTL9o;S ˱C0Q݆K>  ˖krg-m3<]1+qQ}'xˍ BJsG3z}ןFϙi*2k@@}^˓xю>mnJ|L+)O"CP`fBtRJX_0`KNR AIlo&nzi7e5]I嵯w?>>NQ_PKQJCNXSseirsplus/FARZ.pyPKLwP}seirsplus/__init__.pyPK Q.&1AOseirsplus/legacy_models.pyPK  Q/5ukrHseirsplus/models.pyPKJ, QpZ1!~ؽseirsplus/networks.pyPKB QceCT__<seirsplus/sim_loops.pyPK, Q - seirsplus/utilities.pyPKkB Qx6u,!seirsplus-1.0.5.dist-info/LICENSEPKkB Q."dseirsplus-1.0.5.dist-info/METADATAPKkB Q8~\\seirsplus-1.0.5.dist-info/WHEELPKjB QV: 'Tseirsplus-1.0.5.dist-info/top_level.txtPKkB Qy;B seirsplus-1.0.5.dist-info/RECORDPK e%seirsplus-1.1.0/dist/seirsplus-1.0.5.tar.gz000066400000000000000000001761711375244156600203560ustar00rootroot00000000000000T2_dist/seirsplus-1.0.5.tar{㶱0ܿ)PoJi7N_ӕiHsNm3+2IҜ .@Pwo6fE_$x+m4of~o$ 'A/߼Q믿^ Lx5<9ooɧɓET__E_Cy=;ǶR5){#?+H0 `̟MxcGO&?yjǣ`wsLQ0 l𛲇0ecD X dzQݰ(A%a6Kx,H3ae0cYXCF!&Ɠ`@ol6_gWadc?A R,wP߻vA:LiFϳs>u'ˋW#mQyDiq8zsE/~;/OrEW\ssUNwv>܆)ÏPY8Ie)(DA?!(>Н? J-A,fi6=Z^ZBe3e2pdAc[,io}ač0<|nY-Ӣ Ә'u |,d0Xk솁8mvl|4xb-\A8@5 I Y+–mf`# (6E@s4Im8}`@{5^O`P뀷 U4 (=h)Xoٵ׬@jΙOTO+R,/y0i*!qX O[>`WA$B d+ 0 8|ɀMJ:!UIiK|}h6x;tǮ@q{? +di.z 8 F a}'=w$$6\z2?ф?|peT>zi6K"PE<#e+o.ñFpЁDI-yP7@_A( R d+RgP*A.z'!= 6|En\Omxnoo!p30b땫XN#~w '7,MuU8 7\RAdd SF7Qv=n4vo^nbu;vEm {1\GJp*kCuIvOBHTsa`Cj'hJ(0o:ƒ>ho/C0C4.絽=>8<Վ5ڥo#`Ƭ} @ }t`r$3Z5%Aq*G7#Yt捠Vfd +X hAZuF(?G`p;!NqBz -} zɆ)@_ح?$8Pe14a~8u]Kt  Rw)8M荃bY3u.y Hvopq&b3,MZ|@R&&,c E7\h@e-EA*ŮC`Մ}0UQ=#aRe=0@h|bdúr*|N͑\i`ͽ= d.B)\̫EAbhB WOXIPSf@|4e#pF f.*@'X}Vu dU4H5WIa0uؼ*N##g *drύ(MW )JF5!}J# $ %D8 A"k-JhN%ϱ:"mk9/aZ[e CfTZ|GL(b&[ vZt& onݍ *Ly[o=:BsaIrOq.ejvD_)(GO#I(prD=|!Mg`;$7 \5 }FU25^Bk~DELv R.C81U$GVe=BP.w`xV6ŬJ0#&7+7\ (R 0ArGa"d>m^hLdD.DE%A3$~% (#/ % Օ8ʗCLjEjBM gq4p/vGП]z T}|b~YQQp2(/И-sF0+ #%z1O4lJH\RR?%x@( $ 4ȦGq'a%4u@ =)H b?i1K7$=-TOR.焺dz z"UY֔T % uvTGo?2uҀJWi5\!Es]ctqTXNMvkMdEi>!m#kN.%G1 8h/b ;r5t 5>1O>ITQKka8[j߈HBl`Æ_O?4%١5EֺDY%loG<=D)T2q%WZ*g ZeAfZmF- c׵z Ň3PړΦE({xЂk;ع"]$M%PFu[!NFʆ7u~B/G7_g.b{l O'-z-鼖Aۨ^5-S 9@`#Ou6)~=7c?- pz%Z oil_*Y.pʥ*]gI\c * n1z&wk}U0AdSCMکu=K~_7`1Iڝ֟rysb'WlOtzlyF8WM^$6 x ]G5pP8rz1W(Jm71mc, x򦠚;+&3 <d cG$e iXP "}GUBE{dٔޞmPn<<.BK $eslܼ`mB쓾#?^-?ēAlw(?U<)=1C^=t7h6~ p;`~eh]s"GC}PN{.)] #L*D pqMp*C ۂj[%\p*y]5sݩIࣖq&?E&CC7a9n%ف 9=ʭBmryhٓa<}YRvWx3 N(q|l^"-G"nʩpV]ྫ'9yb(.|s9dm3y'ǀQ xKgИ;މin1LoO# >t1yLIHh3DH#5/ YRGvaQ9x-n|J6r0n76m5! ;;rw/|9ox+qq?^Oy'o]_×?>Uv^FTM\&ʏ> ^fJ'*eE6[lgg\m*pmZJ[gq0\'.Fi>bYPkCx- T ieg_O8D}eW?`y,-P_@Vb*6h$a x: .uѬd b*N_[#No,ȉMӹ{]VU,5*R)V1d3x|L+"Y`:8|A L q q0 n (Z!E>d3 |43nvR ̑Hu n_#0Ύ6mpg# Kmeť:Q#> y^уb8}1F. V+`wa5ʵ`WLeVEi/tqgl+m`YFIw=z}sdNOXޛAZ I``Ⱦ"DՠbEUzҷhk:} *tʾ7+0V9D(VTj|شBGgutvSye zGKUVX'ZR9D3_i} `)m%X5ҮP~5sb)Uatv(,T&껔,^Z[ƣ ݲakn]mE._o;!5DZ{D 1ɤZo=xxǃ-SX1VxS4uMO1[HcǬo?7nݫχCu|'|$\v=Cl˻Qi6Ü)T780fx~|]=ڛp^C&;Ln#n4\ų{ܝmki3ܝ~BEf ?>- r7M6&﷪qA1!.+fj1-ӎOkߴQ+fi?b/P<'W#X KE:|&H:>qu;wm i8@#p.l@זT,7>,Aצ Ad5 9,Qw^5yii,LpM%!dLG'(H6F%Rn pDb"9.@h\Re\6٣^l%Jι.!V;ZVaeFOCT rR79Y:j58zgݫYYyR4Xa'yXgP (򅆫o4łp1P`ohkG*Py-5VޅU7ӑ1X4zGB)cK0kYCFmpbǨ3)pa*;hx< 8H*w$f"p0bXR )AA"eu%H@(ж{/gu[x'Vt<*k4rCBLtxC/*G1^ Mw=?扥ojMfɐڕZ(!l 3ț⣖K;O]ONUYVD͊y U>GBP!ߣ"CW^P[V6j.{*`j cc*M K* Q;."@G qt JWY9/]2wJ7+b/daC]Dq:by"T?=|T[D+GL.%KKRqmո2@GKOzhQs(_6>8`W'HM yC\_-e]L,+SV3i5֩s)OӪT|Jy:ʚHO&+LL. 'HzQ3 &a4K+i~z&)9>šVdzO՜ aDE9+xt:P :& BGx<%JW#K/6YPW`;lhU ܤ}oݠUabY ygwucOI]$y}Ε&ɨCM H;ix6C~>[aDCx#p wXu%0hY`w/E$=]lnD(ۅF@ix+< s#PiU9v-%o oeUx~~# DmAzT:M$ .ů hpLsI]*]Z9q򍷍Ķ$ĶɦTm\*Z5l~n_ P3# oKpǁoZoM#%lj-Vhw"&p#trNr3cƞXk|3GibH,2 ')_EwwBB=Tf:]qӓ[]@@0an}1 &lWN@PX(eaE\v6>YIU0f^3Û:οW{&(.?ڍ?@fUuІVSg!.4Gyv)P[?@KpHj']~G)9Z渑A.p哠U. 8'_S R}P#mkΚs$x>zk}sk+HdFc :3?}JI`H@ͽ7 )_kBɝkEzQϟaRߠZ< {f5۽i9l^777i3i5f=z?ιH]Ƴl:Z."9 oz 1B760MJ 3d[O+|>irBlu KNIvDR8w;l޳,]&N69J\ӭdSp%| st =iYBMe'H^pHi/NZhiRc%/!s_eЪWn췌ߢa*vL ;U 0hWؼSHFx%aXq` MG^?86[ܩ7Zx n;~o>ƛn M/ۧNyvb6#qSh\Ҕ_G!^w!$7=`wIGѹ]:$DTܳnѫ UWDiCG I7Yt|rThc! w&>;D t@8:]&;_JADSPDBo*D4L u@:)Q *{\V]gr_\5TˠeWBT%(iq)0FcI|,)%+ ?Q;G(^jK1y#%V'RZU'o" K+$JP~LIs`4t8%7Tڀ]<[.?cxtQ5y!2FY맦tK'5Y(RgMpl|>07໦e}]T BI(ܓҊAa]:0}z7 *4s7+rZ"SYǭ)A^*NfTq ogs<~ ZtL&H_a|,LRK8 )C|&u_B61% 0 H&bXq?.^AQ_K5 >B;/⮦5eq#M9ԧJ4񹙌5Vi] ͤ52 kZAE' )ƒcQnSNY)~ӺtA3|Ҫ╨Ct$'].|XU` Wu\<%~u 53ayO xbe0py8lx4O-Vbڮ )g:%+ŝR|]˯/wpa'\ Rp`#5,dKb<} ?]qmelr$U%eN?OifFt0 -.2q)KiK gC3$jz4xxypxYO`6T+^vbщ#]<Qq%o.M 2h)_/OK4896 B3e]K.}=,#T_^7F#3e¾Ҏ[FP&lo8>↉= ]HȄ:),w4Y;G\ZûϕQz7E4Fm$eW9keeT_\B~2SnZQ Ҏ.G`Lei=wDʀw`GU o'>N2ηoNVx" b;Z`Ku.Sqۄ^M\脶*eq#o^Yo^m߼lyrɍċr 6H4ǵ q^Ņ2[iWs%\\X#{-S1֘5B:WO::rϿ:7_]=g_~囗_8jys"_?qp*3/O?:l}"?3_xS #˧XLeD%KR?~C tG8+=_kDܵv^y?,/yݻ{y;;_pXt ]~;&DtIk Xi%^jG&wO{1zNyU1w |l-Rl̪)usy$(XC;Hg)Ub//ً,Z{@Jc(j09G+2F*LO<b@Ȍf83~HH&Lkҗ Z12d[ t^W؁C0t| 1indCeF NZfj1_}ˋa5b &VGJwݘ/) X <4DwEˁBr4|yۘW6'ylSwd#Pg*JFǰHBF3w ?SN $PR`B`bLS8,}"aE:OP̷%X ]-l0D[0o Uo& = ݊#•tKhBbC&6Dz[BS&b5O i5**t*j)u7V0ݵ?"aіR=J<:P|B1 @ Kcx?:TndHQx Ҋ@9n;.]fÿ$3NA7'"jAY Ó~ְCP#v<, ~Ⴘȁq ŀ%] `hYt',Mg:{H f2W2]W6ee ];]eN9u9wAgk _<}/k$"ylO`^d{!><~^a$1[.#l0p7>ߒ+NJ87*#/}J`2]i5ԙf7Z+Ye)ێuZ(Mmd5c_ۘ}Kx۹Wz)3c$6xy`Ϩkq9g 8gc~{^ ^ | 'a޹4grO{{3BP;Ԯ2X(п9 0O@2Հ;U&Q/m*'8ǡhPoH_M,JtJ q.F_#`t'`sOu i?#P8Βm*'4İ<ŭ鐤2 Eor4k+n,؇i8at<}L"ׄt=S{&lEzسf|}lQ i\;B"(X+5u2~ZAi~hjuK>9yr-l($.Ӽg=Ù&Zם=OٴgٺR3sKSƋ'dXSEmCb1 퐿Ln.ɵX"SMde &*Yꔙ0:6e4F׆q4i+B 7nB{qL(}2 ԆRcn1!28'0AARx&:~!^U'湊@]GmM(-adv!#'4#q6Q -VDKVn iu{X>⿨onU橶 WJ "Hiχ Tf I9rW,Dn5Aţ6ة*›⨒YWG^h& bÀ'^g?/8tg^B\D!4 F!`V'DI4 ;D7ǖə5wbI zafE4R^3j%3 y@4J)w&R":&/`~t˾Ѿ*lD;',qZ^,YX,]X{p:K.lkaSgӒr Jg6o>iR$智G]⒆yqAqd6vX\+3?ٵ%clӁtx(6=.'sM)%ApH$piDXE^rؒ5{AyxaBѰxDDl"&6MD*bº&7kKJU,T^g!3<Mgb epHBMJeحyUd"SX0y5EUA 2)|ªeYQQxjGy[0 v׮|x*_NPֶ m d00 6:xiD#+b43y+07~,S5d$NH.9S&HA-j䧠rPPThBi<zi46rPa.q8|M8m | Q HBȥ%y[BYmmvB-߹usyX9RiH|˂ҐfC|MTJ͍"aP)kl}KJՊ!n6)#!aa]h;iA)lg69: rtjֳb!iZF Bk*DEת;W;bʾ[Wjq2 VCX-es2As/$(>/S|~΂zU=X] kh$?9I6H&m+갶%GշdTg`~ UMc(SUX5ZeNI"VM{^ć}@7$oZr_-?U'Isx*I5)uf m4~ƋF1fSS\gSuV|ulJm7M*)\lmpm 'm=ݔH۶H[T9 2;`e7t֦񜁻++SڃöS:(FKw!%nѕ2 wWp׭fX*'MxۍwS,.\@;)ߔrnrU(wS@M)wj]?_@s'7ܶ*;(-=\7ppsװC{ZÏu;'% k)Cb?2wJn-78J>>.'w(ejic*/}:~oZZΓۘ$z?Xq;7_+sԊ@l伔`u=RCxݽ7\>fy E9y2/H?G/Cx_GvcopjsB'>o.'}ؒlY.&4uRWdrCFKrܜv)nݞm&*DnoKee젷KaKR.Z|>lIZХnK1I1א~tO=еoWElZ1g=$SrOl|3ui<Mko͒.1+%n7vySZn+77B>< HY-TΟF}~Fӹy(yXkҶ6Nn±4ZOzA$R;~?R߬,UՉhnBH&aSB FVkTDGE嗦Wo|ko~pY WѨVxWQ@4j7٪ff1@UM,0| Ka v >܆F7Sќk<()}=<0mRK*MկF霅3xt_תjhM΁x|ʂǬU=8/Vd/$#7!Ko}@xLڪxB.#DXLN~3fG qPC}];D sz\rx:4«0Ŀ0Kف'-6:V~JV.~k7ZKlDU)aZ!d FA:Ež,xwSA?JP)(g A!4Q!taK Hi&MPΜʫrB-!'4=kK} QP*7ܟ!e byqrþUnu@?B=ңAGJ!e(1 aT2w̃;5֥Ȁj-|(Av&Ĕ[ꋐzSp xrJo{J|~/Ƌbl{_bϺH ])$ y[BJ [ *^A>v! YU6{3&z!T"ݮ Tbf_Z18+4V[pQ4;3®U)ڕv/!1!1E.; #/FӄҕG_p{\̀ͮ㗘[LƠ72&]ֿu85KdS_0գ]:eAE{":Nyg%OoePz(C vT78&gS5OQ+?kaʾ+ (w4äbp}z%׃X W ,a~2@*^<:=U{,m~1~_ɇCNhh7<0@Ǿh`6Oh6*T@SEQ!* lF=YVJsU*ͻx*BASEQ *N::]Ϡ)bMu2SNMa`NlGl&f0r=憰UM݇$^!>)@9UR xR*cc`~, )mzi 08I7#cF. `(|F ArJɞꏚ8͒źÍ.]Nz<]aK}!ٜ(l@xuhq{cH봡 uk-f!Gmڢ3rIR/[QaQ7ѮHݪY0Ieo:.84Df4 WQ~+x *"l[:@3GZ.yr5kyН}> g}.C3>Sp~X=DtQ]F%o-|Avt1nGw%-WnIwmn:b8ٰH_~0/?^WaUnib=Q7 )%V[[,8kALþ,[h1K`RSlwV%/iƃAَ–owv }ӕn雮Ft%ۡoE+n%KnK{q׻̍ 5L(Nۓpso!]hF (e=w?̝\}sAl]X湵P` kߖ<~umNGVhșWG7Z^~`Uhr.֫%VW{^a> Y{a^y7j[[{Ã3g;Vt]F'd68@H]P _)`" 4ek9q`гWg1@x\AToNbC-z;޿.i7MZӃ^ ykm9-'BKO˜]Q": g]M|e} .t6ajmcSi R=Yg/:5k=oL: +MU2U9T0F\QoNbߒT@Yt+n{;zX޲9Z(C? :t(1h:˘V HXIuF=K]^Z)gPM53@)zC۷,l`=z64[texm[m2nm~Nmг8nЛsJ\(;ruv?dVzp DMfiG~z &ݥ^&[Zھ'WA:H$=M$1L٥pW!Rμz;evZpΊJ݀7Nrby\kr8F3{ϩυjk_Cx)n6G-kn#{'-kg+ʦ}yYsޗeʨifOX̩UL=C<`NjodD{~B #>R>3٭u;2cT<ߐ< J0#BafuJ0 RXul R V͆)ຏ;"O {_旖p Ntq&'X;5[ԙ؊A[,Aנ[%}U e]G~ǯ*Kɯ][*BW`+ƖK9177jg4V[ :rIO U^5g=`2nOcwoUxcj{t DPknzx/\K?mN%}C}ǍgrCd(d?CMrJREAH{Ey-ZWka9sZU%zkCzEz]jD$$ O:ቛ"a4L? xbOAtݺ'A͎a gýZaLK!|%1յ~W&j:%t[MvK\ ۭ[Rі{/A\՜Tsj g(MK/Ths2l,Ъ,")hnpOE JmzZC;ݵ 7r[4VS"7t~jгM[it F/t rQ[gT#+^4մ\P_$p8R8tKtWo&2V-Z}pJdܖXs2s\]h,͘UzC53dՆ;dMהcy[oz 9nC -ՐPͯ6,68ju72|b 2 ځ)F\KF x[Kmq 'q2 VTbz8SuO5-.Kmc@ cznjsg 3mrm{}ֳܬ'yGnvbFHi~2M$YKx}΀yQYm56evV9(@[Rˏ7AMÅKVDX ї678>^1$I4yT}KUXm4,wcCrWq5ďP"۵b`} SPDQWe_8ŸQ!P]1BG=~E8VKo̷xXl?ڬv7r+-Wݬ{ +<ݬ*ŃNh"s,U_~]C>M*w:wk Qwh6M,4/gx4F);KM!YH @?+ڿmYwo9 |ʿcp"Wtw0+qratEb?mgX嘈l@I P Y!m`$=܆@f|bB+D53#0:@S:x5 /աIҒ{n/%97"*Yr}N8w`|_n3x|;TV++r@꘩ @B)VZo{K֏RcI6J6Nd@XuyO_S#ۯel h1K%!~1s]vOxsUK*^rjִβgZ['QZu-uDՅ'@/,KvKjԇ_ԏwTV[ kE~\l&Mkˀ8tVu XuZE}g9u9] 4ȸ\8gH8l5ŝ?L8_;kW[L-j]hȥ s}' fC)Ki_ۼ0(S&x*W&1*UGjN"ׇFrn vhQSZgۃ9: rtj`YuI~8.zU[%rF*frp\'U+n`RKP%fAٜQAr\8:K K G {pxXC)IiVFi7i[%EU- ?'{? qyE,Jr$H#o5_YN"VƆM{^į&@42$A~Fr9k^ّSUH~4~Ƿ|kNS'hQ|c6R ̦\@Φ8)ٔrnrU()RN9M ^'mN .!i{?)a 7a۫m8._jewXy,fYs 4~LRj:OQpw;-݅P ?GW(]]-vc2"hXDO75Jm7M*rRjP\SmnW\M7?wu|Ν;ߔrnrPܢܶbǷp]ƪ'wh ?ԖtL7@F] Ov)AOr{(0lQfy;2 4Z1tO>Tc?7-o -mL if寕9jEERzmH6r^J :V)!Ye_lfr3 s^n~{ǟ#!#|;n .GoV" j[& yzd8[Vˮ Mmӕ% `ݔo7H]\4Kvl6Q rpoVx[24,+e]X[ݖvoaK҅.mv[oc!(yM'3W]N=۫k}j]OH<7TӀ-[ߠ]ZO:p#Z5=5dE xg~4v΍xT@2{͍굂ʳGZ}lr4o3mCZſٝwrA6x$HJ;-EH;x4sו xl~Ql?v#xu?6 spTsC_Q#zQ_Z~V}0?>qf+? A': Þ` {aȠ^!ȅY 8DmmѩsZrk^6Nx"ѺՈ<%W+*5gQNtY?G%(G #Q,!(&*.,b)-ԤʙByRNȹ%"Bs{m`!#J:",T?/0.[Unطʭ|ݾN GȠGz2H)%t Vy)kK)bd*!Z> /׋Rӆ !71V"^T-y6<9y۞<_勱bl6Xs._u'SG6Gog~xx|S ``o#6['_8Z;x7K0IYzpXoO^x~|{‡o}{ql/ONr'O~4Q}7x^V:HݿJ,wJr[ N}Y:z뿳#>GA' * )t`|u75v^y?,y;thwvd5k\bug8Ӕw(O]ﻻϑm~m/QW(Tk?*=^6UQ,>VK1$LY>׬ -VM1؍?1%0'QJA=+U `"&//լ٠\=H?-j襮|q̬fU0n [~\ז#!*gdɴx"k!Za`;EzeAJעS$ҝD Rg{3V,Tf=DŽT`wįnR$E)"-1*IˇH 1Ѕ_-Yen̗CB"WCŎ@Di9qsg،U1HqL)D/RtSw C4Z 0` 7#Yqql(o;Jg{T$ěK ňx,&ca)ݼc.bG#/NiWF[ d{$ %3Q0D[B՛BB7n m]HlĆ(ToK`kR\g.ը:Aux-m՗@m) @ԣ :G`(О@|0膁T" G#N("怺sY-j-q$=PZH7́tZ"%Sp*0 Rd @а0OBPWؓhc5H0r5VwR*ƻ+A0a`hYGo\X[SIV5t\et]ez|DdwRκw9_U]F=8dZ@k _<}ߵvQ),F#xS4!oĞfn@EȈ#x*pwsʟqCPHyS:Hy,3Ǎ<4V2m:iu&6aV=L{HK|7b"&"q.%Ռ3s~]G7F~qtX;w׭>׻*9|{}f{wA"Mlw9ጾԎ J'uy.=Lju5 Nn$h !nD)xus@߷ q(#Wv2~E1D*2ªk5.?,6:1>4 q) Z.ΠDx>t)Jx *nGj:˄ Aag@ҺK%[Aa 5[ͪh%^N9(OvpM37x<‘m0q`>5&, ˒*s>VIp$Ac-I 1,4Aqk:$ia? f=~ōS:9P" 'l\#ceVIҁC{*lMي3gU3ل״ׅmv@ ;BM Vj3`:AR?xiy{} 43`pfGug|6Y~{쭜%CxR2֩bóY,bS!WFZD<҈jg)``X_씙0:6e4F׆q4i+B 7nB{qL(}2 Ԇߚ@42 O:R2 !ӷ2? NgDlG%RX>E&~1G%_JIAB 8B?#)'@_**oKWTS1ڣ8`eXx\Y\#s+vm0z\҃;cRqsNb'z*GƼ/hSckhŒȓ7@L8j{&.予W>TUtL DIAuZM^|y[5Qi+ C\wV? Jv%YYvQPr 3`c=XFphώ& B$zt%;Ð+D/f/C q<ņ`D <Û3' I.raϱn%KkTG"aP4l"6Dfbذ ҃Rǣ;: Ytx7#_Z^qbq-hnKĨ 9V5Ȭ r|9iKпx 縎{8=+=={9=;==wlk϶HgKKzݽiz={)hK>Z4>{|Ox7XcgVP۟U`qBm~c%KOcWc{+!icL1{âL[c[<]Ye͋sm'voX=w`۽Xa~Q:_bl~c%K/1_1{1ϟS(vos :oLcl/f~`HGV1OBGLGI魸_^c)ތ+ӰV 8Vy ĎVל3&N9ȤEkY5$H? Hj{iוgԀOiO0^{gDMh-iC1t:CtPeϔ=Vqn(DZZ$vOT " xiIkre<Z5KE^[qv-{[ 3 cg<2vp1'8=b!y`I\vR9 t#:)_r?PY<d3k~4'"c\[ w^Q kLj>(nh. P"i^9nnsg8%\g]3nCJq’gsBvqkF灒RF' ngpˠ1PKG/I0kӡV$l&ȘbGՂ^H5VS?L4`VE|9V^Jq^5bjႩ77%QoeP+|( –lk ; v7/%h'яxv DA$l&K1tENA0{,_7ڵy@x/=iQ5Ynh/҄Vyqǣ[4!.b@MՉhpN>&11<hF3x41NE9])¼ o :OҤIìҤj2UE ꗌ TTlYc4)j=ļAu' 6TTБU!IY])g%MAk~w1Ti/-(?׮x׾x=寧'dM3SW~_ʯvc;O$D [M3\zz]s4awΝКՒR\~Aj95EÎil9Y-4AQUPX ѽ%`F#h O㨶0݄W}'o(&-dzźWtbv(祋uW.j]Rs\/gk/@Kg`0&x5MZd [2t ݅I`6Xq<']+_䖭=s0-_Uj\4e>~zj&r0nU9Lh9)œLsZ93yZ Y]`Ί0/ Mju9Ci QG5MieCeJ?5RL`4ar⯮|tf'֦LSf>YzZAvIFKy%͍L?Y2hʐّ,&8.: 8.3p0w:a!M;pwC !oeʮFDK>^t 9~O ~_KW?sA2w:x2tD=&nl{dhAˤ=-ӆcZ}r,qKqhjZ}P3mb9OX+2 Ӹ}˷LV9+k0؁uof=<+-BT&AH9ʀp͊Q>$},[W-/0!x$sr !*w? &x?6t.f$|f?,N5wQ{Cy{Nqz?;;sRn˼v]Tf\~gdž1Y٩I={oa&qm2GXW|}yRxZ2MfsM|9A_V ʎqPx|`WW􄻩#9S|h8c#4 =|wK_aTW0Mw;4&ǫ!_hc;&]j TN490ORtzNwyC"080yx[8G ZPtbYLU29gs3XfLK*&0MaYa:eƴtOi|ҒrXVxfXg Y&/3e ҝ BVd`Y2VA-XT=,]ެ`y 7Nvojp[%no̙bvk٭%fF̊\ÑM-= uWMчn>sޑk=.SYnTrVFrW :v5p*5ӵ-媭y!3(<\`UbLfZIJ \fGLYkՓWVQ#/4xVy E`jlR^n=7WVQ#2^:!^¯E&>eEf43E`ĸ҈Uk/Ufg~Iaq,sZQq u9Ivf;INjt/0=tPk%?2`:U[SWhoI!@iSq6v +X1K@ZAcW pK&/ܻJ† YJ $ͩI\NAun7'+N(p?Ι g^ rXQ81g a12s{9\HU֮`ف|szϕuh *c7[ ˠyr?9ӯ$f(/OѢH01!z5|FA~֔ 'JJ] 6PK8eb*)Z;M4 ;Ď* GY\?%Šѻ c2" ׏S=E N;FBYYK=3>DEFn墏1/|6Xps_0-$3usK~nlA= ̚ԄzzJ(vk\;LƧ!JF` ᒣWtm^xfc7W1{cWw<,zy >A9wfEƵB f5?-kcMUAi*2*E"?$ gQлĿh_8,Kq-AC;oȯU+$GnEX^ä%\g/aU`:n-YdUg*fGcךpU kE_E3!>c$BkGo8hBl>XT?ya}}[<|ʡ1Obk)U85t +w}ktG::DA3DOb'H#soвBd.\ǡii?AYd<˾ I@[7a^"Z%{&R5G̹lt.ƒU@6? ;`t**"'bLWA;Θ,pjA rP9 ԖiMB,*` D( յfA-2Ȣ`1a,aE.g-؛| $(oh4蛢7CG2: 2N v8Aڇ70h0SǷ q=4U 2 P .[ I0!U&VϹR%`+T! D'oG.O#JR>QڕCe偊z S.0E5J⁨H"f]'xObZXSf.ӕ/,(A>ˍIHFy(sUdLJ;^5:d|8rcB3G Ch9m=Hx/h.S?%sdBCVSh{@kB'5B>Ӂh6BIv1 r^wE/wt=g"w6HTmZS(?>U"oUvj0I_!698V!ɂѩ˛Drkkj ])cmmvc c8qRc [jPe9Ε-L" =xآ)Bcjb[$sG6&v-Bb IXlV-ũW.#{97,hSŹϹ(4uM<ߴojd$-@ g0Z&HJ#aG!x߽, 9fiT,-{Sw#^j@mzE5yvkDdѬ=GXv'2X˱٣Q{4;&ӇTI4ONaߧG뀐7#~y&-DV(R.u4ia A]/E~fۯ fɪ5{2ĩ1ĩxc'4FSAr8 PK焰g4ֱ*@M_ z,;(I;`Wr'$ᗞmb~L^5)5kZkj׬ .2\vqy,Φ =ΞӦ>=\zzvڔڧsesjϟ^\ zbe`.y=Fk(GjL}MWhzOg1}l&Lc)rm '*|&NP ܴ\ Lj?EXa c.{ \%0۸Ol]^f)nlbSb&։6'fjYsbf։9mN̩ub)19Lδ99F\sn]0 T0h"{hJ ZKw4}@^v.|;vVFp4NR(ȿ— ][g %O̳9LP ͖E V(^s'q)+@rR)_2iG\Ө[ | 6QD XS/0<6E8D!3{~<u Vf>xD[ Xsu(mߢ~tΨi^8Y498E"ݍ`Ý kC7 a.ȲG/e-9QRk Q`w ҄o6'U&G*2CUuvâSɍ ׀PlJP惶!6L7(o.X(Fa# #~Aa%]VKu_Ő*U)O(q:n}_w" ۶M{=wG51$wҎݷe/h:^cɉqq8vaz( 'E4Cp/QL.o9Υԣ?hc\r!򚑶K%{h;A_ $Xd6q&xCOB:lP!SP>>Dt&%5d =HT#JARiY&0}e|ppC>rI\ 0%gK$n /889G[lp] 3ׂY"(R`۵zI{`4"Pbxb|\ϭnyHxuV@Ze!!t u,Dfhh8*J< '64A3K뗹ꍘPﶰ{C=& fX6r:WxJkTo8 Ѝ##}҉'N?YxH;OƏȹY9a Yn줋d8>memY]S[nDOmx󌣙a6[iRxEIJ-- sU'u.&윊@ MBLBՅttZ+T$nwš!HJOĥh 0+zp(\1Sܮh?!~8wVrĿfStPE= *Կ Ǟɞ 8\'Q^hFj^#W&{^Ԙu w2YR oy6~(nM Wuwgɝ,_x]Ghd| u?HǕPJ!?5! n͒U8 oWK[D]5NS( GȷG,R]06 b-A oimG?]gTq8EA T3 = _ܲ$ vV!8QGN{#Ǵ#nTrMhdы ?2R> :47Uʺ6L pV,xxQӮ {dLћɿ;Α-8긨.@qs\L:L3JDۿ=iU+߄dλbPzZI🲥yMlC[A%)ka<䏌CXqmF[]\F)# q 8F ;6"Ö-49FA lwc467ʵ:Q+K3xJݱe`rM -7irOTO*ZnlIۖM&uZnRll7'4|ڶAԕLT4iRoZ}j۰P7WiHM[\V4Wmn\4bm\qx?ni]kg@-ҷF[z ?ɯe1\>\Yݵ LPoB>E +5\Do^ŧN>󏠄-t+ y8זv "X&XW,}9$h1HNASwa D-{uNpo9$pne_4D<ޚ](v9 ᬢΡ1 q% Dlq}fb5JHω3x3ɸí$ZiR.{bni1an]̯$\kc,fg$Dy9ls)l/P=_]% ŖEni1SbQ";'9})ϰ=vqŖAŕc   PPCp}Ebdf-Ef,3٬ Vd`'{n"il ln71!Z~\maTX؏^>_'666|0++1*xbSdjLz-x܇ݒM91s "fBJz|1jeR[BZw1=Ohtԭ:Jd,qU>:6d2re*(>^=&G FUc#/JqX{NFHǼ*k=+4(ݛr& @pn|xKr<#nps:,%xQw %7)>akQ(G5 2i6y6Jvq@QO6JĈC5Pl@X r 4@[0MP 7gLA9~6C6h2ZgYp^zpqP `V诖jGနM.ZTYĦhqx'Kjj yݤe-kp"kfĈ$HCt P7҃DԃJ6:ۺΦI}pTڿՐqp|46ONY0S.0INgEzh]7'BN Th`”S"3S9\mJJ%s `f`0@8 *KgD7(Ŕ>2R=앀3Q6\HrS@7\~ Ⱦ9虉tTyW|zCBz ąeV|szxmOzd#sq55Fb]ӡaEA$Gp\4P~ ?7-E-ʿ~߇I0_Cb[tVz"Ke%=hͣ$)&f'\wn$=Ģͪ2}cŐJ~xm˄}{ɾ: S?}O<TsQ\JZ>_gˌ}9Q#PzW5;rLy.LiKd ׇJ1vw;yrl!~s:o;#d;w/sTKz{gDiΈ5ܗ;2#P Һ{==CvFo3zIԮuF}tFhl;mH=p} `i)YE;a2 $Բ&GC([/cvJ'.OURs4C )LQ/B&n@Έ~Gh=Bƍ=D_ǘk)RT葟sBb }q/=3š Ś Ś0I5aX kaM·GH]8x\DuG~N =1Ɵ}syT8@f<%?OM y [MأI(#<@8=KЁ=UH="hUa(Gm+$ElF dYgYm<~9MwcH^ !(|l=KL9|DHMmKx'7{q M|%t,pYbŻ \ SG1k YH$ڸCTxNJLv-.S^BrP`Ԓ˫a< Z+΁1kiH+b+ :;MJ}e3%g ,8S`eS͊SUhkAVZRZRF~*IVHBXԭX b-{P܈rS(cpe %9>,=nR_WI&7ve[c.;_x|w3S_wo(p/O/×KWKb[!)/@]爾/'eUwbq{XvB/-|!_QgL :! 8f˙T|) H]Ĭ\\=F )ØUAro2L\vܬh"j?OϿ&b\zт+I˳hݞLQWr];-~b8Un4tF:]}gDl{Sw48Qp`cśTp2sb$-`1s8⤊k`yMB㱖3mV6>]-b930kafhv ϸ_ h݆| լzi' 'o#"K q֋<%>r%D8$;k0z]j*ȈtFxHGʚ`IvܒZyA\-@}@L? K@r>u@^}&p'?`tu8.3pw[ĆoJ[bNC@IP]y)ђOqh?da{s?ۯg_pj'W~N KVzutxC{=T~-&n<(R Ǟ}2i1Pehklkl=~C`c@;o=^! @\+S%{&jNЗ*:UuczuG0%U~+=ZeH&Ns̑szu (!U5bӝ.ID9DA8Rw'V *z{]v.-@&I"9UUfn.kAѣI{4R1W3u*7`wO _.*yu&({k|M$UԈ W,ˌE %&2*jd߫Of'h܌O(( (&(kŧ,FL Jud9U"12Z q0,bM- e&*j$KײHxTj`Yl%eJ2b|bU'u0MVn8eu ܦf{fxu6 se{8lg²3e̙bzbE']0mhg8hs 74nF4sƹ_0弦YKV|RðUX4mI=&3a|bE'0nlhⒺ&N*h¼3bbgO9)š 9vg>+`q%?학#(61 5WFޒ,Bbl;#‡M%WCpiSV+h*|qIuoXJp@ ,p@'*Q!PK{ :NJP:3ʜuU!T'\ּqB& ӘH (SOA`zȐ/5dVkIjf 尜V}qb*W^eX ͙sAKױq2 F!>ĜjMoF;$[vc2}W}uZInv Z.'H0~O&$f(/Oa ?HbyC"\]5K Pb|]ZW!-F `OM-;VYRzX,* 908q>G ^{bURp+QLkcw4ܮqe+Z\?kCaۻYD gy(k~8 e>N{U" Z PM.+R/Cd}.ʾ>%(֠X w 9|R^A`Ai{Rn( [~Q3hS1}e7hT>D*jkcY"^vz,pېOB䡊HXF]C?4}4x<" ] AElEhGF1Ɍ!6YOy=Pk8UPv{-8sn.bTZLgG< nU-n~;!{D.SdV ,;kXQy|1k=sF#b.We+ˇHusEg<^\-f?94kI{hJWcިpL[U ฯpyE%#[*?hL~@ѩ`.Ax4z4ϕk!0zޕ=Wdr91>W >j(RXzk;yq3>_}.Z WS=Uhd =]fcBojt]1ms]wb(]RVhQ,tH([6woo:y)>48Сz|!'?y@l#1ŌGȓD!`C8/Zį4Ggσ;R?&C*Hd!zhVNG7' g|ai@ߙM *NhDΥ%o"2gX"U7 KZEݩE ջ(BQS3ob aaEk hGMT;`^ƢVy.AJ$[6xMl,Bki)l4xgյ^h JgH\zZfңagitQaxg5>%ز5sl]!k7dՠƻ\Ϩk솙a/US_;X]!>R:9 UO1tF=lDټ-aOgzZӐҥzʮt^SEڭ7NnP̈́:r^J:TpiB,:|v4`x%+k~GӀ$ =Pނܯ 8Dظ|b$ å>76F$He\z.]3G=͋h8C8œIT, ]9%ȯ,_Nfi'CCB$N)TT.pp:}s3c3=*1S3h໚AC4׎i jhǴvxucZG;g|f2VR`5NELpp@ w6u$\5J0"w86GBS:lD+{!g7i-wpab9B`IV0_ѺEEn[.j"J+]b\Ql W*[*._6(`1tkNy.3 KV7|UM؅QIa#n/˞sWņ9paYD8]G|%VvUSʗvqMpM⚲|*\m|4ɳ`*[GxVxgvqp:-ujRz\ml2lJ:gyeγἲ!OlvsEt ۹]ȕY []!{exaFq0 ت'UK8m wD" [xwWq2+hGi4ub[VZE3Ϛ*:kJi=mJӊ\HFm=ZqŧvҔ砶>\\>E.xS}j3v۰zԞ?XOM0BtjW48^|&Wax˲T.m0YE~^klGëHYlRlR Xa)QFk.dx-@imBׅxV.Zff; 'KrMMj+UI ~;vVFC{̢h /B87HJp@ۀ$HYF'PxevpG84u'n"'v Y$]JvihwY_l| <~;lX܅_ 3C'NȲSq@c%pU7A _Y4uSuq7] ) ߕQ`v !-,xlFp iRvXc~>\A;,{a\v[x@~Q+j )2'MxM<d"aa?:Sᠼ 0Qpu;)wk !ц@G46< L5Qw &>[kߜNUƅL{f)t7 / 4i (˾&U\4*@$ţ4Udn] KjΔJmEƚ-OZBEf*.f׊thQXG1>сAD|h l@W>UF2̙'(y%9o 4"Bn8ҷ #7?E56B 8xh =xx&Z7Ym8gqyZ΢ NX5Im;רz;רz;׬Bj[дu إw"̒q(fWMQJG@BfV!+L%V?e|ʁd4Z^iKݢgшe׽\@`"_p(/u$~xb0yAL & Ѳ'Pi5ON_;mi)V'Ueۯ,okl}׬ɥ*E13AU9EEI5.\ 5?FfYQ)2)A) .y㤨8ww/"=Y| #D,<ϡߜaq:2J.m%7WS@p}#շQI1'6j#g KXsoHFܑ>',@[*'`aܬ[0yNhovVjʶ֬-#>, F' njKCvXQk2WR'WvTV:@ MB%33u|494|_oL'f:HNuNB$s#&:X4 5Q0O`^t 5R0;BP12| 2bUKUҟcaR?l~1MС?'OlGG>39 O+z<2EF3r*j_CϞVHFS"I枝|*H%"h!geW}DŽ7OdS35aēe=W15~U`^qY vM_E9Y^ln-^`5dOe ?'K4_X$}\ %0 *\S*6ЮfK*``?=rhqˇ-69H*oᛃ&[˛xfLF׿ ƮVoA۪Yؔ"Oa=5SmѮVr6B}ٶPe 46hiaO<϶Yr*feiao*kʗmrZ@SتwZ[cog[,n)%*i`jemZh/?nഴjתC7OIv:EµhVX3]2t{nZdӬUiko pg#t{b%Oբ [m]z' BsZK>Tlw,ɽH[;ͧWuy3ciD,Qm缲s-.7t,4u¢zU5lYZUK*ݤ/*Vcȯ.gqKL:=,q6ih{=䫺}MbqLj/eMzD%W>XT ,%C,4iUMh iD},MٽjU~v8-wtap}6-M+9jc_A i;ׄ;$ 4uc9;\=瀙 QQ8kCa XkH!pBW!+5RHbX1@-exY*CETyH'7CIG%LX(~t\#}KcAڍm:hE +5\Do^ŧNO$#(!p*$]J5TXBApE;"(5>R+Wawv[$'o wLr 3lmǿuנ3rILV" xx" ".PpBc<˯#ַG=)!='v-"4$p`= w 'I^rm`~'ႆ3~89u3A { _ClԻȪ QU~}<|~J%K)*~P 9:2HrI;c!B>|CCU}7#G6Fl @ZGK8A_ 9y4isse\^DyB8?x@dX՗ CtI@ʥx^^,5fT\ (Y݊52zR[A){ ZwF2ݟ=~}N OҠm=w2 0 IWNx*BOHտ,:GIwCsP½bnR8vc+2kga&H㮑V9Ţ$Ocj=.Ajtd£P۔ , K*Z/C[0lN02aПcs]MUaɱytC SD󚿸@\:]>ECiW ,^QpBM(BJK2#g(^G" EΝ/Eғp%S0ϰ-Exͱ:bW_Wˇ#IxD-~%Zɹ2dעcX6kT2;Ewxs]{EϜ˥Á'B#IUo%@KI \WmsDh_EAORo=*S#乞DVr9tÞ U_\'ݤ'*!0p+z¬eG>0o99kqpU)0I&b $"qM 3#ީE@7R3 T^vI]E6r0E0&$He;N<3q#&\y$ lH|3F26>j $AH`6<L 2\ sQ 6S.FnAs y$96Px-^\ {q)x /߅+C+e_rke'S({Z}͖`cSV+L#w$7 ;Vqa k)r}A 2ms԰fzXQzt|T;!?G:2#z(h M(Y3W*ʨuOni}&sV$K*U IK)ҸQ?Pp@3_bql%NxNؤU:܈f@Tm('ht[ZX dK/ m%c|}Dnw2BUyN/Xalo a49vghx\4QƋ'B$X׉H3xyto )6 $t+- тa]빨R{HfናUW%d kr} F]->6a+q?z3=wŮZAgCow`8hΕhReާ*e*Rj4>%8C(Rh统fy}q?2c2 ^CDcιn9.#CI8x$dhNQ䬢{IO~򟣲4˂&ҏ6(fC#ft@LĿ@|Xw@9:֓ZOCvU֮R#"7͟6dS\5[,^tl ;@> orՙʛ;X$ WhPx$"P& >o$rpeoq XQ@m#<&ћn2 HB5dQsl o7e]f ?Jx܆{On.,ylu'n2pH6HōfǼٍyryy{tf%sD1wc3M< 0gKCjq^m0r_].|888{f]Fu/Q~b'9HՂPU'WUIT5qIY1|" z"X)?\Ÿ#E)s:mEȈDqb.4&KSaG/ۣA˜슆`Toa bJG]mRKRqdL0{9Ǭb.g---;;Ouߋܹ^CK-]kԥmrk ]EsVc/M<27V0/U{IR+؞|MyP5QҿFy=QߑwȽ'n"%5. HÂ=|>'Rۜ`:\0Yo"5>+$A L[dϜBT~nwUJ➲}ȸ| v4&/Q]~߾q#ѿ`dp2 _~3|17Yp`AG>20m,$"C)z_vlHUU꟨O B_ 8WTT?kNd^a4 UWW/ѬCCYA`mNlE'76yfe* +FJwW W[~SEKm(5 H$ er(똯GäL+A4'|D YRG"`E ]=v1ڂ͟p<{s fs7٠s (N3Aolw׫pŹSTj2 t'C_FBL-PWdE8\Mv[,>Æ! rG9ȣ~e.;XlW[lAG W "4@V dnnC;m?h U#9TmznDnynH$mOjl$DCEi2ku5Bȣ1cF mr* V^*Ĉۇ,ew}ZNb PNrY6 1 n/ P;Y] Kr45NDU'6r!`.)驌̈́2~^N:j1;ΛdB[K)dJ^B3B"Zw0}#zfqs\[!ތK{M:wЎ1wcuߏYh51'h 9O`9fm8 dE`0n4 TT^ؤ5ؿ7_(f1u 2vC)0 ojO8F /N< g {/`~9IIQ]-ܦvxU^ "7#밈w ^E2wѱaOYF88;w򁒂Mje& ] v@,!,+M*ԱD"]VH0G?t#>:CX8qnGtn3|4; =: P:bTn 1zŅсFmW,¡(:B &BNU" 2Q/u(W_8Mi0BRsxV;`ZKgB^e&ݎVl+{pf|Gz q[jϳ 簂rgFA+, r)AHxbl,D-qJɥnCrI3)b;!ZE8W䑹i`n1cJ@[+م$^^M3v Z֌ԃV X:7CvZR9!ub4J#O=V7C/rM\@l؟L bʾ)v) w Y_| GǷg"G{ޠт_6ٞxǦ9(hEiM‹:'V,?Ie^ƯYQ+(A)"(xA=a&ǔA] 5RWQTEiwk;ohDq IbB0jΏ+Rvعє6z,H'S5L V7L$aK2ۉ)~rIoe(gq|Ey#| jŌj&8U ]AN<]٘#QQKa#ލĨz# 0^skdt̛Q'+lCxeꋹ=k5V>hSܖjY_m"Zڔ.XJқN)VC]ZGNzW B{iT pE(1Z0#t,iz Y1OUl2-`tqK&( OJ Jt!/Z-%$` |`+55/^#y-u!i\cUԂZI4 v[(E\.934듯a^ eb}LSɪ^sqB%^#*9:0k)<| *mSQ EkFQ˓Os5"z-yVR]k7mk4=f=b0|4KyFbƀۭF&`tRk؛ W'q TɍO(cr$1|j^\HFS+b jQy8G,hBZzI KA{:I8bP|Ka៵Rx @>xy40VGꎔ4QέN J!zîXB$Rd ))ƧpKVM Q?C7&0FRN)F(G(e oщnDހb 2fD&[6]HYmҬHsZ1q?"(B2 e>H=ߠiWL#ִ ~x06q0zSiCDh91{G@; pFΟe ˦VM?2I}r rsz^"6~A}%0lP\ X< @Ij)1*-x ɈBXPzd*aI(bf~KiC<7٠ RY❌|}5~l_sZ%]`8aqRL [ؓksЅ>STܪwge`O1y#܀9g=5M#oL,dR.0K1@;B/U@@ב%aٱl4a0C-٦TM S}&эVy.shNlQ58-: 13@u6r>/ACRnvDGn6vD k5.am>𸴹Va4UZo)q7p⚄&3M 3ܮiRH/:ov jJ?@dﺓ30OÓQS؎,UmwAǮ-&cm5>m*ApNo)h-r*fl6$ 4$/8/j/ 5Wq:cxj-Z@SMx&Y hD$V+3ic<G=ThO#[YgLݞJލgp[cfC,[͗cf|zLuWh23yY-`e@>9P@yxtΕϱ(ȏhwh'[ACg:@8CtFw#G{GIL "؇*]z:ҍ l^xue[V"pRhS-:&>|N`҆oTj@,7kH&=#*M?{'@#u$z(؁kvo Y^wx ڌPV-hwZFxe-xxb%T*se'Wœc[ԋS扨0ܮ+JrCDg5q8tU3!0bhEs m f  6lS >]VJtY.+!K+cz\op[ ni4ؤ(z`ϝO%Cl;&QED- ΉAA)WѲi΂ʬba_6lg* K E341?z!ҷr {+~B&@ A 7K8mi4mWS mhCv`#l0">{ ~; `ﰉm~6N`ث) :q 對Sؽ)RFᲨkK^+U0g.btRj&ZRv!SE@ vh ,ꎷ[Ax:nT]r2:!& y@\]щʒL;|v`d/4J:AӀ XL]EQ=kTG߭앝mCv_aʣ,Pyփ'S󖢔ഒbj'+0 :G)!8VheSFњE^!:Y*.Kɒ~iOλI68JB 迌nd*Ӹ,YzaA!Y#!}I#IN>닷Wɭ1?5JOiK3=,4n3[j MS %1O@H,)b:IqHBpqޫQ Z݂(i2ѩdIw@笘+Ϯ 3Q%Qcqo]}sv}Qp2v<<@$+QFՉ'Rhxlqoff*p $˿Gf324͜$c1Qؼk&(-% YԞ ϼQbq~qxN0b>˥~m+tBsʢݵ{c P Q(_eYbΝ|5ƾh1gģ+N OK'"솥d`F4J"kKroҭ߮Više|-F^Ħ5[k܌S;$./qNF"zKFhgFabjYu)Qըʧ%ESl,lO #|f6cY{$Vmyc,㝭9[-#LBXO|ݨ(ɚA*[uCz c1Rwj"tچw:~g]/O%8K)d'R! h{)j!pB 3AU(tHPZ.A*l>=zmb]>M׻݊ꈾeьb|r\WO3^G k㌺Qe6<-C@;҉-jy>f!Bl u9hf#3-<3ߝV+b՞ÓdO \=ʚP)8s 龗!1lUM8KjۢWi mBzAgǰX7Da[i!3#Pb՗I@N;:V_/`:.V9fUxb]JW,/|na2&vl[ƥ9uB|{Ǿ@BYuL-$B3s^< `!޼& Zš"MFoLIDyB>QȇdaeE ݊4{N,ؒXLl&(M:E`uu]|JB(**Ό4,@>Pp up_YJ! ,3wo̓Ȉ-)Ba}8`?6͛i*J]&vҌf,c3^cWu1^Y.f\yl)SLzB"IBd=v4bi8]wg<W&jRJ(o Af02>{=7HlS&QmfƹmaZaӃB6KeL5/n.옚X^TT ,@7xQ"RA]yRS" $ D(ETK)L␘KAb Rub"-U"؊k9ͩ'wsrץ;aGn9A(kD_td) :Aejs!ىlqu& CJ%S#z$ 4,l|ژ+"،QD};Xa0VL@֞' | K6̉A߽K~٘}}7R!n.;cfpxH0lK`@~ );Q6 \ô[D7>=A[)}A?JWT w^_\z:A踺yZSv4;;3_.=4Z8R+^:S{Lb@d3Sf+__M•1<_ \>-Gb>kZn׾Һg?2ܳWw7? {>@dEx.Y1ʶx3ym>DrF`3~}sq]& q.kX K߿?XMf;()+<7L'к߭RS:Q/+yx2ܠV{FN{^4?2~݄P!+awƤCgD@IqlF癳ŇْFu@#"^RAaU9%rj|Uãۋp 9G}0SӂwG]ye GcC>FQC &⚿pq;W^85ZFvjRlx$FWOTOTO?Ї seirsplus-1.1.0/dist/seirsplus-1.0.6-py3-none-any.whl000066400000000000000000001772651375244156600222040ustar00rootroot00000000000000PKQJCNXSseirsplus/FARZ.py}Ͷ3/El泊8O&f8GS Mxzy.y nfS4fOۖ-mCQ@t"b4kЂ,yvi׎z,t ?!@|\zJB$,d]yƢp~kL #JpW9W DžN,U؁h &+#K)+MtzEĦy9LH>/DH|ԲIA(u,S\y,n>yaS;mSw.vBy ktƳmJSȈkIA? g(*X(Q*36SAAqbaZ(%G7qy)T!1q XSPc܄ФR _ ֤8Kp^[qg΋㱸fvƒ1bnzqD@TuSǮ|ʡ7ޤWqxV:1@k r=SSRrqG.|Sq~ܧBz4(2`z4/ic`=Mqs5G$Ўf¨2/֜dg  +z=U|a^EQzij˃Ϟ5\B^Z#edQĞ=fkjL%:uX1jjQjrHwgE-d{#0&@ XeZ/sڞqk2> o"W6EJ-ALj@ϋEgXhY[c~L!Vh4).gši^tU M/^8$`0y=,FGfq]S,WۚeȜ楨v׶>_gjU7DVČ ^b{ӎ:~|v,iXO/y zO!FD5ĵԞ $' 1˿ q:&BD'q/A+6D?RKvh!:j푣"kqJԶ2N-2ݘ VnlӺ͑i#m( KG"Gڧƹ·G&3ʹwP 6 odj|o$HQPƉIa={KJaKvo.3i OHF"DSqlocRU\sxpKn~qZ,E `BEEayY0eIg)-/Qߤ<|mo&2e 吳t |GA!^S-VM?u%kC}%Q`GH`׼t׃N ~%$R,4Kq%e CIRz5.* L >%bpi'-2,x(./o~ڵjQ4ezvM`$Af6{)Y'VϺ0ɬƗjj\q^m4yR%][X.J AfQaY"YW*߀<Q-f-=1_kXJWRKGA3Y@ u ZM Kv̞:MzTiBHB)Z5e} jp;eAEEUPy-܆KdipWԔ }VZPgpd}%3Kǐ 4wG0ˌJj!nwf<4:̭mI[20m7 ![JQ_zD=c^u{QѢ͟_-^䈩$hIm\-t tp3v)Rܓ s|pPQA.V65qu.zzTc粢Lv<=F#%vF(Jh~E5<7ޗ vfEA5⬞;+  vQ4mpmyq$(Z۩0N @.j2n>qҶ3 |s6&!|wPNR1aJF//kGB9ќS** FaNGŰ(N pM#[G75R/VAj!Wzzv aӏjȖ"}\'X]9d> gdƿ["ECl n(ㇸe2a^;/װD="=w(F8BEd|r!Ş,qX~O lS L5sD ]y Z6'^)Dy_%Rm;C׹h7 ?YJ:^!F|wJo^:H?w?9!):$g-7ԧf3x(b6?PwoOnJfQD| ƻqa8K$i H8@̆)A8ʝ^UЭv(c.-I`s\7´dؾBa\'t@5,.[.@ kX ?CYR H kW2EAz[HxBMNMiL#u~6\[O0BülCCьO 8fQ($en$;9W]#$cVMRu 947A/2 ˧Vtϭ0c7!6L7# B1]軅! MlϚC)NM@j8:( H[+r!{:buC @W-L:Qd6MC+㪊\/ٞ;jZ1t[:K/ƶE4phM8oێl: ##e6sDݨff snXu@|4kn`=F Y5IfCgo,"Ȯ 6(]{3~i/41oͼ (Yzn>X`ᄄo7@[fAd"0 <܅Ypa>M[Ӷ>qqhC1  4 R(Q O"1TˈcAϼ%=*V C |L OB^u /JUUTZ'5%k28_l1Z9g:3yz.QhMF(lp.//h^`9J `EXDq# #~;zض 1"f|,tcdc !%Ӱo!K/L吮~Fzv!+bR,3Z}l$xC>}:ݚSh6o5 K!/EƝٝI6g[Cā;跺@għ^u;X>; nj!C#:Y8+', Td]ߺ,VF)ϔ\xijrLsd!X5~nҵхq7NN_;5wjxjLqnDw$A1}O!>xj}u]<<<;,=c=c71On!շgAL~e|/PKLwPseirsplus/__init__.pyPK Q.&1AOseirsplus/legacy_models.py}k6 N;)IݲvboFI^VzӒַz(jqM2ICI$cG;kC-Gqj$  mQhJ~*\ס~GM=O;8nd哷Fz;@UxzߡɉwO Z'\_&_}5w~g6?Ɠ̋ X4V$^퍾l...+H#+wJ5R/Rv ݍ]2^ 6VahV;Ŀ߹B!?x][5wwR[E^HKq(JO~bOC?e%X4kk6_j(Z2˹Ã#Ͻt+eq97Q%>Ab}k2V?(ɋ A/I8fq `\El'G 1~Wnc?a#}#TPK4*SCMATB :m@HTv(vWXbUn)pA`^ 5hJ;zʏ6T B© B,OXFJOlM]$Bߓi`W TECdk G@ H7koȾXtQq7}D)#nXC!GE& >St%jQm>nnE6 psx_ ,ev3@O++AbUHF 's 'RoS'@Nަ^Nvܦ]NFڦ:8dC5^`9qoDr#0zK4{ 9;)7GyZ,/HmPfZ(8U`"0V :a E -oPhr2@N! #fFA"z08-ɀ8.8M%nukf뭿{5J $ { >2K$>n=n(]!3⭕#;+in]kEy7w蹫7f_ Q bk7).3ѕq82c#LePS\J[׬̴TWf/CqzYyvgĀ5Ly³ ڽ8rPs~E׷.ޢ>{+c 7O!H,^䑣ntm -p̑hUC3\xȉ* mN^nxI7[n#LLq.ٓ.bd};1om6Q 9lo5[(C1#;d{bH4Xmp^Dp.9 AC?p?2B/NK(GW3.! pr.@–Xsr(.1 u"@uÂ1/7Òd<ɜ2*K -nrNpWJ9">E""37a@rQ_ZLєy {!5j_k԰֨]!ܡ&ޝ{BgDVwՖ\9E;!oX-T8j`}dKA;s(PmtVtH* ԫ {/\¨) rM'!/K , E*Nmm őF{py'FcoGnPÅGI&CHwd=B# m2(ǣUyCQKD1(d"޴$nF!&0 qN;xJ$ Hi#Ё#}~YBd(-˦Zj+fYC{lV@ax8w/5eþڵPy7 CŘ}!P ^E,|nUl='nyL 3bb6ួp6Rz#Ge 6[C>a69^֟FfJUFZ4tsQO_KǙ%hrlbrxI;U$;wRi du M0mF(؁XSN2Sa0*wBb@:To+շV[o~!Ёe,ij.ooFRFQl-O+g%tG+/I2Ӥ+#B(#%"1^(fW4\x0cE0"n逛!Ni![j(q1j 3Opo>t$0Gb$P9ĚNjm]^EE<\:!X6F1uH B!u"*=x=&^O^T.!tÕ'5 ]٧$\^OoD0?rW${$4z{w2@B<GJz8vƓ$E:62MrLJrLzgZv;K6L^0`ӧLj\-Urk/=,:,i kpDQ瘔NK?"LD5D>Z)&\[U]7\zu6O=kVd/ERWp.z++ Jŭt UKP@bn6|^Tr5+&s W,o]{8x{2g -9Ί׬_Bc/5s-y9(lY6Z (39vR֢Os\%GC2t~PQlbuEOCKP:k-ũrb!0Rn$s{1_:g2g1/⽏ݥjd2 uj 5dL@,",qi4;c)$yj<\T˙ Z^G{9}Jg$ԉyڰR[OL'D6iKG YI>T:Î̶e'uBag]`>L"MݹGy1Az X^H'v>;Nwn}$r?B#DY+n{ EP /[ԉpϼ#Rr6&$[W};~$e;=ҍ,[?5 #4g %Y>O۟: _gdY' }}\*-z2f9d0wLӟPp"d;tbb͒Hߊ޷<xٙBc7Km6'Y噵f^]*ϽkK7Wlv+-Bι뜋γ,ա{xu^8$m]FqHkKF+kX'q#`:'x(%wXbw;uzlk/كn =xhTQ(W) (؍*؍,]a|Є) 1U 'XQ=!^U;('SQo_BL F]atmvm/I?T-Ai!p5$: 9e2.FLen~>U-_}ȭ凌lSE7T?( J(os׷U ;p}s69ߜLg\ߣQun^ъl?ão)کtZ7ڃ_VHL#1)]A15L&X: p~6=dSɦjvN9ꔔVa8t>Q(낣PO>UdÞwcz~@Az1dn\1 }n ۃX6XL&@Oe= # [/-E7ݛ~m1ٯ3"]0]0]7L9 0"gP2lQ#~ ?2`ď!Ga6*=Vf)iѾ}('i:?R:ŧG<:<=sj0"1ek o:k/,sP@qQY[> 5%u  O=Ǐ>? V^X,8&82h.; rCX^>x>+{wxt1JFJFJEJEJBv! ZNi4GLQNˎCi?iNBNcӦb?)_iq]O8{H$q"'NDGNtDDLD/fp 2<r"^o{{]w00y4h7H&ES@JxYd"&NyD4}(۪ݼ-<|ܷԬatgnV=Mpl -\y!ԡ'ΡW!.;4rL0'yNNL0궃ϭ8LK<5@PTiRRƅܥ>&/pڵ[?vIWn'_-.)eE: C @.=a[SUfJ!WuГvi s!3~9>~XtF!-{AMN crbiE:8crOffvbOo)j!?P_UU:ճ&]-s Ȥagy^(G&<G !x' O/sO67-э9awFoBxƃdrs.mA!(䪑J>ZB* V5bjĒ͈0Z!êF,Xأ_ڄK1hRld52G}hP2Z[ uꤲɪH /hP{ To}%"#LZSt_2k[j}6/@i`&aa,'#UlL 5^ 14p kuvD-xKV]]8=gnnX.<Ѫ&Pڲ8'02p NBڊiOjV͙Csci_RY|;ӎfԢ\•mKVEzZMڑoҢ|zMj7iGIMj%]%~i%Z?ҙ9+Ԥ5i:7fh}O2`BTԍPLkւ @u@zF3 E. 5֦cU,FEUC[AV(=*W. ^4I4_A\Riūc[Z3uq5ƭwqI'WfmܼwJt7U gG;uq-ƺQc>x$;`,k7Oȯ!G6!]B|u :{++AH*Ö~zhZ}EzA!h]5Tu<*h+PTєSJ͂TōA<*U_YYo~$fP*zOxڃ}nsG1Mi 9Oa>6fʈWvZ* /5%$>.^נ!AhV &w (ۖ [(!8c^;x  u"r=u? #bfeXQuorċ{Cja^kE1Ljn@bEa8PWb5:nRwJ@J(~NT"QVa<-lddޥeڒqhyf6]A݈la&u99f9gF¦AqWP7"[Xb[jHW䕢8ib7NkY9JəB*X?EMrܾl ۜIfi~^K w<5krh:'~^^wPVQp؅(IE:ѧ;E}{Bw;َ}@Чԑ >C<Ԛş~=7bAV//OA#m{w[8+O]{׷v"9琐[%1-+LRoI8jvMt2ڭ1T2E3fV35T3m\7Ma#0'%-ZUВ6!|oHT%[RWGT=/E5D/(ۑW)._?NOBtv3蛦X(T)D(|g#ٰ|WaBPdp&F8Zp#}`$N3#mZpF8pJHI|sst-s*p:"s"NP7."i4T4ZGdz"vy,"oJhh* NA|>˃'8Qo u&2j[J@:5ut4‡k?Ӡ{ˀ ehѰsjk/xs& ^1GvaXfi%[O吾A"&{)8*%Ҥ&%ܳ~`(ߤ%оiE~p[Vk/;SaadI8 ~`T#fx\~ cJZ=]?$oAtOQ8޺`3B_d~mdC#6I<7^m(FK܏_5!z2ɣrrX!)grl5['7AMVfV+l~+yw7=8}o]Œ1/xDNEBv+]]`|;pW a5p>n'YBr7ѰwVBCܒ+@8+W d{:yI[f6o d,6tm4U8]ӬBv”U:ͪO[g+6pZ7jmjxfίfL򿔴J  _wPIL7iGlZ§^g=$>>S:\5W]Wdc;ytv`4lQv>0rY:uS(YIo.QR(`)s5H@)]O# 1zX#K$lvuao%<ɸ(X#Xg$Ch4hVkdQ"f)keZmSk}> , %7CtaKq/h,3Y-ְH{@PLQGbip": !rKif>[S(tbm,xG?ڣ0sOa ׉uXZ{G`4)9T SZjrP?@bK+ߓ7t.`%+GNV |EUJCQ?TN7;+ǎ(ڏ%'XhBTVKIe>ŨaaĿe "BB3dPa&Tg֩ܜ݋۬ȸ"*Y"_K|>]N ԰zuuH3#~}l⻓Hu)oڨFb  h& N$AG'D_$5_}65 @Q4>#צLΓ/RQ쒾heYַ6 Nz.Ch$Z*6OϫWˢy«'H?(n3|,-1ھH/557Tjg0 E+D _eT aD fRCfA`9Z@1i 3Ղ2ystt.Fh}=x\N^O'LNB+U 4쬱Dw1VQŀt.Gj7%!7U(4#%w]/!dƔ켵EȀkM{(;O&CWRMÙtHF.9p^`wN d &-r$A|W_B~ ޽IAPx-9g{0$!r; E٠om ^H7"CvHq Gw@oGÖa:a I?4a,=5S l<JV8\ p-I]p, `#{U+0*\d4p]Phy]dp8 pεuOH&B:bqo!)1Q6Rhш;EgϮ]a xh^cď<<Ǥ$Ǥg&zfu+ktyx7z`a V<} &\&[Ε-P?RaM Φm&eoD_N_cRck$eK?z0)}#'Pi%wL[brMVu㭭7aG4ڳjwb $Q|YݡuʞTs012@_笢)/^18O|L$\(A>)?H rT$7i*I]':'%h%7i*KnRGrxm, N|4.O:K:6t禂m`D;VDGݔ/=uIwQE2je,ゎ[Cg!^]YpA߭#a>[=[R ; ;H$ԗ7y6ʵeC<,e59^Fdg,'YS??+L+YSɵ^r:%7InTruK$7JnTrm#ܼ q -9Ί׬_BcT߀PZԖ<Мwcv_6Hu¬@e\JS)k'9Dz.Qגx:?(OOCK[1:"Oފק%sB~ٖa|Vn@,94q&{gqzu϶Ub2>>v;wu :H2O 7@1# d>J3ϥYҌsX\uyz/g.hl@Y#=U>%~fmX@'"XDh⥋#DӒ>T:=]w1OC|?g@ݝ{'}l 0ᮧ@_!.T{mӨ?3 jݴH xF ܳIwXߠTA^.xvAdBn.6!ٺrVvGXb?SOV3~,QnyH>ޔؾ~.P y< 8>1OB@vŚe<SoyV3qab>zXZ:14kͼ`={ƿ?b&.;b}Eb_h9sayeA:3p.3 (im6hUy[% &JI֧6@6K]^mኂpEA~ ?\Q ݈ʂߕk 0mMS<`zUB잩!U|0%)*Ĕ`T+Ff6{ CuRD~ WCSF9/S3RjB\/Ld/\6)"Sdw%c s 9ߜo?aۨg{pPK> QksJu.lseirsplus/models.py}kwȕw DNI)'}Ӧ,x{4ZD$@-oz@Au'vb@}׭[{&;o?4\.hO d{%\l}(miiʡ 8/I 2;O|aOUD/ "|H<|ˆ/*z >Y̾|?NpcSJjda:@ #%ˢa{a(ˣ&?A첱w vQ}!3x/Df.*E}_K`'UKU9Lh-EE쐭}E(g'3>s 嵷|,Fq ˥L#/}F**/j')|l3KhX#XLW^F:vu6໨p԰৺5C08tY9F!g"4 I#pyG 8$3'K_"1bUA7+,*y$0C So V{6KRGPk6TBbVmXAhb(}HQ(>`E8w&#To>[:(Ћ/E?P|p?u4$c|d4?FC}C//p#i%|*08%(Xd;~$ : ٸ4P &48_ҾB%'_~|B;t%'^ˑv/}I>'[ @.MxwݳΓmU b-#  ~k0þ"0 ~ ԧa_ "`=(" }k4+ @R@ Emӯj@fYF ~'a%¾" ,>k3.{d֭@Y)/v#}PgqޗMC+ԍkn i/4 7/ו,O1np)a6^fZL=QBAP|;v:SSYyOZzm5+e5/onsU^TgaCqs~yrV~ϔH\}Р=L>'jw }#aD0V#׋"rԌR4Aq[ bsboaJfXUCU }38 Q3T7ɚyS>Q"0y#C:Y؎u,Zm4dC[-zP‡w^bjp6'\ֹμ) ! E {}`tq:z~~:#hlPx XsfsNdy:EߨN u*@?3JWәdT Z }͊?SQ+ bjXT0E4iݬ}a]!Ll}u{ p6tȅ~(@{Xcy*Y?K;'Rsl@6aC?QV=م~kT3pA`dC92D=O!#_m Ǒ'{8xaP, d@LG& '@}kAYxv4dzULDxHCQOT1t^"tR9ĘEx, _s) P,yt/; QG9՞xvC*p;^ rs6}viX:%p( 5,6ݭ͏caBhc̡0P !q[uą7gPw|L P OGceP2sT!aB ф!a AKRm<ۏ3)\O_苯ě^s0w+ 92Tq2HaTKmV(8dWGk ee'øRa|{+7H*P}`[m}\xF'Qsd*@kEߍcq(g}\Fj7#?>MVa lMSF bQFxԸ cҤ'c; yJ~>= WQ;gm-"ՀtMb0I-Ng!7r?+e@DSkP_; >1ZQoj773֛Uփ]G?5gƚ8FZ,ShgȌcCZX8l(vN$DxC0w m_q(?kږ6 t=$\a<ņp aS*6ZqRQM\_(*ޞ88wͫ F׭0\k[Ok`vrz.B[Mu v=w!׮2nCu4cY1Q#$KtFR֏x XabNy%.$-H F<^HC@ h!+YmSt.lC79Ok.b?KbpQ_a}[0rhd@t܍01x0$x*?A(Vi˒МԼC:˜]$]m5Y2IC Rm7å>LWa#@ b`|fe(.ECv,( YN߅Xy;nN6]+$T*i V$g{TB k"v(T†-mVZskf;i i^lY0BZ8CZx4BDĭbL޷kԶNAi؜kgcH^]FRг,G'4+l<fMݫJL+JLWR΃ ,Y8 vB^:I~ngzޙ'? P%:L'h[ŌF`q+ D%%f꽏]Ab"7T~Ull*M m-RT-z0p]lkɞ[&r} UM)SFJ%4 U.@P%޿@qVn6}^V1rv+GL't́B~LFVsBSF~?G!;HA*0UsSMsӶe~jb~ZQsӶxu475LJ|IqY[+&PoQ)nnخ0+֯ڷj.Ld`ӸaMh*:.i:>+5m6j̠ᒶ[Gób2̢Y7>+6 kxffuݶʵaC>,ѥ&ެALhninVsM+477jnVs]oܼf-4-jnQEF-jk͚[B\Wb<fL\>ň~n14~Zik~M)X-jh7 zHƝ$[M04>l AGMƦ⮔փ)q 嬚㮚NIwSHJZ~A[ tHYIGbzHZ ^ i5rSFV-qw \6Wٍ-nxA&i#wDg~Zc͠Upm}D+!ic_g%j66 1SƇՎ"P-߶HMʬ`Wj%l]S: oxJat!G}:껕Z<{ST抃l l:n߶b 1c p̊~vK;ĥpoўBMxN4xEN*ObD:9/ $uexc:a"F0_>bH:xz}Kwؑٵl=^,ܬv>](oؠ&(A`·BJ5\DO諟{NwA"r? Bí"((5"l7o\kcR/u?h0YMz=F`]_6Qg:{'h=dc? |~S.덽,qYe_C|T8~9 !3AF9a<>c>wp "Ǹp2R'Ul =!<]rwS5sXx]͸ hŎ`Ww~]ty8rxˎ C$)l|iu~!7%jpBӐ+ S,~w@:>xQ?Q?Q?Q?Q?}\": ca|҄9 >c*`sE~B.BAG^Xqb{au+OuVWxݐhH2&Fie7}>u->h'kwi!TD b+˪ ,J(} ?Ok}9Ѐ? 6gvц%yuy:/LIZ %I E6)I*&N#1X5@_=AFYȅpu{! z|$Ka>\.Ph8,Ɋ*O`RR~VWhL}pEjk޽~ !lDz SŲliϓH$,’Q˲yUdT)Y:*,E NY>Q^*iKS!R;Rذ-&b^(ZZ_/[Rr̈ek gUml .M۞P%;C5`~j& -Y1 toǹ@$$,;nRvR~΋ 0_]W tx2%U-K1jDB3@q u܈\H#{$LH.\pϺ-p^_! /MOۄLf~&d#ykه+OaABp>;/R3l55dIE(e| v.\D R9Q 0S_C&wlFXN^b$$޳LyXDt. ?Q%%d(JYƈ+z1!/!Exòo"1%+|I +k3%Ͱ!-ﰙhp( h=1~3C|R,$;Z$ykvɭ4z{n:һ^@Y\Awp+˘\QS!D_C[Iä).ƴDcՉ$tN@?c crCx_h„H}H_H͓U0[Yo 0G3gEm{c V0}HϿ+f9+}ƒ]  eIр|^YpAbOJz, BȚ(f|0<8gEY B,O^&RLRu:/jj,jj,jj^,jj*,jj*gj I-Z5#g.J{ u6!3_1&M]C):tu L-Þ\Ej!Uva$%u% /j#ŵv:xn]/ݕR$#9@'^u9"HlP`!|)^f⻯wWow„V}7+Tqiԧ}jjj2/˙r_x*s R6 HNrmbL-0D0Hl2,~7-#Gu4 S >'jW?=8;!R򷏷+΂2+W7pwѓGN3$?;.q_ F݈30T,l nw#pv, ?@1(ÂW,"u$}Np޸ 4c6%XfBK@%jǝMHa eq\ [%tpp%7&gp]C94P[$=NG{ C q@lqN %d#Tњr- }ݸ]> |x|2zzMoc>bYX{f7%m_eB+P{T #jc4ˑ@qsO1Nms ?qkP9?b`j2( Xy !7W֠SAҙJa`b)5 k8 :Tf)Aœ5ط!?!=L$/sS:KhW,۰ bQmdd`6,5]Fiymsao"ᗏyމEkX#~:|;$ҊH`[cb5(X4K1A)Ai{PUT}vЎ %LnjͬB 60{I1 86ǂ0Q,FSeTvoػuuVuHN-;SaI!zq5d _d`5)\e"`~qдx@ _r7dQq^@e8MXTJً#s'y]"bBEV֏+ [J!JZ^cԑ3?:dkB?!s`BS* κ"M١;S$AnPS]!,r0v{󂯣|$}C~ VO9=ԣa:;kz4![mG #A-4R%hI.x ~R\\7ʭ(r-h0V\@INLo73isf6 UB~v ("":%I٩-r?ܩ6H5}(Mr6Y(}9p/ }Ӿ_^r' gF&Gdb]%gx{y`B'Ԕlͱhy~&^AR{ZHV Ӊw~㝲VT\ m_.h4CX8HlR6HTmVvG+ ?-Enb7zUvapMQ|B|^&5S?e\_R Xk[ ܍`:!Nji1Ù5yJQ-mx*> 2% =BŐhjBQӲSOu.~B6; :)ݸW72*pT$!ԕ?3⛉fV|3 ɻ)V"QK Nks(k3{ަ@i;yD|(@p_RxA>"΢w?nZ}hP:`C!7̟ Moc:l J^%'!g4[fxҬCtyf!:d;4f c"UCFƱWE0/AXM$< # v@XI_A 쁃4ٰb (`'@QeF?bSԶ^ z;ZւU3g4ґn]9Gq&(q"+pdT%^5CG5gOS9Z)ʪ(9{}i>%Đ!K0_!YL;W$ZTdA"L}sWᓯdH&N=BxqMť]*uk^k-2\W&\8yfeغ{Chw˖?[dw[D^Cfy2"W:M?:%%TȒ2^CרZM˿b7vN)u֔:oJijJ*dG,VH]LԾ~ 뉕U|nT.*v[I!؊Uc# g8آ8qHf 8'$͘N.o*bOq*r0MnK" >~tһaDzA)(yIn$(܀m5#vB/N []D/T:/ ִCǂ/Pkt1jji.Ç^yxH$tOn!!SXO^BzQ( NXiM2;wPĂkߩ,_| Pϗ| Lр)y]?y7VZsG?6%:|F pYam0,SU5ۆ+}cDNLiu=D ۱fhԝYbEnͩWҎ7c mk?!!O:t/ U oJx>7ӗAԒ^ў_%(tF( (q"QjIk8gqjj6NwCZ'Uo]Kِa[z"^(򝹮()%gsVo5K<[N1ȻYIb΅{#"|pV6GBWyG:}=ۧeQo 3$(eO>ngt6b2IG*pJCl_u+X=ֶ#6svu* ~kY,tb SWnRyL 7Y yǤip1ij 2mBɦ:M7*3U^eT\V܋;y:Pb-dS{1f%\cٔ n('(iK` b0FzA!%r$xĢ*EYt\mR@0q#0$׶(3|ސʻYs\9L,|#߇Fk@Og2ҥ {i7 61@A<۸s ARn`rϗ8ҐR~Y]!ƚ !(.'!~4~6mb A<@zXp'0(ENBBֲ _tQ/e]-.e֡8zcg_ݒmDRF05cM&'Iો'lOn6}*{;+ۧ,\yY@ MBBׅtetU=+Ca^]l$'d࢖w@\Z.GoJZ!%F-_C(߆h.abo͕tfw=_Y WFӺJ>L8B,8@O `0-e]dpn8 p.u.]Y4iŭn$l lH9/Oߦ6h4-0{;7B콿.1(1ؙ^y}G{G^"/xK^s;?ߤO^wf zTo,pUOYu%3Z R8VZi>n!sޗ+Veh 6h6M؆6$)˖w~O#f\[ɞYWluN-Ј,ЁΤGiSB'v,"A=aa[Vw*0Fήx%鄎ctdtMa5W-4l_|)SΎzTjܴ.S M\ě579>/K*m]5mB}JOvs[v̈́Y~=վUTOf/MNE#WDqIuqXi9Pg :,Yg Ϻ1XixV_3s7붵W-if.5f ZgҝEssMs󶚛e~nb~^Qsxu477kninVs/L/*40jnVs]oܢx7c.F pgJXmJ20m!VCMFX6.'jE hA*U04>l AGMƦ⮔փ)q 嬚㮚NIwSHJZ~A[ tHYIGbzHZ ^ i5rSFV-qw \6Wٍ-nxA&i#wDg~Z,G nUPW?Q|%7 BuQDͦۦ!4fJ X(բ{mԤj.; JxV5ØH QQD8Hr硣[M΃CGݡzo?ũ`Kz Sl;qG~ɾw#~X^=LCkL?ST抃lж ldn b 1c p ~vKΥpoўB{z&f)h'Tbv?ts^2H~fwdETR2r;>c=<^Uu9Z>Y](oؠ&(A`·BJ5\DO諟{9>F*< Yp8ߠ |l9c H!kR R//oa{$/6f>XtM9p >s^C|ga荽,qne_4knqC@r(YE=4CS>hp7B=gc*=HKw=#gK k8聱C.,Zcc?,A_3;c ;ΡC->jG~!.Ic-$_Z*b_9@>K1[Br1I(U/ߪ=0o'M9* 6W'{"a |o7q!Vb~\aLOQ_܎}C}#J}üWiQ|)r5J[g.9^kyAN!"`(?ApEYC /sϓ3g``Î1pBPL\>/~^Fh38[o1ޟO 16屩T_Xm,9}IҏN]zrB#}㑲yn$w졺$"OV C}Gy1~[ܼ)d_WOЙѣGH\LK>zid.$wa.%r/,+?.|trR,qL?hfF{.{dv=: P:$1v4A2ş4ez0@Ҹ<pb{'oe@SvkĮW Ɔ-k (zՒ8e"Z2\l.vi'p8`\&!UE #г|c 0Rc$,dqU]''1@`drcr*WR#9/J{{AF]ᛎEo*[#KWH}rW3G$qHGkiP,{ݥ/osmWDah'@[w}뇏$;!Yn.z=#ZwkY cjd *i5Ϻz\}|(FҝjENv<+v[> ުpj9x H)xHЈ(5:@&&œ8[Vk#:CŒ ΃Hv_vD5=#~"UA~p=6]"l#tG|W7FzА[D!HCLNwa<ĢU~ $^bpZdPQۂ}/ /WVǦ@,`?WO'(/˓˯͜Ng}aV?52g_k 'ԧ_ԗ"G'X@i9[غm)'F",b0 7%ο~, zCZ( MYKdwequ×vg;YyڜPrl!~zzc{u/K|WKZ{oLiޘ:n1u=ܖ{2'bhxi]fO#p1[1#Re Ň8>/;7FFoNH| U|,U*"Sgz^1L6{cTqV %ާ$n}*N\ԪQ@iNR«@zGB&f@;ޘ~GSh!19a!C?CsJ~NO~0> 3'QQÚqÚqǚ1O'G{cwrp!9#1ϿǁEg%)99?+H>Ȗ~GShq|“ dΘ/0 &A;nt^!7N@RWt+YL[Sf ! b!>V2爬uҗ &(dACK@ԘLr~녟Q4ywp&^<+eoojɃ4x/VVw)COBIA K,h{jI^dG!զͪv524YofծUc)MUk7fzcuZ+5+L~ =N&i"# 1V8)0Bc x-~'7 6vMbis{oNWӄdO#J.L39GrzI\k ]YRըœXX <9k,i ~j؆ObXH! .XtyѢ zjtƢFfFfF"i$ $1%7ӹl[vrnsYfKUs*\Uչs]ឫ"ձ\c70wW݂wV 2ېUlXׂ6l\Z#Uc W.y0apBrXF x_bp86q8UQ,^o[1x  ;X7rC/]l 6$~t6y܅y%G,LK@ݼ]Fo>0g=&!3j͔2˯DSWٶ|Lv< O"[:{Q]4RTq.${ep&[܇u.nqppvSoĎBT%C44ڧwNC@FYPP\vѓg֣O l=x؋pDsǕ௎ 6jq?NcdǠEۣ'dF`x'1W@"~LHݰ9-_ eI=vO\[@ Cz]xǠeް[>-Wpa@GH;P3UQs7u8Rt9@tJQS#_ ڹ;>m C<:hD;&ț޻ޭr1P3``2!6ta^ `[ELe*K*+[<efX_ 6^%XUX+͒DW'fK x/|OfÅWڥJp F\%D $.tͥiRK 22Β;2 6 sǏ-@(3$ X$'|zT:\;wxjo@Kh,[ȗYM i̿ ǗP&ˍZjH>(&Mo2Q9 N:JHt尣nA2d8IǾ35[뜰w9_"( ^6XCFA"08yxn8e`{'VPtkLF\:LJX:ó1ƕU}\L32 [!GBpV'BܬEնir)NܘV`wi 9,7+ rEUPq-w e\X q kq޵8 S]7u)0W0|EGՉ(6wpf]э':rcZݑV1 :rcWڬG;\-^r|N VaF`P݊jnj1MGnܙ}w;Z;dv{wfZ&2tlRʬ-[Kz` ғZmJC!mTHRHvH*{Ri2H8 ݹ i>4 2/qjV5AfWծ`42 hUk1@wg7k-NS}'pNug UɋXnxE{́ȌnxE{ m  d9Hpܝ:[d9U"38vhv -;J]e6qPMc5h~"ף2+UЃDf4q)ɉiO;e|Zqj֝ǰ:d«üۚuG: iw@!U]2Ů|mff`3=Ŵsb+'a3-dr`91ݝ3wtnNw׼h wtlNwDpg[f>ت:tmY=צsaٹ91ޙ{7% Ή]\V)Y]wvrNwسnNIq¼sbKWuuJ ?uV#?#1 5Mp;RJ;aly``\T FÂ'(څA\,VXJp@ ,p'**P!CU‡$. {W Ji_3B k!@&5! wmO8 -1[rD(&VI,OdwO3:` 5> .U;" [ ,>CD}5Ǜ(?cQwJz♍_a +[v}޸ 4k5ACm ` u2,xPd}(҄d?0?QV (.!\ O6iJoj"g?IKjf4zH mH7:PBf1B i,wރ@ѓk'~Ef}_L}%jocP-{ ur$Pd2 &)mqaЮ3n J0]`6GLM\G I4r0L@ ;"j#$uDabY2]\|!۔}`t)% Pl]"Vެʀ 51p2.UP2A`f) mTq9$7jf˧=,5fscCPqBܦFlBV1$3Lɳq͜e쉕 GR9V[6 : ]ínepkIQ6G>M p: kZ SEf2fU%:Z4ZdΒzIח5AJڰ_ O$nxOD'YwvPveO4 /bAPYSOMcKg*Ѿbw#0':b 0g m/_bHϴr)Iun"wU`/ k`6屺'*tXeTۢ[+٥;<8& ;.# vʴ0x07ˇȄ1(b匯WCzk$^Jb?2r  ">R #-Jo;RZ $pM[頠9zzZ-O}H/"pn&%;+aa:mh5y &;6櫭܈|6km4.㥆z MEIIoT4sR xO7Ύgmu8Vy'MEf[rM7^WE3| oF9d-yۜx}b$qqpmSa /p+A_ЃӾs5} EBbV6r}Bp>zʖWZ_ x߂Z=Rz)LOO!7ǚ6#S%څP_"~Vwc>38b`i>jTvAآC_͌Nt z h޿@h~5Hh([6vE0P,o.\F2˃w7i~z]ߠ~(bJ1#,)1.q:116slEHJw8V~~:[R$d"]{meBɼLO$Fw' 琪ۆetKK ͑7ԬDMVɎ.¥^CS=K:ZEUAx(`)rCJݙ?>aaCk XO]T;`>gjv.AJ$[M|,BQ/@),ZSب\ߤXk5 ޠ.8@mo Yj,Df y5>Fؖ%;rzx/qaGv" slZx`EP΢)u}gIAl !ba%XBrXkFkoAj4sĐUMz0KWm4'YSi*z@'Rp(U L7MMZ8 D|H~ZqBQx]:u"fr<nj~Z1Ͷj PD(2 6 GXPJBnCEћ}I8jvxK RewrE! =2MG1Tm64=C[c~Jl[?AJLE}Xj8wV@|8|O6idbhc/ZA ֨/z3V0U=b0F '{e_oO#W=jg4!}S<.^,a%>_, ^/*4(C,r%<q?8!֣V|~zlF/Mi7u^5iE!$S;mJ/pe:\r(oj>_dX& !z5 .*v4t}otwViOE4iS20:X 2us *s*.DmOx] 6'j&d`xJi9zM6gk&ڤ i^*bE6o%fj@&dT 63OO  :&DUN9(Ý+1Ή1L':&HnD Ǡ0JѼsb \uNa•:s19Ą;9ݷũ;9h놩wѲ s&)긵GN\0Ὣ`~#x #qQzQeR~ \ۆ4z_*QKo$;odPv¾AWB<$Do:9mI>yFwq*`Jg=hܖE|$]wՓgWғ>)"WUW&5 4jy?1a{yk(+4)zy҈&P8t*/h9,x!\tYM0}}J$fwh W|1[Bf~{Wx6Spa!\YRխ;dcYyv# E+a_:&xB ?-9N`!?L${Xo'gg'=<HN JfP$"0^K]bPŋ4." *fkޯcMՋVo55L4C?d4 IE2 KVHOFy t ܂kxGv.߽C br}kx cf}Kc` sT0ٟ`Z{cSǣS-!lt7 7BUֆnJeAhm"w`lȉɔZc m1:c̜5 [—s@}MýXt< (Co<%"r] *XAqY\>g׼Ւ^ў^#JP-e^Ed9 ӗ[Ʃ]['9\rnp>@C\ouk^9os^UkWq,C . V& V&F{F RUoC5`ݮ'P!G]Q*[@ BeV>!L%V ;d?Ch{. :]jj+Ҟp$j%F 1QL8:C?<0>F &dX$!#Z* G Ǎ 528PE2L~+[ /{B xG&,oT4ᘫNj}FevAw{Ͷi![ݖ&zqd5+0!]AC®k\ y_Ǥ!/{ؖ&b U&!U\7uXqauX~c7EӼ껇FUǨU8%m׹p s\ynl/XdžJvǸM v?b|佗# xi6ᚦ,V/3"=w02x #Ds zb\(JuJQcnW)6Yt#`\MDZMC[}DqM`;!\K~,aa?l'}ӻ$ '\\6FȘt6>(1]JIHFOH.s- P!ol#7HXJ=t6rnHBa*TY> K,8Wa_3>"^ݑ|XL&2d#Z9(_| J 8>8;`m"EɼI< = u]fb>1_6w/1҂TGeM߰)5轼mCպ'O@&V]Ao<6/jlFbE8+Ǐ懘n6I@I Z;՗M YeU݇רa!D1*ۆvKNOV4A΍,Mac2q 0=1|-$ Q㡑#47,~ RMҩzNdKDJkT ?K?R61E @ =r*'0(ENBBֲ _oU/e]-.e֡8zcg_ 93%=0pdkxǚLNjOWOخcKFiZ*{ ^VYeNIbiZ\Bq㛠&hZjp6]ׅ4AׅtetUJB$q5m`=,pf10C.t'ps BpW-' ^ߔXC,KL5ING6-69b>BzT³W|^_%z˓ BA*ݡo]^9d5ư <Ɛ!b)'T y DxX.Kb1a?G(ن93'ݡ14s V+TC F|## #*SĐ2rH*#U>Lxy9AdE= -^op;Ug`]_{]g0lrA|O[FB~F;Jcu>1mJhoCI"aoy(g1}ۣan|Ѐ|ky2PyDȦ`Yin9 ]Q!REvY?pdL΁wbiYwͱ)!哇 @UxWTfӺ %2D.T2"@#f-&"_AKIf-]!^ׅx!^!^Յx!Y@D„фvj[ba`!5h}h}iL7id<#%]pa,"eIPꙤ3Yxg"~_"DZ˦8EH9/%$ "gc>bxu9 nK0/ l)}uz`q): <ʲcX IhT9&G\Yod!܄ KhQ]D캵a-j̠Vz] ᆜ +\WHܦ+ѲZSw2Z^'v `ͭժ3jd dm>T4 ~_1 5tNaңUs vlA&(?†' 7[/9#:+b&o~[4硾(S"`R(R˩:txVupmu:nî7KtϊaMjI1LZđ LFF.cM.;M=PJQX6M6+AhޗM4 2*_@2QDfn*x̶v۴fMjڝAM1̴L++Z[CmieaQSsZ]Soc--鰲-5lt×+ ZZqQx,:}Hf]ɬdJHDtaڞucdͼ0g Yz NS+ V]Z5pׁ8(l^@ ^d$.dD2j%1Dna^ m'רmh3F7٠Qk %puAǾ#yU6v A1̬5VKhn,DGfKj^k}UN_;y177w71o#빃v jK(E ͭެZڛW慡5/ڷE}{^yԚݵE| myQ5/,YVP[ F/J`anͭ5f֚;ZRKݬcDx</Ko wW/k}ukV#j=۪EVr :_қ_JauUg[undIW͠EVfrT\,=qCwȭੋ Paҩ:,6RAGz\-жj`,Jkfv؆sֵ6')aM^;Y~zmHAG+[2m6KA[?cA&J"lVSÇ,ʶXP)Lr8oat=4j6;#l3B@emFMGAAleQbkNH 5Щc&:feQh<Zx ؞(2YN 4zVwerDnF): 4FlȔwFYȨ,B-fYDֳ!Q!5e9Ti *uz*|O'Άy )^Kp!̘ 'bFI>4@zg!S7Hs0C.V$.!1f+,,PvPI󰡊8CC=D(::?c4n,DSDEoB4>ǂ,PWIF$D5CzXD5bE灈+ݫJ LgP{CrgˁY侟?6YR@e6<k Quȷ/yѫC&/T󗢮d9p#{N69'ݷ9>uMtKM=e; k6ͿUnJc$\VZUP4}j?8h+hYĭu fhhVqk}4As=v΍a+˵z}mx : K* LaQͦ㰨IuU8֡<8ZEy i*oeȵ!EnJR)Eʴ0iL3[O/g8?$UAzcfHBUN/Z g4hhoꚞm(=)_bsI6}p6n1i sy!̠K AA_p9x+-NGskP# 9*H Qe_` =8C7Xyr;9w55k:AqȌCf2qoDT1$)PKJ, QpZ1!~seirsplus/networks.py=ms6+pdD2#ʱ)7qs';s;ק$HbL*Iv;~ 7o7["b7qX?^䋔,͓4gKID C#m=#$WGdģLxD՜(߇Faʇ9NwAqxtxu,aO0x_]OP#걷Ycf,3}1$LQE\ⳫkBX!~IB@A<&ߪ#k*f!- cY.a` Z0f˗zo\r@Ѳ=L74D ӭxCA2sk _0 "Y뤌R${tO>8K]%sߛ fn0xXOm8we0iX+bAUO*:O+䩔WJs/JNCf=ңEʦBF n qw%Û( &N DFrBJO Bڶds^LHB`9mFx/>A!F0"QS%ŜIhJRk~=r=j~Z(_V:%4%QUWKpUv*YJ  ,~mIFʵ jI]_hjMj39LvYM:\lYNG#fb|4Ye"Yy5#$HXӳ2糰@X@Q2s1u;%n*㥘p,s*!H'ϒ}S~K\))Ö́]첧k~6)ZZF|Llao905XX,=0~ z?ObPu4,$Ms OI}2ҕfM44. _UmI2M&Ѩ`֕Ƀ<[BlKʉu?RyGdnX8T*}#hk#6OL:J7V *~ r36iɰ 5Ru O`܄. 0c ? r*_O%)B<< FF2#tQPE;( Z Iuu*Rǹ݆A#d.olo+: p#J?*qU 6'pc\ B;Evz.@2P45Hۏ߾?c_~SpP!&ࡳ5(~ VLX1 b>)*,~)-E/*ON.3트T4]S=o8D0Be1GL @Ur2#Җ]B/5<.J 9m'8aC?No`xfU y{ID? JyQGl1s {5\ ?/J_mn 7ZY9š-Q1ܶ(n(#tˋ r?,ST %j"|PZ 05(us?//{%U*>FM*dr=.:9Z_!_'SPDAD`xQ/ ̇e[K<(RqE h$Ne5AŤ4>SUXhfȢx>[Dy/6j //WرFmAv0M9RvMSX-fnJ!Or}P$*7ٮ0_X`i-c>*x;arDAe8Ef$'u2AU`BDcd Yvs=C¨ }=eڊ{6J+ *Xʀ}Lz-X]CF3uQ3Fu+(}-FhUI>뀥n{4}{1FE&2VvĈS1ĤNd񒂜-@`Uvl0( M@˂;I%(QC!Y>G›m∛6Pܵ0($E H؛|.!xijLKٹE_ bvB-R!ށ|>wfɺ*DECVP4{+uÎ$Lp4a쳲i؛yE5,30n( a`w*l .xO%0ccP#Suarݳ*\<=4i\m1hfG["4k׏ ]CmcdzsGQTV ,U;kEͽڛ4j dY!A3r+9gI >!N{PR\iW myhv 9AK[ۍ+%Ɋ-cerhǎ*Pº*JZDZOFOq? )GNc?^ JIs;M0Ft% #L-5̓@0queÁ+=Q#a;Umʥ#!ZA={i^LeQ~ Gω%m˶JHlt+FD/8͉|0UI xit^7ƑAȍs#f. (_iĴK8#,@iϳoooaһHn sz^{n^n=E/nbet _ z"c~pH_M?~OJm$7Z$ Isŵ pK #JN13-.!O~ ҩm: ӱW~.ԹZJ0)И\A^U8l㠊:%]Y3X5`[ Dg pGѧ  elWD3{Z- $JY3U {@7 TfN6 _.nf,.^<&ZKhFxmH1ґÌD9Xt(1=}4YD#4?h/bjSJd A~ o0r <5KF8*5Ee1u~C bc͎6-аL ix*ebDbsKn(]RMWrCKd"2oMtV_⥱͋{dZ)c55,AdvctZ*LN s]ʹ3iu0am0S@OmUж,Z~tdإI<i'%s?'^]p7+taO4wJ~9J-ws)\RGYEߌ}KB1DD8L/|nAp7>^2n$ क़,>ܼ%jP%i -Pm9fU.vUaT7X%K Ukkw!&M' Ēa,+7pxHG^}55X]aL:$7\l۱Q+~ eKxvϊ.V C_^vXZRX&AtGH %)Z)\V*kb+0/y U j]ΜnE-Cep/ zʠ攥/M[PeXJ޻#jխtٜKo6BNDՌz3F]t4꣎B;EZv7]41EEDGiycK6rh=n)eDlX;YiS`9^b x&A}QWehT=(y;Qd6Whh L#G'(%\΃AB_zJ+,0K%jVUs A^Kw,q,%'|U1MՍbdZ^Emm80\Tc6rR#۝ku{ouw.s=z=jS @G}TH\MfܷFgoqn蠑W)J=U V҇bMU+V:[Vx>#B ٖ&YJ}OtJ"ZX7ZDfA{0,%UY1ň6lCףgl7MNx .w=1ˍZWJ\C7=kvgڎNNZѝ'sǮSGFb+4QZ` \b&:$ʾ^ dkZ_1ǺKw]R"a7Q \!yCe}EO::? |[TJRDU2+\>63w԰&߿ )6(4n1K $(9!ǀXa{ |E@*fpM#˭:*fWh6vNt>Ί w, YG kduTI:8ut/wdk+fW4\+F6gO:wa{%bdgϢ}CL,&vBѩF4[v6/i!$ϙ*)VID4kV55wSĩ COD5qUT:K#3+OF#"²}7-::-M>֧V XWUfu+pnq/ܽC /Av Gǯw- Җvct_m 䈀zG@ {qwt0Q.y",@mꋃs?S#^lQP/߶8/Ύ wG/`CD (ZaNa)u}DW)pP1nC2pDƄtF8/&[F c..הWWK/ɓݧk~6( P׍q] 'c*Y贂A t *i 8xYH4nמqO|1V=- !]/aEF2ngxzG6ޗ$ΖQB ,栌f _⅋hS$Jg7 D`8̼9E1q u~32JtY%Qo;!vt(33&Z (nIP(ϒކ(b^D v?FV8gitޝ-^4\e-:)wȪa{'Αd#9 >S⑄c/Go pL-|C+=2< gWGu#%~|ste=Uo8 ~ \Pokt5e+.4 4sc  ln|L~>* &4B@P(GC@3!@ lp#!F7yO%ko:Wnt.ltR) W(#`_[ TFC[7~ S5 @Ѩ@̳p0 ۽L! _BSAȯ#9u*oFNc,N< ͈݌D)AA͏+vC°7Cܼcȿa~ݷxd3F hEd4ޢ諌!*8D8F8dQݱXw!{5(-u e믭3vvş.u-SK'y 3O0HEіxWaؘô\a27Ad`bfg 0x QBli!8gbP(%ڗ=Ӈ 9ܤ乡I§ wsu1GV}WQbTgѶ՞+l^FQ!9=^J|%^҅pr,CiD8636sp3>1o8st0[@8zž%y,c$9۵s_RLU@@tкP/+b(.E h)܁vlw}B&1Js Ui!Ƙ7X\~0{ی[nkNWBg6Bz[>q̂Z~GdI^q {<=?ryqSwxO%q. 1yJ{u/tghQ*d #dE[QC\Euj^;s[LRM[FI@LK(0l;T_Mx.x^VfߍV V \,( ,Jݪu94N=|rUݕ{%RԺS韴g<χj,hB@ b|I/!ds ɄU*O5d Ÿ+V1U:^kQ Z!%8g:. O_`,vaB=e{\OP<}Z̰!:/,/81J DO~x,=T!]`)H/RRV[UW/%^xln^ 4ȊKVkP)&̳J_&wP|X&q"^piruNOB[2KיА e:.W_V=s;6.3^UdœqA3^lr';Ynjcv{.߰|4+]PmL"]vXQIkTpǒOXs=w{!4yafwwJ2[[Au$SZ9vjx-]i)L m SM3? JwoѤQHr,݀Sa?8Jq\NURJ?%d4((EGȱRˀ]R6MEn!غfM Ўc9v8]=F\i7^ܶV^ʯLYF>k_43i|h"аN![aVfȟ&q@Pz  zϡiW\,c5gߓVVS%kCZCq-bt%zoji8FͪJxVY+8My7LJ]QN>7B"֧6e|5hkn3x(ƒpJxQBDx1cp[zfX2˕s5#/hИ"kl>-*&C([pӏ{avXyg.9(6~ V x2 Ι 8e*A96M6 Aqi5K4e޲lshD۠{N:>_$cNuuP!lf1lLYKR9i)T| B3W\[8泀K>67XZ>(UvxJWj#QK@agqT,ejcrU$0ؼC L1 v^rh]]Lq[)eg:U nxRsڑzMa}\lg[4GSk$E.bTił)A$ Zl] e59[j,~oxĸ]r'E׫<4#aqN& D"!E`5[mYR6H3Rv\e/{?R9x eŸ16 XF1Sd&i,,;&IaKѬIaO!oQj+@bt5<;:]G{% = 9b'/QsUw]kX77HUɨ֠(mIɆ}M;;g,q-P-rVGcM3qY/öOS ^3X>_~7`DLps"%HnH F)hk ŀd"*bKXbkPÿw2Jnr19^}gZRM6~fĝBvV7-̻,(r(z 8;zT8޹Duo˔fJqmNc^f2w[0\hMc"|sh)u6X3L Fq0AC*vpvW?L7;r`ӯ ~t$Vѹ>?5^LgD %=p>Wt~)d>_mo׊8#&սZ.cQ q8|GHӽR?PK ? Qx6u,!seirsplus-1.0.6.dist-info/LICENSE]R_o08婕P7`dH<a(~w$]I. a,vd}ޮ᭛aO東L'u#X ǩi#&cut4x<!vjhPdƻ.\p 5AdP`<<#VHkт LƇ6anG{'{W 3$=& \k;%y> sƈr|sx3 ,^~[f+T5%͂ilQe@0 EkZJ3Va>fr;ZY?zo8P[g"yEOPMʵYBՋLD+^{jWNhW{P~<@,(KPɬHtֈe&+$J2->ZGl#87JJƻk(vP@iso4Lb >4%)w^?Uy[VZ3NM C)Y XP Y4;x *_\ISXg)u*Kײl"FDZH \G+_BHO$0E~PK ? QQɇ"seirsplus-1.0.6.dist-info/METADATAeN0E&,Xd*H@ `OS=NiAHg!A+Ep^.Uj`!y.˳Bu9S M040 t7u4ZCj0|vV@{!?C2Iv!~,1iI aLʷR%QzeA?RGň}>ǧRW =;U)#Um5 :B}Kt5\3Ճy`mV)/؄jxiǷV3H\\5/dmcŽR'+PK ? Q8~\\seirsplus-1.0.6.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫PK ? QV: 'seirsplus-1.0.6.dist-info/top_level.txt+N,*.)-PK ? Q"A seirsplus-1.0.6.dist-info/RECORD}ɮ@}E/IQbC`P }N|/9CCW/K U7S-D7g8lyiHV?+xPJ"$ N ݕI4WZx̃]6;֙bT4;.^"Yݰog0mdבFSp;)tds nK oi9 <-6'~TK wvB&j{)a  )dQ܀Ƹ[z@퍤"އug7 ꤄n2ռqÙ] A.(/>,ﮠ(.kgvWA4)YYI+B QksJu.lrHseirsplus/models.pyPKJ, QpZ1!~seirsplus/networks.pyPKB QceCT__Qseirsplus/sim_loops.pyPK, Q - seirsplus/utilities.pyPK ? Qx6u,!seirsplus-1.0.6.dist-info/LICENSEPK ? QQɇ"yseirsplus-1.0.6.dist-info/METADATAPK ? Q8~\\seirsplus-1.0.6.dist-info/WHEELPK ? QV: 'jseirsplus-1.0.6.dist-info/top_level.txtPK ? Q"A seirsplus-1.0.6.dist-info/RECORDPK e:seirsplus-1.1.0/dist/seirsplus-1.0.6.tar.gz000066400000000000000000001762211375244156600203530ustar00rootroot00000000000000͠3_dist/seirsplus-1.0.6.tar{㶱0ܿ)PoJi7N_ӕiHsNm3+2IҜ .@Pwo6fE_$x+m4of~o$ 'A/n߾9y/w/aNdzި}\˓61o7oN>Oh.2_o_//:9~{vme#ky|T=$iGM|sO&S'&?yjǣ`wsLQ0 l𛲇0ecD X dzQݰ(A%a6Kx,H3ae0cYXCF!&Ɠ`@ol6_gWadc?A R,wP߻vA:LiFϳs>u'ˋW#mQyDiq8zsE/~;/OrEW\ssUNwv>܆)ÏPY8Ie)(DA?!(>Н? J-A,fi6=Z^ZBe3e2pdAc[,io}ač0<|nY-Ӣ Ә'u |,d0Xk솁8mvl|4xb-\A8@5 I Y+–mf`# (6E@s4Im8}`@{5^O`P뀷 U4 (=h)Xoٵ׬@jΙOTO+R,/y0i*!qX O[>`WA$B d+ 0 8|ɀMJ:!UIiK|}h6x;tǮ@q{? +di.z 8 F a}'=w$$6\z2?ф?|peT>zi6K"PE<#e+o.ñFpЁDI-yP7@_A( R d+RgP*A.z'!= 6|En\Omxnoo!p30b땫XN#~w '7,MuU8 7\RAdd SF7Qv=n4vo^nbu;vEm {1\GJp*kCuIvOBHTsa`Cj'hJ(0o:ƒ>ho/C0C4.絽=>8<Վ5ڥo#`Ƭ} @ }t`r$3Z5%Aq*G7#Yt捠Vfd +X hAZuF(?G`p;!NqBz -} zɆ)@_ح?$8Pe14a~8u]Kt  Rw)8M荃bY3u.y Hvopq&b3,MZ|@R&&,c E7\h@e-EA*ŮC`Մ}0UQ=#aRe=0@h|bdúr*|N͑\i`ͽ= d.B)\̫EAbhB WOXIPSf@|4e#pF f.*@'X}Vu dU4H5WIa0uؼ*N##g *drύ(MW )JF5!}J# $ %D8 A"k-JhN%ϱ:"mk9/aZ[e CfTZ|GL(b&[ vZt& onݍ *Ly[o=:BsaIrOq.ejvD_)(GO#I(prD=|!Mg`;$7 \5 }FU25^Bk~DELv R.C81U$GVe=BP.w`xV6ŬJ0#&7+7\ (R 0ArGa"d>m^hLdD.DE%A3$~% (#/ % Օ8ʗCLjEjBM gq4p/vGП]z T}|b~YQQp2(/И-sF0+ #%z1O4lJH\RR?%x@( $ 4ȦGq'a%4u@ =)H b?i1K7$=-TOR.焺dz z"UY֔T % uvTGo?2uҀJWi5\!Es]ctqTXNMvkMdEi>!m#kN.%G1 8h/b ;r5t 5>1O>ITQKka8[j߈HBl`Æ_O?4%١5EֺDY%loG<=D)T2q%WZ*g ZeAfZmF- c׵z Ň3PړΦE({xЂk;ع"]$M%PFu[!NFʆ7u~B/G7_g.b{l O'-z-鼖Aۨ^5-S 9@`#Ou6)~=7c?- pz%Z oil_*Y.pʥ*]gI\c * n1z&wk}U0AdSCMکu=K~_7`1Iڝ֟rysb'WlOtzlyF8WM^$6 x ]G5pP8rz1W(Jm71mc, x򦠚;+&3 <d cG$e iXP "}GUBE{dٔޞmPn<<.BK $eslܼ`mB쓾#?^-?ēAlw(?U<)=1C^=t7h6~ p;`~eh]s"GC}PN{.)] #L*D pqMp*C ۂj[%\p*y]5sݩIࣖq&?E&CC7a9n%ف 9=ʭBmryhٓa<}YRvWx3 N(q|l^"-G"nʩpV]ྫ'9yb(.|s9dm3y'ǀQ xKgИ;މin1LoO# >t1yLIHh3DH#5/ YRGvaQ9x-n|J6r0n76m5! ;;rw_y9ox+qq˓?^Oyݛ:~9"A~~''ol%;w#].uGOvVAN3%IvⲢ|٭|S3 E6AOz6-8 |rq4Fi,5i!p4ղDYzZwrDZdk/d +jKsI6Uh?ѨJ9k*#Rl7e2\?U kCoZM֑mf$e;A QKϴIVuc+cKi6IpZ X(QRH]Pq6,^yT ăkzqIgujM"Iv@4١:1#9 G`XA5 XӸ??Bo7I<^p$9>.bmHE~5OΛFCPAY ‘U8bFBE`Z.r8H*%X =$Q*hi.@X뚔 ..L80 kS:hV2T1cJ '7N h\ŽSiTgVfAn >w^c,x0jc]VkExOxń87Id" A>pG;)H:U7Vq^BagG{6F%6j2No(wR_ld::) ׊x=ڣZϏ*}+zL֌q"itCՄU0Xc6fpz֚V{iW(9~h:;HBl_*J]Jw~RQȅnYݰ5ⶢkc "_="WdR<{؞!]ԴlaBKKCKT3?_M`c{w|&77Yc=]ඵi` ?zGl{"Ks@ &B[UǠp3iGsȧoZ U 3 xN PBХlL~{^$S8NKS6T4R O|O6wkKKkkJ\ k \~(»d4~Ό &]2odB) i8 ~"p Y M 4.2Q/h6% |@ ^xvmcհR!k*9؝))1Ob1dsf4Z]@)ʚ'RF(0`5%`8Ԓj:dJqkΒ歟j`{K[Ƽ=Ѭhn5ya3, RR|"#&̥%j\'p[l@T /d t+LؓU&򏆼!K]yz寖։.E&\)+4 TιyvviU*B><YOeMYM N|֓xR$AZe0V4am?YyP٧jq0"c<#|Ŋd\役88eOynCI:@h.3Gp:NEGLoxh!g3qR(N똱<d|ޯcS&}Y_@} `rlYO#}jWL+ّ,(+k6PsnҾnЪVavRuky<3 򻺱ЎMl.> Jd! Gr4l65g͹uVp=KLJϵ凾cUιsdr$ #q1ڙ> 0$ 55"ORN0oP-Ony3ʹy6QcsW͛洙4Y3hv\D.vY6e]o7=o LT&%vŁqB-cJ'>4 OJx{M!ۄ% O'IiRa")ɻOpIRDY .~'fIhW%V~|>9zp[iޞ uӴ,bæEkr }8yϴU'-4)1^g๯ kqEhU+}]s7[o`0;x&|fn{l^P${#Q0B,8#p-S nR7MeߦS጗Y ;H)_E4r.iJ/أvȻ^IPtWx0ĻȤu.hi*YM~U+4co#]:p>x9 @;:{  te .F/% j)(DCXq]"&MvC ]F: oD=.+{.39{/Vkej 2+y!FVĴwZpYhvj菕Tb#fՒrT+?)ժϓ7E ]N%Z(xYS\0DcVqau*Sm.kp-UIױ^c<|FIR(g욼SWMZ˚Ft)p&[86Q@FU]Ų.!$cqIiE 0.Fq>SGelĊ9FR ,Vā /'38݆7u9[@?хtZ:A&$/0>\&q}%xKd/!{S_ԘrFXYK1O,j _Ȩ% IqWӚ2pׂ۸&SjGLTx+{ߴfRno5b_vAб()'i]hxiUJ!ہV~O:nl.t>,΍*|:PSI͂t{zlStך0'q<2Č `8׼mH6<'H~r1gmW_~PV N)ыWhWaWۗ;Gk)8WF2t؇ pPr[ϸs6A9`Z2Zw#:KVf8%W4%ōW!UbL5kzq= U _MhO*E/eNlj^Qgi}}a_iǀR-#[n|ŽSϷe}Rqq.$dBs;|,#.B-ʨeQ"Ao6 q |qsA+v䜵Ʋ2/.!F?{Zπ)W-څniG#Y02 vja;"e;i*O'ui۷J'+vvBL g\ p0%к?vmBr&.uwtBv^ؑ7/߬7/o^6}߼|yyyE9s$vڄ8y4߫˒uurb.M.,Ց֘Rk̍NJ!' A|U \~_}͛/?./"?_6oޜç L˓ơ9o|V__x<˂)ɆPF ,2"Ύ%:# Cuw"@Z;dkdND ?ڝ/fq]k.?Hh"x:ͤq,4 /JVr`~ק=[=J'a̪;>u)dVHgf9X qIRPb!͋*C돗? \=}t1NmJ5R՜l}&m'|1}f dF3x $]$@_LHKs-w}\D:/+ L! Hw>ـYZ 47B!mFpjw2 px'~-w3 ]5>~i0@1Ѕ_mYen̗oCB"WCŎ@Di9qsg>@KPjmWJa ULR⥍1PD P7uZ$(R[Y0y@Zfq3yhyK\-2m:iu&6a匚mu1HmN%\+1E<\0g5⌸ׅp31=a|[{}w{Us >0 bq\D؀sqׁ'=}! jW,N]z' ]j@ڝH*DC܈R6oPG7&d%b:NUJedS#0 9']:4ʸnkYPw7nb#$SxA(dN18`8~Zנ~G7Aa diťd9wj~a2r(}hδ5j7iFmͦY.;n-( ,jQwYd( gI6[X@bXhtHҌN "~7L957NEXdC4qpTA>V~kB|Ş=[{"L=Yjx3>G~Ls6uFwf4!v: Ax? C4?4uhrEOaU2gߏ(<pU-x_;kW[L&F}HƁ6 bi (o;ØcէODi;+C$&im8>KA+\78qή7n8-}L:KmSܢzsOw,Tf@RmT:NH!${m!ҒyM-],궶a @;uW:<R 4~e |iHlN&*E%S0˔5yʥ ZjE7Ѱ.yAw۝4ʼn6y|9:5Gk14G YX-AW5H kU?u?je߭+58Iin{Z9 dpt)>?GgANm=^*x.†W54$vSe$YpxQTuXےzۍVCx*يOQ3Ht0?ƪ1* UmX¦=jS>7-/ Ȏ쟪B򓤉9<c$?:r3F oy?yE#ߘh))P):v|g:Nu6ܶ\guSzNA8{wSWIۅKHǿnJmwMjm[-NuaZsKRw2ϛE :kx]ҕ)]JAa) wnu wCJSVEn,WF fwSiƻ)]EP_\SW|oJm7M*)w^;_Ο/ܹrRnۍwS|ʝ[ۖSLv|.U8kXա=Ǻؓڒȵ!|zN;%7In%klQfy;2 4Z1tO>Tc?7-o -mL if寕9jEERzmH6r^J :V)!Ye_lfr3 s^n~{ǟ#!#|;n ݱSR8K59m}EFʷL|vI{>lpf]v]:X[[@ Mv#E%zMcnN_KHan϶h "vIh%Cò2\v%M%m)nivI-z-]o$ kH? n:q'ڷ «"BZ-Lxor[ujKkԋfIh7v?<<5i[Ky'7XhdGT'=H}bY^V)߀WoU v*H47}!l$0h!# +5*#GfKӫ7R~V}r?Q8,V+hY qp S( DrlU3EIxت̦`>0n t)h5O~%|&Wt[J<¯uxdkU5\L&@hp@a<>ec֪sBc+dǑ%Bn a z&mU|t}\y9q=g9U^ U_\HԖ+?S%+5%q"D F_l b_ D»)?JP%(G PO%rsP&RX(gN UH9!犖(K(눐RX¸lVa*u:] !Q #2W 0*X;Rd@Jx_Od>N ;KBnbʭEx[|m9%rJ=%>cx16= /em|g]$yCOGA{v+M0cl Kj^Cg6z CMh!'B4ÀM{c4yc`tf4[0'c4e*بMʆh`6KT@#TTBϞHji9*w <HMRBc@RTz׮g1wDT&ǿ:)ܦ0v0H'6#6FAr39sCXʪCO WЪyZM)P]Q 9tTdO^GMXfbF.]XFW|b%>lN`f ` qiua׷8 qEL5 *QRt*Fކamwf݆{qi 1To6blľ݈}F#Ç`I<4:zڑޘiy1H;Ӻyډa5N/a/ݧ5O옉#k&vD蝙IgL}3o$ȫZ= [T `ьI=]_E?+K&z+DMnj3y -h@3>!@)s ?K:.@#7u v;:kmax+m6mkmtPlXb/?/*\4chy_qyۨGq^}|Ou+]-wɭmf &a_Z[ -Z%0J)өdz6W# *% g9'\WR߂.誀*XuV[|!s [鬂\g:.dL0Shnʭu7V:*A-J]mlu|Wf6g^r@usVt^.tK.IMI0Vʗ8.Ծ6/BٚDz~o?;"T 3[[Õm5d%آt_]r3,KTtQzAݴ T]oڛae[g DR%XB}m-MIplCilO崖3Jsw}^Դo lGaKXRow]JMCtMWo}7"}ӕ{}w[~F脚q&efnw8_ι.4;VTW@]@L[bN.>M 6.,Y\(@@uᄵZoKuv:6£ +4Wʋ+ϣ -L/?p*PXi V{KCLj0[b0k<ڛʃíxų vq ڮY`2gtoV.O(!5Cu H!ޭ!s)w0 0a x겵wrf8kA|YԫճUu< 7hUE!j =_4&-A< ^D뵶PMޜPVf%A'a̮bXBTl.M&Qjdz:T0m5r߶لN_KӬ5c7&hw&*jŪ*`#.n7AZcoI] ڬc7=e,o-!dG:Gn4ȅR+NT$,O]$:l#Չ./-3錦Uw {{=[v6``=zz-y^:g26-^Ao~'6Y7Ao%Db9Ly:j`cnqx2C=8 "W&4ãxFSRn-dm_|Re j$NE&vgیR8AlUog^z;XopgdgEnu[ [l[ټ9qȲBe4'Q*ۈ! p0D@572=Bn?!υ)KYщ[A1`]OLBCoH@vÏt!0GApV%)x:N6)fpGtg'=ր/AKKF8'8byzԝJCK-LSlŊEu^ _ˠk^z蒾2î# W׮-[ ^ucWQqjcӏO3@tlrntfuОkJ}^ R_;xϪ1=u"V]}5O7q=6s@~ҾY^>3\O%f$h(M͋hwNӼ(VSUrg>3iz{ƐǹYYEۭ6vne(suQ}~9(\VK;w%Ķ +B8g]o(@?չx>9U_Vn`fա&g9_n)E s@5H+?+]a (jFC<nhntKƾiFQkF9k  ot魿%㶸Ŀ8Ir]1=MI):ϧ6B1 J@1Fcƹeѳz?E=o>JHHg~ nѓvRKA#4I?ަq%G{t>g<(,GႶ^2 oD -)ԠDԥV]~aKjZwT/ $N<*>襪YKy;Lȱ! ¸kq Gv\(Z_Pk)(g 쨫/wO (ڮU#M"sNe[J<@ia,6x[b mVag U]Bs▃իnVonVjٵV#hlf"Qv߉][{r)cp"pJ~;=kߍLlS-}we?S־3hԞ.eTW{ym_Q1 `;>v=6-V]M\Ig7Oaid+TDhͥ/?<=Y!uvD7aǽ>x4gHS&25U*湰6\# 7aI-@ᩧi9#;^ YSCFe=@ixq[=".J+^G8ڕ::뾐y@ t;X!-AX4BbiX !Y;V5Bʨ;]4_&TqX3_1I+t;uR 80OE}6HrL@6is\$mqI,_60nq 3h >z1XwuWXfD)lrJݗe$i=MPBgyԒ ݋|^q߬t>}[ 0/&F}ƁI8 biq7Nz?ì>}'lRMxAw`)"dx}-^ op G=]o`WOvYoN@=%ys Ϧ\ ('Ϊ; `+}MG֖@^ CK^PDu4uze9`U} |Ul!N딈Դm^G)K'S$\io.'cyx2YTS9 ηM6aI_; BG <je?ڝ"IvxoOŹJJ~6?(6;ؿ:M_Ʉ98L|9Z!vÊb(ȑY/~Z?> ,Vk֨ ViD>D3H|jh6/-cy)0 0}Ó<:7_;x7K0IYzpXo߾V18sq+1~#xm_5>Oh.2_o_' 3t0&Y~;dt~,"gG|!N>>"U.S>ȯ0_Z(o0#kZX' ;v|ɂkָnp)QȻww1#%J6^~; 0P"PT{V7m X}bI"+*}6YQ'ÛR3Z:bT7wbKa|$Ob{ %WA:K4 E`M^^Y12'AZ{~v[,K]eY6WaYD-GCU(i-DN |99-CwʂE2I;J 4 x7fX<{ G}!6މ_ H]5REZ9b@Unb Z GJwݘ/) X <4DwEˁBr4+Yb$!S_48#Dhj11`@o˙GBَ;QBF3w p&IЉ7!X LH:4ՏR>Зy-"\ĎGG0VK=vc_>Ү1:ݓ4I6AKf-aB÷7o n& %ںؐ ;Qޖ֤/6Ϟ\HQ1u PTQKZ>j/1с6,RjG'Ju F=:Pj=` bEG &&PD P7uZ$(R[ޕ?P o2ҧ4 &uV3/?Xfq3yh_׭0 bq\D؀sqׁ'=}! jW,N]z' ]j@ڝH*DC܈R6oPG7&d%b:NUJedU݋k|] Xltz b|i<.RԝM] A}!RN2U~302t A!5MA40,)uJ?He.jUq #r3K+@sQ bfny#"Ca, |dwSkL:yYFݗ%U|( gI6[X@bXhtH gfu͚{trjDN8F*]; ʬ&1.LUٚسgaRÛ9g i $"-!v: Ax?g4?4uhrEO: -\¥ÞcybK8-o D bahD{c%K۟&v/'[$vcWB)vbl+zۉ[=E0v9cy2˨ݛcNVu10Kg?c{ٓ@{ lOa/{*e {S{9%K bl{/_N~16^c%KEevHg|B*b҅xu㙌z[qHCQwRW8MaqL5 O?9fM&1s.IG׼jIJy~P0KeӮ+ϨM&,`xb%Έv%!<[ӆbFt,-B:$){D+,P0e#HRwЋDzAD,Ә`FW/_eˊy2gj!+,[0uPg%Zi xe jbN6q_t{<&Cq-: о_X} C, Gh)B\4."t} +Mcb4y' ьfp]i^cJsR>y#')2tFYI?YI?ծq #-d0.g/U MiRԪ%zyŃVOvelc#MByK_*4ISJ"*;(b J|_[P<]}z_O5N:fŧe_?7v00 I6FArヷxo5gv8.i;5O%, 8W8ӑˊiX>ӹ/-Zm6Tl'_l 9=]D M{;4`N0&0i4a aրyjsF:" CyzE]ΐ}oZQMz2dZrO+%X#M5=l t"2q wVVU0bQ?'C.e0z]>s dDUUT iSLIlk-ɽ6Xa5u[ ojp& 7;pa/4X']z f(sXHS2Dn8;!RpooeʮFDK>^tQd?/>O\>gƝ  :=Qz o V@A?- >h4ex샖YCKZN%.g!Wӊ탚i,xS%{&jNЗ*:UuczuG0%oXU~+=nH&NuXBA ^+=W bӝMjH/N?1pl\OB;ծpd,]_ NEV.ζ_킱]I*X& y`²sˌiTXdס),+Lg̘ΩU0VZRn x1dv2cZ:SXChʕL,+@j=j=sÛ,ovZ`Ya2cƩM nؽ9Zn-2ֈYk1ɸ;@.n)-g;r/;ǥt*k͜JꘞH.*aZgҮN%V`Ź\3/q&G J^|LC7;dgȌfHY7^=vYG/),;eS+*N!YcN;'9l'[:INBSLh_kM~8ÿ2`:UKSWhoI!Ai[Sq6v +X0K@ZAcW pK/ M^u58<K 8w]֕=n*bʓ46'qn:u ׻58Hc8ZB ÙP3:g2H z5Xa9G:Ĕw2]Nd~b$s9"UZ"& |+h *c7eP< 9ʜ#h*$f44X衁l 7\!9{,\PRzX,*wMhh NZ‡ .+5TIi!v88^Vi]= X()&<}7FA =-s(k~8N~SQD7 si*t -e 3CD]hn.8n%60gq%}FpNsO؍m:ZពYPR/^ nM~g4$CYWV ,!\rq6tPA5Ȳ8GGe;PB*\2@Ҳ:wY%gp{ 82zr٘][W1{5G|٘imU^߫x-|Ox4@ǂOPhNo3l_qP9Y)dyZj`sPڤJL@ z<$GbY2'.'/ZpR%rHwg1ZQeR@r _8\ХVm;rHAe!S{}4 PVhɒVV, H֗5>vS%m!+=ĵ1<ƥQS B쮬C㧪HИJnbk)UN k8 G%"$H::DA3DO Wef~Ô4Ƶ^DSKj.٥9ٙ3Dd+.# z ym":ĩsSU4}v} 1WŁ] \IY(1dWo9G~,m&b].UpIɸLgLyqlpe؃Vqy؋p"r`7MUMzܵL[/{ewskzJƝEϕ0+9lX>NvqMpM⚖5+5 ש]\ߩ…o4mZf+eU?gp6lM(?ZE4\jzz:hLpYDp5:vB_Qю4]uڔ:kJi=mJ]Vo>NR:{I݀+w5x=OM0wUz=FkX5>t&+43T|6Y cr([?^UOT>TI9I-`r`Zff;0@-prp5v^{a]$5 D&/(v,9^̅usb:M]b]/a)+|!c#̱.a%"$n%N?A#MVE13ɥ(,m țezkkq#b5Mvb$rh%5JLD%iYl!a"cPbr[6=΁۪v ^Qk4LI5/L/H=i>k ݐl;0$p щ (',4& k i2#}JX&{ШFYOnewvFeHjɲi1/nμ/_.6XiwG}MD8|A/cl ωJZc Q 2=]؎55gJ"cMÖ'|tؙ@sKysnǕ K=#65۟8P8um9n ʧp iqD.ɹiU;rmh|Dua,:QՒ8'qN[yimwCZ'uk}4b3tKo]Y lg)JiAJI2YX[Ei~r:AeKm {#"[|XqE-s/G7ĕ(0泂RGc!L3yWAH&qJٓwb;1IHP)PWJ!.`QIQo[Y]]ݥ\{~,Q EF+ip>i6ܐOf 7퓦A[)ӆjdÜ_eUyʵnXtj^4qgU WH6cZU:M |vc: 7卓p_K(&k00⧙fY5i%\o|uMļ2[rJ'q80}6ޱz$m6 7i3HV9Dj5鬢h;j&Gsl@^+^߅">=D ^#BG&U5}6Ty_w2Wވ#^=s^qy'У R }Ry8ކ%S9NB~wh$t#HHubv@ -R8NE0rnVFNBB<'[7"e5Ohe[Y[kV[z~9S%mͩpf8z ?eeY D pR`9ӎQ5E!D/2c~H] v><T) s3%Y] E]N.&4/37]$n0)6Je(ۦ6eNً`^b k(I#7.1(1qL8/> 2}yidӊz!Fq~1ߧGo&t;Gjҿ@  bJA`Q o- eITZ&\+VDp- )[ZZ6TqVk>ieڥ낝({\B=B':M>!=AdMQn7[)9:*GM򍮅ҊL[y:W/; D)j t|L'/p;Xn5))(ୂݫ/I+C>gkVИ)7 bՒZnV1̕iZ#Ǯ)g}Cv^G;%GC2T~+C>niV G>plSEdO}+_g%'?rgg/j߳O?4'?q.&مL0cSJ`ę< %_=<$H_;l$K.#2Hŝ1ʡ ~Ho% 2tu# qe2rK i6w4L_~…3`.a@*W>p9e+M$ўzmRǵ &IxR H؜gC',( 0ZB}뻈m jTu+%v 0:wrRX{@'H_2q xoRqGZ6"fq!9Z2LRIo7&@MYLjCP#g]@NոBGqpE:u GFLF@G XH)Ո*a,UH1FƋRo랓x811 GF #JI/<ޥF\W%d9nIf789<;͛o۰5( _e l1Y7um,7磞m6kٲ@h0 a>RxoFv^sl7LJm$Iшen փjc*\EWS< oH4w!">5Anzz-NOnɮm5j5ZnҲ zGOSZi5Z|3bDZQG!:CA"A%|mm]gS||{פ~pTڿp#$hl$,loN${顡w7sߐ 9ECDh7PSNtL4oRs)B<+/>ʖ〨,e Slʸ JY8WDټre˻c#ʵNr) g&UjRi_ II0:oi$.JtpG&=>kVk]F`ЇQ }.Tf_?w ȲXj}5\,aNIg;TQ҃< @bev2Ř}OK,ڬ !+!8W _QOvLZ+k@,p`?WOP^×jN ˳0AI}/6jxjSRG H@_#,8-lŁ˅5M0Ul߿Kf X9K0Sc ,મFpMxՊ<ڜBtvF o$yMmKx'7{q M%㔻5އ+XX>0+w|0bDn!h㊂NRW5緣&ͪNjd[׬v֌Yjͪ@Jjf׬ݼfuZ+5ͭa_Oy;>{h`v ޅrVh#VZj~5twjI/6.M]zgjza-YŁ|t<Mw';no|)˖.K]1vߝ^fw︕)P~9^/9_/9/ï3!9CXzߘ:GD|9/SB|ɅHo R>+fJЙL1_΄KV`E"&f L)4RHƬRdn?;ygbnws,0`jV= bqcLgNc850K* 3#]K/W8&:]#{xzCbUKU,bZ+7֚u﵀DCӍp˻ɐ4"^Ն'ւ :H}|| ..8d.w7\IhaymFo1ˣN⏌*!M7qjԚ))ƛD>TW+L p =M,.(;bW>{}l~V?LuUd- )"W/ȇ & p)-S%qu o/:bh=df{s?ۯg_j'W~v KVzutxC{=Tz%&n<(R Ǟ}2i1Pehklkl=~CB-UHkCY2srJn͋>t.WJ؆Q" hzcDuٞ1QS.eXgB>YߙBtGkEE|oVe{qq@s[DGsKp <.%WSxZ2MfsٯL|9A_V ʎqPxWW4k#9S|h8i2Gn9|wQpwI ;! w,m [{gb4A3Wژ3tk!$B7IoVBȨ"tHnFV.2c-(5bFJ:Yx[%,SPǗƕU} fb2 ]!G Bpe̴Ej[49ni ,3Lv02cZ\tKXŴ=KXJ !qVi EL!_Wc qθ;3R#YYSՑ ˊ(>;LrWر3XfLK+~ i RjjXT=,`y a/v[1Ŷz9w%f̙Efo,1{c[n-15g6ldQ)"pBlg\cA47'|]HCC!ݕBC!p%y@kUFrG~|п^Ye*&1Vb W0;ǵ>sޑY\et6<94aϫV%/¤6e/DbYE{E\f,se,~ d ̂'th܌'JI|r$$vg(?߾V.˩a k6Dž°@sʊ6`2PXMUH eUՆ"3ټK)ɈE'VeKxc84YͺE):s̛1oo8a[H3`ΎEZ a%eg`3="LO1ve3bڞ㠙3݀eq3b^栙3eoʹ]kD0k'5 [5EӖ3mҝy&O2>e~&8#-n4a1o'u͜tš 9vg~Vŵ_-Z:b!A Fu8AqAKbl;#ߛuKNY1}Ss%ց 'b)T`<U >' 1ic.ni3S[N]Bun+'d0N=)}~8 :RKMiIjj[9je'rEYМ1D/Iy'jD.PǀShӛQJ;-;1>T h $c7eAq$V?;T3'Hh3h$C"\]5>1IJ5:VCh-=[[ p쳤XU"s`pХ%|Xp )t LjW$$88^Vi]=ۗhsN.w>oRgm64塈Bj΃"z:WO#Tk,h,CUܟv"vX D!p2=݆l'ຢfNAu3K~s&z2kS: WB[T aP?QV ȑ.!\roC6ß6qn7oj#emQ$y7qz##iPB*\2@t+@ù 4ѓCCkW1{5G|٘imU^߫x-|Ox4=&C >A9@9|2TAz)c\XLxhG< n] "^W1 C/'8Hw?'Ȟ"fYj &0#狹]h왛4J3Ov zPy|KzT?XD{ bӛWy\KqXF-$݃v33j2[J <5OAk5(jD:ŶZ4~"5Y/`Vrh6JBhZdG ;L!6fWjyN8Ҩ'F`7,{_ A4)*{%J NFףàApai.XGMW0FV.`E$~ д"az3)o { Χz5\oīYi&]SWNUyWNg\qOk  hy׸ZXyWC0[NO\ɋa Ԣy15sT(k^ƚy jYlQ/uf.[/hωv阳\~lsjk=2eMBgxozר+E|jz7,Сll>_M+^ihxJ׿ :J͝1!4\p3OR?rFg:TPW|?5m19ub'Q@΋!+͑ ;.dE} I꓅IYY;ݜ,|Tح٤LfH\jZ&R+zI.YuCݰKG;H\m%3%ޔ!̛XE,ckXX=jZ"ZQUo^{iKɖ^Z(e@k iYi{5hsuW=xG:,hf=Y]TY a)y ,cmk«3'xF`j# o[`EPμ+u]cbIA .b%X׸~VasxNV k˥nR8n:9 UO1tF=lDY-aOgzZӐҥzʮt^SEڭ7NNP̈́:r^J:TpiB,:|v4`x%+k~GӀ$ =Pނܯ 8Dظ|b$ ]Fwomc#Iγøt;+:#&g?p* уsj.eE-p-3?ߋ'®X +Ż@1K@Y :luEsN8181HFS1\Mwug@g)zN9NUbfT;w581hЎi hǴv.$33d8`5v VV&88hj 3:G`OU]̣\) Bi7L=ϐЇ4;yE80 !Y$Y+ ӌh_E"_)FMA5m"J+YbQl W*~h/]mK :L{1ihэ qln;vCpRDX.\v=sazdwcv"_I&߶Քe]\2\o.6>zm>`ZϷ⚕uZ..dK&e&t8~:gyeCC^Y4sl#KV%B$`3UO"M?==4& շq۾ADy_c/XC` e.3Wp!:Wz[Qю:iJi. Ӌ d3zqŧgץ$5U޳u֔zڔӧzOO)OAmC}55ާ1^S}"\fJbnJ?7qҚMk=wŻyN$wh-vЩź_^t ߕQ`v !-[b٬,4Ҥl(|}<</ypiɞs AGvxX=:cn]D1B%T&C`d׻:+*a $ tVO?(ZfJy >\ԓ^xM<r"1 d~tjFyA:|`*v]"ȟA,]_DV003F9*oQ]vw:igT2w]6_l~dm覗Vqk"ZEE/HN-9QRk OR^)np>^.^ ֍{V5Ymq)^g'Ruֶkakakaj[kKnE]"ǡ4C6E)mQ Ys2[Eka|n?ȁd4 Wzۥx\܏oq~nNhD׽\@`"8:]?<1< i&@TahٓwxRb䕘b_S(Y"v&] 'yDxMFm7ʻRo5w}FeE*顭}깜v}4iqL7@&lhtz iFt ;ۯr5<Of 퓦ƇNc[+ L퓪IC[2 ^S`yM _56XxS>kP7AU9EEI5.\ 5FfYQ.2)AWx]IQ 8q/%r3_L K!BDgwU| \Q:*vUbsUKK {;hcIF(ܤBZZc 5!$wR~ϻoKq;i5Ʀ-qp#c![* 'ŽKl{_"aIsq~η~{!&\~fHۊP$LB|sty0= K=j/6K;%x,H&xOzAI;ltpt'G( td%`Hm"yIInCw4Pbxba%έnyHxuV@Ze!nc u,DfhhUWHP*=Ii j:U&7\G$p zaruZﶰ:@z=׎@*a ROP}F xJkT38 Ѝ##}ԉ'N?YxH!U*OƏȹY9a Ynld8>memY]S[n[ }>Y3(nk/$vJ5Ֆ ƃ/'7lױFi"} \I!L^VYiki4 &(BBU以*h~pg:Յ4AՅttZM%Q$15ԇQ0y:(S0*pqE9d[U'_JL—*Ji`l~1MС?'OlGG>39 O+z<2EF3C^9h5G |!CRgOh+O#)fb$p sN {ja ̌v 32+c›`S202͞ *0b/n8,;&OМ,6aʂ}+:X;ك*;Y.59 IWB ?( הʇ* 6+R '2p1-zypE&)]#|sЄ|ky2Ϭ~@S|sm}@$/[@a(3-t8D'kL610#er<K;mk.zp}!<Mzy D qRb~C X^*p]SF/"_L9A "_btxVYT . "Orc~x]0N`'NxJ('*V-jY\#y#ZҳgOX\R,YKTvӊV"ڴ-V_~ii[M m`AUl/d p'Ytu.YktfeݴB/yɢYrՈ_,<OF&-J fūEZ2OZ-|U)dX{]ݑvTOgzXZye[ 7t ,4Ÿy!hCϖXV_!*ݤdX}Um}T3qW{q6ih=EhO|U7פ1}P^eMzQ"U$~بI#Ƣ D^5 4iUBAH2 Lg_ݫL)oao 3TOiiZ))UW&8 4 2sM{$3ud9MXM팝m?vsLqZ5졍0DZ 5ba!tBW!+\3[bX1;[ewT/=\0H%)wAt2H8,a"F> YIǕ>ҷ4\>>5Z'3*,r!/oYsolh&(A`7WA!"˄L{"eQ?ctGr#(!p*$]J5TXBAA R+Wawv[$'o w&΢\ x7p B~E$-茜~8 ղůHȮ[0E.\!&Ѐ{+ȅøC"w6%Eƙd!2N.|䒗\þ߄8_I?ݯv_eݧ?'ts?ZrbEVh(% ŘE3STr(AN_Jgxŭ`*-d *w6a?d7lh А8DpMD##Ged{9Gqd{,xuP9T/h(#=_lȦl QC51~uP5rdKylb(l`+#š?j1da+ .U3 nc[_Q;j^hGh ~\5 X?:KDW:6esl0g!0<SGgzi:]t@!gřC)v O}qO#$@3=#OɈ'3;C14ts'os<ż)|9yyyyyy癈d}aW$pǀ>Wwx>sB;4QzL84\W|=5IvKQ_~}OBx%Wߨ=Z'9)TMfBq新' "P5y8 K%읡/L?~v/C~"Sİ=C?7p$Xx87i௥71 r'NWCQ(;?1Gpǿͷ~hy:\g_A_qg .DO_B`m #:03ȡQ}[wG];mv,|3b]qg[,Xb&d?jc$kQctd&syE^-t 9J aWzG+LR/+pKK$uv)@ Qk 5e(]vA){ ZwF2陠=~϶} OҠm=w2 0 IWnBE5p~4~)E(InuSJWx -@ 6uqQtL@sE&,i5Ҫ;XiL%`^WuUzt8PxwRh8!3Tp)Pm/ۨ2Zwj.mГu Ŕy*,\AݰB՗A=D%myԩ'f-`>yy_#Ç(Hi}NB=77[5VxШ&91ݖ.ud73b-\t#5ø@e'+!.%]Za3*[iRJTC3?:8B8or2HpZ`%>;1r0@9 %;&B6 秸xQ PC$ 0#1*~9"*#E)%DGոT~Dc~t*8az ~Ww6Kɀ0L:? n%ie@1NWԦ&BJ漪 WWiaq^ QDJJ~w?@=rZ-*M~@V{@qeľ&ɏ!&OLH'A˟HHL')3ۙpqMS=7 ] |!294~ -3|uY-[e+$nmn.FDoFèCcr^vߠ3mFqglĽ&H ?QG?=ZZsÚhQ!ǝ{ӓAK5 ɗ/񗗃Wd)`ť}VVB\?R(+ pup$ɨP~ (j`A:?(Es;ib"#t QBlR`V)A'zhq_+4"xU00)w1-ŋnԉY<6ƀecQ!Pf2d(9*be+&c dRp1*T C6C8GT|HUbq$N].tGgu.;;(\er@ZN Du<$Ze;YTpcԈVBO!9~ r~C^V8]86H _ \գ *qu0.4)R?U+R歔fؘ:pl+SL qncS_pa2'IR01* rLawxƅhqi\9_F8 BSA0_͠ 5A,Nͺo*oX}.Fsw9;wE>Lpd.L(sN)s#7 9VA} csU h(d-ns4EGp.\]ͷ*痝LpѮWh5 nǦ#1%WNocG60H#."-v&Dq!̅9H݇Baw8 cvu _k \*'3y/HG p@mE8k[%X.7Im}t4mOdrNx{oERjHZJٖȏހeK,A>Fgt|s&}F4= ̤jDa$U8AڐB7ZHyA+AG8d!c>؏>"J֪_;<}$C|hN]emĐi>۔?My* osM÷λ؆-XBw^o> <3wnI^РHElzM|8H(kdrƒޱƁFdY'yL$%'Վekbpo2`hx }H-C2#V 8\N6v,~r͂˖Qw&sGqԏoT\hn '{GnvX2WIy:&<Ľ >` sVy4ĭ6O鱏ܶS+p%//o'‡SyheT;yRD0Q]-UPur%KuDUC'\(at@8' !ܔq%;Ynь,zrO45ˍ}O"SB.JWS6x2Xͱsd=!Џ n$A8 _ N7o?&6::舞B@m%-4nvqB]$7=5RgU{臯'*PrNQ2C< Ց5}>%u`(+̗9I Ȟ|9̳L%aH)! ^ woHx^&铒! XeHc4i{EQ5nu>:$nC\ʛ2p;(y[и ͏n|A;[ρtϙcn>gvρ8A=]ENQQ.ѝpJ~=a\?^o,"+2?lcf)6\Ly&ȉM#<r7\+;7]XX=* h\6iKX2T`P1!s?EMW16iE6pw -"8KgL]€Tʿ7̃.+$Q)ȋ"9=Yދ?B9O;'0))bK~ROA+V?X}tz38SHt;:6:+gg ,R~`Z/$eBCw5 \[7VO7P&k F|99B<MtA&-)9,-yh=ӇrKѓg/.4ks׽:P_8EPG"j P頨DUĨLpzT }~wS©adhtPRo+=kBʅnD.9b D;>#3<٫5 :ERvDoYd4>I[6&w6ʸKkAogbH$+ۛ,D8жʱ# 6Tƒ7J,m_rVKp?^ NijA":<@"ZG&\,5.$x8,a!&te!'4q_'ؐ/I?||&N ]Ƃ$cD>YG-0 fH\]Qm#|] ,]>Eԃk#;])X J8\t` |XN.@U yuc/D⌿0O!5_ļHsj5iЫBM=3@jܹoF!\ϊV9'2nFSdž.WߋՔ{(2{Um(sAN`c@"v_Wvo ៵0kBB StvV\ueg(IcZ =GYy`+ƱQz* qt;bzf9LD.h(|W 44PZP*=P`@&j{sa+3 .&zLAHYdoV_ kz%OrHc'0v;Z}DMr&S-5 l>=d-;;4 Z`-W\K BHKRnHrW0۬\ i?`. 7ݝ!!TtxE؛JQCEulsx]uMU@Z.<#ٶpjk-f3TV X:7CwvZR9!ub4J#O=V7C/rM\@l؟L bʾ)v) w Y}3GǷg"G{ޠт_6ٞxˇ9(hEiM‹:'V,?Ie^įYQ+(A)"(xA=a&ǔA] 5TWQTEiwk;ohDq o!IbB0jO+Rvعє6z,H'S!5L V#Dg&߰%Qv?;$72}y؊e!OqbF5R񪄮 ' BvplƨİGՑGFbTJb/Wùh52uN먓k6h!<2p i\Nʌ5+vj in /[F-mJ, i%ZqVM[+顮U nz#q'W4u*ISq-mm:Ǽb>_m1QMC֣U+ℌK˽FT>nՓstacx@Uڦ" /'y%l#>jDZ28<;"{o:h*J{z= *Za&hYZ3M/[Lx٥W7wA%y O5AީQh)2ysBq X{E/A%f ?x$J`sԶhNa@S$cl0Cիs6mV2O*Z#XJ7UIgZ]Jb Ko4bI/qGJ€(YoqȉekؙEmyu-HD y1f僖=iTގGn$4P-+ibuES-j2肠4P4QKO9)A` (Rs`OQ1)|*p)9_/'/F]R;Xݒ&= Tw>5-D Ef!z8No|~ luL bq |uSa>tnjn$b$ sM|OZxN0즯H H}/6^q"c@dbغe߅)&jL9 3+P* 1-i"K*PV2iSɑ6@zUTZ9bMKTMm%e1-6[17f8lpZFM\[.Tcaszztnw;&{9g`!^Ac4g>9 NzG@;:>띜?M#]{bRi<;Ytz'ox~c|~XTɚu''Ogka=>wOGN/0O`;~tW~iȿg>v=o0kqrtr?>}cts"wBk6h8V|`CAA@î-BѪ&Qj3fΫ25 4դn1hPvADMbE}o"16SaCvʁ1;50}&+D-!0x}7yIh6tre|:kf<̗Xg2$s%:و&1R6]t3x G\ vXvxY[qx8-~h9D׺jt9~}Ĥ^)}Rݥ8.ݨjql^Q6Em%> /N+X?,ߜѢxQi0qk/a6)mFjby#\~ &`"s?^wj0 D1RGk8fguנ ~~2/}ee Vd*BvlRqZbkzq <uwZIn&G]j&DF][ ~)u!cMAa60lP؀` @8c3eDB,q;BpX9r=V7.+pPKJMd\BZ?F#jPNtOzݲ0naw-[6?,*u ϖ~]ѬTPjk_:@S'~ҏ_[k@/}{ wڰ/zkd,A šdoq>@؆x;҆6l'7.?}p¯xO`a}Lp6TS؏) q {8A6Πq8C*/؈qv/llͱ`WcXl]owނ-ˢڂ_z.m{|VJjIÛDL )ڙ+6;n84RuAk;.BGhQBA$5!%wZ@zi$t8gz*. Qթp; [s߭앝ht9еW( f2d ʼn:/\O/k<,!Z hD1[r` 8<Ŗ wg/UUgkXx v;!D$4L۵LF?ϤZ-ri:Hإ,=a>ՊDݢvE-{, ,o Sf@'6k&M(}ss[#͌)M=5o(J N+9 Vg{@Yz3y,nb#lXFQ>ekYDU ̜%-풜|ʻ8<, GJrotpNµTjj@uXt Se !* fKZqL2w_^_Jn%)&7UzJ[fܬa,uSRl\.hZ (q(yBbI)H)NC*^-` dD Mq |PN͝ S(O2:gń_yvUxP/hFx/ lʮA= v*#aW;ÓA dJa_[x)XffaRB";4Po6?**CL>6%Z̍ͻFG E!o!.TMȲtPx͜wksCw|\.z懷l+_ĶS[(<\b@"/Sskί 0E[6r*v@'kl -He\)Pivs=ࡪpeH0~m+ ߾kR WF;XeDC9Y Ts-0D*,) u6T.m 4d?/̾QcfKh6`$ԗAP%V+1f+Z,pGr{2ҹ gtc@fҫfǤڎQd% s V lCӳ&Y/ARW' Gi E0DKW_ LwF@dȀzS%ݷRؽ~VW3sn9[5t\ScD6"XJ'\!hyHWIO WD *@MQjYH)-`gE b94r;}Mc{0eI%% H=%3+|)|dhʹer;g_H=ξdR:QF&qGHK :(mC; Q+x[DB H8/x~%[KwD\`EqTˉ|Betn'1e^)Dj9Gyln`Ǝ-uՓoDWms#,rPk\!GZzh[mRqֳݱmROaqV28qOU/`Gjp܈ӊ̲YQOVk6,3!\rS.^NTԃmFU>+Zuvo_fTH2taVX{qA YJkP0aǚis(T-cR&,;vZ]+HgԍZ/qiJ1Nl V 0 "e|_̱ @3itCZ < $sOƠQlƀ NNXE]H arn*7YR0JOdETnC }e0 hB&$`RƠdf##3!s^V0e"JhF+iGM 󄖟Y\'-gg䰹}@us`*M R$?'RPfzʓI Qud%G,J\%pM0d\ O*myu%V]iN=딣u. ;<`Lר'u E^c$*JC%LHtЩ6Ҙ(Ws!N`cc3qlR*j L@W&݆6s ,BC?Ov@k"͸?2J$۷`Dny|04gS8͜ݛgGPw =Z]{`#%j]_23Ę>,, 4nA6Z<35hVe?$\#oɳ2u+B}$vZv{on/;}.k~u۞x`>Dv_Ux=+f\|'lهZ|{ov;׵`;˿]u bDo*_Wo_v9B;.VϿ{}ޞOkC-2zߌ [׾&cdA R&^fH鴖ru6x ,>^?άz˱k MP+__G&w;$?<:T l2GI?3bb?v)uczIX?#ᴇrYQ&X!x\ӼK7&->%'ƟMccM>Xwv0T>Ϝt,>4͖ o6Zqڠ o)#$5T䋬^cy> z|LV;+[8l1?:G^%'H6sݱBxh sکqC~vc5*]=S=%seirsplus-1.1.0/dist/seirsplus-1.0.7-py3-none-any.whl000066400000000000000000001775061375244156600222030ustar00rootroot00000000000000PKQJCNXSseirsplus/FARZ.py}Ͷ3/El泊8O&f8GS Mxzy.y nfS4fOۖ-mCQ@t"b4kЂ,yvi׎z,t ?!@|\zJB$,d]yƢp~kL #JpW9W DžN,U؁h &+#K)+MtzEĦy9LH>/DH|ԲIA(u,S\y,n>yaS;mSw.vBy ktƳmJSȈkIA? g(*X(Q*36SAAqbaZ(%G7qy)T!1q XSPc܄ФR _ ֤8Kp^[qg΋㱸fvƒ1bnzqD@TuSǮ|ʡ7ޤWqxV:1@k r=SSRrqG.|Sq~ܧBz4(2`z4/ic`=Mqs5G$Ўf¨2/֜dg  +z=U|a^EQzij˃Ϟ5\B^Z#edQĞ=fkjL%:uX1jjQjrHwgE-d{#0&@ XeZ/sڞqk2> o"W6EJ-ALj@ϋEgXhY[c~L!Vh4).gši^tU M/^8$`0y=,FGfq]S,WۚeȜ楨v׶>_gjU7DVČ ^b{ӎ:~|v,iXO/y zO!FD5ĵԞ $' 1˿ q:&BD'q/A+6D?RKvh!:j푣"kqJԶ2N-2ݘ VnlӺ͑i#m( KG"Gڧƹ·G&3ʹwP 6 odj|o$HQPƉIa={KJaKvo.3i OHF"DSqlocRU\sxpKn~qZ,E `BEEayY0eIg)-/Qߤ<|mo&2e 吳t |GA!^S-VM?u%kC}%Q`GH`׼t׃N ~%$R,4Kq%e CIRz5.* L >%bpi'-2,x(./o~ڵjQ4ezvM`$Af6{)Y'VϺ0ɬƗjj\q^m4yR%][X.J AfQaY"YW*߀<Q-f-=1_kXJWRKGA3Y@ u ZM Kv̞:MzTiBHB)Z5e} jp;eAEEUPy-܆KdipWԔ }VZPgpd}%3Kǐ 4wG0ˌJj!nwf<4:̭mI[20m7 ![JQ_zD=c^u{QѢ͟_-^䈩$hIm\-t tp3v)Rܓ s|pPQA.V65qu.zzTc粢Lv<=F#%vF(Jh~E5<7ޗ vfEA5⬞;+  vQ4mpmyq$(Z۩0N @.j2n>qҶ3 |s6&!|wPNR1aJF//kGB9ќS** FaNGŰ(N pM#[G75R/VAj!Wzzv aӏjȖ"}\'X]9d> gdƿ["ECl n(ㇸe2a^;/װD="=w(F8BEd|r!Ş,qX~O lS L5sD ]y Z6'^)Dy_%Rm;C׹h7 ?YJ:^!F|wJo^:H?w?9!):$g-7ԧf3x(b6?PwoOnJfQD| ƻqa8K$i H8@̆)A8ʝ^UЭv(c.-I`s\7´dؾBa\'t@5,.[.@ kX ?CYR H kW2EAz[HxBMNMiL#u~6\[O0BülCCьO 8fQ($en$;9W]#$cVMRu 947A/2 ˧Vtϭ0c7!6L7# B1]軅! MlϚC)NM@j8:( H[+r!{:buC @W-L:Qd6MC+㪊\/ٞ;jZ1t[:K/ƶE4phM8oێl: ##e6sDݨff snXu@|4kn`=F Y5IfCgo,"Ȯ 6(]{3~i/41oͼ (Yzn>X`ᄄo7@[fAd"0 <܅Ypa>M[Ӷ>qqhC1  4 R(Q O"1TˈcAϼ%=*V C |L OB^u /JUUTZ'5%k28_l1Z9g:3yz.QhMF(lp.//h^`9J `EXDq# #~;zض 1"f|,tcdc !%Ӱo!K/L吮~Fzv!+bR,3Z}l$xC>}:ݚSh6o5 K!/EƝٝI6g[Cā;跺@għ^u;X>; nj!C#:Y8+', Td]ߺ,VF)ϔ\xijrLsd!X5~nҵхq7NN_;5wjxjLqnDw$A1}O!>xj}u]<<<;,=c=c71On!շgAL~e|/PKLwPseirsplus/__init__.pyPK Q.&1AOseirsplus/legacy_models.py}k6 N;)IݲvboFI^VzӒַz(jqM2ICI$cG;kC-Gqj$  mQhJ~*\ס~GM=O;8nd哷Fz;@UxzߡɉwO Z'\_&_}5w~g6?Ɠ̋ X4V$^퍾l...+H#+wJ5R/Rv ݍ]2^ 6VahV;Ŀ߹B!?x][5wwR[E^HKq(JO~bOC?e%X4kk6_j(Z2˹Ã#Ͻt+eq97Q%>Ab}k2V?(ɋ A/I8fq `\El'G 1~Wnc?a#}#TPK4*SCMATB :m@HTv(vWXbUn)pA`^ 5hJ;zʏ6T B© B,OXFJOlM]$Bߓi`W TECdk G@ H7koȾXtQq7}D)#nXC!GE& >St%jQm>nnE6 psx_ ,ev3@O++AbUHF 's 'RoS'@Nަ^Nvܦ]NFڦ:8dC5^`9qoDr#0zK4{ 9;)7GyZ,/HmPfZ(8U`"0V :a E -oPhr2@N! #fFA"z08-ɀ8.8M%nukf뭿{5J $ { >2K$>n=n(]!3⭕#;+in]kEy7w蹫7f_ Q bk7).3ѕq82c#LePS\J[׬̴TWf/CqzYyvgĀ5Ly³ ڽ8rPs~E׷.ޢ>{+c 7O!H,^䑣ntm -p̑hUC3\xȉ* mN^nxI7[n#LLq.ٓ.bd};1om6Q 9lo5[(C1#;d{bH4Xmp^Dp.9 AC?p?2B/NK(GW3.! pr.@–Xsr(.1 u"@uÂ1/7Òd<ɜ2*K -nrNpWJ9">E""37a@rQ_ZLєy {!5j_k԰֨]!ܡ&ޝ{BgDVwՖ\9E;!oX-T8j`}dKA;s(PmtVtH* ԫ {/\¨) rM'!/K , E*Nmm őF{py'FcoGnPÅGI&CHwd=B# m2(ǣUyCQKD1(d"޴$nF!&0 qN;xJ$ Hi#Ё#}~YBd(-˦Zj+fYC{lV@ax8w/5eþڵPy7 CŘ}!P ^E,|nUl='nyL 3bb6ួp6Rz#Ge 6[C>a69^֟FfJUFZ4tsQO_KǙ%hrlbrxI;U$;wRi du M0mF(؁XSN2Sa0*wBb@:To+շV[o~!Ёe,ij.ooFRFQl-O+g%tG+/I2Ӥ+#B(#%"1^(fW4\x0cE0"n逛!Ni![j(q1j 3Opo>t$0Gb$P9ĚNjm]^EE<\:!X6F1uH B!u"*=x=&^O^T.!tÕ'5 ]٧$\^OoD0?rW${$4z{w2@B<GJz8vƓ$E:62MrLJrLzgZv;K6L^0`ӧLj\-Urk/=,:,i kpDQ瘔NK?"LD5D>Z)&\[U]7\zu6O=kVd/ERWp.z++ Jŭt UKP@bn6|^Tr5+&s W,o]{8x{2g -9Ί׬_Bc/5s-y9(lY6Z (39vR֢Os\%GC2t~PQlbuEOCKP:k-ũrb!0Rn$s{1_:g2g1/⽏ݥjd2 uj 5dL@,",qi4;c)$yj<\T˙ Z^G{9}Jg$ԉyڰR[OL'D6iKG YI>T:Î̶e'uBag]`>L"MݹGy1Az X^H'v>;Nwn}$r?B#DY+n{ EP /[ԉpϼ#Rr6&$[W};~$e;=ҍ,[?5 #4g %Y>O۟: _gdY' }}\*-z2f9d0wLӟPp"d;tbb͒Hߊ޷<xٙBc7Km6'Y噵f^]*ϽkK7Wlv+-Bι뜋γ,ա{xu^8$m]FqHkKF+kX'q#`:'x(%wXbw;uzlk/كn =xhTQ(W) (؍*؍,]a|Є) 1U 'XQ=!^U;('SQo_BL F]atmvm/I?T-Ai!p5$: 9e2.FLen~>U-_}ȭ凌lSE7T?( J(os׷U ;p}s69ߜLg\ߣQun^ъl?ão)کtZ7ڃ_VHL#1)]A15L&X: p~6=dSɦjvN9ꔔVa8t>Q(낣PO>UdÞwcz~@Az1dn\1 }n ۃX6XL&@Oe= # [/-E7ݛ~m1ٯ3"]0]0]7L9 0"gP2lQ#~ ?2`ď!Ga6*=Vf)iѾ}('i:?R:ŧG<:<=sj0"1ek o:k/,sP@qQY[> 5%u  O=Ǐ>? V^X,8&82h.; rCX^>x>+{wxt1JFJFJEJEJBv! ZNi4GLQNˎCi?iNBNcӦb?)_iq]O8{H$q"'NDGNtDDLD/fp 2<r"^o{{]w00y4h7H&ES@JxYd"&NyD4}(۪ݼ-<|ܷԬatgnV=Mpl -\y!ԡ'ΡW!.;4rL0'yNNL0궃ϭ8LK<5@PTiRRƅܥ>&/pڵ[?vIWn'_-.)eE: C @.=a[SUfJ!WuГvi s!3~9>~XtF!-{AMN crbiE:8crOffvbOo)j!?P_UU:ճ&]-s Ȥagy^(G&<G !x' O/sO67-э9awFoBxƃdrs.mA!(䪑J>ZB* V5bjĒ͈0Z!êF,Xأ_ڄK1hRld52G}hP2Z[ uꤲɪH /hP{ To}%"#LZSt_2k[j}6/@i`&aa,'#UlL 5^ 14p kuvD-xKV]]8=gnnX.<Ѫ&Pڲ8'02p NBڊiOjV͙Csci_RY|;ӎfԢ\•mKVEzZMڑoҢ|zMj7iGIMj%]%~i%Z?ҙ9+Ԥ5i:7fh}O2`BTԍPLkւ @u@zF3 E. 5֦cU,FEUC[AV(=*W. ^4I4_A\Riūc[Z3uq5ƭwqI'WfmܼwJt7U gG;uq-ƺQc>x$;`,k7Oȯ!G6!]B|u :{++AH*Ö~zhZ}EzA!h]5Tu<*h+PTєSJ͂TōA<*U_YYo~$fP*zOxڃ}nsG1Mi 9Oa>6fʈWvZ* /5%$>.^נ!AhV &w (ۖ [(!8c^;x  u"r=u? #bfeXQuorċ{Cja^kE1Ljn@bEa8PWb5:nRwJ@J(~NT"QVa<-lddޥeڒqhyf6]A݈la&u99f9gF¦AqWP7"[Xb[jHW䕢8ib7NkY9JəB*X?EMrܾl ۜIfi~^K w<5krh:'~^^wPVQp؅(IE:ѧ;E}{Bw;َ}@Чԑ >C<Ԛş~=7bAV//OA#m{w[8+O]{׷v"9琐[%1-+LRoI8jvMt2ڭ1T2E3fV35T3m\7Ma#0'%-ZUВ6!|oHT%[RWGT=/E5D/(ۑW)._?NOBtv3蛦X(T)D(|g#ٰ|WaBPdp&F8Zp#}`$N3#mZpF8pJHI|sst-s*p:"s"NP7."i4T4ZGdz"vy,"oJhh* NA|>˃'8Qo u&2j[J@:5ut4‡k?Ӡ{ˀ ehѰsjk/xs& ^1GvaXfi%[O吾A"&{)8*%Ҥ&%ܳ~`(ߤ%оiE~p[Vk/;SaadI8 ~`T#fx\~ cJZ=]?$oAtOQ8޺`3B_d~mdC#6I<7^m(FK܏_5!z2ɣrrX!)grl5['7AMVfV+l~+yw7=8}o]Œ1/xDNEBv+]]`|;pW a5p>n'YBr7ѰwVBCܒ+@8+W d{:yI[f6o d,6tm4U8]ӬBv”U:ͪO[g+6pZ7jmjxfίfL򿔴J  _wPIL7iGlZ§^g=$>>S:\5W]Wdc;ytv`4lQv>0rY:uS(YIo.QR(`)s5H@)]O# 1zX#K$lvuao%<ɸ(X#Xg$Ch4hVkdQ"f)keZmSk}> , %7CtaKq/h,3Y-ְH{@PLQGbip": !rKif>[S(tbm,xG?ڣ0sOa ׉uXZ{G`4)9T SZjrP?@bK+ߓ7t.`%+GNV |EUJCQ?TN7;+ǎ(ڏ%'XhBTVKIe>ŨaaĿe "BB3dPa&Tg֩ܜ݋۬ȸ"*Y"_K|>]N ԰zuuH3#~}l⻓Hu)oڨFb  h& N$AG'D_$5_}65 @Q4>#צLΓ/RQ쒾heYַ6 Nz.Ch$Z*6OϫWˢy«'H?(n3|,-1ھH/557Tjg0 E+D _eT aD fRCfA`9Z@1i 3Ղ2ystt.Fh}=x\N^O'LNB+U 4쬱Dw1VQŀt.Gj7%!7U(4#%w]/!dƔ켵EȀkM{(;O&CWRMÙtHF.9p^`wN d &-r$A|W_B~ ޽IAPx-9g{0$!r; E٠om ^H7"CvHq Gw@oGÖa:a I?4a,=5S l<JV8\ p-I]p, `#{U+0*\d4p]Phy]dp8 pεuOH&B:bqo!)1Q6Rhш;EgϮ]a xh^cď<<Ǥ$Ǥg&zfu+ktyx7z`a V<} &\&[Ε-P?RaM Φm&eoD_N_cRck$eK?z0)}#'Pi%wL[brMVu㭭7aG4ڳjwb $Q|YݡuʞTs012@_笢)/^18O|L$\(A>)?H rT$7i*I]':'%h%7i*KnRGrxm, N|4.O:K:6t禂m`D;VDGݔ/=uIwQE2je,ゎ[Cg!^]YpA߭#a>[=[R ; ;H$ԗ7y6ʵeC<,e59^Fdg,'YS??+L+YSɵ^r:%7InTruK$7JnTrm#ܼ q -9Ί׬_BcT߀PZԖ<Мwcv_6Hu¬@e\JS)k'9Dz.Qגx:?(OOCK[1:"Oފק%sB~ٖa|Vn@,94q&{gqzu϶Ub2>>v;wu :H2O 7@1# d>J3ϥYҌsX\uyz/g.hl@Y#=U>%~fmX@'"XDh⥋#DӒ>T:=]w1OC|?g@ݝ{'}l 0ᮧ@_!.T{mӨ?3 jݴH xF ܳIwXߠTA^.xvAdBn.6!ٺrVvGXb?SOV3~,QnyH>ޔؾ~.P y< 8>1OB@vŚe<SoyV3qab>zXZ:14kͼ`={ƿ?b&.;b}Eb_h9sayeA:3p.3 (im6hUy[% &JI֧6@6K]^mኂpEA~ ?\Q ݈ʂߕk 0mMS<`zUB잩!U|0%)*Ĕ`T+Ff6{ CuRD~ WCSF9/S3RjB\/Ld/\6)"Sdw%c s 9ߜo?aۨg{pPKHC Q: uBmseirsplus/models.pykwƕ(ݿQCRT$kzTk%=9git &6x~]/(<(grB'-ڵ7i!?rE}^p%C.6b1ʢ$ߧQ*R_qIOO^a/ {"^ }W_}WZ?.f?xlZ8Vl)Mjda:㯀GJ䉗EiB].,VL@ךz?i]{蒍A LO$Cf<E@ś?ѿjN1Li-EE쐭}E(g'3>s 嵷A5kYKF^.JĿſIRD7!fޗѰF9G&ZMcu l)wQ[#a!Ou}!jf=ap r Cf"D jirPF( 8$3'K_"1bUA7+,*y$0C So V{6KRGPk6TBbVmXAhb(&(y`~"D Q_a7T{-ruA_.=l!uC┆y oCӿ#=H ||HpEn~6Cd_eaR'}k}PoOQCP! 1KOh =vKڏOh.{9R_ҮwB`ޣ/AGyŁ ﮣ <=00/faQ 6:2¿0+ÿේ@}*_0@+2փ"+з&@Ь4+PĺQ6f0dV@lw2]" +s?OaGf 䜅b<uwI}yQ~tpu;!Esft;庒!F #%: ՃٷP=@zݴTgV^gfa^kkq雛\׹2Yuܜ_z煜37D-3W~_o.4hӼC}Z`|DlM7l(FbzQD}4(n؃[V}Pg8G/N`s(wh* uɚyszf|=i0z$#AxHNx<#a֦|]!;CW'Xm#6t4\ I&u.3o?CvyQp^=]?Oszx$x:G)).H'YN7*S,3C Pg<`Og @ft&y7-U)ȆB_z"&ϔz"?E EB#_m Ǒ'{8xn Š0Z(x`2Î|X &#? ᾵,<;*&"<$!Ma'*`TB:/@h: ^nf1f^`1 W$8E\JmT#v6܀6H)uC/]P퉇jG< ث gg(^WˢE* E1``+xh00wjo72GJ|p{*?Bcwd7t$ُ[Eڛ*M`[&ea/( 0!Bn%7ke@DSkP_; >1ZQoj773֛Uփ]G?5gƚ8FZ,ShgȌcCh- JQh~XX'"! ; o8|ǵzmKi:g|tGX>Oa!\cwد~V0h\TTrS8(':%=]jCu3 ZSX݃\srݺB]]ȵ nP;XeVuLj{Tg?ȃ<Ƀ1,6ц/,!sS^ 6r ~Q(:P`d4#@exJ-AG~TŤ[PN3/ҩ\WhX&Cߖ*&)w4 c " OU(4'5PΟ!>S#0d.IWњ,ߤ! ]ޫ@2t!՜z܅I?Ue.Gl6A#u >TJ!?o xM)6R|o0΃{Dԑf ]Cmtwo0Gu2{o1+|7xY^aC뇍:pвK?!rBqw!vގbgAn&6JBPC!M!I8LpJ֚zqMřj_ذ@j@+vn͌tU@!͝!͋- FH gH ]Sx_Ț(sUv)(͜R|`bV x )hp[ znF`{UiE@_yt%V!^= BG7靟oҍvvl[;3g*$]d4sRl5nD5^hĴtLh]ޅ<ڙ(,"z#AWQ`ʦbЦ"Euٲ V6|Y)꿅i-ѧPZՔB?it0tP2QzJPuOP _ 'l՟fe#gW{tB(j~[h(!(S"')QjninVsӺOMO+475jnVs]oܴ榺PP/)N|>kwue$w -*?/m5fTNQ>E) l7=iv\sSY_% ]am@4\vhxV_,3XfY4QE7@VI\v̕jQę-kY18 @C2Lq΃9CG}qB s/^C/4u1>i-!8Nr|n${ߏ\z0ǜ}к W_D'\4.Iٰ@RW7&X,b4 ףּ7P>ӷt]ֳoͺ^A>l#OO/ j&|($d*a[Ց+Dٿ<^wtgr+3!p*d}=j,<\>F͓ B}mlB71G&IG2!GtBKCÙp} >l!OO~%|_$9 l+R`\5t/B!d&Hh8:<|'o.D;=L Gn(!C/~[%&Nhla < k8QG6=͸ hŎ`Ww~]/ty8rxˎ C$)!LCN;nJf!/WXzcu!tQ|4)     " Et[- s|0\U0?0v/\0U򻁏 &.V̏=)=?=? p!1ќeJM\֙@o|Z^(|NS׀*B" WUX <%np 6llO6\/{IIZ+$I!ȓCsJR J%%eWa  WcѓGbMP8G"5 Y5^?4eAj#QHp,*"=4{d=D: ˨hl:yY=U F&(rN KiSuz{JZT06,r kD" c#,V2{ֺE#3孭DY;/R3l55dIE(e| v.\D R9Q 0S_C&lFXN^b$$nX^a[a3|E1"91$$eo OEoT4aB$>/I H*ǭ7LzcTq:HtQDsXN1OWsy*#dV9peΖXyb,td̳cA| 9I4}MP2?*,`!9#?gӟWUqבx>G3Em{c V0Ooο+fp>A.݂ BCKhk~p;/|qj !ٮ x::yXaO.DX*U0]ʆd\Lx<x.J^(;8P#t]wƂ30܃!EAHnrƢ:zYRbW}$LYGjS]KA VI@$~(IMwow3ws7+ݷ;ad}UoOBv4xܾS~555wF_NSL~9/KR7͓ T9s9˓ L9wyU y,l0:̅<} EMΑ}ߪ'epɰ!2#_fFN4[W~tHJ' qC x7n=UAM}VV",&!``2!6qgEUd_^tI2 RӭlB]`!\-x`WbxWL28 N JKDY8}I?CyM(f$|I}8ч_tٜ;G7|:RK 2g$l@ȏ#Mj6Q'nNMkt9ҿ{[$}5w1s $5㴛;?u~fНb\Oz||)tlaMG0Ov4#۫!_|=IǾk)yFk}xڭuqx+QA m^~A"0b,psn`{'VPtbZL9U2ُsV'wRf g 鼱iip n^{Onؑ.HfƖLMBX,Yĥ@Y2SXP0R0/c)+"#-P+'eLN.kPGE#Ȋ(Ùr HЅd_>gS眩 ; իZ;k߸.[ձɩ[? 1 ;"=C& f+uFb kbw P" ?3h&9˗$4i"ǘGA}攵%/&v)y4I_#_pY!] RS%5ͨ#4!~4<y>ne3Q_y"9/!dkbzZDFky\z܎Ec=,X~"B\WKoˮ? B0 jCxZj&4 dXB&zلd6 PǕUB7 KW=}c"|)l_~߯U&Ծ 7KP1= Q:@A 7th680%.0#F &Y#$t9}ReP&aFK:0X,J./ZMG3!Zwp]o_M+1[cCC82)/$φ8#߽mr /A wp㻝cCCd;G.Fz8Q M!Z9x]139Æ$i;/3!)I8إ 4S:KYlQmta^>D*aնJvl>x! +etG vʴ!Bms(D¯? !e7iDaq@8y?8 ;qq3eL.t;#gt<09BTB 5-jf_GN!\sB%|KD61)]'~2nĺK* KЉ$'5E;cs,Z׃h4BeĞ>BB0t]zw{B"K)"л$/ Dao/χ`KjbU]uE\Sߢ698!GITϺDRw״|#3+WKwc/>3NZZ $+3y rRTK*ޯe̾5pxiP1Zy.9S_+͎lN>@.i7.' "8; D%;uόf"L7snHT8x-$| k)=EN^ ܗ "bg;Z}hP$:`C!7̟ Moc2%Đ!K0_!YIU䫮WI -?!WD"L eX^f[)zc俏Y#\7;(ÝCXJ̴sb q+1Ή1;'s91ԕvL{ӱݘK'r>t.C*"~"CxJ tZSwzQ:ioOmKR{^y$yAao#t@Jn1߼urے0A3Vo7X>A#+)0ͼCu,OCNriz.<@+N% bGd<eȓ+|p}ԭSy5)m* -4x $]wՓqIS./Pґ[+HP4jy?)0ν7ӗAԒ^ў_%(tF( (i"QjIk8gqjj6NwCZ'Uo]Kِa[z"^(򝹮()%gsVo5K<[N1ȻYIb΅{#"{|pV6GBWyG:}=ۧOeQo 3$(eO>ngt6b2IG*pJCl_u+X=ֶ#6svu* ~DY=.mdzJl4Mn;&MIӼƻctx=0hK>eڄ*MuHU}`Tg᫼ʨr;%*w.\u-Zɦ@cVK@)A<mק0QOPniK`-Fa}90B~KZI,GuEQmUN*2 `Gj;HqHm'Qgƽ!w c\wINzyO#5_QVRrM=w4vkz m\K9 a)GA0zϗ8sӐR~Y]!ƚL !(=Dm3F  u_ey 2KNOV4A3a3ɍw014ޞ la.DFCM inX heVg6HDJkT?K?R/61E @ =r8NUixmpo,W;]l+zYAmvK }u(Xu<'|f$g|)8l XI~R?mͦ/6\Prx'0xeT+/ HSi]H3Y](s=󺐮lBgtHr#,ԫ \2.+ZMI 1BHqbF1~?Wgi*` WߡowC[%$n Sb " {?A(Vi˒МԼC O˜]њ,ߤ&LC4^MG_utz܅I?U=AA|[FB~F;JSuއm8R|o(V˃{D]N r(. ro-( y+@'4-';oO Xtvkc>.1 HAv\Igy#%Iypj8 9P΄^i #D/8ʂ. v> QֵAFpQEz_0XܚFv֙(Rmj1^_FR wS|)+ P?ӊӁ wK9 .pe*9񂇻T5'sMޝM{g7@F WU% PWp1e 0(# =yiE頕7v p^B(C$HgԴ9@iZ6i&IQ]xBF0j'O̺bc vTlFdt&=JzB=A .` nSV1rv+GL't3$&o m7f`_OrvУ LTܴuVhnjܴ&ެiMu6_R|VI&*[T/_*k&̊Z}Z6S>~4nZ,w.. KJmM۴́5<3hXff*5Jm -t̽x}:[U-!8Nr|L%ߏ!`q{`2Qq=3}ϽS+Aۊ'܊\-,1DRIy.:v鶿E{ Iޮ.U7뙘)^vt`v.pR}J$IylX +ś m,1 S=aH:x΄kg~dO!z zT=c>[|8")IAMPo Y%Lwk:r07Ë׿.5gr|UgVi5pAAA.("(Kݟ.H\f<>U@j; 44c`]_Ή{(Nq {ec? ٓ{7~9>a-~E җoˡPgpuOyOߠ=@;=L x(!C/~[%&N} Uz)gΉ5sXtb˻ VuwPW:$BĎy8Îs((P-_8d0KҘb/Ni1DD NrRzEaHŠl@G$x⎂ᎂᎂaᎂqp*Yos&Ys|T+rؽp°W>7̏ [1?0X~b'(_Knn>> >a^+ 挴(S3ԵPP '}BMLEP VRࡄܗs 3g``Îbzpsjտ7@EI}hOMylZTl)MWme)~/I:ܲWON}o=R6Oح=T$#2Z!PQhaLpֿl,7`53tie2v(ӒO}u20v΁]Hx vQmrlq>:9 `8V 4Ht3=g~;Ȟw`(]E;Q}쉍yM؏0pY047Ld=4.u=\` d[P+HP㋵H=a~' ^-vF*A`jI2fqI-r.6z4 0p].*ԢgwYAc 0RS$,dqU]g'1@`drcr*WR#9/J{{AF]ᛎE?T9=+)GWH&w9Ɉ#E$#n5[(KȽҗJ79޶U+0j4Ne ӭ>ç}Ґ,7-JĈ;C5ʬk1vhP K˴g\N>>h#N5"]';uwp oUxWS<UYV[Vk#:CŒ ΃Hv_vD5l=#~"UA~p=6]"l#tG|W7FzА[D!HCLNwa<ĢU~ $^bpZdPQۂ}/ /WVǦ@,`?WOg(/˓o̜Ng}aV?52g_k 'ԧ_ԗ"G'X@il-lݶ# 1kpqWX„U|R\l?R =!-ব@%2bjEVp6:[j/҃g7NzoLk޸r*Z8^Z/koo V!xz㧈T*z7 zgNUp 'MB *>*X)Rҳ =a?&v1~8 +PNUlS>gvJ'.OjUr4C't)PU z BU3LoL ٣){4叐scWSǁVN Ÿ!9%?'OGB֌`(֌`(֌a8֌a8֌c3#B9_DuϐzW_@x"ܳ ȜӟW $dK ٣){48O>2gy7{:z'U+G~"Elz)d[wazxߜ'w1"k]%H o2YŁP%5$y#F8n3X߄ы'T`% mM-yB% !QQzIHb:I];BdI<>xN-ۋ(SڴY56S֮F5]7mެUjl"vij7ӛLolNTTkfwIOalj$^~8Ɗ' EC(Xۢq\=Z?YAos3>pC]$Bbڜ"ޛ34a-YyR %)L3^.ef)t+G,tWVCrԸxz5*g?#AkOj䚆4K8nZ(Z<0zjӤX806|mpƂs 62:]^(AQYQYQEI6Hl!ILt.ֹnA纝\pUJ,if~ROJ(w')n"| qe??.ょ-?=.ڽ\kSX Y1gQG(I4t4٣F%+X"^I xPpHc&f7{A˴EGWC;EYҮCn#-֡'ꐞ!A1=1h7얏AU>\-·:L9:)irjt:߇ }ڹ;>m C<:hD{&țޭr1P3xNK~0x0/"T&CbK­^@t2 ,`BfL"+RAG'>'x+R%؆]D.Px|qe{Gx:Rzn%mgI oTwM#m lh=L>0ɉ<-11Zk|o_-h>TMe _w1s $5㴛;?%T/rV=CwIsyrӛLTCWp%lxtowrQޠZ_c⤋cݙXUy@k} uNػEpBgyBFp ݌<>Nl nMhk['2iVɸTg|sx6qҸoI`&_&[a+䈴TDh(V0Mw4 ʕL0Mau4ƴrputCG>3Cf71qgv_};bvlR٤CfMJbˀsIR53p[zR+MaHvH*RH; i#@j5M)!;Wa62M1Hn.Sf%_TavUJM#ӀV󯯼Zp~Gqv6bH4y>y>$_wX؍u j9HW 7Lˌ؁8ȌW 7M &O. 9MPPNpM&QךOW9ʯ;_{NIS%=logaP/hUVn\4Vyʱ,r=j!R[U=8Nd&@sw)vSƧu.q`of݉q C): ̻1]w$ü|7; DXr_+c`YJǿn8(nF ;ZL;:9'rr;B+98;YˁqGxw[θˁqGxMz&jCזsmJ<Ɲ㝹{S0eu]UЅyg'|=.;;:'tuY]Wd\`ske;Z:a!AJc:`_s7'Y,ݬ&&^7 v  iNլ@m),(zrI]Ebedɩ' ,xpUr?T*|hO>@⢑.nN*!qD'i/-P!1!Qwtp$^C Uf.t8h@Oެ=Dt_6~Eϯ2LY*@T1oqhȑ@ɰ@SضǹAθ5@(vٌ1R05rv1&*2 +4E>$^ pdQ?`tz0oSE=\XХ@5v/Zz*&(ȸp2VA8F4N5Y&SǙ<y.֘qjz3RgE4o65bҰ'I9gJ^nLT.(fO|9BR'i߲y~dԡd(runu+ӗ ń_D]| #svҋ$8#߽mr /A#nc%Cir#{{czb-.?b[Z^u_%KVB,qhy}1.jA&V1_tcghnKɸ eqx _-WCT+65a! y0 :_d ~jT^:S) NL8ejqG" P }XO%Y6DRIyeTIG.m5Y em'* V ˨VKG d m^YFwa8SeULۆ  855c!2,h5(V2x@cȹ2n  J :XaeuiՎ*%LnjͬB 60{1 86ǂ,FeTvoػu/6 ]*خp$<mZaҸ^CVиpb lF?ݰ"hq_d.XF< ej#/uZ*0?1~z!j6` 9*A7/vmՑɓ<.1awې/Dd:#R9-짿yU0j y8#)̍vTfZV!UڳkS3# bZ|NNǀ80>6XL/Rڌ0S3"C]K-_#jDIrѾC}[ȕ"I@C [At$͏aک]6y5A ZbcMc9D T8C2Ȯ!,-zgAɥ 1p 1ĉ`(Ḙ\0˂0m`:0| 7bP.>_\Hu_~e&&AD|m5 ˁ  GZlm_ Idid!AAs>:ZPފL MJDwV–tB96:k(RMwlrW[nmڤi(]K H|6|h#JS IxWnA/?$qNFzW4-{+*Yfn5u( T]) sx1[.]9PIS!&~br)VJ0ϙ׿<'}j!xO |#`m4jQK}>-(5j -5L-{.ܾRz!Blnz_xm"->«+/|'qQ]CXQ"T瀳h%q]مGu={XgI$VЪc?Z۰{P'A51DFB8R8{E9M-JGxTЉJ=ME|S+i5$b0VPT7ha}1VfZ%Q yF#b9#-yP7srF_%AR77:j3]j9%TٝD@H3whtSQga|bէ6@㞡-1Y%Sؠ%>}k,|m|t5t;+] YAN'Fو4x14{B1wk- MJkoC fq+*v1#=2ka¯3\-_z}PZ|/ aDP~U! H{ٍu2dJ8,̗0.C|dH芛^yNTޣ!gE=pF-8ߋҮX +>u[PG݀G;gq qPQYg7wu ϝο ql3W557DWkXǬu5cV::1c \p>9+XŗC?zߝʊza[%ּJm[0SnqMpM5cMˮe$>->4ی/u5/5Unq!/eDž^vmZ585858 Eze|Cl#nFe;,OpMO+J;49ߡpD! {x!(Oa 27MBޭղ*vcN:}yZqCG+"ٌ^\ u ~:oJijJӊBHFm=Zqŗvڔ_M8\7upQ|_ڍ}(|X=j?X/M0Bnk\ThAC{5&,Mot<ӃT}8l ܌ɻhtvy ӴH^"kfe`ZDLPP⹄Z `P6'CLΓkd`Wir20<%W ܴ\=ӦTpu O3S5mRLXY/b k1Mk >"L c3W5 jS2bjf'v >&DUN9(Ý+1Ή1L':&HnD Ǡ0JѼsb \uNa•:s19Ą;9ݷũ;9h놩wѲ s&)긵GN|\0Ὣ`~#x #qQzQeR~ \ۆ4z_*Q+o$;!4*}44IR߼urے|xXCZia 7* ; bwu)4;hx9h4Tw!=QR?k~Ž-@[s>" byZ|S. qzN}TYzlhܖE<~tһ3qISrV+HPH|m5VZj7X7ڤjc7ۤhwo7ۨBj|hںҳu$rJ7+Je Q'sj/xag0s _rMs4%aXkX-CSQ|E`p3X $& Rgrӧ<"b $dD˞|DAaCF Hoec eϨȄQ债4steQY@{%;]}ݞ*AzFǤiڄ&uA^ل.^"g^>GX8ARԘxM)݈,%7WS@qFdV'QgNҢKXO0KpecߏIqAOgӥ d4;9/=Q(~dكA>_4 B( B]#kGtIE*`^؇_k;r@ƒDfL<{Wa?%K?xd@n|R>NO(8N2@8:X(!2;eHQe2oeRO/H>xylXO hniA|ˣ2' zoؔz^^!jݓ' !V]Ao<6/jlFbE8kǏ懘n6I@I Z;՗hʂ/FysG;QB:C]coUp :vB RCiZg /?XŒdd[av{bN{+6[IvC#!kG inX hS!  >.'!3~4~6_lb A<@zXpU*OVaQmENBBֲ _oUǯe]-.e֡8zcg_ 93%=0pdkxǚLNjOo6'lױ%p} B=~l$1qij4 ^.CR8BMN~4-UkЮB BA ^%C8š`60f`GhSwn8B!Mla|!d䫖דCWn/GoJ\!5$s _@ϖIoa?R!=Yi_+w@Jɇh z7~.UMRwccH{<y"}mpn'=!X^ׅMnX]b9y+(RhG|*n0M m8R|[>L-4,w{4lAmtwo0o-OOh0L>1>MO:"|\d;=lca Gxxw!vގp]>yTUzEqj8 P}.Z@ďB%#4k&q}b!xp_hn."ѵu]U]W"O D.LM`f-XM֗7ȴ(Anl~A3Yҵ "X9p I8w&;wi/~lzL]cX>RM r~j<#*ח rɖWvkh3x,<АT&=pAL5靟o}~~=MMaEd\̮[R` lM.K7T0,'|]2G6]՚R(˖"B8s45VyϨi%j-'PѰ|+L9IҦẂiI $l}cWbN{H.[nDm7f`_POrIH/Zu[^וµI :6ެ::.ѡ>+5 Uc'A0iThY|G70Id~ȯJ54! Vl\Az^p}Oػcr%R B˛>N5 ]wuГO6?Pp_>`f4YF2k"gbf1Q23@gh<=mh3!LYCֆ^TJU{ ;u5' b58P0ɬ #5ZIh f#[f B5jj[kfx6hZks \]GбqGHPA3`f`&G:ZG|Sb^eb#Gۻcpoz`nR0QsskoŮ7믖敭yah͋yQߞf{^8޵ῢK!y΢Z[Q1 5qmlXIVN|J|ZJ!ep4߇Yso1Ǭf%b:^gH 5{k1aM^Ys JQa~~u WOXp^+im?aS?v@M0z/6+@ oV;0jN+)t$,b4ZJ;j=lB/3Į 6\dZ/ @J\$hfqXGk .es*#g#8U/L:SN CGf/ e?m3.hElSAe.l3waՙt2Xi(6F/ ­hEG!eՠЃ^DT:Zk A,5uYeJdvs4ZVwgr :/mlf^dh182G (e1嘍a5DY eJh=c E@4#x.j h,"MhLuUt$>E1A=WEe.AQ6rx XzС..Z >X@MtFtx!z*-I8.f҈),T=oo<Ҭ 5;vEI% ٦]q5=?^|sq׃Je$(\TjUP,e |vUoת3bA[UӞok75t{u<*>ZoශF 9v P]t.aʰ%x5e)_/o!@arIцm54Yu4ǧʓPא@SE+CIQ(R"EJQR s V8 |E o*PO P =] _9xh5>'jأD&}QH:,dڦOKAj}Z ¹(f蒆A8z`:ҋ{7F ]j{r H R UJa z61F7qFc F䘃^zŎ=//AuCq19!8YL7# o_PKJ, QpZ1!~seirsplus/networks.py=ms6+pdD2#ʱ)7qs';s;ק$HbL*Iv;~ 7o7["b7qX?^䋔,͓4gKID C#m=#$WGdģLxD՜(߇Faʇ9NwAqxtxu,aO0x_]OP#걷Ycf,3}1$LQE\ⳫkBX!~IB@A<&ߪ#k*f!- cY.a` Z0f˗zo\r@Ѳ=L74D ӭxCA2sk _0 "Y뤌R${tO>8K]%sߛ fn0xXOm8we0iX+bAUO*:O+䩔WJs/JNCf=ңEʦBF n qw%Û( &N DFrBJO Bڶds^LHB`9mFx/>A!F0"QS%ŜIhJRk~=r=j~Z(_V:%4%QUWKpUv*YJ  ,~mIFʵ jI]_hjMj39LvYM:\lYNG#fb|4Ye"Yy5#$HXӳ2糰@X@Q2s1u;%n*㥘p,s*!H'ϒ}S~K\))Ö́]첧k~6)ZZF|Llao905XX,=0~ z?ObPu4,$Ms OI}2ҕfM44. _UmI2M&Ѩ`֕Ƀ<[BlKʉu?RyGdnX8T*}#hk#6OL:J7V *~ r36iɰ 5Ru O`܄. 0c ? r*_O%)B<< FF2#tQPE;( Z Iuu*Rǹ݆A#d.olo+: p#J?*qU 6'pc\ B;Evz.@2P45Hۏ߾?c_~SpP!&ࡳ5(~ VLX1 b>)*,~)-E/*ON.3트T4]S=o8D0Be1GL @Ur2#Җ]B/5<.J 9m'8aC?No`xfU y{ID? JyQGl1s {5\ ?/J_mn 7ZY9š-Q1ܶ(n(#tˋ r?,ST %j"|PZ 05(us?//{%U*>FM*dr=.:9Z_!_'SPDAD`xQ/ ̇e[K<(RqE h$Ne5AŤ4>SUXhfȢx>[Dy/6j //WرFmAv0M9RvMSX-fnJ!Or}P$*7ٮ0_X`i-c>*x;arDAe8Ef$'u2AU`BDcd Yvs=C¨ }=eڊ{6J+ *Xʀ}Lz-X]CF3uQ3Fu+(}-FhUI>뀥n{4}{1FE&2VvĈS1ĤNd񒂜-@`Uvl0( M@˂;I%(QC!Y>G›m∛6Pܵ0($E H؛|.!xijLKٹE_ bvB-R!ށ|>wfɺ*DECVP4{+uÎ$Lp4a쳲i؛yE5,30n( a`w*l .xO%0ccP#Suarݳ*\<=4i\m1hfG["4k׏ ]CmcdzsGQTV ,U;kEͽڛ4j dY!A3r+9gI >!N{PR\iW myhv 9AK[ۍ+%Ɋ-cerhǎ*Pº*JZDZOFOq? )GNc?^ JIs;M0Ft% #L-5̓@0queÁ+=Q#a;Umʥ#!ZA={i^LeQ~ Gω%m˶JHlt+FD/8͉|0UI xit^7ƑAȍs#f. (_iĴK8#,@iϳoooaһHn sz^{n^n=E/nbet _ z"c~pH_M?~OJm$7Z$ Isŵ pK #JN13-.!O~ ҩm: ӱW~.ԹZJ0)И\A^U8l㠊:%]Y3X5`[ Dg pGѧ  elWD3{Z- $JY3U {@7 TfN6 _.nf,.^<&ZKhFxmH1ґÌD9Xt(1=}4YD#4?h/bjSJd A~ o0r <5KF8*5Ee1u~C bc͎6-аL ix*ebDbsKn(]RMWrCKd"2oMtV_⥱͋{dZ)c55,AdvctZ*LN s]ʹ3iu0am0S@OmUж,Z~tdإI<i'%s?'^]p7+taO4wJ~9J-ws)\RGYEߌ}KB1DD8L/|nAp7>^2n$ क़,>ܼ%jP%i -Pm9fU.vUaT7X%K Ukkw!&M' Ēa,+7pxHG^}55X]aL:$7\l۱Q+~ eKxvϊ.V C_^vXZRX&AtGH %)Z)\V*kb+0/y U j]ΜnE-Cep/ zʠ攥/M[PeXJ޻#jխtٜKo6BNDՌz3F]t4꣎B;EZv7]41EEDGiycK6rh=n)eDlX;YiS`9^b x&A}QWehT=(y;Qd6Whh L#G'(%\΃AB_zJ+,0K%jVUs A^Kw,q,%'|U1MՍbdZ^Emm80\Tc6rR#۝ku{ouw.s=z=jS @G}TH\MfܷFgoqn蠑W)J=U V҇bMU+V:[Vx>#B ٖ&YJ}OtJ"ZX7ZDfA{0,%UY1ň6lCףgl7MNx .w=1ˍZWJ\C7=kvgڎNNZѝ'sǮSGFb+4QZ` \b&:$ʾ^ dkZ_1ǺKw]R"a7Q \!yCe}EO::? |[TJRDU2+\>63w԰&߿ )6(4n1K $(9!ǀXa{ |E@*fpM#˭:*fWh6vNt>Ί w, YG kduTI:8ut/wdk+fW4\+F6gO:wa{%bdgϢ}CL,&vBѩF4[v6/i!$ϙ*)VID4kV55wSĩ COD5qUT:K#3+OF#"²}7-::-M>֧V XWUfu+pnq/ܽC /Av Gǯw- Җvct_m 䈀zG@ {qwt0Q.y",@mꋃs?S#^lQP/߶8/Ύ wG/`CD (ZaNa)u}DW)pP1nC2pDƄtF8/&[F c..הWWK/ɓݧk~6( P׍q] 'c*Y贂A t *i 8xYH4nמqO|1V=- !]/aEF2ngxzG6ޗ$ΖQB ,栌f _⅋hS$Jg7 D`8̼9E1q u~32JtY%Qo;!vt(33&Z (nIP(ϒކ(b^D v?FV8gitޝ-^4\e-:)wȪa{'Αd#9 >S⑄c/Go pL-|C+=2< gWGu#%~|ste=Uo8 ~ \Pokt5e+.4 4sc  ln|L~>* &4B@P(GC@3!@ lp#!F7yO%ko:Wnt.ltR) W(#`_[ TFC[7~ S5 @Ѩ@̳p0 ۽L! _BSAȯ#9u*oFNc,N< ͈݌D)AA͏+vC°7Cܼcȿa~ݷxd3F hEd4ޢ諌!*8D8F8dQݱXw!{5(-u e믭3vvş.u-SK'y 3O0HEіxWaؘô\a27Ad`bfg 0x QBli!8gbP(%ڗ=Ӈ 9ܤ乡I§ wsu1GV}WQbTgѶ՞+l^FQ!9=^J|%^҅pr,CiD8636sp3>1o8st0[@8zž%y,c$9۵s_RLU@@tкP/+b(.E h)܁vlw}B&1Js Ui!Ƙ7X\~0{ی[nkNWBg6Bz[>q̂Z~GdI^q {<=?ryqSwxO%q. 1yJ{u/tghQ*d #dE[QC\Euj^;s[LRM[FI@LK(0l;T_Mx.x^VfߍV V \,( ,Jݪu94N=|rUݕ{%RԺS韴g<χj,hB@ b|I/!ds ɄU*O5d Ÿ+V1U:^kQ Z!%8g:. O_`,vaB=e{\OP<}Z̰!:/,/81J DO~x,=T!]`)H/RRV[UW/%^xln^ 4ȊKVkP)&̳J_&wP|X&q"^piruNOB[2KיА e:.W_V=s;6.3^UdœqA3^lr';Ynjcv{.߰|4+]PmL"]vXQIkTpǒOXs=w{!4yafwwJ2[[Au$SZ9vjx-]i)L m SM3? JwoѤQHr,݀Sa?8Jq\NURJ?%d4((EGȱRˀ]R6MEn!غfM Ўc9v8]=F\i7^ܶV^ʯLYF>k_43i|h"аN![aVfȟ&q@Pz  zϡiW\,c5gߓVVS%kCZCq-bt%zoji8FͪJxVY+8My7LJ]QN>7B"֧6e|5hkn3x(ƒpJxQBDx1cp[zfX2˕s5#/hИ"kl>-*&C([pӏ{avXyg.9(6~ V x2 Ι 8e*A96M6 Aqi5K4e޲lshD۠{N:>_$cNuuP!lf1lLYKR9i)T| B3W\[8泀K>67XZ>(UvxJWj#QK@agqT,ejcrU$0ؼC L1 v^rh]]Lq[)eg:U nxRsڑzMa}\lg[4GSk$E.bTił)A$ Zl] e59[j,~oxĸ]r'E׫<4#aqN& D"!E`5[mYR6H3Rv\e/{?R9x eŸ16 XF1Sd&i,,;&IaKѬIaO!oQj+@bt5<;:]G{% = 9b'/QsUw]kX77HUɨ֠(mIɆ}M;;g,q-P-rVGcM3qY/öOS ^3X>_~7`DLps"%HnH F)hk ŀd"*bKXbkPÿw2Jnr19^}gZRM6~fĝBvV7-̻,(r(z 8;zT8޹Duo˔fJqmNc^f2w[0\hMc"|sh)u6X3L Fq0AC*vpvW?L7;r`ӯ ~t$Vѹ>?5^LgD %=p>Wt~)d>_mo׊8#&սZ.cQ q8|GHӽR?PKuC Qx6u,!seirsplus-1.0.7.dist-info/LICENSE]R_o08婕P7`dH<a(~w$]I. a,vd}ޮ᭛aO東L'u#X ǩi#&cut4x<!vjhPdƻ.\p 5AdP`<<#VHkт LƇ6anG{'{W 3$=& \k;%y> sƈr|sx3 ,^~[f+T5%͂ilQe@0 EkZJ3Va>fr;ZY?zo8P[g"yEOPMʵYBՋLD+^{jWNhW{P~<@,(KPɬHtֈe&+$J2->ZGl#87JJƻk(vP@iso4Lb >4%)w^?Uy[VZ3NM C)Y XP Y4;x *_\ISXg)u*Kײl"FDZH \G+_BHO$0E~PKuC QR+t"seirsplus-1.0.7.dist-info/METADATAeN0E&l $zElXm j3WѐA"k8/EG50XWߊ\WU{℞C*6YK %:~ rh~m.<06glBt5[l$.s|r^R_PKuC Q8~\\seirsplus-1.0.7.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫PKuC QV: 'seirsplus-1.0.7.dist-info/top_level.txt+N,*.)-PKuC QIB seirsplus-1.0.7.dist-info/RECORD}ˎ@}? 8, ڈ l* \ g6NH&t~tMwL-Ht3/-d6ZJL`V(L3:G1x('TS"%qUkxb0"'pJBu}g:H.aY#f:S7 bfw`xQ=%8{ÍcpwWTgtk E #p<,HqGY\_/ѡoђ!N[S ˮkzq”Y*2[* 5C 7۹ xUEhawj>= HįO'Bb䔍Ju5"ã3l+rqKTހg̨3+to&~c*%VP>>?E5H˭ s/?e`t?>Է0_PKQJCNXSseirsplus/FARZ.pyPKLwP}seirsplus/__init__.pyPK Q.&1AOseirsplus/legacy_models.pyPKHC Q: uBmrHseirsplus/models.pyPKJ, QpZ1!~~seirsplus/networks.pyPKB QceCT__seirsplus/sim_loops.pyPK, Q - jseirsplus/utilities.pyPKuC Qx6u,!Vseirsplus-1.0.7.dist-info/LICENSEPKuC QR+t" seirsplus-1.0.7.dist-info/METADATAPKuC Q8~\\aseirsplus-1.0.7.dist-info/WHEELPKuC QV: 'seirsplus-1.0.7.dist-info/top_level.txtPKuC QIB Kseirsplus-1.0.7.dist-info/RECORDPK eseirsplus-1.1.0/dist/seirsplus-1.0.7.tar.gz000066400000000000000000001764541375244156600203640ustar00rootroot000000000000003_dist/seirsplus-1.0.7.tar{㶱0ܿ)PoJiw(nWVu#y9y^ǯBKͬ$$Ksr>;3AlZ͊$03 nS}]} $5W[9Ξo~ o8 AwGG߾վ߿_q2͒jSw''-Yco<\Dp7/Eɻo^|(>Н? -)GA4bI:<CU-/-2L -a$7>0}B8 5Cd9dGc>YMFQ4]pp  Ņ$g4aKL63&@s4M?P`WW@eUh6mXXb( h7{9MG Aeo(z=AįނDqP8@t ɕˮmf:WsƼO .~B4d~ZbYɃO5Sl}: ~w !ȕzW [a`HnRV JJ#>иLsCۙxN@Gx DYпB 'cAگ0Ļ$q6 41`cugғ1{]|&4 c+'KQ\76UL{ހ`te~8 :Ѓ0%OJ u.  jJ$u+*`xwHꃟ 3f] ^+rKegbo/~ns{{ M|[\vWm8fIo#1%yM M8%K7Иtr 7Zm;VkWsm7 [$ݦ%~q$ o m6Td$)q]DE; 0 F&)36_bO{^WƄN-O< D%M h Y2"X1'hLthGSt䄚N )TK(xOPgryZ.(3~\hv ՓYXrޅ`%FqEa%F u^# (`0L>WA,1 `Q@P }t! ;EjZkaje@ྂՀVt[\p#z'zZ.GȠl8dNn?h*p #x|k. *'0:ChHoדn?@ocOyuk@w;߾~LJ4aib2h 8,jFD*k) 'P)v5ΟCA~2NhYfoOp t-\c]22&|F'Vk ߾Ƈ=1@}W.hfs2}%0Oe/׬4(;{tJ4b𽶆k=lq )pSNT#)f\%=:&;O8PۓosF'9)IN?-¸~ɦuՓ@2*D8B>żZ$l\q.paZU1vGS6gLtEhJ Ѽ7nL:&=Hf `sQ#0! F7f/fLQs(S¹:=KNfD^2Q(;KZH QZ Y0#P^H*N* :О%T5=#Mr򎘍$A|OB1{':RAL<&YWi<.賚@z+\^BۍwL B꨽=ޤ)Ί@"Ɍ:?itb ثA8IiLA̢*SB!TlJuo6Q Pn4<6BK $esldܼۄ'}G ~H%@[*~'ÃLaP'=c>+9,ffH#5/ YRGvaQ9x-n|J620n66m5! ;;e~?urYs>|{\{9oy+qqۗ?^<ɛ>~9"AK?ߓÓ7W;|yS5ur+Xhg4S t4oW!.+ʷ(a;;`( 7Q|ci)iE?q!7JiςJ¡,S-X%B }S? `"T(;Joҟ{T 8qOyjXAi0)gEzZLF8CEbpmβC ߅u@o:'b""rT:x'!0v!|I6²s^rl|7&)V0%  *NӆŔ+*xaEo0n2 @1fJbǨH];'wvhnNH‘4VWNc+g:fS 0Cʥ[쐹 /fY3@*( ^8 G(@Qȑ4ab|Q-ָ 9 rI=eLXTIU;iA_ם*q9}VbNaҏH6Ӎ7Ǵk̳1S|w Թ!S?a?u4Y+G3ldfN9鸎5x+8L/mn#Ȓkxxqi7w;ς/g|t`_̬Kð`wJݪuI@ͫrh5k#bjZ ]Y ۊd:yQRfyfޡj2VfRb>*!oH"Q5._p~^ﰞ5eɉ u >+Lࠡ` 8Ip}SɫK G>ld:: ׊Ҩ7yGKTJ2\1rƥb7s|*^!f$ҒeV`S}ؼKY[]jZRa QY~)Kuw -?X:RJG#euܺ*ۊ] +R w8B,:j|\ +4bI޸̉)3mbxm:iZE ;$+c-qڏii~o8#S [4\Hnc{ؖ9R}m9Snp? - , -=`P1 r?||7ᖽ&w4"Mpb#qw6"L3w[ٻ?c? ^*ld4ݜ(#=,L;C>|ۨG=گl)^Cy __ |b 0.Uef*{ |DQ \<揦7>ߝ*z,&(y{3^[R]^[lTt*_ ]~0g\>tF%{U祥qpfV051 ~W&͖J]Kq8cSJT6hvI!pEgzLfc-PrƝDp9@ѺGl?65++5z"b@ၞݙ$CF+Գe߻80YQbX\?^|_ 5_MB탚,Fx_,8>m_ŽJnժm},:?PjRg(hm?U^ie"jB3gBIOi{ 3@TJ'] /8^H: "Jxȼu}~m/ X8qp6ɩ1S#%~TC+qHϜM-3iPʴ | i0p[jID9ah2*5gIO+zX cޞOh4}0S, R٬=Bb. ~*mJ$̗2iJYJ. >a*;hh4(H *w$f"p0bXR 1AAV"EuH@(ж{/gu[x'w<(+4r}@,BLtxC/*^ M7ҷ:drr-c6_{I≙⣖ӛЋ[O]ONUYV.M%oWg^C|% _yJ@@l@[(᪹l*+q&7,et\T6JX.Ϊ-*tWGnz d!)1(\gt ʔ$)ݜ.#ecCv=I|geRd@uX#T<P^nBƞ"5}4 1^ 3-Nt)2v沬LYϤlXr#D4MR)(J~*k:J'zO1y^axwQo5'E$UPx7'tȜ&:8'W:ojU]lF^%$^67HHDp~gYCctoOd& Μ%hy,*w <~Ыb8W >h%pU*Fc<xIs*ȉ0ȑXͦS>jE&e%0\Ӯ[5_jb<*\;PPg PJNQG vCx|2xh'pL*fKŔ9*hwPG#VSo@L+oRsHҋMn4(ZUB97i?Zm7h[0;X)ivǪ`CCSk:ud y~^sN2DS R3|9NjGV!n \V~q Lzw[,`h|ޭY;ޭMC.u"B#4z+}+skKHdFc :3?yLH`H@7 )_kBɝiEzQϟbRߠZ<_#{fT5۽Iޯׯi=zPz?ιH]Ft:K."9 oz1B760MJ 3d[G+|>i2Blu K|VGqv p >%GvpCg/XLlP%Qs9^[ɦJ@M8{{{*M,쫋/VC#Ob+>^V7ҤLKx#^BM+eвWnwߢa*v0m;v>8@ `Ю=>*yBGJ*p#lSoN5Jn;w|7c~N53^Od2 lF4~ȹ))`C!&:Cx%IC-n҉;^A"֥stHg4ݣWHk1nWwr7B @oM|ŷp4ЕuHewIMA=d/<z`\g7_8,e|IzIT㢲W87iuZ.ޠ-/*AodEL{L5 ' fH)hP^XJT C|լעZ^jq'Zy&IpMdzSI o)hT4XUnd4F#`bbT@gKgrtuW~7"/D(+#~4USn餽&]y?M/GQ%|[w*1AH75E{RXQ "̵Kg(L_M"6M}abED#_Dq+@fenÛ zqV-# M .ԸC?ߥI]/jLq9mLv #lYK1O$j ]Ȩ Iq"pCm\fj)#{|# *[wWB3)t LmX+Ext1 #+6:oZ.hoҿx%@@'7Iĉ~ :Fx>XUcc(ש fAw _=v={p)kLu^d8CXLbhby!o' &x R{z9ߪ\Y;BdSo"Us~+ZlѴ 1)B/ܖo-<3.7vwMP8,)1)W݈咕EC18c9pIqcqFU$S͚^ G*A7/d fC*P*8Rs˱WF" j/ < r)4g'MeBGbQ>/gK_|Ƌ{4}'עQH'65BQgc-o`a)ۗ>Nabai{8H2N9nKeԢ wrѷl8IY`Ÿ ;rZcQm)_ -g@۫vTB"hk;CZO24qL7cO'UUig۷ '+vvBL gz=\p%к?vmB2&.uwtBv^ؑ7/߬7/o^6}߼|yyyE9s$vڄ8y4߫˒uurb.M.,֘Vk̵N !' A|]\~_s͛/?ϒ.wޝ"_svT{E?TP'GNj?:^o8}Ufi;0|(t~^Fq_$7@p䁃~ȿ҃񵊱qA]o՟Âl?Qo?K"bl|~5k\bU\ӝ''wwAeU4$ԍ4a摄5)Sx Nq^:&xC1" i1M㰔v^1cP<5{cC!*ˇS2b!c+tG|ht! 80o#L!T(xC(t+W s5Xml&NH]=Gd~4enpqIu'|%VI3oUF^7I9ԙf7Z+Ye)ێuZk)Mmd5c_]Kx۹Wz)3c$6xy`Ϩkq9g- 8ec~{^ ^oʼ | ug2,Žs ibξ ^ g􅠶4meP:sA`eRmi2#ALuq#J^ UNpCސY+$:V)N] X+2Ob˧tl Q_uw\˂SuS%9p* :T}F sQ[P.(DӪ=0)ԓæR?ݕ 0*gxd=Jʡh*^N9 @3̍:)"M$\)vZP^2yYe*3>?#P8m2'4İ<ŭ鐤2 cM0hW8Y`%pF4A>V~iB|Ş=[{"L=Yjx3>G~Ls6p d3׎ ;JML/E!`:AR?xiy{}k 43`pfGug|6Y~}T-㒡IS D(ī*2x~88Qyd6&C:0C(bj٭!.Y?c+~BͿ%7`\I<zI82rPa.Q8|Gu0p#%j A& :}' FOYx'xp8\,90 qFG5]oRpZ8u,E4Y_$0GRmTZNH!e${e!’YM ],ꦶa @;Wj;< R 4ne |iHlЌ{&*E%S05yʥ jEV.yA$ʼn6y|9ZGk14 YX.@W5H k??ri߭K(q,in{Z9dpt)>?GkAVe=Ѩw`<a+DjON",Ir(:lIQ=AvF!i4lŧQcU , Qm+Y¦=jޣ / Ȏ쟪B򓤉9<c$?e:r3F oFjtٔk(ڔrU;rur-'ZRnۍwS Zy)W=#[ )AIsA$m~G_7%;&ls56-槺0UH⎹%["Yozi|* 5?Cknc7rZE_?*Bx?"Ssfew(ݡlQ:s<_Puܿ%'1I6~tv9nVI뵁"y)$bO=BCxݽ7\ϋ>~v3s^nn{v)ɝж< Oj[& yzd8[Vˮ Mr~-Y9P~E"ܦ17]ʰ[g[rۀ{}ےaY.;&}ؒ˴x_[R.tiRwA}5?D)tO=ЕjWEl41g=^crOl|3ua<Mko.1+%n7vySZn+77B>< @Y TΟF}~Fӹy(yXkҶ6Nn±$H{\zA(R;~?T߬e`nBH&aSB FkTDgE闺W}ko~pkY )WѨVcxWQ@4r7fz1@QQM,0| K~?otkiќ!7O6~)%|:Wt[J<¯qxdkU5\L&@hp@a<Nے-M)S)U/Ƌil)k㫕2F 32tx5;_b~1Cox3  }JV{IXLאC/MȦWjv :ezU>OoB= z8'aPF8M< FW){oVP~aocceiIqt ٯX77Ye,!Uzyu8{)w*_XFc/R5.PC1 Pox`:}ق<#.بPuF P6L6A:q?a ##cnPY]Hu ZO)1(uAb;f{M`&` 9Yzc82f?㵃YL(T$ceaR|'&,idzpKkS^#O+vF1Gt؂b_r`6' 0[30{]ZX4~g:m0iLm縢lY&Glh\](e:u `g#o͌[53n͌[hyC*~7o6bnľ݈}CDg͍s}xi-=Lkio̴,i,L0ߚiz;kEg=u g[fbHlm#zg&svBLf"jRƟ1DCm/GX4h\MnfH\ix?d'-O䆭3)Z}Nu}tI{hu@yɛCG:_sl5G̶^{x yK0G[^sn65GqXO6,1ˏUXz_1X~O?mԣͿ8B| AIU6Kp3Z/ -Zz T28FeB7 A)Y>!-UԷ *`l r,_ܬV:`-Y'q> Yx!#ZrrݤE *JPKwRWk[jm{]-UYuNf3/JG99etsD/us^Nꤦ?MjkK]+w j^slMs`E"QXN7Fj䆙-JTlQC/.h ХA[ ]`(=np*/70-x,&$R`' rZK_>`{Kjjŷ``%^Bd%&ۡoE&7YvlJ]Ҿ]^-vn?3#otB82q7;/[EJQ++AE. -1s'g&`\zynm.X p ෥:;_}Sц+rf G8Xz(\`ɿ|\ux5W`ͭA\n5Wh͇Zs|\<َ]3?zM׬qp0p:z7P+vH'ϐ>:D!ޭ!s)ZCWHj?{UZi8 `z*4he+ iUoEy%Ms9tzIKw) Os5#zU5g%YhI00bÑ:X$P{KӴolQ RZMf&Zf66?6)kh<:GёIpXf?ΰ2$^ CXC c$X U&Ht,-KD@o:e-b?@Iy=ROR+U$,IuF=K]^Z)gPM43* {;E-K;0XGc``S>3鍏u;2cT<ߐܿ J0#BafuJX06)fpGg'=ր/AKKF8'8byzНDJCK-LSlEu^ _ˠ\z蒾2î# W%׮-[ ^veW^qjcӏO93@tlrtfuОkJ}^R_;xʇ1=u"(]}O7q=6s@~оY^>3\N%f$h(M͊h{NӬ(VSU͖rg>3iz{ƐǙYEۭ6vnE(s9Q~z9(\V ;w%Ķ +B8g]o//@?չx>9U[Tgd?CMrJPENH{yy-Z奉ka9sZU4%zkCzyz]jDGxCI u7ExvOޞeX4|P₼F:d@ i8Irn`9C^ap5uQmkzu$Mؿn@lS)M7I$+s2{C4ݽ27:7ˑ@-צ.7۪<'1Ж jwpa"Rmծf0QցqC% NOzl=Ջ;Ƃ8:zlFMd&jUbaD͵8p;Y.v/(XݵѳvUٗ;'zwmWCϦ_9 2-%{0<E16r*l\k qU7r^v7Ckw O7t }6oZg(®=U18\8~I%JOԞ~lpGEkߙD4['jzwhIJK*[߫6Xǯ(1|YlV׮&pV.$dz\̧4d\ җ0bObH'>эqqO?3ᔧ1(?xwA|nҒy.w5∂|Z|k 3PxiGxH뎸bC8%2>edYgd|zO ,ҊGNv/~,3?u9xH˧x)M|n3+¯kȧ)rVδUnPA52Nצ={ܳ=>PA) x@DSAAmxn"Hf5,;7KZ V>_1q@+t;uR 80OE}6躳XlE@ P dⶁtA[ы bU̼4%O`(3T,+S&I iB>˻HV.^dl\󊈫f]aW>lq:*fv)'>1S<~GS|1{6w ǒlulFq+pȀZ'8:yʿЧ!Fݷ_?5>@b:g}bƟ"T֫T,72iie|-6ZOo-6[,N O_Yf3.* %v.Ԩ wTZY kE~L\l&M+ˀi9Vvi XvZE]gǺ9u9] 4ȸ\8gH8l5ĝ?L{(%׶|x*_jaڴ73x<4CG(FUON~"۪@8'QK^A?F~si'`(pP)q0 MnU!e#<qd*\ȏp,Z=`2P: dOA?MԿubG)fW#>1f:l ?(."ϊ iA;({a+я[dvɦ)h^ ? f9H (?Zp,[l)M`5YYBY }Zx>@ h :,KۉAfNUvs'U͆P3ɯS"FSݾyaPL,uUTbQz]Egkр :7{shU;^ph](P%˫^!J T*jF߹NS{+f~7k {郲99䌹pt??GkAVe#*5WAzH 1ᱚFSn:'nҶK+[~TO0`w~F\i4 HGj&,$FId _MheHWrּ#$i"onԪ'ל)ԑ)ghQe|c6R ̦\+G֦kk9)ڔrnrU(SNٚM \'MN , i?)a 7ai6?._*EwXy,Zs 4~LBjZOQp{;n-nP ?EW(^mvc2"hXDO75ۛJm7M*r庛Rj绮wP\wSmnuW\M7?wu|Ν;ߔrnrPܢܶbǷp\ڪ;v`O*K: |#׮U~" n-78rF ;",P?C,PMuCPyFPjǿhKh9OnclNOm7s,Q+kERHŞ{Z({od!|}fy E9y"/H#!#|;n .GoV< Oj[& yzd8[Vˮ Mmӕ% 4go7H]\4Kvl6Q rpoVx[24,+e]X[ݖvoaK҅.mv[o#!$A#73|_u廚:o4u="\crOl|va<k.Cyn:7vqSܮnU77WrB+Ϫ: v(khph:9%kMfwM8:i K1"U}h*]7b>c􅰑Lħl7,/֨8/uZR/#/ \Iri<`U?nv"AdQ@4r7fz>FFi68C]7aD4ϹJEK .׿=nRѥč#s{: rex< 9Pi64${yH v X,~GgFS O  xN&͸>0?2-d>&iCЁ̄2+B}A/p*ޖyC舍7j޽voaLGZ{_cQVc}#^{INNj9G2Q?aY7e4$R} .% ;;$H:!YR>%CU?qΫ?_ޟ?V{foK\u.Vw#?IxD˯?x4l+mx8 xAJ5Vr㵺I])BbuCY)qŊ:^}b]cX ~C(.RYi(k\Ŋ9ڃ8@, ӛ|^/̊`Q j {pmI?(rF1O&Lk'rjɹx @g W$t-:,!O2 @P*EpIûq7cBaqpL8K5  VZog E&U(Z|#TI0"p4t;_ڍU>CsHAWjH71ȕ>-FC6n~X_)„_@C3`J@tFS fy$<.<.<<#%dN.8դ2 :&xC1" i@gqXr;EØؑjǶ|ʇSշ52B{7ٞF3&hL!3QhPf DB[k2f' :ؚŦs i5**t*j(u壶Qhâ ztBT9`ԣ 0*VZAx`b E3@ P{. ER"#G7Jig@ VK jn7m%^SHUjV P} {m= ΰA VUxw86L -"QQt)Sxk*i>}Ӫ&y~L{~L2.՞_YWw~2˜ʜˈ@hw@@k.=:Ũ]b$ o*pFm} D/X01h˨k<9/ޏƠ1n Iu)Jx <&i0 ARNc,>YW* V㒡ȄnBd?QN>: -\d¥ÞcY|K89-o D bahD1;zg;k.H׋DUcnN_.6mA6^bl~c%K/1_blcloPocs~[/1 v$^v:/a/_bl v㎱rJKcx16^bl^TfLj$yCP.a FUҥ%cU*bV!uZD1xPȮ, U`,tcH=o(@k[&Y"@I]DК_m~ ELU @b _-^+^O Ys ԖWs{٠F!>x3A_G&^[M݅d.=OxK;NhjI(.K ? 5{˂;?$4A h Ȝ, Ĩ̈*( ,^bg0hDc OIeal/ vOPJMZkb+]zPKk\Ժؗ ^֌_.)M`M7hCBttu @_ qOW,ĺݪqx<ɼJU:1KcUv^S%^cS$ t=/:augS@PY%Y<77oVqkfefY1sϴ_M "ygsW\oӎ̴Lifکvbi& NkgiC2EWDz{~,Sa"e&ĶئEOeYk@>5MZd [2 Tq`6ߛp8w`o>1|no o?h5az~ J3@ץJa%5~츞`=/[:O#0޶m[K.?nĕfG2]}w 7I_u2^ys4ev^߃" WVjx*S3.E0fHO ~_?/x'sq''NjOԣ^QKZQx5PCrE.Z->h4e샖f3D 7Њ탚YnyZ!nph[dUy{ۻb[0C=WÓ2@e/$^&Y<݊SJ[(gY'.},uH'"ovugwD .]L jX&4ya2sKiTX dס),#LΩ0VRn(=CmK3La9Ǵp@kXF8&zHzhN, 7kXwZ`acjMnؽ1>Fn 25VYkɹ;@.n)g;r/?%u*͝JꄞH*!iW @s+ 0U\z8#-V'|teDf 4=EŸVx( K!A/),3[KY#gFTB2rvNsҠN tҬF-SFL 2ݠmj0ÿV2"3ycҔ8A-ɰ%H2e}2&V~T+qiHT+h:x8Ӹr X*p,-ȨtP]ZM6lvqYưF $d߄39gރqD8CV:u0ʼn.,UX5'ۃ,HfrDzrF$7TkY][P"vٰg!f3 Lbr9iMH졆L 7؀!9{ķٜriCEQ-ݽY418* 5#'B__ S'[iƗDstرcx[vH2b5KG3z>iBzZG!4qF>AF݈{gUk"; Q|g݇h >\r=f]%mɜG.UsʝK~nl~3ʚԄzj8 I.mHnӐ e8 ;XA7&,1l<)t!Ns(Hdw[|czEsH9x@^6L %d"T*3$- c }?˸d-p^`'_FONV4mjwk{-ݚ߭ݦ[7<Jf(2 J!+3t*0&0=YnYCczRT=T ȩިшܓxJ;{2kxE%@}ӄ|4nXn d~Ȳp821N m`g仵nCۺbs;0~bЗiu5 ǒ(x,Nr$eh~k2=CIZ­$W=+FHK0dq,F"olr0;W] R>e yѰCjdv?0<#m*Eh_lcTs2!OL $aNs=ф$'qtH 4Jf v v!l'jc X*dWd1-Y񮢻0%)+UF1u(DFCyMQ(=8y<מФU ţ@&OPɸ+(.dP:x\e*')88UnwvF5C¬/!6sbr80W4c|R} )uD**si^wd9y|Qo2GFo5=`*' D;q-t sN2D_ܯEoy%h왛4J`.sl`0!`PޙWt$1T.tet,ٚ".n~ƒY9L8GTpfJQB4,:p` $7( rd0Kہ&p r9޼k/&# D>bG[߂I.{3t$z$whm3Sh\@C'es,&VD,ǎ% kY/*r[A"m5zQ/bT UmS*y>|,K,VGة) NQ|\kJJ,ܙ @0 7CM+0fʢX[ }q31Bdp1p]TZP>pg rc[Bp"Nu_qhdN~nPǮPH*b!k*T8ʥe&ˉuĤLzyqs&NSy3)o7+iY7A '*hX-A$0 .&^ v[CP\ˊ r[R8 KN>>!|߿, Nn8{Z2N##:L[p%bUsZqjp42Z6KrC/uE._uRS'ɮuIYDX}$~ZIOaǡHy@ᬅ@AKqax4P'}|ϗT3Uk"ę6a߱m=!Ճ8cqF ah,cao)/U4n1hydeכP mVX~l<{ }q-.Η^a&? !𩮗wQ7~])d$|yЄ{* YԪ~˖.z^`>/ vA.]6 x dnwdhZqұ.Cocr,*>JN=i4kZkj׬ ,yY\UNr42\bufULٹZ,[kYKKPk4@V2M?W5BO.ކQ\c^k*уV\7u:{zZmi?=mi=}zZ.Y[jZgϥkP{ben(o&֬SތࢢњN VFh1ʌc0nA:X4kc84i͋؝Qk ݐl;0$p ъJ(',4& k i"˃#}ZX.ZШFYOnUK{M|՜Fql py[3/˗ օneNzX[r"SHx ÂLOn*lǚ3RA`>FL@XRܜzqx>&BwM~'$$N2#S[ N.{i:mNt 2mOfm6uVeX\EgEIknyj;Ppd[}>f%\ٖ6Cn '(o_,Fac#~Aa%]VK̶&_W$O,JUIw(ڲq<pB7T2âA$hoԼFkCi)'!?s?;'~b-#wd^DڻU SHZk;],l'kkZj+Xo<|rĚgH_n#lڵk29L-_ Nn-?] XdEBSlHSiSH3YS(s=NUNBgʐ.MX39$ I \F1_*zvM;@Cpq1魃~?Y/O2.ꊀ4FopWQ D6H5W*!? opEyF8 V}oWK[D] $iPt\ V#:n^$CmA*U[ރBژAϤc qɁ4+|ڍSp>;|A~b˒K 9)"s ;1@ G^('양<)YsE T֍AR9 )/n]M0/77]$j0)6K'(ߦ6NQ&о0{3H(QGV{wQ_bZSbj^X}M} eRQz`!FI~1gGon{Grgҿ@C  bRPA4J@ޓ.1)1;M^y>Wc ?--wT-jbJ*IQlC8Nk>iʹK~Evpq 8B t&=JxBl{j ` luBi^){ cr:o2|Uh-u"W f% "xJٱE`bMK-7rӦOeOkZn*miז3MMZnZnڠoL&ojU4ן6i& 6k7BӖi7[rA닆sSټ+:~-jgiYsbնL33-VT-y@ű+[30 NT%8ǡS $UAZ҆yeʗOPQ+o6"}\%9+p3a ,Gw JJ)2*UX{_`qf_ }i#V y%F(K\rrf'*9DrԼr4/Ct9`hnkJso΃P e+SHd0J1Ůwp쫶懀d"f_{ocwlV ldn Wb 1c p ~vsιp`K!FMovt 7..qs0C)ś ]41 0~o=&Lr;6c=^qT=W`pDo~f&|%)HX٬'_>OI$A Q۬Bҷ^[NCEGbub}x|<@夷"Xqp{׌xK R8'nGa,v9'{pCol9>!-~E G'G>S*jp N/Qp7D;4KPB+v-#4$>pj\Kf8'FΖ,}\&K%=6b}CbOt@ly0l?r L م]().tL}N+CN?[LJD /$?XzOB:c{!7#7#7#3#7CPd_S}aEbaNf-IX\f*"\`bD0ah-ln1!J"\oadDO^>_'5666|dV(wWr3: %cT2}=3M|+5-O>x/\lSEO}`+_g.ϓ<'ϫQlllt6?Eu{iw77t6Û:[blc[,^XӇsxQ_gWI>)FYKc%]KeQhaLz?Bֿdwﷂ3tu# q`e2rK i6w4̀~܅s`.6A@:>:9)d0 |V%Ht3NF{[h Ւ0 y \C2er襔OMj4W=C Cһ21Jd: B~,^qK>:Hnl ʵ X)*A,TH1FƋRV랑x811GFrKN/<ޥF\[%d5nIn789 Bm*z*%rK``!1%@'*KR"T]\Tʔ>~%.c*([lEwlunICT? dO\GRM\<{k6IJOEۙFf3İaҋݼC&q5]F`ӡaF߃Hv`h`>~ ?7Q-EO˥^½l #tG|7RzP͢p$3[f'`!;> O.h*dLw_\1$\)Y"2;zԽ̾fuT l~Rӯ+襜SdEy l›L.0XƘtew<e76;D/S!+i%oojI8en Vwv1DE.'!1u#6p D :-JR_=W\^܎BV4FBHhܰY;M46mWUmntEj煅n }/R,C\C4dv ކ`9kkՃՃ4Zhx1|_d !]^K` iSr9up^XKiz!E6~ %ml[VkWI^O^c9(hWՠœXX߁1oif ;V M SŖFOUvf {gR$YZp.1҂R- RC+-:Uג\`]`]`]`]`,'1nc^t\֓c6m~̷Ab#Mu\n؏%=Ex̩80؛DAn@$K7eߝE._X/ww{ſߝʿcV#yy"d8})dX_2<__\|b9{chmїSNYeܞ<_L!ėX')et :!q89H]ĬLXݲݒݲݒ]F )˜׊~rm*vܬEp?' ~0on}!ޚA3׋\ILDVێJQ=[r茯 c;}1["qcoc?L/ d+?пg_L?9Z܋E3 ?yΈTM,-iF$A''ek)7kfh\faYeӉ23} vܚfW`p5Lj mRjV35Tz\ik :itQa e `I1Ńe;TCĐTvWmH4bXtհWn'{E0FQZ(p({Eu!2]y«pmBd s$.9$ěYhv޼ˈ5J̈(,QL syJ[He{eLm$koH\}A~ P FAv)Y $V?v|m| 3>A/ɨ[q= )3Dl9ML$A)bВO͸=~Ok=Jtf{1?ۯ_jWw~v KV]<&{ԩ6~ Kċ0 O odBc>hvPCKڍG6p˵͇l=^KyYBtGkFE|o֑kEZqq@ 7ӽ0Y.-1CW8o_M5hE{K41dU򅫣}#@JU'H*;ƩVw_Bq*VnӬUj`NaTا9َucHG W*KFl%)(7V߱4841pl͝Ҭއ^)焭_ B&.},ȨuHnF>2%(5fFH:Yx[-,SPᩘǗUUe} f|2]!G5FpEj[49ni 9,=5Lf0cZ\tKXǴ9K !qV6i yL![Wa qΘ;R-Y[5 ˈ2Pz} wf0cI),#<2^0: =vj=4Csj=gYH-^r3f/1Ŧz>w3!fiAfo 1{[n 1g6jldQ%5e~:k8- na^i1o'M͜pš>{fof~mV_ Z:d! Fv8ArAKbl3#فg7 v V ZAc.{%6l[T[rj|QQ U 贈_Wҙ@WmTP`۰ (LcJ A_V3)%!BnԼRAZ ! V:/ʼn\YQVa4gj% ҮDƉ$t 1 T;fTNnzOLUeum{2ȡ68Kr+ 2i$CGbweXq!X.\XMSbl][ZZWk -F 6`OMm t쳢\ږ"s`pХ$|Ԍp)uR+Qtkcov4خVĺ~lK'@qw+~ 4xOЀOPjNog1x A{qP7Y)Ⱥdu`sڤZJ@N FFS٣X,*z/y/L[rTV.L]T٬Ȁ ҋp4j(o()j J0j!ROgkN#zC7_#5ͻfD)Y+:Ohsϔ<fLD.(fO|fHitZZ}l_{ ( #oMΖ*I1&}'?uU9g'6bZ3ZGm{qqL0J~QKӗ5u5 =ǒoLVSEX\%lrí/:hɊ&z9<]1.zA&J1iuň/jDR2p]Hq̳JJ^] R>je! yȰjdv?,<#m*Dh_l@cT~s2 JS*D~;DOIs!RˆRh:X7o:p(ۉڠA)j)ٕт>yDdKWV]EՔ|*j#eX!#<)(@~3@\" K+=G (}M9qWPܟA{Ul(+3\ZU;T)LAjռт hVɩ_ьfIY1<IQ4o?ρ'Äk魗;% o0360ߡ?jMHwra3[6Jj(w%gN:$Ī)V2͈KLBDKW!{eD.A)2dX5`B+>JҘ K267ֶM6!|J&cO>[R \9.KAg5aQ5"`[s}{lZLݚ,7lw`Rf4r%b 7c87Uڼa4Aˏyz/ dR)cw^ F8Av҂he`ra0AQ#9";?s+xO/L7S`vxšE BvZ0p6bWt;|&ADl*)iG%ZT^*VQZMà rrK|tjnfEЦn-j]ڤ$̈́d˹]bw"WO>) xi<B\YkvsD3נYm ^ФOEa-S#]-FSZU{+*\V9A[/ENvY[\ѴHFb\\[$[v""\o1Wse'/OS0Яy+ǠRxUk^͚e 2sz)L:VK'`Mэu /a32Euu9Bg WFre>_~[ [S]U)od =]ecBort}VVKcZJrFS:TPW|?5m1pыn3֓(!lCH` ם37[fV}k?IIyU;],|U+:5;3I$T MׅԔDymV,k'5ֳg u݀ZGݩA&{e+Q.p~4g,b \l;ŠRjnܜE:#΁]Hj pX(@):SjpI+۫E[k m>TOׅdyGH}*-*s>]!j`=maxE0$ھia]Cv8XM'2軈rVxb}ήe;uL pjPN]c].gvܗƩ>wssn*~`%B s7z2J|6=A=ٍdaG2?]qvV8t#&g?p* уsjhfE-p-8ߋInW, ❯%(,_vluEqN8Ն8ՄHF]6\uwzM{@)zF9NuQW;wՃ8Ն6ЎYphǬv.$=s}dxj,ēXy𠭁lH"jr"H~ʊvqGB[:|o@k8Z hDB3EVd2fGnS6 Aqұ.Czo+ǂ 2Y8B+{۶b4kZkj,N\ 4a-LJ(G/͖#5YѻjHpQPACqtMz7nR{#\[rԾ؎FW <2ششT"N&6(L]\B#܄k Zgͫ;vXiBV6Wxncsmxn4%Bl-i-y#JVQwy_vo|";y4QN[̯B 5S4'N'2;q@cq{u?W~<nvKPpgIW_4#A+Ө[ ?aj{x_yq06E,8&PY81*`yYjr1D&/(DY9ޭ 9_)Bn~ {5|WfD9v;@6nE66KHf[y1%/,}țo/,OK:k6qc |50҉b$'h%9JL."ӥ~D88L#E!п9t[2?Kj-DP d?k ݐKaH -Q;6 2Wr]=F b"Vfq64Q$Goz꥽qm^i0bmn{>Ow+ؐ1<pɺM/b00E7DX[r"SHxƃ ; Sn*3RA`>FP|HX w< (?4Rg<:8ȀL9-*BeltPX5o$-XF GB:1cyMN0xg8Kx$ǃ 8J >ܸgq;7yicump!XN[`aVaVavڼͻvS%r J=l]OH[R+SlOxa`OKZMsKgو}E,+}9v\cp.uĻ~80> Y.@daDٓwRNK1I;42ؿPD2ٙN:v;u 0tQѕqt?^U9ebVۍIӴá3ݕ&8х߃i$luP>iPt%AKςq>,;^+;&d³HxO=«xw@iVэP>i>ѡM"B D"x/|+ x =~*F lX hnw^H >Q% /ؔ[4//CZ H87eKNWZW`6 UerɱlytҭZGv(1<10Jq /q|jt1x:"m344z:XzkV(pߤҴ JQaec2q {aru(ZGzkG ̰hI)'T}NB!H  6֮^db-p1׍##}R'F?YxL!U*O~Adݬ[0EAhoVrvƬ­->,F$k/vZ5 ƃ/'7ٮcō,`IZ*ZYC^>[TiM.Q$фˠwKkAçeмTB;k i4o T)$J 7 k5mK`nsU Q0W`n+#d4@ wpI[U'܎_*LėS uҹ!_@:9b%>B(>g..W?O"n^Lk!D/5e_xȫ&v^?l+L9I&ՁxشMNP Ol}Bi^){ "f2|UD~ESU  pA=%K!Iѐ"!چg6<چgMp&YMk^ކgM ˳b%iE߉ic4*Z}G70I$Z)H5sٕӍV) u˻ICni]ԉV2,]|@~ꪙO("Ҳ^8Rml"e7ҫ9vף}pRi3]֌We} !Ŵfǫέizy;6jŪ6yDJVw}|݆H?QCK=mL$3J2k#J23$k홙'O֞5mmh;L)]֖V#ݤ.sV3`5' bhb5r!S %L%BIVRjh} [jxra&ZO]<]Wy؀xUēψ Zu8O<3Uό!+c*[56&^5!&c.b޼gbe##M>WYy3s0W؂tւR`^޹MS/oF7|ѽ7_4 >_h s{o|Ѭ7_(zsY:kAc)HepQӛ/佹s+^~ZB՛ -%}3+gX/֕_>r8 ._nAօTX~g*џՉj4iɬ/®R@۩X"Oǖa믂=XSЮFgb^B}ٖPgU 42hi`_>϶YZTrJfei`o&kʗmrV@3ةwY[Ԇcmg\[,/)V%Ji`jdmVj/?jଲfjשCv\bO~ v:ISuhNXsUXt{nJWbѬSj. pgY#TkbOա ;-]z'_R Bs:K>NTnw,ɽK;ŧWMy3chDX,-2r-Oƕ7c7T5  yҤ|U9l&eS0+ݦOJfcճȯN6gqSL<=Lqih{=䫦}mdrL=j/emzD)Wͧڴ>Xd,CLiUEj aDs Bt/x$oNCRn =4V 1,}e*i$Bd}!]cM{$39MDM}mMm=3tqJ5졭0DJ 5b`!t\W.+\3[|X>;]P)._zxhaJ#df0C)f ]41 I?`H{LzڍmԩzŝQA >}d Ͻ l |r,V6k:20cg0SotGr#(!pUHk <\,p)D}/b}x|<@夷"Xqp{9i|֗#x&!c/ ~{c믟8qdl+R+OF'|S j+4`<ɺOtϤ&%ݯF!6}d]()._?CN?DG rR`?C(n~=[Zl'[V;ڼB>|pCC|W7#G>F| 5@܌h7'-v݂l!e&j 3Zd_FlCl Qjfnj:#_|%5˃Ya nM59dn f4ҘQZt;3QCB9WHF9^( tu4?QlPG"D+G61J>QGiH*| ^٠ްv tpyHN:88 Gة+=Ǖ7FQ!F\)#Wdk6]{3>_F)⎧=|88888kbq|/4/7x1x~|~p ɟs8EEQ>A^KH9!Q_zOOG/TMmfœ"`KDe?ePjp! 2/}VOx~p(?C>{۵tA~>AL` C'h8$oRoo{!rg#+&X&G%P2ppƋ[l8;Wz cl~_qo .@Osҿ5$XG!#z ^|ol޽TG]; ]$K̏dS ;`ϬTYe[юIXY;[; Q @;ϰL+l[]?+XxJ[v%H2eXX 6%M ebcK0~u7G̊VF(Waf7mWccH_XFצ7Ą"z8'>6Z: \wdm{ʔmv>މ4 $}!Pj彥i8uN/{Q>;2@XiGq7T1 Y)ҸkUw{(/ҘZlx_x 4:n2QڙP۔ A u|XmLɰa; \eT]Qul]D7`eQ>7ŋ ̥PtmmGʔymK,Z-@~K'IJM^ a?%h5䢖ncRrXkqxp)0[Ieσ&VH%4ID4,nhˎ~|%>YόFz-" fe{EĿ֫,`duee`R/M*IxGcGH#MúI,!X52.yP[ #v˱HtLE?x1rm !fPhgwz 'b||:p B(`b|d/^ߡ(~1BSJ#7IFøCc^^ߠ7mFqS/6|Ľ&H ?>?=֗ZZs 5)lޢwQOOiZ,Ԭ'X&__^_/_ TQJ\PJPuWY0qJ@P/zx5 RŎ2A%& I苎J;KRI*DF.J=QKZ]|J*gB $VCQ@ڻhDy``F|L+'l (^lv48N0D.vX/kg C|@]R۠B=46`\Pe ȷ)@Y_=Gq\X4U.{;(]rHZza/"|:Bem|pr,*N?ұ E+' /A9!qQ_O@QwPއVfdw{'ibm-ZEv 8&Zu0pN> 4. ~LֆRfX&p+R %2L='IacSߨpa2'g`X <5Afr3D f*SFN 6&hE L}=l|$Lws\fHa 3 `eF1_pbN1 )䍿KXf˒@Cx~bbfȾ?7<>[MΔ).痽\pQW(5Nt[JGbJ.]*'h`1_$LDZ쌛Ņi.F> scFpl0Qî.zshyw:GZ ?݌Udr϶і^RfUV2㟰9WMGMdoHTv;(7yhb%#xN׶&y3X0ec jCzVs?Aւ̔rj-Qql8>؏>"NҪ*yHNKRgdBKprBBPw?weȶ xZ 5cθ>n"CI8x'dhvQd{AO~򟣲eAFx\H2?еtczzTC|hNCjDĦӦlSyE+f1}km؂%ԋNѐx&gYW\ye2KzG-b `A@q ^;.58/KjmD~5™DP"zAXXE>ew36XGrt(R:V>p2宰;uK,_nF݉ [:)n`vbg^\aB!&Q* x``YdR<> …W^=KQ>:[_ ^Oڇ ' QϨv;YR2`Z0Jrʆ2FaY*8K]q2O$8N%Bykŗ0%;nЌ,z<f];9F̥̮jtѠA eAvM 0~6̓ AR.s [meRKReLd<:Y k;U*Z-umw&ڟZ9ɧ }FtڗZ+۪(1b P7_x$6(UIh#qS{6dMT3oQ=vJ&#Y~I96ǂt㪟ڍϹcn1烶cAR?gr2s'*e;|%^v0Eo@I_1+8lcfBfl.<rb GP.{XJK:N?Jfc؜^1 S "4ACvTA2K&Ul3v%CVoa=kQsQ j[~R4)2PQC]̴.4{pwX|̧s $"|ȕWJ"9!ދxٽpװҷ\G"G"@&=+צ:Rw=PXQ p5r' AA|_̦FөR`|b܅ޑ#F:2 y$?NgQY^NY>LΧSjt@&EȘh)4'4,fѻƋ/p~#8TtuF/w'lvuOٔh=1'h $9O|5Fb62uq#x8r'M*2 }JbY|lZE]_{8K8L]T[A]J!42yqTg_X'fp8+{㇩PFf< %eYw opAJ[hTy%%ܼ b߲xqZppgjɘn#[F‰.qlW%7CʯlRk6L]5C 8W X2M+1u.ThbڻE,$nqxX C&NcAD!hVV?m `ıD@硆JGLV^\h}u #V[|aP B! AYixQ8=*E MFH ܰlL\KMi};+TGW{ֆ ݊0]qĞ`yw~6;¶*F<5@A^ڛ͔S s'] {INO~E ɐpb8‡`CC==#c:[<&0$\'\NUL6=b슆VO?VMɝ'2 }Pfh҅Bd{{{涍$u+tHXERJQZv,ew\ "A k`в +JL3==~ &80@Bb6H==}r ~-jؾ!m`Y(h ڟ! hNٚ{SgL,?7z9[y)jҠW*&{gE0ծùsgB0ssN,_d$n +\x)Pe rժPThǖ2E0l7YjDorVZoe+ P8CN9ʫ[1ҳUqI 3 3ˡc$r&@@@KFZA҂R W6Vۛl [q6ѳ dR Z|GΚ&H3Ҽ>_H\,q|C;ل m`ی/ h3Bo!Q`Kmt29 k١Q Ko'H\JR.@"^&o>7Xz9rC"븂fRXL!s7G_L.vwJNȿQ)Nao*ydF ձ5FwՁ7q,Wvqk%Zqޫr&ޮaZ\֚Q{JKY@'qFt(NBK='.xh+Fk8@Гhu3}r[h-vyP,bpG^qt|+}&~ :-廯/Qk^퉷|lVD!sb(TA5"-vlb{LT~ٕKZC@mOOqEUvǘPZV6N޿F=$&j!e׊Mn͢x1Y`5>Ltf" +\NLiL"x /C9+[v0kp_W+fT3!J r⹐,naJ |_ [yn$F$\r/<^#;]g촎:_fV#/ FP_̵XbfA{/{Ms[fe} F݊4jiS`iO8TL+IoB; jJZIuz\pk;]t7SI*ĈknloI{7[Ȋ xfi#[2A|RQdY|l.!@V$D]|.SglIHd2PT׊HQ0uO;bD(riX|%X&$hj:Z5'd\2X5qC cҨ6Pfxa<{-aA9W#גXyJn|Fɇ:B̟q &S50c-\ox+Q۪!:RB-fN-g4 }V覦Iϳ'[^< sj`)W fzf㋏'UhuzBN+&pl/e̊a$w$ =H)n=L:$gY4#'ʖcga"׵\:@ 9&t *svXŘQZC{Sy;"T> >BH.No# MO%@bD Z wA#tI`uKJs6DR}+ִɃB D:9i3\ovS35-qOЍ S`47=it>;"7 x=ic떍~RtF41=V3tLϬ@$ƴH1.+j,CYuˤRO%G7z U9Si5-5S68"`oݕj@7}F2rm0SOFlw{ֻ=rxtvq6q0z3iCDќOlC ';z#nwrb3r,KgX62nHwXM#8oPC qAc_i w7O ˹a`'Cc9 Q-%7QO6!Tx PO; wU8V0 ELl(p(&B 1KϺϙMKqQ={^Y$k?5 '0,U]á d+{ro-`g[nmv Lp7 s3\!hs< 0!2ޱ*wdj98FauZ_4oXi\pBXz6CvZKYDgRCQ[|•{2/b0с 3S#OTq)-V[.k .`Bp3WW,G* e@҄mq9:Li0/8"z~ }oDtd`YL%\I !9DC '.-Bxfbq&GնJt%\^ wZ!zi4, ˎ4W Ff3 j6(hlT B3nsDsbÎ*i8-։th pܶ~ PFw;C&5NF^Ϙ°{|vڝj_nv`鮂n1AǮ-&cm5N1m*~|:WF)h-r*fl6$ 4$/8/j/ 5Wq:cxj-Z@SMx&Y hD$V+3ic<=ThO#[YgLݞJލgp[wcfC,[͗cf|zLu&C2Wh23yY-`e@>9P@yxtΕϱ(ȏhh'[ACg:@8CtFw#G{GIL "؇*]z:ҍ l^xue[V"pRhS-:&.Na҆oTj@,7kH&<*M?{@#u$z(؁kvo!Y^wp ڌ{PW-hwZ [jJ)T`v-N9Ǭ%6Qa] ?qW䆈jq4*fB4aԵЊR1ۄf  6l3 >]VJtY.S+!K+cz\S ni4ؤ(z`ϝ!6Qt"pC}떅qĠࠔF`ýhيqgAeVmx3fgP\^˜=~Zxӆ=?x[ c @l|O ~%ȴ6+6`; FG6gt1{ ~;cﰉ>m~6NaSث :q對3ؽRF<3#aggk/=ߎ&v[j >ᲨkK^+U0g.btRj&ZRn!SE@ vh ,wYAx:nT]r2:!{Pk<` ..ADMHeIj&V>;0P% A@ i,E"BTu*NoWN{4cNB+LyEj3@2OzD 'ܗ5LBLV 4P" ~bzQ -90ʈKMubKنٻ*@Ӫ`5,<hmm&gtQe7v)KawDs9Q]Q1˛~ $f$i{`tyq﮾pnyh3|JSgORFJsٞx+PL!#[~X[5QOŚFk{lt33gIlK$'+.!<k$KBQ49⟜pm8qZ,TqY@|‚B GbC4VG̝tqy}.[ c=AkMҖfz Y2>7iKg?3-5J cꁐXR u p W++#QB&d=Խѩd ;sVLxgWQ(W f1۸Ϸ߽}y}Q`2v<<@$+QFՉ'Rhxlqoff*p $˿Cf3á24͜$c1Qؼkp\bJՄ, jOgyǨF8w?8 <|'W~қ{϶YP:Al{9e=u(( /2,1Nlc_4|3уf{'l% q_ XsvRj2u0#&5ld9t7kUfFj)v`;zwy5nƩ_?rf'#\ Kق% #LrM43xYU5,HihgJTb5*iIT"f7ۓB6!i<_nd^n;d2U[옹3mVhJ+!PB/{ Q ^|3زaFc-rk0kjFD5Qޒ+3X>J7 䊒hAec 6A-I7칈A,4PFAnv7;@u_vh~IjRo-h '< _ _hd|jGm!2M:'7͏2k/"ړp&RzNwC@R.C^ @gҫ܃Qf逑존b!]T |{~j~wo7]Jw+O#gZG3ฮmǟf.t ul9xZvLG;[+)|)d|BdH,/oAs,FfZ2=3ߝV+b՞ÓdO \=ʚP)8s 龗!1lUM8Kjۢ/4Y`/Fy ֏anV%0楩 WCf,GĪ/9nJ*K7wt;T_V*t\ƭ/sH9V_et)^Yٳ'oL  ŋI ,Vg1 *H UYg5W2y%m2t}cJ"B>'' s-+@TFsgbb6Al)`uDTV(@9TQqf!`Z\ĀkB$,T Qufh`ϟ|kg #4G ҸQrLͥYfZ< 1j>0bz]̸HR ƫ 2zN&qK۟ڼqdz>}e0 hB&$`RƠdf##3!s^V0e"JhF+iGM N,E˓3Yrpcjb{YR)R)(PFt?vJ=uIM$v(:PR%.qGH8 xۦ |2Cb.}'H։ĶV݊fb+4u:XSEj0&kԓ|1!Mg$T: TiLϹd'Cv1v֙86 )LK&Iaa+MD nCJD'; |H5\f܌J֟tB$۷`Dny|04gS8͜ݛg'Pw =ZDv_Ux+f\|o'olهZvXo/k_w!w|e=bT_=z݇WWsI7㓊?oi-ղ|E&@_~Y8xwq4ҽs3Cjk #W"{Pw' t5u}ۙCo9vOp+_=בɝN'+$OO+/9VYǟ/rOIW:W/U$b?/ݔmQWz*BMÊ?W{zNӫ(dvIg<rS q!,1+JP;9woq-G(i= jg-E.-M9BynLZݷ}K `O?ƚ|`|9X|h-lX No?+ⰁA/_S"GYjY1<ǐ|Xs8|LV;+[8l1?:G^%'H6sݱBxh sکqC~tc5*]=S=%Jseirsplus-1.1.0/dist/seirsplus-1.0.8.tar.gz000066400000000000000000001767231375244156600203640ustar00rootroot000000000000007_dist/seirsplus-1.0.8.tar{㶱0ܿ)PoJi7N_+yn#y9y^ǯBKͬD$Ksr>;3A$fEw_$x+m47K3?Wlux_7|}\W__/ $gaQS/ON[8Ƽ1߼=~v?y_/(ߜyoKɗG??sS G~Wa5G4=l2&{< )Y?c4pF)N>Y2f$i<̂4|Q3%>ш0la"\k< 54&˦ik~vYƓHt2Y;nI!; ,e~rLpd9?_pzaN3B~?wn]$Ո?z[o^#M7Go`WkSM}yrthCp ^3{rvG&L~tL(KD 47at AiPj Ϙ? g1K>,B0X*)̄ f!~Hxx0 Gn,乃s" omEFGD~qQ}#8@.?@CQpp8,B"ÙBz&URB} {(HdH݊g!z@9r \3/s?]㹽uglWbb];k&\4vבWȒ&pIŦ~%4#hL}]GMkzzZsMCI)4s_)[C[ %7?J mv Qι16?: IL 1ו1Soh4D/6oI(FC%Vc ; Sj,!]#*=9&4HE URJ%Y\ѿ惖 )$8Z"GzrK»pDZLt(Ѹ<17?Tn"3#|G@Mk-AW nc *Q~dyvYC^O˥Z(z S̿ű[U Z?Ipʄcip:B| !47Sp먵; ؓgfQ]~72MgXټL)4$>NY<o рZ퉁F1T] q8a yAƈe@k5ۥKshktZ}bս7[k|wf6W.+7q: 31Tu KØscKT# kk90ܐ2W 1C5 "`V>UQݣ#aRe=0@h|bdúr*|N͑\i`ͽ_= d.B)\̫EAbhB XIPSng@|4e#pF f.*@GX}Vu dU4@5WIa0uؼ*N##g *drύ(MW )JF5!}J#$ %D8 A"k-JhN%ϱ:"m+9/aZ[e CfTZ|GL(b&[ vZt& oݍ *Ly[o=:BsaIrOq.ejvD_)(G#I(prD=|!Mg`;$7 \5 }FU25^Bk~FELv R.C81U$GVe=BP.w`xV6ŬJ0#:7+\ (R /1ArGa"d>m^hLdD.DE%A3$~% (#/ % Օ8ʗCLjEjBM gq4p/vGП]z T}|b~YQQp2(/И-sF0+ #%z1O4lJwH\RR=?%x@( $ 4Ȧq'a%4UpO =)H b?i9K$={-TWR.焺dz z<UY֔T % uvTGo?3uҀJWi5\!Es]ctqTXNuvcMdEi>!m#kN.%G1 8h/b ;r5t 5>1O>ITQKka8[j߈HBl`Æ_Ώ?8%١5EֺDY%loG<=DGR- ;d>J:T%^Z&k;:ɋg'MPecQPUv^3EHH_KZ >}\͍XImg+W?$B<[ '~Ic^o<]8N)&<U b >3Ls`:Ȧ֛S@K{R H)J5;b6F;;ɍ?O ؞&J2pf]Il7j õ^qbPncY4EwPG&MA5 vV Lfy< KA^IҰG\ :>,Rɲ)=D9#xy]@wIX*7yۄ'}G ~H%@[*~'ÃLaP&SS ȧG-|s9dm3y/ǀQ xKgИ;މin1LoO# >t1yLIHh3DWH#5/ YRGvaQ9x-n|J6r0n76m5! ;;rw~})___~r~y櫯_/O~-}bFTM\&ҏ? ^fJ'2eE6lgg\M*p=mZJ[(`O\9č|>%֤J,T!dϾj qj5~Y[ g/Tm&y4VE87>ktD*嬩\PKݔGsT5{I i6Y^JG·aЛ͒H{y^DJG_sE.3?&Q<\XqKrB.$eC9j&`DI"uAdڲ{Q%r> M&aJHn֩5(~$spXpgVČ,9Nc 4_ysM:T u~]'lJ{ΑH\r27!<9o? AeA2GCT( 9"' ނ k;\\#$c5FTVYXs=`kRZ, 0:7\hXO, tNA\YSU+5jG^[8-6ߣ9sNYR klUXSCf&VyE6uqvZ:> &`\'APLB|43f@hf>#ZW\;FX |aza m pF@ۨ9 ;uuGI}|9؝V{p|f\S:Vì3Lj^kEXˬT*^l `Z-V&4<H-23λ'4Uɜd7\Ps}EAwŊ.[zot ?-NAT}oWYa sPQGM:x.4i3Vb0^+A`fk??N2Z3rǥb7s|+^!f$ҒUV`S߼KYkZ]jZRa QY~ +Mw)-W[:VJG#euܺjۊ] +R w8B,:j|\-+4bI޺̉)Z3mbxmiZE ;$+c-q%Ye~o8#W[4\NHnc{ؖRCm9Snp?- , -=`P1 b?tz7ᖽ&Mv4"Ghg ;wf ;-݇/~22|.ZnNl MoUbC]VbZ!־i5PTW6̔^L:/xDO.G> BuT3b={Mt|N>o8 .NP=LpK< G=ـG-.dYo6*}:s/XM?փrk @r.I:j8I83+tJCȘZNP^mpfK.$)d% D*zs\4и"lG wKs'\,x9Cw.)ŏVJgn~#Psxbw<Ől.=΃LtVd{{X֮V/R]G5fN̙2?hvL+kJ KutÀpFHRK&lCQ+ǭ9K~Zj/m|"G6?tՄkqϠ,H-Jȥpi63 O>O p1!P" h<5" B3L3 cB\(U*9[jhԽ =~oS9ݧ#qc`h|*S0(`ֲ"$6"ŎQ3gPSҳ*5;xCp|?y\S T PoE,Z-dz\NA|Tw3*x$qK֚̒!˵++P1B4~A'f7G- Z1f7xnUZ/*O׫|Ƈ^3BGEȇ ՅR% ?l p\6U82U:)+h%,UޖիRZ]=eE2@r^e*n[W_²!$cuDE{ ;W\J2qe>>mQ)P28l *}p*(0!cOV?/t鹖\Z'8 TCsYV'Ҁk6S9R"Utg~*k:"=mg</1u2(ෞ Ó"y:(<4,\rk?ΛZ>Us6SUdTǯz_4wv --&R!~Db1tmř2EE™zU '*{Nh,e~/tN9QCf՚] l:員v_d~{K-=_ۯx?.\õ?U#E.V'*!(W~σ]wJJEs9@u**=bxvHOFc !?BqZnj ~52?@C\wc`*| Sf*5_ɎD|,fA_\U%tsvV fg}[ 6䑟i׍=%v3g;?HvQ8W$A45P U>×#ۄ=pzo5aĪw&^fCn̂ntMl vMl!@&̍@Wi:n !|~6 FT&P'Wp QiVh7k,.r^o2aCeG\<3"v9t?k76&BRMrhְUS/B͌3-m? Nikt5 $[߉HÍQ39{bRMP! 2l ~ݽj; P^wMOnuk e[M$d)_;CaGVkqdh%Ux o@ `:^ek >pjOj7VdU-AZM\&;F@BQo-!Vfv9lhF~f9QO+V4 ox:TOG@~M.3HaC9kέY?8>t~-?rƭE#ۯ#UWA.1%]!aw$| %wy2tE=AHu~jt~r͛Q?Lo&nͻyՌ߼l^7ͤy̚Ast0""wϲ,kz3$f\&mD?AjO/[9k򃲂p]wJ^dwWBs wj/޾v8…p%XK?8ྂ4ְ!/>T@}{-tMo.g#& .(sʯ9xL5{7ahdevqsNX2eN<\Re8rQ.&)TWPÛ$̓Ëz:Z*E(N؍+~#vm oxoD#OyX lY9 LёX֥ϋoG=zJk F٨|5BYg/coR-#[|ŽSn8>↉=A uRY.h[fYoyqjqoZֻN.4o')`{7db'@Yk,-b7/CP?U-riZ!Hh Iz]ZɊ/SYWlw\ v =Eup*.pЫvжW,.v7ˡ㛗M7/_o^.1p^xQ|;6!Ϋ?q^f{"1 j]K |ude5s~惓RH'jBPG_2_~wvW_}rϳKq;/|ryƛ7'/Eq=?:qhƗ/9h5|0>~2dz,lY> eb:?/#츎/XJs80_ZX{8 kaAƟ(x·w˻{1hwv65u*l;&DtIk Xi%^jG&wO{0zNyU1w |l-Rl̪)usy$(XB;Hg)Ub//ً,Z{@Jc(j09G+2F2LO<b@Ȍf83~HH&Lkҗ Z12d[ t^W؁C0t| 1indCeF VZogj1_}ˋa5b &VGJwݘ/) X <4DwEˁBr4|yۘW6'ylSwd#PU4$ԍ4aᑄ f)=~8d/xrI4JŘqXr;EØرu(͡)^o~Kiw1:#4[-aB`& Lz%G+օĆLl؉B6L$NjvA&jTLT URoaJk)~0VEhâ-)zxtBT9(/-Cb#^8+T1AH 6*tB.@P7ԝ jTHmѣ ts Hw%R]|cm ͆WIf) n,2+O6D~&A'# ^aOFx>Y$q]aK6{+вOY1> E W+DM:t\et]e|DdwRκw9_U]b9(|S|0 W| ]w}ցCyf<'uk?^>`>D=̂X; &6p\uI`opF_jGU #3 6e |=ϧo5GmEoO;' t7. I۬7tBZl& $v aNYRm@}MB.-4[ҭnkZwhέ!KC[Ζt6 ĿkRTҨhn< L)XÜg\jUV qI Y GtI3P8Ja>ηyYSsclM4zH^S *V߹SwVݚ|RQz0j涧( H& Gx) Ayst#U8."lx(XC#)Ib1UFb7i[EU- 8'ȯh5$?$Ns`jC:*pJZѶ5(l&>?ڿ!A~Ӓn9}>*$?IS1Or9SN#7ShkDx/lFGMNrM)YW; (qR)x7:PSrs ߻*N.]BgמlQfyvn:3X<@[@yrdCGwz8nǿfkeZQ^(R,*E< |# g7~6%.!|Gzi }qK莽MY m+0Ve⻜KaKe5)J]ݒZn Y.b.mssZBڥ u{E` KG-ᲃ.irއ-nKqLKj%uhB~-x$Y8\CQgtnpӉ;TS9 M6aI_ژ; BG <je?EH;ZJ~WWAT' a#0O5G 95nXQQq92畟^/:#¡?ԯe_G"XUDĞ] D&߄gϛM>Ve6,%xfx#]OQLGs|´s/4W=snR~#s_:Q re6B; 1 V;D[g${8܈x,ru c3i +a=2-;)ϜctS 1pƥCy vmPׯts=A<4Vyu02hWaraB2N"Q[zotL\֌;nƉO&S~B ,t}-YC (A?RP%(B>hB>B=-͑BMHa9)*W!儜+ZBNh{."4ז2,Tn?#BJŊb [}t  zG!B\QbH7@ ¨`ew{kK)|!Z|(Av&Ĕ[ꋐzSp xrJ{J|~/Ƌbl{_bt#G2tx P2PkAuC x6U4b=_L/^V peXa@mԦ&+Z`gb]Lod ;iV1Qګ"7C/W| M1D(zqoxL&|4yЌf fd `B4U2BMf hJٓ5Im84^Ҽ?"4U4BThC]U "授j'3φ~f(Hc#cnPY]Hu Z5O) (uA|DŰŵ; e4EMZ?4T&s1pd%u,?㵣YB(TW0H])U=ٓWQǴYXwbvѥu)_;[#:lIr`6' 0[30{]Zظ0~g:m0[iL]縢ly&GlhB}()d:u `g#oÌ۰6 3nÌ۸hyC*~7o6bnľ݈}CDg͍3}xi=Lio̴<iM 6.,Y\(@@uᄵZoKuv:6£ +4Wʋ+ϣ -L/?p*PXi V{KCDj0[b0k<ڛʃíxų vq ڮY`2gtoV.O(!5}u H!ޭ!s)߻ZCW H0MuZY8`zj,hU+ iUQlEy%M{9IKwz+!O{#z-T7g%YhII:X$PKӴolwQ RZOgFn66?6)kx>:ё(|Y3P|cFygXnrPx]ZΡ1,:}u:[ԥz[7vށ[BBֿiyCqTFY(DH\@hXߵO6QXrH9hQ.㧄ޫq m߲4  l9;Aoʸ zs;AAo> z+q IfKyVkt;Ɠ X}i(R6]u0-tz}woi%kk*+_Q xp*7<3fd J\`Kmz;zk#?%;+*uި;Rb sɭTw9BF?>CX~Y ⥸ =|Kvilg+Ey_C*>a2VFl ip&:ῑBw y.pH `Ff7>^ʊN ȌSzd~C&~+ IT > ׅ*0HAcMWqQL7HX5>'l>X>'t|_X218#kc(VR\dnQgb+V^ n-bthZ]blCU-vi=,%v=lj ]ZS[/&&Pܜ~Xm3`%UDs<+4;W{՜\U=JZPƻ}V=V둧א6cᲴqA+6T*iFA2! NrZÍ ߶8 Cv`o}qv=6-V]M\Ig7Oaid+TDhͥ/aŞ,Ő:;O|0^<~g3$)OxP;Lݪd\اo.$f4q/ĆqZ#Od|FY~Ȳ4 Q)(x@DSAAmx.OJ$o[zG%-)+/ܤ`hĝ:y) m]ѧXOtY$V9&| P.xƶ$TbE/nI78P, Q̻x+ ,hN3P6^f9C˲ruh&(!䳼ۋdjInyM>oVuFz.mOo bjzCEH3#Hڜ^|0JmYoQ r,&X[f׉ u"33}jb>}MS-fd6/fn)CO~njIK:~E-ٚYVBkkd6RnŲe6bIPbZbIծ\j d!w-֤im0'Ϊ`N0U]6`rN@+XU0N0ԜKѱ`x6 kӱscUQPk|Wz뛉ump;7k\ӠMc{>a<lt_6nD#SV&$L}^l7 q9+TM=p6A#LI mU^uU μ2lf2 c2*Ce ́_H^R6m!Aƒ!F>̅8'8g0q {o$`e5@;08O76yOf^P,EqxVdL6A? [5~DKM7]L@je@6ͩG!on@AٔՂ`Y`Gluڲ+}h«h@NՁ\N\ 2w 9 m6ډO~42ebre3Ruv4(8{}h.mw5Uq}6/=X GV UCB:Y^%JQ",^`RQk*uΟX6 +5Oa^ UbKe$g̅ӿtN9: rtjQq /@W 54ʟvhe9qXRTuXےz7Z.M@>"V3aq%*mklشUM:n"D-C7m-?U'Ix|wQ?ɹO9L-=C-*ohm`6:u6\gw\,\IΦvݔBNr6nJ8ip^@v IۃM N ^myt1LR+kwrf743pWteeJR{qx]ۡpwuth.pP)RFlKD"zTon vW%(ߔrU;wur}'RnۍwS nʝ(w)Vg (w٦vݔ;[rg?xK n6Vuhݡ5X{R[1v2/C!Spӟh)P0RalQfyvn:3X<@[@yrdCGwz8nǿfkeZQ^(R,*E< |# g7~6%.!|Gzi }qKp9z#p\然 O}R+2]N%%ٲ]vuMhm-YP~E"ܦ17%]ʰ[g[ ۀ{}ےaY.;&}ؒ˴x_[R.tiRwxs GQ̃Fn:qgڷ uY^]kSz2ENŞl::x2ցת /'S/%]s􅰑Lħl7(֨8MJ/#/ \iva<`U?nv*AQ@4j7٪ff>Ve6$W0o ωk)sa=2-sb0i1ᩏ]׳$\i8ƞJĞS{ʃaOs(IW#FxW f)4;/$7FiůyU8ᕋDV#F_ԜFA:EӥfJ?JP%(G PO%rsP&RX(gN UH9!犖(K(눐RX¸lVa*u:] !Q #2W 0*X] j.EThy&A^ AsBnbʭEx[̹m9yr=y>cx16= /em|o~k,%Cu?qΫ?_ޝu߳NvogK\u.Vwc?MyD˯?x,l+mx$B @ZQZݴ.b!:^!&a̪ظfE 'VHhlQŮQ, ] @e.j&*+-vc|(`/rA/vD ," Oѐ+?fdA`L!~А㌘cB`/=uJvܑZ67St N5LN $PR`Bh>~k0"v8:Z+vmEML Z80o #L%T(xK(t3Q(օĆLl؉B&e|}}BZ ZJ]WQ֨]}aіRD=:P|0 R  GCnH+BРx_eq=x{6VÞA#gXcu bb qC\uH(~h+Sxk*i>}Ӫ&y~Lw~L2.՝_YW~2˜ʜˈ@hww@@ዝo.=:h\`$ o**$SMbG`02Ǡa.0&5"xݧܻg*MRmR_ Gbw ~I5#qgx.ۣv{t#o?8:Ì;^۽*9|{}f{wA"Mlw9ጾԎ J'uy.=Lju5 Nn$h !nD)xus@߷ q(#Wv2~E1D*2ªk5.?,6:x`o︔ugFpSCFgP"yGu~?i<G#L5eBPpu 4FPƙ8%RIGl`%C V*adH WH+}zXw҄t Ş=[{"L=Yjx3>C~Ls6u!P#$ŽPS!3ձ? NP^cziޞ'=n/wdžB2:x?{ /3ټaQu4M{o+{+q?{lx kulYTlllfs?34$9`hY.u 4x!;e& p'̈́ѵaqJky3ǍОe;J߆qg8af2YCsSB]ax"dVG~7i2?QT0OHI>ЗE!& UTfEa (*~,W@AV"\.a"f8 xzuF=WةC؉^xĥ1 Z*n$5=5=NŞ 7r]+*n:w&R":&/A\L<ʭ@Ԃp⨴ʕ]T;+ܟ%Β,,\Y(Yw9s_Zq,D#8gG!@:LEᒝaM؄w|bC0sApH$piXE^bؒ5{Ay#[`XX(6Mfb3qXEl]XqmAMI,::6Ȉ 0 q83I\T?Ԝ{J} Umk;o9 F[||EY%"J.,u\eNrC#oyeY9a-+rـ{zz^.^wbB3\"ڼ]RsF ouO{s0KA[2ǭ_B/J3Ɛ X-G+xǗ񿩨+D.%\Kp/'\|/'[$\|.WB)\|1Xz [=Kc0\|9.i2˨ݛ.ENaiz뽅{%az 4])pwu  .%\Kp/_źKw(C{+n|cgW.~9?W{{ 6&ɆO<\r^?.p쑾 pKVx.wVrt[5uqrnݞm&*Dn%\Kp/_ſ .%\>\Vu0K'?.7'؞#To*kOA{Kחp/7sſ9%.x16^p/1~oWʣeƧfR>X|$kG?@#j$|`U&[H?P׉? @wwXq|(`֊QEH`iImόxqn4pLZCXat$)EAm0FxTc;O#j@4'FX38]EIQg`bugfKP2g+ъ97C-QY-'*^sQhVqӚˍ^>F7djhC,DpűWY`9Rco)ΈKiŜl(C<r0F]~x,Ȇg8hO%.Ǹhnqj-ֆJ}P\F F oS"i^9nnsgΐ%\gFZ^3CJ$’s yqkF1恒RFuA2AyOc9b_sga֎*-CqMŮzC;śAk̭j1E~܇i0`9y0|9V^JqA6\j77%od@P}(Cdٖlk"f;Bcv7/ y&h'⁼xu| DA\'l&K1 {ENA0{,_7ڵy@bനX2yhϬ҄Vyq4Zb-Mlid>&2]<xiF3x40J9])¼ o :OҤIìҤj2ZE oTT 4)=ļAu'T1T V!IXo]e)"X;M n~-1Ti/-(?׮x׾x=寧'dM3SW~_ʣH A鍱 B }fQ\&^[M݅d.=.NxK;NhjI)P? 5?9wJ5̂il9Y-4A@ SX ѽ%cF1#h O㨶0L݄W}'o(&-LdzźWtbvTuW.^Rl[qvsL6aa9mlu5V@;8^_Z\:۸47!6K!,P}KZ="\"_5v&A294$k5W|2,=MTzM{ s7fvZ^\u gƾC<83:ʚgN!hQI?#DÁv{NBHkq, Bw6w&i=Lio̴vli'f6aboneqR@Xa.Ԃejl_$vĎ5(,7 ȧfP ҜakZZ={mla|8#1MөΨ4ru[\/-Zm6Tb7/6 9NܮH"'w֯2|{ ~7p177o/dw¤/8;|ΨTCb[V":㫢2x#^Q˸ Eϵ:.9և. װnBgM?_ݛLsZ9Ӂ9K s S4Pa^hӝ6(r컳֝V%aeKUJ7?RJ`4a!㯩|Tt|k-ɽ26Xa5fR ȯ+: G lX WKJtAf$}=Dzx7Ҕ"޲M )HEW#S%qu x/z|5C~_~Ô>>ό;Ad<tzW{Zn_"Bӯm~ q/Zv}2miAˬ-f6KT!ZIVlv}~ vC x7nwu&殺E؂y̯Ʉ@} ؖ* |?X&@̀0V>',kW-~0!֊x$ሳ 1T^Ozlgv½H;~ G^';2!~vw]yiۨ:c?~C  {I,L^C$ym,2G_A5^J5hE{K41U򅫣}#@JU'H*;ƩVw_BuVnj`NaTXLDPz⍷~ 6P}MWE Hqzcknpx)>SJ[(gY'.},uH'"ovug}wD .]L jX&4ya2sKiTX dס),#LΩ0VRn(=CmK3La9Ǵp@kXF8&zHzhN, 7kXwZ`acjMnؽ1>Fn 25VYkɹ;@.n)'r/?%u*͝JꄞH*!iW @s+ 0U\z8#-V'|teDf 4=EŸVx( K!A/),3[KY#gFTB2rvNsҠN tҬF-SFL 2ݠkf0ÿU2"3ycҔ8A5ɰ%H2e}2&V~T+qiHT+h:x8Ӹr X*p,-ȨtP]ZM6lvqYưF $d߄39g޽qD8CV:u0ى.,UX5'ۃ,HfrDzrF$7TkY][P"vٰg!f3 Lbr9iMH졆L 7؀!9{ķٜriCEQ-ݽY418* 5#'B__ S'[iƗDstرbx[v@2b5K3z}1 !BhÌ:}}O")Dw@*RO4wf|oz C[7K4ܓ92-]ҧo;86f%i5Q .q*(\;ېL!q\[t#wp+oLY<^Nh6Ch֌nm7 Z[:5#[3MGnwynxng?9ͼ'Pd1ۙ7^CWf\ T`M`3z .Yݲ=$6{SCQ/'w(d,=J&ޅ(E Wh1ܢD938&*[e- tqdǏcA&0!wkދ!7GA_Ncp0,K08aJKiF1)39e̡BCH;!U/(uSx5}3ثË-bq]V蓝DdŻ*p"TV- > !q7G>s\{BV{ W 0P,%s>A%jHA{Rl(s3T;T)NAjռт hUVɩ_ьfQY1<Ig$4o?ρ&^G9LzYܑ̧N9L7WG } \nqvr`>oNRJ d.LǡA :dX[}rnAI,urgn( D̂̑.D Ȇ Aygng_Pӕ}Ѝ~dkBI 8f0rRÙ)!{D Ѱ& hܠ(HSf: o,osf5{󂯽|$mm}| o&(Бߩ?`cdh{`e go$oy/+Q2 a(g$^ n`Que5sdK7b&ۦ4! $'}sWQ~ܕt }Ps/z*07rkjZ0`m#΍I ވT2m <->~윜6}9V_? Sɲj N v<(B¨-&ISTJSv(9T73㷧#lO:8<һꏎ }Sd/I_e6cEthsnp^ʘ.gAL7#\ZO!NZqHrb&.ͱX=E#;Җ.ˮ󿲞fo'틈_.q:YR%lpKTYl8OmL,Xa;E5r +]+Atdtjrg& 5D)ccmfqvU T\t#b~_ r!b퇷]^k s{&Gӊӗu:xcTɤ|%'Pv)_&OY\*\SfUffqͫp:uj6f%rlf*]ͲE^EXE솲4_Q/~!JD_iҨ9z:lMwg@w6:nR_Sьǧu֖:oKi=mK\ ތVw1R:{.]+sCy3f`f tRb5}p&5 pF;aN .@/>Pa/šJ`j`Fffͫ;vX)xY5r;Nވ NP?)Ⱦ‡ m[k(n%mN3^{ܦ-{QIq)&+ArB:reeRӌ ЧQH5JbXg_izS"fK T)feJ]ۏ,n5CF"ߋwIR;Q'>yJ$saݜDQ:5_wKXs Ẍ'?sl+j noCE66KHfۼ̶MilJmhu~Gvx>_>:c.SdC$G I$Ut4rX/Tqp( n"ҐP迧9t[2}ᠲKjAvŖZ"2'sM<mNu`a?XSiޚ&Dx}~<u Zdy@] 8X Wu(ۢ~zio\0NMcy>Ow+p|pM00?"IK}cKXNdu<DWpXMŗXs&Uj#(rl_Gۈ)\ST;oD ޯāĩCFwdqkAW"`ҩv6eA22XqӖ`Kw/#:# hxDϱ&'CŻNTy3ic8gqvy'6 {cu\4X+aA0ߙRXh,q:a-N4?om1wIIb΅w{->s,9mϲٗcg q;9ETP]ꈷxl Y.20IT^e;$s ׌]j)2) Ģ=l"/Ob %ߘFv/X8 ##|EѡMj"ɯh"x!Q(&iHmAJQ+$ aHד1wԖ4`Fܔ߰#ķs6lpS _<׻Q"(cYz{H{}0ZGv(1<1>Mq¥{+^ ~V@ͪCdhXmq*?V+LyAoRIiZga3J%y/ 5ƫCyҶ'K2:M ̰hI)'[:5/PZzqJI\7ĎQ%9h d2c?YunrN.q|B+ַ &[/>,g3#[vŚLzKlOjnufT5[TiLe\Eϼ)SӦY2$~KLICRBQ$h -"q>E]?\\Lz _)sĿg堌"` ůѷ+ի-uѩw=)!ɟ 8$QQhNj^#W&^{˷=Ԙ v*Y?Q7=T+/AWQhw'A&Yr*^7Z6\"]`9a͕(J`C/[?\AQ3N``1RQ@Gb`/Ix)]׃|ȷ[,h`dGyqw/a6c3麫߂Fbr" v;3=_زBp*8m ȜȎiG̨d"P9 e)l;A thn&uc)yB ) [z{qXܛ.V@5poSs(ٳph_Ub k(I#꽻/1)1LXϬ>2y)d(EB=_ w| ɘѫ_~HlTwrhqrĕ\L*fTa_ {%5%vV k9k(%XCO?iK4UK؅JRT#ېx|?2`ƵӚOm3u(e{\B=BI&۞xXE&{(ȿr7;[ݩ1rtWemBΛ _ZsעNJ=BDUOR8;VLli][nڔiMM-7rܴIM-E\ñg]USUM&uc׆5̈́afMJh:ybZ\Xպ9h}Urn "qEoҸUL33-A[æGh8V~ek)^>8tT!p>7H T0`R~@Wrm&0vG j&|@!h Hst~ؠg&p{7!^SjDzuH:/?zy~ww\/Tw?}E!jw *G=">gn&,NAI)EFep Kt^˂~s 9΂,_u1So@8mĪ!ݨu}0ڞLCk|m=2tq J5̭0=J 5b`!sn9Nl)$~:Wߨ^͎nFԻETv?ts2fH2x;a"F!==ﭼICN>зtF[z ހ+*xvZYwoLPoB>9E +5\Dއ3~7 iz(!pUHk|<\cIv"_bRϗGWav[$+no]ΉQ>7p5qpɇ[qne_z 5?Q@·Z(CCߧs Dl/ǒc<NJݟ|3x3ɤ$ZגߧٻΉ6Ƽ} nw`Ib#} ϡSC=>Cva }:C-w:U>!-& %sBӗB S,~@=[Zl'[p]l!1w     a(/Ⱦ"Vo10'If,`.3yTىlHN0{a"W6BBi7ۘ Y?02_~v'j/PtRD>2++b1*y|Sdj _㕚Gr r.D"'>N/3py5gg㳳lX*o:*Z-h/o篦l~a:[blc[,^Xsx_gWI>җ)FYKc%]KeQhaLz?Aֿdwׂ3tWu qpoe2rK i{6w4̀~܅s`.6A@:>:9)d0 |V%Ht3NF{[h Ւ0 y \C2er襔OMj4W=C Cһ21Jd: B,^qK>:Hnl ʵ X)*A,TH)FƋRV랑x811GFrKN/<ޥF\[%d5nIn789 Bm*z*%rK``!1%@'*KR"T]\Tʔ>~%.c*([lEwlunICT? dO\GRM\<{k6IJOEۙFf3İaҋݼC&q5]F`ӡaF߃Hv`h`>~ ?7Q-EO˥^{tEAY#F.oEH!fNBw&|0\bUnbHR|E=(^Ee}{}< /O+ԧ_=7(Ϗ˓s9x峱AI+ƟYe}9eQ%PZ|e,RC *a;ona붢( \Z&`+|_ {Wu)Մ3<B.neq[v73hVd 7\p{#C}YջZz{cbL{ԨpGqW,Jg3oo !zT*Hz7w z;qA퍷up #MB;">*"Qg5턭&b >Ll6{cqH 69JK .pܺ9ԶS:qy:vPG3t̐) w]踒IA7_4{4!=D_ǘkcڪ)RTp)9?1~>8˟iaMքbMքbM2I5ɰ&9$ǚdX{ƿ~5ET>sFɿ1kc2'?)y/Nh=r\“1aeλGq mHvbr ق `-څ+?/! n Z׳$7\a$x1x!o$yMm%v^,BVJ`&ԒzqbkXXŻD.Q-$^6/贸*KTqy{q; kXmڮZ6Ӹ qW#qjgxvڮZ6Ҹڴ]Vk7]eMZ'5+L¾-Hwp=|ѐ8Ɗ'z!䬭QWVJj~5twzE/6.M]zjza-YE<,G3mYbΛ]&y<xy`wԒ\WbzOc1btV |*jƼ%X)l7-\O[R=UiR-IKI >diK Jn^(J Ta\KruuuuESJDbĄy:.kqYO%p̷1߲6>x,6qAb?X1Zbou ;XJ,#ݔ}w¿c&֗|bb=+nξwʾYBėSpaq\|8J|9gp~]bp_Q [勫yuD_NS;eq{~m3_b![B%茇p/S%Wk"ukb3bfv˂vKv˂vKv%v )c^+2{ɝ3~nws"0fx~xk"\/Zr%11 px[m;*}@z;$l%ˡ3*/7[IJ>ԏn4.0{3B=b^(a@A4f?sF8*hbq5L՜hI @\qzc,/)XFhܬequFgO'nX1acpk]n# ,df%K5W[ΘP1rsM 1`E Ut/8%ŀ:+JS.CR=\!**V`U^W^ΫEiM:CZ8]dȰZvJ jOc )̍zΓd?8焒Xoffuj$k0z&#z*U)#LH;F:3%)n!1 % "qA \5@}@'xO1ۥd1XGa[ޫdAo$ne>Ol(ئNI>lL 41=da[BK>6^>(}')"7l~Ɩ}^ݯ޻{)/ٟsZ3wڛQ%,/(<(xP/ q[=eaWC ",i7-6 `cx- :ۏiA˼尼ZN[>Cp; jbpܶ]& =MT-Q$(*t?&.2أS6<':^g*]1^ D봤_ۓ сp$"/2@e/$^悺2xhs aU`˫x_L!,pYq^K= YݥT diH%+ \ QlhS.G槕΄L}gA /mYG^Z|ruh"=HdI,L^ô\Nd4Tw_k}5EH!.h6JW)U iZ IX_JOV=9ŇSad"rd;;!%\,fޠZ _|5w&VHʯz>{F6-DA^U !|yx[wzO֤5!mfɫ:nkLA;b_WU=Mb6dktTQXF!m ),#LR0Ma2tKi!p M,a,a#C($ 3LzZuZ٤%63l]-Ed;czhLKewfTrgmvDfBS\r6,#@1AeŒ%cZx]}oHXF8&Rs׫РZͩPe!x \ ,# @jnǠ5b wg71>Fn 25V٨Af#CF sI=婦0;5;]%5 [2{$_C@wldv;/뵁]|nŧ Q~%3J@z\'<ϑ+l s- pӲ:S}y>$tXu96+*DK&ee4 )62+*d&Oz'thܴ&O(((96(׆Oy]i3/@ ԉȠ1kӶDžҰ@s*mjMcW^Q!1^8EңjYVUGˈhzqpSSO2>m8Fqiu-1,SxMg5[Scpk<,,{pf3k7SLO 2=m4sەӚNis8sMqsݛ8s.{f9ohά340l'M[̴ w0>5 f0m7h⒦&NUPym#żΞ45s:{k0徙Zo~3ozke5WF^[,ͬd>dM4*Xq4wpjXob^XmRnɩ' xEE*<$?T*|h?@"~O_] Kg_3 ^SBun*#d0V3)}~X :lRKMiHj%j6[:dg'reEYUӜ1D/Hy'iD.PǀXPhSQJ;-?1Y?Tյ7JIĮ ,I4~w&$)/f 5ߕJbŭDbTks}b!4MumjBku^:z"7؀?7ŷ.ұϊңri[z΁CQ3mkIVDK"IIlO٭`~/[X-\r{?Ke4!BhÌA"z:)Dw@*yO4wfK},Vo|[.$[+,~|-.!*}fsۏ:joZ UYШC-b!P !h>QVȑ \poC6ß_Fa;*Hdwm8ImэFhi<48b:B*Xe&\SCϮFxϰb?GONVq"nx6vc[35ctwv\vP{M|Rs};ykˌ+ ̾ rFOA%[ָИ&zUrj7E4"?$gQğлp?T}Qgfڒ@Чwa/*f-Dd^Q D_F)~CIq=UKPjQ 6x*~?\wj9 ܾ>~4~Ba~VdFTBr0?I?Sh3c=Q'tr!iiβy|%7$ 5Һ:[$Ř.>q9;aB:mt;4}9Q[Z}\AΚRB7%˰XJ_xԀb(1 *W{Xņ2š9ʥU5N#NݬQ-0Kȭ k:X`VYjCCtJzhhx9Lz\ )ny:dtg} 6eqvr]rLBb%ӌx8캻$D?t}_FT?$Ȟ"LkYj &0#+s:937iz"f|sڧl`u?~NjOwl1ɭf%`<QOy]## , b*-cs3lmdZn§1`<# %Z!StV#FU#i 5lޡ޷QܭR|{v+`F#Q@i(, 0 ~;?6ڌs]e^{9:A`HmwѩB`I&R?FNz票ldWp,-[9]V &1;5=/9K0Bp/$bt;Vlw'Y $aY wm#*}AIWÇ>?`Dbf90L1[>qTA p@a%4<Ȯ 'ۺiP=͇@V *iVmf̱z*ҘNFۥMJLH;+y'r[ꓲPM ȕ+k7woM4s Ep:0zlM]252oTn8epZ[ `\ W[Qέ~mEBZd.>@^Th0m젘-\EMdD-O=틹J.MY1m?kW+<>+(Xs%=Uv4cQK'r *ʊWqށڬYYH p*3ĨcEtX &(XP6ae2lFH.G(#uʈ]@+Oy|a+z;,ԡll1_M jiXJ׿K:J61+iAz\KCNh|Jꊂ 35zVmz% __V*y>sevk}/з9Y4WZՋ.S3AK4zYHMIFjUXϲvRc=kpqVP7 uԝnWE\wJsN "ֱ3,.zavYTh<HdEh ªQ3ZXV A4zYHOINz4<.j ۢ[>磏-u«˿F^CXw'o7m3G/\y]; ERۭ Xq)1նFk'/!y_D޲n#w Gm_ ]r1м u;{okNCJ ]ʷUNx':B%8s}ψz792hwȧZ_4G8*?Qޤmpc#{Z~tX-#PwT6QV Gn YsF%K9Ү(:SFN[\1JֻM{i@IdLZ#%)G &/giO!JPftπw a ]*ZU/X~ݳMM}$#E~ngC'=n{bSQxS E4;/m8m^Lrb)`Xx|_.EqdB0/he+v"ĩ6ĩ&D4BEeب kO kӇ<:O3q]55=ĩ6D}5vhD;fMv!遝3g#c%dVcaG m $wfXGQFSVd~c?L/<) {Z9A+Aj\ @8?&B}!?W$kE+Cm˻(X}V8h$CvP]{KBlG3 Zec2WRqA҈ɠȴs*vb_8³;3k^kniSRB/McVaV\έpVu8wyzUgKrͲE*"/"Jf/,m/L([v*K X5YாrGϻw{y +sø ѻRؚf@i[ZO+vah^d ы+>>^FpSzOBY[={|Zmi?>mi=}|Z QیV\񩝶v)mipOcpݶ4mkpOdp V}ی6/VЃc Et1'k0aYLW~+);=U'7Kq~htU?#S MM+M%db#ԅ%4(MϪxؼؼj`&x`xJi5iCp6VhNCL#%&2LP)' *yh^Ɖ9mO̩qb$Й Lۓ39^۾} vyEιqH{]Q$.El㤵 =bwŻp~\lPfP k\n/5u%򿀫 a +n}rD_*]}xNjӔ-k?q։EA_qb9u)H8ޥ$mH㑸;>EN~ewo/AjG*4 _`[ZC1NsDq,0746[_xǓiA\6KKlu@ wVIM3d.>EпO-VEMwz;89z7cc^ҋSh%oYy,#[͐Q.]Ű(<%S@uac4 ;E]|]/arLʌc0nt-xhpz il1/b}<䅃<%/y%piI:|†|?xlv; )kP~pQ} ͢3jnyjnͷVTvE&q|+qv+E-`žWb2[cAK!BDwg^>45*Ι4Jvbe K-j =n4eIF8nmi2턐X~[OF(']6FۡR\hFX1)9fGogرȹƎ ȈGrol"HX-{t.n֋CB!e]#m+GtI`K 廄Ģ=l>)gj=$;lpt+G(d&``Hm"EII,F$k/vZ5 ƃ/'7ٮcō,`IZ*ZYC^>[TiM.Q$фˠwKkAçeмTB;k i4o T)$J 7 k5mK`nsU Q0W`n+#d4@ wpI[U'܎_*LėS uҹ>_@:9b%>B(>g..W?O"n^Lk!D/5e_xȫ&vXwʰPGw!f>JˊG_{ElK OktMp*TKj]JeteZ3^64TӚj*:iبڰZvt+1ZZUlwN8#DX M,A@3L(ɬdf*JJfVVgfZ{<[{ִ3ѧtY[ZtWb j?Y ΀؟(TVȁJLIf&dF23df %{XIAaɓj4lmh;͆xk[S^cbDV'NѤq$4*7hꪠ,_lYe6hI-:G\#~Iֈa՚p WvhNKSUX} J׊mf`Q_>zO[ZU TcMCY~z '[BU5Ll ˠ?~o?٪giS)훕+Eخ*YUbcidmMXR~pmX(5˃:EY;>ʶڪł^qE]>O~',۩$]N ס:-cU=Kc/)^)EN=X4|5dLXSU>ŊW&dt9 \}K) i.ZR8Rݱ$#,^4]iΌaD f<WzLcyHh_P ,t0^F$K MЛeh.ZMìtf4>!+U"h:Aۜ=LiJ3/0٦IS/ihc1ދ̗i}ɦ*^46jcMTh3ҦU N>fY3 ѽlEPM; yK񮺝.TR7gPX)Ĕ[H at5v4'6%5.{лzA*q׀@*1טҽr^4pBs bvZ7C |~IN*O rɛQ Ig%LvX('}!{+!>k7іSFwF*xvZ%o{>f&|%)HX٬%_>Ӎ=VmV!WB pqJEGbu4GҗJ?nd`.Y_f"8p&$}8 ůHȮ?e.L!&Ѐq+ȆI/ǒٔNJݟ|3x3ɤAe$X<ٻK^ m{Nbq%vQ}|9utsIhIQ"czY` }:C1wޯ·!|PP"9})\!B}---x frmĻod!@> W~`##G>F nFd nAː2dgWCE-/HW6to6lM575 Aȑ/eG>AC&27n3W LWi(-ouE娡zI+$PT/qj::C{6N#CG{D#%ب4$B>z^٠ްv tpyHN:88 Gة+=Ǖ7FQ!F\)#Wdk6C{3>]F1Lj=|s9|C>!q DMOkPw森ǐ>Ówx>=C;Ii&ENNMlo< _q]c=? }MPckx~+ENo׿}-XV *nn|&6bqKa"r?( 2(~P5?ӗ>D+\C_<=8ЉL"G̏_[Gea$zv & ~pI$8ad47m7BG*/V>JM^ 7D KDz1q򡇷_ޭ?}Bq ~û] 5&|kIB?FVACآӦ>)}gt.v,=2Ϳho6=^Seʗ)fB6F;&Mbe4nz<2. cn^~HöyTVo٩So" v~bib)6ٯ'+b~1FY,U,8(f^p"ݭ\Qï(L}oۮ`ۇ=¿ſЯMo,8pO}t>*na!) M}iIB<  Ura,_$};Nw(a_ev 8nc+=w0SqH,lbQ_ҘZlx_xq/4:n2QڙP۔ A u|XmLɰa; \eT]QuV^D7`eS#&޼/.3V@yqޚ#ԤO"dm"b9FBD|ēP:.A+k:X>_x,@- ,I5nd>UH"'E_dĤRrH1õX3ğ2~,Ԅ~?:VT>'b@ITַH • B g-sh3XE #m+S#乞۶-EVj/%:b7qx%}<`"ZV&=/Kq˹c >'=›([VxШ&9ݖudCf0Z;nh(4äDe//#.%]^-`#++[ziRIPG?:8BX CH` yw̻ t$o[Ed.[lcG%>\10D[6zl_#5Arm BYȼҚcg, X:H xuF#W%adKGl[1ubm1 rzY>az#LDw@Elu L衱!3R*P@M:.>R"Hw$1=?*uہgODY*CJ {)[(hSfQq]P-Z ?qTx 2%Y{z*CZ}haJv~&G_XZUdP((c?ZWc@c@Ǵjm(J9Ia :n Ǻګߺ"`iP_R!s68 &#qq} u~JSYd&1I0@nvȜ"q!PmtxjOn#kFYND7z=0}p\#9; ԝ"|$xd,L( N)s#7?9~} sYF!h(<V]L {<ㆧ|k/5+= SۉbK`HL\E =7DHq0ͅ9HG\a}7x fB@9jEOs|@Թ,UN/[᧛LN#RK0̖j]f>eh~LɔJ]CRҶnGve4o5GX~c?cI4!of 8fRl"1bA]mHjnWZV 4*qMgGv)#QZ')`E;Bޣ ,а JC*/e|BQ GOpA`?}%;X7 O3˜% xzto((6 $ 5#hIɏa3lT-%pΈO+fnd2azq^[zd~?.b[}o;lWV2Sɴqi)B Lh N!="y>?!&i 0,0 r:Vh}`T%ୟe IF z?BSAs!-#":fLĿ@>^l>@$6C|hN]e!5"b|)&X@抮YLZo~`&` +}4}q38| r4' q֛Hz 4|7h@ؚF'!9!DvW[d+)!^C]WlWxslCxlݥ6?{{W}nŷ@HFh4=; /o'ߌ_+LC/lb+?ptLc! IӶɓNHV:C8q݆ȣYYd7|@(1}8[A"{qitYՁ֎ZnAQ&u. 8Je"_$F-  :/f4!)Ssþ?dg0q-u7D^h·WU]IIbd.t+¤^v{F} F۪s{W!\Eyko4SN&̝w-H(w$'w8=޻[=w6uWp˲$˖[\~qקGK͍$$ H^$0`0LD4::™Gw 893f,`)H[Xά3{s>tI(Rm -6XلK&%bG]%mc8MpqL#a*vE9l,*qs{NH{w5+}CP ?CМ5p̙X"5jy~mߞAk'c~Ѕ҄V ֔Ba^  Gie!hqU-ñn۬hEZA4dtek3h>ּ~nr~S&#դ 5UL<a>]sb5V9 x?t6:6p^,Ca1.HjCQ5N p[ʬ?<̟{=fMhBdjNZk̂8BQr6v: %:iVK(+l8C0JVdn'`πP,⏉-j&j J (\1"D[mwa5l`fD66I5h5):kV%j_K|.qMYidnG+S[o3VIDKq[jϗA`/`YKV Xފ r)AHxbX [sg.mVJ.u˴B0Kxcto"nw H$^G!:6Y:p'5W@Z! Ŷpjk-f3TV X:7CwwvzR9!uC[1\s\'DSBk&. s;S,CHrlFtJ݂:D6m{A]WLdO 0Zpw__^&6{lVD!sb(TauU"-vlb{LT~ٕKV#@mOOqEUvǘPZVz6N޿f=$&j!e׊Mn͢x1Y`u c D6: 8*GK"x /C9+`8_&ݐVo!+&੊M>}dID Tn8:dEEA @I|o0u>勇pHu̖!i\cUԃZI4 s=n1qJvOK,c|}Ňj:Z5'd\2X5qC cҨ6Pfxa<{y \#ג)N_TbGrvG}zKQ 9J2ƶfC]z]6yqdq+s{i_kXJ7UIgZ]Jb ۞5ͬF;qGK܃d/k a\j [Dd8ډek3(Z. x:a9;b(-GҊg*OIh cZW'ԅ&Zd3A9 ii:֞ RAP8=Gդ~>%@bD Z40Fꖔ4Q΍N J!zîXB$Rd ))?OzI,ϣ~ <|ݼI): Fxߓ1A'+yRߋW܃Ș96nw! JgiI#n5C JlLDʸ2UL(Tr~ "^3VXR(h]6jN!D7ZM}9aG}Ēt:4uܶ~ Pf/w;C&u^,[''4 FʌmHw4f цgK?hVVM_j\( 5Ox ̩?ϭ5 = ȝ6쁮 ޚKPfC{Y4 Z,E<!^N Iv0F`EG.\u 1;` <.*q8i>N`b0)>NabHED>NÎ}9j\;p[]oo-ˢڂ_z.m{|VJᚰjIûDL V)Y+6 ;f82RuAkk.BGhZ!qAv D'B*KR_i%}Q⬞L_d*"<޺,DU$8]w^q__D1tmh!<"L i=HqK&@k!oF&%(D?1FxGheĥ&:clKwiU|]tN6 ?Rv63iVK\gr u<\hN-Wrf':IY3oG888w}83b<|>OgORFJNsٞx+P[%4mBƁ#S;AxQ2:gń_yvUxP/Y4G}˫Wz6eWƠ;앑KIĤ2%Y0oĭN? 3k9鸢ΈlDTCoO-B8y19:3t@(4F1;6`Բk 4=-b1M(TQsv4Py]F]8 _ڀT ˁx:Z2 —!;:ϛZyA;;@ܹ[.+sցn|N=>ח̃GI56!ls̝e2=z4YP<èJMMl_@B$-|..3[ %@@vJ,2P#~_\!.%Ľ]dyEܩ/:r! ;bLem%iC8P@H:˜ߎ/sgAal1 RLw a ؄Z0\+HgԍZ/qiJ1Nl V 0 "e|_̱ @3ixw!|wz[| < $sOǰQlƀ NNXECH ara*7YR0~Ɋh;݆($x1;y~ uC*QyP]`+-q5dr`@ґ6T_~C_za V3g_:T^)J,KZ,,L؄4uΞ>Y~˸0?`N`/_w/^HZ`8iPDOh:̜&:@7 +h.SQOT!?A=zxuR&=B"IBd=v4 s>~y:`oUL M(դ Q U,`dd}&$ {nHlS&Yms´<ýB6KeL5/n.옚XQTT*,@7xQ"RA]yRS" $ D(EJDb[\ImnE3qrSO:hKw)Î"5-Ir@Q?R&S5*t4&vC!X;Ljf$дy&jg"vIe%#k>f`3nF5OL!j`Dnya`a/ai>a#Wl %_l>ޛ71_XU<$ T϶>߸w?&G7 x= d\Ͽﰟ*ߓN_sxo~Pi}wQ/N pݯJWT8*}~ݗ R?Au$ZSv4;;;3_.=4Z/'K:|pD[˳9S{LbRq @♩A•/A&y4׭OD zW-k߸ {߳aÃ;=qζ}?k/Wqi[U`mf"k͇F/w`3~}{~U&8a]lX%zRW*z. nw{G?EpgŴk{2;K'O5y## t\i,Ɛ7X5CH{=^2ΒQo?:~`l{avfs\(l*_W:2S$aOR.^hpRg?݊W*u/U$W) 9~_)UۢU*BM~jWWs|xZQ%+n?Q?Ifb?v!,1+JP8{w$?eCם3rs={٬Kz˨uBAiޥfmm&ű&;;)gr:/fK7O8jzmCQW|QAVE n/1<C?N݇%?vy-to5R G #8''Hί# 7躁N;'!7GWT*UJURT*UJURT*UJURT*UJURT*UJURSseirsplus-1.1.0/dist/seirsplus-1.0.9.tar.gz000066400000000000000000001767241375244156600203660ustar00rootroot00000000000000,#:_dist/seirsplus-1.0.9.tar{㶱0ܿ)PoJi7N_+yn#y9y^ǯBKͬD$Ksr>;3A$fEw_$x+m47K3?WluxoOO<|s;xK0IYzpXoԿ~T˓61o7o;y<\Deտ_7G'/P>t?cq?_49M߃_Aqd;Id7v;gO(,bgnpL!=F>>nXH=FlF, 8|fl͒`Ħt633 ylG?XCG#Qs}$8,ׯe}O^#:^ScdλYv'Mևl,'}!DA0q`|_!t{N;HI8a|u'ˋW#mQyϢ48j9]N}2z6ѡ5Oߜ{5>W4͏ZqgM? 8QA$8'hn* 9Ӡ`ٍ1<dbf#|Xp`  T6S& 7A$1%BfafX#sE:0?-0yRg;;"MvUff iNg1Kb쌺uA<Vk [3DQn{N0ؼ:*Bi ,b`n svij뛔h;23,q|z"H^q@AWѥˮmfPsμO B4d~\byɃOS5#u>)vK++1; .A HnR JJ#>и\sCۉH<# ӁOeHhmh:}cnƩlD g8CGdсZ7Z!)`5h0U.78 K1Q2}'|'c~@ 8҄u. 1*'0:ChH oQkw7z'U͢5 ۝o^Oeΰ4i1*yISh4H |Lx55pA#@bUqpG@;P:8- ׂk,KgЄĪ{o ׷'ʅl\V&>otfb1?~^wONF,pMǓs>`!e8b)j$8E|0GGäp} b{ma$'>ɰuT/#;{Y{2]FSǹWĚ ΅.?L+*΀hFH\TZ&8pQ {32Ȫ#hk 65`D)ysUG:GT`)PfeSSh ']jBG%IdK]qNI5  DZ*ƝKXcuE:WrI_z_7>ͨvPL4, @o>{D7K#PFI  iTlj'M "-t@iO8Ǣ PA jbg6t6|B ܓ-Vۯ~hIx8!Ó(^OǮ | x q)RVk8wl&iwv %{\=M e"\5yͺT7H1(ntǟk;@%\(xǴ 4h.ߡMʛj$"h/x@(%aA$,U t}XeS{{rF@X -5U|DZor"  OJzT#OޡPg oWy4yQdB_@ڐƏ6dquΉ WZB99~ 88t.0G&](ǁJ4Q*1l orI w|Mt&OZy  ބf2(P( |10*Ц'x g PH$}W67) rDQ]*y<8\-Ǡy LPZ|msW?K NEv{69JN}(rںg^ZEǣb-΢11wH bߠFR05}",'=c>+9,ffFj~_p'8 P=Ümw_)5r/[l4OPguϦĽIaϵ +!sRɓfhTP$p1DXQ#)b|r-ָŅ9JrI=ULXRI+v鵅b9=n:WqԪj%հYUj;*?DloiŝXdc> Zg:s!0W Ggȥaj;Cn5:t@:XV슉H5rŖ.RmE`M"()3{ROoP5I y3U+a1 L 5ٷ[$tWbuwXOmMӲD@&{&p 0u}\ԊwB}͑63:Yl.v 8,DhVpiJЊ$S5cx 7|\*v3ȇubF+-9P5a ;%ͻ+^ʯuN,j96ʰD}bk_jxT?r[V7lͭ-p#ĢW+pղ2A#1T{Ϝxe1+ UI0;ނz?y PbU'ƍ3{pEsΕk6gmy_0*5m<4F~3В /OG{1nkhdG#-I@qčxq!m-m`3}AP'#碥AɦV!1(f9$eL-eiV?A~eL9SGT~rk!t([G5S.޳IT&`n|1ɩ1SS#%~TCkqHϜM-iPʴ TJw> X hD48-a&0lpܚy맵X=^Җ1o'r4k?@[M~^G {9˂ԢT>+<\ WfS>+ 1$? %Bp#XP# .t;4#~0& %mMRr#[JݻУ?՜}:R9WI2e,p f-+Bb{h٨-Q5s5%=R(8!0'[]^;BOű퐑_VāJΒ*{T|P]+U*c WesPY3Q-aql,SV2rI^mY[:*u%SVX$$NAJ>++P"NuE,El= ,xK<1Nx>VG,OJ:Xj+Ƞ|ɥ$siI*WhI-V?k.[>%⁀ 2d!o@Wk˥ul|K@54eeʊ" f:sn!%iZO)Oq1৲,&~S'S~;<)W 2LIE+wశߟ^IJOqS5g8uz^ENFe1x >GUMy}l{тb"!7O$AMg)Vѽ=*ZZ9+*XTA.y|WpJTYg)JT5`ɑXͦS>jE&刭~%0\Ӯ[5_jb2ޜ{'W^1)sT>,/>0x9 Ƭ§>5z+oRsHҋMn5(ZUB97i?Xm7hUX0;Xhvև`C}SRh:sd y~^sI2DSR3|9NMGh!n \~q Lz7me04>6,؝6AA&@lۺvPbJ)dThzCNrˇ{g`D^_i|¡z!"Q[fvK+, !9_v?h3*9\hJoo|m,m mi($U$i j@W5/|dvQXMVRYfUFI+!O$vcjOv1ШYbYe1~kl4`(V/ `efߑFJ9ngfjse$hbK执Ct2T6h:I+^%CC1*gZ9h`9YuNOS|}gM@xךPrx'c)@^gT7O'޼uCvofڼkWͨ9iusLͬ4Gs."R,β֮_u|›B &Pč C8!Y?iC'%ܦ[]m觓$qҴ]0'n("[ t A3 $jrG4ƫt+T?\ =4]gooOiZE}uaS"jh5Rl>C U3G=6T((^IE!wB׀8tw֩_BFmߛ񦲛`oөp逬S^؀HtܔƯ"94%QyȀWA@;Dg$IxM:q+<]dѺptnqN4 4ۃ&{2iuMwQq7БwCMV.8UXHQ=2N Ηqt5C"~[. &!`.{}N|7HdWM52h~myU J~#+bZ;g LQ8X,_4DJIr5JD1WRL^jIz9jɛ. D-<,Sܩh. x80Nqh:Ā6`58ϖX/1>$)o3vM^QVi|=I{-eMV#J~8Y-(_F* bY_Ubnj8@Ekz8L_M26}abED#_Tq+@fUnÛzqV- M .ԸCP<ߥI]/jLq9mLv #,Ҭ'qϯWPdגs$Nr􋸫iz+m\fj)#{|'c *kZwWB3)t L oVPщ/;l cFVmtߴ. _4x%@@'7I6~ :Fx>XUcc(ש$fAw _=w={p)kLu8CXLbhby+6N$Mrq U/?(+wم~JqEvw+4ǫ0~׫`#\ W+Hi bBCg_(-OOWxq6A9`Z2ꟃǴZw#:KVf8%W4%ōW!UbL5kz~5 U _oG:oP#u:K J;̮&U27,8eS#nXC[ P'Ŝ&nʨeQ"Ao6 q =qsA+v䜵Ʋ2/.!F2SnZQ Ҏ.G7Fl/X۩zɏ L|>Tץeo+ 2%E pvw0`C\T a뛸h myUbG޼|޼>y-~ȷmi8/k⼊ e..Kɉ4WGZZcJ17Gk>8)tV,utU)(sg?u7o/?vL}1/"/AεceȶpH,H3`( @dfi) c 4op' t,c|-?k@~MfK1_R xh 9 \ ;"ҧh͕<t_1'lOؾ#8F+ >Ae?ʫhH(iV# -~)Sz Nq^:&xC1"K i1M㰔v^1cP<cC!*ˇS2b!c+tG|ht! Z80o #L%T(xK(t+W- ذm l&NHXd VTl?>eL O>FZÞA|4H "*lt%Weҹ4`c4})܋@V4ttʴ(+Ru緯*s:̩̙ 'r<[]Pb[~a\ $YU5FGcx,*$ 錟h?u> 3"L<& ( wO8-BNqC~24 &UV3OH =nq#M?3Fbw f\|$3xoO;^۽*9|{}f{wA"Mlw9ጾԎ J'uy.=Lju5 Nn$h !nD)xus@߷ q(#Wv2~E1D*2Bܩk|] XltzÓ~E`e\7xǵ,;^7u1ޓXBgN2UyE BD?kP cPB=9lZq#Y]j_|Gfxأ e_3m +Q2E[Di`>[ 0H 5K`]Ve.w 8YV$砸54SFa? Sf=~ōS~P" 'l\!~皐.4tgbĞ=S{ތϐ_5<ӜMxu m?kGHkNCfM"0Mmn)4GӼ=Oz^ et^g8yR뺳i>,>YWjsfq?{lx kumY,bS! t:}s?S%kS${畬Sdcp9K2Fdžqf08mPȀ5ἝSh2 o8Y3a0^h-&$ZǠJT)giU|bl8 zԟO6jp4bvOfnOd֐Vc~BmͿTI6Τp[ZJd4\6]_ԏvB6ڗ5WH!cg]vq@E ^u: u ˡv/ς]gum/,w,wZR\a^̆M݅#mU@/y ϕeLQ8&)0%gJ0hU^uUT`^n  e0nUԇʂ́_H^R6mAƒ!F>̅8'8g0Rq6o$ 0f m#>Q 7zP=?=" g)hG?nԡ~% EK)^gr[T|YoNN9L^Hœ R 4|Sۀx-\Z2i+[6lh' []'>C;!Ϸ,8!- m6ډDQx*uR9WzATf1^6%6nf8q¦9}6/o󘟣 Gh={-ƹ@! %hJ iATts5~{'V5~' i5`2mOKQ6'AL0NR@9,ѩGޫp<\=EJQెFSnc: nҶ/k[pTO_}jHO%[)IX4=VuPUVᔴ*mkPشUM| C%Wer|^ّSUH~4>bL\sRGnֈ7^4H60r:Rj;wP\gSmnuV\H9dkӿw7%h{U]8i/ hx˦v'܄mFڶETQ1$u+Y$͠6 h$]YҥtpAv(]-]7Z )-pw;~Q:n5[RyeD8Ѱnjv7nUdq 7\]/\IvݔBrgʝmJU;ʝ9)w)x7VܙEm9o'REUgwh ?ԖtL7@F] gC;e '=Zop |=.;2 4Z1tg ux6&Ɇޏ4q܎5")q6P$9/Xi?Uy/7@FYnf!lK\ /Cb=~:·{8%TsW$?aI|w9!oWÖ gjvo5SΏ% `ݔo7H]\4Kvl6Q rpoVx[24,+e]X[ݖvoaK҅.mv[.Hp菹(wx~} /b+tղ9t:+{eKXn:^LhtY.qc;c3 Hrs_2\A_-DZ}hr43mCZſ1wrA6x HԣG*vl xf]u`>n篂$NsF2ajrk0ݰX >sdV+?7z_*u -gG~+#C_iUrF E70=ŻM$W V5s7tݏZ}l 8` YzK&LG0\AI;}i ^Wi~1zN,ܸ$+ZGVuP@@lwcu^cK? ޡ_@3zʃ\Oyip=`d ,feD&X*Ywh-'ZWM7j(XfMZ M!Q(A?JP%|D|ЅzZ,1#4B9sRT(B 9W|\Dhn-5dDYBp^G%e˷ V@B)ĐnQ1X"RB~ۏz#I80C"UڄKgzl F6zT\K,hOdX')/㬢$ |zPe(9P4\'li0j{^r@4L;>€ {jۨM3L+קWr=h~ź޸w,Ӝ d Ac٣^WEo4^4PAbȉPM10 @Mh7MF h(6*d@S<г'k6*qZiNmy;OE(hh:*RASԩX7U^4Eՠ/Nf)5 ҉ß ͢Q\ F8)jVSJP~aw5˂ijhZ'Ld)cȘKX~kG. Q(cmaRz'&,idzpKS^#O+vF1GtؒblN`f ` qaua׷8 qEL5 *QRt*Fކamwf݆{qa 1To6blľ݈}F#Ç`Ig<4:zڑޘiy1H;Ӻyډa5N/a.ݧ5O옉#k&vD蝙IgL}3o$ȫZ= T `ьI=]]E+K&z+DMnj3y -h@>!@Tpg~X=DtQ]Fo-lAvt1nGw%-WnIwmn:b8ٰH_~0/?^WaUnib=Q7 )%V[[,8kALþ([h1K`RSlwV%/iƃAَ–owv }ӕn雮Ft%ۡoE+v%KvK{qo۹̍ 5L(Nۓpso!]hF (e=w?̝\}sAl]X湵P` kߖ<~umNGVhșWG7Z^~`Uhr.֫%VW{^a> Y{a^y7j[ [{Ã3g;Vt]F%d68@H#]P,Y Ъ:WӪ5mKr DWBj/GZ[&oFKI+В 0fWczuTH,*6Ii({msĥ4&U!L[ml~*m6S*ג8}u#Qp?Pf?ΰ2$^Z-CXC c$X u&Ht,-KD@o:-?Ӡ@㨺ۍQQjʼnjkPmޣ:r5T3 \\O Wھeigi ֳ'1ؒsv-knq[o noq|V:@D)!̔<w'0ԃP rl2K3<`[05.69J%>,UV A"Tob'yf. \v) G~KvVTQwZ[ 4sxe~N}.܇V[Z=hKqA8zhYs;!l]<[ٴV6͋,+TFM3+,|JeN' Mt-P###\"@0n|(ۑ$4dM0LW }4 gUaǚ$`nj6L}OA}|Oc B4dcpG0-f8JݩQ4$ܢ4VZdQ j.Z(=:{~UYJ~zزPU:{^6ܭ_ MLΡ9T 8Jg֑K.xJWhvZ9 ٷ{ w]zxSXk j5|]t{Zis<(q- U>n<=Y!uvD7aǽ>y4gHS&2w5%U*湰O6\# 7iI-@ᩧi9#;^ YSCFe=@ixy[=".J+^G8ڕ::뾐y@ t;X!-AX4BbiX !Y;V5Bʨ;]4_&TqX3_1I+t;uR 897OE}6HrL@6is\$mqI,_60oq 3h >z1XwuWXfD)lrJݗe$i=MPBgyԒ 󜍛|^q߬t>Ӈ-N]ߗ 8!İʇ:fꟃG~9/x` fF=ޒXM.(oVD~g^'Sg4}KZRgl_\Sj#zՒuZf#m5FmVue]=)`u lŒFmnvŒ]8F%=Z27B*[I2`:N0Ut` m0uVnQٱ`N`N1 29/Dc8l?pcqY2׎ڕ7O\-LY6voָA|hx'̿l݈G! T1LI%nr?Wz2 Fl G uəWAG۪4 )y9dXde0nUԇʂ?*;l:CC=T} qND+qpD#>` e@$14H8khP'vtaqxY>o?m6&X"2 &1tm8rkQOgn$ˀm֛SPD B܀) ` *6 v_ӑe+(W8ҧWрv@t^d_`_(3 HΘ G) Ayst62]~dn_kh?9)6(s&m+갶%G#v'!N1oȕS] }Df+KiUD*ذiϫuD[$opۨ[.g+ ; O&V~srJB[{[Ux7f#5:lu lJΪ:Y@rM)ƻ)Yr"mNݔUqv᤽?/v۝piib*VFq;X"yoi|*5l?Cknc7r:e_?)Cx?2S` <.;2 4Z1tg ux6&Ɇޏ4q܎5")q6P$9/Xi?Uy/7@FYnf!lK\ /Cb=~:·rFNI> m,0Ve⻜KaKe5)6=][@ Mv#E%zMcnN_KHan϶h "vIh%Cò2\v%M%m)nivI-z-]oƯ?ҏt8}յoԳj٧ds= زu ڥud72U^ZO^4Kyc繱qN$sWܨ^+ Q<(+Շj*Ov?<<5i[Ky'7XhdTTR>TM8w])߀Wņc|<"W' a#0O5G 95nXQQq92畟^/:^PgG~_#2!j5x9ThfՂo³UZ}l 8`Ix}a v ߄ FSq+<*}yVd_bnqKIy:8z?7`ρX TNN l|ۣ_}\o/ $gaQzю)[o˷'|۷_~y5<x<\DeտJ  fxY` Mv2dz vz)Ɇm)8eƻYDΎ}|~@'D>4\ʧ|_aȿ҃Q^cG4.y [O˻{vlɂkָnp)QȻwwϑm~m/QW(Tk?*^6eQ,>VK1$LY>׬ -VM1ص?1%0 GQJA=+U `"&//լ٠\=H?)j.}q̬fU0n [~\ז#!*gdɴx"k!Za`;EzeAJעS$ҝD Rg;3V,TfDŽT`woůvR$E)"-1*IˇH 1Ѕ_-Yen̗CB"WCŎ@Di9qsg،U1HqL)D/RtSw C4Z 0` 7GBَ;QBF3w p&IЉ7!X LH:4ՏR>Зy-"\ĎGG0VK=vc_>Ү1:ݓ4I6AKf-aB÷7o n& %ںؐ ;Qޖ֤/6ϞO\HQ1u PTQKJ>j/1с6,RjG'Ju F=:Pj=` bEG &&PD P7uZ$(R[`p?l 4H 8.8{x#ѠvB.٥yҕIɍ2A=č(znn(V9?E{DzCn"@fQ¯(TZTFVPX=FWeFsLpըnb *@$At9xL A}7 8]*)h"  djV5Gx ,p͙F~2+l $\vM1f u_TKvpiJ#p0% laUNia!y[!I3L EEL 4k+nA~݇i8a t@O+N3UgkbVĞ=K ogȯi&.DvtDPرj4dݴ:'#| ꖢ}LOs=[PH\FyϞ{37L>*;{iu`o?.Zc/a-Nm6K8hh D7@8\S; yxBt1`@:b<W\lFTc<9;hqѹi<.M ^[}/H5oqDxKl V E&aLTl&.6 [ 0-=(U{ʜX.гru{Nk[uWW.߳w~G{G{/GG_NZT['ӢT8KđKz8i {=@~)hKF+K|Eh77Xcx_ %d^JH==Q #Jo;{Z鹣/V?MWVt{Qfz [=L=0|$]o;+eN@/_ %K W ޼(=w xo)o(|o@s oL/j~`<|oa 9$_q;^y K '^?=җ@/~  } _n.}ܜ._nح۳-Dm %K @/_ʡ_5z 䇷^c$Оۓ{zl֞Mf)~O{%{=w S/_/Ƌ%2;Fӏ|D*ҭxG:7~z!Чy=/q?LZ1^8L5 9O?9M&1s.I eHX5$H? HjyGPv]y Q h8fc+q}(# 9[lނг633li'[&Lc%Z;|)*A"D ҫp" *nZ3~WYms8J;=G]j-wɱVZ3lZMc`8zgTF˗Tٰ 4\@ɢpWQÝ-9nB0@)Οqf2@8#iJ$-+Gmխ|Nt05;:pWVwH`Cs,;,CX2Dr./n<`FkX-5\4$ u}eCRcw-V,lGFE-pDT0*0o>x&"KS P)Bh,Msl>Ї eh71AQHL4 +x)<̥ >wIvg yZ-)JG4޲侦PY0M"}2'Kq&1'3B_ $3n(eB?xio Ԥ1,YXwbW̎7tKm+<|)pa74 Ҡ q#9 肱NNj@Kg`0&x˸ Eϵ5.9. װnB`M?_ݛLsZ9Ӂ9K s S4Pa^hӝ6(r컳֝V%aeKUJ7?RJ`4a!㯩|Rt|k-ɽ26Xa5fR ȯ+: G lTWGtAof$} D{x7Ҕ"޲M )HEW#S%qu x/z|5C~_~Ô>>ό;Ad<tzW{Zn_"Bӯm~n/Zv}2miAˬ-f6KT!ZIVlv}~ vC x7nwu&殺E؂y̯Ʉ@} ؖ* |?X&@̀0V>',kW-~0!֊x$ሳ 1T^Ozlgv½H;~ G^';2!~vw]yiۨ:c?~C  {I,L^C$ym,2G_A5^J5hE{K41U򅫣}#@JU'H*;ƩVw_BuVnj`NaTXLDPz⍷Ɏ`nmv(&۫"8=5sM8AG`:11КI,~/qheਓ3kL^ f+*ߗ: SB 1Z _-U*;cymWT 6|k S2"3"d b\+b{fYGė-3#*N!cI;'9il'[:iIN)# gn` ` 1$˖$ǡ:hI.A0-[q6 *X0K@ZAc.[ƥ^XmR]`u%nAOGF[* $$n״yP`۰Ȋ4լ5J - &y9s&4׀uԩNtyg٭ªD̝L8,fA2#R֫3B$DX_s`rx͆P< 1̜gdӔILkPGbg5$fjǘ ޣ K;*Jʥm΢q 6PI8eb:)J;M4$;ĎǛ: Yb]?%够ÍQ/eyBs-fS{dэ8N7 P&2Uɗz}6͍E}+cVߺمXY~yn>-[u8ܹAhƶA7C-qOJMwSAݐنd6>P6*ت ^yc"_BHx4qD}ŗ>86`Q44e;PBf!B2@Ҳ:KpedE1ڦF{fwn1]q߭ݚm:up; p;i="sԜlw2JoSu514& ICz=$G!cYT2'.G/:MG3? !ݝ7IWJ,klqh#8~_}L2Q߆Q qF[?^ 9qn>R rb#aXU6 SZVN3|YtcOђcMrh3B:b\J1gtň7i^ޔ,p[⍍W~窫!Y7,!/4"v([̮৲rM%kq uJbXZ#I|w$)c"G9ΐzFT4ì7^^DmlSEݔʰB`lHa16;I= 'XJ_xԀb(1 *W{E҅ J`SbC̜Y$MsnVӨ}T%FcBLNff,0B!塎H:#YEYC=4 }4x4::aеl`>eVv:aRO?jMHrS%s~sR!shg:dnI&؂ːv|M2d=sF^ bet'U@6?W ;s;ʖ$*Řne [SMOAx0 )JL #jPT'l7aDEAv`0YNx fI;0d~A.؛|s$(Xlh[|3EyodtP$N v C#K+q8{#!x|;_!BǐANC .8K/$bt('s%_ 36 AU !?Y +த(U k};^V[+WS<ՂX4npn H:^@ȍFoLo9fͱUAoKU[xphhuAFm5 HZFP⟲Gɉ=U3zHF#?:&Oi;$}Mp̧ m:Á{)cO2oܰts>3k=89jƅ T:t"ɉ^6RnhbZJ2{H[Z,z"G/"~/XgE"K-QUf ? [cYb:NM)wk4&_+VVdL"Wj >^1S%苛) SGxހB*WQ;[;D ݿߢ*1\wcC$sSK4:vBR I_[lVĩV.-{87YN#&eS΋2IvӝIX|3%Y L˺ ZDµag- Z 8 +vWţ8;{~Ŧj6/ŭX !δ!H MMna ӈs5O{Fca {Ky𠭢q D#{,4H~߀*VhK*@(gukesكV0n/Lvq 3x+z zyK_q'ܕ2)AvI—M~2`EL|AlG89@ iBoӻl@vL[/?t,6+ǂIo+i >JN$SL,KUfqͪpW᚛uZ,.7K#*Å/V7mVdKNͲUƛe4t70{ ei6I_J l*kQs,tؚ,J,mu5.˿=huu3ZO-ǧuޖzږǧb9u\z/Vfb*>6̍.*lj0MzkޱvÜ#\:!^%U}^4CͪW7vZ R4@#pjp v^a%',s@,y<'fr`k|G{f35N̬=1337Ni{bN#qMuΩarf17rRsゑx)GIC]XQgh5f']R?.M{V?8 Z!#aybͣhcy 0,+E' VzM]XLqj8|"+)~X0@CI׻G~4I)-@'8!?.AwɯdC } ~R}PJڜ8g0M746[_xǓiP RL^W: uʤ 2Onk3SzoQDXSoF0"6E,hZG,ySl ·`yYjr1D&/(v,N|HL/º9+>.tj.旰>\~ mWq7Hfml&Vy13%/,m țؔ% 58ⱅ B}}t]ɆZI*,$QIꇫ,h0_PܖE!@s 鶲e,xAeԂ-DP d! ROxB7$1 ~%j> 5Mggy,)H@F_q64Q֓ہErh޸ji5a<2|V %|u&``00D7D/d2ƖT3(y  ӷ/۱&LFP)rO;S6(7^v\q;ހ3m_ SȔւ"EFSld6e$-_FuF(cyMNw?ᝨjIg8gq<1NȻ!bm7:댵|i V)<Ra3W %$Y~u,UZfi~ 9 bwV6Ŝ {"[|Xre-/ΐwso>@(\%ea&8ٓ7v:K1I$#x@PCپN qVzۆDu].Uzu揲DY5ixON[oS;]i§L[.fY s#|U):fљ~Qڅ@T5\#Vi Wh%(A& +E-`žW4Q1u@~FgIWlU,u0¹`cGj]vCҶm Lq!Yy0֓k:JI/|?v:XonGYa2d*^ZdS K6]=F%S} i[ٻ;R,eREa{2ـE)^!HJ"1^pGv@)Fx'0CD_g%EB|QYb3f F$k Z5 ƃ'7ٖԮ,I2SR"!x j Ҵ) ʬ)ySH*HM!ѳBeHr&x.eI\[FC/=D }HqɃ˻!~AwS,AuEnR_oWWC[F(Sz SB " =?A(qIМԼFL qo{:1'6OU$}7~o{25V^(nk_Oz^M[U/n =l2D~r`$Ú+QRy_|]~"ʷc䫥-.T_R(woc/ Y=\w!6 d-^\ nnm ]guWϱ8E>)wf8z ?eɥyT p`9ӎQE#D/rvHS v9"L* s)ySESV.*>0/77]$j0)6K'(ߦ6NQ&gо0{5H(QGV{wQ_bZSbjY}M} eRQz`!FI~1gGn{Grgҿ@C  bRPA4J@ޓ.1)1;M^y|8X#G) 2- I[ZZ.Tنq3|hiD)#qLz6 -4FA 9NUӼR(k8td8К/ZDJ#/DTȯcE;ĖZnڵMʘִTrӮ-gxyMܴry_45|ֵA_5+L^4hRw[?umXLmִ-On/eZ _% yWt\6+[Z9Py $-<3³b2mᙢgfZxZxּgaܶrcAHPמ֜uƦଉ-Vܼr-7o\Җwm9[nޤ(EזhEז3M.܅rb#\3Eh8l>􀖋c7f`ABJqGC*OI,Wx@I +U=|j!WFmCiWyĸm-?ҋ:7I zm-p5UVHWSlHGZJW \wwx'B%z7*_T\vx ox}D#ҹJsVfXRdT'x`D .,y7,x2E[3%F@KލQ~#5f=F ^Mص̠OTr My3h^zr4- 2(ޜCá0F8uac]'/Wm?۫D<;LC)L٠A^ @^c. ")|(a$S7&h,bScH{H4}Kwimǐ{ xzj%\x/ %LfK($SdYՑ)xKٿ};Wz@? Yo_ 7(>d H!~)6!|xt%FIoE2>%.Hᜈ>s^;̞|= O\)@[e.L!|94`?}:?G=@2.ߣ~,9C qwC8Lz@"Uzp-}nn9[Zhx`̻qvk/ ;(=} ˁ05:3p.Wdv "8ؒCSesZrbP":'9})$ϰ=ԳV~c޻x     "˜ k,o#s2kOd"2SG4& {E na#T/vC QPz #'j~Y:AA+A#B!)'=EF@o;^iy$ }Bd /"B[(~h寳䫇$KM,%ɱ 舌.hy%h(4 0&p!_2kA:o:82ֆʴu{;NfS9 K I gv]{k|peO$'=eg~ZK6H0N$&ƓHqG( p>e1.',( Z\3f W߳4Ԩ*FoR~AaT"䠥8J5ѱ_6R2B`jInzc4hnaTw \_\AV3ʴDLfo?"$Բ&GCw)[7gvJ'.OUVstR2E?W W2)u:=f#dܲkS{sB[5%xB 9%?'OGBy3- P PI5ɱ&$ǚX k]o}#`oi<.:ᐟ3BO5_\Gxd%(99?OSH.Ȗ~qG4t 猹 .p%=H=#hUn(GmďE;S\k.\md=?~8Ow}@ֺ &(,%kM_vy#3|no,Lb1V6ԋS!X .(ޅ$$r1 bDn!(yAU)\JۋQ_jvղH۸ V;kۼ]vղզj7]-hRp5:٭Ya`oE}~(w1V8W !gmzWW ;!3+z ,p1mJ";NW k"-X/"HƏd;bmjs|*5)t{,j\<ӳxˠ;PQ3- ,aJai ~ؒNlaOZLJ K %&XZTjtEATjhE Z++++,R%$&tqYzr,цc͏=hXlc r\DǢ9Fv{(=mRtW`I7K._טXX|/wsݷS_wo$2/Oė ŗ K79Kbx["W,_\=eo#rʿu)ۓk) $.Ag<3ǜ9^/Z _)0 4[[[[+\H!EZكO_w5W!7Ɠ/[1hzђ+IQj۱V*!g+\Uab/&~t]Ѵ7-wqޘlO@ :8i4y3"1UG;dDKZbIqI'76ikZWY@XitVtⶌLü>\f1Bfv[A0Tapi #g8péy]a0hYE3XR x񠃽r1U.1$UMX*b]u5^ QD/9$ ʞcQEH et6\?16y:zW{Ou*n_"BӯE:7سZ|5-’v<=rm0[6Fג(Yˑv[0D f/mkpkr @kMB\?ooR>m =:h}u&縷hLXNK=WxA2/-T&ALa.+ 8 _MX+͒ GUWqk^߽ğQ?] JI MF$Pp08,x:r$n~ZLȤOwݑҶQ,ߛu'ǚ@Q.r܃Dv4t5LDKsKp O&[+䈴2"Ymk&0Maa:ǴҶir sXzL knb 6g B!Qp!d2&-!)d*l!."sCCxgZ*%3;k+&200A`XJ,f,)eB}CZ421Ǯ^zhN, kXwZ`aVv8Tgw3>71!fo6bvk٭!fF 2b6dN-Kz` >HU I-O5%!ݩ!݉*!ݨ!݈nHݒ# sf#h#?{q] 2hu+>MP+NVZ:̿>ސy\fcTki4%ЙsM-'ܦ3|e3X^Q!2^2A/,sMY^Q!3^6y'Л?6Y㠰D,}dzji3ۮ44pZL3p 4}ƙ44nZ 4}ƙ4t9`3yCpfag?1hڒfM3OQƧ6cOqmŸA45q­:k9- v8a^y,LݻFke 3;2uBwApNk#-fG2&VqoW8K;8E\~Ac1KJm|/, ضc` <U> i/na3]a :fa2QƔ@@A?f RKCT6}syƥ&4$XCRC5eu2^]ªiԘK]I4"c@,wͨr,N h $beCmp$V?;dӔILk3Ěh%C"B]5>غIZ:@h=[llZgEQ-= D\KI6x5R닁 `+W%$$?i]?ۗ-huٖN.ޥ2 CG!4aF aAF={cUk"; Q<'݇hݥ>7Q\Y{fs?>\ T>ܹAhkA7C-JMhԡSAݐr(҆d?4ڨ`nHW.8l !/a/0AP{$6SFQ44iPBf!B2@tgWZs gi''+8F{fwn1]q߭ݚm:up; p;(=&C>A9پq9;aB:mt{4}9Q[[\AΚRB7%˰XJ_xԀb(1 *W{Xņ2š9ʥU5N#NݬQ-0Kȭ k:X`VYjCCtJzhhx9Lz\ )ny:dtg} 6eqvr]rLBb%ӌx8캻$D?t}_FT?$Ȟ"LkYj &0#+s:937iz"f|sڧl`u?~NjOwl1ɭf%`<QOy]## , b*-cs3lmdZn§1`<# %Z!StV#FU#i 5lޡ޷QܭR|{v+`F#Q@i), 0 ~{?6ڌs]e^{9:A`HmwѩB`I&R?FNz票ldWp,-[9]V &1;5=/9K0Bp/$bt;Vlw'Y $aY wm#*}AIWÇ>?`Dbf90L1[>qTA p@a%4<Ȯ 'ۺiP=͇@V *iVmf̱z*ҘNFۥMJLH;+y'r[ꓲPM ȕ+k7woM4s Ep:0zlMC252oTn8epZ[ `\ W[Qέ~mEBZd.>@^Th0m젘-\EMdD-O=틹J.MY1m?kW+<>+(Xs%=Uv4cQK{ZT9eūX 8@m,[,]}KabԱ]:a,lnuw(^026#S$ZP#~֑pe.\ W짼U=E]՝FSU6/D&Goyj zA_J ̓{ꏥ xΘ4 \ =v!i4y>CuECNPFca =+6c=Bp^?__V*u2R@~[IҜ,DOͫډd v]ѩAߙI JhD,$k#*gY;5E8o:N R7+[I"p .;~H9s`KbVDZVDu,*]4p DUc"FJa(ЙVK~^^-,B^h֏nѠBxd,$k'=EZ|F5w}PmQ-:NUo[/b!M Yt mB=&ՖAE,kwv}/h}Xߩc ^Uwr)<T5N`ErSS+QNXѓ7U⛶ᙣ.<⮝S™e~[,{ߔj[<^S"oix]/݆vhk潷5j'ɌvZή S[[˪RwEgDD[ c;S-/K#{( GoRU681ݑNy-?:uʑ (;*Mf+#ʬ9JӒҥiv)w#-_F&彴zpj&|-ԑrգzKbחNe(q3g0HҮPe-C,?@ Ynt&&N>"?K¡e7=SQxS E4;/m8m^Lrb)`Xx|_/EqdB0/he+v"ĩ6ĩ&D4BEeب kO kӇ<:O3q]55=ĩ6D}5vhD;fMv!遝3g#c%dVcaG m $wfXGQFSVdc?L/<) {Z9A+Aj\ @8?&BC!?W$kE+Cm˻(X}V8h$CvP]{KBlG3 Zec2WRqA҈ɠȴs*vb_8³;3k^kniSRB/McVaV\έpVu8wyzUgKrͲE*"/"Jf/,m/L([v*k X5YாrGϻw{y +sø ѻRؚf@i[ZO+vah^d ы+>>^FpSzBY[={|Zmi?>mi=}|Z QیV\񩝶v9mipcpݶ<mkpdp V}ی6/VЃc Et1'k0aYLW~+);=U'7Kq~htU?#S MM+M%db#ԅ%4(MϪxؼؼj`&x`xJi5iCp6VhNCL#%&2LP)' *yh^Ɖ9mO̩qb$Й Lۓ39^۾} vyEιqH{]Q$.El㤵 =bwŻp~\lPfP k\n/5u%򿀫 a +n}rD*]}xNjӔ-k?q։EA_qb9u)H8ޥ$mH㑸;>ENewo/AjG*4 _`[[C1NsDq,0746[_xǓiA\6KKlu@ wVIM3d.>EпO-VEMwz;89z7cc^ҋSh%oYp,#[͐Q.]Ű(<%S@uac4+;E]|]/arLʌc0nt-xhpz il1/b}<䅃<%/y%piI:|†|?xlv; )kP~pQ} ͢3jnyjnͷVTvE&q|+qv+E-`žWb2[cAK!BDwg^>45*Ι4Jvbe K-j =n4eIF8nmi2턐X~[OF(']6FR\hFX1)9fGogرȹƎ ȈGrol"HX-{t.n֋CB!e]#m+GtI`K 廄Ģ=l>)gj=$~;lpt+G(d&``Hm"EII,F$kvZ5 ƃ'7ٮcō,`IZ*ZYC^>[TiM.Q$фˠwKkAçeмTB;k i4o T)$J 7 k5mK`nsU Q0W`n+#d4@ wpI[U'܎_*LėS uҹ>_@:9b%>B(>g..W?O"n^Lk!D/5e_xȫ&vb4{E73s-(Ag-h, 5]~.[4kz|!{Es}Vo0כ/}pz74T5Bޛ;iר.TВ:^7^>}b]yx9/soDi]L%zU現}Y;FƑ_xV%<ڪ?|fТq'j.qgY#Uk&\ۡ ;-NUWca/*_+n :EI~-r?zliV*S5jdq&k%m uV@3/vz>lN*oV\vfb^|*gU 4hz5aIm9ƵbZ,vFf&3*jVj z:d-v!kw?lZt9*\봌5W,E現z+:FbȞ52aiL&Va+^Ӓхh,p=./=Ӻh#J$Kvǒꎰ#[|zt93Kr +'d\1qCK=y#i@.PzA7/M'_4CoΖha"Z6Ubmd6V=ms0)Tþg6>'SOIh:צϏI&ԓz/2_֦1K$"z|ڨMcE6R1;ͤKV58PyPfM^NL4gP/DMB6d0-ŻvSIy8ܜMCaSʢ~KoM"M/D5քwH2Sa~ԞL۔ĺC)LɊA^ IĪ@^c. >RKʥzҼ5[ 'ڥkY(w'9D?9.ȑN&oF3$_a0Ecp=ﭼgo[ F[zPOW}yk |G[ J͖PH '"ae#S8vï>HO7^ X= Yo_  (?(2B)K_ǣ+t0ZNz-w&g}0‰ol;/.N>w7'L" dt' 3.P3ACߧo#';4KrgSB+v-#4$pb= dȷO.y)YL;MpŵK~KFi L}K/I$%ݯF!6}d]().){:~~A%Cp*~P 9zO2}wy>|C+7<_!n":F| A>jnN[2d.CːM^fȾH#5_Бٰ/7$7tWu#G J6jd+#ܚ;jpsܸ7\ 3h03]1v;fr$?r@QP2X# 'h~٠:QKDW:l,c|0bҐT -gzi.b"i8 :,89bWl!sD6JqRF\Kc)|ƣbLj;#ob/qȗ8K%oC?O o8x_TgggG ^O9(7_uoCFЛf_ڤƟ`xo_%~'.9F>YYmd]ߐ.rB~[ GQ>fRPws7q] U,D]$I7^HA4&Z N ` ~pl4.E [г;1@3a/&ᐼI}o#5SLcT^|@"@%>/}bDco 鍿ぽ[o\)>|ǽ1~û] 5kIB?FVAآk>)}gt.v,=2EڛmVOTYemQюIXY;[; @;ϰL+Z z?簹)Mx[v" H2}[XX %Mvu ebcK0 ~uWG̊VF(Wa&{7mWcH_XFצ7xz8'1ۑZ: \wdmE{ʔmv>މ4 $}6zT@ \m3ҾΩeo;JҸG|UF<h KZ0( :&"1V7 3Ew6~/%y^Sq ob/FM=*Z;Sja4Cx<$Hpoy 6l'22a_` 2#9.=,4xqtG̋ ,5,8&}!klˑ5&b#2q ZYXcq2lT@gqLYϰ-Ep/gu$ p VG(>,Z'%&EEǚ |)c&\?ngѱ>^V oNJ{UFJ8m-U]E.Bg Am^!ܶm)EV8oT}\X+![mV6.jY6O,-žFK^<olQAD6v[QËaw"rPhI^^G:]KhZjXFVWV &Ҥlډ't@9q4"^8 ج2_,qw02I `DWD]#G`}!Kla ul xbୗp_G\@ &mGKq7Q P#$ 0c,0oF*+~9"*ꐢ`Ф֧z*B?Dsq'XB}/ABfdHDA.PR_Nl4X`p'C+S!%^ Mbڋִd^ hQDJ*qj G=Z-*Mߍ4H^ rb_`LWHN˟6HH9\'%LG@Siʿ#7ԙo2dYLgBߏ_El:\V `V+lWoă 84"x͟d4[0=kz:eox{;iz럗i|>qnӿGk @sy=5ǠX:xZ-*LqEdFAzek9QJ%DEqE_w#O/$ ,o/ 2*U(Tm\@?ORќ.Z舯<).B$`r#94%ŧT@B|&tAk55 4`F$Jxlćɔ|Ȗ`fNc, c@bƏ}0G5`X/ *,|CcC fΥU|u\ *}*17EH@{~&ZU겷yU-R ·#Q&(͢!Z*P)d KTu no$M%µ^?XȮQPD˿ՉœԏiPJr,ktDuWuEҘB?)lq5.LF$,G &L ;}_9{+)mݎ( hj8ۘ',Xl/H~~/)",hǵ B:;q4̤lDb$eAڐ/篐 3%\AW iTm 2ΦSF(*OS|܊v|@>+Y a8̕U^:' F`EKxAzZo<$fnnR!~?jv}oΆ:JrS(_^[ʼOU$ur 3|2%8_/C|z^^\ 6Ok`QxLGUv(o,X_M΀4uAГ?eT,H=i1]f"bx@9'GCv*+g M3ٔ6Wtbz0KX!|M&q$K$ d[7Dg@D)w\j,qڛ_;8ۈ8k3Dڱ|reQ3l nC52*3Plu|dn]aw-'7nK,_nF݉ [:)n`vbg^\aB!&Q* x``YdR<> …W^=KQ>:[_ Oڇ ' QϨv;YR2`Z0Jrʆ2FaY*8K]q2O$8N%B)kŗ0%;nЌ,z<f]9F̥nitѠA eAvM 0~6̓ AR I [meRKReLd<:Y k;U*Z-um&_Z9ɧ }FtڗZwQWUQbԭ t\Sn< 'Hl,AQ9t|J)XG<^e㦴(}F6Fd8~=}78n4}azaO]Acz IMt n @z FlXUujЏ^ NdG' d2ϟs3ЗOd UW7QԡCV 0_jw爊['&"{;@gJ>JRCH'Ց\/ʽ@N') #l:0):e-.>Y$.$\ m2my΅΋ ; `vGZcs,H*9 ;q>h;$p&)z,: '6Ayt8 %1^鲇5tJd60eh Otaa9ThG$3 hR6hKX2naP)1! /EM"c=>$nʭQL B3Z8~'Y:|){q/p>5-Iʵ)c𯎡]tp:V|qTr<|GPtj$#1wwE숑9¢4j O)tbᛗ7?/ϭWl.]d;܉FnLpRX4"~{^8,S'c:ǖyEW8Dn9RqLA y™g։o) }3a*4ϽuAIY]-ܦf|U^Ȱz "7=0,^E2ֱ#pKhdE<g͐򎒂Mjmܦ f'X \߂u%z΅ M_Y{HeM5B# $sH)x,6D'-8V<@á rًKܷdvd p/ 2A#wPU:(+Q/"1jPPGpסw|e0I! ;퀉k4'rwrxEs>TTJvO#s[&+3,6fGVE3޻A(2ȫ\{3rJ5a$kAr@#>~oc9BLmHX%ٲlj_sIcww^-Q67T3 ~#N{%k#`3|:[AG6{FڌcZ\ ! x` ٙu&z-vO2@v·V?E G%縍3C6aII`hI6m\Hs ]QN1KJ\Ҿ[S?}dlƐ6,HO4lMͽ3s&ce$>_۷g E" 0%GǦUl+`c5PW~v#ý3>cQ?{FllplǴ6+{+Z֤AuDm/Dꌿ0O!5_ļHsj5i0BM=`Q gp\lgE+ܜˀW#Imc ޫEj=f46U习'0ڹez3y7ۃkaք-@6[\[,#%gcPl@zjVc;lUAv r(\ !!ВQhPi⡶Tz#M6[Vf6@\OlnT_㑢n%_ 4oO/KN6av=e[)ػ6c 8L$?(6|VP(h\qV.%)T /7[,K!zu\lRr)[\Rkw/&q;e@Bl'_'7<2 ձ5FwՁ7q,Wvqk%Zqޫr&ޮaZ\֚Q yJKY@'qFt(NBO='.xh+Fk<@0hu3}r[h-viP,bp^qt|+}&~ -ۯ/Pk^퉷|lVD!sb(TauU"-vlb{LT~ٕKV#@mOOqEUvǘPZVz6N޿f$&j!e׊Mn͢x1Y`u c D6: 8*'gD&^rW4[9opē}y\T*+ȉB~к޺+s1*1j%luѻXos˕tp.Z{|ry:d Zz\`A}5׾2cͣƊ}rp=4m%]v+ҨM邥=aP1$Y 94Ҫ){k%=5qMu$w0 N%Wtb#S>_&ݐVo!+&੊M>}ܒ $#ptgt I,X&H0Jԕ4/#y1[gQ$2s( WQkE$(Gn1qJvOK,c|}Ňj:Z5'd\2X5qC cҨ6Pfxa<{-aA9W#גXyJn|FɇB̟q &S50c-\ox+Qߪ!:RB-fN-hP^f75Mz5|¥%@bD Z wAk#tI`uKJuFmaWi!)2 [ur~pKVM$Q?nMM`؍RQPIޠ F+AdLL4ڤ[v7c~fJ%6E"QtIe\Qgʪ[&}z*9sAHʙJ+Giyj!8&Cx 0ƟF/U 3kЅj 6`;9tNNN6ã~snj|@`08=lmaG ҆ќ?91{G@; pF}Z7f|&6h]̡{ӊ8ڠ}o:~rwA{p97 lxRb$2uh,'!D0j&$# ac@IgN8 & M-%d>@H7fw2~4i%_b|)!jgK5j2v`8aqRL [ؓ{ksЅ>STܪwke`ۇ~p̘n3~@&nYȄa{pMcCiVEiY 9~'`X0lxUm!ADHx&5D/ջg*\YpD-ҿ[!6 P03e1:N zK:n-bMB!L\nEH3 Ⱦ\R-.@)0ژEG[_C98X1;b+I!q>GrѿDUe >#L,dB.0K1@;B/U@@ב5aٱl4aZO%ĩ*3k S}&эVy.shNlQ58- 13@u6r>/AERnvDGn6vD ku.amqishDn1|R.oB5 }hh6+pI!!VsP)6 +R u4q[#(♰rmKG6zr`*όW;S.j<=e, <6y,TH)"} ^H}wg 㹡ki-N|vG'hjR`qs60JCUpizg}ֶy NֿN8 ϻݣOO1+*YozF{xx=jw})]v}z >ed;8?ȝК<dz;p$dtdkP|Ը_-ai+M5~ (gA.]QXUߛ&̤ziPr`y%{Mlw[xJVϟohY|5yصww6d|RTf.?^F 0QWi/m ;1#CX3|+f?pxujGo|eV2+Vs@ N;WmqRFqZbkzq <uwZIn&G]j>&Z\B "tp İIa&M6-㔽}U]V 1r2CaaXܔh!B-[+ 6i,s?~bwG?*=Ѐ`ea:1(8)3p*3Z!m~YИ5,lF- YY5!zq(>׀?w0GO8ր|>^P@at4^X65?Ȣaf -2-} w m(No ]}p¯cxaaLpv1T؏ Lq{8I>Nq 8E*/؈'qv/t͹dWs؄ނz ~Wm'\s-ti ~僶 FEPJ ׄUKj.$bjw%H!W_U@v7+UM z_SN_s:BC'd_'$? K :QRYtN+(Y wg4`"SWATOe!:n'|yw+{e'}}}9еW( n2d ʼn:/\O/[<,!Z hD1[Tq` 8<Ŗ wg/UUgkXx w;!D$4D۵LF?ϤZ-ra?a$RN0jEsnQ=s7=%I:͚I|>?޽fF>=5o(JMN+9!V'{@Yz3y,nb#lXFQ>ekYDU ̜%-풜|ʻ8< GJ5L?༛k93*Ԁ˨fA2BU9ܗ:d󋫳?:{qJsZCCMn'mi>0Kf# c̖zG{BtEB@aS=KJA:_A!vnRRwjqpV`}d #JhڄG/:5wvLdxtΊ O1&0%񊡾_hf:|훗W lʮA= w+#a;ÓI dJa_[x)XffaRB";4Po6?)*CL>6%z̍ͻBB,]"[eA̛1Q:O"AO3 fUGp߱tvIN^hNYvclp?JL5K|s'c_4|3уf{'l% q_ XwvRj2u2#%5ld9o4a͌2M#/bS욭v|+܌S;$ί~NF"zhKFhgFabjYku)Qըʧ%EX6ٞIg/lp+&r!I fY6kQi ;[s`)[LG7Q4-~9QQ5T c2.VD( 9t^bPU8VB$B?oYԵ?ф+b2"N[ơs| ,Vt n9jA.f4tJ#$K[: %X 6!: Mϲ3Od-BMJ]]g-J2-^ |%d20ݵy#JŃvOCv>JaW[C\9ht̙|~@n fsqEوb1*[rpc0stf !]&=\Q-hbvl5F53eMin{<[ cPJ ;ilM_vh~NjRo-h '< _ hd|A'1pbmzg2jeqqS@yHg*(9WRXF%\]n|EVd\?eYUbrdK/&dNQK*׳±m2nMk-zFUkaPg2]X&JyX:(b)<8:('A#d\{EE=_0iɞ.,B r@@ ^Ĺ_6p(j!^&#n~.Iᗀ&5M#")n֘!9%Y!&?M1fw?[=3)%;A)&ؙR:O*5^o!dʃ#O-Om &>'np^K>D b=Qwm/ )P)4<4?OcʬSshO:< ~M;UO^]޶Mn ss;Mn@9Sr rBEZOslkymAIy[fvI >ZY=Xd<=qTE j6s#N+2ndmD=M`X+Bڰ|/We3Tw \t*DeH [ 5 S1ΒڶEF&+t(^1, ѪF9AywijՐKG$kҦRU**8X˸t;n*Q)J,KΚ-L؄4uΞ>Z~˸0?bN`/_w/^HZ`9iPDOh:̜&:@7 +h.SQOT!?A?؏M@7JRnoim3r/^sWu1_Y.f\yl)SLz7Ezi' p6@~y:`oUL M(դ Q U,`dd}"$ {nˑ LD-"w%}k禅iyBˇ{'l"q,9jw_8P\15Jӣ,GTITY(ndD:;Dx?HoYQ(x8y#$ !-}'H։ĶV݊gb+4u:\SEj0&[ԓ|1!|Mk$T: TiLϹd'Cv1֙86L)LK&Iia+MD nCJVF'; |J5\f܌j֟t! qbH04gr+6sbwo}6gAAF̓T|kY/\*7 ԥm}0 VqK߀(~reGi_=DLtLJ)=>v~/N pl+_uSB7o?Oψ}hpXDrF;xks?`9}mY8a_wlX%zRW*z.3GwܩSg/~s֞Okc-2?}gMH+3q;81Mc nWU_G&w;$?<:jK+/N*_g9WWU_Uo~'xP(LTmWU/ 7iv_14VI@P'+n?%Ѡ?Ifb?v)u]_m#>^VOSx2Ah֥@e gCV awƤ}gD@IqlF뙳ŋْFu@#"^PAaU9%rj|Uãۋp 9G}0Sad廣.F񱡾㨡s]rd?pq;W^85ZFvjPlx$FW*UJURT*UJURT*UJURT*UJURT*UJURT*seirsplus-1.1.0/examples/000077500000000000000000000000001375244156600153755ustar00rootroot00000000000000seirsplus-1.1.0/examples/.DS_Store000066400000000000000000000140041375244156600170570ustar00rootroot00000000000000Bud1%  @ @ @ @ E%DSDB` @ @ @seirsplus-1.1.0/examples/.ipynb_checkpoints/000077500000000000000000000000001375244156600211665ustar00rootroot00000000000000seirsplus-1.1.0/examples/.ipynb_checkpoints/Basic_SEIRS_Meanfield_Model_Demo-checkpoint.ipynb000066400000000000000000003062051375244156600324020ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SEIRS+ Deterministic Model Demo\n", "\n", "**This notebook provides a demonstration of the core functionality of the SEIRS+ Graph Model and offers a sandbox for easily changing simulation parameters and scenarios.** \n", "For a more thorough walkthrough of the model and use of this package, refer to the README." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and Importing the model code\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```sudo pip install seirsplus```\n", "\n", "Then, the ```models``` module can be imported into your scripts as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "import networkx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. In this case, the easiest way to use the module is to place your scripts in the same directory as the module, and import the module as shown here:*\n", "```python\n", "from models import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initializing the model parameters\n", "All model parameter values are set in the call to the ```SEIRSModel``` constructor. The basic SEIR parameters ```beta```, ```sigma```, ```gamma```, and ```initN``` are the only required arguments. All other arguments represent parameters for optional extended model dynamics; these optional parameters take default values that turn off their corresponding dynamics when not provided in the constructor. For clarity and ease of customization in this notebook, all available model parameters are listed below. \n", "\n", "For more information on parameter meanings, see the README.\n", "\n", "*The parameter values shown correspond to rough estimates of parameter values for the COVID-19 epidemic.*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "model = SEIRSModel(initN =1000000,\n", " beta =0.147, \n", " sigma =1/5.2, \n", " gamma =1/12.39, \n", " mu_I =0.0004,\n", " mu_0 =0, \n", " nu =0, \n", " xi =0,\n", " beta_D =0.147, \n", " sigma_D =1/5.2, \n", " gamma_D =1/12.39, \n", " mu_D =0.0004,\n", " theta_E =0, \n", " theta_I =0, \n", " psi_E =1.0, \n", " psi_I =1.0,\n", " initI =10000, \n", " initE =0, \n", " initD_E =0, \n", " initD_I =0, \n", " initR =0, \n", " initF =0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checkpoints\n", "Model parameters can be easily changed during a simulation run using checkpoints. A dictionary holds a list of checkpoint times (```checkpoints['t']```) and lists of new values to assign to various model parameters at each checkpoint time. Any model parameter listed in the model constrcutor can be updated in this way. Only model parameters that are included in the checkpoints dictionary have their values updated at the checkpoint times, all other parameters keep their pre-existing values.\n", "\n", "*The checkpoints shown here correspond to starting social distancing (transmission rate ```beta``` reduced) and testing at time ```t=20``` (testing rates ```theta_E``` and ```theta_I``` are set to non-zero values) and then stopping social distancing at time ```t=100``` (```beta``` returned to its \"normal\" value; testing params remain non-zero).*" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "checkpoints = {'t': [50, 100], \n", " 'beta': [0.12, 0.147], \n", " 'theta_E': [0.02, 0.02], \n", " 'theta_I': [0.02, 0.02]\n", " }" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running the simulation" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[Checkpoint: Updating parameters]\n", "t = 49.90\n", "[Checkpoint: Updating parameters]\n", "t = 99.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.run(T=300, checkpoints=checkpoints)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing the results\n", "The ```SEIRSNetworkModel``` class has a ```plot()``` convenience function for plotting simulation results on a matplotlib axis. This function generates a line plot of the frequency of each model state in the population by default, but there are many optional arguments that can be used to customize the plot.\n", "\n", "The ```SEIRSNetworkModel``` class also has convenience functions for generating a full figure out of model simulation results (optionaly arguments can be provided to customize the plots generated by these functions). \n", "- ```figure_basic()``` calls the ```plot()``` function with default parameters to generate a line plot of the frequency of each state in the population.\n", "- ```figure_infections()``` calls the ```plot()``` function with default parameters to generate a stacked area plot of the frequency of only the infection states ($E$, $I$, $D_E$, $D_I$) in the population.\n", "\n", "For more information on the built-in plotting functions, see the README." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\njJFtv5zD+s9/h84Xl1M9chh10yZTe/Boqvca3mNN9itVVVdTe+C+1B64LwCdm7bQ8dTz5BcuZeMX\nvsvGL36P+hOOYo9/uITGM6ZVJEN/sqv6SZKkv+QKt/qUjudeZN3Hv8GOBx6neuQwcoeMITdxHNV7\ntCQb7ehcvY723/2J/AtLiDvaqd5vL/b4u7fS8o7zqB7SnCSTJEnqdSU3Ijbc6hNiZyebvnEjG778\nQ0KuhtqJ46idPIHqEXv0mRnqYr6Tjif+RMfTz1NYt4nQ1MDQ976FPf7+7VQP3yN1PEmSVFk23Opf\n5s6dC8BJJ51EfuEyVv/j52if9ww14/an7sgJ5Mbt36fHNvIvLmPHI09RWLaaUFfLkCvOZ49/fgc1\new9PHa1XvLJ+kiQNEs5wq39ZtWoVANvufIDV//h5KBSpe90R1E85jKrmxsTpdi83dn9yY/cnv3w1\nbb/5PZu/ezObr/sFQ993McM+9K4BP2ryUv0kSdLuucKtJGKhwMb/+iEbv/ojqkcNp27qJGoPGUOo\n7rur2rvSuXodO+6fR+filYTmRob9y+UMvfqtVNXXpY4mSZJ6hiMl6j9iscjq9/1vtv3yPnIHj6bu\nuMnkBsjVHvNLV7JjzjwKq9ZRPXIYe37q72l529l9Zg5dkiSVrOT/mPfP5UT1a1t/+iu2/fI+1k45\nmIbp0wZMsw2QO2Afhlz+JpredBqxs8Daf/oCy6ZfRdsTf0odrUfdf//93H///aljSJLUL9hwq1cV\ntrSy4XPfYeuoYSw89iCqW5pSR6qI2kPH0vKeC6k/5Rjy8xez/Kz3sfofPkdh3cbU0XrE+vXrWb9+\nfeoYkiT1C46UqFet+9T/Y/O3f0bD9OOoP3pi6ji9orijje33Pkr+Ty8SGurZ82PvZej73kKork4d\nTZIkZedIifq+jgVL2HztzeTGj6Z2wtjUcXpNVUM9zeedSss7z6OqpZH1n/wWS09/D21PL0gdTZIk\n9QIbbvWa9Z/4FiFXQ+7wg/htrp1H8ptTR+pVNaNG0HL5m2h4/XF0LlzK8unvYe1/fJPi9rbU0V6z\n++67j/vuuy91DEmS+gUbbvWKbXc9xPZ7H6F2wlhqx+5Ha+ykNXamjtXrQgjUTzmMlqveQs3Y/dly\n7c0sOe5Stt33aOpor8mWLVvYsmVL6hiSJPULznCr4mJHnqUnv4vCllYa33ASuX0Hzq4k5epYsITt\n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\nB12FLV5Pf0B1AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Reference simulation visualizations\n", "\n", "We can also visualize the results of another simulation(s) as a reference for comparison of our main simulation.\n", "\n", "Here we simulate a model where no distancing or testing takes place, so that we can compare the effects of these interventions:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 299.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model = SEIRSModel(beta=0.147, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, initI=10000, initN=1000000) \n", "ref_model.run(T=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can visualize our main simulation together with this reference simulation by passing the model object of the reference simulation to the appropriate figure function argument (note: a second reference simulation could also be visualized by passing it to the ```dashed_reference_results``` argument):" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nvr3t61Qq1daolJaWyufzadCgQerZs6cefvhh3XLLLXrsscd05513avr06aqsrNS0adMO+tH9pEmT\nNGnSJEnShAkTjjgb8kPrNm35fhNuIpFo2wawq98ouT+fzydp303VhWT/Y9979+7NGygAQE7kZBh1\n/8Y5EAiooqJCknTrrbfqt7/9rT755BONGTNGCxYs0MSJE1VZWam1a9fmIhoMeemll/TSSy+ZjtGu\n5uZmJZNJeb1emrP9/PWvf9Vf//pX0zGO2P57c7e+aQAAINty0nAff/zxWrdunSTpnXfeOWD2MxKJ\n6PXXX9fll1+uUCgku90uy7IK9hRCpOecc87ROeecYzrGYbU2ZU6nU3a73XScvHLaaae1jYkVGpfL\nJbvdrqamJm6gBADkxCEb7rvvvluSNG/evA6/yM9//nPNnDlTkyZNUiwW00UXXdT22HPPPacpU6bI\nsixdffXVmj59ut59912NHj26w6+L/DV48OC838uZbQAPbcCAARowYIDpGBmxLEsej0epVEr19fWm\n4wAAugArlUqlDvbAxRdfrPPOO09//etfddlllx3w2B133JGTcO2ZMGGCFi1aZDoGMtB6w2tVVZXh\nJAcXjUa1c+dOud1uGu6DKJQZ/MMJhUKKRqOqrq6W1+s1HQcAUMQOucL91FNPadiwYXK73Ro0aNAB\n/wAdtXjxYi1evNh0jENqbGyUZVnsZHEIb7zxht544w3TMTrE4/HIsizV19crmUyajgMAKGKH3Hah\nf//+6t+/v04//XT5/X7V1NRo4MCBGj58eC7zoUidd955piMcUigUUjgcbmvI8HXf+ta3TEfosNbR\nklAopObm5rz9tAUAUPjS2hZwyZIl+uY3v6lnnnlGF198saZOnZqLbChi+bqPcyqVUlNTkyzLksvl\nMh0nb/Xr1890hE7hdDoVjUbl8/lUXl7O1o8AgKxo96fL0qVL9eKLL8rhcCgWi+m6666j4UaH1dXV\nSVK7Bx3lWjAYVDQaZRvAduT7DH66Wk+g9Pv9qq+vV8+ePU1HAgAUoXa3BUylUm2rPk6nU06nM+uh\nUPyWLl2qpUuXmo5xgNbVbZvNxt/zdqxYsUIrVqwwHaNT2O12uVwuhcNhhUIh03EAAEWo3RXuU045\nRbfffrtOOeUUrV+/XieffHIucqHIjRkzxnSEr/H7/YrH4xzhnoYzzzzTdIROtf8JlH369DnoKbcA\nAGTqkNsC7m/lypX67LPPdOyxx+bVzW5sC4jOkkwmtWPHDlmWpdLSUhruLigajSoUCqmyslLdunUz\nHQcAUETSukPovPPOy6tGG4Vvz549kqTq6mrDSfbx+XxKJpM022nK1xn8jmi9gbKlpUXl5eWcLgoA\n6DR8bgojli1bpmXLlpmOIUlKJBJqbm6Ww+Fgl4o0rVy5UitXrjQdo1O13kDJCZQAgM7Wbnexa9cu\n9erVq+3r2travD+SG/nv29/+tukIbZqbm5VKpThR8gicddZZpiNkResNlPvvxQ4AQEcdsuHeunWr\ndu/erf/6r//SnXfeKWnfSuAjjzyS1ycEojD07dvXdARJUjwel8/nk9PpZITgCOz/JrzYuN3uA26g\nZMQIANBRh2y4W1patGzZMtXX1+vVV1+VtO8j18mTJ+csHIrXrl27JJlv3JqamiSJlcwjtHfvXknS\n0UcfbThJ57PZbHK73QqHw/L5fKqoqDAdCQBQ4A7ZcI8aNUqjRo3S5s2bdcIJJ+QyE7qA5cuXS5Ju\nuukmYxmi0agCgYBcLhfbwB2ht99+W5I0ceJEw0myw+VyKRqNqqmpSaWlpXz6AQDokHZnuJuamvSD\nH/xAkUik7feef/75rIZC8Rs3bpzpCG2nJbrdbsNJCs+5555rOkJWtd5AGQgE1NjYWFS7sQAAcq/d\nhvvBBx/UPffcY/yjfxQX03+fwuGwwuGw3G43q9sZKMZRkn/mcDjkdDoVCARUXl7OGzMAQMbabbh7\n9+5ddKfKwbwdO3ZIMnPzZCqVUmNjoyzLoonKUL7M4GfbP59ACQBAJtptuLt376777rtPxx9/fNvd\n+pMmTcp6MBS3N954Q5KZGe5QKKRoNCqv18sOFBlatWqVpOKd4W5ls9nk8XjabqAsLy83HQkAUIDa\nbbj79esn6X9PlgM6wyWXXGLkdVtXt202m5xOp5EMxaArnTz7zzdQMoIEADhS7Tbct912m9asWaNt\n27bpm9/8pgYNGpSLXChypo509/v9isfjKikpYXW7A7rSTYT/fANl9+7dTUcCABSYdhvuRx55RLt2\n7dJnn30ml8ulp556So888kgusqGIbdu2TZLUv3//nL1mMplUc3Oz7HY7R7h30FdffSVJXWau2eFw\nyOFwyO/3q7y8XC6Xy3QkAEABafez0fXr1+vhhx9WSUmJrrrqKm3fvj0XuVDkVqxYoRUrVuT0NX0+\nnxKJhDweD6vbHbRmzRqtWbPGdIyc8nq9kqSGhgbDSQAAhabdZb5EIqFIJCLLspRIJJhfRKe47LLL\ncvp6iURCzc3NbSuV6JgxY8aYjpBzrSdQRiIRBQIBlZaWmo4EACgQ7XYeN954oyZMmKCGhgZdc801\nRk8GRPHI9QxwS0uLUqkUR7h3kqqqKtMRjHC73YpGo2psbJTX62UBAgCQlnYb7osvvlgnnXSS9u7d\nqx49enSZmU1k1xdffCFJGjhwYNZfKx6Pq6WlRU6nkyO6O0nraFnrLkZdResNlMFgUM3NzV32jQcA\n4Mi0uzzzhz/8QXPnztWJJ56ohx56SE899VQucqHIrVy5UitXrszJazU3N0sSq9ud6L333tN7771n\nOoYRrWNJPp9P8XjcdBwAQAGwUqlU6nDfMGHCBC1atKjt6+uuu07z5s3LerB0/HM2FI7GxkZJ2R9N\niMVi+uqrr+RyudpuekPHtb6JqaysNJzEjEQiIb/fL4/Ho549e5qOAwDIc+2OlFiWpWg0KpfLpVgs\npnb6cyAtufoovrWx5wj3ztVVG+1WdrtdLpdL4XBY4XCYT08AAIfVbsN9/fXXa/z48Ro6dKhqa2v1\ngx/8IBe5UORqa2slSYMHD87aa0QiEYVCIbndbm5u62RffvmlJGnAgAGGk5jj8XgUi8VUX1+vPn36\nsNUkAOCQ0jrafe7cudq2bZv69++vo446Khe5UOTeeecdSdlruFuPcLcsi9XtLHj//fclde2G27Is\neTwehUIhtbS0dPlVfwDAobXbcM+cOVNz5syh0Uanuuqqq7J6/VAopEgkwiE3WXLRRReZjpAXnE6n\notGompubVVZWxi44AICDSmuG+9Zbb9WgQYPaPpa/4447sh4MxS2bq4GpVEpNTU2y2WwcwZ0l5eXl\npiPkhdZV7kAgoIaGBh199NGmIwEA8lC7DffVV1+dixzoYmpqaiRJQ4YM6fRrBwIBxWIxeb1eVrez\nJJf7qOc7h8Mhp9OpYDCoSCTCCBMA4GvavZNs/Pjxisfj+vLLL9WnTx+de+65uciFIrdq1SqtWrWq\n06/burptt9vldDo7/frY58MPP9SHH35oOkbeaN2lpL6+np2cAABf0+4K9/Tp01VdXa01a9boX/7l\nX/Tzn/9cs2bNykU2FLGJEydm5bo+n0+JREKlpaWsbmfRxRdfbDpCXrHZbPJ4PAqHwwoEAiorKzMd\nCQCQR9pd4f7yyy/14x//WC6XSxdccIF8Pl8ucqHIlZWVdXpTkkwm1dzc3HYSILKntLRUpaWlpmPk\nFZfLJZvNpsbGRiUSCdNxAAB5pN2GO5FIqKGhQZZlye/3s58xOsWnn36qTz/9tFOv2dzcrGQyySEk\nOVBbW9u2lzr2sSxLXq9XyWRSTU1NpuMAAPJIu8uA06ZN0/XXX6+9e/dq0qRJuueee3KRC0Vu7dq1\nkqRhw4Z1yvXi8bh8Pp+cTidbs+XAhg0bJGX34KJC1HoDpd/vV0VFBfcRAAAkSVYqjTt84vG49uzZ\no969e+fVXOyECRO0aNEi0zGQgWAwKEkqKSnplOvV19fL7/ezF3KOhEIhSZLX6zWcJP8kk0n5fD65\n3W716tXLdBwAQB5odz7k9ddf19ixY3Xrrbdq7NixWr16dS5yociVlJR0WrMdi8Xk9/vlcrlotnPE\n6/XSbB+CzWaT2+1WJBJRIBAwHQcAkAfaHSl5/PHH9d///d/q3r276urqdPPNN2v06NG5yIYitmXL\nFknS8OHDO3yt1nlZ9j/OnWzuo14M3G63YrGYGhsbVVJSklefDAIAcq/dhrtbt27q3r27JKlHjx5s\nd4VOsW7dOkkdb7gjkYiCwaDcbjc39ObQxo0bJdFwH0rrCZTBYFBNTU2qqqoyHQkAYFC7DXdpaamm\nTp2qU089VZs3b1Y4HNYjjzwiiSPekbnrrruuw9doPeTGsixWt3Ns/PjxpiPkvdbtKVtaWlReXs5W\nlQDQhbX7E+DCCy9s+3XPnj2zGgZdR2ds3RcOhxUOh+XxePjIPsd4g9O+1lVuv9+v+vp6/vsJAF1Y\nuw33VVddlYsc6GI+/vhjSdKIESMyen4qlVJjY6NsNptcLldnRkMatm7dKkkaOnSo4ST5zW63y+12\nKxwOKxQKcaMpAHRRDL3CiA8//FAffvhhxs8PBoOKxWJyu92sbhvw0Ucf6aOPPjIdoyC0/h2tr69X\nGruwAgCKEEOFMOKGG27I+Lmts9s2m42DRQy54oorTEcoGK2jJaFQSC0tLaqsrDQdCQCQYzlb4Y7F\nYvrpT3+q6667TpMnT9Znn32md955RxMnTtTtt9+uZDIpSbr//vu1ffv2XMWCIU6nM+Nm2efzKR6P\nM7ttUEfq1xW1noDa3NysRCJhOg4AIMdytsL99ttvKx6Pa968eVq9erUeffRRxWIx/fnPf9bvf/97\n/f3vf5fNZlNZWZn69euXq1gwpHUc4cQTTzyi5yWTSTU3N7ftAAEz/v73v0uSjjvuOMNJCoNlWfJ6\nvW03UFZXV5uOBADIoZytcA8aNEiJRELJZFJ+v18Oh0OlpaUKh8OKRCLyer2aNWuWfvCDH+QqEgza\nsGGDNmzYcMTPa2lpUTKZZHbbsI8//rjtxlekx263y+VyKRQKKRwOm44DAMghK5Wju3h27typW265\nRcFgUI2NjXryySdVWVmpP/zhDxo2bJiGDx+u7du3y2azacuWLbrqqqt08sknf+068+fP1/z58yVJ\njY2Neuutt3IRH52s9WP1IzmKPZFIaMeOHbLb7SotLc1WNKQhk/pBByw49O7dmzeNANBF5KzhfvDB\nB+VyufTTn/5UO3fu1I033qglS5bI7XYrkUho2rRpmjFjhu655x499thj+rd/+zfNmjXrsNecMGGC\nFi1alIv4yAP19fXy+/0qKyuj0UPBikQiCofDqqqqUkVFhek4AIAcyNlISUVFhcrLyyVJlZWVisfj\nbatk8+fPb9vvO5lMyrIshUKhXEWDARs3bmw7HjwdsVhMfr9fLpeLZjsPfPLJJ/rkk09MxyhILpdL\nNptNTU1N3EAJAF1Ezhrum266SZs3b9bkyZN144036ic/+YlKSkrk9/v1/vvv64ILLlBlZaWOPvpo\nXX/99Zo4cWKuosGAI224m5qaJHHCYb6g4c5c6w2UrYc3AQCKX85GSrKBkZKuIRKJaNeuXXK73Z1y\nJDyQD1oPb+rVqxdvJAGgyHHSJPJa6yqgZVk0JSgqrW8eOYESAIofDTeMWL9+vdavX9/u94VCIUUi\nEbYBzDNsC9hxNptNHo9HsVhMPp/PdBwAQBbRcMOIzZs3a/PmzYf9nv2PcHe5XDlKhnRs3bpVW7du\nNR2j4LXeBMwNlABQ3JjhRt5qPZWvpKSEY8RRtOLxuAKBgLxeLydQAkCRYoUbeSmZTKqpqUl2u50j\n3FHUHA4HJ1ACQJGj4YYRH3zwgT744INDPu7z+ZRIJOTxeJjdzkObNm3Spk2bTMcoGq1/z+vq6riB\nEgCKEA03jDjcDHAikVBzc7McDger23nq888/1+eff246RtGwLEsej6ft7z4AoLjQzcCIG2644ZCP\ntbS0KJVKsed2HrvyyitNRyg6TqdT0WhUzc3NKisr480mABQRVriRV+LxuFpaWuR0OjnCHV1K6wmU\n0r69uQEAxYOGG0a89957eu+99772+61HuLO6nd/+9re/6W9/+5vpGEXHbrfL7XYrHA4rEAiYjgMA\n6CR8ZgkjWud/v/Wtb7X9XiQSUSAQkNvtls3W/nvBVDKpRM02xTf+XYmabUp8uUvJbbuUbPIp5QtK\nkYhkt0t2uyyPS7Ye3WRVHyV7n2rZh/Tf98+wQbL36p61P2ex2rZtmyTp5JNPNpyk+LjdbkWjUTU0\nNMjr9ab1/wUAQH5jH27khVQqpd27dysajaq8vPyQO5MkG5oVXfmhYm+uU2ztRqX8oX0POOyyykpk\ned2S2yXL6ZDsdqVSSSmZkuIJpcJRKRxRKhSWwtG2a1o9u8t56glynjpCznNGyt6vZy7+yMAhxWIx\nBYNBlZWVqXt33hACQKFjhRt5IRgMKhKJyOv1fq3ZTiWTiq3eqMi85YqueF9KJKSyEtmOrpJ92CBZ\n3bvJqq6SrcQjuZyH3UYwlfqf5rvZp+TuBiXrGpWsb1b0zfcUXfqOJMk2uJ9cY78l99gzZR8xhG0J\nkXNOp1MOh0N+v1/l5eWctAoABY6GG0asWbNGknTmmWcecIT7/idKpuIJRZe+reAf5yv5xVdSiUe2\nwX1l79tTVv+eslWUyjrCj9sty5KcDlk9qmTrUdX2+8lEQsmv9ir52XYld+5V+E9/UfjJhbIN6CX3\nxG/LfcV5svfhFMBW69evlySdcsophpMUL6/XK5/Pp7q6OvXu3Zs3fgBQwGi4YcT27dvbfu3z+RSP\nx1VSUiLLspRKpRRdvlrB3z6v5D92yurRTfZRx8s+uJ9sR1cdcZOdDpvdLlv/XlL/XpKkZLNf8c01\nSn6xU6FHZiv0u9lynPYv8k69Ss5zT8lKhkKyc+dO0xGKns1mk8fjUTgcVktLiyorK01HAgBkiBlu\nGJVIJLRjxw7Z7XaVlpYq/v++VHDGU4qt2bSv0T62n2xDB8pWWWZshS+xp0GJj7Yq8fkOKRyV1buH\nvDddLvc1Y2UrLzWSCV1DKpVSIBBQMplUnz592JsbAAoUDTeMamhokM/nU6nHq+jTLyn0h7mSwyH7\n0GNkP2GIbN0r8uaj9GQsrsT/rVFiS61SDc1SiUeeKZfJ+70rZTuK1UdkRyKRkN/vl9vtVq9evUzH\nAQBkgIYbRqxatUqJREIDBw6UY1eD4v/xuOJ/+7tsx/SR/V+GyH5M77we20j8Y6diH25W6qu9ktsp\nz3Xj5P3RNbIdXdX+k4vABx98IEk69dRTDSfpGsLhsCKRiLp3766ysjLTcQAAR4jPJ2HErl27FIlE\ndMwX9QpPf1JKJmU/Zbic3xwmq9RrOl677Mf0lv2Y3kp8Vaf4+/9X4eeXKDz3NXm+M17eWyYV/ahJ\nXV2d6QhditvtViwWU2Njo7xeL6ewAkCBYYUbRoQCAe184Amlnlksq/ooOU4eLvux/WTZ83dV+3AS\ne+oVX7NJyW27pVKvvP92rbw3XS7LzXZu6BzxeFyBQEAlJSU6+uijTccBAByBwuxuUNCSiYR2//BX\nSj2zWLbB/eQ8b5QcQwcUbLMtSfbq7nJfeYFcV42RVepV6L+eU+O5UxV+aYUK+D0t8ojD4ZDL5VIw\nGFQoFDIdBwBwBAq3w0HBqn/uZSVef0+7Tx6872THnsVzkp69X7U8ky6Sc9xoKZFQ4K5H1XzlNMX+\n7/8zHa1TrVu3TuvWrTMdo8vxeDyyLEv19fVKJpOm4wAA0kTDjZyKN7Wo5f/7s1p6dlPtqGOLdtbZ\n8Y0Bct1wiRxnfFOJz7apZcId8v3sESXrm01H6xSNjY1qbGw0HaPLsSxLXq9XiUSCf/8AUEC4aRI5\ntfvBWVJji6rOHqkLPD1Mx8kqm80m26jjZT9hsGLvrFf0lZWKvrFWJdP+VZ7vXCargG98GzdunOkI\nXdb+x76XlZXJ7XabjgQAaAcr3MiZ4JbPFH5uiayBfeUcOtB0nJyxeT1yXzRarmu+LavMq+Bvnlbz\n5T9WbEut6WgoUF6vV5Zlqa6ujnsEAKAA0HAjZ/b88jHJYZdj+CCt98T1YSpgOlJO2Xt2l/vai+Q4\ne6QSX3ylliunyT9jllKhsOloR2zt2rVau3at6RhdVuux7/F4nNESACgANNzIiYYlbynx7t9kG9Jf\n9mP6KKCEAkqYjpVzlmXJedIwuadcKtuA3oo894oaL/yRou9uMB3tiPh8Pvl8PtMxurTW0RKfz6dI\nJGI6DgDgMNiHG1mXjET1xZk3KOULyjXmdNl7F/fs9pFIfL5d0ZXrJX9QrotHq/SB22Sr5CRBpCeZ\nTMrv98tut6tPnz6yLMt0JADAQbDCjazbPfMFpb7cJdvQAbL1Kp4tADuDfVA/uadcKvsJxyq6fI2a\nLvyhIivYbg/pYbQEAAoDDTeyKrJzj4Iz50p9q+UcPrhtBe79lF/vp/yG0+UHm8Mh1wWnyXXVBVIy\nKf/NM+T78cNK+vJ3xn316tVavXq16RgQoyUAUAhouJFVu3/1RykSleO4gQfsuR1RShEV7DRTVtj7\nVm+fOesAACAASURBVMt1wyWynzBY0ddWqWnMDxVZ+aHpWAcVDocVDhfezZ7FqHVvbknsWgIAeYoZ\nbmSN771N2jP+NlnfGCD3BafJcjlNRyoYie27FXvzvX1z7+PPVemvb5GtvMR0LOSxaDSqUCikiooK\nVVVVmY4DANgPK9zIimQ8rr13/VYq88pxwrE020fI3q+nXDdcKvvwwYoueVtNY29W9IPNpmMhj7WO\nlrS0tDBaAgB5hoYbWbH3TwuU2vK5bEOPkb1v9dcefy/l13vMcB+WzemQ68LT5briPKWCIfluuFuB\nB59RKhY3HU3vvvuu3n33XdMxsJ/W0RLLsrR3715GSwAgj9Bwo9NFd+2V/7+ek/ocLfvxg2XZvv7X\nLKGUEsxwp8U+oLfc/3qpbMf0VvjPL6tp/O2K1243mikejyseN9/440A2m01er1eJREINDQ2m4wAA\n/gcNNzrdrl/+XgqF5ThukBxVlQf9ntFWuUZb5TlOVrhsbpfc48+V84LTlPxyp5ov+3eFZi8xtop5\n/vnn6/zzzzfy2jg8p9Mpp9Mpv9+vUChkOg4AQDTc6GTNb61T7JWVsoYMkGNIf9Nxio7jhGPlnnyx\nrKoKBe9/Si033qtkfZPpWMgzraMldXV1SiS63omuAJBvaLjRaZLRmOrvflSqKJPj+MGy3K5Dfu/a\nlF9rmeHOiK2iTO5rx8p+6gmKr/tYTd++OeeH5bz99tt6++23c/qaSJ9lWSopKVEymWS0BADyAA03\nOs3umS8o9dl22Y47RvY+R5uOU9Qsy5LrWyfKdfWFkiX5b54h/3/8UalIzHQ05AmHwyGXy6VgMKhA\nIH8PUQKAroB9uNEpwl/u1I6zpkjdK+X+/9m78/i6rvre+5+1x3OOdDSPtuVRnueJ2EmcOSRhTghw\nobza+9AH7hO4l9Lbe3l6aV8UCqW03IcSmlIKlNKm5ZIWwlAoU1PK2DQQAiUkTuIptmzN09EZ9tl7\nr7WeP7Yk27ETT5KOjrTer5decmzpaMVb1vme3/6t37p5H1ZdzYU/yZgRKoqJH/p35DPHsVYvI/vn\nv4Ozelmll2XMA1pr8vk8WmuWLFmC4ziVXpJhGMaiZCrcxozo/18fhljiblxtwvYcs1wH7/ZrcG/d\nhzrRx/jL307w99+s9LKMeWCqtURrzdDQUKWXYxiGsWiZwG1csZEvP0T8rYcR3V3Yay5uo+QP9QQ/\n1BOzvLLFxdmwKtlQWVdD4XfuI/fWP0Dni7Pytb7zne/wne98Z1Ye25hZtm3j+z7lcplcLlfp5RiG\nYSxKJnAbVyQen2D0XfdCcz3Olm6Ee3G3rG0ENmKWV7f4WHW1+K+7DXvbOqJvP8zobfcQ/fypGf86\njuOY9oQq4vs+tm0zOjpKGIaVXo5hGMaiYwK3cUX6fu8+GBzF3rQGu735oj9vn6hln6idxZUtXsKy\n8K7fjfeKG9ATBXKvfSfFjz2AVmrGvsaBAwc4cODAjD2eMbumWkvMKZSGYRiVYQK3cdnGf/Ao5c9+\nHbGmC3f9SoQwFev5xF7Rif8rL0F0tFD6k78l9yv/CzU0WullGRUydQplHMemn9swDGOOmcBtXBYV\nlBn+rf8N2QzO5jWItH9Jn/99PcH3TQ/3rLPSKfy7bsLZt434pwcZu+0ewu8+esWP+9BDD/HQQw/N\nwAqNueS6rhkVaBiGUQFz2oR55513UlubtBEsW7aMXbt28Q//8A9s2rSJ97znPQD81m/9Fu9973un\nP86Yn/o+9Gn0kR6sF23BXtZ+yZ/vm/7tOSOEwN27GWt5B9HXf8DE//0e/F99OTW//aaL7rl/rlQq\nNbOLNOZMKpUijmOGh4fxfd/04huGYcyBOftJWy6X0Vpz//33T//eG9/4Rj73uc/xtre9jfHxcR57\n7DF2795twvY8V3ziEKU//3vEik68zWsQ1qXfKHmR6d+ec3Z7M+INLyH69sOU/+Yfif/9P8j++e9i\nd3Vc8mNdc801s7BCYy5M9XPn83kGBwfp6Ogw7WCGYRizbM5aSg4ePEipVOJNb3oTv/qrv8rPfvYz\nUqkUURQhpcSyLL7whS/w2te+dq6WZFwGJSX97/ggOHbSSlKbqfSSjEtgeS7+Sw/g3rgXebiHsZe8\njeDLZrzfYmPbNqlUijAMGR01ff2GYRizbc5Omnzqqaf4+c9/zmte8xqOHTvGm9/8Zj74wQ9y//33\nc+211xKGIUuXLuXgwYP09vbya7/2a6xevfqcx3nggQd44IEHABgdHTWzgOdY/31/R/69H8fasR7v\n6u0I276sx/muTuYBXy/qZnJ5xiWQozmif/o+eiSH9/LrqX3/f0VkLq5V5Fvf+hYAL37xi2dzicYs\n0lpTLBaJ45i2tjbS6XSll2QYhrFgzVmFe9WqVbziFa9ACMGqVatoaGhg6dKl3Hvvvdx+++08+uij\nLF++nIGBAX7jN36DP/uzPzvv47zuda/jwQcf5MEHH6SxsXGulm8AxWeOkf+jT8PSVuwt3ZcdtgFq\nsKnh8j/fuHJ2Yx3+f7oDe9Mawn/8LmMveRvRk0cu6nOz2SzZbHaWV2jMpjNHBQ4NDRHHcaWXZBiG\nsWDNWeD+/Oc/zwc/+EEA+vv7yefztLa2AvCJT3yCt7zlLQRBgGVZCCEoFmfnhDzj8igp6f9vHwDA\n3boWp/HKKtN7RA17hDkCvtKEbeHd/CLcO65FDY2Ru+u/U/rMly84p3n//v3s379/jlZpzBYhBDU1\nNSilzHxuwzCMWTRngfvuu+9mYmKC17/+9fzmb/4mH/jAB3Ach56eHnK5HBs2bGDDhg309vbylre8\nhTe+8Y1ztTTjIgz82f9BPfok1oZV2KuWVXo5xgxzurvwf+UOrOYGin/wKSZ+/T2oMTO2cTE4s597\nZGSk0ssxDMNYkOash3s23HXXXTz44IOVXsaCV3z6GL03/Tq0NuBevwenqf6KH/M7kz3cN5oe7nlF\na030o58jHzuIaKyj9k9/G+9FW875uG984xsA3H777XO9RGMWaK0plUpEUURrayuZjNkMbRiGMZPM\nwTfGC0paSf4ABLhbumckbAPUY1NverjnHSEE3jU78F55I7ocMvHGd1H88P1oKc/6uMbGRrOHYgER\nQpBOp7Esi6GhIaIoqvSSDMMwFhQTuI0XNHDf36F+ehBr48y2kuwSNewyPdzzlt3Vjv+GO7C62in9\n+d8z/rp3IntPHwd+1VVXcdVVV1VwhcZMm9pEqbVmYGDA9HMbhmHMIBO4jedVfOoohQ/9NSxrw97c\njXBMRXoxsVI+/itvxLlmB/Lxw4zd8VbK3/63Si/LmEW2bZNOp4njmKGhoQt/gmEYhnFRzJm+xnmp\nKKL/nvdNtpJc+VSS53posof7ZtPDPe+5uzZidbUTff2H5N/6AaL/dDs/2Lsc7TrccccdlV6eMcM8\nz0NKSbFYJJfLUVdn/o0ahmFcKVPhNs6r74OfQv3iGazNa7BXL53xx2/Godm83qsadmsT3hvuwFq7\nnPLnvsG2Dz/Iiqd6UeP5Si/NmAWpVArbthkdHSUIgkovxzAMo+qZKSXGOXI/eozBu96B6OrAv3Gv\nOb7dOEv0xBHiH/4MgjJYFs7ODXi3XY1304uwV3RWennGDFFKkc/nEULQ2dmJ45gXyIZhGJfLBG7j\nLHEuz7M3/GfIFXBv2IOz3AQo41wqlqgjPcijJ9F9Q+hcAQBrxRK82/bj3bIPZ9vaKzqN1Kg8KSX5\nfB7Xdens7EQIUeklGYZhVCVTsjDOcup//m/oGcDevw17WfusfZ1v63EAbhUzM2bQmFsP2XlY28Ct\n61agtUb1DSOffhbVO0jwyQcJPvEFREMW94a9+C/eh3vtTkQ6VellG5doahNlqVRiaGho+nRgwzAM\n49KYwG1MG/7Ct4gefAixfiXupjUIa/Za/NtxZ+2xjdl35vUTQmB3tmB3tgCgcnnkU8dQPQOEX/se\n4Zf+BTwX98BO/Duuxb1xL1ZdbaWWblwis4nSMAzjypnAbQAQ9PQx9s4/gbZG3G1rEWl/Vr/eNmH6\nwqvZC10/q64Wa+8W2AuqHKEOPYs81kv0w58TPfQI2BbO3s34LzmAd8s+rFZzgM58l0qlkFIyOjqK\n67qk0+lKL8kwDKOqmB5uAyUlx1/1duSjT+Ac2IWzabXp1TRmnJISdeQk8nAP+tQAulACIbC3duO9\n5AD+i/djd3VUepnG81BKUSgU0FrT2dmJ65q7VIZhGBfLBG6D3j/8JMUP/w3W9nV4V29HzME0gm9O\n9nDfZnq4q9KVXj+lFKqnH/X0s6hTg+jJ8YJ2dxfeSw/g3XY1dvdy88JvnpFSUigUsCyLzs5ObLMp\n1jAM46KYlpJFbvy7P6b4kfsRKzpxtq2bk7ANsNT0cFe1K71+lmVhLe+E5Z3Jpsv+YeTBY6iTA5Tu\n/Sylez+LtbQN7yXX4t12TTLxxITvirNtm0wmQ6FQYGBggI6ODnNdDMMwLoKpcC9i4cAwJ278vyCM\nca/fbUYAGvOCGh4jfvIo6uQAenAUtEa0N+O/9AD+Sw9gbzXhu9LCMKRUKpHJZGhpaTHXwzAM4wJM\nhXuRUkpx6q3vg5EcztXbTe+sMW9YzQ141+4Ekokn8RNHUMf7CD7zZYJPfwmrvRnvpQfwX3Yd9pZu\nE/YqwPM8lFIUi0XGx8dpaGio9JIMwzDmNRO4F6mBe+9HfvdRrK3dOBvnfpPk1/UYAHcI80Rdjebq\n+ll1tXj7tsG+baiJAvKXh5HH+wj+ajJ8dzTjvfS6JHxvXmPC9xzyfR8pJePj47iuS01NTaWXZBiG\nMW+ZwL0ITTz8cwp/9FewvB17+zqEN/f91CuY3bGDxuyqxPWzsjVY+7bh7tuGyk2G7xN9BJ/+EsFf\nfhGrswXvZdclbSebTPiebUKI6X7uoaEhLMsy4wINwzCeh+nhXmTC/mFO3PzrUApwr9+Ds3JJpZdk\nGFckCd+HkMf7pnu+k/B9Pf7Lr8fesNKE71l05rjAjo4OPM+r9JIMwzDmHRO4FxEVRRy/6zeQP3kC\nZ/92nO3rTBAxFhQ1nif+5SHUif7T4XvFEvw7b8R/+Q3Yy81ehdkwNS5QCEFnZyfOHE07MgzDqBbm\np+Ii0vt79yEf/gXWjvU4Fe53/dpkD/BLTQ93VZqv18+qr8W7egcAanQiCd/Heyl95O8ofeTvsDet\nxr/rZvyXHDAnXM6gM8cF9vf309nZiWVZlV6WYRjGvGEq3IvE8Oe/ydg970d0d+FduxMrW9kNTgd1\nCYANwvR8VqNqu35qYHSy8t2XHLIjRHK8/J034922v+L/HhaKKIooFot4nmdmdBuGYZzBBO5FoPjE\nIXrvuAeyGbxrd2Evaa30kgyjIrTWqJ7+ZM53Tz8USuA6uAd24d95E94NexAps6H3SkzN6E6lUrS1\ntZnQbRiGgWkpWfDi8Qn6fu13QAjcHeuxOlsqvSTDqBghBHZXB3ZXR3K8/NGTyKeOEf3wZ0T/8gik\nfbxb9+O/6kbc/dsRjjm6/FJ5nofWmiAIGBoaMgfjGIZhYAL3gqbimJNv/j308V7sq7Zhdy+fN098\nX53sAX7ZPOsBNi7OQrh+lmVhrenCWdOFimPUU8eRh48T/tMPCL/yr4jGLN4rbiB1583Ym+Z+Vn01\n830frTXFYpGRkRGamprM359hGIuaCdwLWO+7/5T4Oz/G2tqNu7UbMY82Ma0jVeklGFdgoV0/y3Gw\nNq/G2bwaVQ6TGd9Heijf/1XKf/2PWKuW4t99SzLpxNwluihToTufzyOEoKmpqdJLMgzDqBjTw71A\nDf71F8n9jw8jurtwr96OXZ+t9JIMo+qoXJ74F8+gjp1Cj+RAgLN7M/5rbsV/8X5EbabSS5zXtNaU\nSiWiKKK+vt4cAW8YxqJlAvcCNP69nzD0uv8BbU141+7Abp9/FTk1+W1nmdvMVWkxXj/ZN0T8i2TS\nCYUS+C7ezVfh332r6fd+AWeG7oaGBurr6yu9JMMwjDlnWkoWmOBoD0O//m7I1uDs2jgvwzbAPzEO\nwMswFa9qtBivn93Rgt3Rkmy2PNyDPHiU8NsPE/7TDxCNdfivuB7/rluwN64y/cpnEEKQTqfRWjM2\nNoYQgrq6ukovyzAMY06ZwL2AxLk8p97wTghCnKu3zetj29cvsB7gxWYxXz/LsrDWLsdZuxwVRshf\nHkYdPkFw/1cJpvq9X3Nr0u/d0Vzp5c4LQggymQzFYpHR0VEAE7oNw1hUTEvJAqHCiOOv/e/If/s5\n1ou24O3aiLDNLW7DmCvn7ffeu4XU3bfivXg/oqY6DgmaTVOTS+I4prGx0YRuwzAWDRO4FwClFD3/\n5T1EX/oO1vb1ePu2Ijy30st6QfHkt51jbr1XJXP9XpjsHSR+/DDqeC8Ug6Tf+9b9+K++BXf/tkX9\nYtiEbsMwFiPTUrIA9L33Y0Rf+g5iwyq83RvnfdgG+MYi7AFeSMz1e2F2Zyt2Z2vS733oBPLpY4Tf\n/BHhV7+HaK7Hv/Mm/Dtvxlm3otJLnXPPbS/RWpuNlIZhLHgmcFe5gb94gNLHHkCsWYaze2PV3Lbe\nuIh7gBcCc/0ujmVZWOtW4KxbgQpC5C8PIY+cJPjLLxF86ovY61ZMzve+HqulsdLLnTNnhu6xseQQ\nJRO6DcNYyExLSRUb+fJDjL7lvbCkDe/q7djtZoOWYVQDNTpB/IunUc/2oscmwLJwrt6e9Hvf/CJE\nyq/0EufEme0ldXV1NDQ0mAkvhmEsSKbCXaVyP3qM0bd9AJobcPduqrqwHWoFgCfmz+mXxsUz1+/K\nWI1ZvOt2o7VGnuhHPnmE+NEnyP/gMcik8O+4Fv+um3H2bJpXJ8TOtKlKd6lUIpfLoZQyx8AbhrEg\nmcBdhfI/fYLBX/ltSPu4ezdjL22v9JIu2bfIAaYHuFqZ6zczhBA4yztwlnegYok6eAx5+ATlL3+H\n8hf+GaujBe+um0i96ibsVUsrvdxZMTWnWwhBPp9HKUVLS4sJ3YZhLCimpaTKFJ84TO+r3g5S4u7b\nhr1uRVU+MR3VZQBWicVx63yhMddvdqlCifjxQ8mIwcER0GBv7Sb16lvxXnoAqyFb6SXOOK015XKZ\ncrlMKpWira2tKn+2GYZhnI8J3FUkONrDyZe/DfIlnH1bcTasWtC3mw1jsdNao4dGJ0cM9qFzeXBs\n3Ov3kHr1zbjX76mKqUSXolwuEwQBnufR3t6OZX7GGYaxAJiWkioRnOzn5KvfAeMFnKu24Kyv7rAd\nTPYApyrcAxzHDnHsIWOXWHpI6aCVhdICrZO1CaGxhEIIhWVJbCfCsSNsJ8a2Q2xbVfT/oRLmy/Vb\n6IQQiNYmvBub0Eohj51CPnWM6IePET3074hsDd7Lr0tGDG5ftyAqwr7vI4SgVCrR29tLe3s7jmOe\nqgzDqG7mp1gVCPuHOfXqd0D/CPaLNuNsXoOwqzvo/PMc9wBLaREEWUrFLEFQQzlME5bTKHXl1UFL\nhLhOgJcK8LwQzyvhp4r4fgHHiWdg9fPPXF8/A4Rl4axehrN6GSoMUU8cRR49SfmBb1L+7Nexlnfg\n33UL/itvwF5Wffs6zuR5HkIIisXidOj2PK/SyzIMw7hspqVkngv7hui58+3oZ3uxd2/E3bkR4VT/\nKXXPTvYAr5ilHmClBMViPfl8I/mJRsrlGiCp/tmqgCNz2ATYnsTybUTaw065iLSNcB2Ea4Mz+aJG\ng44VOpboUKLKGhVIdDlChwoZWUjpIHUKadegxenXsbYV4PsF0pki6cwE6fQErlum2guRs339jIun\nxvPEvzyMevYUeiiZae3s3oT/6lvwbr8GK5up8Aovn5SSQqEAQGtrK+l0dZwzYBiG8VwmcM9jYd8Q\nPa/6b+jjfdh7NuFuX49wzU2J56OUIJ9vYnyslYmJZrS2QUv8eBBP5HDqHOzWWpzWekRT/Yz3vmop\nURNF5HCBeLhMnAuRgSaOfSK7HkTyQskWZVLpHJnaAplMjkwmh2UtvrYUY2ZprVG9g8gnjyKP90G+\nCJ6Ld/NV+K++GfeanVX5Yl0pRaFQmB4ZmM0uvA2jhmEsfCZwz1Nh3yA9r3w7+sTCDNvFyR7gzAz0\nAAdBhpGRJYyPtaKUi6UD0mEPbp3G7WrE7mrHqqlclU8rhRovEJ3MEQ4FyIIiitPEVh1JqVuR8sap\nyeaorc2RzuSwbVmx9V6Mmbx+xsxTsUQdPoE8dALV0w9hhGisw3vlDaTuvBl746qq6vfWWlMoFJBS\nmgNyDMOoSiZwz0Pl3gFOvvLt6JP92Ls3425ft6DCNsBXdXLr+2Xi8nqAtYaJXDMjI0spFBoQWpIO\nT+DXlnG727GXd87rvzMtJfHQBOGJHNFImSjwiEQDCAtQpNwcNfXjZLOjZDITCDG//ple6fUz5o4q\nlZFPHEYdO4XqGwKlsdd04b/6FvxXXI9VJYdmaa0plUpEUUQqlaK1tdVMMDEMo2qYwD3PBMdOcuru\n30SfGlyQle0pJ3QIQJe4tI1QWsP4eBuDA12EYQ22ypORJ/CX1+FsXIGVqd4ez3gsT3h0jGgoICy6\nRFYSwC0iMjWjZOvHqK0dxfPKlV7qZV8/o7LUaC6Z7328Dz0yDkLgXLWV1N234N26H5FJVXqJL0hr\nTRiGBEGA4zhmgolhGFXDBO55pPjkYXpf81swPoG9exPutnVV2XM5G04H7eWEYQZXjlJjn8TbuAx7\n5RKEvbD+nrRSyJECwZFRouGIMKpFWklbjGdPUNswSn3dCOlMruo3YBpzT2uN7OlHHjyKOt4HxQBS\nHt5t15C662acq7bM639TURRRLBYRQtDW1kYqNb9fKBiGYZjAPU9M/ORxBl7/TohinD2bJkf/zd8n\nvCuV10mPcq248P9jsVBHb+9qgqAOV45QY/fibVuJvaytqmeRXwoVx0TPjlI+MUGYE4SiCYSFLcrU\nZoepaxihtnZszjZfXsr1M+Y3FUvUM8eRh46jTg5AFCNaGvFfcT3+K67H3rRmXvZLSykpFosopWhs\nbKSurq7SSzIMw3hecxa4oyjiXe96FydPniQMQ+655x5c1+WjH/0oS5Ys4SMf+QiWZfH7v//7vOlN\nb2LZsmUXfMyFErjH//URhn7td8B1cHZvxNmwuurnbF/IxfQAh2GK/r5V5HKt2KpIrTqEv30l9orO\nRRO0n088mid4eoRwKKas6tHCQxBTkxmhrnGUbHYEx4lm7eubHu6FSQVl5OOHkEdPogdGQGmsrna8\nV95I6uXXY6++8M/luaSUolQqEccxmUyG5uZm09dtGMa8NGfNb1/5yldoaGjgQx/6EGNjY7zqVa9i\nw4YNfPrTn+ajH/0oBw8exLIsamtrLypsLxQjX36I0bf+AdSmcfduxu5evijC5E6ef2qIlBZDg8sZ\nHl4KSpMNnyS1oQlnw74FXfW/FE5jLbVX1QLJprjg6SHKvQGlfC35YhugSXtj1DeNkK0bmvG+7xe6\nfkb1slI+1p7NuHs2J/O9Hz+EOtFHcN/nCO77HPa6FXivuhH/pQewl7RVerlYlkUmk6FcLlMsFgnD\nkLa2Nlx3YR13bxhG9ZuzwH377bdz2223AUn/oG3b1NTUEAQB5XKZdDrNfffdx3ve854XfJwHHniA\nBx54AIDR0dHZXvas6v/TvyX/vk9AawPO3i3Yq5bOy1u3s2HpeTbbJX3arfT3rSaOfTLhUTIdCnf3\nDoRvNuc9Hyvtk9m+lMz2pPUkPDxM+USecsGnr28NfX1rSLljZBuHqa8fxveDK/6a57t+xsJi1dfi\nXbMDADU4QvzEEdSJfkp//BlKf/wZnB3r8V95I94d12A1V+5OhxCCVCqFbdvTx8E3NzdTU1NTsTUZ\nhmE815z3cOfzee655x5e+9rXsmnTJu677z7Wr1/Pxo0b6enpwbIsnnzySe6880527tz5go9VrS0l\nSkpO/faHKX/mK9DVjrtnM06VH8V8qXKTPcB1kz3AQVBD76k1FIsNeHKYrHcSZ98W7Mb6Si6zqmml\niI6PUjqaI5xwkqkngGfnqGuaCt/Fy9p0+dzrZywOWmvUqcFks2VPPzpXAMvCedEW/FfdiPfi/VjZ\nygVdpRTFYhEpJbW1tTQ1NS2aIoZhGPPbnAbu3t5e3va2t/GGN7yBu+++e/r3pZS84x3v4P3vfz/v\nete7uPfee7nnnnv45Cc/+YKPV42BOy6UOPnmdxN/+2HE2uU4uzbitDVVellzbqoH+HbZyuDAckZG\nlmDpMtnwKfztXdiruxZFa81cCk+NERweJxwThDSAELhWnrrGIeobRkil8hcdvk0Pt6G1Rj57CvnU\ns8nhOsUAXAf3wK4kfF+/pyJjBrXWBEFAGIa4rktra6tpMTEMo+LmrKVkaGiIN73pTbz73e9m//79\nZ/3ZAw88wJ133gkkFQohBKVSaa6WNmfCviFO/so7Ub84hLWlG3f3Jqy6xXnbc6fMEgyt4Onh5Wht\nUVM+RGaZg7Pzqhk/ct1IeEsa8JYkATkanCB4epTyiGZ4aDnDwytxrQLZhmHqG4ZJpydeMHzvNj3c\ni54QAmflUpyVS1FSog73IA8dJ/rhz4j+5RHwPdzrduG/7Dq8G/bOWfgWQpBOp3Ech2KxSG9vL01N\nTdTU1Jhqt2EYFTNngfvjH/84uVyOj33sY3zsYx8D4JOf/CRxHPPII4/wkY98BIDW1lZe//rX84Y3\nvGGuljYnJn7yOAP/+XdheAxr90a8HRsQab/Sy6oARabuB/jP7mZsaDWZ+DDp+hD3uk1YdbWVXtyi\n4bZmcVuzZIF4pEBwcJjyiGJkeCkjI8txrBLZ+iHqG4bJnGfWd6fp4TbOYNk21roVOOtWoKI4GTN4\npIfoez8l+vbD4LlJ+H7pdXg37kXUzP4BVa7rks1mKRaLDA8PUywWaWlpMVNMDMOoCDOHew4Mffar\njP/PD0PKw9m+HmfLGsQiPB3NTR2hvuUBvFQPo72bsDMh6cwwveK9TPBywFSfKi0eLRAcHKI8TnlX\n+AAAIABJREFUJCnTBMLGFgF1DVPhexwhYEzHADSIxfd9bFw8FUVJ+D56EnVqEIIwCd8HduK/5ADe\nTS9C1M7u3RKtNeVymXK5jGVZtLa2moNyDMOYcyZwzyIVx/T+7kcJ/vKL0NGCu2tDMolkkVVYLDtH\nXfOXyNT9O7KUJv/sej5fdxtNqRFeUvc1fOcUhXgbA7yLIldhgvf8EI9MEBwcJhyOKdOMFg62KJNt\nGOJg3XGUkOzT9aAFwlIIobAsieNEOE6EEFX7o8WYBSqKUIdOII+cRJ0aSMK36+BeuxP/pQdwb7oK\nKzt74TuOY0qlEkopamtraWxsNNVuwzDmjAncsyQcHOHUm38P+cOfIbq7cHdswO5sqfSy5pikpv57\nZJu+ihAhhaMrka3b8LZ1c3Ii6dNeWhchex7HL/0brjNOMd7KsPgvTOgXozFtC/NFPDxBcHAoCd+i\nBX0RlW1LhDhOiOeX8P0yrlfC9wI8v4TrBuZI+kVMxTHqmRPIoz1J5btUBsfGvXoH3kuuxbtxL1bT\nzE8oOnNDpW3btLS0mGq3YRhzwgTuWZD70WMMvuW9MDSKtbkbd9eGio7KqgQv9Qz1rX+P658iGGgl\nKGzB278F63luH+soJDrxS1Lln+G5A8SqnnH9Csb03QRsw1S95494aJzwmUGIY4RnI2wbrUBLhY41\nKpLoUKNiULFNTBpp154V0gUxnlvEzxRJpUr4fhHfL+B5JogvNiqWqMMnkEd6kqPlS2UQAmfXRrzb\nr8G75SrsGR6bGscxxWIRrbWpdhuGMSdM4J5BSikG7r2fwh/9FdSmsbetw920elFN3bCdYbLNXyGT\n/QlxMUPh2fU4O7Zjd539hDk4kaSq1uzZ335aSuLeI4jxI2TcX2JZEaFsZ4JbyHMrBb0PjalIVdp4\nmBw6Ve81XvBjtZSofBE5WiIeLiFzIbIkkZFLTA3SPv1iVCDx3AJ+uoSfKpFKFUj5BVwTxBcFJSXq\n2Cnk4R5072Ay5xuSEy5vvwbv1n3Y61fOyLSR51a7m5ubSadnfzOnYRiLkwncMyQcHqP3rb9P/C8/\nTg6z2b4ee+WSRTOGSlhFso3foKb+X0GTtI+0b8PbugbhnHs4ymf/PWkXecNV4fM+ZpwvIvsPYZdO\nkvGewrLKKO1TVLsocC0FfTUltjKHw3aMSf/a+3UAbui844oeR0cRcmiCeLBIPFZGFmLi0CEmg7RP\nT60RxPhenlSmSCpdJJUq4PsFHCe+oq9vzF9aa+TJftQzJ1C9g+jhcQCsJa14t12Nd+t+nF0bEPaV\nHb50ZrU7k8nQ1NSEfYWPaRiG8VwmcM+A8e//hKH/+gHoG8batBp721qcCh51PKdERE39d8k2fhNh\nFSkdX0bobsLbswEr8/zVot6x5IVIZ8PFffvFxTKy/wQU+vHFMVJ+DwBS1VLQeymxl6LeTYltaEyV\naraNlIcAaPJnZ1/CdBAfyBONlpEFSRx5xFYdyjo9TtOxSvipAqnMZDU8lcfzSlhW1f5YM85Da40e\nGiN+6hj61CBqcBSUQtTX4t2yD++Wq3D3b7/scYNnTjIRQtDY2Ehtbe2iKZgYhjH7TOC+Aqoc0vv+\njxN84vOQrcHeuhZ385pF0kKiSNf+hGzzP+K4IwR9bQSFDbh7N2HPwmanM2mliUYnUKMnEaVBfPsY\nKa83+TNtU1KbKLKHErsp6t3EdM7qeoy5o0oBcX+OaKCEnAiRRYiVT2TVwfQx8wrPKZDKFKar4alU\nAccJTVvKAqFyBeRTx1An+1F9wxDFyabLF23BvWUf3g17sLs6LvlxpZSUSiWklHieR3NzM55nNm8b\nhnHlTOC+TMUnDtH3//w++smjiFVLcbatxe7qWAQVEUWq5mdkm76G6/cRjjVQGliHvWMrzpKLr3b2\n55K/p/a6K//201ITjRdRo71QGsHVp0j7R7GspF0lVB2U9C5K7KKodxGwGc1iPHRo5oyVhwFo8Jsr\nvBLQSqFyBeK+PNFwCTkRE5ctYmrP6g+3RIjvF0ilC2e1pdi2quDqjSulyiHq0HHk8X5U3xDkiwBY\nK5fg3boP74a9OLs2nre17Xy01kRRRBAE05sqGxoaTJuJYRhXxATuS6SkZPDPP0f+D/8SHBtr02q8\nrWtn/fCGytOkav6D2sav4aVOEuXqKPauwd64BXtlxyXPFr+YHu7LXqnSyGKMHB1E5wex4gFSznE8\nN2mDUNolUJsospsSOynpnUQsxUxCuXgz1cM9m3QUIQdzRP2T/eFFSRwn1XAtTt+Fcu0CfrpIOl1M\n2lNSBTyvZKrhVUgrhTw5gDrSg+odQg+PgdKI2gzudbvxbnoR7nW7sBrrLvhYSimCICCKIoQQNDQ0\nkM1mF0FRxTCM2WAC9yUoPn2M/nd8EPXjX8LSNtxta5ODbBZ05UPjZ54g2/RVvNRx4nwthZ7VWOs2\n4XR3XfYhPjNZ4b4YKlZEo3n0eC8Eo7i6l7R/bLoKHqlWinonJXZNVsO3ml7wFzCfKtyXSuYLyL4J\noqEScS5EBhaxzhBbtSCS7+dkk2YBP1MkPRnC/ZTZpFlt1Hge+cyzqJODqP5hKIfJyMFt63Bv2ot3\n7U7sLd0v+HPszDYTx3Foamoy00wMw7hkJnBfBBVF9N97P8U/+VsQAmvDSuyt3TiNs9urXGle+inq\nmr6Klz5CXKyh+Oxq6N6Iu24Fwq7+mbVxIUKODqELg1jhIL59At/rB6Z6wddTYvdkCN9JyApMFXxh\n0lIihyeI+yeIRianpUQusahDWafHUNpWkPSEZ073hnte0WzSrAIqjlFHTiKfPYXuG0aPTQAg6mpw\nr92ZVMCv3YnVfu6LSK319EmVWmtSqRSNjY2mv9swjItmAvcF5B97ksF3fBD1xBFY1o67pRt79cKu\nanupQ2SbvoqfeQZZSlN4dhV65Wa8DSsuug/yQi51SslcSHrB86ixPkRpBEf1k/KPYlsBALFqpKh3\nnBHCt6GovcCjLkyzPaVkvkg2aY4TDxSRuZC4BLFMEdn1Z23S9N2kLSWVLphNmlVAa40eHic+dBzd\nP4zqH0mq34C9pgv3hj24B3bh7tmE8L2zPm9qmglAJpOhsbERxzGjSQ3DeGEmcD+PeKJA/x99iuBT\nX4SUl1S1N63Gabhw71+1cv1jZJu/SirzJDJIUTi2Er18M96mVTMWtKfMZg/3TJKlmHhkGD0xgBUN\n41knSPmnANDaIlDdkwF8J0W9i5DVQPVX/y+kGnq4Z4uWEjkygRyYrIZPhMShSyyy52zSTKXO2KA5\nGcQty2zSnG9UHKOO9aKO96IGRpKZ30qB7+Lu3YJ7/R7ca7Zjdy9HCIFSinK5TBgmP7/MxkrDMC7E\nBO7nUEox+oVvMfbej0P/MGLlEuzN3TgrOhdEG8X5uP5xsk3/RKrmF8jQp3hsJapzI96W1Qh3dkYc\nPt9Jk/OdlppwvIQe64PiCI7uJ+UdxbGTE/FilaXEjumJKCW9A8XCaz26lJMmFwsdlIn7x4gHCsTj\nZeQZ1fDTmzQ1rlOanJSSnKLpp8yR9vOJ1ho9UUQePoHuHUT2j0xPPhGNdbhXb0/e9m1HLGs7a2Nl\nNpulrq7OBG/DMM5hAvcZik8cZuD//TDy4f+Algbs9StxN6xCZBbmUeKuf5Rs09dJ1fwSFXkUjq5A\ntW9KTodcFLPEZ0ZcksQjI0kVPBzBs0+Q8k4iRFLJDNTqpAqud1LUOymzDjBPyIuBlhI5OoHszxGP\nBMiJiDi0iUWW2MoylbKFiPH9wlmTUsxJmvODVgrVN4w8ehI9OJIcuhMklW2rowXnmh04+7aidqwj\nbkymmNTW1lJfX2+Ct2EY00zgBuKJPP1/+CmCv/pSMupv7XLsjauw25oX5AgoL3WI2qavk8ocnKxo\nL5/zoN0zmtwtWNa48G6vJ1XwADXSjy6N4ag+Mv4RHCfZpCV1hpLePlkFT8YSSqpr2sdQMABAS6qt\nwiupTqoUoIbGifvyxGMBsqSJZIrYbjj7JE27lIwsPKMlxfdLCFG1P7arnopjVE8/+ngfanA0CeBR\n8sLIWrEEsW8LevdGxO6N1C3rpK6uzvR4G4axuAO3iiKG/uqLTPx/fwMj44hVS7A3rsZZsWTGe5Yr\nT+NnnqS24VvJZshyiuKxFaiOjXhbV895RbtaerhnQjIXXBGNjqEmhrHCYXznBGn/2ekqeFktnx5J\nWNQ7CdgAzN+7DIu5h3u2TFXD1WCOaLiEmoimD/CJ7LNP0vS9s0/R9M0mzYpR5Qh1/BSqZwA1OIoe\nGgMpkz9ctQSxeyOp/TtovPEq0l3m1FvDWKwWZeBWSjH2te8y9r6/QB89Ce3N2OtW4K5fgUgvsPYR\nEZGp/TE1DQ/h+n3IIE3x2RWopRvwNs9ej/aFDOeTZNBcW7XffldExZpwtIwaH0QXxnF0L5nUEVxn\nLPlznaKkt55RBd9FzPypJk+E4wBkvYXXnz7f6KCMHB4nHiwkbSlFSRx5xHY90jp94JZthUkV/IxJ\nKb5fNJs055gqlVHHTiazv4fH0CPjECcBXHS2kLp2JzXX7CKzfwfOqqUL8i6qYRjnWnSBe+InjzP0\ne/ehHvklNGaT9pG1K3CaFlZwsKwJMvXfo6b+e9hOnmi8nlLfCli1PpmjveAq+NVNK01ckMRjBVRu\nGBEN49vHSaeOYYnkdnWolkxPQynpneaI+kVMK4XOF5EDOaLBAjJXRpYEERliuwEtploYNJ472Rd+\nRkXcdc0mzbmigjLy2V7kyYHk5MuRHIQRAFZzA+lrdpDev4PUvu14G1ct6JGzhrGYLZrAHRw7ycD7\nPk70lX+FTAprzTKc9SuxOloWVIXB9Y+Tqfs+mewjCCsm6GujnF+FvW7dZR3BPluODyfrWN5sqm/P\nR0WKcCxGjQ+iCrnJ0zGPnn1Evd4yGcKTKnjEEubicJ7BUh8AremOWf9axsXTUYQaHicayCNHisi8\nTA7wseqI7ez0x1kiwvdPzw2f6g+3bVnB1S98WmuiUoA80Qe9Q0n4HhmHUjLXW2RS+Ds3kr5qG/6e\nzaT2bMa+iGPoDcOY/xZ84I7HcvR/6NMEn/kyKI1YvQxn4yrspW0Lp5IgQtK1P6Wm/nt4qWdR0qbU\ns4TI7sbdvBa7df6NbltMPdwzRStNXNREo3lUbnhyIkoPmdSRs46oPz2ScOesHVFverirh1YKXQqQ\nA+PEg0Xi8QBVgkimiJwGtDh9sItjl846SdP3zSbN2aC1RimFlBIZRjA4inVqCGs8jxoeQ43nYfKp\n2Vm1lNRV20jv3YK/ZzPe+pUL57nLMBaRBRu4VVBm4C8eoPCn/wfG84gVnTgbVmKvXLpgRt7Z7gA1\ndd8nU/cwll0kmshSOrUU3bEWd+NqrHk8znCsmFRhGzJV++03LyRVcIkcH0bncziTVfDTR9Q7BHoD\nxcnj6Yt6FxHLudIqeD5KJq7UutkLfKQxX2kpUeMF5GCOaDhATYTEgU2kM8R2HYipu2EKzy3gp0uk\nUkV8f+rNBPGZMB28JzdaCiHwgghODqAGRpHDY0kv+ORJmCKTxt+1kfRVW/F3b8bfsQFnHhZVDMM4\n24IL3EpKRh74OuN//Gk4OQgdzTgbVuJ0r0CkF0K/a0Sq5hfU1P8QP3MQrQRBbwdhsAK7uxt75cI9\noMe4MK00cUkTjRbRE8OI8giulVTBzz6ifmcyFYWdlPSWBXk4j3F5tJTI4Rxxf55otIwqxMnscGqQ\nVi2nm79V0h+eLpogPgPOrHorlbTaua6L53lYUqH6hoiP9yGHx5BDo2dVwe3OFvydG0nt3Ii/YwP+\njg3YDebFsGHMJwsqcI/9848Yed9foJ84Ak31WOuW46xfiV1XW8FVzgzHO0Gm7mEy2Uew7CJxKUPQ\nsxTZ0I27cRVWlf1wPTaUvChY2WJ6uGeblpowF6PGh9GFUex4AN85Pn1EPUBZLiMQWyd7wrcQ6C0v\nOBu8v5R8bnt6yayv35gfdBihBscJBwvIsTKyEBNHDrGovagg7nklLKtqn27m1JnBW2udVL09D8/z\nsG07CefjE0THe5H9I6jRceTIOHqiOP0YTlcH/q5NpHZtxN++Hn/7eqzazAt8VcMwZtOCCNzFp48x\n8K6PIL/7KGQzWGuWY29ejd1YV9UbIoWVJ5P9Mensw3ipHrSyCHrbCctd2Ku7sVdW77xw08NdWSpW\nROMl9HgflMax5TCe04PvDUx/TKg6CCbD91QIj2kHxHN6uCUOwzj0Y4scghIWJSwCNDYaG3DR2Cgy\nKJ1FUosii6IWRYa52OhpzA4dlFHDOcLBYhLEizEydIjOCeIa1y7ipQJSqRLeZDXc94vYdmSmppzH\n+aretm2frnyfsQleS4UaGSM60YccHEWN5pIQXiglHyBE0g++YwPe1rX4W9bib+nGbjHtKIYxF6o6\ncL/ulXfy4e03EXzqQRACq7sLZ9Pq6p48IkJSmcdJZx8llfkFwpKEYw2UB5agW1cnk1Xqaiq9yiuW\nKyXXpy5dtd9+C46KNdFoCTU+gA4msOUQvtOD7/VOtwhEqpmALRTUSjzRS414Gk+cQIjLn26htYXU\nNUgakLqJWDQjaUbSRKybkvc0J39GCzEtaObv/gQjocMINZyMLYzHQlQhQoYWsU4T29kzRheenpri\np0p4kyHc94q4XmCq4pO01tO93lNP27Zt43keruueFb6nPyeWxEMjyBN9yOGkCq5Gc+hiMP0xdltT\nEsC3rsPf3I23tRt31bJ5M9HKMBaKqg7cP1l6HY2hRizvwN7cjbNqSZXu3pb4mSdJ1/6EVM1/YNll\nZJAiONVO7K3E6V6DtaTZ/AA05pwsK6LxMio3jC7msOUwvttDyj9JGLcQBF3EugVlpxGOj3AthO0g\nbAcsB1DJm5p8L2OQISiJVhJUBCrG0mUEAbYoYFt5bHsCx85hWfF51xWrLLFuJaaNWLQR00qsJ9/T\nOv1nkgbA/LuZT6ZP1BzKE40GqHyILEEsPaSdPeswH1B4TgkvVcJPlfC9JIx7fhHHOf/3xmKglJqu\nfE89hTuOg+u6zxu+p+hYIkfGiHsGUMNjyLEJ1FgOlcuDSh5LpH28javxt63H37oWb+NqvA2rsLLV\nX+wxjEqp6sD9xdXXsXPLVtzN3VW4IVLipZ8hXftT0rWPYdlFVOgR9LYRqWXYK1Zhr+qs2EmQs+3I\nYPKEsLrV9HBXG1lWPHNCYDkWa7sUwp7Zu0laaVSkkWWNCkMolyAsoeMSOopAlrF0EUsXsK0kmLvO\nGJZVPvextEOkm5IALtqRtBHRdjqs67bkPa1ovPOsxpgr04f5DE8gh4vEuRBVlMSxQ0xNMkdcnC6o\n2CJM2lJSAZ5fwvOm3oJFNU/8fOF7qu1kKnxf6I6vVgo1USA+OYgcGEaN55Gj46ixCYhOv7CxO1qS\n8L1pNd76Vcmv167Aqpn50aOGsdBUdeB+xXU38rFdL8aqklMihSjjZ54kVfNzUjWPJyE7dij3thKG\nyxBLV+CsXjqvx/nNFNPDXd3m0/VTsUKWQZZCKBcgLKDDEsQRyCAJ5+Rx7ByOM4Zj5847RSNWDZMV\n8vbpEB5NBfLpYN6GwlT55pouh6ixCeKhqfaUEFkWxNIjtrIo6+zAZ1vlJHynytMhfCqQ23a8IPvF\ntdbTPd9TbwCWZeG6Lo7j4DjORbdbaq3R5RA5MIzsHUoq4bk8amwCNVEAOVksEQJnWft0FdzbmIRx\nd+1yrFS1FcIMY/aYwD3LLCuPX/OLJGRnnkRYcVLJ7msllp3QORWyF1eFID9ZjKw1P4+rUjVePy01\nMtTIQKGDArpcgKiEDqeq5gUs8thWDtcZx3HGsMS5bQtSZ84K4DFtp4P5dGvLVDvLAkx284hWCh2U\nkSMTyJES8XiELiZhXEqX2K5FigxnJmxLREn49oPk7YxA7jjhggnj59twKYSYrn47jnNR1e9zHlcp\nVDFA9g0n1fBcHjWeR41PBvHJthSEwFnahrtuJd7a5bjdy/G6k/d2e3P17rMyjMtkAveMU7h+D37m\nSfzME3ipwwihiYsZyn2txGIJVtcKnBUdVdgGYxgLn1ZJO4sMNDoI0OUCulxCxxHEZYQuYE8H8xyO\nMzo94/xMSrtnBfCpSnnEc6vmzUA17j2Z35ITNsuo0ckwnguSjZuTYVxaNcRW7RkH/IBA4rkl3FSA\nPxnEXS/AcwNcr4xlVWcL3HMr31NP+5ZlTfd+27b9gr3fF/waSqHyRWTfMPHgCDqXR+UKyVu+APHp\nNh9Rk8Zd04W3dgXe2hW43ctxu7twV3dhmedFY4EygXsGWPYEfjoJ2H7mSWwnD0A0Xk95qAWVXoq1\nbDl2V9uC7cm+VIf6kx/s3e3V+QS22JnrN1kxDzRxACoIISygyuXTfeaqMN3KMlUxd+yJcx9HW8Q0\nndO6Mh3Op/rNaTXTWWbIdBgfnwrjIboQIgOQsUMsMki79qxJKpC0qrhuOQnhXhnXK0+G8QDXLVdN\n7/iZ4Xuq+g1J7/dUBfxKA/gUrTWqFKAGR5EDI6iJQvI2nkfli6fHFgIIgd3RgrtqKe6aLtyVS3FX\nLkner1pqNm0aVc258IcY55J4qSNnVLFPJL9b9gl7m4mCNdC0BHvlMuydDThmusg5HjmWfOt1t1e+\nB9i4dOb6gbAFTo3AqQFITb6dS0WKqKwJApCBRAVFCEN0HEMcIFQJW0xM9pgfJ+X8B449hjhPNTXW\n9eds9kyC+dmbQBW1mHaW5ycsC1GTxqpJ4yyB59ZUdRQhxwuo0Qni8TKqEKFKMSoEGbqUimnyVtM5\ngdwSYRK+vTKeV8abDOeumwR0y5of/eOWZU2H6ef2fodhSBiG0x831fs91YJyqYQQ2Jk09oo07oqz\nD8rSUYzK5YkHRpAjY+iJImqiQPjUMco/fRIdnL0R2mqqS8L36mW4q5ZNh3Fn5VLs1kbTpmLMa6bC\nfZFsZ3i6gu2nD2LZZbQShKNNhCNNqFQnVudS7OWti64f+3IUJ3NaxgyGqErm+s2s6cksIagyyJJC\nlUvoKERHMUQBli4lPeZnVMxdexTLis55PKXTz2ldaT1PO0srkkbM2MRLp4MyKldAjhdR4yEyX0aV\nJDIEqVykyCDtGrQ4+46mJSJcJ8D1y7heiOskFXPHDZPKuVv5tpXn23wJSQC3bRvHcaar4bMRcrXW\nEEbIXD45xGcshyqUpgO5KpTOrowDIpPCWdqOu6ITp6sTp6sdd/K9s6wDu63JBHKjokzgfh5ChHjp\nZyZD9hO4kyfwxcUM5YEmpGpHNy/B6erEaqk3M7INw5gTKk5aWWQZVKBR5RBVDtBRjI5DLFXEooBj\n5XCmgrkzhm0Vz30s7SJpJqL9nFGJ0VmV9BbMDdGLNxXIVS5AjgfIQoQqxqiIpH+cFNJKo6xz74pY\nIsJxJgO5V8Z1QpzJMO66IY5TntNJK2cG8DPfT5kK3lMh/HI2Yl7qeohiVLGEHBxNTtPMF1H50nQQ\nV6USlJ/zQtRzk02cyztxujrOCuNOVwdORzPCMd/jxuwxgXuaxnH78GuSgO2nDiGsGC1tykNNRPkW\ndHYJ9pJlWEubTS/2FXqqL3mBsr5j8fYAVzNz/ea/6XGJAUkrRBChwxI6jCGOEKqYjEwUU5s/k2Du\n2LlzHktrcUafeetZfeZnT2lpM33mF0FLmQTDXDEJ5BMRqhSiA4WKQcY2UvhIK4MSaZ6brgVyMpQn\nIXyqSu44IY6TBHbHibAsOSvB/LkB/MwqOJwO4We+zVV1WSuFLkeoiQJyZCwZY1gI0KUgCeaFUvLr\n0nPm9lsCu6URu7M1CeZL2pJfL2nF6WzFWdKG3dliRh0al22Rv5xTeKnDpGofI1Xzcxx3DIAol6V4\nfCnSXYJo78Le3o5bm7nAYxmX4tFnk2+99R2Ltwe4mpnrN/9ZjoXlgDu9z8zn3G7l0+0sUQjlskYF\nCh0W0VGQbACNy0k4J49jTeDYPfjO47jO+fvMpc4S62ZimpE0IWkmphGpJ9/TRKybJv+sCUWGxdZv\nLmwbUVeLVVeLs+z8H6OjGF0MUPkiajxA5iNUKUIFSS+5CmzikkfZqkFaLWcdCjT9dYiTEO6GuG40\nGcgnQ/l0QA8veRzi1HjB6bVOVsHPDOJTfeBTpqrfUwF8qo98poO4sCxE2sdK+zhtTef8uVYKHUao\nQik56n4sN1kVL6OLAbJ/mPjYSYqlMoTntmtZDdkkgC9rx+lsxV7SitPRit3WhNPWhN3ejN3SYKrl\nxjkWYYVb46UOk84+Qqrm59hOPqliDzQTBe3oxqXYy5ebNpFZNnW3zzc3CqqSuX6L03SveQCqrFBh\nCcIiRCWIw8mDhgpYFLBEEdvK4zgTOPYEQpx/gofSHlI3EnM6hMc0n/V7U4Fd0khMI2C+8eD0HHKd\nL6Emyqh8iCwmwVyHChVplLSR2kVZSRuLFufbeKGxrcnw7UbJmx1iO1ESzu1o+te2fXGV86lo8dxW\nlDMjhxBiOoSf+X6221IuRMcyCeUTBeT4BGo8P10V18UAVSwlvy6Vz9nYCYAQWI11OG3N2B3NOO3N\n2G3N2G1N2O1Nye+3J/9tZWtMb/kisWhegln2BJnsv5Gu+zdcbyA54bG/hThej+5YgbN7Ga7Z7Dhn\nTFCrbub6LU7CEti+wPYh2WyZnXw7PxUrymUohgrC8mSveQBxGeIYLSOECrAoYVHAtvpJOYdx7By2\nfW7P+ZRY1yH1ZLV8Oqg3IHU9kqm35L/V1K/JstDmnQvLQmTSkEljtz3/x2mlYLKqq4tF1ESALMRJ\nxbws0aFGRRaqbBMKj8CqRQn/nCks018XiT0dyP//9u42yI6qzuP495zuO493JiEEkQcjCRJZwMDG\nAdbdwYhFgoXylEKTVAqsBYsHtQgqkgeMJOahsBS0SkLFWHmzFLVEAuU7RGSLigEhLkXQkE3WVUiE\npIJAQjIP93b3Of99cfreuZNMHoiZhzv8P1W3+nHuPTNneubXp0+fzkIQPyiY980nRJG3dMLFAAAU\nf0lEQVSj0uA7UGt4mqYc3PZ3cACvLBtjBj2gmjjCxBG2pYn41JMH3KfSUi69Jfy+rvxmzh6klOSv\nEu5AF9nf36X032G/6tM5az+rsYHolJPy1ziik8cSjR9LdPJY7Lgx/Zajk8diWps1oNepUR+4o/hd\nWsc+S2v78xibUX5nHPv3XwinnU3hkgkUdJD9YfE/u8M/vn86rT7GrVX9af2pY1Hp1hK3WsK/myOP\no+wzT5pAKRGk7PFpL6QlSMqISyFLwZewlLD0YE03hej/aIoOEEdd2OjwXZxEDI42vLTjzFicjK0J\n52PysN63ztcse1qp524vxlpoaiRqaoSB82OVOIeUEnxPCenuRroTfG+GK2VIOQst5xn4ssWXIhIa\nKNlWvG08ZFSWPp7IpkQ2I4ozojglih1RlBJHWWg1j1KsTYlsgrEpImW8z4D+QbzSKn6411CFUWMt\npqkx/FxPOvxVdvE+3ORZTpDuXlxl/PHeEpQTfClBektku/5O+sauEOJL5QHDOYSAXg3ip5zUL4xH\nJ4/FntROdFI7dmxbPm3HNDdqSB8BRm3gNqaX4rinKY75L8DT++bppPFk4vMm0zB+7HAX70PvlZ0a\n2OqZ1p8aDNWA3gKhNboAtB/xa3zmSVIoJfm4zuW8BT0t47MEnM9b0hOMlENruuklsntojP9KZLuJ\noy6MPfzvskiMk3Yc7XkIrwTx9jzEt4UpbQMvU6Rehl80UVQdo5xTjr5/COh594rubnxPiu9JcSXX\nL6BLCl4ivERkpgFvm/JW9CNdLusL6jZOiaIMa1OsrUzz+Zr1UZQRx45CwRNFphrCawP5UIZPYy00\nNhA1NkB7kfi0w/9Qq+E8Sav996WrB99bClcoyilSLiOlBPfuPrJdb4eAXk4gzQ5fiIYC0Zg27Elt\nROPGhFA+pi1Mx7aH9WPb+4V1O7YtdHfRrrUnzKjsw93U+ipjTvlPovgAPTvPIG08n8JF54Y/IGpE\nSPP/bYXRdYX3Q0PrT9Uz8YI4CTcfZuATj08zSMuQlZAsQZzHuAR8ipEShtqw3kMUdRNFPUS257D9\n06ufJwZPK05qQ3j/eSfteFqrL0crXor91nlaERqo59Z2oC8klsr4ntDK63sdvuSQJENSF4K6M4gz\nSB7UvWnAmwJiG/AUwBw5DBqyvnAeudCCHoWAHkWOOHLYyBFHnij2RJEnjoU4ckSxJ4491voR8bCi\ngYj3kLlwotlbDuG8pxffUwoP10qyMI5/OQl90ssJJGm4ITfNjh7UjQknX22t2PZWbHuRaEy42de2\nt2Lbitgxxeq2sF/NcnsrttiioT03qlq4jUloH/84rWNeINk3hq73LqNw6RQaxxSHu2jqIBrU6pvW\nn6pnxhqMNdhq42qly0sTcPSb8MUJWSYkKfhUkDRF0gSyBMnK4SmizoF34FOQNG9dL4fgbnqJ7F4a\nol6sDaHdRoeOiDHgZ0uMoyUP4y14ivmrMl8J65WQXtnWipeWfL4ZoRlPM54WhEaGMsSbhgKmoQBt\nrR+o3V+cQ8pJHtYrQylm+MThezNIHZI6fOaRTBBvkMTixSISkZkCiW1F8uA+0MguA5bXZFiTYSNH\nZD02roR1H8J6HtyjfD6yYZu1+f75vLU+f52Ydk5jLTRYTEMhNCgew9V7EQHnkMxB5qpdXXxPGDqR\nUnjYliRJXzDP+//7vftJMxd+v9MMKafgjzI0bDW0t4QQ3toS5ostmNYWbGszttiMbW0J+xXDOlOs\nbDtofUtT3Qb4URO4bbSfcR9dTaFpB11/mYRMvJjGjrOGu1jqMF57K/yhO/8M7ZJQj7T+1IeZiQxR\nVLl5FEL3l2Mff1y8IF7IsryFPZPQEpklYShGn+Wt7Fnoy+t92FEyjCQYSTEkGFPGmgRr9lCISlhb\nIrIlrO3F2iO0XB5cHjF4mvDSgtBUDeUhjFfmKyG9BS+1Yb12/yZEGvN1TQiN+TQs/6ORw0RR9SZR\n+OC3wIYAmUI5Da3sSRnpTXHlENql7JDM53UhiPOII7Sye4OIRYjIiElsATFNiCl8oPAeeKzJA3jU\nF8qjSPoH89rQnu9b2Rbl+5k8wFvrsaayfPhWeWMMxHF12EJbbIGTj62brYiE30Xnw0guaRpa0XtK\noVtRqYxPQqu5pA7SNL9akYZ9u3vJ9h0IYd85xPl83/wE9VgYE4Z9bMlDeW1Yb27CtDSGaXMjprkJ\n29JUM83X5dtta3PNujA1zY2DFuhHReCO4vc4+fSfYqN97N/+zxQu+1estmqPaK++qYGtnmn9KXX8\nKi3sxLWhMWKgcdKPRryA5E8gzaDsJITEzOct7gm4JPRjd1l4SI2XvPXdke+MkQxDijEJhhRrEozZ\nS2T3UDBlrM1fJjnizalHLKtEeBoRaQrTmmA+cEivWS+N+bbGfP8GhAZ8PhVpqK4L+9Uuh3UUCphC\nXA3sFR9k0CUBJMtbfdMMU07xaTnvsuGQxIXwngqkPg+XHlw4ycKHlne8QSSEeI/FEZGYGDExko8Q\nIyZGiA958NGxMHiMqYTv2gAv1VZ2k4f0SogPy9J/uRrk5ZCpafDYRsGM8RgjRDZMw+tIvwcCmQOf\n/3y8xydp302k5QTKKT5NQ5cX5xDnwhWMLA/oeVca9977ZHverZ6YivN9LfhpBsfRa9o0NvQP4i1N\nmKYQ5E9/8qcf+P2q71vvfbhXX/ovfOT8tVizj/2vX0zjFZdiGgYaZ1SNJJUbsKP6vDL0oaf1p9To\nJ3l4974S4vPW+cyHAOTS8PIZ+BTxLu9Kk4dL8Yh3GPEgDkMGuDzcZ0CKNSmGDGOTMG9D2Lc2hP8w\nf+IesOWlL6APFMr7gnxjzfoYoYBQgJp5kUK/bYfONwAxnhiRQnUqxIjEeAp5//QC3lt8ZpHUIKkJ\nPZEyyYOjg9TjU4/JPD4TcAJZJWDmLy+IGPB5zvQGxCAYEItgECLERHmgt/nQjxHeRAjRB2ypP7xK\n4A/huxL8pRr0Q3DPl2uDvJFq8K+G935B/jAvHEZqftfEIS7DuBSTlsNzAtIEk4SuX5XLS8aH8B5u\nrs6DvMv7xlda4rOs2qo/5t+vY9z8W47rZzJkLdzee5YsWcL27dtpaGhg+fLlbNq0iccff5zzzjuP\nJUuWAPCd73yHpUuXUiwevYW6IXKMP+c/sHYv+/96MY3T/0UfuV4nNKjVN60/pUY/ExlMBPaQ/t2V\nEWSOvRvN0UjeAuxDAyV5bkIkBM+8700I+t6FGwa9y7va+HxdJejnXR/weQATwFWDGCbDiA+h32Qh\nrJFhTIqhF2MzCibFmKzm5fqm5NMBnrR6IoUuLHH+ikDCtLpcmZdwD0L/bX1fJ0SIVKahP7v4MMXb\nsM7b0G3GWXzWgMsa8FkB7yrTAt7FiIvwWYS4CHyM+AjvwrL4CO8t+HxebP7+EeLj6md7CeVxlfKa\nStkKffP5a9BG94nou7zUKPkJQm2I77+MCacrrX9//rg/csgC929/+1uSJGHdunVs3ryZ+++/nwMH\nDvDYY4/xjW98g/fff59XXnmFT3/608cUtgHu+Oz/0lDcw/vbptI4Q8N2PflT3iXhU2dql4R6pPWn\nlDqRQrg/UteJ4+ty80FVuuhUwn81q0vlBKCy3eR9613eVcQheQur+PxswVe+KO/uIPnJQP4e4QpA\nCHt5k3Tfh+ExhK81ePIPDetN3/5hhJzKPvnUZBjTi8WByVuacWAcBgknC1H4rHAC4cO26rzHmmO/\nB2AwhR9XjPgC3udXBnwB8TFe4hDkfQGfr/euAe8b8n0KYerCcvXrqtvivn3y9/ISIy6fSjihCCcL\nEV5i3t8Vc4RnTB3RkAXul19+mcsuuwyAiy66iC1btvDJT36SNE1xzmGt5YknnuAnP/nJMb/n5ZP3\ncGDbJBr+bQrGlsPYq6ou/OnNcJPGpz56YJhLoo6H1p9SajSqRH5j6GsBPeakVPmiyhWA4VHJ7iIm\nnACQXzEQ+nK7mPBIoepyWKh0RQn7Ss3JAvmJQThxMOLz7tG+uk9+FgH5k0RN3mNZ8KF7C/0/J7xn\n/plIdVvtftU+2NXez766zSAIgrH551qBgmDz9nEoA6XqvtXymZqTnHxeoN8+BsBUTnz61r/5/j3H\nXS9D1of73nvvZcaMGUybNg2Az33uc/z4xz/mkUceobOzkyRJOOOMM9i2bRu7d+/mq1/9KpMmTTrk\nfdatW8e6desA+Mv2bUz8SAumUccoq0el3hJNzSfukqQaWlp/9Uvrrr5p/dU3rb/6ZQ088dRLx/W1\nQ9bCXSwW6e7uri577+no6KCjo4MDBw5w33338ZnPfIYNGzYwb948VqxYwQMPPHDI+8yaNYtZs2YB\nMHPmTJ588smh+hbUCab1V9+0/uqX1l190/qrb1p/9WvmzJnH/bVDduvT1KlT2bBhAwCbN29m8uTJ\n1W1r1qzh1ltvpVQqVR+92tPTM1RFU0oppZRSatAMWQv39OnTef7555k9ezYiwsqVKwF488032b9/\nP+eeey7ee3bv3s2tt97KXXfdNVRFU0oppZRSatAMWeC21vKDH/zgkPVnnnkmS5cure6zatWqY37P\nStcSVZ+0/uqb1l/90rqrb1p/9U3rr379I3VX1w++UUoppZRSaqTTx1copZRSSik1iDRwK6WUUkop\nNYiGrA/3iTTQY+I//vGPD3ex1FFcf/311aeInnnmmcyaNYsVK1YQRRGdnZ1885vfHOYSqoO9+uqr\n1fHyd+zYwYIFCzDGcM4553DfffdhreWhhx7iueeeI45jFi1axJQpU4a72CpXW39bt27ltttu46yz\nzgJgzpw5XHXVVVp/I1CapixatIi33nqLJEm44447+MQnPqHHXx0YqO5OO+00PfbqhHOO733ve7z+\n+usYY1i6dCmNjY0n5tiTOvT000/L/PnzRUTklVdekdtvv32YS6SOplQqybXXXttv3TXXXCM7duwQ\n77187Wtfk9dee22YSqcGsmbNGvnSl74kX/7yl0VE5LbbbpMXX3xRREQWL14sv/nNb2TLli1y4403\nivde3nrrLZk5c+ZwFlnVOLj+fvnLX8ratWv77aP1NzKtX79eli9fLiIie/fulWnTpunxVycGqjs9\n9urHM888IwsWLBARkRdffFFuv/32E3bs1WWXkoEeE69Gtm3bttHb28vNN9/MTTfdxB/+8AeSJGHC\nhAkYY+js7OSFF14Y7mKqGhMmTOBnP/tZdfm1117jkksuAeCzn/0sL7zwAi+//DKdnZ0YYzj99NNx\nzvHee+8NV5FVjYPrb8uWLTz33HPMnTuXRYsW0dXVpfU3Qn3hC19g3rx5AIgIURTp8VcnBqo7Pfbq\nxxVXXMGyZcsA2LVrF+3t7Sfs2KvLwN3V1VXtmgAQRRFZlg1jidTRNDU1ccstt7B27VqWLl3KwoUL\naW5urm5vbW3lwIEDw1hCdbArr7ySOO7rdSYiGGOAvvo6+FjUehw5Dq6/KVOmcM899/Doo4/ysY99\njFWrVmn9jVCtra0Ui0W6urq48847ueuuu/T4qxMD1Z0ee/UljmPmz5/PsmXLuPrqq0/YsVeXgXug\nx8TX/mNRI8/EiRO55pprMMYwceJE2tra2LdvX3V7d3c37e3tw1hCdTTW9v25qNTXwcdid3c3bW1t\nw1E8dRTTp0/nggsuqM5v3bpV628E2717NzfddBPXXnstV199tR5/deTgutNjr/788Ic/5Omnn2bx\n4sWUy+Xq+n/k2KvLwH2kx8SrkWn9+vXcf//9AOzZs4fe3l5aWlrYuXMnIsLGjRvp6OgY5lKqIznv\nvPN46aWXANiwYQMdHR1MnTqVjRs34r1n165deO8ZN27cMJdUDeSWW27hj3/8IwC///3vOf/887X+\nRqh33nmHm2++me9+97vccMMNgB5/9WKgutNjr3786le/4uc//zkAzc3NGGO44IILTsixV5fNwod7\nTLwauW644QYWLlzInDlzMMawcuVKrLXcfffdOOfo7OzkwgsvHO5iqiOYP38+ixcv5sEHH2TSpElc\neeWVRFFER0cHs2bNwnvP97///eEupjqMJUuWsGzZMgqFAuPHj2fZsmUUi0WtvxFo9erV7N+/n4cf\nfpiHH34YgHvvvZfly5fr8TfCDVR3CxYsYOXKlXrs1YEZM2awcOFC5s6dS5ZlLFq0iLPPPvuE/O/T\nJ00qpZRSSik1iOqyS4lSSimllFL1QgO3UkoppZRSg0gDt1JKKaWUUoNIA7dSSimllFKDSAO3Ukop\npZRSg0gDt1JKjULlcpnPf/7zw10MpZRSaOBWSimllFJqUNXlg2+UUkodqru7m7vvvpv9+/czYcIE\nADZt2sRDDz2EiNDd3c0DDzzApk2beOONN5g/fz7OOa677jrWr1/PvHnz6Orqore3l29961t0dnYO\n83eklFKjg7ZwK6XUKPHYY48xefJkHn30UWbPng3An//8Z370ox/xyCOPMGPGDH7961/zxS9+kWef\nfRbnHL/73e+49NJL2blzJ/v27WP16tU8+OCDOOeG+btRSqnRQ1u4lVJqlHjjjTeYNm0aABdeeCFx\nHHPqqaeyYsUKWlpa2LNnD1OnTqVYLHLxxRezceNGnnzySb7+9a9zzjnnMGvWLL797W+TZRk33njj\nMH83Sik1emjgVkqpUeLss89m8+bNXHHFFWzdupUsy1i8eDHPPPMMxWKR+fPnIyIAfOUrX+EXv/gF\ne/fu5dxzz2X79u10d3ezZs0a3n77bWbPns3ll18+zN+RUkqNDhq4lVJqlJgzZw733HMPc+bMYdKk\nSRQKBaZPn87cuXNpbm5m/PjxvP3220BoAd+xYwdz584F4KyzzmLVqlU89dRTeO+58847h/NbUUqp\nUcVIpblDKaXUh4b3njlz5rB27VqKxeJwF0cppUY1vWlSKaU+ZP72t79x/fXXc9VVV2nYVkqpIaAt\n3EoppZRSSg0ibeFWSimllFJqEGngVkoppZRSahBp4FZKKaWUUmoQaeBWSimllFJqEGngVkoppZRS\nahD9P/ZemccEcUzQAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, shaded_reference_results=ref_model)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.4" } }, "nbformat": 4, "nbformat_minor": 2 } seirsplus-1.1.0/examples/.ipynb_checkpoints/Basic_SEIRS_Network_Model_Demo-checkpoint.ipynb000066400000000000000000001551021375244156600321450ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Basic SEIRS Network Model Demo\n", "\n", "**This notebook provides a demonstration of the core functionality of the Basic SEIRS Network Model and offers a sandbox for easily changing simulation parameters and scenarios.** \n", "For a more thorough walkthrough of the model and use of this package, refer to the README." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and Importing the model code\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```sudo pip install seirsplus```\n", "\n", "Then, the ```models``` module can be imported into your scripts as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "from seirsplus.networks import *\n", "import networkx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. In this case, the easiest way to use the module is to place your scripts in the same directory as the module, and import the module as shown here:*\n", "```python\n", "from models import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generating interaction networks\n", "\n", "This model simulates SEIRS epidemic dynamics for populations with a structured interaction network (as opposed to standard deterministic SIR/SEIR/SEIRS models, which assume uniform mixing of the population). As such, a graph specifying the interaction network for the population must be specified, where each node represents an individual in the population and edges connect individuals who have regular interactions.\n", "\n", "The interaction network can be specified by a ```networkx``` Graph object or a 2D numpy array representing the adjacency matrix, either of which can be defined and generated by any method.\n", "\n", "*Here, we use a ```custom_exponential_graph()``` generation function included in this package, which generates power-law graphs that have degree distributions with two exponential tails. For more information on this custom graph type and its generation, see the README.*\n", "\n", "**_Note:_** *Simulation time increases with network size. Small networks simulate quickly, but have more stochastic volatility. Networks with ~10,000 are large enough to produce per-capita population dynamics that are generally consistent with those of larger networks, but small enough to simulate quickly. We recommend using networks with ~10,000 nodes for prototyping parameters and scenarios, which can then be run on larger networks if more precision is required (for more on this, see README).*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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hDRqnSIi4l4ur57KyclhxowZLFiwgHfffZdZs2Y1akWhoaHOD/927dpRU1NDz549KSoqAqCwsJC4uDj69OnDhg0bcDgclJSU4HA4TtnLEBER73C5p/H222/z6quvcuedd3LnnXfy17/+tVErGjNmDOnp6YwcOZLq6momTZrEpZdeSkZGBllZWcTGxpKYmIi/vz9xcXFYrVYcDgeZmZmNWp+IiLify9IwDAOLxeI899C6detGrSgoKIhnn332lOk5OTmnTEtJSSElJaVR6xERkabjsjQGDRrE7bffTklJCffccw8DBgzwRC4REfFBLktj1KhRXH311ezevZuYmBguvvhiT+QSEREf1GBpLFq06JRpe/bsYf369UyYMKFJQ4mIiG9q8OqpiIgIIiIiKC4u5tChQ3Tq1ImjR4/y1VdfeTKfiIj4kAb3NJKTkwF47733mDFjBgC33HILY8eO9UgwERHxPS7v0zhy5Ag//PADAP/5z38oLy9v8lAiIuKbXJ4IT09P58EHH6S0tJTzzz/fudchIiItj8vSiIuL45VXXuG///0vUVFRujtbRKQFc1ka69at49lnn6Vr167s3r2bCRMmMGTIEE9kEx9mscCBYxUNvh7Yyo92bRt3I6iI+C6XpfGPf/yD/Px8goKCsNls3HnnnSoNoabWYFJecYOvP5fcG9p6Lo+IeIbLE+EWi4WgoCAAgoODCQwMbPJQIiLim1zuaURHR/PEE08QFxfHZ599RqdOnTyRS0REfJDLPY158+YRHR3Npk2biI6ObvTQ6CIi0vy53NPw9/fnsssuo3v37gAUFxdz5ZVXNnkwERHxPS5LY8KECZSVldGxY0fnMOkqDRGRlsllaRw+fJhVq1Z5IouIiPg4l+c0YmJi+OmnnzyRRUREfJzLPY3PP/+c6667rs6d4Bs2bGjSUCIi4ptclsa7777riRwiItIMuDw8JSIicpJKQ0RETFNpiIiIaS7PaSxYsIA1a9ZgsVic03QiXESkZXJZGh999BEffPABrVtrmGsRkZbOZWn06NGDyspKt5TGCy+8wL/+9S+qq6sZMWIEffv2ZerUqVgsFrp168b06dPx8/Nj0aJFfPjhhwQEBJCenk6vXr3OeN0iInLmXJZGt27diI+PJyIiwjmMSEFBwWmvqKioiK1bt/Laa69x4sQJXnrpJebNm0dqair9+vUj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jY11TnvssceYPXu2z2zP+jKmpqby1FNP+dS2PH78OI8++iiHDh2ipqaGe+65hy5duvjcv836cnbs2NHn/m3+2ujRo5kxYwZ+fn6nvT2bdWmIiIhnNevDUyIi4lkqDRERMU2lISIipqk0RETENJWGiIiYptIQOU2VlZVcf/313o4h4hUqDRERMc33xtwQ8UF2u53Jkydz7NgxOnXqBMDXX3/N7NmzAQgLC2Pu3LkEBwczc+ZMvvzySyIiIti3bx9Llixh0aJFHDlyhCNHjvDCCy/w4osv8tlnn+FwOBgzZgw33XRTvcsLCQnx2nsWqY9KQ8SEVatW0b17dyZNmsS2bdsoKioiIyODuXPn0rVrV1avXs2LL77IZZddxpEjR1izZg2lpaXccMMNzmVcddVVjBkzho8++oi9e/fy2muvUVlZyfDhw/m///u/epc3adIkL75rkVOpNERM+O677+jfvz8Af/zjHwkICGDPnj3MnDkT+PnBRp07dyYoKIjLL78cgPDw8DpDdcTExACwe/duduzYwejRowGoqalh37599S5PxNeoNERM6NKlC8XFxQwYMICdO3dSU1NDTEwM8+fPJzIyki1btnDw4EECAwN58803ATh69Cjfffedcxknh6COjY2lX79+zJo1C4fDweLFi4mOjq53eSK+RqUhYsKIESOYMmUKI0aMIDY2llatWjFjxgzS0tKoqanBYrEwZ84cOnfuTGFhIcnJyURERNCmTRtatWpVZ1nXX389mzdvZuTIkRw/fpwBAwYQHBxc7/JEfI0GLBRxoz179vDVV19x8803U1ZWxqBBg/jggw9o3bq1t6OJuIVKQ8SNjh8/zsMPP8zhw4epra1l1KhRDB061NuxRNxGpSEiIqbp5j4RETFNpSEiIqapNERExDSVhoiImKbSEBER0/4fxEufBdKXenQAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "numNodes = 10000\n", "baseGraph = networkx.barabasi_albert_graph(n=numNodes, m=9)\n", "# Baseline normal interactions:\n", "G_normal = custom_exponential_graph(baseGraph, scale=100)\n", "plot_degree_distn(G_normal, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Epidemic scenarios of interest often involve interaction networks that change in time. Multiple interaction networks can be defined and used at different times in the model simulation, as will be shown below.\n", "\n", "*Here we generate a graph representing interactions during corresponding to Social Distancing, where each individual drops some portion of their normal interactions with others. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEECAYAAADUGGjBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAg9UlEQVR4nO3de1hUdeLH8ffhqnFRidwksMD0SbfcItK9EG49GrVZrjzmoKnZZSsrWigTlgSvaba7tCVpWbZtkAkq1T6bbRe2YtUNNxXd6OIula5iaYLKTIIwc35/+HM2Epwjwsygn9fz+Dxy5nDOZw46H8733AzTNE1EREQsCPB1ABER6T5UGiIiYplKQ0RELFNpiIiIZSoNERGxLMjXATrD8OHDOe+883wdQ0SkW9m9ezeVlZUn9T2nRWmcd955lJWV+TqGiEi3kpaWdtLfo+EpERGxTKUhIiKWqTRERMSy0+KYhoicuubmZnbt2kVjY6Ovo0gn69GjB7GxsQQHB5/yslQaIgLArl27iIiI4IILLsAwDF/HkU5imib79+9n165dxMfHn/LyNDwlIgA0NjZy9tlnqzBOM4ZhcPbZZ3faHqRKQ0TcVBinp878uWp4SkTadPDwEZqaXZ22vNDgAHr1DOm05YlvqDREpE1NzS7uX7ml05b3ZPpl0LPTFtepampqmD17NkVFRb6OckJ5eXn06tWL6dOnt5peW1tLbm4uTqcT0zSZO3cuCQkJXZJBw1Od6ODhI+w91Njun4OHj/g6ooh0UytXrmT79u1tvvbEE08wadIkioqKuOuuuygoKOiyHNrT6ESefjPz59+0RHytrKyMd999l8bGRvbt28eUKVMoLy/n3//+NzNmzGDkyJG88cYbvPDCCwQEBHD55Zczffp0vvrqK2bPnk1TUxP79u0jMzOTkSNHcsMNNzBs2DA+++wzDMNgyZIlREREuNe3d+9epk+fjmmanHPOOe7pGzdu5PHHHycwMJC4uDjmzp2L0+lkxowZ7N27l379+vHPf/6TdevWMXnyZKKiojh48CDLli1j9uzZ7NixA5fLRWZmJsOHD29zed899fXxxx9n8+bNrbbF8uXLCQn531De5s2b2bp1Kzabjc8///y4bZedne1+b06nk9DQ0E77uXyfSkNE/IbD4eD555/n9ddf54UXXqC0tJTKykpefPFFkpKSWLx4MWvWrKFnz5489NBDrF+/HsMwuPXWWxk+fDibN29m8eLFjBw5EofDwfXXX09eXh4PPvggFRUVXH/99e51Pf3004wePZrx48ezdu1aXn75ZUzTJC8vjxUrVnD22Wfzhz/8gVdeeYXDhw8TGxvLk08+SU1NDaNHj3YvZ/To0YwaNYoVK1bQp08fFixYQH19PZMmTeIvf/lLm8sbP368+/uzsrJOuE327t3LU089RWFhIW+88Uab80RFRQHw+eefs2jRIp566qlT+TGckEpDRPzG4MGDAYiIiGDAgAEYhkGvXr1oampi586d1NXVceeddwJHC2bnzp0kJSWxdOlSVq9ejWEYtLS0uJc3ZMgQAPr160dTU1OrdX355ZfuD+/ExERefvll6urq2Lt3L5mZmcDR05B/+tOfUl9fT0pKCgADBgxwf0gD7msftm/fzqZNm9i2bRsALS0t7S7vuzztafz1r3+lvr6eO++8k3379tHY2EhCQsJxNxv84IMPmDNnDo899liXHc8AlYaI+JETnRoaGxtLv379eP755wkODqasrIzBgwfzxBNPcNNNNzFixAjWrFnDK6+8Yml5AwYMYMuWLVx00UX861//AqBPnz6ce+657qGs8vJyzjrrLGpqatiyZQsjR45k586d1NfXH7eOhIQEzj33XO6++24aGxtZunRpu8v7Lk97GlOmTGHKlCnA0SG8zz//vM3CeOSRR3juuee6/DERKg0RaVNocMDR43CduLxTERUVxdSpU5k8eTJOp5PzzjuP6667jmuvvZbHHnuMZcuWce6557b6QD+RadOm8dBDD7F27VpiY2MBCAgI4OGHH+bOO+/ENE3CwsJ47LHHuOyyy8jJyeHmm28mJiamzWMG6enpzJw5k0mTJmG325k4cWK7y+sMBw4cYObMmRQWFrJgwQKam5vJyckBju79zJ07t1PW832GaZpmlyzZi9LS0vzieRp7DzV6PBDeN7KHFxOJWPfJJ5+4h4ektc2bN/Ptt9+SnJzMl19+yR133ME777zj61gnpa2fb0c+O7WnISLiQVxcHA888ACFhYW0tLSQn5/v60g+o9IQEfHgnHPO8fsL/7xFF/eJiNtpMFotbejMn6tKQ0SAo89c2L9/v4rjNHPs1ug9enTO8VQNT4kIcPSU1l27drFv3z5fR5FOduwhTJ1BpSEiAAQHB3fKQ3rk9KbS8CLDOHpa7ono9tEi4s9UGl7U4jTJKq064Ty6qaGI+DMdCBcREcu0p3ESPD3JzKWzTkTkNNdlpbF161Z+97vfUVRUxCeffMK8efMIDAwkJCSERYsWER0dTWlpKStXriQoKIhp06Zx1VVXUVdXx/Tp02lsbKRv374sXLiQnj39Y7zG0/MyHh9/qffCiIj4QJcMTz377LPMnDnTfSviRx55hLy8PIqKihg1ahTPPvss+/bto6ioiJUrV7J8+XIKCgo4cuQIS5YsYfTo0axYsYIhQ4ZQUlLSFRFFRKQDuqQ0+vfvz+LFi91fFxQUuG+UdeypUtu2beOyyy4jJCSEiIgI+vfvz6effsqmTZu48sorAUhJSWHDhg1trqOkpIS0tDTS0tIs39VSREROTZeURmpqKkFB/xv56tu3L3D0TpHFxcVMnToVu93e6tGLYWFh2O32VtPDwsJoaGhocx02m42ysjLKysro06dPV7wNERH5Hq8dCF+7di1Lly5l2bJlREVFER4ejsPhcL/ucDiIiIhwT+/RowcOh4PIyEhvRRQREQ+8csrta6+9RnFxMUVFRcTFxQEwdOhQNm3aRFNTEw0NDdTU1DBo0CASExN5//33AaioqODyyy/3RkQREbGgy/c0nE4njzzyCP369SMjIwOAK664gvvvv5/JkyczceJETNMkKyuL0NBQpk2bRnZ2NqWlpfTp04ff//73XR1RREQs6rLSiI2NpbS0FICNGze2Oc/48ePdD3Y/Jjo6muXLl3dVLBEROQW6uO//ebpwD3TxnoiISuP/ebpwD3TxnoiI7j0lIiKWqTRERMQylYaIiFim0hAREctUGiIiYtlpcfaU0zT1GFURES84LUrDNPF4uqweoyoicuo0PCUiIpapNERExDKVhoiIWKbSEBERy1QaIiJimUpDREQsU2mIiIhlKg0REbHstLi4zwrD4IRXjesBSyIinp0xpdHiNMkqrWr3dT1gSUTEMw1PiYiIZSoNERGxTKUhIiKWqTRERMSyLiuNrVu3MnnyZAB27NjBhAkTmDhxIrNmzcLlcgFQWFjIuHHjSE9PZ9u2bSecV0REfK9LSuPZZ59l5syZNDU1AbBw4UIyMzNZsWIFpmlSXl5OdXU1GzduZNWqVRQUFDBnzpx25xUREf/QJaXRv39/Fi9e7P66urqaYcOGAZCSksKGDRvYtGkTycnJGIZBTEwMTqeTurq6NucVERH/0CXXaaSmprJr1y7316ZpYhgGAGFhYTQ0NGC32+ndu7d7nmPT25q3LSUlJZSUlADgdDq74m2IiMj3eOXivoCA/+3QOBwOIiMjCQ8Px+FwtJoeERHR5rxtsdls2Gw2AG785dguSi4iIt/llbOnhgwZQmVlJQAVFRUkJSWRmJjIunXrcLlc1NbW4nK5iIqKanNeERHxD17Z08jOziYvL4+CggISEhJITU0lMDCQpKQkbDYbLpeL/Pz8ducVERH/0GWlERsbS2lpKQDx8fEUFxcfN09GRgYZGRmtprU3r4iI+J4u7hMREctUGiIiYplKQ0RELFNpiIiIZSoNERGxTKUhIiKWqTRERMQylYaIiFim0hAREcu8chsRsc4wYO+hxnZfDw0OoFfPEC8mEhH5H5WGn2lxmmSVVrX7+pPpl0FP7+UREfkuDU+JiIhlKg0REbFMpSEiIpapNERExDKVhoiIWKbSEBERy1QaIiJimUpDREQss1Qadrsdh8PBq6++ysGDB7s6k4iI+CmPV4RnZWXx85//nC1btuByuXj77bd56qmnvJFNRET8jMc9jb179zJmzBhqamqYO3cuDofDG7lERMQPeSyN5uZm3nrrLS688ELq6upUGiIiZzCPw1N33HEHa9euJScnh6KiIu65554Orai5uZmcnBx2795NQEAA8+bNIygoiJycHAzDYODAgcyaNYuAgAAKCwt57733CAoKIjc3l6FDh3ZonSIi0rk8lsY111zDwIED+eyzz7DZbPzgBz/o0Iref/99WlpaWLlyJevXr+cPf/gDzc3NZGZmMnz4cPLz8ykvLycmJoaNGzeyatUq9uzZQ0ZGBmvWrOnQOkVEpHN5LI3i4mLefvttDh48yNixY9mxYwf5+fknvaL4+HicTiculwu73U5QUBBVVVUMGzYMgJSUFNavX098fDzJyckYhkFMTAxOp5O6ujqioqJO/t2JiEin8nhM4/XXX+ePf/wjERER3HLLLWzdurVDKzrrrLPYvXs31113HXl5eUyePBnTNDEMA4CwsDAaGhqw2+2Eh4e7v+/Y9O8rKSkhLS2NtLQ0nE5nhzKJiMjJ8binceyD/diHe0hIx54a98ILL5CcnMyDDz7Inj17uOWWW2hubna/7nA4iIyMJDw8vNXBdofDQURExHHLs9ls2Gw2AG785dgOZRIRkZPjcU9j9OjR3HzzzezcuZNf/epXjBw5skMrioyMdH/49+rVi5aWFoYMGUJlZSUAFRUVJCUlkZiYyLp163C5XNTW1uJyuTQ0JSLiJzzuaUyaNImf/OQnbN++nfj4eC666KIOrWjq1Knk5uYyceJEmpubycrK4uKLLyYvL4+CggISEhJITU0lMDCQpKQkbDYbLperQ8dPRESka7RbGoWFhcdNq6mp4Z133uG+++476RWFhYXxxBNPHDe9uLj4uGkZGRlkZGSc9DpERKRrtTs8FR0dTXR0NFVVVXzzzTf079+fgwcP8umnn3ozn4iI+JF29zTS09MBeOutt5g9ezYAN954I7feeqtXgomIiP/xeCD8wIED7Ny5E4DPP/+8zdNfRUTkzODxQHhubi733nsvdXV1/OAHP3DvdYiIyJnHY2kkJSXx4osv8t///pfY2Fid/ioicgbzODy1du1a0tPTeeaZZ7DZbLz22mveyCUiIn7I457Gn/70J8rKyggLC8Nut3PLLbcwZswYb2QTERE/43FPwzAMwsLCAAgPDyc0NLTLQ4mIiH/yuKcRFxfHo48+SlJSEh9++CH9+/f3Ri4REfFDHvc0Fi5cSFxcHBs2bCAuLo558+Z5I5eIiPghj3sagYGBXHLJJQwaNAiAqqoqrrjiii4PJiIi/sdjadx3333U19fTr18/923SVRoiImcmj6Wxf/9+Vq5c6Y0sIiLi5zwe04iPj+frr7/2RhYREfFzHvc0Nm/ezFVXXdXqSvB169Z1aSgREfFPHkvjzTff9EYOERHpBjwOT4mIiByj0hAREctUGiIiYpnHYxqPP/44q1evxjAM9zQdCBcROTN5LI3333+fd999l5CQEG/kEQ8MA/Yeamz39dDgAHr11M9KRLqGx9IYPHgwTU1NKg0/0eI0ySqtavf1J9Mvg57eyyMiZxaPpTFw4ECSk5OJjo5230akvLzcG9lERMTPeCyNtWvXUl5eTmRk5Cmv7JlnnuFvf/sbzc3NTJgwgWHDhpGTk4NhGAwcOJBZs2YREBBAYWEh7733HkFBQeTm5jJ06NBTXreIiJw6j2dPxcTE0LNnT0JCQtx/OqKyspItW7bw8ssvU1RUxFdffcXChQvJzMxkxYoVmKZJeXk51dXVbNy4kVWrVlFQUMCcOXM6tD4REel8Hvc0vvrqK0aNGkVcXBxw9El+HbmB4bp16xg0aBD33nsvdrudGTNmUFpayrBhwwBISUlh/fr1xMfHk5ycjGEYxMTE4HQ6qaura3UbExER8Q1Lp9x2hvr6empra3n66afZtWsX06ZNcx8jAQgLC6OhoQG73U7v3r3d33ds+vdLo6SkhJKSEgCcTmenZBQRkRPzWBqvvPLKcdPuu+++k15R7969SUhIICQkhISEBEJDQ/nqq6/crzscDiIjIwkPD8fhcLSaHhERcdzybDYbNpsNgBt/Ofak84iIyMnzeEwjOjqa6Ohozj77bL7++mv27NnToRVdfvnl/P3vf8c0Tb7++msOHz7MT37yEyorKwGoqKggKSmJxMRE1q1bh8vlora2FpfLpaEpERE/4XFPIz09vdXXd9xxR4dWdNVVV/HPf/6TcePGYZom+fn5xMbGkpeXR0FBAQkJCaSmphIYGEhSUhI2mw2Xy0V+fn6H1iciIp3PY2l88cUX7r/v27eP2traDq9sxowZx00rLi4+blpGRgYZGRkdXo+IiHQNj6Xx3d/0Q0NDyc7O7tJAIiLivzyWRlFRkTdyiIhIN+CxNF599VWWLVtGU1OTe5puIyIicmbyWBrPPvssS5cupV+/ft7IIyIifsxjacTFxXH++ed7I4uIiPg5j6XRo0cP7rjjDgYPHuy+evuBBx7o8mAiIuJ/PJbGiBEjvJFDRES6AY+lMXasbtEhIiJHebyNiIiIyDEqDRERsUylISIilqk0RETEMpWGiIhYptIQERHLVBoiImKZSkNERCxTaYiIiGUqDRERsUylISIilqk0RETEMpWGiIhY5vEut9K9GAbsPdR4wnlCgwPo1TPES4lE5HSi0jjNtDhNskqrTjjPk+mXQU/v5BGR04uGp0RExDKvl8b+/fsZMWIENTU17NixgwkTJjBx4kRmzZqFy+UCoLCwkHHjxpGens62bdu8HVFERNrh1dJobm4mPz+fHj16ALBw4UIyMzNZsWIFpmlSXl5OdXU1GzduZNWqVRQUFDBnzhxvRhQRkRPwamksWrSI9PR0+vbtC0B1dTXDhg0DICUlhQ0bNrBp0yaSk5MxDIOYmBicTid1dXXHLaukpIS0tDTS0tJwOp3efBsiImcsr5VGWVkZUVFRXHnlle5ppmliGAYAYWFhNDQ0YLfbCQ8Pd89zbPr32Ww2ysrKKCsrIzAwsOvfgIiIeO/sqTVr1mAYBv/4xz/45JNPyM7ObrUH4XA4iIyMJDw8HIfD0Wp6RESEt2KKiMgJeG1P46WXXqK4uJiioiIGDx7MokWLSElJobKyEoCKigqSkpJITExk3bp1uFwuamtrcblcREVFeSumiIicgE+v08jOziYvL4+CggISEhJITU0lMDCQpKQkbDYbLpeL/Px8X0YUEZHv8ElpFBUVuf9eXFx83OsZGRlkZGR4M5KIiFigi/tERMQylYaIiFim0hAREctUGiIiYplKQ0RELFNpiIiIZSoNERGxTKUhIiKWqTRERMQylYaIiFimZ4SfgQwD9h5qbPf10OAAevUM8WIiEekuVBpnoBanSVZpVbuvP5l+GfT0Xh4R6T40PCUiIpapNERExDKVhoiIWKbSEBERy1QaIiJimUpDREQsU2mIiIhlKg0REbFMpSEiIpapNERExDKVhoiIWOa1e081NzeTm5vL7t27OXLkCNOmTePCCy8kJycHwzAYOHAgs2bNIiAggMLCQt577z2CgoLIzc1l6NCh3oopIiIn4LXS+POf/0zv3r357W9/y4EDB/jlL3/JRRddRGZmJsOHDyc/P5/y8nJiYmLYuHEjq1atYs+ePWRkZLBmzRpvxRQRkRPwWmlce+21pKamAmCaJoGBgVRXVzNs2DAAUlJSWL9+PfHx8SQnJ2MYBjExMTidTurq6oiKivJWVBERaYfXjmmEhYURHh6O3W7n/vvvJzMzE9M0MQzD/XpDQwN2u53w8PBW39fQ0HDc8kpKSkhLSyMtLQ2n0+mttyEickbz6oHwPXv2MGXKFMaMGcMNN9xAQMD/Vu9wOIiMjCQ8PByHw9FqekRExHHLstlslJWVUVZWRmBgoFfyi4ic6bxWGt988w233XYbDz30EOPGjQNgyJAhVFZWAlBRUUFSUhKJiYmsW7cOl8tFbW0tLpdLQ1MiIn7Ca8c0nn76aQ4dOsSSJUtYsmQJAA8//DDz58+noKCAhIQEUlNTCQwMJCkpCZvNhsvlIj8/31sRRUTEA6+VxsyZM5k5c+Zx04uLi4+blpGRQUZGhjdiiYjISdAzwuU4hgF7DzWecJ7Q4AB69QzxUiIR8RcqDTlOi9Mkq7TqhPM8mX4Z9PROHhHxH7qNiIiIWKbSEBERy1QaIiJimUpDREQsU2mIiIhlOntKOsTTabk6JVfk9KTSkA7xdFquTskVOT1peEpERCxTaYiIiGUanpIuoWMeIqcnlYZ0CR3zEDk9aXhKREQsU2mIiIhlKg0REbFMpSEiIpbpQLj4hB70JNI9qTTEJ/SgJ5HuScNTIiJimUpDREQs0/CU+C1Pxz0CAwycLrPd13VMRKTzqTTEb3k67vH4+EtP+arzg4eP0NTsavd1FY9Ia35ZGi6Xi9mzZ/PZZ58REhLC/PnzOf/8830dS7oZK2douUyTzJKqdl/XwXiR1vyyNN555x2OHDlCSUkJVVVVPProoyxdutTXsaSbsXKG1uPjL/VKFpHThV+WxqZNm7jyyisBuPTSS/noo498nEjOVKd6XMXKPN5YRmeswxtDdZ6GC72VQ9pnmKZ54n9JPvDwww9zzTXXMGLECAB+/vOf88477xAU9L+OKykpoaSkBIDt27czaNAgn2Q9GfX19fTp08fXMTxSzs6lnJ2rO+TsDhkBvvjiC7Zs2XJy32T6oQULFpivv/66++srr7zyhPOPHTu2qyN1CuXsXMrZuZSz83SHjKbZsZx+eZ1GYmIiFRUVAFRVVXWLvQgRkTOBXx7TGDVqFOvXryc9PR3TNFmwYIGvI4mICH5aGgEBAcydO9fy/DabrQvTdB7l7FzK2bmUs/N0h4zQsZx+eSBcRET8k18e0xAREf+k0hAREcv88piGVd3pdiNjx44lPDwcgNjYWBYuXOjjRK1t3bqV3/3udxQVFbFjxw5ycnIwDIOBAwcya9YsAgL84/eL7+b8+OOPueuuu7jgggsAmDBhAr/4xS98mq+5uZnc3Fx2797NkSNHmDZtGhdeeKFfbc+2Mvbr18/vtqXT6WTmzJl88cUXGIbBnDlzCA0N9att2V7OlpYWv9uex+zfv5+0tDSef/55goKCTn57dvZ5v9705ptvmtnZ2aZpmuaWLVvMu+++28eJ2tbY2GiOGTPG1zHatWzZMnP06NHmTTfdZJqmad51113mBx98YJqmaebl5ZlvvfWWL+O5fT9naWmpuXz5ch+nam316tXm/PnzTdM0zfr6enPEiBF+tz3byuiP2/Ltt982c3JyTNM0zQ8++MC8++67/W5bmmbbOf1xe5qmaR45csS85557zGuuucb8z3/+06Ht6R+/PnZQd7ndyKeffsrhw4e57bbbmDJlClVVVb6O1Er//v1ZvHix++vq6mqGDRsGQEpKChs2bPBVtFa+n/Ojjz7ivffe4+abbyY3Nxe73e7DdEdde+21/PrXvwbANE0CAwP9bnu2ldEft+XIkSOZN28eALW1tURGRvrdtoS2c/rj9gRYtGgR6enp9O3bF+jY//VuXRp2u9095AMQGBhIS0uLDxO1rUePHtx+++0sX76cOXPmMH36dL/KmZqa2uoWLaZpYhgGAGFhYTQ0NPgqWivfzzl06FBmzJjBSy+9RFxcHE899ZQP0x0VFhZGeHg4drud+++/n8zMTL/bnm1l9MdtCRAUFER2djbz5s3jhhtu8Lttecz3c/rj9iwrKyMqKsr9izZ07P96ty6N8PBwHA6H+2uXy9XqQ8VfxMfHc+ONN2IYBvHx8fTu3Zt9+/b5Ola7vjum6XA4iIyM9GGa9o0aNYqLL77Y/fePP/7Yx4mO2rNnD1OmTGHMmDHccMMNfrk9v5/RX7clHP3t+M033yQvL4+mpib3dH/Zlsd8N2dycrLfbc81a9awYcMGJk+ezCeffEJ2djZ1dXXu161uz25dGt3ldiOrV6/m0UcfBeDrr7/Gbrdzzjnn+DhV+4YMGUJlZSUAFRUVJCUl+ThR226//Xa2bdsGwD/+8Q9++MMf+jgRfPPNN9x222089NBDjBs3DvC/7dlWRn/clq+++irPPPMMAD179sQwDC6++GK/2pbQds777rvP77bnSy+9RHFxMUVFRQwePJhFixaRkpJy0tuzW1/cd+zsqe3bt7tvNzJgwABfxzrOkSNH+M1vfkNtbS2GYTB9+nQSExN9HauVXbt28cADD1BaWsoXX3xBXl4ezc3NJCQkMH/+fAIDA30dEWids7q6mnnz5hEcHEx0dDTz5s1rNVzpC/Pnz+eNN94gISHBPe3hhx9m/vz5frM928qYmZnJb3/7W7/alt9++y2/+c1v+Oabb2hpaeFXv/oVAwYM8Lt/m23l7Nevn9/92/yuyZMnM3v2bAICAk56e3br0hAREe/q1sNTIiLiXSoNERGxTKUhIiKWqTRERMQylYaIiFim0hA5SU1NTVx99dW+jiHiEyoNERGxzP/uuSHihxwOB9OnT+fQoUP0798fgM8++4z58+cD0Lt3bxYsWEB4eDhz5szho48+Ijo6mt27d7N06VIKCws5cOAABw4c4JlnnuG5557jww8/xOVyMXXqVK677ro2lxcREeGz9yzSFpWGiAUrV65k0KBBZGVlsXXrViorK8nLy2PBggVceOGFrFq1iueee45LLrmEAwcOsHr1aurq6rjmmmvcy/jxj3/M1KlTef/999m1axcvv/wyTU1NjB8/np/97GdtLi8rK8uH71rkeCoNEQu+/PJLRowYAcCPfvQjgoKCqKmpYc6cOcDRBxtdcMEFhIWFcemllwIQFRXV6lYd8fHxAGzfvp3q6momT54MQEtLC7t3725zeSL+RqUhYsGAAQOoqqpi5MiRfPzxx7S0tBAfH8+iRYuIiYlh06ZN7Nu3j9DQUF577TUADh48yJdffulexrFbUCckJDB8+HDmzZuHy+ViyZIlxMXFtbk8EX+j0hCxYMKECcyYMYMJEyaQkJBAcHAws2fPJjs7m5aWFgzD4JFHHuGCCy6goqKC9PR0oqOj6dGjB8HBwa2WdfXVV7Nx40YmTpzIt99+y8iRIwkPD29zeSL+RjcsFOlENTU1fPrpp1x//fXU19czevRo3n33XUJCQnwdTaRTqDREOtG3337Lgw8+yP79+3E6nUyaNImxY8f6OpZIp1FpiIiIZbq4T0RELFNpiIiIZSoNERGxTKUhIiKWqTRERMSy/wOCMLhIMekfqwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Social distancing interactions:\n", "G_distancing = custom_exponential_graph(baseGraph, scale=10)\n", "plot_degree_distn(G_distancing, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This SEIRS+ model features dynamics corresponding to testing individuals for the disease and moving individuals with detected infection into a state where their rate of recovery, mortality, etc may be different. In addition, given that this model considers individuals in an interaction network, a separate graph defining the interactions for individuals with detected cases can be specified.\n", "\n", "*Here we generate a graph representing the interactions that individuals have when they test positive for the disease. In this case, a significant portion of each individual's normal interaction edges are removed from the graph, as if the individual is quarantined upon detection of infection. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*\n", "\n", "For more information on how testing, contact tracing, and detected cases are handled in this model, see the README." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEECAYAAAA72gP/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAfTklEQVR4nO3deVTU9eL/8eeAoMSiEd2CAAWXk0tWXtK6kXYLxMolPBq4YLmUWepFc8VQFFLLe60bLmXLrTQLt8pbdio5GkctvKloYuq95hJqieLGKOt8fn/4a76R6HzMcWbQ1+OczoHPvOc9r3mTvPh8PjOfsRiGYSAiIuKAl7sDiIhI3aDCEBERU1QYIiJiigpDRERMUWGIiIgp9dwdwBk6dOjALbfc4u4YIiJ1ysGDB8nPzzc9/qoojFtuuYUVK1a4O4aISJ3Ss2fPSxqvQ1IiImKKCkNERExRYYiIiClXxTkMEbl8lZWVFBUVUVZW5u4o4mQNGjQgPDwcHx+fy5pHhSEiABQVFREYGEiTJk2wWCzujiNOYhgGx44do6ioiKioqMuaS4ekRASAsrIybrjhBpXFVcZisXDDDTc4Zc9RhSEidiqLq5Ozfq46JCUitTp5toLySpvT5qvv40VDP1+nzSeup8IQkVqVV9oY+eEWp833avKd4Oe06Zxqz549ZGRksHDhQndHqdWnn37Ku+++i7e3Ny1atCAjIwMvr/MPEL3zzjscPXqUMWPGXJEcTi+MyspK0tLSOHjwIBUVFQwbNozQ0FCGDh1KkyZNAOjTpw8PP/wwc+bMYe3atdSrV4+0tDTatm3L/v37mTBhAhaLhebNmzNlypRaF+a3qg2DI6cufnxOf92ISF1UVlbGK6+8wr///W/8/PwYPXo0a9as4cEHH6wxZtKkSXz//fd07tz5imVxemGsXLmSRo0aMWvWLE6cOMGjjz7Ks88+y8CBAxk0aJB9XGFhIRs3bmTp0qUcPnyYESNGsHz5cmbMmEFqaiodOnRg8uTJ5ObmEh8ff9HHNAwc/iXkyX/diAisWLGCNWvWUFZWRnFxMQMGDCA3N5f//ve/jBs3jri4OD7//HPeeecdvLy8+POf/8yYMWP4+eefycjIoLy8nOLiYlJTU4mLi6Nbt260b9+eXbt2YbFYmDdvHoGBgfbHO3LkCGPGjMEwDG688Ub79o0bN/Lyyy/j7e1NREQE06ZNo7q6mnHjxnHkyBFCQ0P5z3/+w7p160hJSSE4OJiTJ0+yYMECMjIy2L9/Pzabzf57rLb5fvvy1pdffpnNmzfXWIu33noLX99zf+D6+vry4Ycf4ud37hdYVVUV9evXrzG+vLycxMRE7r33Xn788Uen/2x+5fTC6NKlCwkJCcC5l3N5e3uzfft29u7dS25uLo0bNyYtLY1NmzYRGxuLxWIhLCyM6upqSkpKKCwspH379gB07NiR9evX11oYOTk55OTkAFBdXe3spyEibmC1Wnn77bf57LPPeOedd1iyZAn5+fm89957xMTEkJ2dzfLly/Hz82Ps2LGsX78ei8XCwIED6dChA5s3byY7O5u4uDisViuPPPII6enpPPfcc+Tl5fHII4/YH+u1116ja9euPPbYY6xatYoPPvgAwzBIT09n8eLF3HDDDbzyyit89NFHnD17lvDwcF599VX27NlD165d7fN07dqV+Ph4Fi9ezPXXX8/06dM5fvw4/fv359NPP611vscee8x+/1GjRl10Tby8vAgJCQFg4cKFnDlzhnvvvbfGmIYNGxIbG3vFr6nn9MLw9/cHoLS0lJEjR5KamkpFRQW9e/emTZs2zJ8/n7lz5xIYGEijRo1q3O/06dMYhmE/o//rttokJSWRlJQEQPdHE539NETEDVq2bAlAYGAgTZs2xWKx0LBhQ8rLyzlw4AAlJSU89dRTwLlyOXDgADExMcyfP59ly5ZhsVioqqqyz9eqVSsAQkNDKS8vr/FY+/bts//ibteuHR988AElJSUcOXKE1NRU4Nyhnr/85S8cP36cjh07AtC0aVOCg4Pt8/z63obdu3ezadMmtm3bBpzbE7jQfL/laA8DwGazMWvWLPbu3Ut2drbbXs12RU56Hz58mGeffZa+ffvSrVs3Tp06RVBQEADx8fFkZmby4IMPYrVa7fexWq0EBgbWOF9htVrt9xORq9/FfhGGh4cTGhrK22+/jY+PDytWrKBly5b885//pHfv3nTq1Inly5fz0UcfmZqvadOmbNmyhVtvvZXvv/8egOuvv56bb77ZfvgqNzeX6667jj179rBlyxbi4uI4cOAAx48fP+8xoqOjufnmm3n66acpKytj/vz5F5zvtxztYQBMnjwZX19f5s2b5/Cc7pXk9MI4evQogwYNYvLkydxzzz0ADB48mPT0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44mIiADOfQKfLkYoInLtMfWyWhEREYeF8dFHH523bfjw4VckjIiIeC6HhRESEgKAYRjs2LEDm812xUOJiIjncVgYycnJNb4fMmTIFQsjIiKey2Fh7N271/51cXExhw4duqKBRETEMzksjMmTJ9u/rl+/PuPHj7+igURExDM5LIyFCxe6IoeIiHg4h4Xx8ccfs2DBghrXk9KlQURErj0OC+ONN95g/vz5hIaGuiKPiIh4KIdXq42IiKBx48b4+vra/zNj69atpKSkALB//3769OlD3759mTJliv2luXPmzKFXr14kJyezbdu2i44VERH3criH0aBBA4YMGULLli3tH6I0evToi97njTfeYOXKlfj5+QEwY8YMUlNT6dChA5MnTyY3N5ewsDA2btzI0qVLOXz4MCNGjGD58uW1jo2Pj3fCUxURkcvhsDA6dep0yZNGRkaSnZ3NuHHjACgsLKR9+/YAdOzYkfXr1xMVFUVsbCwWi4WwsDCqq6spKSmpdawKQ0TE/RwWRmJi4iVPmpCQQFFRkf37Xz9HA8Df35/Tp09TWlpKo0aN7GN+3V7b2Nrk5OSQk5MDQHV19SVnFBGRS+OwMJzBy+v/TpVYrVaCgoIICAjAarXW2B4YGFjr2NokJSWRlJQEQPdHL73URETk0jg86e0MrVq1Ij8/H4C8vDxiYmJo164d69atw2azcejQIWw2G8HBwbWOFRER93PJHsb48eNJT09n9uzZREdHk5CQgLe3NzExMSQlJWGz2ezvKK9trIiIuN8VK4zw8HCWLFkCQFRUFIsWLTpvzIgRIxgxYkSNbRcaWxdYLHDkVNkFb6/v40VDP31yoYjUTS7Zw7hWVFUbjFpScMHbX02+E/xcl0dExJlccg5DRETqPhWGiIiYosIQERFTVBgiImKKCkNERExRYYiIiCkqDBERMUWFISIipqgwRETEFBWGiIiYosIQERFTVBgiImKKCkNERExRYYiIiCkqDBERMUWFISIipqgwRETEFBWGiIiYosIQERFTVBgiImKKCkNERExRYYiIiCkqDBERMUWFISIipqgwRETEFBWGiIiYosIQERFTVBgiImKKCkNERExRYYiIiCn13B3gWmKxwJFTZRcdU9/Hi4Z+vi5KJCJingrDhaqqDUYtKbjomFeT7wQ/1+QREbkULi2MxMREAgICAAgPDycpKYkXXngBb29vYmNjGT58ODabjYyMDHbt2oWvry9ZWVk0btzYlTFFRKQWLiuM8vJyDMNg4cKF9m09evQgOzubiIgInnrqKXbs2EFRUREVFRXk5ORQUFDAzJkzmT9/vqtiiojIBbisMHbu3MnZs2cZNGgQVVVVjBgxgoqKCiIjIwGIjY1lw4YNFBcXc9999wFwxx13sH37dldFFBGRi3BZYTRo0IDBgwfTu3dv9u3bx5NPPklQUJD9dn9/f3766SdKS0vth60AvL29qaqqol69mlFzcnLIyckBoLq62jVPQkTkGuaywoiKiqJx48ZYLBaioqIIDAzkxIkT9tutVitBQUGUlZVhtVrt220223llAZCUlERSUhIA3R9NvOL5RUSudS57H8ayZcuYOXMmAL/88gtnz57luuuu48CBAxiGwbp164iJiaFdu3bk5eUBUFBQQIsWLVwVUURELsJlexi9evVi4sSJ9OnTB4vFwvTp0/Hy8mLMmDFUV1cTGxvL7bffzm233cb69etJTk7GMAymT5/uqogiInIRLisMX19f/vGPf5y3fcmSJTW+9/LyYtq0aa6KJSIiJunSICIiYooKQ0RETFFhiIiIKSoMERExRYUhIiKmqDBERMQUFYaIiJiiwhAREVP0AUoextGn8ukT+UTEXVQYHsbRp/LpE/lExF10SEpERExRYYiIiCkqDBERMUWFISIipqgwRETEFBWGiIiYosIQERFTVBgiImKKCkNERExRYYiIiCkqDBERMUWFISIipqgwRETEFF2tto7R5c9FxF1UGHWMLn8uIu6iQ1IiImKKCkNERExRYYiIiCkqDBERMUWFISIipuhVUlcZRy+7Bb30VkT+GBXGVcbRy25BL70VkT9Gh6RERMQUj9zDsNlsZGRksGvXLnx9fcnKyqJx48bujnXV0LvFReSP8MjCWL16NRUVFeTk5FBQUMDMmTOZP3++u2NdNS733eInz1ZQXmm76GOodESuPh5ZGJs2beK+++4D4I477mD79u1uTnRtcbQHYjMMUnMKLjpHdp87tRcjcpWxGIZhuDvE702aNInOnTvTqVMnAO6//35Wr15NvXr/1285OTnk5OQAsHv3blq0aOGWrJfi+PHjXH/99e6O4ZByOpdyOk9dyAh1J+fevXvZsmWL+TsYHmj69OnGZ599Zv/+vvvuu+j4xMTEKx3JKZTT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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Quarantine interactions:\n", "G_quarantine = custom_exponential_graph(baseGraph, scale=5)\n", "plot_degree_distn(G_quarantine, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initializing the model parameters\n", "All model parameter values, including the normal and quarantine interaction networks, are set in the call to the ```SEIRSNetworkModel``` constructor. The normal interaction network ```G``` and the basic SEIR parameters ```beta```, ```sigma```, and ```gamma``` are the only required arguments. All other arguments represent parameters for optional extended model dynamics; these optional parameters take default values that turn off their corresponding dynamics when not provided in the constructor. For clarity and ease of customization in this notebook, all available model parameters are listed below. \n", "\n", "For more information on parameter meanings, see the README.\n", "\n", "*The parameter values shown correspond to very rough approximations of parameter values for the COVID-19 epidemic.*" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "SIGMA = 1/5.2\n", "GAMMA = 1/10\n", "MU_I = 0.002\n", "\n", "R0 = 2.5\n", "BETA = 1/(1/GAMMA) * R0\n", "BETA_Q = 0.5*BETA" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:837: RuntimeWarning: divide by zero encountered in log\n", " self.delta = numpy.log(self.degree)/numpy.log(numpy.mean(self.degree)) if self.parameters['delta'] is None else numpy.array(self.parameters['delta']) if isinstance(self.parameters['delta'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta'], shape=(self.numNodes,1))\n", "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:838: RuntimeWarning: divide by zero encountered in log\n", " self.delta_Q = numpy.log(self.degree_Q)/numpy.log(numpy.mean(self.degree_Q)) if self.parameters['delta_Q'] is None else numpy.array(self.parameters['delta_Q']) if isinstance(self.parameters['delta_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta_Q'], shape=(self.numNodes,1))\n" ] } ], "source": [ "model = SEIRSNetworkModel(G = G_normal, \n", " beta = BETA, \n", " sigma = SIGMA, \n", " gamma = GAMMA, \n", " mu_I = MU_I,\n", " mu_0 = 0, \n", " nu = 0, \n", " xi = 0,\n", " p = 0.2,\n", " G_Q = G_quarantine, \n", " beta_Q = 0.5*BETA, \n", " sigma_Q = SIGMA,\n", " gamma_Q = GAMMA, \n", " mu_Q = MU_I,\n", " theta_E = 0, \n", " theta_I = 0, \n", " phi_E = 0, \n", " phi_I = 0, \n", " psi_E = 1.0, \n", " psi_I = 1.0,\n", " q = 0.05,\n", " initI = numNodes/100, \n", " initE = 0, \n", " initQ_E = 0, \n", " initQ_I = 0, \n", " initR = 0, \n", " initF = 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checkpoints\n", "Model parameters can be easily changed during a simulation run using checkpoints. A dictionary holds a list of checkpoint times (```checkpoints['t']```) and lists of new values to assign to various model parameters at each checkpoint time. Any model parameter listed in the model constrcutor can be updated in this way. Only model parameters that are included in the checkpoints dictionary have their values updated at the checkpoint times, all other parameters keep their pre-existing values.\n", "\n", "*The checkpoints shown here correspond to starting social distancing and testing at time ```t=20``` (the graph ```G``` is updated to ```G_distancing``` and locality parameter ```p``` is decreased to ```0.1```; testing params ```theta_E```, ```theta_I```, ```phi```, and ```phi_I``` are set to non-zero values) and then stopping social distancing at time ```t=100``` (```G``` and ```p``` changed back to their \"normal\" values; testing params remain non-zero).*" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "checkpoints = {'t': [20, 100], \n", " 'G': [G_distancing, G_normal], \n", " 'p': [0.1, 0.2], \n", " 'theta_E': [0.02, 0.02], \n", " 'theta_I': [0.02, 0.02], \n", " 'phi_E': [0.2, 0.2], \n", " 'phi_I': [0.2, 0.2]}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running the simulation" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'SEIRSNetworkModel' object has no attribute 'mu_Q'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mT\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m300\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcheckpoints\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcheckpoints\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/usr/local/lib/python3.8/site-packages/seirsplus/models.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, T, checkpoints, print_interval, verbose)\u001b[0m\n\u001b[1;32m 1332\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0mrunning\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1333\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1334\u001b[0;31m \u001b[0mrunning\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun_iteration\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1335\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1336\u001b[0m \u001b[0;31m#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.8/site-packages/seirsplus/models.py\u001b[0m in \u001b[0;36mrun_iteration\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1181\u001b[0m \u001b[0;31m# Calculate propensities\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1182\u001b[0m \u001b[0;31m#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1183\u001b[0;31m \u001b[0mpropensities\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtransitionTypes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcalc_propensities\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1184\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1185\u001b[0m \u001b[0;32mif\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpropensities\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.8/site-packages/seirsplus/models.py\u001b[0m in \u001b[0;36mcalc_propensities\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1030\u001b[0m \u001b[0mpropensities_QItoR\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgamma_Q\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mQ_I\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m&\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgreater_equal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrand_f\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1031\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1032\u001b[0;31m \u001b[0mpropensities_QItoF\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmu_Q\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mQ_I\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m&\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mless\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrand_f\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1033\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1034\u001b[0m \u001b[0mpropensities_RtoS\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxi\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mR\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAttributeError\u001b[0m: 'SEIRSNetworkModel' object has no attribute 'mu_Q'" ] } ], "source": [ "model.run(T=300, checkpoints=checkpoints)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing the results\n", "The ```SEIRSNetworkModel``` class has a ```plot()``` convenience function for plotting simulation results on a matplotlib axis. This function generates a line plot of the frequency of each model state in the population by default, but there are many optional arguments that can be used to customize the plot.\n", "\n", "The ```SEIRSNetworkModel``` class also has convenience functions for generating a full figure out of model simulation results (optionaly arguments can be provided to customize the plots generated by these functions). \n", "- ```figure_basic()``` calls the ```plot()``` function with default parameters to generate a line plot of the frequency of each state in the population.\n", "- ```figure_infections()``` calls the ```plot()``` function with default parameters to generate a stacked area plot of the frequency of only the infection states ($E$, $I$, $Q_E$, $Q_I$) in the population.\n", "\n", "For more information on the built-in plotting functions, see the README." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Reference simulation visualizations\n", "\n", "We can also visualize the results of other simulation(s) as a reference for comparison of our main simulation.\n", "\n", "Here we simulate a model where no distancing or testing takes place, so that we can compare the effects of these interventions:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ref_model = SEIRSNetworkModel(G=G_normal, beta=BETA, sigma=SIGMA, gamma=GAMMA, mu_I=MU_I, p=P,\n", " Q=G_quarantine, beta_Q=BETA_Q, sigma_Q=SIGMA, gamma_Q=GAMMA, mu_Q=MU_I,\n", " theta_E=0, theta_I=0, phi_E=0, phi_I=0, psi_E=1.0, psi_I=1.0, q=0.05,\n", " initI=numNodes/100)\n", "ref_model.run(T=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can visualize our main simulation together with this reference simulation by passing the model object of the reference simulation to the appropriate figure function argument (note: a second reference simulation could also be visualized by passing it to the ```dasheQ_reference_results``` argument):" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, shadeQ_reference_results=ref_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As further demonstration, we might also wish to compare the results of these network model simulations to a deterministic model simulation of the same SEIRS parameters (with no interventions in this case):" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ref_model_determ = SEIRSModel(beta=0.147, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, initI=100, initN=10000) \n", "ref_model_determ.run(T=300)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, \n", " shadeQ_reference_results=ref_model, shadeQ_reference_label='network: no interventions',\n", " dasheQ_reference_results=ref_model_determ, dasheQ_reference_label='deterministic: no interventions')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.4" } }, "nbformat": 4, "nbformat_minor": 2 } seirsplus-1.1.0/examples/.ipynb_checkpoints/Extended_SEIRS_Community_TTI_Demo-checkpoint.ipynb000066400000000000000000014364671375244156600326400ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Extended SEIRS Community TTI Demo\n", "\n", "**In this demonstration we will explore the effect of testing, tracing, and isolation interventions on disease transmission in the setting of an age-stratified population with a realistic contact network structured by households and work/school communities.**\n", "\n", "This notebook provides a demonstration of the functionality of the [Extended SEIRS Network Model](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description) and the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop). This notebook also offers a sandbox for starting to explore TTI scenarios of your own. \n", "For a more thorough walkthrough of the model, simulation loop, and use of this package, refer to the [SEIRS+ Wiki](https://github.com/ryansmcgee/seirsplus/wiki)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and importing the model code\n", "\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "In this demo we will also use features from the `networks`, `sim_loops`, and `utilities` modules.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```pip install seirsplus```\n", "\n", "Then, the ```models```, `networks`, `sim_loops`, and `utilities` modules can be imported as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "from seirsplus.networks import *\n", "from seirsplus.sim_loops import *\n", "from seirsplus.utilities import *\n", "import networkx\n", "import matplotlib.pyplot as pyplot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. For some of the features used in this demo you will also need the `networks`, `sim_loops`, and `utilities` modules. In this case, the easiest way to use the modules is to place your scripts in the same directory as the modules, and import the modules as shown here:*\n", "```python\n", "from models import *\n", "from networks import *\n", "from sim_loops import *\n", "from utilities import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set basic parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set the total population size" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "N = 10000" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we set the initial prevalence to be 1% of the population." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "INIT_EXPOSED = int(N*0.01)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------\n", "\n", "## Specifying contact networks\n", "\n", "This package implements models epidemic dynamics for populations with a structured [contact network](Extended-SEIRS-Model-Description#contact-networks). Individuals are represented as nodes in a network, and parameters, contacts, and interventions can be specified on a targeted individual basis. A graph specifying the contact network must be specified, where each node represents an individual in the population and edges connect individuals who have regular interactions.\n", "\n", "This model also supports scenarios where individuals enter quarantine states in which their parameters and interactions may be different from baseline, and a separate graph defining the interactions for individuals in quarantine can be specified (i.e., the [quarantine contact network](Extended-SEIRS-Model-Description#quarantine-contacts)).\n", "\n", "**_Note:_** *Simulation time increases with network size. Small networks simulate quickly, but have more stochastic volatility. Networks with ~10,000 are large enough to produce per-capita population dynamics that are generally consistent with those of larger networks, but small enough to simulate quickly. We recommend using networks with ~10,000 nodes for prototyping parameters and scenarios, which can then be run on larger networks if more precision is required.*\n", "\n", "### Demographic Community Contact Network\n", "\n", "Here we use the [**demographic community network generator**](https://github.com/ryansmcgee/seirsplus/wiki/Network-Generation#demographic-community-network) defined in the SEIRS+ package. This function generates community-level contact networks with realistic network properties as well as age-stratification, households, and communities (e.g., schools, workplaces) that are calibrated to demographic statistics for a population of interest.\n", "\n", "Each node is assigned an age bracket (0-9, 10-19, … 70-79, 80+) according to population-level age distribution (e.g. from census data). [FARZ](https://github.com/ryansmcgee/seirsplus/wiki/network-generation#farz-networks) network layers are generated to represent the out-of-household regular contacts amongst individuals of certain age groups (i.e., children, adults, seniors). FARZ networks have a community structure, parameterized in this function such that half of an individuals connections are with members of their own community and half of their connections are with individuals from outside their own community. Separate FARZ network layers are generated for the 0-9 age group (communities can be thought of as primary schools), the 10-19 age group (communities can be thought of as secondary schools), the 20-59 age group (communities can be thought of as workplaces), and the 60+ age group. The degree distribution of these networks are broad with a heavy tail. The mean degree for each layer is calibrated to avaverage number of contacts by age group from [this study](https://journals.plos.org/plosmedicine/article?id=10.1371/journal.pmed.0050074).\n", "\n", "Nodes are divvied up into households, such that the distribution of household sizes and the household age demographics data provided to the function. All of the nodes in a household are strongly connected, which rivots together the layers for each age group. In the SEIRS+ network models, there is also a probability *p* of well-mixed [global interactions](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission) (nodes interacting with a randomly drawn node from anywhere in the network), which is an avenue for both within- and between-age-group contacts. \n", "\n", "We also use the `distancing_scales` argument to generate a quarantine version of the network where a majority of the out-of-household edges have been removed. The distancing scale value of `0.7` is chosen so that ~95% of individuals have no more than a single out-of-household contact (edge) in the quarantine network." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generated overall age distribution:\n", "0-9: 0.1086\t(-0.0124 from target)\n", "10-19: 0.1322\t(0.0012 from target)\n", "20-29: 0.1453\t(0.0083 from target)\n", "30-39: 0.1304\t(-0.0026 from target)\n", "40-49: 0.1264\t(0.0024 from target)\n", "50-59: 0.1302\t(-0.0008 from target)\n", "60-69: 0.1169\t(0.0019 from target)\n", "70-79: 0.0733\t(0.0033 from target)\n", "80+: 0.0367\t(-0.0013 from target)\n", "\n", "Generated household size distribution:\n", "1: 0.2769\t(-0.0069 from target)\n", "2: 0.3364\t(-0.0087 from target)\n", "3: 0.1578\t(0.0071 from target)\n", "4: 0.1312\t(0.0036 from target)\n", "5: 0.0638\t(0.0060 from target)\n", "6: 0.0238\t(0.0012 from target)\n", "7: 0.0102\t(-0.0023 from target)\n", "Num households: 4031\n", "mean household size: 2.448393594\n", "\n", "Generating graph for 0-9...\n", "Generating graph for 10-19...\n", "Generating graph for 20-59...\n", "Generating graph for 60+...\n" ] } ], "source": [ "demographic_graphs, individual_ageGroups, households = generate_demographic_contact_network(\n", " N=N, demographic_data=household_country_data('US'), \n", " distancing_scales=[0.7], isolation_groups=[])\n", "\n", "G_baseline = demographic_graphs['baseline']\n", "G_quarantine = demographic_graphs['distancingScale0.7']\n", "\n", "households_indices = [household['indices'] for household in households]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Baseline:\n", "Degree: mean = 14.10, std = 13.58, 95% CI = (2.00, 52.00)\n", " coeff var = 0.96\n", "Assortativity: 0.12\n", "Clustering coeff: 0.25\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAD4CAYAAAAD6PrjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAd9klEQVR4nO3de5AV5bnv8e8jDFcvIBIKAfegQUQCIoyeIRIjEu8EdGsMxCAScrBSJHgrjUZzds4prYp7e0yiMeSguMVdiZeNMVCGqIjsUBhxB9BCBC9oQBdBGMg4hhkHZobn/NHvahfDXNZceq01M79P1arV/Xav7mcaZj3z3rrN3REREQE4Kt8BiIhI4VBSEBGRmJKCiIjElBRERCSmpCAiIrHu+Q6gLU444QQvLi7OdxgiIh3Khg0b9rr7wIa2deikUFxczPr16/MdhohIh2JmOxrbpuYjERGJKSmIiEhMSUFERGIduk9BRNpXTU0NqVSK6urqfIci7aBXr14MHTqUoqKirD+jpCAisVQqxTHHHENxcTFmlu9wpA3cnX379pFKpRg+fHjWn1PzkYjEqqurGTBggBJCJ2BmDBgwoMW1PiUFETmMEkLn0Zp/SyUFERGJqU9BRBpVXnWQygO17Xa8vj27079Pjyb36datG2PGjMHd6datG7/85S/58pe/3G4xXHfddUydOpWrrrqK7373u9x8882cfvrp7XZ8gPPOO4/77ruPkpKSdj1uLigptFD6lySb/9wiHV3lgVoeWv1+ux1v/uRTmv296d27N2+88QYAL7zwAnfccQd/+tOf2i2GTI888kgix20vtbW1dO+e269pNR+1UPqXpD3/ehKRhn366af0798fgP379zNlyhTGjx/PmDFjWLZsGQCVlZVcdtllnHHGGXzpS1/iqaeeAmDDhg189atfZcKECVx00UXs2rXriOOfd9558a1yjj76aO68807OOOMMSktL2b17NwBlZWVceeWVnHXWWZx11lm88sorRxzns88+Y8aMGYwaNYorrriCzz77LN724osvMnHiRMaPH883vvEN9u/fD8CKFSs47bTTmDBhAgsWLGDq1KkA/OQnP2HWrFmcc845zJo1q9HzV1ZW8p3vfIezzz6bM888M74ebaWagogUlM8++4xx48ZRXV3Nrl27ePnll4FozP2zzz7Lsccey969eyktLWXatGk8//zznHjiifzhD38AoKKigpqaGn7wgx+wbNkyBg4cyFNPPcWdd97Jo48+2uh5KysrKS0t5Z577uG2227j4Ycf5q677uKGG27gpptuYtKkSXz44YdcdNFFbN269bDPLly4kD59+rB161Y2bdrE+PHjAdi7dy933303L730En379uXee+/l/vvv57bbbuP6669nzZo1DB8+nJkzZx52vC1btrB27Vp69+7Nt771rQbPf88993D++efz6KOP8sknn3D22Wfzta99jb59+7bp+ispNCPdXFTUzaipc2rq9ExrkSRlNh+9+uqrXHvttWzevBl350c/+hFr1qzhqKOOYufOnezevZsxY8Zwyy238MMf/pCpU6fyla98hc2bN7N582YuuOACAOrq6hg8eHCT5+3Ro0f81/qECRNYuXIlAC+99BJbtmyJ9/v000/Zv38/Rx99dFy2Zs0aFixYAMDYsWMZO3YsAOvWrWPLli2cc845ABw8eJCJEyfy9ttvc/LJJ8fzB2bOnMmiRYvi402bNo3evXs3ef4XX3yR5cuXc9999wHRcOIPP/yQUaNGteRyH0FJoRnp5qK5k4pZvHY7cycV5zskkS5j4sSJ7N27l7KyMlasWEFZWRkbNmygqKiI4uJiqqurOfXUU9m4cSMrVqzgrrvuYsqUKVxxxRWMHj2aV199NetzFRUVxUM4u3XrRm1t1ER86NAh1q1bR69evVocv7tzwQUX8MQTTxxWnk56jcn8a7+x87s7zzzzDCNHjmxxXE1Rn4KIFKy3336buro6BgwYQEVFBV/4whcoKipi9erV7NgR3f35b3/7G3369OHb3/42t956Kxs3bmTkyJGUlZXFSaGmpoa33nqrVTFceOGFPPjgg/F6Q1/o5557Lr/97W8B2Lx5M5s2bQKgtLSUV155hW3btgFRE9W7777LyJEj+eCDD9i+fTtA3A/SkvNfdNFFPPjgg7hHrRevv/56q36++lRTEJFG9e3ZnfmTT2nX4zUn3acA0V/DS5YsoVu3blxzzTV8/etfZ8yYMZSUlHDaaacB8Oabb3Lrrbdy1FFHUVRUxMKFC+nRowdLly5lwYIFVFRUUFtby4033sjo0aNbHPMDDzzA/PnzGTt2LLW1tZx77rn8+te/Pmyf733ve8yZM4dRo0YxatQoJkyYAMDAgQN57LHHmDlzJgcOHADg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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "network_info(G_baseline, \"Baseline\", plot=True)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Quarantine:\n", "Degree: mean = 2.31, std = 1.55, 95% CI = (0.00, 6.00)\n", " coeff var = 0.67\n", "Assortativity: 0.95\n", "Clustering coeff: 0.60\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAD4CAYAAAAdIcpQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAazUlEQVR4nO3df5RVdf3v8edLfk0gKiG6SNAhInTqitgkFPq9kvkr/X7xa35VuhV4veEyKCnLS7+WGrpydcm+Wei98w1TSzEuiiJfEtG0LrYMBkJE8Acq4hC/VBKcERiG9/3j7BmPzAz7DMyZfWBej7XOmn0+Z/94HxjOi/35fPY+igjMzMz25bCsCzAzs9LnsDAzs1QOCzMzS+WwMDOzVA4LMzNL1TXrAorh6KOPjvLy8qzLMDM7qCxduvTNiOjX0muHZFiUl5dTXV2ddRlmZgcVSa+39pq7oczMLJXDwszMUjkszMws1SE5ZmFmrauvr6empoYdO3ZkXYplpKysjAEDBtCtW7eCt3FYmHUyNTU19O7dm/LyciRlXY51sIjgrbfeoqamhkGDBhW8nbuhzDqZHTt20LdvXwdFJyWJvn37tvnM0mFh1gk5KDq3/fn7d1iYmVkqh4VZJ7e1bhc1W+va7bG1blfqMWtqahgzZgxDhgzhox/9KJMmTWLnzp0d8G5btnbtWu67776m59XV1Xzzm99s9+M89dRTXHjhhe2+347gAe6DyNa6XdTu3J11Gc306tGVPj27Z12G7afanbuZ/uQr7ba/iaMH7/P3ISK4+OKLufrqq3n44YdpaGhgwoQJXHfddfziF7844OM3NDTQpUuXNm3TGBZf+tKXAKisrKSysvKAaymm/XmfB8JhcRBp73/U7SXtw8Es3x//+EfKysq44oorAOjSpQs///nPOeGEE7j55puZPXs21dXV/OpXvwLgwgsv5Dvf+Q5nnnkmV199NUuWLOG9997jkksu4cYbbwRyt/i57LLLWLhwIddddx3bt2+nqqqKXbt28bGPfYzf/va39OzZk/Hjx3PEEUdQXV3Nxo0b+elPf8oll1zClClTWL16Naeccgrjxo1j+PDhTJs2jXnz5nHDDTewbt06Xn31VdatW8fkyZObzjp+97vfcdttt7Fr1y5GjBjB7bff3uwD/NFHH2Xy5Mn07NmT008/vam9traWb3zjG6xcuZL6+npuuOEGxowZQ11dHePHj2flypUMHTqUv//970yfPp3KykoOP/xwrrrqKh5//HGmT5/O2rVrWzz+Y489xvXXX8/OnTsZPHgwv/nNbzj88MMP6O/N3VBm1qGef/55PvWpT32g7YgjjqC8vJw1a9bsc9ubb76Z6upqVqxYwZ/+9CdWrFjR9Frfvn1ZtmwZl19+ORdffDFLlizh2Wef5aSTTmLGjBlN623YsIFFixYxb948pkyZAsAtt9zCGWecwfLly/nWt77V7LgvvPACCxYsYPHixdx4443U19ezevVqfv/73/P000+zfPlyunTpwr333vuB7Xbs2MHXvvY1HnnkEZYuXcrGjRs/8F4+97nPsXjxYp588km++93vUltby+23306fPn1YtWoVU6dOZenSpU3b1NbWMmLECJ599ln69u3b4vHffPNNbrrpJh5//HGWLVtGZWUlt956awF/M/vmMwszO2jMmjWLqqoqdu/ezYYNG1i1ahUnn3wyAJdddlnTeitXruSHP/wh//jHP3j33Xc599xzm1676KKLOOyww6ioqGDTpk0FHfeCCy6gR48e9OjRg2OOOYZNmzbxxBNPsHTpUj796U8D8N5773HMMcd8YLsXXniBQYMGMWTIEAC+/OUvU1VVBcBjjz3G3LlzmTZtGpALlnXr1rFo0SKuueYaAD75yU82vT/InYV98YtfBGj1+M888wyrVq1i1KhRAOzatYvPfOYzBb3PfXFYmFmHqqioYPbs2R9o27ZtGxs3bmTo0KGsXLmSPXv2NL3WeD3Aa6+9xrRp01iyZAl9+vRh/PjxH7hWoFevXk3L48eP56GHHmLYsGHcddddPPXUU02v9ejRo2k5IgqqOX+bLl26sHv3biKCcePG8ZOf/KSwN76XiOCBBx5g6NChBW9TVlbW1M3V2vEfeeQRzj77bGbOnLlfdbXG3VBm1qHOOuss6urquOeee4DcQO21117LpEmT+NCHPkR5eTnLly9nz549vPHGGyxevBjIBUqvXr048sgj2bRpE3/4wx9aPcb27dvp378/9fX1zbqGWtK7d2+2b9/e5vcxe/ZsNm/eDMDbb7/N669/8A7fJ554ImvXruWVV3Jjjfkf4Oeeey6//OUvmwLrb3/7GwCjRo1i1qxZAKxatYrnnnuuTccfOXIkTz/9dFOXXm1tLS+99FKb3ltLinZm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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "network_info(G_quarantine, \"Quarantine\", plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Specifying parameters\n", "\n", "**_The parameter values used in this notebook reflect rough estimates of parameter values for the COVID-19 epidemic (as of 9 Aug 2020)._**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set disease progression rate parameters:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parameter values are assigned to members of the population on an individual basis. Parameter values can be [specified to the `ExtSEIRSNetworkModel`](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#specifying-parameters) by providing a list of values that gives the *N* values to assign to each individual. The population may be either homogeneous or heterogeneous for a given parameter at the user's discretion. \n", "\n", "**Here we generate distributions of values for each parameter, and some parameter value are specified in an age-stratified manner, thus specifying a realistically heterogeneous population.**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected latent periods (time in Exposed state) and presymptomatic periods (time in Pre-symptomatic infectious state). The `sigma` and `lamda` rates are calculated as the inverse of the expected exposed and pre-symptomatic periods assigned to each individual, respectively." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "latent period: mean = 2.21, std = 1.10, 95% CI = (0.59, 4.84)\n", "\n", "pre-symptomatic period: mean = 2.99, std = 1.80, 95% CI = (0.55, 7.50)\n", "\n", "total incubation period: mean = 5.21, std = 2.12, 95% CI = (1.95, 10.22)\n", "\n" ] }, { "data": { "image/png": "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SeOaa65h9OjRPPzww+GL2QDHHXccM2fO5NZbb2Xv3r00bNiQefPmkZ5+6DHv3r07t9xyC+vWraN///5cdtll1KlTJ6rjGSktLY0nn3ySK6+8kuLiYrp3784NN9xAgwYNmDp1KhdffDGNGjWiT58+lT57JR4q555MKucuRynV5dwLCgq45JJLyM/PP/LKcbrkkku44447OP/8849qu/Hjx5Oenh6+LlOTzJ8/n8mTJx/xOSZVQeXcRaTG2bFjB6effjoNGzY86uQh1YuGsEQkLDMzM+lnHyeeeOIRx/crM378+MQFU8X69etHv379Uh1GwugMREREYqIEIiIiMVECERGRmCiBiIhITJRARKqxwsJCNmzYkLBXYWHl5dx37NhxSO2rikRbOr2goICsrKzD2jdv3swVV1xxxO2PRkX7qsz06dPZvHlz+PP1119/SKn2VLrooovYsWNH1OuPHz+eyZMnJy+gcmgWlkg1tmvXrkOKCMZr3LhxZGRUXM69NIHcdNNNlfYTb+n0Vq1aHXITXqpMnz6drKwsWrVqBcCf/vSnFEcUKhPj7rzxxhupDuWIdAYiImFjx45l/fr1dO3albvuugt356677iIrK4vs7GxmzpwZXi+ydHpBQQF9+vQhJyeHnJwc3nvvvUr3E3m2MH36dC6//HIGDRpE+/bt+eUvfxle7+9//zs5OTl06dIlfM9I2f/TzsrKChdaLC4uLrcU/YQJE+jevTtZWVmMGTMGd+fFF19k6dKlDBs2jK5du7J371769etH6U3IM2bMIDs7m6ysLO6+++7w/tLT07n33nvp0qULvXr1YuvWrYf9fhWVnAeYNGkS3bt3p3Pnztx3333h49GhQweuu+46srKy+OKLL8jMzGT79u0APPTQQ2RlZZGVlcX//M//hPt64IEHOP300znnnHNYs2ZNpcc8GXQGIiJhEydOJD8/n7y8PABeeumlcCn27du30717d/r27cvEiRMPuaN6z549zJ07l7S0NNauXcvQoUM5mmoQeXl5fPjhhzRo0IAOHTpw6623kpaWxujRo1mwYAHt2rULP6ejMmvWrOGJJ56gd+/ejBo1ij/+8Y/84he/4JZbbuE3v/kNANdeey2vv/46V1xxBY888giTJ08mN/fQm683b97M3XffzbJly2jatCkXXHABs2bN4tJLL2X37t306tWLBx54gF/+8pc8/vjj/OpXvzoslpUrV7Jo0SJ2795Nt27duPjii8nPz2ft2rUsXrwYdw8Xm2zbti1r167lqaeeolevXof0s2zZMp588kk++OAD3J2ePXty7rnncvDgQZ5//nny8vIoLi4mJyeHs846K+pjngg6AxGRCi1cuJChQ4dSt25dWrRowbnnnhsuFhipqKiI0aNHk52dzZVXXnnU1xHOP/98mjRpQlpaGmeccQYbNmxg0aJF9O3bl3bt2gHQrFmzI/ZTthT9woULAXjnnXfo2bMn2dnZvP3223z88ceV9rNkyRL69etH8+bNqVevHsOGDWPBggVAqOZV6SNizzrrrEPKzEcqLTl/0kknhUvOz5kzhzlz5tCtWzdycnL45JNPWLt2LQCnnXbaYckDQv8Gl112Gccffzzp6elcfvnlvPvuu7z77rtcdtllNGrUiMaNGzN48OAjHp9E0xmIiMRtypQptGjRghUrVnDw4EHS0tKOavvIIod169Ytt4ptqXr16oWf4geEHxIF5ZdK37dvHzfddBNLly6lTZs2jB8//pBtjlb9+vXD+6ks1orKtt9zzz3hkvelCgoKqm3J9sroDEREwsoriT5z5kxKSkr46quvWLBgAT169DhsvZ07d9KyZUvq1KnDM888Q0lJSdyx9OrViwULFvDZZ58BhIewMjMzw2Xhly9fHl4O5ZeiL00WJ510Ert27Trk4n1Fpdl79OjBP/7xD7Zv305JSQkzZszg3HPPPar4yys5P3DgQKZNmxZ+XO2mTZvYtm1bpf306dOHWbNmsWfPHnbv3s0rr7xCnz596Nu3L7NmzWLv3r189913vPbaa0cVXyLoDESkGktPT2fcuMSVcy9bWrysjIwMevfuTVZWFhdeeCG/+93veP/99+nSpQtmxu9+9ztOOeUUMjIyDiud/uMf/5inn36aQYMGJeT/pps3b87UqVO5/PLLOXjwICeffDJz584N7+fMM8+kZ8+eh5Q8L68UfaNGjRg9ejRZWVmccsop4ScGQuihUTfccAMNGzYMJx6Ali1bMnHiRPr374+7c/HFFzNkyJCjir+8kvOtWrVi9erV4acNpqen8+c//5m6detW2E9OTg4jRoygR48eQGiqcbduoWf1XX311XTp0oWTTz75kN+rqqicezKpnLscpVSXc5fEqAkl51XOXUREUiZpQ1hmlgYsABoE+3nR3e8zs3bA80AGsAy41t0PmFkD4GngLKAQuNrdC4K+7gF+CpQAt7n7m8mKW0QkXjW55PzRSOYZyH7gPHfvAnQFBplZL+C/gCnu/m/AN4QSA8HPb4L2KcF6mNkZwDXAmcAg4I9mVvGAoUgNdywOK0v1kqjvWNLOQDwU4a7gY/3g5cB5QGn9g6eA8cBjwJDgPcCLwCMWmgc3BHje3fcDn5nZOqAH8K8rXse6Axvi76NuOtStuISFVA9paWkUFhaSkZFx2DRQkURwdwoLC496qnV5kjoLKzhTWAb8G/AosB7Y4e6lE6c3AqcG708FvgBw92Iz20lomOtUYFFEt5HbRO5rDDAGoG3btgn/XVLG98I3U+Lvp9k4JZAaoHXr1mzcuJGvvvoq1aHIMSwtLY3WrVvH3U9SE4i7lwBdzexE4BWgYxL3NRWYCqFZWMnaj0gy1a9fP3zntUh1VyWzsNx9B/AOcDZwopmVJq7WwKbg/SagDUCwvAmhi+nh9nK2ERGRFElaAjGz5sGZB2bWEBgArCaUSEofBDAceDV4Pzv4TLD87eA6ymzgGjNrEMzgag8sTlbcIiISnWQOYbUEngqug9QBXnD3181sFfC8md0PfAg8Eaz/BPBMcJH8a0Izr3D3j83sBWAVUAzcHAyNiYhICiVzFtZKoFs57f8kNIuqbPs+4MoK+noAeCDRMYqISOx0J7qIiMRECURERGKiBCIiIjFRAhERkZgogYiISEyUQEREJCZKICIiEhMlEBERiYkSiIiIxEQJREREYqIEIiIiMVECERGRmCiBiIhITJRAREQkJkogIiISEyUQERGJiRKIiIjERAlERERikrQEYmZtzOwdM1tlZh+b2X8E7ePNbJOZ5QWviyK2ucfM1pnZGjMbGNE+KGhbZ2ZjkxWziIhEL2nPRAeKgTvdfbmZnQAsM7O5wbIp7j45cmUzOwO4BjgTaAXMM7PTg8WPAgOAjcASM5vt7quSGLuIiBxB0hKIu28BtgTvvzOz1cCplWwyBHje3fcDn5nZOqBHsGydu/8TwMyeD9ZVAhERSaFknoGEmVkm0A34AOgN3GJm1wFLCZ2lfEMouSyK2Gwj/0o4X5Rp71nOPsYAYwDatm2b4N8gRgcPwIHv4uvDDyYmFhGRBEt6AjGzdOAl4HZ3/9bMHgN+C3jw87+BUfHux92nAlMBcnNzPd7+EuJgCWz7ML4+mlePX0VEpKykJhAzq08oeTzr7i8DuPvWiOWPA68HHzcBbSI2bx20UUm7iIikyFHNwjKzOmbWOMp1DXgCWO3uD0W0t4xY7TIgP3g/G7jGzBqYWTugPbAYWAK0N7N2ZnYcoQvts48mbhERSbwjnoGY2XPADUAJoT/mjc3s9+4+6Qib9gauBT4ys7ygbRww1My6EhrCKgB+BuDuH5vZC4QujhcDN7t7SRDDLcCbQF1gmrt/fBS/o4iIJEE0Q1hnBNcuhgF/A8YCy4BKE4i7LwSsnEVvVLLNA8AD5bS/Udl2IiJS9aJJIPWDaxmXAo+4e5GZ6cpuVYp3JheEZoSJiCRQNAnkfwkNNa0AFpjZacC3yQxKyoh3JhfASSXx9yEiEuGICcTdHwYejmjaYGb9kxeSiIjUBEechWVmLczsCTP7W/D5DGB40iMTEZFqLZppvNMJzYBqFXz+FLg9SfGIiEgNEU0COcndXwAOArh7MaEpvSIiUotFk0B2m1kGofs2MLNewM6kRiUiItVeNLOwfk7ozu/vm9n/Ac2BK5IalYiIVHvRzMJabmbnAh0I3Ri4xt2Lkh6ZiIhUaxUmEDO7vIJFp5sZpcURRUSkdqrsDORHwc+TgR8Abwef+wPvAUogIiK1WIUJxN1HApjZHEL1sLYEn1sSmtorIiK1WDSzsNqUJo/AVqCaPPJPRERSJZpZWG+Z2ZvAjODz1cC85IUkIiI1QTSzsG4xs8uAvkHTVHd/JblhiYhIdRftI23fI/SQJyf0lEAREanloimmeBWhpHEFcBXwgZnpRkIRkVoumjOQe4Hu7r4NwMyaE7oG8mIyAxMRkeotmllYdUqTR6Awyu1EROQYFk0i+LuZvWlmI8xsBPBXong+uZm1MbN3zGyVmX1sZv8RtDczs7lmtjb42TRoNzN72MzWmdlKM8uJ6Gt4sP5aM9OzSEREqoEjJhB3vwuYCnQOXlPd/e4o+i4G7nT3M4BewM3Bw6jGAm+5e3vgreAzwIVA++A1BngMQgkHuA/oCfQA7itNOiIikjpRzcJy95eAl46m4+Dmwy3B++/MbDVwKjAE6Bes9hQwH7g7aH/a3R1YZGYnBne99wPmuvvXAGY2FxjEv+5LERGRFDhiAgmKKv4XoZpYFrzc3RtHuxMzywS6AR8ALSLubP8SaBG8PxX4ImKzjUFbRe1l9zGG0JkLbdvqRvlkKSwsZNeuXXH3k56eTkZGRgIiEpFUieYM5HfAj9x9dSw7MLN0Qmcvt7v7t2YWXububmYeS79luftUQkNt5ObmJqRPOdyuXbt48MEH4+5n3LhxSiAiNVw0F9G3xpE86hNKHs9GlH/fGgxNlRZmLJ3htQloE7F566CtonYREUmhaBLIUjObaWZDzezy0teRNrLQqcYTwGp3fyhi0WygdCbVcODViPbrgtlYvYCdwVDXm8AFZtY0uHh+QdAmIiIpFM0QVmNgD6E/3KWcIz8PpDdwLfCRmeUFbeOAicALZvZTYAOhu9shNDX4ImBdsL+RAO7+tZn9FlgSrDeh9IK6iIikTjTFFEfG0rG7LyR0wb0855ezvgM3V9DXNGBaLHGIiEhyRFtMUWq4Ej/Ixg0b4u7nwIEDCYhGRI4FSiC1hXtCZk/dcccdCQhGRI4FqmklIiIxieZGwhOB64DMyPXd/bakRSUiItVeNENYbwCLgI+Ag8kNR5LFrA63jRgSdz8tmtRPQDQiciyIJoGkufvPkx6JJNlBCt+4M+5eTrtRj4ERkZBoroE8Y2ajzaxlUIq9WVAhV0REarFozkAOAJMIPZmwtMaUA99LVlBSO2xIwLRiFWUUSZ1oEsidwL+5+/ZkByO1x969e5kyZUrc/agoo0jqRDOEVVpaREREJCyaM5DdQJ6ZvQPsL23UNF4RkdotmgQyK3iJiIiERVNM8amqCERERGqWaO5E/4x/zb4Kc3fNwhIRqcWiGcLKjXifBlwJ6D4QEZFa7oizsNy9MOK1yd3/B7g4+aGJiEh1Fs0QVk7ExzqEzkhUBl5EpJaLJhH8d8T7YqCAfz2GVkREaqlohrD6R7wGuPtod19zpO3MbJqZbTOz/Ii28Wa2yczygtdFEcvuMbN1ZrbGzAZGtA8K2taZ2dhYfkkREUm8aIawGgA/5vDngUw4wqbTgUeAp8u0T3H3yWX2cQZwDXAm0AqYZ2anB4sfBQYAG4ElZjbb3VcdKW4REUmuaIawXgV2AsuIuBP9SNx9gZllRrn6EOB5d98PfGZm64AewbJ17v5PADN7PlhXCUREJMWiSSCt3X1QAvd5i5ldBywF7nT3b4BTCT20qtTGoA3gizLtPcvr1MzGAGMA2rZtm8BwRUSkPNEUU3zPzLITtL/HgO8DXYEtHHqBPi7uPtXdc909t3nz5onqVkREKhDNGcg5wIjgjvT9gAHu7p2PdmfuvrX0vZk9DrwefNwEtIlYtXXQRiXtIiKSQtEkkAsTtTMza+nuW4KPlwGlM7RmA8+Z2UOELqK3BxYTSlbtzawdocRxDfDviYpHRERiF00xxZgeG2dmM4B+wElmthG4D+hnZl0J1dYqAH4W7ONjM3uB0MXxYuBmdy8J+rkFeBOoC0xz949jiUdERBIraXeUu/vQcpqfqGT9B4AHyml/A3gjgaGJiEgCqCRJLWF1G5A19N64+zkuvUECohGRY4ESSG3h+9m//ta4u2ncZmECghGRY0E003hFREQOowQiIiIxUQIREZGYKIGIiEhMlEBERCQmSiAiIhITTeOVGm/DhpiKJRwiPT2djIyMBEQjUnsogUiNtnfvXqZMmRJ3P+PGjVMCETlKGsISEZGYKIGIiEhMlEBERCQmSiAiIhITJRAREYmJEoiIiMRE03jLU1IIJbvi78fi76K6sTrGbSOGxN1Piyb1ExCNiKSSEkh5SnbB1w/G30+T2+Lvo5oxdwrfuDPufk678cUERCMiqaQhLBERiUnSEoiZTTOzbWaWH9HWzMzmmtna4GfToN3M7GEzW2dmK80sJ2Kb4cH6a81seLLiFRGRo5PMM5DpwKAybWOBt9y9PfBW8BngQqB98BoDPAahhAPcB/QEegD3lSYdERFJraRdA3H3BWaWWaZ5CNAveP8UMB+4O2h/2t0dWGRmJ5pZy2Ddue7+NYCZzSWUlGYkK+7qxoGioqK4+9ElaxFJtKq+iN7C3bcE778EWgTvTwW+iFhvY9BWUfthzGwMobMX2rZtm8CQU69we2HcfZySgDhERCKl7CJ6cLbhCexvqrvnuntu8+bNE9WtiIhUoKoTyNZgaIrg57agfRPQJmK91kFbRe0iIpJiVZ1AZgOlM6mGA69GtF8XzMbqBewMhrreBC4ws6bBxfMLgjYREUmxpF0DMbMZhC6Cn2RmGwnNppoIvGBmPwU2AFcFq78BXASsA/YAIwHc/Wsz+y2wJFhvQukFdRERSa1kzsIaWsGi88tZ14GbK+hnGjAtgaGJiEgCqJRJeQ4egAPfpToKEZFqTQmkPAdLYNuH8fejyWAicgxTLSwREYmJEoiIiMRECURERGKiayAigQ0bNsTdR3p6OhkZGQmIRqT6UwIRAfbu3cuUKVPi7mfcuHFKIFJraAhLRERiogQiIiIxUQIREZGYKIGIiEhMlEBERCQmSiAiIhITJRAREYmJEoiIiMRECURERGKiO9ElJY47rgG3jRgSdz8tmtRPQDQiEgslEEmJOgf3U/jGnXH3c9qNLyYgGhGJRUqGsMyswMw+MrM8M1satDUzs7lmtjb42TRoNzN72MzWmdlKM8tJRcwiInKoVF4D6e/uXd09N/g8FnjL3dsDbwWfAS4E2gevMcBjVR6piIgcpjoNYQ0B+gXvnwLmA3cH7U+7uwOLzOxEM2vp7ltSEmUtZ3UbkDX03rj7qdOoQQKiEZFUSlUCcWCOmTnwv+4+FWgRkRS+BFoE708FvojYdmPQdkgCMbMxhM5QaNu2bRJDr+32s3/9rfF303Zh/H2ISEqlKoGc4+6bzOxkYK6ZfRK50N09SC5RC5LQVIDc3Nyj2lZERI5eSq6BuPum4Oc24BWgB7DVzFoCBD+3BatvAtpEbN46aBMRkRSq8jMQMzseqOPu3wXvLwAmALOB4cDE4OerwSazgVvM7HmgJ7BT1z+kOtOjcaW2SMUQVgvgFTMr3f9z7v53M1sCvGBmPwU2AFcF678BXASsA/YAI6s+ZJHo6NG4UptUeQJx938CXcppLwTOL6fdgZurIDQRETkKqoUlIiIxUQIREZGYKIGIiEhMqtOd6CJHTVV9RVJHCURqNFX1FUkdDWGJiEhMlEBERCQmGsJKIgeKiori6kMj87WX7miX6k4JJMkKtxfGtf0pCYpDahbd0S41gYawREQkJkogIiISEyUQERGJia6BiKAbEkVioQQigm5IFImFEoikhNVtQNbQe+Pup06jBgmI5tim6cCSLEogkiL72b/+1vi7absw/j6OYZoOLMmki+giIhITnYGIJNCxfDFeQ2FSlhKISAIdqxfjNRQm5akxCcTMBgG/B+oCf3L3iSkOSaqBY/Vi/LF8JiPHjhqRQMysLvAoMADYCCwxs9nuviq1kUnqHZsX44/VMxmIfyhMw2DVR41IIEAPYJ27/xPAzJ4HhgBJSSAlfpCSOKvogirp1iQ6k6lcZvMEnRGlH2T9p6vj6qPZv53Jhg274o6lXr16FBcXx91PbU5o5u6pjuGIzOwKYJC7Xx98vhbo6e63RKwzBhgTfOwArIljlycB2+PYvqrVtHhBMVeVmhZzTYsXjq2YT3P35tF2UlPOQI7I3acCUxPRl5ktdffcRPRVFWpavKCYq0pNi7mmxQu1O+aach/IJqBNxOfWQZuIiKRITUkgS4D2ZtbOzI4DrgFmpzgmEZFarUYMYbl7sZndArxJaBrvNHf/OIm7TMhQWBWqafGCYq4qNS3mmhYv1OKYa8RFdBERqX5qyhCWiIhUM0ogIiISk1qbQMxskJmtMbN1Zja2nOUNzGxmsPwDM8tMQZiR8bQxs3fMbJWZfWxm/1HOOv3MbKeZ5QWv36Qi1jIxFZjZR0E8S8tZbmb2cHCcV5pZTirijIinQ8TxyzOzb83s9jLrpPw4m9k0M9tmZvkRbc3MbK6ZrQ1+Nq1g2+HBOmvNbHgK451kZp8E/+6vmNmJFWxb6XeoimMeb2abIv7tL6pg20r/vlRxzDMj4i0ws7wKtj364+zute5F6EL8euB7wHHACuCMMuvcBPy/4P01wMwUx9wSyAnenwB8Wk7M/YDXU318y8RUAJxUyfKLgL8BBvQCPkh1zGW+J18SurmqWh1noC+QA+RHtP0OGBu8Hwv8VznbNQP+GfxsGrxvmqJ4LwDqBe//q7x4o/kOVXHM44FfRPG9qfTvS1XGXGb5fwO/SdRxrq1nIOHSKO5+ACgtjRJpCPBU8P5F4HwzsyqM8RDuvsXdlwfvvwNWA6emKp4EGgI87SGLgBPNrGWqgwqcD6x39/jrmCeYuy8Avi7THPmdfQq4tJxNBwJz3f1rd/8GmAsMSlacpcqL193nuHtpLZFFhO7vqjYqOMbRiObvS1JUFnPw9+sqYEai9ldbE8ipwBcRnzdy+B/j8DrBl3wnUC0K3gTDad2AD8pZfLaZrTCzv5nZmVUbWbkcmGNmy4JyM2VF82+RKtdQ8X9s1e04A7Rw9y3B+y+BFuWsU12P9yhCZ6LlOdJ3qKrdEgy7TatgmLC6HuM+wFZ3X1vB8qM+zrU1gdRYZpYOvATc7u7fllm8nNBwSxfgD8CsKg6vPOe4ew5wIXCzmfVNdUDRCG5YHQz8pZzF1fE4H8JDYxI1Yo6+md0LFAPPVrBKdfoOPQZ8H+gKbCE0JFRTDKXys4+jPs61NYFEUxolvI6Z1QOaAIVVEl0FzKw+oeTxrLu/XHa5u3/r7ruC928A9c3spCoOs2xMm4Kf24BXCJ3eR6quZWouBJa7+9ayC6rjcQ5sLR3+C35uK2edanW8zWwEcAkwLEh6h4niO1Rl3H2ru5e4+0Hg8QpiqVbHGMJ/wy4HZla0TizHubYmkGhKo8wGSmeoXAG8XdEXvCoE45dPAKvd/aEK1jml9DqNmfUg9O+bsqRnZseb2Qml7wldNM0vs9ps4LpgNlYvYGfEMEwqVfh/a9XtOEeI/M4OB14tZ503gQvMrGkw/HJB0FblLPSQuF8Cg919TwXrRPMdqjJlrs9dVkEs1bH00g+BT9x9Y3kLYz7OVTEzoDq+CM3++ZTQbIl7g7YJhL7MAGmEhi/WAYuB76U43nMIDUmsBPKC10XADcANwTq3AB8TmvWxCPhBimP+XhDLiiCu0uMcGbMReljYeuAjILcafDeOJ5QQmkS0VavjTCi5bQGKCI2x/5TQNbq3gLXAPKBZsG4uoad4lm47KvherwNGpjDedYSuFZR+n0tnPbYC3qjsO5TCmJ8JvqcrCSWFlmVjDj4f9vclVTEH7dNLv78R68Z9nFXKREREYlJbh7BERCROSiAiIhITJRAREYmJEoiIiMRECURERGKiBCIiIjFRAhERkZj8fxbX2VPAkMVgAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "latentPeriod_mean, latentPeriod_coeffvar = 3.0, 0.6\n", "SIGMA = 1 / gamma_dist(latentPeriod_mean, latentPeriod_coeffvar, N)\n", "\n", "presymptomaticPeriod_mean, presymptomaticPeriod_coeffvar = 2.2, 0.5\n", "LAMDA = 1 / gamma_dist(presymptomaticPeriod_mean, presymptomaticPeriod_coeffvar, N)\n", "\n", "dist_info([1/LAMDA, 1/SIGMA, 1/LAMDA+1/SIGMA], [\"latent period\", \"pre-symptomatic period\", \"total incubation period\"], plot=True, colors=['gold', 'darkorange', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected (a)symptomatic periods (time in symptomatic or asymptomatic state). The `gamma` rates are calculated as the inverse of the expected (a)symptomatic periods assigned to each individual. \n", "\n", "The expected total infectious period for each individual is the sum of their expected pre-symptomatic and (a)symptomatic periods." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pre-symptomatic period: mean = 2.21, std = 1.10, 95% CI = (0.59, 4.84)\n", "\n", "(a)symptomatic period: mean = 4.01, std = 1.60, 95% CI = (1.51, 7.63)\n", "\n", "total infectious period: mean = 6.22, std = 1.93, 95% CI = (3.03, 10.63)\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAD4CAYAAAAdIcpQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAApj0lEQVR4nO3de3wU5dn/8c8FEg4GOYSUoqihiiASiTQcLIpQKqJSQeuJogIq1uOjVlFKnyoPWl+09RFrVVqogPBDxHoAaq0KCKU8HjgZAQEl1FBAVIgFRU4Brt8fO1mXkGQXmM1u4Pt+vfaVnXtm7rmyhFyZe+65xtwdERGRytRIdQAiIpL+lCxERCQuJQsREYlLyUJEROJSshARkbiOSXUAydCkSRPPyclJdRgiItXK4sWLN7t7dnnrjshkkZOTw6JFi1IdhohItWJmaytap2EoERGJS8lCRETiUrIQEZG4jshrFiLVVUlJCevXr2fnzp2pDkWOYHXq1KF58+bUqlUr4X2ULETSyPr166lfvz45OTmYWarDkSOQu1NcXMz69etp0aJFwvtpGEokjezcuZOsrCwlCkkaMyMrK+ugz16VLETSjBKFJNuh/IwpWYiISFxKFiLpbEcxbF0b3mtHcaq/o6QpKiriueeeS/pxpk2bxooVK6LLDzzwALNmzUr6cQ/1eHPnzqV3796HfVxd4K4KO4ph97bw+svIhLpZ4fUn6Wv3NljwSHj9dRwWys/O3r17qVmzZggBhac0Wfz0pz9N6nGmTZtG7969adOmDQAjRoxI6vFi7d27t0qPF0vJoiqk6X94kbKKioro1asX3//+91myZAlnnHEGEydOpF69euTk5HDVVVcxc+ZM7rvvPho3bsyDDz7Irl27OOWUUxg/fjyZmZn79bdx40auuuoqvvrqK/bs2cPo0aNZvXo1S5cu5fHHHwdg7NixrFixgjvvvJNevXrRuXNn3n77bTp06MCgQYN48MEH+eKLL5g8eTIdO3Zk+PDhrFmzhsLCQjZv3sx9993H4MGDGTp0KCtXriQvL48BAwZwyy23cMstt7Bo0SKOOeYYHnvsMbp3786ECROYNm0a33zzDatXr+bee+9l9+7dTJo0idq1a/Paa6/RuHFjxo4dy5gxY9i9ezennnoqkyZNoqCggBkzZvCPf/yDhx9+mJdeeomHHnqI3r17c/nll7Nw4ULuvPNOvvnmG2rXrs3s2bOpX79+9POYO3cuDzzwAPXr16ewsJDu3bvz9NNPU6NGDd58881yP8+yn/vrr78ePd7s2bO599572bNnDx06dGD06NHUrl2b119/nbvuuot69epxzjnnhPKzoWEoEdnPRx99xK233srKlSs57rjjePrpp6PrsrKyWLJkCT/60Y94+OGHmTVrFkuWLCE/P5/HHnvsgL6ee+45LrjgAgoKCvjggw/Iy8vjyiuv5K9//SslJSUAjB8/nuuvvx6AwsJC7rnnHlatWsWqVat47rnnmD9/Po8++iiPPPLtH1xLly7lrbfe4p133mHEiBF8+umnjBw5knPPPZeCggLuvvtunnrqKcyMZcuWMWXKFAYMGBCdAbR8+XJefvllFi5cyC9/+Uvq1avH+++/z9lnn83EiRMBuOyyy1i4cCEffPABp59+Os888ww/+MEPuOSSS/jd735HQUEBp5xySjSm3bt3c9VVV/H73/+eDz74gFmzZlG3bt0DPpMFCxbwhz/8gRUrVrBmzRpefvllNm/eXOnnWfq5X3311dG2nTt3MnDgQKZOncqyZcuiyXjnzp0MHjyYv/71ryxevJjPPvvskH4OylKyEJH9nHjiiXTp0gWAa665hvnz50fXXXXVVQC8++67rFixgi5dupCXl8ezzz7L2rUH1qDr0KED48ePZ/jw4Sxbtoz69euTmZnJD3/4Q1599VVWrVpFSUkJubm5ALRo0YLc3Fxq1KjBGWecQY8ePTAzcnNzKSoqivbbp08f6tatS5MmTejevTsLFiw44Njz58/nmmuuAaB169acfPLJfPzxxwB0796d+vXrk52dTYMGDfjxj38MsN9xli9fzrnnnktubi6TJ0/mww8/rPRz++ijj2jWrBkdOnQA4LjjjuOYYw4cvOnYsSPf+973qFmzJv369WP+/PlxP8/Sz73s8Vq0aMFpp50GwIABA5g3bx6rVq2iRYsWtGzZEjOLfgaHS8NQIrKfstMqY5ePPfZYIHJj1/nnn8+UKVP22/a9997jZz/7GRAZy7/kkkuYN28ef/vb3xg4cCA///nPue6667jxxht55JFHaN26NYMGDYruX7t27ej7GjVqRJdr1KjBnj17EooxEYkcZ+DAgUybNo127doxYcIE5s6de1DHqEh5sVf0eZYq/dxTSWcWIrKff//737zzzjtAZBipvDHvzp0783//938UFhYC8M033/Dxxx/TqVMnCgoKKCgo4JJLLmHt2rU0bdqUwYMHc+ONN7JkyRIAOnXqxLp163juuefo16/fQcc4ffp0du7cSXFxMXPnzqVDhw7Ur1+fr7/+OrrNueeey+TJkwH4+OOP+fe//02rVq0SPsbXX39Ns2bNKCkpifYDHHCcUq1atWLjxo0sXLgwun9sgiu1YMECPvnkE/bt28fUqVM555xzKvw8K9OqVSuKioqi+0yaNInzzjuP1q1bU1RUxJo1awAqTEAHS2cWIuksIzMyoSHM/uJo1aoVTz31FNdffz1t2rThlltuOWCb7OxsJkyYQL9+/di1axcADz/8cHRIpNTcuXP53e9+R61atcjMzIxeDwC48sorKSgooFGjRgf9bZx55pl0796dzZs386tf/Yrjjz+e7OxsatasSbt27Rg4cCC33nort9xyC7m5uRxzzDFMmDBhvzOKeB566CE6depEdnY2nTp1iiaIq6++msGDB/PEE0/w4osvRrfPyMhg6tSp3HHHHezYsYO6desya9asAy76d+jQgdtvvz16gfvSSy+lRo0aCX2eserUqcP48eO54oorohe4b775ZmrXrs2YMWO4+OKLqVevHueee265ye1gmbsfdifpJj8/39Pq4Udb14Y/G6rByeH1J2lj5cqVnH766Sk7flFREb1792b58uVJP1bv3r25++676dGjx0HtN3z4cDIzM7n33nuTFFnyzJ07l0cffZRXX3011aGU+7NmZovdPb+87TUMJSJVasuWLZx22mnUrVv3oBOFpI6GoUQkKicnJ+lnFQ0bNow7Hl+Z4cOHhxdMFevWrRvdunVLdRiHRGcWIiISV9KShZnVMbMFZvaBmX1oZv8TtE8ws0/MrCB45QXtZmZPmFmhmS01s/YxfQ0ws9XBa0CyYhYRkfIlcxhqF/BDd99mZrWA+Wb292DdEHd/scz2FwItg1cnYDTQycwaAw8C+YADi81shrv/J4mxi4hIjKSdWXhEafW8WsGrsqlXfYCJwX7vAg3NrBlwATDT3b8MEsRMoFey4hYRkQMl9ZqFmdU0swLgCyK/8N8LVv06GGoaZWalE59PANbF7L4+aKuoveyxbjKzRWa2aNOmTWF/KyIpsfc/WylZ91lor73/2Rr3mDt27OC8885j7969FW6z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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "symptomaticPeriod_mean, symptomaticPeriod_coeffvar = 4.0, 0.4\n", "GAMMA = 1 / gamma_dist(symptomaticPeriod_mean, symptomaticPeriod_coeffvar, N)\n", "\n", "infectiousPeriod = 1/LAMDA + 1/GAMMA\n", "\n", "dist_info([1/LAMDA, 1/GAMMA, 1/LAMDA+1/GAMMA], [\"pre-symptomatic period\", \"(a)symptomatic period\", \"total infectious period\"], plot=True, colors=['darkorange', 'crimson', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected onset-to-hospitalization periods (time in symptomatic state before entering hospitalized state for those with severe cases) and hospitalization-to-discharge periods (time in hospitalized state for those with non-fatal cases). The `eta` and `gamma_H` rates are calculated as the inverse of the expected onset-to-hospitalization periods and hospitalization-to-discharge periods assigned to each individual, respectively." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "onset-to-hospitalization period: mean = 11.00, std = 4.94, 95% CI = (3.54, 22.54)\n", "\n", "hospitalization-to-discharge period: mean = 10.94, std = 4.96, 95% CI = (3.61, 22.57)\n", "\n", "onset-to-discharge period: mean = 21.94, std = 7.02, 95% CI = (10.54, 37.75)\n", "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "onsetToHospitalizationPeriod_mean, onsetToHospitalizationPeriod_coeffvar = 11.0, 0.45\n", "ETA = 1 / gamma_dist(onsetToHospitalizationPeriod_mean, onsetToHospitalizationPeriod_coeffvar, N)\n", "\n", "hospitalizationToDischargePeriod_mean, hospitalizationToDischargePeriod_coeffvar = 11.0, 0.45\n", "GAMMA_H = 1 / gamma_dist(hospitalizationToDischargePeriod_mean, hospitalizationToDischargePeriod_coeffvar, N)\n", "\n", "dist_info([1/ETA, 1/GAMMA_H, 1/ETA+1/GAMMA_H], [\"onset-to-hospitalization period\", \"hospitalization-to-discharge period\", \"onset-to-discharge period\"], plot=True, colors=['crimson', 'violet', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of hospitalization-to-death periods (time in hospitalized state for those with fatal cases). The `mu_H` rates are calculated as the inverse of the expected hospitalization-to-death periods." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "onset-to-hospitalization period: mean = 11.00, std = 4.94, 95% CI = (3.54, 22.54)\n", "\n", "hospitalization-to-death period: mean = 6.99, std = 3.16, 95% CI = (2.22, 14.45)\n", "\n", "onset-to-death period: mean = 18.00, std = 5.87, 95% CI = (8.46, 31.15)\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAD4CAYAAAAdIcpQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAt8ElEQVR4nO3deXhU9d3//+ebRVBjxSL2KyIltKwCAoYgbhBcoGJFUKzcakFUbloR9b6rWOtWir1Q+SmFq1+9QQXs3SKKsoj+6goiIIQtBQEX0FiRRUBFAQNZ3t8/5mQckplMEmYyWV6P65orM59z5pzPmQTe89nex9wdERGRstRLdQVERKT6U7AQEZG4FCxERCQuBQsREYlLwUJEROJqkOoKJMPJJ5/srVq1SnU1RERqlDVr1uxx92bRttXKYNGqVStWr16d6mqIiNQoZvZZrG3qhhIRkbgULEREJC4FCxERiatWjlmIVER+fj7btm0jLy8v1VURqRKNGzemRYsWNGzYsNzvUbCQOm/btm2ccMIJtGrVCjNLdXVEksrd2bt3L9u2bSM9Pb3c71M3lNR5eXl5NG3aVIFC6gQzo2nTphVuSSctWJjZM2b2pZm9H2Xbf5uZm9nJwWszs8lmtsXM1ptZ94h9h5nZx8FjWLLqK3WbAoXUJZX5e09my2IG0L9koZmdDlwC/Dui+BdAm+AxEngi2PfHwANATyATeMDMTkpinUVEJIqkBQt3XwJ8FWXT48BdQOSNNAYCz3rICqCJmZ0K9APecPev3P1r4A2iBCCRRCr8eh/5n+9M2KPw630pvZ6cnBxeffXVmNsnTZrEwYMHK3TMxYsXc9lllx1t1WJavXo1Y8aMCZ9r+fLlcd8zY8YMRo8eDcCTTz7Js88+W+HzljxXZY+TDPfffz9vvvlmufdP9O+oSge4zWwg8IW7/6tEM+g04POI19uCsljl0Y49klCrhJYtWyaw1lXn0KFDFBQUlCpv0KABjRo1SkGN6qai/d/zzaS/Jex4TW6/nvonnZiw41VUTk4Oq1ev5tJLL426fdKkSVx33XUcd9xxVVyz2DIyMsjIyABC/+mlpaVxzjnnlPv9o0aNqtR5S56rssdJtMLCQsaNG5fSOlTZALeZHQfcA9yfjOO7+1R3z3D3jGbNoqY2qfYKCgrYvHlzqUe0ACK1y2OPPUanTp3o1KkTkyZNAiA3N5cOHTpw8803c8YZZ3DJJZfw/fffAzB58mQ6duxIly5duOaaawA4cOAAI0aMIDMzk27dujF//nwOHz7M/fffz+zZs+natSuzZ88+4ryTJ09m+/btZGVlkZWVBcCsWbPo3LkznTp1YuzYsTHrvH//fq666irat2/PtddeS/FdN9966y26detG586dGTFiBIcOHQLg7rvvDtf5d7/7HQDDhw9n1KhRZGRk0LZtWxYuXAj88K04NzeXJ598kscff5yuXbvy7rvv8vLLL9OzZ0+6devGRRddxK5du0rV7cEHH2TixIls376drl27hh/169fns88+i3qMaOcqPg6Egu7ZZ59Nly5dGDRoEF9//TUAffr0YezYsWRmZtK2bVvefffdUvVZvHgxF1xwAQMGDKBdu3aMGjWKoqIiAF5//XV69epF9+7dGTJkCPv37wdCaYvGjh1L9+7deeGFFxg+fDhz5swp8zP+5z//Sfv27enevTsvvfRSzN9dZVTlbKifAenAv8wsF2gBrDWz/wN8AZwesW+LoCxWuUitsWbNGqZPn87KlStZsWIF06ZNY926dQB8/PHH3HLLLWzcuJEmTZrw4osvAjBhwgTWrVvH+vXrefLJJwF46KGH6Nu3L9nZ2SxatIg777yT/Px8xo0bx69+9StycnL41a9+dcS5x4wZQ/PmzVm0aBGLFi1i+/btjB07lrfffpucnBxWrVrFvHnzotZ73bp1TJo0iU2bNvHJJ5+wbNky8vLyGD58OLNnz2bDhg0UFBTwxBNPsHfvXubOncvGjRtZv3499957b/g4ubm5ZGdn88orrzBq1KgjZum0atWKUaNGcccdd5CTk8P555/Peeedx4oVK1i3bh3XXHMNjzzySMzPtnnz5uTk5JCTk8PNN9/MlVdeyU9/+tOox4h2rki//vWvefjhh1m/fj2dO3fmj3/8Y3hbQUEB2dnZTJo06YjySNnZ2UyZMoVNmzaxdetWXnrpJfbs2cP48eN58803Wbt2LRkZGTz22GPh9zRt2pS1a9eGvxAAMT/jvLw8br75Zl5++WXWrFnDzp07Y34ulVFlwcLdN7j7Ke7eyt1bEepS6u7uO4EFwK+DWVFnA/vcfQfwGnCJmZ0UDGxfEpSJ1BpLly5l0KBBHH/88aSlpTF48ODwt9P09HS6du0KwFlnnUVubi4AXbp04dpr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WL9+Pddee234rngQSvy3dOlSFi5cyN13312qDueccw6XX345jz76KDk5OfzsZz8rM3145HEfeOABli1bxtKlS4/oxrrtttu44447WLVqFS+++GI4yWJFru2DDz7gtddeIzs7mz/+8Y/k5+eXqsOBAwfIyMhg48aN9O7dO1zPkSNHMmXKFNasWcPEiRP57W9/G37Ptm3bWL58+REpUsr6DG+77TZ+85vfsGHDBk499dQyf58VoW4okWogWiryaGmxhwwZAvyQovyKK67giiuuCB9n4MCBHHvssRx77LFkZWWRnZ0dPm40+/btY9iwYXz88ceYWdT/4Er6+OOPufPOO1m0aBENGzZk586dFT7Ge++9F745z/XXX89dd90V3nbFFVdQr149OnbsGPXGRtGuIdbnFGnlypXh9OsQSv9d3L375ptvHhE8vv3223Dyw/Je24ABA2jUqBGNGjXilFNOYdeuXbRo0eKIferVqxcOLtdddx2DBw9m//79LF++/Ig6R45zDRkyhPr165c6X6zPcNmyZeEvG9dff32ZN7CqCAULkWqgZLrv4m6oWF555RWWLFnCyy+/zEMPPcSGDRuAiqf7vu+++8jKymLu3Lnk5ubGXWW8f/9+rr76aqZNmxb+1lrRY8QT+VkU5677wx/+wCuvvAKEWjflUVhYyFlnnQWExku6d+8ec9+ioiJWrFhRKonh6NGjy31tFUnZXszMKCoqokmTJjGvqzJ54eL93itD3VAi1VSstNixUpQDzJ8/n7y8PPbu3cvixYvp0aPHEccsK913eVJvjBgxghtuuOGIFOqxjhEr3TeEupKee+45AP7+97+XmZIdQncBLO4CK3nsWJ9T/fr1w+8ZN24cPXv25J133mHv3r3k5+fzwgsvhI9/ySWXHJFltvg8lbm2shQVFYXHYf7xj39w3nnn8aMf/Yj09PRwfdz9iBTuscT6DM8999wjyhNFLYsUOHToUNRvHcX35JXUatCgQUKz0Bbfya4yoqXFjpWiHELdU1lZWezZs4f77ruP5s2bH5HqvGS68rvuuothw4Yxfvx4BgwYUGZdPvvsM+bMmcNHH30UvuPcU089FfMYJc8VacqUKdxwww08+uijNGvWrMLpvq+55hpuvvlmJk+ezJw5c8qVPvzUU0/lwQcfpFevXjRp0uSI7rnJkydzyy230KVLFwoKCrjg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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "hospitalizationToDeathPeriod_mean, hospitalizationToDeathPeriod_coeffvar = 7.0, 0.45\n", "MU_H = 1 / gamma_dist(hospitalizationToDeathPeriod_mean, hospitalizationToDeathPeriod_coeffvar, N)\n", "\n", "dist_info([1/ETA, 1/MU_H, 1/ETA+1/MU_H], [\"onset-to-hospitalization period\", \"hospitalization-to-death period\", \"onset-to-death period\"], plot=True, colors=['crimson', 'darkgray', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set severity parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Specify the percentage of cases that are asymptomatic. This percentage of case will progress from the pre-symptomatic state to the asymptomatic state, rather than to the symptomatic state." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "PCT_ASYMPTOMATIC = 0.25" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we age-stratify our definition of asymptomatic rate by setting the percent of asymptomatic cases for children to be 80% while the rest of the adult population remains set at 25%.\n", "\n", "The `individual_ageGroups` variable is returned by the [`generate_demographic_contact_network()` function](https://github.com/ryansmcgee/seirsplus/wiki/Network-generation#demographic-community-network) and holds a list of the age group labels assigned to each individual. This is useful for assigning parameters in an age-group-dependent way as we do for the following severity parameters." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "PCT_ASYMPTOMATIC = [0.8 if age in ['0-9', '10-19'] else PCT_ASYMPTOMATIC for age in individual_ageGroups]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify age-stratified case hospitalization rates using rates taken from [Verity et al. (2020)](https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30243-7/fulltext)." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "ageGroup_pctHospitalized = {'0-9': 0.0000,\n", " '10-19': 0.0004,\n", " '20-29': 0.0104,\n", " '30-39': 0.0343,\n", " '40-49': 0.0425,\n", " '50-59': 0.0816,\n", " '60-69': 0.118,\n", " '70-79': 0.166,\n", " '80+': 0.184 }\n", "PCT_HOSPITALIZED = [ageGroup_pctHospitalized[ageGroup] for ageGroup in individual_ageGroups]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify fatality rates for hospitalized cases, again using rates taken from [Verity et al. (2020)](https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30243-7/fulltext)." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "ageGroup_hospitalFatalityRate = {'0-9': 0.0000,\n", " '10-19': 0.3627,\n", " '20-29': 0.0577,\n", " '30-39': 0.0426,\n", " '40-49': 0.0694,\n", " '50-59': 0.1532,\n", " '60-69': 0.3381,\n", " '70-79': 0.5187,\n", " '80+': 0.7283 }\n", "PCT_FATALITY = [ageGroup_hospitalFatalityRate[ageGroup] for ageGroup in individual_ageGroups]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set transmission parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [Extended SEIRS Network Model](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#stochastic-network-model-implementation) model considers two modes of disease transmission: a well-mixed mode of [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission) and a contact network based mode of [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission). The propensity for a given individual to become exposed due to global transmission depends on the mean transmissibility of all infectious individuals in the population; the propensity for a given individual to become exposed due to local transmission depends on the pairwise transmissibilities between the focal node and its infectious contacts in the network (see [Transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#transmission) and [Model Equations](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#model-equations) for more information about these calculations). " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The transmissibility parameter *β* can be related to the basic reproduction number *R0* (i.e., the expected number of new infections generated by a single infectious individual in a completely susceptible population) by the standard formula: *β = R0𝛾*. *R0* is a more interpretable parameter, so we specify transmissibility in terms of *R0* and then calculate the corresponding *β* values.\n", "\n", "First, we generate a distribution of individual *R0* values (i.e., the expected number of new infections generated by a single *particular* infectious individual in a completely susceptible population). Of course, this means that transmissibility is heterogeneous in this population. The coefficient of variation is an important parameter for the individual *R0* distribution in that it tunes the degree of superspreading in the heterogeneous transmissibility. The distribution used in this example has a relatively low coefficient of variation, so most individuals have around the same degree of transmissibility. But a higher coefficient of variation (e.g., 2.0) would give a long right tail in idividual transmissibility representing a small number of individuals contributing many cases while the majority cases contribute less than 1 on average when they are infectious." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Individual R0: mean = 2.50, std = 0.50, 95% CI = (1.61, 3.58)\n", "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "R0_mean = 2.5\n", "R0_coeffvar = 0.2\n", "\n", "R0 = gamma_dist(R0_mean, R0_coeffvar, N)\n", "\n", "dist_info(R0, \"Individual R0\", bin_size=0.1, plot=True, colors='crimson')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Individuals are ultimately assigned an [*Individual Transmissibility Value*](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#transmissibility-parameters) (*βi*), which are stored in the `beta` attribute of the model object. \n", "\n", "The means of the Individual Transmissibility Values for infectious subpopulations are used to calculate the [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission) terms. Individual Transmissibility Values may also be used to generate the Pairwise Transmissibility Values used for [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission) terms, as we will specify in a few steps." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "BETA = 1/infectiousPeriod * R0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Individuals can be assigned different Individual Transmissibility Values for use when they are asymptomatic and quarantine states. \n", "\n", "Here we set the transmissibility of quarantined individuals such that the mean effective reproduction number for quarantined individuals is about 0.3. This supposes that individuals have different behavior, hygiene, etc. when they are quarantining relative to baseline." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "BETA_Q = BETA * (0.3/R0_mean)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we specify how we would like the [*Pairwise Transmissibility Values*](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#transmissibility-parameters) (*βi*), which define the local transmissibility for each pair of close contacts, to be calculated. There are [multiple ways to specify these pairwise transmissibilities](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#pairwise-transmissibility-values) (such as providing a matrix), but here we will set the `beta_pairwise_mode` argument of the `ExtSEIRSNetworkModel` constructor to `'infected'`, which will direct the model to automatically generate a matrix of Pairwise Transmissibility Values such that the transmissibility of each infectious-susceptible interaction is equal to the infected individual's transmissiblity." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "BETA_PAIRWISE_MODE = 'infected'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we designate that we would like the model to automatically calculate [Connectivity Correction Factors](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#connectivity-correction-factor) for each pair of interacting close contacts. This pairwise factor is optional, but it can be used to weight the transmissibility of interactions according to the connectivity of the interacting individuals. Here we choose to weight interactions according to a ratio of the pair's mean degree to the population's mean degree (see [Specifying connectivity Correction Factors](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#connectivity-correction-factors) for more information). \n", "\n", "Using this definition, when two individuals whose average degree is an order of magnitude greater than the average degree of the population overall, then the propensity of exposure in their interaction is weighted to be twice that of two averagely-connected individuals. " ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "DELTA_PAIRWISE_MODE = 'mean'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we set individual susceptibilities (default susceptibility is 1). \n", "\n", "In particular, we specify that children are half as susceptible as adults." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "ALPHA = [0.5 if age in ['0-9', '10-19'] else 1.0 for age in individual_ageGroups]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the stochastic network model, an individual comes into contact with a random individual from the population at large (e.g., in a public space) with probability *p* or with an individual from their set of close contacts with probability *(1-p)*. Transmission that occurs between an individual and the population at large is referred to as [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission), and transmission between an individual and one of their close contacts (network neighbors) is referred to as [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission). The parameter *p* defines the locality of the network: for *p=0* an individual only interacts with their close contacts, while *p=1* represents a uniformly mixed population.\n", "\n", "Here we set *p* to reflect 20% of interactions being with incidental or casual contacts outside their set of close contacts." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "P_GLOBALINTXN = 0.2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The parameter *q* (down)weights the rate of interactions with the population at large while one is in quarantine relative to baseline.\n", "\n", "Here we set *q* to 0.05, which supposes that global interactions are quite rare (but nonzero) for quarantined individuals." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "Q_GLOBALINTXN = 0.05" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set Testing, Tracing, & Isolation (TTI) intervention protocol parameters:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify the parameters that govern the Testing, Tracing, and Isolation protocol that is implemented by the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop). The implementation of this TTI protocol and the interpretation of these parameters is desribed in detail on the [TTI Simulation Loop wiki page](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop) (but these parameters are briefly explained as code comments below)." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "INTERVENTION_START_PCT_INFECTED = 1/100\n", "AVERAGE_INTRODUCTIONS_PER_DAY = 0\n", "\n", "TESTING_CADENCE = 'everyday' # how often to do tracing testing and random testing\n", "PCT_TESTED_PER_DAY = 1/10 # max daily test allotment defined as a percent of population size\n", "TEST_FALSENEG_RATE = 'temporal' # test false negative rate, will use FN rate that varies with disease time\n", "MAX_PCT_TESTS_FOR_SYMPTOMATICS = 1.0 # max percent of daily test allotment to use on self-reporting symptomatics\n", "MAX_PCT_TESTS_FOR_TRACES = 1.0 # max percent of daily test allotment to use on contact traces\n", "RANDOM_TESTING_DEGREE_BIAS = 0 # magnitude of degree bias in random selections for testing, none here\n", "\n", "PCT_CONTACTS_TO_TRACE = 0.5 # percentage of primary cases' contacts that are traced\n", "TRACING_LAG = 2 # number of cadence testing days between primary tests and tracing tests\n", "\n", "ISOLATION_LAG_SYMPTOMATIC = 1 # number of days between onset of symptoms and self-isolation of symptomatics\n", "ISOLATION_LAG_POSITIVE = 2 # test turn-around time (TAT): number of days between administration of test and isolation of positive cases\n", "ISOLATION_LAG_CONTACT = 0 # number of days between a contact being traced and that contact self-isolating\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set intervention compliance parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we specify the compliance rates (i.e., the percentage of individuals who are compliant) for each intervention type. See the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop) documentation for more information about compliance." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "TESTING_COMPLIANCE_RATE_SYMPTOMATIC = 0.5\n", "TESTING_COMPLIANCE_RATE_TRACED = 1.0\n", "TESTING_COMPLIANCE_RATE_RANDOM = 0.8\n", "\n", "TRACING_COMPLIANCE_RATE = 0.8\n", "\n", "ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_INDIVIDUAL = 0.3\n", "ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_GROUPMATE = 0.0\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_INDIVIDUAL = 0.8\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_GROUPMATE = 0.8\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACT = 0.8\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACTGROUPMATE = 0.0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we randomly assign a `True/False` compliance to each individual according to the rates set above. Individuals whose compliance is set to `True` for a given intervention will participate in that intervention, individuals set to `False` will not." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "TESTING_COMPLIANCE_RANDOM = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_RANDOM)\n", "TESTING_COMPLIANCE_TRACED = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_TRACED)\n", "TESTING_COMPLIANCE_SYMPTOMATIC = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_SYMPTOMATIC)\n", "\n", "TRACING_COMPLIANCE = (numpy.random.rand(N) < TRACING_COMPLIANCE_RATE)\n", "\n", "ISOLATION_COMPLIANCE_SYMPTOMATIC_INDIVIDUAL = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_INDIVIDUAL)\n", "ISOLATION_COMPLIANCE_SYMPTOMATIC_GROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_GROUPMATE)\n", "ISOLATION_COMPLIANCE_POSITIVE_INDIVIDUAL = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_INDIVIDUAL)\n", "ISOLATION_COMPLIANCE_POSITIVE_GROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_GROUPMATE)\n", "ISOLATION_COMPLIANCE_POSITIVE_CONTACT = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACT)\n", "ISOLATION_COMPLIANCE_POSITIVE_CONTACTGROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACTGROUPMATE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initializing the model" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:2965: RuntimeWarning: divide by zero encountered in log\n", " self.delta = numpy.log(self.degree)/numpy.log(numpy.mean(self.degree)) if self.parameters['delta'] is None else numpy.array(self.parameters['delta']) if isinstance(self.parameters['delta'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta'], shape=(self.numNodes,1))\n", "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:2966: RuntimeWarning: divide by zero encountered in log\n", " self.delta_Q = numpy.log(self.degree_Q)/numpy.log(numpy.mean(self.degree_Q)) if self.parameters['delta_Q'] is None else numpy.array(self.parameters['delta_Q']) if isinstance(self.parameters['delta_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta_Q'], shape=(self.numNodes,1))\n" ] } ], "source": [ "model = ExtSEIRSNetworkModel(G=G_baseline, p=P_GLOBALINTXN,\n", " beta=BETA, sigma=SIGMA, lamda=LAMDA, gamma=GAMMA, \n", " gamma_asym=GAMMA, eta=ETA, gamma_H=GAMMA_H, mu_H=MU_H, \n", " a=PCT_ASYMPTOMATIC, h=PCT_HOSPITALIZED, f=PCT_FATALITY, \n", " alpha=ALPHA, beta_pairwise_mode=BETA_PAIRWISE_MODE, delta_pairwise_mode=DELTA_PAIRWISE_MODE,\n", " G_Q=G_quarantine, q=0, beta_Q=BETA_Q, isolation_time=14,\n", " initE=INIT_EXPOSED)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running the model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set the max simulation time to 300 days." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "T = 300" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Execute the TTI simulation scenario by calling the `run_tti_sim()` function, which runs a custom simulation loop that implements the [TTI Simulation Protocol](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop)." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 0.08 (100 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 1.00 (106 (1.06%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 4 positive (0.40 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (9 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 2.00 (121 (1.21%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 6 positive (0.60 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (19 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 3.01 (141 (1.41%) infected)]\n", "\t5\ttested due to symptoms [+ 5 positive (100.00 %) +]\n", "\t17\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t978\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (13 as groupmates of positive)\n", "\t17\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t35 entered isolation\n", "[INTERVENTIONS @ t = 4.01 (159 (1.59%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t27\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t971\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (6 as groupmates of positive)\n", "\t23\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t53 entered isolation\n", "[INTERVENTIONS @ t = 5.01 (177 (1.77%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t88\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t911\ttested randomly [+ 7 positive (0.77 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (13 as groupmates of positive)\n", "\t74\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t97 entered isolation\n", "[INTERVENTIONS @ t = 6.02 (185 (1.85%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t9\ttested as traces [+ 1 positive (11.11 %) +]\n", "\t988\ttested randomly [+ 6 positive (0.61 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (13 as groupmates of positive)\n", "\t9\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 7.01 (188 (1.88%) infected)]\n", "\t5\ttested due to symptoms [+ 3 positive (60.00 %) +]\n", "\t66\ttested as traces [+ 3 positive (4.55 %) +]\n", "\t929\ttested randomly [+ 8 positive (0.86 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (23 as groupmates of positive)\n", "\t44\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t70 entered isolation\n", "[INTERVENTIONS @ t = 8.03 (202 (2.02%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t59\ttested as traces [+ 1 positive (1.69 %) +]\n", "\t936\ttested randomly [+ 7 positive (0.75 %) +]\n", "\t1000\ttested TOTAL [+ 12 positive (1.20 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t12\twill isolate due to positive test (17 as groupmates of positive)\n", "\t49\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t77 entered isolation\n", "[INTERVENTIONS @ t = 9.01 (204 (2.04%) infected)]\n", "\t7\ttested due to symptoms [+ 5 positive (71.43 %) +]\n", "\t78\ttested as traces [+ 1 positive (1.28 %) +]\n", "\t915\ttested randomly [+ 9 positive (0.98 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (27 as groupmates of positive)\n", "\t64\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t105 entered isolation\n", "[INTERVENTIONS @ t = 10.00 (211 (2.11%) infected)]\n", "\t9\ttested due to symptoms [+ 8 positive (88.89 %) +]\n", "\t92\ttested as traces [+ 6 positive (6.52 %) +]\n", "\t899\ttested randomly [+ 7 positive (0.78 %) +]\n", "\t1000\ttested TOTAL [+ 21 positive (2.10 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t21\twill isolate due to positive test (32 as groupmates of positive)\n", "\t77\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t113 entered isolation\n", "[INTERVENTIONS @ t = 11.00 (227 (2.27%) infected)]\n", "\t7\ttested due to symptoms [+ 5 positive (71.43 %) +]\n", "\t35\ttested as traces [+ 2 positive (5.71 %) +]\n", "\t958\ttested randomly [+ 8 positive (0.84 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (28 as groupmates of positive)\n", "\t35\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 12.01 (236 (2.36%) infected)]\n", "\t7\ttested due to symptoms [+ 5 positive (71.43 %) +]\n", "\t99\ttested as traces [+ 7 positive (7.07 %) +]\n", "\t894\ttested randomly [+ 8 positive (0.89 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (40 as groupmates of positive)\n", "\t86\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t143 entered isolation\n", "[INTERVENTIONS @ t = 13.00 (244 (2.44%) infected)]\n", "\t6\ttested due to symptoms [+ 4 positive (66.67 %) +]\n", "\t97\ttested as traces [+ 6 positive (6.19 %) +]\n", "\t897\ttested randomly [+ 8 positive (0.89 %) +]\n", "\t1000\ttested TOTAL [+ 18 positive (1.80 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t18\twill isolate due to positive test (44 as groupmates of positive)\n", "\t87\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t131 entered isolation\n", "[INTERVENTIONS @ t = 14.00 (244 (2.44%) infected)]\n", "\t4\ttested due to symptoms [+ 4 positive (100.00 %) +]\n", "\t143\ttested as traces [+ 3 positive (2.10 %) +]\n", "\t853\ttested randomly [+ 6 positive (0.70 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (21 as groupmates of positive)\n", "\t130\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t196 entered isolation\n", "[INTERVENTIONS @ t = 15.00 (250 (2.50%) infected)]\n", "\t5\ttested due to symptoms [+ 5 positive (100.00 %) +]\n", "\t117\ttested as traces [+ 5 positive (4.27 %) +]\n", "\t878\ttested randomly [+ 5 positive (0.57 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (27 as groupmates of positive)\n", "\t104\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t166 entered isolation\n", "[INTERVENTIONS @ t = 16.01 (265 (2.65%) infected)]\n", "\t11\ttested due to symptoms [+ 9 positive (81.82 %) +]\n", "\t86\ttested as traces [+ 2 positive (2.33 %) +]\n", "\t903\ttested randomly [+ 6 positive (0.66 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (28 as groupmates of positive)\n", "\t72\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t112 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 17.01 (272 (2.72%) infected)]\n", "\t7\ttested due to symptoms [+ 6 positive (85.71 %) +]\n", "\t66\ttested as traces [+ 4 positive (6.06 %) +]\n", "\t927\ttested randomly [+ 6 positive (0.65 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (29 as groupmates of positive)\n", "\t63\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t109 entered isolation\n", "[INTERVENTIONS @ t = 18.01 (269 (2.69%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t64\ttested as traces [+ 4 positive (6.25 %) +]\n", "\t934\ttested randomly [+ 8 positive (0.86 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (24 as groupmates of positive)\n", "\t47\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t97 entered isolation\n", "[INTERVENTIONS @ t = 19.01 (285 (2.85%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t83\ttested as traces [+ 4 positive (4.82 %) +]\n", "\t913\ttested randomly [+ 9 positive (0.99 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (37 as groupmates of positive)\n", "\t69\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t121 entered isolation\n", "[INTERVENTIONS @ t = 20.00 (293 (2.93%) infected)]\n", "\t10\ttested due to symptoms [+ 8 positive (80.00 %) +]\n", "\t153\ttested as traces [+ 6 positive (3.92 %) +]\n", "\t837\ttested randomly [+ 6 positive (0.72 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (41 as groupmates of positive)\n", "\t135\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t177 entered isolation\n", "[INTERVENTIONS @ t = 21.00 (309 (3.09%) infected)]\n", "\t8\ttested due to symptoms [+ 6 positive (75.00 %) +]\n", "\t82\ttested as traces [+ 3 positive (3.66 %) +]\n", "\t910\ttested randomly [+ 11 positive (1.21 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (35 as groupmates of positive)\n", "\t76\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t135 entered isolation\n", "[INTERVENTIONS @ t = 22.01 (309 (3.09%) infected)]\n", "\t9\ttested due to symptoms [+ 8 positive (88.89 %) +]\n", "\t150\ttested as traces [+ 6 positive (4.00 %) +]\n", "\t841\ttested randomly [+ 12 positive (1.43 %) +]\n", "\t1000\ttested TOTAL [+ 26 positive (2.60 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t26\twill isolate due to positive test (50 as groupmates of positive)\n", "\t133\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t200 entered isolation\n", "[INTERVENTIONS @ t = 23.02 (300 (3.00%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t98\ttested as traces [+ 6 positive (6.12 %) +]\n", "\t897\ttested randomly [+ 7 positive (0.78 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (41 as groupmates of positive)\n", "\t95\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t152 entered isolation\n", "[INTERVENTIONS @ t = 24.01 (308 (3.08%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t153\ttested as traces [+ 4 positive (2.61 %) +]\n", "\t841\ttested randomly [+ 9 positive (1.07 %) +]\n", "\t1000\ttested TOTAL [+ 18 positive (1.80 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t18\twill isolate due to positive test (37 as groupmates of positive)\n", "\t132\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t211 entered isolation\n", "[INTERVENTIONS @ t = 25.00 (325 (3.25%) infected)]\n", "\t11\ttested due to symptoms [+ 10 positive (90.91 %) +]\n", "\t174\ttested as traces [+ 2 positive (1.15 %) +]\n", "\t815\ttested randomly [+ 3 positive (0.37 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (32 as groupmates of positive)\n", "\t147\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t207 entered isolation\n", "[INTERVENTIONS @ t = 26.00 (308 (3.08%) infected)]\n", "\t8\ttested due to symptoms [+ 8 positive (100.00 %) +]\n", "\t132\ttested as traces [+ 2 positive (1.52 %) +]\n", "\t860\ttested randomly [+ 10 positive (1.16 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (37 as groupmates of positive)\n", "\t105\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t162 entered isolation\n", "[INTERVENTIONS @ t = 27.01 (297 (2.97%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t96\ttested as traces [+ 3 positive (3.12 %) +]\n", "\t900\ttested randomly [+ 10 positive (1.11 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (42 as groupmates of positive)\n", "\t88\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t139 entered isolation\n", "[INTERVENTIONS @ t = 28.01 (302 (3.02%) infected)]\n", "\t7\ttested due to symptoms [+ 5 positive (71.43 %) +]\n", "\t71\ttested as traces [+ 1 positive (1.41 %) +]\n", "\t922\ttested randomly [+ 6 positive (0.65 %) +]\n", "\t1000\ttested TOTAL [+ 12 positive (1.20 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t12\twill isolate due to positive test (12 as groupmates of positive)\n", "\t65\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t123 entered isolation\n", "[INTERVENTIONS @ t = 29.01 (290 (2.90%) infected)]\n", "\t8\ttested due to symptoms [+ 6 positive (75.00 %) +]\n", "\t77\ttested as traces [+ 3 positive (3.90 %) +]\n", "\t915\ttested randomly [+ 8 positive (0.87 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t13\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (31 as groupmates of positive)\n", "\t71\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t137 entered isolation\n", "[INTERVENTIONS @ t = 30.02 (289 (2.89%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t53\ttested as traces [+ 2 positive (3.77 %) +]\n", "\t943\ttested randomly [+ 5 positive (0.53 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (18 as groupmates of positive)\n", "\t49\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t83 entered isolation\n", "[INTERVENTIONS @ t = 31.01 (283 (2.83%) infected)]\n", "\t5\ttested due to symptoms [+ 2 positive (40.00 %) +]\n", "\t66\ttested as traces [+ 1 positive (1.52 %) +]\n", "\t929\ttested randomly [+ 12 positive (1.29 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (22 as groupmates of positive)\n", "\t61\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t108 entered isolation\n", "[INTERVENTIONS @ t = 32.01 (275 (2.75%) infected)]\n", "\t12\ttested due to symptoms [+ 10 positive (83.33 %) +]\n", "\t34\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t954\ttested randomly [+ 7 positive (0.73 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (40 as groupmates of positive)\n", "\t33\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t64 entered isolation\n", "[INTERVENTIONS @ t = 33.00 (285 (2.85%) infected)]\n", "\t10\ttested due to symptoms [+ 6 positive (60.00 %) +]\n", "\t45\ttested as traces [+ 1 positive (2.22 %) +]\n", "\t945\ttested randomly [+ 4 positive (0.42 %) +]\n", "\t1000\ttested TOTAL [+ 11 positive (1.10 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11\twill isolate due to positive test (14 as groupmates of positive)\n", "\t49\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t90 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 34.03 (279 (2.79%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t90\ttested as traces [+ 2 positive (2.22 %) +]\n", "\t904\ttested randomly [+ 7 positive (0.77 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t12\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (28 as groupmates of positive)\n", "\t80\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t144 entered isolation\n", "[INTERVENTIONS @ t = 35.01 (277 (2.77%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t74\ttested as traces [+ 7 positive (9.46 %) +]\n", "\t921\ttested randomly [+ 6 positive (0.65 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (36 as groupmates of positive)\n", "\t64\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t98 entered isolation\n", "[INTERVENTIONS @ t = 36.01 (285 (2.85%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t66\ttested as traces [+ 2 positive (3.03 %) +]\n", "\t928\ttested randomly [+ 11 positive (1.19 %) +]\n", "\t1000\ttested TOTAL [+ 18 positive (1.80 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t18\twill isolate due to positive test (28 as groupmates of positive)\n", "\t62\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t109 entered isolation\n", "[INTERVENTIONS @ t = 37.01 (287 (2.87%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t97\ttested as traces [+ 6 positive (6.19 %) +]\n", "\t897\ttested randomly [+ 11 positive (1.23 %) +]\n", "\t1000\ttested TOTAL [+ 22 positive (2.20 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t22\twill isolate due to positive test (28 as groupmates of positive)\n", "\t94\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t153 entered isolation\n", "[INTERVENTIONS @ t = 38.01 (280 (2.80%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t63\ttested as traces [+ 2 positive (3.17 %) +]\n", "\t932\ttested randomly [+ 3 positive (0.32 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (19 as groupmates of positive)\n", "\t59\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t110 entered isolation\n", "[INTERVENTIONS @ t = 39.01 (287 (2.87%) infected)]\n", "\t9\ttested due to symptoms [+ 9 positive (100.00 %) +]\n", "\t137\ttested as traces [+ 3 positive (2.19 %) +]\n", "\t854\ttested randomly [+ 9 positive (1.05 %) +]\n", "\t1000\ttested TOTAL [+ 21 positive (2.10 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t21\twill isolate due to positive test (35 as groupmates of positive)\n", "\t132\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t181 entered isolation\n", "[INTERVENTIONS @ t = 40.01 (289 (2.89%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t37\ttested as traces [+ 1 positive (2.70 %) +]\n", "\t957\ttested randomly [+ 8 positive (0.84 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (30 as groupmates of positive)\n", "\t36\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t70 entered isolation\n", "[INTERVENTIONS @ t = 41.00 (299 (2.99%) infected)]\n", "\t13\ttested due to symptoms [+ 11 positive (84.62 %) +]\n", "\t113\ttested as traces [+ 6 positive (5.31 %) +]\n", "\t874\ttested randomly [+ 3 positive (0.34 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (33 as groupmates of positive)\n", "\t118\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t182 entered isolation\n", "[INTERVENTIONS @ t = 42.00 (289 (2.89%) infected)]\n", "\t9\ttested due to symptoms [+ 7 positive (77.78 %) +]\n", "\t67\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t924\ttested randomly [+ 10 positive (1.08 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (36 as groupmates of positive)\n", "\t66\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t114 entered isolation\n", "[INTERVENTIONS @ t = 43.00 (289 (2.89%) infected)]\n", "\t9\ttested due to symptoms [+ 8 positive (88.89 %) +]\n", "\t110\ttested as traces [+ 4 positive (3.64 %) +]\n", "\t881\ttested randomly [+ 7 positive (0.79 %) +]\n", "\t1000\ttested TOTAL [+ 19 positive (1.90 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t19\twill isolate due to positive test (39 as groupmates of positive)\n", "\t110\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t166 entered isolation\n", "[INTERVENTIONS @ t = 44.02 (282 (2.82%) infected)]\n", "\t9\ttested due to symptoms [+ 6 positive (66.67 %) +]\n", "\t83\ttested as traces [+ 1 positive (1.20 %) +]\n", "\t908\ttested randomly [+ 2 positive (0.22 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (15 as groupmates of positive)\n", "\t67\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t125 entered isolation\n", "[INTERVENTIONS @ t = 45.00 (272 (2.72%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t81\ttested as traces [+ 5 positive (6.17 %) +]\n", "\t916\ttested randomly [+ 14 positive (1.53 %) +]\n", "\t1000\ttested TOTAL [+ 22 positive (2.20 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t22\twill isolate due to positive test (45 as groupmates of positive)\n", "\t82\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t140 entered isolation\n", "[INTERVENTIONS @ t = 46.06 (269 (2.69%) infected)]\n", "\t7\ttested due to symptoms [+ 7 positive (100.00 %) +]\n", "\t39\ttested as traces [+ 1 positive (2.56 %) +]\n", "\t954\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 11 positive (1.10 %) +]\n", "\t12\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11\twill isolate due to positive test (21 as groupmates of positive)\n", "\t41\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t67 entered isolation\n", "[INTERVENTIONS @ t = 47.00 (274 (2.74%) infected)]\n", "\t8\ttested due to symptoms [+ 8 positive (100.00 %) +]\n", "\t192\ttested as traces [+ 3 positive (1.56 %) +]\n", "\t800\ttested randomly [+ 9 positive (1.12 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t12\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (41 as groupmates of positive)\n", "\t172\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t248 entered isolation\n", "[INTERVENTIONS @ t = 48.00 (271 (2.71%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t18\ttested as traces [+ 1 positive (5.56 %) +]\n", "\t978\ttested randomly [+ 7 positive (0.72 %) +]\n", "\t1000\ttested TOTAL [+ 11 positive (1.10 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11\twill isolate due to positive test (27 as groupmates of positive)\n", "\t16\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t56 entered isolation\n", "[INTERVENTIONS @ t = 49.00 (263 (2.63%) infected)]\n", "\t7\ttested due to symptoms [+ 7 positive (100.00 %) +]\n", "\t48\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t945\ttested randomly [+ 10 positive (1.06 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (32 as groupmates of positive)\n", "\t55\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t119 entered isolation\n", "[INTERVENTIONS @ t = 50.02 (260 (2.60%) infected)]\n", "\t7\ttested due to symptoms [+ 6 positive (85.71 %) +]\n", "\t23\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t970\ttested randomly [+ 9 positive (0.93 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (22 as groupmates of positive)\n", "\t24\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t60 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 51.00 (274 (2.74%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t81\ttested as traces [+ 3 positive (3.70 %) +]\n", "\t917\ttested randomly [+ 8 positive (0.87 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (18 as groupmates of positive)\n", "\t89\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t142 entered isolation\n", "[INTERVENTIONS @ t = 52.01 (280 (2.80%) infected)]\n", "\t8\ttested due to symptoms [+ 7 positive (87.50 %) +]\n", "\t126\ttested as traces [+ 9 positive (7.14 %) +]\n", "\t866\ttested randomly [+ 4 positive (0.46 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (33 as groupmates of positive)\n", "\t122\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t163 entered isolation\n", "[INTERVENTIONS @ t = 53.00 (283 (2.83%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t48\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t949\ttested randomly [+ 10 positive (1.05 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (22 as groupmates of positive)\n", "\t50\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t89 entered isolation\n", "[INTERVENTIONS @ t = 54.01 (312 (3.12%) infected)]\n", "\t10\ttested due to symptoms [+ 8 positive (80.00 %) +]\n", "\t144\ttested as traces [+ 4 positive (2.78 %) +]\n", "\t846\ttested randomly [+ 11 positive (1.30 %) +]\n", "\t1000\ttested TOTAL [+ 23 positive (2.30 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t23\twill isolate due to positive test (50 as groupmates of positive)\n", "\t140\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t201 entered isolation\n", "[INTERVENTIONS @ t = 55.01 (313 (3.13%) infected)]\n", "\t9\ttested due to symptoms [+ 5 positive (55.56 %) +]\n", "\t31\ttested as traces [+ 1 positive (3.23 %) +]\n", "\t960\ttested randomly [+ 11 positive (1.15 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (40 as groupmates of positive)\n", "\t33\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 56.00 (315 (3.15%) infected)]\n", "\t10\ttested due to symptoms [+ 8 positive (80.00 %) +]\n", "\t132\ttested as traces [+ 3 positive (2.27 %) +]\n", "\t858\ttested randomly [+ 6 positive (0.70 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (35 as groupmates of positive)\n", "\t137\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t213 entered isolation\n", "[INTERVENTIONS @ t = 57.00 (311 (3.11%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t75\ttested as traces [+ 7 positive (9.33 %) +]\n", "\t923\ttested randomly [+ 15 positive (1.63 %) +]\n", "\t1000\ttested TOTAL [+ 24 positive (2.40 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t24\twill isolate due to positive test (41 as groupmates of positive)\n", "\t82\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t146 entered isolation\n", "[INTERVENTIONS @ t = 58.01 (312 (3.12%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t64\ttested as traces [+ 1 positive (1.56 %) +]\n", "\t930\ttested randomly [+ 10 positive (1.08 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (27 as groupmates of positive)\n", "\t61\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t118 entered isolation\n", "[INTERVENTIONS @ t = 59.00 (329 (3.29%) infected)]\n", "\t15\ttested due to symptoms [+ 13 positive (86.67 %) +]\n", "\t107\ttested as traces [+ 2 positive (1.87 %) +]\n", "\t878\ttested randomly [+ 8 positive (0.91 %) +]\n", "\t1000\ttested TOTAL [+ 23 positive (2.30 %) +]\n", "\t12\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t23\twill isolate due to positive test (40 as groupmates of positive)\n", "\t116\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t187 entered isolation\n", "[INTERVENTIONS @ t = 60.00 (323 (3.23%) infected)]\n", "\t8\ttested due to symptoms [+ 7 positive (87.50 %) +]\n", "\t71\ttested as traces [+ 5 positive (7.04 %) +]\n", "\t921\ttested randomly [+ 9 positive (0.98 %) +]\n", "\t1000\ttested TOTAL [+ 21 positive (2.10 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t21\twill isolate due to positive test (35 as groupmates of positive)\n", "\t75\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t128 entered isolation\n", "[INTERVENTIONS @ t = 61.01 (310 (3.10%) infected)]\n", "\t13\ttested due to symptoms [+ 9 positive (69.23 %) +]\n", "\t128\ttested as traces [+ 8 positive (6.25 %) +]\n", "\t859\ttested randomly [+ 7 positive (0.81 %) +]\n", "\t1000\ttested TOTAL [+ 24 positive (2.40 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t24\twill isolate due to positive test (41 as groupmates of positive)\n", "\t131\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t195 entered isolation\n", "[INTERVENTIONS @ t = 62.00 (304 (3.04%) infected)]\n", "\t11\ttested due to symptoms [+ 10 positive (90.91 %) +]\n", "\t108\ttested as traces [+ 3 positive (2.78 %) +]\n", "\t881\ttested randomly [+ 8 positive (0.91 %) +]\n", "\t1000\ttested TOTAL [+ 21 positive (2.10 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t21\twill isolate due to positive test (36 as groupmates of positive)\n", "\t111\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t169 entered isolation\n", "[INTERVENTIONS @ t = 63.01 (301 (3.01%) infected)]\n", "\t8\ttested due to symptoms [+ 6 positive (75.00 %) +]\n", "\t104\ttested as traces [+ 4 positive (3.85 %) +]\n", "\t888\ttested randomly [+ 6 positive (0.68 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (41 as groupmates of positive)\n", "\t110\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t176 entered isolation\n", "[INTERVENTIONS @ t = 64.01 (308 (3.08%) infected)]\n", "\t9\ttested due to symptoms [+ 8 positive (88.89 %) +]\n", "\t75\ttested as traces [+ 5 positive (6.67 %) +]\n", "\t916\ttested randomly [+ 12 positive (1.31 %) +]\n", "\t1000\ttested TOTAL [+ 25 positive (2.50 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t25\twill isolate due to positive test (56 as groupmates of positive)\n", "\t88\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t147 entered isolation\n", "[INTERVENTIONS @ t = 65.02 (295 (2.95%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t69\ttested as traces [+ 2 positive (2.90 %) +]\n", "\t928\ttested randomly [+ 12 positive (1.29 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (36 as groupmates of positive)\n", "\t74\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t134 entered isolation\n", "[INTERVENTIONS @ t = 66.01 (293 (2.93%) infected)]\n", "\t4\ttested due to symptoms [+ 2 positive (50.00 %) +]\n", "\t95\ttested as traces [+ 2 positive (2.11 %) +]\n", "\t901\ttested randomly [+ 7 positive (0.78 %) +]\n", "\t1000\ttested TOTAL [+ 11 positive (1.10 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11\twill isolate due to positive test (23 as groupmates of positive)\n", "\t93\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t175 entered isolation\n", "[INTERVENTIONS @ t = 67.01 (277 (2.77%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t49\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t948\ttested randomly [+ 11 positive (1.16 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (27 as groupmates of positive)\n", "\t55\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t111 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 68.00 (275 (2.75%) infected)]\n", "\t10\ttested due to symptoms [+ 8 positive (80.00 %) +]\n", "\t44\ttested as traces [+ 2 positive (4.55 %) +]\n", "\t946\ttested randomly [+ 9 positive (0.95 %) +]\n", "\t1000\ttested TOTAL [+ 19 positive (1.90 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t19\twill isolate due to positive test (39 as groupmates of positive)\n", "\t42\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t76 entered isolation\n", "[INTERVENTIONS @ t = 69.01 (269 (2.69%) infected)]\n", "\t6\ttested due to symptoms [+ 6 positive (100.00 %) +]\n", "\t80\ttested as traces [+ 1 positive (1.25 %) +]\n", "\t914\ttested randomly [+ 12 positive (1.31 %) +]\n", "\t1000\ttested TOTAL [+ 19 positive (1.90 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t19\twill isolate due to positive test (34 as groupmates of positive)\n", "\t87\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t125 entered isolation\n", "[INTERVENTIONS @ t = 70.01 (252 (2.52%) infected)]\n", "\t4\ttested due to symptoms [+ 4 positive (100.00 %) +]\n", "\t101\ttested as traces [+ 1 positive (0.99 %) +]\n", "\t895\ttested randomly [+ 7 positive (0.78 %) +]\n", "\t1000\ttested TOTAL [+ 12 positive (1.20 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t12\twill isolate due to positive test (16 as groupmates of positive)\n", "\t103\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t163 entered isolation\n", "[INTERVENTIONS @ t = 71.03 (250 (2.50%) infected)]\n", "\t7\ttested due to symptoms [+ 7 positive (100.00 %) +]\n", "\t84\ttested as traces [+ 4 positive (4.76 %) +]\n", "\t909\ttested randomly [+ 4 positive (0.44 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (22 as groupmates of positive)\n", "\t71\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t126 entered isolation\n", "[INTERVENTIONS @ t = 72.02 (250 (2.50%) infected)]\n", "\t8\ttested due to symptoms [+ 5 positive (62.50 %) +]\n", "\t69\ttested as traces [+ 2 positive (2.90 %) +]\n", "\t923\ttested randomly [+ 7 positive (0.76 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (18 as groupmates of positive)\n", "\t70\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t106 entered isolation\n", "[INTERVENTIONS @ t = 73.02 (242 (2.42%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t93\ttested as traces [+ 1 positive (1.08 %) +]\n", "\t902\ttested randomly [+ 11 positive (1.22 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (21 as groupmates of positive)\n", "\t111\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t152 entered isolation\n", "[INTERVENTIONS @ t = 74.02 (222 (2.22%) infected)]\n", "\t8\ttested due to symptoms [+ 6 positive (75.00 %) +]\n", "\t65\ttested as traces [+ 1 positive (1.54 %) +]\n", "\t927\ttested randomly [+ 10 positive (1.08 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (25 as groupmates of positive)\n", "\t66\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t105 entered isolation\n", "[INTERVENTIONS @ t = 75.00 (217 (2.17%) infected)]\n", "\t10\ttested due to symptoms [+ 9 positive (90.00 %) +]\n", "\t79\ttested as traces [+ 1 positive (1.27 %) +]\n", "\t911\ttested randomly [+ 3 positive (0.33 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (31 as groupmates of positive)\n", "\t92\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t138 entered isolation\n", "[INTERVENTIONS @ t = 76.04 (206 (2.06%) infected)]\n", "\t5\ttested due to symptoms [+ 2 positive (40.00 %) +]\n", "\t73\ttested as traces [+ 5 positive (6.85 %) +]\n", "\t922\ttested randomly [+ 2 positive (0.22 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (22 as groupmates of positive)\n", "\t85\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t129 entered isolation\n", "[INTERVENTIONS @ t = 77.01 (203 (2.03%) infected)]\n", "\t6\ttested due to symptoms [+ 4 positive (66.67 %) +]\n", "\t73\ttested as traces [+ 3 positive (4.11 %) +]\n", "\t921\ttested randomly [+ 11 positive (1.19 %) +]\n", "\t1000\ttested TOTAL [+ 18 positive (1.80 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t18\twill isolate due to positive test (30 as groupmates of positive)\n", "\t77\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t125 entered isolation\n", "[INTERVENTIONS @ t = 78.00 (190 (1.90%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t24\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t974\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (11 as groupmates of positive)\n", "\t37\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t73 entered isolation\n", "[INTERVENTIONS @ t = 79.02 (190 (1.90%) infected)]\n", "\t6\ttested due to symptoms [+ 6 positive (100.00 %) +]\n", "\t90\ttested as traces [+ 4 positive (4.44 %) +]\n", "\t904\ttested randomly [+ 4 positive (0.44 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (18 as groupmates of positive)\n", "\t117\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t168 entered isolation\n", "[INTERVENTIONS @ t = 80.02 (193 (1.93%) infected)]\n", "\t4\ttested due to symptoms [+ 4 positive (100.00 %) +]\n", "\t66\ttested as traces [+ 4 positive (6.06 %) +]\n", "\t930\ttested randomly [+ 5 positive (0.54 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (28 as groupmates of positive)\n", "\t81\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t101 entered isolation\n", "[INTERVENTIONS @ t = 81.01 (192 (1.92%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t60\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t936\ttested randomly [+ 3 positive (0.32 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (5 as groupmates of positive)\n", "\t76\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t102 entered isolation\n", "[INTERVENTIONS @ t = 82.01 (184 (1.84%) infected)]\n", "\t5\ttested due to symptoms [+ 5 positive (100.00 %) +]\n", "\t54\ttested as traces [+ 1 positive (1.85 %) +]\n", "\t941\ttested randomly [+ 3 positive (0.32 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (19 as groupmates of positive)\n", "\t72\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t112 entered isolation\n", "[INTERVENTIONS @ t = 83.03 (173 (1.73%) infected)]\n", "\t7\ttested due to symptoms [+ 6 positive (85.71 %) +]\n", "\t25\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t968\ttested randomly [+ 7 positive (0.72 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (38 as groupmates of positive)\n", "\t23\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t38 entered isolation\n", "[INTERVENTIONS @ t = 84.00 (171 (1.71%) infected)]\n", "\t4\ttested due to symptoms [+ 4 positive (100.00 %) +]\n", "\t48\ttested as traces [+ 1 positive (2.08 %) +]\n", "\t948\ttested randomly [+ 5 positive (0.53 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (26 as groupmates of positive)\n", "\t49\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t81 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 85.01 (169 (1.69%) infected)]\n", "\t7\ttested due to symptoms [+ 6 positive (85.71 %) +]\n", "\t51\ttested as traces [+ 2 positive (3.92 %) +]\n", "\t942\ttested randomly [+ 6 positive (0.64 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (43 as groupmates of positive)\n", "\t48\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t102 entered isolation\n", "[INTERVENTIONS @ t = 86.07 (172 (1.72%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t107\ttested as traces [+ 4 positive (3.74 %) +]\n", "\t892\ttested randomly [+ 5 positive (0.56 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (30 as groupmates of positive)\n", "\t101\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t137 entered isolation\n", "[INTERVENTIONS @ t = 87.03 (176 (1.76%) infected)]\n", "\t7\ttested due to symptoms [+ 5 positive (71.43 %) +]\n", "\t17\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t976\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (18 as groupmates of positive)\n", "\t23\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t82 entered isolation\n", "[INTERVENTIONS @ t = 88.02 (173 (1.73%) infected)]\n", "\t9\ttested due to symptoms [+ 7 positive (77.78 %) +]\n", "\t71\ttested as traces [+ 1 positive (1.41 %) +]\n", "\t920\ttested randomly [+ 2 positive (0.22 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (17 as groupmates of positive)\n", "\t77\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t118 entered isolation\n", "[INTERVENTIONS @ t = 89.01 (163 (1.63%) infected)]\n", "\t6\ttested due to symptoms [+ 4 positive (66.67 %) +]\n", "\t76\ttested as traces [+ 2 positive (2.63 %) +]\n", "\t918\ttested randomly [+ 3 positive (0.33 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (18 as groupmates of positive)\n", "\t87\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t115 entered isolation\n", "[INTERVENTIONS @ t = 90.01 (160 (1.60%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t51\ttested as traces [+ 2 positive (3.92 %) +]\n", "\t945\ttested randomly [+ 5 positive (0.53 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (22 as groupmates of positive)\n", "\t51\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t74 entered isolation\n", "[INTERVENTIONS @ t = 91.02 (149 (1.49%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t46\ttested as traces [+ 3 positive (6.52 %) +]\n", "\t953\ttested randomly [+ 6 positive (0.63 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (16 as groupmates of positive)\n", "\t42\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t68 entered isolation\n", "[INTERVENTIONS @ t = 92.02 (150 (1.50%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t30\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t968\ttested randomly [+ 7 positive (0.72 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (21 as groupmates of positive)\n", "\t39\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 93.03 (148 (1.48%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t26\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t971\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (18 as groupmates of positive)\n", "\t33\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t61 entered isolation\n", "[INTERVENTIONS @ t = 94.00 (147 (1.47%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t15\ttested as traces [+ 1 positive (6.67 %) +]\n", "\t983\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (17 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t41 entered isolation\n", "[INTERVENTIONS @ t = 95.02 (149 (1.49%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t33\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t963\ttested randomly [+ 5 positive (0.52 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (14 as groupmates of positive)\n", "\t37\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t65 entered isolation\n", "[INTERVENTIONS @ t = 96.02 (144 (1.44%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t24\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t972\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (19 as groupmates of positive)\n", "\t24\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t51 entered isolation\n", "[INTERVENTIONS @ t = 97.02 (147 (1.47%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t39\ttested as traces [+ 1 positive (2.56 %) +]\n", "\t956\ttested randomly [+ 2 positive (0.21 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (11 as groupmates of positive)\n", "\t39\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t62 entered isolation\n", "[INTERVENTIONS @ t = 98.05 (129 (1.29%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t39\ttested as traces [+ 1 positive (2.56 %) +]\n", "\t959\ttested randomly [+ 4 positive (0.42 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (9 as groupmates of positive)\n", "\t46\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t74 entered isolation\n", "[INTERVENTIONS @ t = 99.00 (124 (1.24%) infected)]\n", "\t4\ttested due to symptoms [+ 4 positive (100.00 %) +]\n", "\t23\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t973\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (10 as groupmates of positive)\n", "\t18\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t35 entered isolation\n", "[INTERVENTIONS @ t = 100.02 (122 (1.22%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t78\ttested as traces [+ 2 positive (2.56 %) +]\n", "\t920\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (8 as groupmates of positive)\n", "\t76\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t90 entered isolation\n", "[INTERVENTIONS @ t = 101.00 (111 (1.11%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t22\ttested as traces [+ 1 positive (4.55 %) +]\n", "\t978\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (3 as groupmates of positive)\n", "\t28\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t46 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 102.01 (112 (1.12%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t24\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t973\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (17 as groupmates of positive)\n", "\t27\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t42 entered isolation\n", "[INTERVENTIONS @ t = 103.04 (105 (1.05%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 8 positive (0.80 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (19 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n", "[INTERVENTIONS @ t = 104.04 (107 (1.07%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t34\ttested as traces [+ 1 positive (2.94 %) +]\n", "\t964\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (14 as groupmates of positive)\n", "\t51\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t77 entered isolation\n", "[INTERVENTIONS @ t = 105.02 (108 (1.08%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t25\ttested as traces [+ 2 positive (8.00 %) +]\n", "\t972\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (23 as groupmates of positive)\n", "\t32\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t64 entered isolation\n", "[INTERVENTIONS @ t = 106.01 (120 (1.20%) infected)]\n", "\t5\ttested due to symptoms [+ 5 positive (100.00 %) +]\n", "\t28\ttested as traces [+ 1 positive (3.57 %) +]\n", "\t967\ttested randomly [+ 7 positive (0.72 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (20 as groupmates of positive)\n", "\t35\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t56 entered isolation\n", "[INTERVENTIONS @ t = 107.00 (113 (1.13%) infected)]\n", "\t7\ttested due to symptoms [+ 6 positive (85.71 %) +]\n", "\t35\ttested as traces [+ 2 positive (5.71 %) +]\n", "\t958\ttested randomly [+ 5 positive (0.52 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (26 as groupmates of positive)\n", "\t46\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t80 entered isolation\n", "[INTERVENTIONS @ t = 108.02 (102 (1.02%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t45\ttested as traces [+ 1 positive (2.22 %) +]\n", "\t953\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (10 as groupmates of positive)\n", "\t47\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t81 entered isolation\n", "[INTERVENTIONS @ t = 109.00 (110 (1.10%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t52\ttested as traces [+ 2 positive (3.85 %) +]\n", "\t943\ttested randomly [+ 3 positive (0.32 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (22 as groupmates of positive)\n", "\t75\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t115 entered isolation\n", "[INTERVENTIONS @ t = 110.00 (105 (1.05%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t19\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t979\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (13 as groupmates of positive)\n", "\t18\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t34 entered isolation\n", "[INTERVENTIONS @ t = 111.11 (95 (0.95%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t39\ttested as traces [+ 1 positive (2.56 %) +]\n", "\t960\ttested randomly [+ 4 positive (0.42 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (6 as groupmates of positive)\n", "\t50\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t83 entered isolation\n", "[INTERVENTIONS @ t = 112.02 (94 (0.94%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t31\ttested as traces [+ 1 positive (3.23 %) +]\n", "\t967\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (10 as groupmates of positive)\n", "\t40\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t63 entered isolation\n", "[INTERVENTIONS @ t = 113.00 (92 (0.92%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t15\ttested as traces [+ 1 positive (6.67 %) +]\n", "\t983\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (13 as groupmates of positive)\n", "\t16\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t28 entered isolation\n", "[INTERVENTIONS @ t = 114.01 (90 (0.90%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t25\ttested as traces [+ 1 positive (4.00 %) +]\n", "\t973\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (8 as groupmates of positive)\n", "\t24\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t37 entered isolation\n", "[INTERVENTIONS @ t = 115.02 (88 (0.88%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t25\ttested as traces [+ 1 positive (4.00 %) +]\n", "\t972\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (15 as groupmates of positive)\n", "\t42\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t63 entered isolation\n", "[INTERVENTIONS @ t = 116.04 (84 (0.84%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t23\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t975\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (11 as groupmates of positive)\n", "\t30\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t43 entered isolation\n", "[INTERVENTIONS @ t = 117.00 (72 (0.72%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t24\ttested as traces [+ 2 positive (8.33 %) +]\n", "\t974\ttested randomly [+ 2 positive (0.21 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (15 as groupmates of positive)\n", "\t31\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t52 entered isolation\n", "[INTERVENTIONS @ t = 118.02 (68 (0.68%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t5\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t995\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t26 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 119.02 (65 (0.65%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t20\ttested as traces [+ 2 positive (10.00 %) +]\n", "\t980\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (6 as groupmates of positive)\n", "\t25\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t45 entered isolation\n", "[INTERVENTIONS @ t = 120.01 (68 (0.68%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t60\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t939\ttested randomly [+ 3 positive (0.32 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (8 as groupmates of positive)\n", "\t53\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t63 entered isolation\n", "[INTERVENTIONS @ t = 121.13 (63 (0.63%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (5 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 122.03 (62 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t11\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t989\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (4 as groupmates of positive)\n", "\t20\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t34 entered isolation\n", "[INTERVENTIONS @ t = 123.14 (58 (0.58%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t9 entered isolation\n", "[INTERVENTIONS @ t = 124.01 (62 (0.62%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t992\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (4 as groupmates of positive)\n", "\t6\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 125.01 (64 (0.64%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t9\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t988\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (9 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 126.01 (71 (0.71%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t3\ttested as traces [+ 1 positive (33.33 %) +]\n", "\t994\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (5 as groupmates of positive)\n", "\t3\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 127.05 (66 (0.66%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t11\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t988\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (10 as groupmates of positive)\n", "\t13\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t27 entered isolation\n", "[INTERVENTIONS @ t = 128.02 (65 (0.65%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t15\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t985\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t17\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t25 entered isolation\n", "[INTERVENTIONS @ t = 129.22 (61 (0.61%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t32\ttested as traces [+ 3 positive (9.38 %) +]\n", "\t964\ttested randomly [+ 2 positive (0.21 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (11 as groupmates of positive)\n", "\t31\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t45 entered isolation\n", "[INTERVENTIONS @ t = 130.07 (57 (0.57%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (8 as groupmates of positive)\n", "\t8\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t18 entered isolation\n", "[INTERVENTIONS @ t = 131.02 (51 (0.51%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t22\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t977\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (7 as groupmates of positive)\n", "\t27\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t47 entered isolation\n", "[INTERVENTIONS @ t = 132.09 (46 (0.46%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t8\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t992\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t9\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 133.10 (39 (0.39%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t5\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t990\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (11 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 134.00 (43 (0.43%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t3 entered isolation\n", "[INTERVENTIONS @ t = 135.00 (46 (0.46%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t21\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t977\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t31\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t49 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 136.10 (47 (0.47%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t8\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t990\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (20 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t12 entered isolation\n", "[INTERVENTIONS @ t = 137.31 (49 (0.49%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t13\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t986\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (7 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t16 entered isolation\n", "[INTERVENTIONS @ t = 138.09 (48 (0.48%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t28\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t972\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (5 as groupmates of positive)\n", "\t29\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t57 entered isolation\n", "[INTERVENTIONS @ t = 139.16 (49 (0.49%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t17\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t983\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (4 as groupmates of positive)\n", "\t17\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t27 entered isolation\n", "[INTERVENTIONS @ t = 140.04 (54 (0.54%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t12\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t988\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t15\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t24 entered isolation\n", "[INTERVENTIONS @ t = 141.02 (54 (0.54%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 142.02 (54 (0.54%) infected)]\n", "\t4\ttested due to symptoms [+ 2 positive (50.00 %) +]\n", "\t10\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t986\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (8 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t13 entered isolation\n", "[INTERVENTIONS @ t = 143.07 (51 (0.51%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (5 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 144.15 (50 (0.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t21\ttested as traces [+ 1 positive (4.76 %) +]\n", "\t978\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (1 as groupmates of positive)\n", "\t21\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t36 entered isolation\n", "[INTERVENTIONS @ t = 145.01 (49 (0.49%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t993\ttested randomly [+ 5 positive (0.50 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (17 as groupmates of positive)\n", "\t5\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t15 entered isolation\n", "[INTERVENTIONS @ t = 146.11 (49 (0.49%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t10\ttested as traces [+ 1 positive (10.00 %) +]\n", "\t989\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (5 as groupmates of positive)\n", "\t14\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t17 entered isolation\n", "[INTERVENTIONS @ t = 147.03 (45 (0.45%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t60\ttested as traces [+ 1 positive (1.67 %) +]\n", "\t939\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (4 as groupmates of positive)\n", "\t74\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t100 entered isolation\n", "[INTERVENTIONS @ t = 148.11 (42 (0.42%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t994\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (1 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t14 entered isolation\n", "[INTERVENTIONS @ t = 149.04 (40 (0.40%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t10\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t989\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t15\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t21 entered isolation\n", "[INTERVENTIONS @ t = 150.10 (39 (0.39%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t6\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t9 entered isolation\n", "[INTERVENTIONS @ t = 151.01 (42 (0.42%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t993\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (6 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n", "[INTERVENTIONS @ t = 152.02 (39 (0.39%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t11\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t988\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (2 as groupmates of positive)\n", "\t15\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t18 entered isolation\n", "[INTERVENTIONS @ t = 153.06 (36 (0.36%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t19\ttested as traces [+ 1 positive (5.26 %) +]\n", "\t981\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t24\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t37 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 154.00 (34 (0.34%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t12\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t985\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t17\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 155.02 (35 (0.35%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 156.02 (35 (0.35%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t3\ttested as traces [+ 1 positive (33.33 %) +]\n", "\t996\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t16 entered isolation\n", "[INTERVENTIONS @ t = 157.02 (33 (0.33%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (9 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 158.42 (38 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t9\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (5 as groupmates of positive)\n", "\t15\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t27 entered isolation\n", "[INTERVENTIONS @ t = 159.02 (36 (0.36%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t25\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t974\ttested randomly [+ 2 positive (0.21 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (4 as groupmates of positive)\n", "\t30\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t44 entered isolation\n", "[INTERVENTIONS @ t = 160.01 (38 (0.38%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t993\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (14 as groupmates of positive)\n", "\t9\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t16 entered isolation\n", "[INTERVENTIONS @ t = 161.02 (42 (0.42%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t18\ttested as traces [+ 2 positive (11.11 %) +]\n", "\t981\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (5 as groupmates of positive)\n", "\t15\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 162.01 (42 (0.42%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t13\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t986\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (4 as groupmates of positive)\n", "\t19\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t38 entered isolation\n", "[INTERVENTIONS @ t = 163.03 (43 (0.43%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t38\ttested as traces [+ 4 positive (10.53 %) +]\n", "\t961\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (12 as groupmates of positive)\n", "\t51\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t61 entered isolation\n", "[INTERVENTIONS @ t = 164.00 (39 (0.39%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 4 positive (0.40 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (20 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 165.03 (40 (0.40%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t39\ttested as traces [+ 1 positive (2.56 %) +]\n", "\t961\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (0 as groupmates of positive)\n", "\t55\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t74 entered isolation\n", "[INTERVENTIONS @ t = 166.01 (42 (0.42%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t19\ttested as traces [+ 1 positive (5.26 %) +]\n", "\t980\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (7 as groupmates of positive)\n", "\t26\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t52 entered isolation\n", "[INTERVENTIONS @ t = 167.03 (40 (0.40%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (3 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n", "[INTERVENTIONS @ t = 168.02 (40 (0.40%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t994\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (7 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t17 entered isolation\n", "[INTERVENTIONS @ t = 169.09 (37 (0.37%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (10 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t9 entered isolation\n", "[INTERVENTIONS @ t = 170.12 (31 (0.31%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t18\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t982\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t19\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t33 entered isolation\n", "[INTERVENTIONS @ t = 171.04 (30 (0.30%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t22\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t977\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (3 as groupmates of positive)\n", "\t26\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t41 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 172.07 (28 (0.28%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t3 entered isolation\n", "[INTERVENTIONS @ t = 173.00 (30 (0.30%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t12\ttested as traces [+ 1 positive (8.33 %) +]\n", "\t985\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (7 as groupmates of positive)\n", "\t16\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 174.21 (30 (0.30%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 175.02 (29 (0.29%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t55\ttested as traces [+ 2 positive (3.64 %) +]\n", "\t944\ttested randomly [+ 1 positive (0.11 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (4 as groupmates of positive)\n", "\t61\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 176.01 (26 (0.26%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 177.30 (23 (0.23%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t995\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t3\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 178.13 (19 (0.19%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t6\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t8 entered isolation\n", "[INTERVENTIONS @ t = 179.26 (20 (0.20%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t8\ttested as traces [+ 1 positive (12.50 %) +]\n", "\t992\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t14\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t15 entered isolation\n", "[INTERVENTIONS @ t = 180.21 (19 (0.19%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 181.30 (18 (0.18%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t12\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t988\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t28\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t29 entered isolation\n", "[INTERVENTIONS @ t = 182.04 (13 (0.13%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 183.05 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 184.05 (15 (0.15%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 185.07 (19 (0.19%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (0 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t8 entered isolation\n", "[INTERVENTIONS @ t = 186.23 (20 (0.20%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 187.02 (21 (0.21%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t9\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t12 entered isolation\n", "[INTERVENTIONS @ t = 188.09 (20 (0.20%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (6 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t3 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 189.14 (20 (0.20%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (3 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 190.42 (20 (0.20%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t7\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t13\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t23 entered isolation\n", "[INTERVENTIONS @ t = 191.11 (19 (0.19%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t5\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t995\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t13 entered isolation\n", "[INTERVENTIONS @ t = 192.12 (21 (0.21%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t2\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (2 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 193.23 (21 (0.21%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 194.41 (22 (0.22%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t22\ttested as traces [+ 1 positive (4.55 %) +]\n", "\t978\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (6 as groupmates of positive)\n", "\t19\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t24 entered isolation\n", "[INTERVENTIONS @ t = 195.40 (21 (0.21%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t9\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (4 as groupmates of positive)\n", "\t10\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t19 entered isolation\n", "[INTERVENTIONS @ t = 196.12 (22 (0.22%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 197.68 (19 (0.19%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n", "[INTERVENTIONS @ t = 198.01 (21 (0.21%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t3\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 199.44 (17 (0.17%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t6\ttested as traces [+ 1 positive (16.67 %) +]\n", "\t994\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (6 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 200.16 (17 (0.17%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 201.01 (15 (0.15%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t994\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t19 entered isolation\n", "[INTERVENTIONS @ t = 202.38 (15 (0.15%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 203.10 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t3\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t3 entered isolation\n", "[INTERVENTIONS @ t = 204.27 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 205.12 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 206.01 (15 (0.15%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 207.13 (12 (0.12%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 208.16 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t9\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t10\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t14 entered isolation\n", "[INTERVENTIONS @ t = 209.03 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 210.09 (10 (0.10%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 211.02 (11 (0.11%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 212.07 (8 (0.08%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (4 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 213.01 (6 (0.06%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 214.43 (5 (0.05%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t2\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t5 entered isolation\n", "[INTERVENTIONS @ t = 215.61 (5 (0.05%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 216.39 (6 (0.06%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 217.44 (8 (0.08%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 218.03 (8 (0.08%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (3 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 219.54 (9 (0.09%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 220.03 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t994\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t5\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 221.06 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t5 entered isolation\n", "[INTERVENTIONS @ t = 222.33 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 223.64 (10 (0.10%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 224.35 (10 (0.10%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t5 entered isolation\n", "[INTERVENTIONS @ t = 225.00 (11 (0.11%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 226.11 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 227.43 (12 (0.12%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (8 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 228.28 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 229.42 (11 (0.11%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t17\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t983\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t26\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t37 entered isolation\n", "[INTERVENTIONS @ t = 230.03 (9 (0.09%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 231.45 (8 (0.08%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 232.56 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 233.43 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 234.24 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 235.20 (6 (0.06%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 236.12 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 237.22 (6 (0.06%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 238.35 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (6 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 239.33 (9 (0.09%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 240.02 (13 (0.13%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 241.04 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 242.08 (19 (0.19%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 243.05 (20 (0.20%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 244.06 (26 (0.26%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t8 entered isolation\n", "[INTERVENTIONS @ t = 245.12 (28 (0.28%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t5\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 246.01 (30 (0.30%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 247.02 (28 (0.28%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (13 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 248.04 (28 (0.28%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t994\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (5 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 249.01 (32 (0.32%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t21\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t978\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (3 as groupmates of positive)\n", "\t26\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t43 entered isolation\n", "[INTERVENTIONS @ t = 250.10 (33 (0.33%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t15\ttested as traces [+ 1 positive (6.67 %) +]\n", "\t984\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (6 as groupmates of positive)\n", "\t18\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t25 entered isolation\n", "[INTERVENTIONS @ t = 251.03 (32 (0.32%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (3 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t17 entered isolation\n", "[INTERVENTIONS @ t = 252.09 (36 (0.36%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t18\ttested as traces [+ 1 positive (5.56 %) +]\n", "\t980\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (13 as groupmates of positive)\n", "\t22\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t32 entered isolation\n", "[INTERVENTIONS @ t = 253.09 (33 (0.33%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t13\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t986\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (2 as groupmates of positive)\n", "\t14\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 254.06 (32 (0.32%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t5\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t995\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t29 entered isolation\n", "[INTERVENTIONS @ t = 255.00 (30 (0.30%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 1 positive (25.00 %) +]\n", "\t995\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (11 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 256.06 (28 (0.28%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t995\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (5 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 257.13 (27 (0.27%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t7\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t993\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t9\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t27 entered isolation\n", "[INTERVENTIONS @ t = 258.01 (26 (0.26%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t8\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t992\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t12\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t21 entered isolation\n", "[INTERVENTIONS @ t = 259.06 (25 (0.25%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 260.01 (25 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 261.06 (20 (0.20%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t20\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t980\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t30\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t38 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 262.22 (17 (0.17%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (10 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 263.89 (17 (0.17%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t3 entered isolation\n", "[INTERVENTIONS @ t = 264.02 (16 (0.16%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t9\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t12\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 265.99 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t8\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 266.02 (15 (0.15%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 267.08 (16 (0.16%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 268.14 (16 (0.16%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 269.43 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t3\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 270.40 (15 (0.15%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 271.08 (13 (0.13%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (4 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 272.09 (12 (0.12%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (2 as groupmates of positive)\n", "\t6\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t9 entered isolation\n", "[INTERVENTIONS @ t = 273.27 (10 (0.10%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t21\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t979\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t30\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t35 entered isolation\n", "[INTERVENTIONS @ t = 274.28 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 275.67 (6 (0.06%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 277.90 (4 (0.04%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 278.22 (3 (0.03%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 279.44 (3 (0.03%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 282.02 (1 (0.01%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 284.93 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 285.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 286.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 287.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 288.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "data": { "text/plain": [ "(0.07861509837720071, 288.2946630705424)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run_tti_sim(model, T, \n", " intervention_start_pct_infected=INTERVENTION_START_PCT_INFECTED, average_introductions_per_day=AVERAGE_INTRODUCTIONS_PER_DAY,\n", " testing_cadence=TESTING_CADENCE, pct_tested_per_day=PCT_TESTED_PER_DAY, test_falseneg_rate=TEST_FALSENEG_RATE, \n", " testing_compliance_symptomatic=TESTING_COMPLIANCE_SYMPTOMATIC, max_pct_tests_for_symptomatics=MAX_PCT_TESTS_FOR_SYMPTOMATICS,\n", " testing_compliance_traced=TESTING_COMPLIANCE_TRACED, max_pct_tests_for_traces=MAX_PCT_TESTS_FOR_TRACES,\n", " testing_compliance_random=TESTING_COMPLIANCE_RANDOM, random_testing_degree_bias=RANDOM_TESTING_DEGREE_BIAS,\n", " tracing_compliance=TRACING_COMPLIANCE, pct_contacts_to_trace=PCT_CONTACTS_TO_TRACE, tracing_lag=TRACING_LAG,\n", " isolation_compliance_symptomatic_individual=ISOLATION_COMPLIANCE_SYMPTOMATIC_INDIVIDUAL, isolation_compliance_symptomatic_groupmate=ISOLATION_COMPLIANCE_SYMPTOMATIC_GROUPMATE, \n", " isolation_compliance_positive_individual=ISOLATION_COMPLIANCE_POSITIVE_INDIVIDUAL, isolation_compliance_positive_groupmate=ISOLATION_COMPLIANCE_POSITIVE_GROUPMATE,\n", " isolation_compliance_positive_contact=ISOLATION_COMPLIANCE_POSITIVE_CONTACT, isolation_compliance_positive_contactgroupmate=ISOLATION_COMPLIANCE_POSITIVE_CONTACTGROUPMATE,\n", " isolation_lag_symptomatic=ISOLATION_LAG_SYMPTOMATIC, isolation_lag_positive=ISOLATION_LAG_POSITIVE, isolation_groups=households_indices)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "total percent infected: 30.05%\n", "total percent fatality: 0.54%\n", "peak pct hospitalized: 0.17%\n" ] } ], "source": [ "results_summary(model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualizing the results" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:3913: UserWarning: FixedFormatter should only be used together with FixedLocator\n", " ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()])\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = model.figure_infections(combine_Q_infected=False, plot_Q_R='stacked', plot_Q_S='stacked')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.4" } }, "nbformat": 4, "nbformat_minor": 4 } seirsplus-1.1.0/examples/.ipynb_checkpoints/Extended_SEIRS_Workplace_TTI_Demo-checkpoint.ipynb000066400000000000000000013326401375244156600325670ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Extended SEIRS Workplace TTI Demo\n", "\n", "**In this demonstration we will explore the effect of testing, tracing, and isolation interventions on disease transmission in a workplace setting with a realistic contact network.**\n", "\n", "This notebook provides a demonstration of the functionality of the [Extended SEIRS Network Model](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description) and the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop). This notebook also offers a sandbox for starting to explore TTI scenarios of your own. \n", "For a more thorough walkthrough of the model, simulation loop, and use of this package, refer to the [SEIRS+ Wiki](https://github.com/ryansmcgee/seirsplus/wiki)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and importing the model code\n", "\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "In this demo we will also use features from the `networks`, `sim_loops`, and `utilities` modules.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```pip install seirsplus```\n", "\n", "Then, the ```models```, `networks`, `sim_loops`, and `utilities` modules can be imported as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "from seirsplus.networks import *\n", "from seirsplus.sim_loops import *\n", "from seirsplus.utilities import *\n", "import networkx\n", "import matplotlib.pyplot as pyplot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. For some of the features used in this demo you will also need the `networks`, `sim_loops`, and `utilities` modules. In this case, the easiest way to use the modules is to place your scripts in the same directory as the modules, and import the modules as shown here:*\n", "```python\n", "from models import *\n", "from networks import *\n", "from sim_loops import *\n", "from utilities import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set basic parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Specify the workplace size and structure" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "NUM_COHORTS = 4\n", "NUM_NODES_PER_COHORT = 200\n", "NUM_TEAMS_PER_COHORT = 10\n", "\n", "MEAN_INTRACOHORT_DEGREE = 6\n", "PCT_CONTACTS_INTERCOHORT = 0.1" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "N = NUM_NODES_PER_COHORT*NUM_COHORTS" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we set the initial prevalence to be a single case" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "INIT_EXPOSED = 4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------\n", "\n", "## Specifying contact networks\n", "\n", "This package implements models epidemic dynamics for populations with a structured [contact network](Extended-SEIRS-Model-Description#contact-networks). Individuals are represented as nodes in a network, and parameters, contacts, and interventions can be specified on a targeted individual basis. A graph specifying the contact network must be specified, where each node represents an individual in the population and edges connect individuals who have regular interactions.\n", "\n", "This model also supports scenarios where individuals enter quarantine states in which their parameters and interactions may be different from baseline, and a separate graph defining the interactions for individuals in quarantine can be specified (i.e., the [quarantine contact network](Extended-SEIRS-Model-Description#quarantine-contacts)).\n", "\n", "### Workplace Contact Network\n", "\n", "Here we use the [**demographic community network generator**](https://github.com/ryansmcgee/seirsplus/wiki/Network-Generation#workplace-network) defined in the SEIRS+ package. This function generates a contact network that resembles workplaces and other multi-level modular populations.\n", "\n", "[FARZ](https://github.com/ryansmcgee/seirsplus/wiki/Network-Generation#farz-networks) network layers are generated to represent cohorts of employees (e.g., departments, floors, shifts). FARZ networks have a tunable community structure, so each cohort includes some number of communities, which can be thought to represent teams (i.e., groups of employees that work closely with each other). Employees may belong to more than one team (specified by a FARZ parameter), but employees belong to only one cohort. An employee's intra-team and intra-cohort contacts are defined by the FARZ cohort network they belong to. A specified percentage of each employee's total number of workplace contacts can be with individuals from other cohorts. An employee's inter-cohort contacts are drawn randomly from the pool of individuals outside their own cohort. \n", "\n", "The number of cohorts, number of employees per cohort, number of teams per cohort, number of teams employees belong to, mean intra-cohort degree, percent of within- and between-team connections, and percent of intra- and inter-cohort connections can be controlled with the arguments to the `generate_demographic_contact_network()` function (some of which are passed as [parameters to the FARZ generator](https://github.com/ryansmcgee/seirsplus/wiki/Network-Generation#FARZ-parameters)).\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Baseline:\n", "Degree: mean = 11.06, std = 8.59, 95% CI = (1.00, 29.00)\n", " coeff var = 0.78\n", "Assortativity: 0.27\n", "Clustering coeff: 0.24\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAD4CAYAAADrRI2NAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAaNklEQVR4nO3df3QV9ZnH8fdDCAJBV8XIoVI3aBURQYTAQqFURMRWRF0pK7UULV08PbQIugr+6K67R8/BrrWt1uKisqa7VXGxLhxL/YVsOVq1TZBiBH9SsKERAuVHifxI4Nk/7gQvIbmZ3GTuvbnzeZ1zT2a+c2fm4UvyZPLc73zH3B0REYmPTtkOQEREMkuJX0QkZpT4RURiRolfRCRmlPhFRGKmc7YDCOOUU07xkpKSbIchItKhVFRUbHf34sbtHSLxl5SUUF5enu0wREQ6FDPb3FS7Sj0iIjGjxC8iEjNK/CIiMRNZjd/M+gFLkprOAP4Z+HnQXgJsAqa4+86o4hCRY9XV1VFVVcX+/fuzHYq0g65du9KnTx8KCwtDvT+yxO/u7wGDAcysANgCPAvMB1a6+wIzmx+sz4sqDhE5VlVVFccffzwlJSWYWbbDkTZwd3bs2EFVVRV9+/YNtU+mSj3jgI/cfTNwBVAWtJcBV2YoBhEJ7N+/n549eyrp5wEzo2fPnq366y1Tif8a4MlguZe7VwfLnwC9mtrBzGaaWbmZldfU1GQiRpFYUdLPH639v4w88ZtZF2AS8D+Nt3liTugm54V290XuXurupcXFx9x/ICIiacrEDVxfAda4+9ZgfauZ9Xb3ajPrDWzLQAwiksLOTw9Se6C+3Y5XdFxnTureJeV7CgoKGDhwIO5OQUEBP/3pT/niF7/YbjFcd911TJw4kcmTJ/Ptb3+bm266iXPPPbfdjg9w4YUXct9991FaWtqux41aJhL/VD4r8wAsB6YDC4KvyzIQQ9pS/UCE+eYW6QhqD9Tz0KqP2u14s8ae2eLPRrdu3Vi7di0AL7zwArfddhu/+c1v2i2GZI8++mgkx20v9fX1dO6cuYkUIi31mFkRMB74ZVLzAmC8mX0AXBys56yGH4imXu15hSQSZ3v27OGkk04CYO/evYwbN44hQ4YwcOBAli1LXBvW1tZy2WWXcf7553PeeeexZElitHhFRQVf/vKXGTp0KBMmTKC6uvqY41944YVHpn3p0aMHd9xxB+effz4jRoxg69ZEMaKmpoarr76aYcOGMWzYMF577bVjjrNv3z6uueYa+vfvz1VXXcW+ffuObHvxxRcZOXIkQ4YM4Wtf+xp79+4FYMWKFZxzzjkMHTqU2bNnM3HiRADuuusupk2bxqhRo5g2bVqz56+treVb3/oWw4cP54ILLjjSH20R6a8Yd68FejZq20FilI+IxNi+ffsYPHgw+/fvp7q6mldeeQVIjEl/9tlnOeGEE9i+fTsjRoxg0qRJPP/883zuc5/jV7/6FQC7d++mrq6O733veyxbtozi4mKWLFnCHXfcweLFi5s9b21tLSNGjOCee+7h1ltv5ZFHHuHOO+/kxhtvZO7cuYwePZqPP/6YCRMmsGHDhqP2XbhwId27d2fDhg2sW7eOIUOGALB9+3buvvtuXn75ZYqKirj33nu5//77ufXWW7nhhhtYvXo1ffv2ZerUqUcdb/369bz66qt069aNr3/9602e/5577uGiiy5i8eLF7Nq1i+HDh3PxxRdTVFSUdt93iEnaOqqW6qYqFUmcJZd6Xn/9db75zW9SWVmJu3P77bezevVqOnXqxJYtW9i6dSsDBw7k5ptvZt68eUycOJEvfelLVFZWUllZyfjx4wE4dOgQvXv3TnneLl26HLnqHjp0KC+99BIAL7/8MuvXrz/yvj179rB371569OhxpG316tXMnj0bgEGDBjFo0CAA3njjDdavX8+oUaMAOHjwICNHjuTdd9/ljDPOODK+furUqSxatOjI8SZNmkS3bt1Snv/FF19k+fLl3HfffUBiKO7HH39M//79W9PdR1Hij1BLddMwdVCROBg5ciTbt2+npqaGFStWUFNTQ0VFBYWFhZSUlLB//37OPvts1qxZw4oVK7jzzjsZN24cV111FQMGDOD1118Pfa7CwsIjwx8LCgqor09cnB0+fJg33niDrl27tjp+d2f8+PE8+eSTR7U3/GJrTvJVe3Pnd3eeeeYZ+vXr1+q4mqO5ekQk6959910OHTpEz5492b17N6eeeiqFhYWsWrWKzZsTMwv/+c9/pnv37nzjG9/glltuYc2aNfTr14+ampojib+uro533nknrRguueQSHnzwwSPrTSXtMWPG8MQTTwBQWVnJunXrABgxYgSvvfYaH374IZAoJ73//vv069ePjRs3smnTJoAjn0u0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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "G_baseline, cohorts, teams = generate_workplace_contact_network(\n", " num_cohorts=NUM_COHORTS, num_nodes_per_cohort=NUM_NODES_PER_COHORT, \n", " num_teams_per_cohort=NUM_TEAMS_PER_COHORT,\n", " mean_intracohort_degree=MEAN_INTRACOHORT_DEGREE, \n", " pct_contacts_intercohort=PCT_CONTACTS_INTERCOHORT,\n", " farz_params={'alpha':5.0, 'gamma':5.0, 'beta':0.5, 'r':1, 'q':0.0, 'phi':10, \n", " 'b':0, 'epsilon':1e-6, 'directed': False, 'weighted': False})\n", "\n", "network_info(G_baseline, \"Baseline\", plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we define the quarantine contact network to be an empty network (i.e., no connections). This represents an assumption that an employee that is in a quarantine state makes no contact with anyone from their workplace." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "G_quarantine = networkx.classes.function.create_empty_copy(G_baseline)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Specifying parameters\n", "\n", "**_The parameter values used in this notebook reflect rough estimates of parameter values for the COVID-19 epidemic (as of 9 Aug 2020)._**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set disease progression rate parameters:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parameter values are assigned to members of the population on an individual basis. Parameter values can be [specified to the `ExtSEIRSNetworkModel`](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#specifying-parameters) by providing a list of values that gives the *N* values to assign to each individual. The population may be either homogeneous or heterogeneous for a given parameter at the user's discretion. \n", "\n", "**Here we generate distributions of values for each parameter, thus specifying a realistically heterogeneous population.**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected latent periods (time in Exposed state) and presymptomatic periods (time in Pre-symptomatic infectious state). The `sigma` and `lamda` rates are calculated as the inverse of the expected exposed and pre-symptomatic periods assigned to each individual, respectively." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "latent period: mean = 2.14, std = 1.05, 95% CI = (0.56, 4.51)\n", "\n", "pre-symptomatic period: mean = 3.09, std = 1.83, 95% CI = (0.59, 7.77)\n", "\n", "total incubation period: mean = 5.23, std = 2.11, 95% CI = (2.12, 10.22)\n", "\n" ] }, { "data": { "image/png": "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nj077vs91P3NmTOHSy65JCb7juvoIzNLAhYBPwAeB9YAW929OFhlHXBSMH0S8CWAuxeb2bdAKrDlgDZvBm4GOPnkk+MZvkjN2Lsd5sewdHaP0dDk8CvtlpSUVHpzWiKUJoX/+q//iut+ZsyYwSWXXELnzp0BePDBB+O6v7JKSkpqdH8HiuuFZncvcfcsoA3QA+gUgzYnuXuOu+ekpaUdbnMi9U5BQQGdOnViyJAhnHrqqVx11VXs3LkTgPT0dO69916ys7P5n//5H2bNmkXv3r3Jzs7m6quvDstclLVx40b69etHVlYWGRkZvPfee0yePJk77rgjXOfJJ5/kzjvvDPc9bNgwOnTowJAhQ5g9ezZ9+vShffv2zJ8/H4AxY8Zw/fXX07t3b9q3b8+TTz4JwH333cd7771HVlYWEydOZPfu3dx4441kZmbSrVs33n33XSDyLIfLLruMc889l/T0dB577DEmTJhAt27d6NWrF998800YV/fu3enatStXXnklO3fu5P3332fmzJncfffdZGVlsWbNGoYNGxY+v2HBggWcccYZdO3alR49ehxUymPOnDn069ePiy++mI4dO3LLLbewb98+gAqP54HHvez+3n77bbp160ZmZibDhw9nz549ALz55pt06tSJ7Oxspk+ffvg/GIEaGX3k7luBd4HewLFmVnqG0gZYH0yvB9oCBO83B47c82CRBFq5ciW33nory5cvp1mzZvs9ZS01NZXFixfzwx/+kIceeojZs2ezePFicnJymDBhwkFtPf/885x//vnk5eWxZMkSsrKyuOaaa3jttdcoKioC4Omnn2b48OEArF69mrvuuosVK1awYsUKnn/+eebNm8f48eN55JH/nDEtXbqUd955hw8++IAHH3yQDRs2MHbsWPr27UteXh533nnnfmWzp06dytChQ8OCfvn5+UyfPp0FCxbwwAMP0LRpUz7++GN69+7NM888A8AVV1zBggULWLJkCaeeeipPPfUUZ5xxBgMHDmTcuHHk5eXx/e9/P4xp7969/OhHP+IPf/gDS5YsYfbs2QeV7wCYP38+f/rTn1i2bBlr1qxh+vTpbNmypdLjWXrcr7322nDZ7t27GTZsGNOmTeOTTz6huLiYJ554gt27dzNixAhee+01Fi1axFdffXVIPwfliefoozQzOzaYbgKcCywnkhxKn6M3FHg1mJ4ZzBO8/47X5RocIrVY27Zt6dOnDwDXXXcd8+bNC9/70Y9+BMCHH37IsmXL6NOnD1lZWUyZMiUsmFdW9+7defrppxkzZgyffPIJxxxzDCkpKZx99tm8/vrrrFixgqKiIjIzMwFo164dmZmZNGjQgNNOO41zzjkHMyMzM3O/stuDBg2iSZMmHH/88QwYMCA8iyhr3rx5XHfddcD+ZbMBBgwYwDHHHENaWhrNmzfn0ksvBdhvP/n5+fTt25fMzEyee+45Pv3000qP28qVK2nVqhXdu3cHoFmzZjRseHAvfI8ePfje975HUlISgwcPZt68eVUez9LjfuD+2rVrR4cOHQAYOnQoc+fOZcWKFbRr14727dtjZuExiIV4XlNoBUwJris0AF5099fNbBnwgpk9BHwMPBWs/xTwrJmtBr4Bri2vURE5fOWVrS5VWqLa3Tn33HOZOnXqfut+9NFHYQntBx98MHzgzt/+9jeGDRvGz3/+c2644QZuuukmHnnkETp16sSNN94Ybl+21HaDBg3C+QYNGlBcXBy+V1mM0YhmP8OGDWPGjBl07dqV3NzcmN1pXVFZ8PKOZ6naUho8nqOPlrp7N3fv4u4Z7v5gsPxf7t7D3X/g7le7+55g+e5g/gfB+/+KV2wi9d0XX3zBBx98AES6f84888yD1unVqxf//Oc/Wb16NQA7duzgs88+o2fPnuTl5ZGXl8fAgQNZu3YtLVu2ZMSIEdx0000sXrwYgJ49e/Lll1/y/PPPhw/UqY5XX32V3bt3U1hYyJw5c+jevftB5bgrKpsdrW3bttGqVSuKiorCdqDist8dO3Zk48aNLFiwINy+bCIrNX/+fD7//HP27dvHtGnTOPPMMys8npXp2LEjBQUF4TbPPvssZ511Fp06daKgoIA1a9YAVJhoDoVqH4kk2lEpkRFDsWyvCh07duTxxx9n+PDhdO7cmZEjRx60TlpaGrm5uQwePDi8uPnQQw+FXRml5syZw7hx42jUqBEpKSlhfz3ANddcQ15eHscdd1y1P0aXLl0YMGAAW7Zs4Ze//CWtW7cmLS2NpKQkunbtyrBhwyosmx2t3/72t/Ts2ZO0tDR69uwZJoJrr72WESNG8Mc//jG84Atw1FFHMW3aNEaNGsWuXbto0qQJs2fPJiVl/2PevXt3brvtNlavXs2AAQO4/PLLadCgQVTHs6zk5GSefvpprr76aoqLi+nevTu33HILjRs3ZtKkSVx88cU0bdqUvn37VvrsiupQ6exYUOlsqYZEl84uKCgIH3ofb5dccgl33nkn55xzTrW2GzNmDCkpKfziF7+IU2TxM2fOHMaPH1/lcyBqikpni0jCbd26lQ4dOtCkSZNqJwRJLHUfidQz6enpcT9LOPbYY6vsL6/MmDFjYhdMDevfvz/9+/dPdBiHTGcKIiISUlIQEZGQkoKIiISUFEREJKSkIJJghYWFrF27NmavwsLKS4Zt3bp1v1pHFYm2THVBQQEZGRkHLd+wYQNXXXVVOVscuor2VZnc3Fw2bNgQzt900037lcVOpIsuuoitW7dGvf6YMWMYP358/AJCo49EEm779u37FYI7XKNHjyY1teLS2aVJ4dZbb620ncMtU926dev9bvxKlNzcXDIyMmjdujUAf/nLXxIcUaSEiLvzxhtvJDqUg+hMQaSeue+++1izZg1ZWVncfffduDt33303GRkZZGZmMm3atHC9smWqCwoK6Nu3L9nZ2WRnZ/P+++9Xup+y/9Xn5uZyxRVXcMEFF9C+fXvuueeecL0333yT7OxsunbtGt7TcOB/xBkZGWERu+Li4nLLfj/44IN0796djIwMbr75Ztydl156iYULFzJkyBCysrLYtWsX/fv3p/Sm16lTp5KZmUlGRgb33ntvuL+UlBQeeOABunbtSq9evfj6668P+nwVlfcGGDduHN27d6dLly78+te/Do9Hx44dueGGG8jIyODLL78kPT2dLVsij4yZMGECGRkZZGRk8Pvf/z5s6+GHH6ZDhw6ceeaZrFy5stJjHgs6UxCpZ8aOHUt+fj55eXkAvPzyy2HZ6y1bttC9e3f69evH2LFj97szd+fOnbz11lskJyezatUqBg8eTHUqCuTl5fHxxx/TuHFjOnbsyKhRo0hOTmbEiBHMnTuXdu3ahc85qMzKlSt56qmn6NOnD8OHD+fPf/4zv/jFL7jtttv41a9+BcD111/P66+/zlVXXcVjjz3G+PHjycnZ/wbeDRs2cO+997Jo0SKOO+44zjvvPGbMmMFll13Gjh076NWrFw8//DD33HMPTz75JP/93/99UCxLly7lww8/ZMeOHXTr1o2LL76Y/Px8Vq1axfz583H3sGDgySefzKpVq5gyZQq9evXar51Fixbx9NNP89FHH+Hu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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "latentPeriod_mean, latentPeriod_coeffvar = 3.0, 0.6\n", "SIGMA = 1 / gamma_dist(latentPeriod_mean, latentPeriod_coeffvar, N)\n", "\n", "presymptomaticPeriod_mean, presymptomaticPeriod_coeffvar = 2.2, 0.5\n", "LAMDA = 1 / gamma_dist(presymptomaticPeriod_mean, presymptomaticPeriod_coeffvar, N)\n", "\n", "dist_info([1/LAMDA, 1/SIGMA, 1/LAMDA+1/SIGMA], [\"latent period\", \"pre-symptomatic period\", \"total incubation period\"], plot=True, colors=['gold', 'darkorange', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected (a)symptomatic periods (time in symptomatic or asymptomatic state). The `gamma` rates are calculated as the inverse of the expected (a)symptomatic periods assigned to each individual. \n", "\n", "The expected total infectious period for each individual is the sum of their expected pre-symptomatic and (a)symptomatic periods." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pre-symptomatic period: mean = 2.14, std = 1.05, 95% CI = (0.56, 4.51)\n", "\n", "(a)symptomatic period: mean = 3.98, std = 1.59, 95% CI = (1.59, 7.69)\n", "\n", "total infectious period: mean = 6.13, std = 1.94, 95% CI = (3.17, 10.53)\n", "\n" ] }, { "data": { "image/png": "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ZwoiInLMVBRERCSkoiAiIiEVBRERCakoiMRZXl4emzdvjtorL+/oU4Z99dVXPPvssxXmFen01bm5uXTu3LlU+6effsrVV19dxh6H+8tf/sIZZ5xB3759K9z2SNnZ2Xz66afh+i233HLYVNiJJhGnyj6Sbl4TibPdu3cfNkHc8RozZgwpKSnlvl9cFG6//fajxjne6atPOeWUw24IK89zzz3H5MmTOe+88yp9jOzsbDp37swpp5wCwJ/+9KdKx6gqiTpV9pF0piBSw4wePZpNmzaRkZHBqFGjcHdGjRpF586dSU9PZ9asWeF2Jaevzs3NpVevXmRmZpKZmck777xz1OOUPIPIzs7myiuvpH///rRr1477778fKHp+wZIlS7j55psZNWoUhYWFjBo1iq5du3LWWWfxxz/+MYz361//mvT0dLp06cLo0aN56aWXWL58OUOGDCEjI4N9+/bRp08fioepz5w5k/T0dDp37swDDzwQxil5V/JLL73EsGHDgKIzls6dO9OlSxd69+5d6vuprlNlH0lnCiI1zLhx41izZg05OTkAvPzyy+F02Dt37qRr16707t2bcePGHXbH7t69e3nrrbeoX78+GzZsYPDgwVTmPqGcnBzef/996tWrR4cOHbjzzjt58MEHefvtt3nyySfJyspi0qRJNG7cmGXLlnHgwAF69uzJRRddxPr165k7dy7vvfceDRs25Msvv6RZs2Y8/fTT4b4lffrppzzwwAOsWLGCpk2bctFFFzFnzhwGDRpUbn4PP/wwb7zxBq1ateKrr74qc5ulS5eydu1aTj31VPr378/s2bPp06dPOFX2SSedxK9//WvGjx/Pgw8+CHw7VTYU/cKHb6fKXrBgAe3bt+fGG29k4sSJ3HbbbYwYMYK3336b008/vcwZVWNNZwoiNdySJUsYPHgwtWvXpkWLFpx//vnhRHAlFRQUMGLECNLT07nmmmsq3Xffr18/GjduTP369enUqdNhE+8Ve/PNN5k6dSoZGRl0796dvLw8NmzYwPz58xk+fDgNGzYEoFmzZkc91rJly+jTpw+pqanUqVOHIUOGsHjx4qPu07NnT4YNG8bkyZPLvdO7Ok6VfSSdKYhIRCZMmECLFi1YtWoVhw4don79+pXav+QEdrVr1y5z1lF35/e//z0XX3zxYe1vvPHGsSVdhpLTXZecIvwPf/gD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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "symptomaticPeriod_mean, symptomaticPeriod_coeffvar = 4.0, 0.4\n", "GAMMA = 1 / gamma_dist(symptomaticPeriod_mean, symptomaticPeriod_coeffvar, N)\n", "\n", "infectiousPeriod = 1/LAMDA + 1/GAMMA\n", "\n", "dist_info([1/LAMDA, 1/GAMMA, 1/LAMDA+1/GAMMA], [\"pre-symptomatic period\", \"(a)symptomatic period\", \"total infectious period\"], plot=True, colors=['darkorange', 'crimson', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected onset-to-hospitalization periods (time in symptomatic state before entering hospitalized state for those with severe cases) and hospitalization-to-discharge periods (time in hospitalized state for those with non-fatal cases). The `eta` and `gamma_H` rates are calculated as the inverse of the expected onset-to-hospitalization periods and hospitalization-to-discharge periods assigned to each individual, respectively." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "onset-to-hospitalization period: mean = 11.14, std = 5.01, 95% CI = (3.57, 22.81)\n", "\n", "hospitalization-to-discharge period: mean = 10.76, std = 4.96, 95% CI = (3.16, 21.78)\n", "\n", "onset-to-discharge period: mean = 21.90, std = 7.12, 95% CI = (9.69, 37.18)\n", "\n" ] }, { "data": { "image/png": "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Y0fS09P5/vvvCxXLxo0b6dixI5dffjkRERH079+f1atXO743MTGROnXqEBYWRnx8PCkpKezZs4f69etz7bXXAjBw4EBWr15NtWrViIqK4t577+Xdd989r1upb9++hIWFcc0119CgQQO++uqrAmM8cOAAXbp0oWnTpjz99NPs3Lnzgp9r7dq1zJ49m3/9619FauPEiRMcP36cDh06nPe5ctx2223A+f9GeSUmJtKgQQPCw8Pp168fa9as4YsvvmDXrl20a9eO+Ph45s6dy/795+qa5f2iBnwe46+++or69etzzTXXICLcfffdFzwuwWKJ35gCXHLJJd7n4eHhZGW5bzp///33GTFiBFu2bKFly5ZkZWWhqrzzzjveM9zvv/+e6667Ll+bXbp0IT4+nvvuu8/vONavX+/tLlm6dGmBsTmJiIhgw4YN9OnTh2XLltG167l7KfMOBbzQ0MAHHniAkSNHsn37dl566aULjh8/fPgw9957LwsWLKBy5cpFauNCco5FQcfB6XOqKrfccov332zXrl288sq5gYaXXnrpRcVVWlniNyHvxhtvZPHixZw+fZpTp06xaNGifN0MublcLn744QeSkpJ46qmnOHHiBGlpaXTp0oUZM2Z4+9pzuouqVKnCyZMnvdt/+OGHJCcn8/LLL+dbn5iYyKeffsqxY8fIzs5m3rx5dOjQgVatWnmTU48ePXzG1rBhQ1JSUvj2228BeP311+nQoQNpaWmcOHGCW2+9lWnTpvHll196t3n77bdxuVzs3buXffv20bBhw/PazBv/iRMnuOoqd6WVuXPnFnhsMzMzueOOO3jqqae8Z8gFtZF3XzmqVatG9erVvX+J5XyuwtiwYQPfffcdLpeL+fPnc8MNN9C6dWvWrl3rPV6nTp3i66+/LrAdX8e4UaNGpKSksHfvXsB9raa0slE9ptQJq1yR6NEDirW9grRo0YJBgwaRmJgIwH333Ufz5s19dhlkZ2dz9913c+LECVSVUaNGER0dzaOPPsro0aOJi4vD5XJRv359li1bRlJSkrcL6G9/+1u+7oNhw4bRtWtXb1//1KlTSUpKQlXp1q0bPXv29PuzRkVFMWfOHO644w6ysrJo2bIlw4cP5+eff6Znz56kp6ejquf1Y9etW5fExER+/fVXZs6cSVRU1Hlt/uEPf6BPnz4sWbKEGTNmMHHiRO64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iI2NpWnTpkybNg2Ab7/9lptvvplmzZrRokUL9u7dC7i/cPv06UOjRo3o37+/t07PpEmTaNmyJbGxsQwbNsy7vGPHjowePZqEhASee+45Nm7cSFxcHPHx8YwdO9Y7uU12djZjx46lZcuWxMXF8dJLL+X7PCkpKd79XnfddfTp04fTp08DsHnzZjp06MD1119Ply5dOHz4sOP+c5d29lUmevPmzTRr1oxmzZqdVwIi1FjiL4NcZzXfwxTd5s2bmTNnDuvXr+eLL75g9uzZ3rHdvso1O5UOfuKJJ+jUqRMbNmxg5cqVjB07lszMzALLI48aNYratWuzcuVKVq5cyaFDhxg3bhwrVqwgOTmZjRs3snjx4nwxL1q0iD179rBr1y5ee+011q1bl+89OcXBduzYwfbt2xk8eDAA/fv3Z8SIEXz55ZesW7fOW+xt69atTJ8+nV27drFv3z5vDfmRI0eyceNGduzYwZkzZ87rDsrIyGDTpk385S9/YfDgwbz00kveMsY5XnnlFapVq8bGjRvZuHEjs2fPdiyhsGfPHv70pz+xe/duqlatyv/93/+RmZnJAw88wMKFC9m8eTNDhgzhkUcecdx/br7KRA8ePJgZM2bw5ZdfOv1XCBmW+Msaz3j9vA9TdGvWrKF3795ceumlVK5cmdtuu81bcMypXDOcKx38xhtveLs4li9f7q2N07FjR9LT0wtdO33jxo3e0sURERH079+f1atX53vf6tWr6devH+Hh4dSuXdtbnz63Bg0asG/fPh544AE++OADqlatysmTJzl48CC9e/cGICoqytvFlJiYSJ06dQgLCyM+Pt77WVeuXEmrVq1o2rQpK1asYOfOnd595HyRHT9+nJMnT3qLlP3P//yP9z3Lly/ntddeIz4+nlatWpGamso333yTL96rr76adu3aAXD33XezZs0a9uzZw44dO7jllluIj49n8uTJHDhwIN/+c3MqE7169WqOHz/O8ePHad++PeAuRx2qrI8/xDld9IXSe+G3pOUt15zT1fP++++zevVq3nvvPZ544gm2b9+OqvLOO+/QsGHD89pYv379ea+7dOnCkSNHSEhI8Ls/fv369dx/v/s+yEmTJvm1TfXq1fnyyy/58MMPmTlzJgsWLOC5557z+7NmZWWRnp7On/70JzZt2sTVV1/NxIkTi1TieMaMGXTp0qXA9zmV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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "onsetToHospitalizationPeriod_mean, onsetToHospitalizationPeriod_coeffvar = 11.0, 0.45\n", "ETA = 1 / gamma_dist(onsetToHospitalizationPeriod_mean, onsetToHospitalizationPeriod_coeffvar, N)\n", "\n", "hospitalizationToDischargePeriod_mean, hospitalizationToDischargePeriod_coeffvar = 11.0, 0.45\n", "GAMMA_H = 1 / gamma_dist(hospitalizationToDischargePeriod_mean, hospitalizationToDischargePeriod_coeffvar, N)\n", "\n", "dist_info([1/ETA, 1/GAMMA_H, 1/ETA+1/GAMMA_H], [\"onset-to-hospitalization period\", \"hospitalization-to-discharge period\", \"onset-to-discharge period\"], plot=True, colors=['crimson', 'violet', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of hospitalization-to-death periods (time in hospitalized state for those with fatal cases). The `mu_H` rates are calculated as the inverse of the expected hospitalization-to-death periods." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "onset-to-hospitalization period: mean = 11.14, std = 5.01, 95% CI = (3.57, 22.81)\n", "\n", "hospitalization-to-death period: mean = 7.08, std = 3.26, 95% CI = (2.33, 14.96)\n", "\n", "onset-to-death period: mean = 18.21, std = 5.91, 95% CI = (8.90, 31.39)\n", "\n" ] }, { "data": { "image/png": "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YcOG7Ny500mkAJmZmSQmJrJ06VJ2795Nbm4ur7zyCpmZmYwaNYp3332XHTt2cOzYsbL8emsMvyUFVd0I/LtIcz9gsfvnxcDdhdpfc5f63gI0EJHG/orNmED44osv6N+/P/Xq1SM8PJwBAwY43449ldSG86Wz33jjDae20rp165x6PHFxcWRmZjoTr/hq27ZtTnnpWrVqMXToUDZu3FjsdRs3bmTIkCGEhobSpEkTevXqBcC+ffv46quvuO2224iOjmb69OkcPnwYgK+++ooePXrQvn173nzzTfbs2eM1jgEDBhTb56JiY2Np0aIFoaGhDBkyhC+++IItW7aQmprKTTfdRHR0NIsXL+bQoUPOe4omxYKYIyIiiIyMBFyltzdu3MjXX39NREQELVu2REQYNmyYbwexhqrsawpXq+pR98/HgKvdP18D/FDodYfdbUcpQkRG4zqboFmzZv6L1JhK5K2ktqfS2arKO++8Q1RU1AXr2Lp16wXPe/fuzfHjx4mJieHVV1/1KY6tW7fyH//xHwAl9sWrKm3btuWf//xnsWWJiYmsWrWK66+/nkWLFrFhwwav6ynY75JKUHsqE66q3HbbbSxZssTje6x+WNkFbEhqwexEZXjfPFWNUdWYgkk0jKkOevTowapVqzh79ixnzpxh5cqVJZaS9lY6u3fv3syZM8fphizogipa5vnDDz8kJSXFSQiFl8fGxvLZZ59x6tQp8vLyWLJkCT179qRLly5OGeq77rqLm2++maVLl5KXl8fRo0dZv349AFFRUZw8edJJCjk5Oc4Zwa+//krjxo3Jycm5oKRzWctQJycnc/DgQfLz81m6dCndu3fnxhtvZNOmTezfvx9wXWcpmEjHm6ioKNLS0pz3FJTebtWqFWlpac51Dm+JJlhU9pnCcRFprKpH3d1DBVetfgSuLfS6pu42Y/wmPDycSZMmVej6StKpUycSExOJjY0F4MEHH6Rjx45eu028lc6ePHkyEyZMoEOHDuTn5xMREcHatWuLlXku2oUyevRo+vTp41xbmDlzJvHx8agqCQkJHssv9+/fn08//ZQ2bdrQrFkzunbtCsAll1zC8uXLGT9+PKdPnyY3N5cJEybQtm1b/vu//5suXbrQqFEjunTp4iSComWwfdW5c2fGjRvH/v37iY+Pp3///oSEhLBo0SKGDBniXCyePn260zXk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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "hospitalizationToDeathPeriod_mean, hospitalizationToDeathPeriod_coeffvar = 7.0, 0.45\n", "MU_H = 1 / gamma_dist(hospitalizationToDeathPeriod_mean, hospitalizationToDeathPeriod_coeffvar, N)\n", "\n", "dist_info([1/ETA, 1/MU_H, 1/ETA+1/MU_H], [\"onset-to-hospitalization period\", \"hospitalization-to-death period\", \"onset-to-death period\"], plot=True, colors=['crimson', 'darkgray', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set severity parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Specify the percentage of cases that are asymptomatic. This percentage of case will progress from the pre-symptomatic state to the asymptomatic state, rather than to the symptomatic state." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "PCT_ASYMPTOMATIC = 0.25" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify the case hospitalization rate. The value used here is approximately the age-frequency-weighted average of age-stratified hospitalization rates for working age adults using data from [Verity et al. (2020)](https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30243-7/fulltext)." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "PCT_HOSPITALIZED = 0.035" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify the case fatality rate for hospitalized cases. The value used here is approximately the age-frequency-weighted average of age stratified hospitalization fatality rates for working age adults, again using figures from [Verity et al. (2020)](https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30243-7/fulltext)." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "PCT_FATALITY = 0.08" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set transmission parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [Extended SEIRS Network Model](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#stochastic-network-model-implementation) model considers two modes of disease transmission: a well-mixed mode of [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission) and a contact network based mode of [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission). The propensity for a given individual to become exposed due to global transmission depends on the mean transmissibility of all infectious individuals in the population; the propensity for a given individual to become exposed due to local transmission depends on the pairwise transmissibilities between the focal node and its infectious contacts in the network (see [Transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#transmission) and [Model Equations](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#model-equations) for more information about these calculations). " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The transmissibility parameter *β* can be related to the basic reproduction number *R0* (i.e., the expected number of new infections generated by a single infectious individual in a completely susceptible population) by the standard formula: *β = R0𝛾*. *R0* is a more interpretable parameter, so we specify transmissibility in terms of *R0* and then calculate the corresponding *β* values.\n", "\n", "First, we generate a distribution of individual *R0* values (i.e., the expected number of new infections generated by a single *particular* infectious individual in a completely susceptible population). Of course, this means that transmissibility is heterogeneous in this population. The coefficient of variation is an important parameter for the individual *R0* distribution in that it tunes the degree of superspreading in the heterogeneous transmissibility. The distribution used in this example has a relatively low coefficient of variation, so most individuals have around the same degree of transmissibility. But a higher coefficient of variation (e.g., 2.0) would give a long right tail in idividual transmissibility representing a small number of individuals contributing many cases while the majority cases contribute less than 1 on average when they are infectious." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Individual R0: mean = 2.05, std = 0.41, 95% CI = (1.31, 2.86)\n", "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "R0_mean = 2.0\n", "R0_coeffvar = 0.2\n", "\n", "R0 = gamma_dist(R0_mean, R0_coeffvar, N)\n", "\n", "dist_info(R0, \"Individual R0\", bin_size=0.1, plot=True, colors='crimson')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Individuals are ultimately assigned an [*Individual Transmissibility Value*](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#transmissibility-parameters) (*βi*), which are stored in the `beta` attribute of the model object. \n", "\n", "The means of the Individual Transmissibility Values for infectious subpopulations are used to calculate the [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission) terms. Individual Transmissibility Values may also be used to generate the Pairwise Transmissibility Values used for [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission) terms, as we will specify in a few steps." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "BETA = 1/infectiousPeriod * R0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the stochastic network model, an individual comes into contact with a random individual from the population at large (e.g., in a public space) with probability *p* or with an individual from their set of close contacts with probability *(1-p)*. Transmission that occurs between an individual and the population at large is referred to as [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission), and transmission between an individual and one of their close contacts (network neighbors) is referred to as [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission). The parameter *p* defines the locality of the network: for *p=0* an individual only interacts with their close contacts, while *p=1* represents a uniformly mixed population.\n", "\n", "Here we set *p* to reflect 40% of interactions being with incidental or casual contacts outside their set of close contacts." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "P_GLOBALINTXN = 0.4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set Testing, Tracing, & Isolation (TTI) intervention protocol parameters:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify the parameters that govern the Testing, Tracing, and Isolation protocol that is implemented by the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop). The implementation of this TTI protocol and the interpretation of these parameters is desribed in detail on the [TTI Simulation Loop wiki page](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop) (but these parameters are briefly explained as code comments below).\n", "\n", "**The scenario set up in the steps that follow involves the entire workforce being tested on a weekly basis, a 2-day test turn around time, 50% of symptomatic individuals self-reporting and getting tested within 1 day of onset, 30% of symptomatics self-isolating even without a positive test, and teams of detected positive cases being proactively isolated. A new exogenous exposures comes into the workplace about once a week.**" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "INTERVENTION_START_PCT_INFECTED = 0/100\n", "AVERAGE_INTRODUCTIONS_PER_DAY = 1/14 # expected number of new exogenous exposures per day\n", "\n", "TESTING_CADENCE = 'weekly' # how often to do testing (other than self-reporting symptomatics who can get tested any day)\n", "PCT_TESTED_PER_DAY = 1.0 # max daily test allotment defined as a percent of population size\n", "TEST_FALSENEG_RATE = 'temporal' # test false negative rate, will use FN rate that varies with disease time\n", "MAX_PCT_TESTS_FOR_SYMPTOMATICS = 1.0 # max percent of daily test allotment to use on self-reporting symptomatics\n", "MAX_PCT_TESTS_FOR_TRACES = 0.0 # max percent of daily test allotment to use on contact traces\n", "RANDOM_TESTING_DEGREE_BIAS = 0 # magnitude of degree bias in random selections for testing, none here\n", "\n", "PCT_CONTACTS_TO_TRACE = 0.0 # percentage of primary cases' contacts that are traced\n", "TRACING_LAG = 2 # number of cadence testing days between primary tests and tracing tests\n", "\n", "ISOLATION_LAG_SYMPTOMATIC = 1 # number of days between onset of symptoms and self-isolation of symptomatics\n", "ISOLATION_LAG_POSITIVE = 2 # test turn-around time (TAT): number of days between administration of test and isolation of positive cases\n", "ISOLATION_LAG_CONTACT = 0 # number of days between a contact being traced and that contact self-isolating\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set intervention compliance parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we specify the compliance rates (i.e., the percentage of individuals who are compliant) for each intervention type. See the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop) documentation for more information about compliance." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "TESTING_COMPLIANCE_RATE_SYMPTOMATIC = 0.5 \n", "TESTING_COMPLIANCE_RATE_TRACED = 0.0\n", "TESTING_COMPLIANCE_RATE_RANDOM = 1.0 # Assume employee testing is mandatory, so 100% compliance\n", "\n", "TRACING_COMPLIANCE_RATE = 0.0\n", "\n", "ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_INDIVIDUAL = 0.3\n", "ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_GROUPMATE = 0.0\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_INDIVIDUAL = 0.0\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_GROUPMATE = 0.8 # Isolate teams with a positive member, but suppose 20% of employees are essential workforce\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACT = 0.0\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACTGROUPMATE = 0.0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we randomly assign a `True/False` compliance to each individual according to the rates set above. Individuals whose compliance is set to `True` for a given intervention will participate in that intervention, individuals set to `False` will not." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "TESTING_COMPLIANCE_RANDOM = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_RANDOM)\n", "TESTING_COMPLIANCE_TRACED = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_TRACED)\n", "TESTING_COMPLIANCE_SYMPTOMATIC = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_SYMPTOMATIC)\n", "\n", "TRACING_COMPLIANCE = (numpy.random.rand(N) < TRACING_COMPLIANCE_RATE)\n", "\n", "ISOLATION_COMPLIANCE_SYMPTOMATIC_INDIVIDUAL = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_INDIVIDUAL)\n", "ISOLATION_COMPLIANCE_SYMPTOMATIC_GROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_GROUPMATE)\n", "ISOLATION_COMPLIANCE_POSITIVE_INDIVIDUAL = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_INDIVIDUAL)\n", "ISOLATION_COMPLIANCE_POSITIVE_GROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_GROUPMATE)\n", "ISOLATION_COMPLIANCE_POSITIVE_CONTACT = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACT)\n", "ISOLATION_COMPLIANCE_POSITIVE_CONTACTGROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACTGROUPMATE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initializing the model" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:2118: RuntimeWarning: invalid value encountered in true_divide\n", " self.delta_Q = numpy.log(self.degree_Q)/numpy.log(numpy.mean(self.degree_Q)) if self.parameters['delta_Q'] is None else numpy.array(self.parameters['delta_Q']) if isinstance(self.parameters['delta_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta_Q'], shape=(self.numNodes,1))\n" ] } ], "source": [ "model = ExtSEIRSNetworkModel(G=G_baseline, p=P_GLOBALINTXN,\n", " beta=BETA, sigma=SIGMA, lamda=LAMDA, gamma=GAMMA, \n", " gamma_asym=GAMMA, eta=ETA, gamma_H=GAMMA_H, mu_H=MU_H, \n", " a=PCT_ASYMPTOMATIC, h=PCT_HOSPITALIZED, f=PCT_FATALITY, \n", " G_Q=G_quarantine, isolation_time=14,\n", " initE=INIT_EXPOSED)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running the model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set the max simulation time to 300 days." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "T = 300" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Execute the TTI simulation scenario by calling the `run_tti_sim()` function, which runs a custom simulation loop that implements the [TTI Simulation Protocol](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop)." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[NEW EXPOSURE @ t = 1.27 (1 exposed)]\n", "[INTERVENTIONS @ t = 1.27 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 2.19 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 3.47 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 4.68 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 6.50 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 7.20 (8 (1.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t798\ttested randomly [+ 4 positive (0.50 %) +]\n", "\t799\ttested TOTAL [+ 5 positive (0.63 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5 will isolate due to positive test (69 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 8.59 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 9.01 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t69 entered isolation\n", "[INTERVENTIONS @ t = 11.07 (7 (0.88%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (10 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 12.07 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 13.01 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 14.23 (5 (0.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t792\ttested randomly [+ 3 positive (0.38 %) +]\n", "\t793\ttested TOTAL [+ 4 positive (0.50 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4 will isolate due to positive test (75 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 15.48 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 16.72 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 17.18 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 18.20 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 19.62 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 20.01 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 23.49 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 24.03 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 25.42 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 26.49 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 27.13 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 28.15 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t785\ttested randomly [+ 6 positive (0.76 %) +]\n", "\t785\ttested TOTAL [+ 6 positive (0.76 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6 will isolate due to positive test (80 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 29.52 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 30.03 (7 (0.88%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t81 entered isolation\n", "[INTERVENTIONS @ t = 31.17 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 32.31 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 33.29 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 34.23 (4 (0.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (13 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 35.01 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t774\ttested randomly [+ 2 positive (0.26 %) +]\n", "\t774\ttested TOTAL [+ 2 positive (0.26 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (39 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 36.41 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t13 entered isolation\n", "[INTERVENTIONS @ t = 37.41 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t40 entered isolation\n", "[INTERVENTIONS @ t = 38.92 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 39.05 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 40.02 (5 (0.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (26 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 42.41 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t770\ttested randomly [+ 1 positive (0.13 %) +]\n", "\t770\ttested TOTAL [+ 1 positive (0.13 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 43.21 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t27 entered isolation\n", "[INTERVENTIONS @ t = 44.45 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 51.69 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 52.50 (2 (0.25%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 57.29 (1 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 58.24 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 59.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 60.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 61.00 (1 exposed)]\n", "[INTERVENTIONS @ t = 61.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 62.08 (1 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 63.66 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t768\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t768\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 64.17 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 65.16 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 66.29 (8 (1.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (18 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[NEW EXPOSURE @ t = 67.00 (1 exposed)]\n", "[INTERVENTIONS @ t = 67.00 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 68.20 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t19 entered isolation\n", "[INTERVENTIONS @ t = 69.21 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 70.24 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t761\ttested randomly [+ 5 positive (0.66 %) +]\n", "\t762\ttested TOTAL [+ 6 positive (0.79 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6 will isolate due to positive test (95 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 71.74 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t21 entered isolation\n", "[NEW EXPOSURE @ t = 72.23 (1 exposed)]\n", "[INTERVENTIONS @ t = 72.23 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t95 entered isolation\n", "[INTERVENTIONS @ t = 73.16 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 74.06 (6 (0.75%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 2 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (32 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 75.06 (1 exposed)]\n", "[INTERVENTIONS @ t = 75.06 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 76.41 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t32 entered isolation\n", "[INTERVENTIONS @ t = 77.54 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t749\ttested randomly [+ 2 positive (0.27 %) +]\n", "\t749\ttested TOTAL [+ 2 positive (0.27 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (33 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 78.06 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 79.05 (1 exposed)]\n", "[INTERVENTIONS @ t = 79.05 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t33 entered isolation\n", "[INTERVENTIONS @ t = 80.04 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 81.20 (9 (1.12%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (13 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 82.32 (9 (1.12%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 83.16 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t14 entered isolation\n", "[INTERVENTIONS @ t = 84.37 (8 (1.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t741\ttested randomly [+ 5 positive (0.67 %) +]\n", "\t742\ttested TOTAL [+ 6 positive (0.81 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6 will isolate due to positive test (116 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 85.33 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t3 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 87.16 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t119 entered isolation\n", "[INTERVENTIONS @ t = 88.04 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 91.18 (4 (0.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t736\ttested randomly [+ 2 positive (0.27 %) +]\n", "\t737\ttested TOTAL [+ 3 positive (0.41 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (63 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 92.58 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 93.36 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t64 entered isolation\n", "[INTERVENTIONS @ t = 94.27 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 95.58 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 99.14 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 104.64 (1 exposed)]\n", "[INTERVENTIONS @ t = 104.64 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 105.23 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t731\ttested randomly [+ 2 positive (0.27 %) +]\n", "\t731\ttested TOTAL [+ 2 positive (0.27 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (32 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 106.05 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 107.25 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t33 entered isolation\n", "[INTERVENTIONS @ t = 108.10 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 109.13 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 110.27 (10 (1.25%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 111.07 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 112.01 (16 (2.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t728\ttested randomly [+ 5 positive (0.69 %) +]\n", "\t728\ttested TOTAL [+ 5 positive (0.69 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5 will isolate due to positive test (75 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 113.22 (1 exposed)]\n", "[INTERVENTIONS @ t = 113.22 (21 (2.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 114.11 (25 (3.12%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 2 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (31 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 115.15 (28 (3.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (14 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 116.06 (27 (3.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t32 entered isolation\n", "[INTERVENTIONS @ t = 117.22 (29 (3.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (22 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t15 entered isolation\n", "[INTERVENTIONS @ t = 118.07 (27 (3.38%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 1 positive (50.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (16 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 119.08 (29 (3.62%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t714\ttested randomly [+ 11 positive (1.54 %) +]\n", "\t716\ttested TOTAL [+ 12 positive (1.68 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t12 will isolate due to positive test (187 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 120.04 (27 (3.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t16 entered isolation\n", "[NEW EXPOSURE @ t = 121.01 (1 exposed)]\n", "[INTERVENTIONS @ t = 121.01 (28 (3.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t187 entered isolation\n", "[INTERVENTIONS @ t = 122.12 (29 (3.62%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 1 positive (50.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (16 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 123.05 (26 (3.25%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (6 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 124.02 (23 (2.88%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t17 entered isolation\n", "[INTERVENTIONS @ t = 125.15 (17 (2.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n", "[INTERVENTIONS @ t = 126.23 (13 (1.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t689\ttested randomly [+ 6 positive (0.87 %) +]\n", "\t690\ttested TOTAL [+ 7 positive (1.01 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7 will isolate due to positive test (109 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 127.03 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 128.54 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t110 entered isolation\n", "[NEW EXPOSURE @ t = 129.17 (1 exposed)]\n", "[INTERVENTIONS @ t = 129.17 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 130.30 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 132.13 (8 (1.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (10 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 133.54 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t678\ttested randomly [+ 1 positive (0.15 %) +]\n", "\t678\ttested TOTAL [+ 1 positive (0.15 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (15 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 135.36 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 136.09 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t15 entered isolation\n", "[INTERVENTIONS @ t = 138.69 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 139.15 (1 exposed)]\n", "[INTERVENTIONS @ t = 139.15 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 140.04 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t676\ttested randomly [+ 2 positive (0.30 %) +]\n", "\t676\ttested TOTAL [+ 2 positive (0.30 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (35 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 141.00 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 142.30 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t35 entered isolation\n", "[INTERVENTIONS @ t = 143.73 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 144.55 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 145.27 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 146.01 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 147.32 (4 (0.50%) infected)]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t671\ttested randomly [+ 3 positive (0.45 %) +]\n", "\t671\ttested TOTAL [+ 3 positive (0.45 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (60 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 150.59 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 151.42 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t60 entered isolation\n", "[INTERVENTIONS @ t = 152.19 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 153.09 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 156.35 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 157.03 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 158.07 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 160.60 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 161.20 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t667\ttested randomly [+ 2 positive (0.30 %) +]\n", "\t667\ttested TOTAL [+ 2 positive (0.30 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (28 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 162.87 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 163.64 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t28 entered isolation\n", "[INTERVENTIONS @ t = 164.25 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 165.85 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 166.20 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 167.24 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 168.28 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t664\ttested randomly [+ 3 positive (0.45 %) +]\n", "\t664\ttested TOTAL [+ 3 positive (0.45 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (43 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 169.05 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 170.12 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t43 entered isolation\n", "[INTERVENTIONS @ t = 171.15 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 172.18 (8 (1.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (17 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 173.07 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 174.12 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t18 entered isolation\n", "[INTERVENTIONS @ t = 175.61 (10 (1.25%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t656\ttested randomly [+ 7 positive (1.07 %) +]\n", "\t657\ttested TOTAL [+ 8 positive (1.22 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8 will isolate due to positive test (100 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 176.10 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 177.11 (1 exposed)]\n", "[INTERVENTIONS @ t = 177.11 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t100 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 178.14 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 179.54 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (15 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 180.40 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[NEW EXPOSURE @ t = 181.04 (1 exposed)]\n", "[INTERVENTIONS @ t = 181.04 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t15 entered isolation\n", "[INTERVENTIONS @ t = 182.02 (14 (1.75%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t647\ttested randomly [+ 5 positive (0.77 %) +]\n", "\t649\ttested TOTAL [+ 7 positive (1.08 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7 will isolate due to positive test (136 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 183.01 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 184.05 (16 (2.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (11 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t137 entered isolation\n", "[INTERVENTIONS @ t = 185.25 (15 (1.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[NEW EXPOSURE @ t = 186.12 (1 exposed)]\n", "[INTERVENTIONS @ t = 186.12 (16 (2.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 187.21 (15 (1.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 188.39 (15 (1.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 189.03 (16 (2.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t640\ttested randomly [+ 3 positive (0.47 %) +]\n", "\t640\ttested TOTAL [+ 3 positive (0.47 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (40 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 190.04 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (16 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 191.01 (14 (1.75%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t41 entered isolation\n", "[INTERVENTIONS @ t = 192.64 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t18 entered isolation\n", "[INTERVENTIONS @ t = 193.30 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 194.12 (15 (1.88%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (25 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 195.05 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 196.47 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t629\ttested randomly [+ 2 positive (0.32 %) +]\n", "\t629\ttested TOTAL [+ 2 positive (0.32 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (33 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t26 entered isolation\n", "[INTERVENTIONS @ t = 198.20 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 199.07 (13 (1.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (25 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t33 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[NEW EXPOSURE @ t = 200.01 (2 exposed)]\n", "[INTERVENTIONS @ t = 200.01 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (25 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 201.42 (10 (1.25%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (16 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t25 entered isolation\n", "[INTERVENTIONS @ t = 203.86 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t623\ttested randomly [+ 1 positive (0.16 %) +]\n", "\t623\ttested TOTAL [+ 1 positive (0.16 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (10 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t26 entered isolation\n", "[INTERVENTIONS @ t = 204.25 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t16 entered isolation\n", "[INTERVENTIONS @ t = 205.24 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 206.01 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 207.21 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (20 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 208.41 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 209.17 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[NEW EXPOSURE @ t = 210.12 (1 exposed)]\n", "[INTERVENTIONS @ t = 210.12 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t620\ttested randomly [+ 4 positive (0.65 %) +]\n", "\t620\ttested TOTAL [+ 4 positive (0.65 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4 will isolate due to positive test (59 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 211.23 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 212.02 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t59 entered isolation\n", "[INTERVENTIONS @ t = 213.21 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 214.13 (12 (1.50%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 2 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (49 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 215.09 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 216.17 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (10 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t49 entered isolation\n", "[INTERVENTIONS @ t = 218.56 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 219.08 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 220.41 (11 (1.38%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (7 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 222.22 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 223.24 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 224.27 (12 (1.50%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t605\ttested randomly [+ 4 positive (0.66 %) +]\n", "\t607\ttested TOTAL [+ 6 positive (0.99 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6 will isolate due to positive test (82 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 225.31 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 226.02 (16 (2.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t82 entered isolation\n", "[INTERVENTIONS @ t = 227.26 (14 (1.75%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 1 positive (50.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 228.03 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 229.31 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t21 entered isolation\n", "[INTERVENTIONS @ t = 230.09 (13 (1.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (13 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 231.62 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t592\ttested randomly [+ 4 positive (0.68 %) +]\n", "\t592\ttested TOTAL [+ 4 positive (0.68 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4 will isolate due to positive test (56 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 232.39 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t13 entered isolation\n", "[INTERVENTIONS @ t = 233.06 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t56 entered isolation\n", "[INTERVENTIONS @ t = 234.04 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 235.13 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 236.19 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 237.15 (10 (1.25%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (14 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 238.19 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t586\ttested randomly [+ 2 positive (0.34 %) +]\n", "\t586\ttested TOTAL [+ 2 positive (0.34 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (40 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 239.28 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t14 entered isolation\n", "[INTERVENTIONS @ t = 240.32 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t41 entered isolation\n", "[INTERVENTIONS @ t = 241.22 (7 (0.88%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 244.47 (6 (0.75%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (10 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 245.09 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t581\ttested randomly [+ 1 positive (0.17 %) +]\n", "\t581\ttested TOTAL [+ 1 positive (0.17 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (20 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 246.57 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[NEW EXPOSURE @ t = 247.85 (1 exposed)]\n", "[INTERVENTIONS @ t = 247.85 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 248.12 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 249.01 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 250.41 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 251.48 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 252.22 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t577\ttested randomly [+ 3 positive (0.52 %) +]\n", "\t577\ttested TOTAL [+ 3 positive (0.52 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (46 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 253.10 (17 (2.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 254.01 (18 (2.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t46 entered isolation\n", "[INTERVENTIONS @ t = 255.03 (20 (2.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 256.30 (20 (2.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 257.01 (24 (3.00%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 258.09 (26 (3.25%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 259.02 (24 (3.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t570\ttested randomly [+ 11 positive (1.93 %) +]\n", "\t571\ttested TOTAL [+ 12 positive (2.10 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t12 will isolate due to positive test (170 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 260.12 (22 (2.75%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (20 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 261.00 (19 (2.38%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (25 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t172 entered isolation\n", "[INTERVENTIONS @ t = 262.05 (15 (1.88%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (24 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 263.23 (19 (2.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t25 entered isolation\n", "[INTERVENTIONS @ t = 264.20 (19 (2.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t24 entered isolation\n", "[INTERVENTIONS @ t = 265.03 (22 (2.75%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 266.02 (22 (2.75%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t550\ttested randomly [+ 10 positive (1.82 %) +]\n", "\t551\ttested TOTAL [+ 11 positive (2.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11 will isolate due to positive test (176 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 267.06 (26 (3.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t21 entered isolation\n", "[INTERVENTIONS @ t = 268.04 (26 (3.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t176 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 269.13 (23 (2.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 270.12 (22 (2.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 271.42 (20 (2.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 272.28 (20 (2.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 273.13 (19 (2.38%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t534\ttested randomly [+ 10 positive (1.87 %) +]\n", "\t535\ttested TOTAL [+ 11 positive (2.06 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11 will isolate due to positive test (200 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 274.05 (19 (2.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 275.07 (20 (2.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t201 entered isolation\n", "[INTERVENTIONS @ t = 276.06 (18 (2.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[NEW EXPOSURE @ t = 277.02 (1 exposed)]\n", "[INTERVENTIONS @ t = 277.02 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 278.19 (13 (1.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (19 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 279.17 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 280.57 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t517\ttested randomly [+ 3 positive (0.58 %) +]\n", "\t517\ttested TOTAL [+ 3 positive (0.58 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (57 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 281.03 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 282.20 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t57 entered isolation\n", "[INTERVENTIONS @ t = 283.02 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 284.67 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 285.11 (7 (0.88%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 286.01 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 287.21 (1 exposed)]\n", "[INTERVENTIONS @ t = 287.21 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t510\ttested randomly [+ 3 positive (0.59 %) +]\n", "\t510\ttested TOTAL [+ 3 positive (0.59 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (55 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 288.26 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 290.17 (6 (0.75%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (6 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t55 entered isolation\n", "[INTERVENTIONS @ t = 291.66 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 292.13 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 293.51 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 294.53 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t504\ttested randomly [+ 2 positive (0.40 %) +]\n", "\t504\ttested TOTAL [+ 2 positive (0.40 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (29 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 295.52 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[NEW EXPOSURE @ t = 296.15 (1 exposed)]\n", "[INTERVENTIONS @ t = 296.15 (1 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t29 entered isolation\n", "[INTERVENTIONS @ t = 298.83 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 299.48 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 306.28 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "data": { "text/plain": [ "(1.2725434793291166, 306.2766120199331)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run_tti_sim(model, T, \n", " intervention_start_pct_infected=INTERVENTION_START_PCT_INFECTED, average_introductions_per_day=AVERAGE_INTRODUCTIONS_PER_DAY,\n", " testing_cadence=TESTING_CADENCE, pct_tested_per_day=PCT_TESTED_PER_DAY, test_falseneg_rate=TEST_FALSENEG_RATE, \n", " testing_compliance_symptomatic=TESTING_COMPLIANCE_SYMPTOMATIC, max_pct_tests_for_symptomatics=MAX_PCT_TESTS_FOR_SYMPTOMATICS,\n", " testing_compliance_traced=TESTING_COMPLIANCE_TRACED, max_pct_tests_for_traces=MAX_PCT_TESTS_FOR_TRACES,\n", " testing_compliance_random=TESTING_COMPLIANCE_RANDOM, random_testing_degree_bias=RANDOM_TESTING_DEGREE_BIAS,\n", " tracing_compliance=TRACING_COMPLIANCE, pct_contacts_to_trace=PCT_CONTACTS_TO_TRACE, tracing_lag=TRACING_LAG,\n", " isolation_compliance_symptomatic_individual=ISOLATION_COMPLIANCE_SYMPTOMATIC_INDIVIDUAL, isolation_compliance_symptomatic_groupmate=ISOLATION_COMPLIANCE_SYMPTOMATIC_GROUPMATE, \n", " isolation_compliance_positive_individual=ISOLATION_COMPLIANCE_POSITIVE_INDIVIDUAL, isolation_compliance_positive_groupmate=ISOLATION_COMPLIANCE_POSITIVE_GROUPMATE,\n", " isolation_compliance_positive_contact=ISOLATION_COMPLIANCE_POSITIVE_CONTACT, isolation_compliance_positive_contactgroupmate=ISOLATION_COMPLIANCE_POSITIVE_CONTACTGROUPMATE,\n", " isolation_lag_symptomatic=ISOLATION_LAG_SYMPTOMATIC, isolation_lag_positive=ISOLATION_LAG_POSITIVE, \n", " isolation_groups=list(teams.values()))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "total percent infected: 37.50%\n", "total percent fatality: 0.00%\n", "peak pct hospitalized: 0.25%\n" ] } ], "source": [ "results_summary(model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualizing the results" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:3067: UserWarning: FixedFormatter should only be used together with FixedLocator\n", " ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()])\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = model.figure_infections(combine_Q_infected=False, plot_Q_R='stacked', plot_Q_S='stacked')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.4" } }, "nbformat": 4, "nbformat_minor": 4 } seirsplus-1.1.0/examples/.ipynb_checkpoints/demo_copy-checkpoint.ipynb000066400000000000000000006621501375244156600263460ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SEIRS+ Community Testing, Tracing, & Isolation Demo\n", "\n", "**This notebook provides a demonstration of the functionality of the Extended SEIRS+ Network Model and offers a sandbox for easily changing simulation parameters and scenarios.** \n", "For a more thorough walkthrough of the model and use of this package, refer to the README." ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and Importing the model code\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```sudo pip install seirsplus```\n", "\n", "Then, the ```models``` module can be imported into your scripts as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "import networkx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. In this case, the easiest way to use the module is to place your scripts in the same directory as the module, and import the module as shown here:*\n", "```python\n", "from models import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generating interaction networks\n", "\n", "This model simulates SEIRS epidemic dynamics for populations with a structured interaction network (as opposed to standard deterministic SIR/SEIR/SEIRS models, which assume uniform mixing of the population). As such, a graph specifying the interaction network for the population must be specified, where each node represents an individual in the population and edges connect individuals who have regular interactions.\n", "\n", "The interaction network can be specified by a ```networkx``` Graph object or a 2D numpy array representing the adjacency matrix, either of which can be defined and generated by any method.\n", "\n", "*Here, we use a ```custom_exponential_graph()``` generation function included in this package, which generates power-law graphs that have degree distributions with two exponential tails. For more information on this custom graph type and its generation, see the README.*\n", "\n", "**_Note:_** *Simulation time increases with network size. Small networks simulate quickly, but have more stochastic volatility. Networks with ~10,000 are large enough to produce per-capita population dynamics that are generally consistent with those of larger networks, but small enough to simulate quickly. We recommend using networks with ~10,000 nodes for prototyping parameters and scenarios, which can then be run on larger networks if more precision is required (for more on this, see README).*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "numNodes = 10000\n", "baseGraph = networkx.barabasi_albert_graph(n=numNodes, m=9)\n", "# Baseline normal interactions:\n", "G_normal = custom_exponential_graph(baseGraph, scale=100)\n", "plot_degree_distn(G_normal, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Epidemic scenarios of interest often involve interaction networks that change in time. Multiple interaction networks can be defined and used at different times in the model simulation, as will be shown below.\n", "\n", "*Here we generate a graph representing interactions during corresponding to Social Distancing, where each individual drops some portion of their normal interactions with others. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Social distancing interactions:\n", "G_distancing = custom_exponential_graph(baseGraph, scale=10)\n", "plot_degree_distn(G_distancing, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This SEIRS+ model features dynamics corresponding to testing individuals for the disease and moving individuals with detected infection into a state where their rate of recovery, mortality, etc may be different. In addition, given that this model considers individuals in an interaction network, a separate graph defining the interactions for individuals with detected cases can be specified.\n", "\n", "*Here we generate a graph representing the interactions that individuals have when they test positive for the disease. In this case, a significant portion of each individual's normal interaction edges are removed from the graph, as if the individual is quarantined upon detection of infection. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*\n", "\n", "For more information on how testing, contact tracing, and detected cases are handled in this model, see the README." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEICAYAAABMGMOEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHZVJREFUeJzt3XtUlHXix/HPAILGZRVpSwIVvJw0u6yR7m6op4Lsopke\nDLxgpnZdKTQVo0AUQs1dq5W0+1ZYiSJdtuh04VismrppaGLqrnlDzBtognKd5/eHv2YjR+YhYWbQ\n9+scz3Ge+fI8H74on3luMxbDMAwBAOCAh6sDAABaBwoDAGAKhQEAMIXCAACYQmEAAEyhMAAAplAY\nAABTKAwAgCkUBgDAFC9XB2gO/fv31xVXXOHqGADQqhw4cEDr1683Pf6CKIwrrrhCeXl5ro4BAK3K\niBEjmjSeQ1IAAFMoDACAKRQGAMCUC+IcBoDzV1tbq5KSElVVVbk6CppZ27ZtFRISojZt2pzXeigM\nAJKkkpIS+fv7q2vXrrJYLK6Og2ZiGIaOHTumkpIShYWFnde6OCQFQJJUVVWljh07UhYXGIvFoo4d\nOzbLniOFAcCGsrgwNdfPlUNSAOwqr6xRRXVds63Pz8dLHXy9m219cD4KA4BdFdV1yt1Y0mzri7k+\nxG0LY9euXUpLS1N2draro9j10Ucf6c0335Snp6d69uyptLQ0eXj87wBRaWmpkpOTVV9fL8MwNGfO\nHIWHhzd7jguiMOqthvaXnWp0DK9uALRGVVVVeu655/TPf/5T7dq109SpU7Vq1SrdcssttjHPP/+8\nxo4dq6ioKP3rX//SwoULlZWV1exZLojCsBqGw1dC7vzqBoCUl5enVatWqaqqSkeOHNG4ceNUUFCg\n//znP5oxY4aioqL0ySef6I033pCHh4euv/56TZs2TT/++KPS0tJUXV2tI0eOKDExUVFRURo6dKj6\n9eunHTt2yGKxaPHixfL397dt7/Dhw5o2bZoMw9Cll15qW75hwwY9++yz8vT0VGhoqObMmaP6+nrN\nmDFDhw8fVqdOnfTvf/9bq1evVnx8vAIDA3XixAm9/PLLSktL0969e2W1WpWYmKj+/fvbXd8vL299\n9tlntWnTpgZz8dprr8nb+8zvK29vby1btkzt2rWTJNXV1cnHx6fB+KSkJNv3Vl9ff9bzzeWCKAwA\nF4bKykq9/vrr+vjjj/XGG29o+fLlWr9+vd566y1FRERo0aJFWrlypdq1a6fp06drzZo1slgsuu++\n+9S/f39t2rRJixYtUlRUlCorK3XnnXcqJSVFjz/+uAoLC3XnnXfatvXiiy9qyJAhuueee5Sfn693\n331XhmEoJSVF77zzjjp27KjnnntO7733nk6fPq2QkBD9/e9/165duzRkyBDbeoYMGaLo6Gi98847\n6tChgzIzM1VeXq6xY8fqo48+sru+e+65x/b1U6ZMaXROPDw8FBQUJEnKzs7WqVOndOONNzYYExgY\nKEn64YcfNH/+fL3wwgvn/bOwh8IA4DZ69eolSfL391e3bt1ksVj0u9/9TtXV1dq3b5/Kysr0wAMP\nSDpTLvv27VNERISWLFmi3NxcWSwW1dX970R97969JUmdOnVSdXV1g23t2bPH9ou7b9++evfdd1VW\nVqbDhw8rMTFR0pnDQX/+859VXl6ugQMHSpK6detm+wUtyXZvw86dO7Vx40Zt2bJF0pk9gXOt75cc\n7WFIktVq1YIFC7R7924tWrTI7lVP69at0+zZs/XMM8+0yPkLicIA4EYau/wzJCREnTp10uuvv642\nbdooLy9PvXr10vPPP6+RI0dq0KBBWrlypd577z1T6+vWrZu+/fZbXXnllfruu+8kSR06dNDll19u\nO3xVUFCgSy65RLt27dK3336rqKgo7du3T+Xl5WdtIzw8XJdffrkeeughVVVVacmSJedc3y852sOQ\npNTUVHl7e2vx4sUNTnb/bN26dXr66af16quvtuhHPVAYAOzy8/FSzPUhzbq+8xEYGKjx48crPj5e\n9fX1uuKKK3T77bfrtttu0zPPPKOXX35Zl19+eYNf5o15+OGHNX36dOXn5ysk5Mz36eHhoSeffFIP\nPPCADMOQr6+vnnnmGf3hD3/QzJkzNWbMGAUHB9s9RxAXF6ennnpKY8eOVUVFhUaPHn3O9TVFcXGx\ncnNzFRERoXvvvVeSNG7cON1www166qmnlJWVpczMTNXW1mrmzJmSzuz1zJkzp0nbMcNiGIbR7Gt1\nsqHD7tbNkxv/IcRcH6LQwEsaHQNczL7//nvbISE0tGnTJp06dUqRkZHas2ePJk2apC+++MLVsZrE\n3s93xIgRTfosIfYwAMCB0NBQTZ06VVlZWaqrq1NqaqqrI7kEhQEADlx66aVue1OfM/FeUgBsLoAj\n1LCjuX6uFAYASWc+M+HYsWOUxgXm57c3b9u27Xmvi0NSACSduWy1pKRER44ccXUUNLOfP0DpfFEY\n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\n9Pvf/15S0/+vt+rCONcd4e6mbdu2mjhxol577TXNnj1b06ZNc6ucgwcPbnAXvWEYslgskiRfX1+d\nPHnSVdFsfp3xmmuu0YwZM/T2228rNDRUL7zwggvTneHr6ys/Pz9VVFTo0UcfVWJiolvOpb2c7jif\nkuTl5aWkpCSlp6dr6NChbjmf0tk53XE+8/LyFBgYaHuRLTX9/3qrLgw/Pz9VVlbaHlut1ga/VNxF\nWFiY7rrrLlksFoWFhal9+/Y6cuSIq2Od0y+PYVZWViogIMCFaeyLjo62XQ4YHR2tbdu2uTjRGQcP\nHtS4ceM0bNgwDR061G3n8tc53XU+pTOvij/99FOlpKSourrattyd5lNqmDMyMtLt5nPlypVau3at\n4uPj9f333yspKUllZWW2583MZ6sujNZyR3hubq7mzZsnSTp06JAqKip06aWXujjVufXu3Vvr16+X\nJBUWFioiIsLFic42ceJEbdmyRZL09ddf66qrrnJxIuno0aOaMGGCpk+frpiYGEnuOZf2crrjfL7/\n/vt66aWXJEnt2rWTxWJRnz593G4+7eWcPHmy283n22+/raVLlyo7O1u9evXS/PnzNXDgwCbNZ6u+\nD+Pnq6R27txpuyO8W7duro51lpqaGj3xxBMqLS2VxWLRtGnT1LdvX1fHaqCkpERTp07V8uXLtXv3\nbqWkpKi2tlbh4eHKyMiQp6enqyM2yFhcXKz09HS1adNGQUFBSk9Pb3B40hUyMjL0ySefKDw83Lbs\nySefVEZGhlvNpb2ciYmJWrBggVvN56lTp/TEE0/o6NGjqqur0/33369u3bq53b9Nezk7derkdv8+\nfyk+Pl5paWny8PBo0ny26sIAADhPqz4kBQBwHgoDAGAKhQEAMIXCAACYQmEAAEyhMIAmqq6u1s03\n3+zqGIDTURgAAFPc7300ADdUWVmpadOm6aefflLnzp0lSTt27FBGRoYkqX379srMzJSfn59mz56t\nrVu3KigoSAcOHNCSJUuUlZWl48eP6/jx43rppZf06quv6ptvvpHVatX48eN1++23212fv7+/y75n\n4NcoDMCEZcuWqWfPnpoyZYo2b96s9evXKyUlRZmZmerevbtWrFihV199VVdffbWOHz+u3NxclZWV\n6dZbb7Wt449//KPGjx+vr776SiUlJXr33XdVXV2te+65RzfeeKPd9U2ZMsWF3zXQEIUBmLBnzx4N\nGjRIknTttdfKy8tLu3bt0uzZsyWd+VCirl27ytfXV9ddd50kKTAwsMHbb4SFhUmSdu7cqeLiYsXH\nx0uS6urqdODAAbvrA9wJhQGY0K1bNxUVFSkqKkrbtm1TXV2dwsLCNH/+fAUHB2vjxo06cuSIfHx8\n9MEHH0iSTpw4oT179tjW8fPbSIeHh6t///5KT0+X1WrV4sWLFRoaand9gDuhMAATRo0apRkzZmjU\nqFEKDw9XmzZtlJaWpqSkJNXV1clisejpp59W165dVVhYqLi4OAUFBalt27Zq06ZNg3XdfPPN2rBh\ng0aPHq1Tp04pKipKfn5+dtcHuBPefBBoRrt27dL27dt15513qry8XEOGDNGqVavk7e3t6mjAeaMw\ngGZ06tQpPf744zp27Jjq6+s1duxYDR8+3NWxgGZBYQAATOHGPQCAKRQGAMAUCgMAYAqFAQAwhcIA\nAJhCYQAATPk/4388ATq3DwQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Quarantine interactions:\n", "G_quarantine = custom_exponential_graph(baseGraph, scale=5)\n", "plot_degree_distn(G_quarantine, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initializing the model parameters\n", "All model parameter values, including the normal and quarantine interaction networks, are set in the call to the ```SEIRSNetworkModel``` constructor. The normal interaction network ```G``` and the basic SEIR parameters ```beta```, ```sigma```, and ```gamma``` are the only required arguments. All other arguments represent parameters for optional extended model dynamics; these optional parameters take default values that turn off their corresponding dynamics when not provided in the constructor. For clarity and ease of customization in this notebook, all available model parameters are listed below. \n", "\n", "For more information on parameter meanings, see the README.\n", "\n", "*The parameter values shown correspond to rough estimates of parameter values for the COVID-19 epidemic.*" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "model = SEIRSNetworkModel(G =G_normal, \n", " beta =0.155, \n", " sigma =1/5.2, \n", " gamma =1/12.39, \n", " mu_I =0.0004,\n", " mu_0 =0, \n", " nu =0, \n", " xi =0,\n", " p =0.5,\n", " Q =G_quarantine, \n", " beta_D =0.155, \n", " sigma_D =1/5.2, \n", " gamma_D =1/12.39, \n", " mu_D =0.0004,\n", " theta_E =0, \n", " theta_I =0, \n", " phi_E =0, \n", " phi_I =0, \n", " psi_E =1.0, \n", " psi_I =1.0,\n", " q =0.5,\n", " initI =numNodes/100, \n", " initE =0, \n", " initD_E =0, \n", " initD_I =0, \n", " initR =0, \n", " initF =0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checkpoints\n", "Model parameters can be easily changed during a simulation run using checkpoints. A dictionary holds a list of checkpoint times (```checkpoints['t']```) and lists of new values to assign to various model parameters at each checkpoint time. Any model parameter listed in the model constrcutor can be updated in this way. Only model parameters that are included in the checkpoints dictionary have their values updated at the checkpoint times, all other parameters keep their pre-existing values.\n", "\n", "*The checkpoints shown here correspond to starting social distancing and testing at time ```t=20``` (the graph ```G``` is updated to ```G_distancing``` and locality parameter ```p``` is decreased to ```0.1```; testing params ```theta_E```, ```theta_I```, ```phi```, and ```phi_I``` are set to non-zero values) and then stopping social distancing at time ```t=100``` (```G``` and ```p``` changed back to their \"normal\" values; testing params remain non-zero).*" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "checkpoints = {'t': [20, 100], \n", " 'G': [G_distancing, G_normal], \n", " 'p': [0.1, 0.5], \n", " 'theta_E': [0.02, 0.02], \n", " 'theta_I': [0.02, 0.02], \n", " 'phi_E': [0.2, 0.2], \n", " 'phi_I': [0.2, 0.2]}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running the simulation" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 0.00\n", "t = 10.01\n", "[Checkpoint: Updating parameters]\n", "t = 20.01\n", "t = 30.01\n", "t = 40.02\n", "t = 50.04\n", "t = 60.01\n", "t = 70.06\n", "t = 80.05\n", "t = 90.04\n", "[Checkpoint: Updating parameters]\n", "t = 100.00\n", "t = 110.03\n", "t = 120.01\n", "t = 130.05\n", "t = 140.03\n", "t = 150.00\n", "t = 160.03\n", "t = 170.00\n", "t = 180.05\n", "t = 190.01\n", "t = 200.00\n", "t = 210.07\n", "t = 220.01\n", "t = 230.00\n", "t = 240.04\n", "t = 250.04\n", "t = 260.01\n", "t = 270.01\n", "t = 280.03\n", "t = 290.02\n", "t = 300.01\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.run(T=300, checkpoints=checkpoints)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing the results\n", "The ```SEIRSNetworkModel``` class has a ```plot()``` convenience function for plotting simulation results on a matplotlib axis. This function generates a line plot of the frequency of each model state in the population by default, but there are many optional arguments that can be used to customize the plot.\n", "\n", "The ```SEIRSNetworkModel``` class also has convenience functions for generating a full figure out of model simulation results (optionaly arguments can be provided to customize the plots generated by these functions). \n", "- ```figure_basic()``` calls the ```plot()``` function with default parameters to generate a line plot of the frequency of each state in the population.\n", "- ```figure_infections()``` calls the ```plot()``` function with default parameters to generate a stacked area plot of the frequency of only the infection states ($E$, $I$, $D_E$, $D_I$) in the population.\n", "\n", "For more information on the built-in plotting functions, see the README." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ndEX98BuZ73oMUfl3+yVJURe2q1gF/+EHDsMwVPCPf8n3wykQY/r0VFSbFpJhqOCfH5/0uvEDeqvp\nP5+RJPkKT2hXSv+THuOIi5FRVCKpogvxN1+j8gN5cn8wv9LjEu8dqkZPPRDwa8FPjNIy/w/3ZkQk\nNz7tb5Ejz0tWRPMmKv3ZSrdUcVajyNbJir74AjkcDv/WM6niQ5Gudq2q/G/T8JTLV+BW4xfGmc75\ncwzcIeArKZVn227lXvc7/7HoSy9SbK9ulX6tl1l6SJLYww1JPww9R4+r8L2fhp24X12h5Jkv2JjK\nnHN9D3fphm2V/nsPJUdcjCKaNFT5nv2St/LnBuL6XylX25ZytWqmuncMrFj9LC9X6botOjZljk7M\nW37K14y5sutJK3jST8NW8r9eVdzVPar8Dd3PJf5+hBpNuLd6X9wpGIahQ3c9KffH/3vSfZGtmylh\n4LW2Xp/Am5fvH9AS775NzroJ8ny3X5KhyOTGKt22S8WLvpBckZKn3P88R3SU6t41uMbvjS7ff1iF\ns/8tlXtPuq/54ne071d3KTnjVfncRXJ/skxNJj9e6TMoRnm5cpL7SJJSDq2UUVLm/41NcuYk7U8b\nW/WbRzgV1/9KOeNi5GrdQr7iUhV9+oWM0jJ58wvkjItR7LWXyHfcraKFVf+Gpc6ogYpManDK+7zH\nCuUrcCuyeRP/NoGynL0qXb9NviPH5TtW4H9s7NU91OjZB3XoD8+pdN2Wyi/kilTCrdcrsnmSjOLS\nShepKz+Yp8LplT+k22rDv+RqluT/QbLxiw/JEeXS8akZyhv/mlxtW8qzc6/i+l6mpjOfP+lzPSXr\nvtWJBSsVe1V3Hbzzr2r8xngl3FR7PuD6S/uHPayipV+ddDzq4vaKvvgCGaVlMkrK5IiNrvQ5LMMw\nZBSXqvz7Qzoxd6mcjeor9tpL/D+UFWYuUXlOruJu7KXojqe+QrL3yDH5ikvkanH6UwAzcNs8cJ/q\nJ/W4vpcqulvHkx6731sqSUqOqNl/AcNahR8tVvnuff7b8Tf3VpN3n64xK2CnsndvxT64li1b2pwk\nvEo3bJPr/PPkjPvpcxdGmUc5za/133Y2SJTvaMWVNx2x0TKKSyu9hrNuguJ/3UeFH/z0DTm6W8eK\nFfJduYps0VQxXVPlTIiXr7hUEY3q/bQ6aBgqXvFNlSuqURe2q7QCeyqu1NaK73flKbcanFi8SmUb\n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\nn3Mpd86Wnp7+u187aJc9JSUlUV1dDUBtbS0TJ07s/V5FRQVLly6lvb0dl8uFZVmcP6+PqkVERETE\n+QZthTs1NZUvv/ySjIwMjDGsX78egB9//JGWlhYmTZqEbds0NjaydOlSVq5cOVihiYiIiIgMmEFr\nuF0uF6+//vplj48ZM4bi4uLe55SXX/3IzItbS8SZlD9nU/6cS7lzNuXPuZQ7Z7uW/A3aRZMiIiIi\nIjcija4QERERERlAarhFRERERAaQI29gbds2RUVFHDt2jKioKEpLS7nrLo28C3fz58/vnSI6ZswY\nfD4fZWVluN1uvF4vL774YogjlL6+/fbb3vvlNzQ0kJeXh2VZTJgwgXXr1uFyudi8eTN79+4lIiKC\ngoICpk6dGuqw5YJL81dfX8+yZctISEgAIDMzk9mzZyt/Yairq4uCggJOnjxJZ2cnzz33HHfffbfq\nzwH6y90dd9yh2nOIYDDIa6+9xvfff49lWRQXFzNs2LDrU3vGgXbv3m1yc3ONMcYcOnTILF++PMQR\nyZW0t7ebefPm/eqxuXPnmoaGBmPbtnn22WfNkSNHQhSd9KeiosI8+eST5umnnzbGGLNs2TKzf/9+\nY4wxhYWF5tNPPzV1dXUmOzvb2LZtTp48adLT00MZslyib/7ef/99U1lZ+avnKH/hqaqqypSWlhpj\njGlqajIpKSmqP4foL3eqPefYs2ePycvLM8YYs3//frN8+fLrVnuO3FLS35h4CW9Hjx6lra2NxYsX\ns2jRIr755hs6OzuJj4/Hsiy8Xi/79u0LdZhyifj4eN55553er48cOcKDDz4IwCOPPMK+ffs4ePAg\nXq8Xy7IYPXo0wWCQs2fPhipkuUTf/NXV1bF3716ysrIoKCjA7/crf2Hq8ccfJycnBwBjDG63W/Xn\nEP3lTrXnHDNnzqSkpASAU6dOMWLEiOtWe45suP1+f+/WBAC32013d3cII5IrGT58OEuWLKGyspLi\n4mLy8/N/Nd42NjaW1tbWEEYofc2aNYuIiF92nRljsCwL+CVffWtReQwfffM3depUVq9ezfbt2xk7\ndizl5eXKX5iKjY3F4/Hg9/tZsWIFK1euVP05RH+5U+05S0REBLm5uZSUlDBnzpzrVnuObLj7GxN/\n6S8WCT/jxo1j7ty5WJbFuHHjiIuLo7m5uff7gUCAESNGhDBCuRKX65cfFxfz1bcWA4EAcXFxoQhP\nriA1NZUpU6b0/r++vl75C2ONjY0sWrSIefPmMWfOHNWfg/TNnWrPed544w12795NYWEhHR0dvY9f\nS+05suH+rTHxEp6qqqrYsGEDAKdPn6atrY2YmBhOnDiBMYaamhqSk5NDHKX8lnvvvZevv/4agOrq\napKTk0lKSqKmpgbbtjl16hS2bTNy5MgQRyr9WbJkCYcPHwbgq6++YvLkycpfmPr5559ZvHgxr776\nKgsWLABUf07RX+5Ue87x0Ucf8e677wIQHR2NZVlMmTLlutSeI5eF/92YeAlfCxYsID8/n8zMTCzL\nYv369bhcLlatWkUwGMTr9TJt2rRQhym/ITc3l8LCQjZt2kRiYiKzZs3C7XaTnJyMz+fDtm3Wrl0b\n6jDl3ygqKqKkpITIyEhGjRpFSUkJHo9H+QtDW7dupaWlhS1btrBlyxYA1qxZQ2lpqeovzPWXu7y8\nPNavX6/ac4C0tDTy8/PJysqiu7ubgoICxo8ff11+92nSpIiIiIjIAHLklhIREREREadQwy0iIiIi\nMoDUcIuIiIiIDCA13CIiIiIiA0gNt4iIiIjIAFLDLSIyBHV0dDBjxoxQhyEiIqjhFhEREREZUI4c\nfCMiIpcLBAKsWrWKlpYW4uPjAThw4ACbN2/GGEMgEGDjxo0cOHCA48ePk5ubSzAY5KmnnqKqqoqc\nnBz8fj9tbW289NJLeL3eEB+RiMjQoBVuEZEhYseOHUycOJHt27eTkZEBwHfffcebb77Jtm3bSEtL\n45NPPuGJJ57g888/JxgM8sUXX/DQQw9x4sQJmpub2bp1K5s2bSIYDIb4aEREhg6tcIuIDBHHjx8n\nJSUFgGnTphEREcFtt91GWVkZMTExnD59mqSkJDweDw888AA1NTXs2rWL559/ngkTJuDz+Xj55Zfp\n7u4mOzs7xEcjIjJ0qOEWERkixo8fT21tLTNnzqS+vp7u7m4KCwvZs2cPHo+H3NxcjDEALFy4kPfe\ne4+mpiYmTZrEsWPHCAQCVFRUcObMGTIyMnjsscdCfEQiIkODGm4RkSEiMzOT1atXk5mZSWJiIpGR\nkaSmppKVlUV0dDSjRo3izJkzQM8KeENDA1lZWQAkJCRQXl7Oxx9/jG3brFixIpSHIiIypFjm4nKH\niIjcMGzbJjMzk8rKSjweT6jDEREZ0nTRpIjIDeaHH35g/vz5zJ49W822iMgg0Aq3iIiIiMgA0gq3\niIiIiMgAUsMtIiIiIjKA1HCLiIiIiAwgNdwiIiIiIgNIDbeIiIiIyAD6fy0hhGA+5krtAAAAAElF\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Reference simulation visualizations\n", "\n", "We can also visualize the results of other simulation(s) as a reference for comparison of our main simulation.\n", "\n", "Here we simulate a model where no distancing or testing takes place, so that we can compare the effects of these interventions:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 0.02\n", "t = 10.00\n", "t = 20.04\n", "t = 30.01\n", "t = 40.01\n", "t = 50.00\n", "t = 60.00\n", "t = 70.00\n", "t = 80.00\n", "t = 90.01\n", "t = 100.00\n", "t = 110.00\n", "t = 120.00\n", "t = 130.01\n", "t = 140.01\n", "t = 150.01\n", "t = 160.01\n", "t = 170.00\n", "t = 180.00\n", "t = 190.00\n", "t = 200.09\n", "t = 210.20\n", "t = 220.23\n", "t = 230.43\n", "t = 240.30\n", "t = 250.18\n", "t = 260.34\n", "t = 280.54\n", "t = 300.59\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model = SEIRSNetworkModel(G=G_normal, beta=0.155, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, p=0.5,\n", " Q=G_quarantine, beta_D=0.155, sigma_D=1/5.2, gamma_D=1/12.39, mu_D=0.0004,\n", " theta_E=0, theta_I=0, phi_E=0, phi_I=0, psi_E=1.0, psi_I=1.0, q=0.5,\n", " initI=numNodes/100)\n", "ref_model.run(T=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can visualize our main simulation together with this reference simulation by passing the model object of the reference simulation to the appropriate figure function argument (note: a second reference simulation could also be visualized by passing it to the ```dashed_reference_results``` argument):" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ncccdiYiUFD755BNJ0vjx4w0nAWLDWAYAIHoJmeEeOXKkHnvsscj9Tz75ROvXr9d1112nu+66S/X1\n9XK73WpublZTU5PcbrdKSko0evRoDRgwIBGRksKHH36oDz/80HQMIGaMZQAAomeFQqFQIt549+7d\nuv3227Vs2TL9/e9/17hx4zR+/Hg9+eSTqqur089//nM9/vjjKisr080336xHH31Ud955p5555hkV\nFBRo/vz5ysjo/HmgqKhIRUVFkqSamhq99dZbiYifEH6/X5LkdDoNJwFiw1gGACB6thTcdXV1ys/P\nlySVlpbq/vvv1/PPPx/52ZUrVyoYDKq0tFTTpk3T+++/rxNPPFFTpkw56jUKCwtVXFyciPgAAABA\nXNiyD/e8efP08ccfS2o7EvqUU06JPNfc3Ky1a9fqiiuuUGNjoxwOhyzLUkNDgx3RbPXxxx9H/jsA\nqYyxDABA9GzZFvDee+/V/fffL6fTqQEDBuj++++PPPf8889r7ty5sixLV199te6++255PB49/vjj\ndkSz1ZYtWyRJp556quEkQGwYywAARC9hLSV2SLWWkkAgIElyOByGkwCxYSwDABA9Dr6xEcUJ0gVj\nGQCA6NnSw402W7du1datW03HAGLGWAYAIHoU3DaiSEG6YCwDABA9ergBAACABGKGGwAAAEggCm4b\nlZSUqKSkxHQMIGaMZQAAokfBbaNt27Zp27ZtpmMAMWMsAwAQPXq4AQAAgARihhsAAABIIApuG33w\nwQf64IMPTMcAYsZYBgAgehTcNtqxY4d27NhhOgYQM8YyAADRo4cbAAAASCBmuAEAAIAEouC20Xvv\nvaf33nvPdAwgZoxlAACiR8Ftoy+++EJffPGF6RhAzBjLAABEjx5uAAAAIIGY4QYAAAASiILbRps2\nbdKmTZtMxwBixlgGACB6maYD9CW7d+82HQGIC8YyAADRo4cbAAAASCBaSgAAAIAEouC20caNG7Vx\n40bTMYCYMZYBAIgePdw22rdvn+kIQFwwlgEAiB493AAAAEAC0VICAAAAJBAFt402bNigDRs2mI4B\nxIyxDABA9OjhtlF1dbXpCEBcMJYBAIgeBbeNCgsLTUcA4oKxDABA9GgpAQAAABKIgttGb731lt56\n6y3TMYCYMZYBAIgeLSU2qqurMx0BiAvGMgAA0aPgttGVV15pOgIQF4xlAACiR0sJAAAAkEAU3DZ6\n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\nvtx0DMSoqqrKdATjXn/9db3++uumY8RFfn5+5HaqLwQFACSnbgvukSNHqry8XFLb4TdDhgzp9k0X\nLlyoX//615HT6B544AHNnz9fL730kkKhkNatW6ft27dr2LBheuaZZ/Tiiy9Kkp544gn96Ec/iuXX\nk9TOOeccnXPOOaZjIEbhxXbtC7W+ZtKkSZo0aZLpGHFhWVZk9yV2LAEAJEK3PdwfffSRLrnkEg0d\nOlT79u2Ty+WKFI0bN2484mtGjhypxx57TD/72c8kSdu2bdPXvvY1SdJ5552nd955R9dff72am5vV\n1NQkt9utkpISjR49WgMGDDhqnqKiIhUVFUmSampqov+VJoF02Lu4r/P5fAoGg7Isq8/tTNLe6NGj\nTUeIq8zMzMgEAQAA8dZtwf3mm2/2+E0vuugi7d69O3I/FApFipPc3Fx5vV6NGTNGgwYN0kMPPaSb\nb75Zjz76qO68807dc889Kigo0Pz58494VPasWbM0a9YsSVJhYWGPs5lUW1srqe/2/aaDcDtJX+/1\n9Xq9ktoWVaeD8MJXn8/X7Yd+AAB6qtuWkrhcpF3h7PP5Il/F33LLLfrDH/6gTz/9VFOnTtWyZcs0\nY8YMFRQU6N1337Ujmq1efvllvfzyy6ZjoBdCoZB27twZuZ8uhWZv/eMf/9A//vEP0zHipv23FcFg\n0GASAEA6sqXgPvnkk7V582ZJ0ttvv92h97O5uVlr167VFVdcocbGRjkcDlmWlZa9lOedd57OO+88\n0zHQC7t27YrcdrlcR/z2pS/52te+FmkTSzf79u3r899gAADiq8uq4Ze//KUkaenSpTFf5Oc//7ke\ne+wxzZo1S36/XxdddFHkueeff15z586VZVm6+uqrdc899+if//ynpkyZEvN1k83YsWPTZv/iviR8\nomRYdna2oSTJY+TIkRo5cqTpGHGVmdnWYef3+yMLxQEAiAcr1MVUzsUXX6xvfOMb+sc//qHLLrus\nw3O33367LeG6U1hYqOLiYtMxohZe5NmvXz/DSdAT7VtJ6L9vk47rEUKhkOrq6iL3R40aZTANACCd\ndDnD/fTTT2vcuHHKysrSmDFjOvwPvbNixQqtWLHCdAz0QCAQiNwObx0H6Y033tAbb7xhOkZcWZYl\nj8cTuU1bCQAgXrrcpWTEiBEaMWKEzjzzTNXX16u0tFSjR4/WSSedZGe+tPKNb3zDdAREobW1VQcP\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, shaded_reference_results=ref_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As further demonstration, we might also wish to compare the results of these network model simulations to a deterministic model simulation of the same SEIRS parameters (with no interventions in this case):" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 299.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model_determ = SEIRSModel(beta=0.147, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, initI=100, initN=10000) \n", "ref_model_determ.run(T=300)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nK/ITCgn6OoaO0IFTDUThhSC+ELTv1Rq/9/b9NwKe6+HhDQpo9/6/J73CdhI5+CYCSGfSI34Pjntw\nw77258RLOXiUmn6maWIIY1B6UL/+wB0obF/4/sRe+fnKpUgf3TE7YgH3W2+9xRlnnAHAiSeeyPr1\n61mwYAGO4+B5HoZh8Pjjj/N3fzfyTEN7q4zYZBonQd1ChEzlRzAbxz5oLAPg+MkHPzGBph1N+ljW\nNE07+gT7zOk8QhuIGOb/gxbuR6Pw3p1Jh9vx3kF34d9i77F36/7ei/tuAgxhDMmb79+uP0BWKAxF\n0YAbKfD6bjIG7mvEoNcBhFKDiqdQSMB2QCgXYeXngz4QRyyH+7vf/S6rVq3izDPPBOCss87ib//2\nb3nooYdYsWIFtm0zdepUNm/eTEtLC1/96leZPXv2kP08+uijPPpofhbED7dsoq46hAiOr86R2thk\nM1mCodGmYNfGK11/E5euu4lN19/EpetuYjOE4vHfDp0rZCyOWAt3NBollUoV/pZSsnz5cpYvX04i\nkeD222/n4x//OC+88AI33HAD99xzDz/60Y+G7GfNmjWsWbMGgNWrV/PEE08MWUebGHT9TWy6/iYu\nXXcTm66/iUvX3cS2evXqA972iCU9L1u2jBdeyM869u677zJ//vzCaw888ABXX3012Ww2nwAvBOn0\nyPk+mqZpmqZpmjYRHLEW7pUrV/LSSy9xySWXoJTi3nvvBaCxsZHe3l4WLlyIlJKWlhauvvpqvvnN\nbx6pommapmmapmnaYXPEAm7DMPj+978/ZPm0adO48847C+vcf//YxzfsTy3RJiZdfxObrr+JS9fd\nxKbrb+LSdTexHUz9TeiJbzRN0zRN0zRtvBvfA1drmqZpmqZp2gSnA25N0zRN0zRNO4yOWA73oVRs\nmviZM2ce7WJpo7j44osLs4hOmzaNNWvWcM8992CaJitWrOAb3/jGUS6htq/33nuvMF5+fX09N998\nM0II5s2bx+23345hGNx33308//zzWJbFrbfeytKlS492sbU+e9ffxo0bueaaa6irqwNg7dq1nHfe\nebr+xiHHcbj11ltpamrCtm2+9rWvMXfuXH3+TQDF6q62tlafexOE53l873vfY+fOnQghuPPOOwkE\nAofm3FMT0NNPP63WrVunlFLqnXfeUddee+1RLpE2mmw2qy666KJByy688EJVX1+vpJTqqquuUhs2\n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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, \n", " shaded_reference_results=ref_model, shaded_reference_label='network: no interventions',\n", " dashed_reference_results=ref_model_determ, dashed_reference_label='deterministic: no interventions')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.4" } }, "nbformat": 4, "nbformat_minor": 2 } seirsplus-1.1.0/examples/.ipynb_checkpoints/deterministic_model_demo-checkpoint.ipynb000066400000000000000000003062061375244156600314140ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SEIRS+ Deterministic Model Demo\n", "\n", "**This notebook provides a demonstration of the core functionality of the SEIRS+ Graph Model and offers a sandbox for easily changing simulation parameters and scenarios.** \n", "For a more thorough walkthrough of the model and use of this package, refer to the README." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and Importing the model code\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```sudo pip install seirsplus```\n", "\n", "Then, the ```models``` module can be imported into your scripts as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "import networkx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. In this case, the easiest way to use the module is to place your scripts in the same directory as the module, and import the module as shown here:*\n", "```python\n", "from models import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initializing the model parameters\n", "All model parameter values are set in the call to the ```SEIRSModel``` constructor. The basic SEIR parameters ```beta```, ```sigma```, ```gamma```, and ```initN``` are the only required arguments. All other arguments represent parameters for optional extended model dynamics; these optional parameters take default values that turn off their corresponding dynamics when not provided in the constructor. For clarity and ease of customization in this notebook, all available model parameters are listed below. \n", "\n", "For more information on parameter meanings, see the README.\n", "\n", "*The parameter values shown correspond to rough estimates of parameter values for the COVID-19 epidemic.*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "model = SEIRSModel(initN =1000000,\n", " beta =0.147, \n", " sigma =1/5.2, \n", " gamma =1/12.39, \n", " mu_I =0.0004,\n", " mu_0 =0, \n", " nu =0, \n", " xi =0,\n", " beta_D =0.147, \n", " sigma_D =1/5.2, \n", " gamma_D =1/12.39, \n", " mu_D =0.0004,\n", " theta_E =0, \n", " theta_I =0, \n", " psi_E =1.0, \n", " psi_I =1.0,\n", " initI =10000, \n", " initE =0, \n", " initD_E =0, \n", " initD_I =0, \n", " initR =0, \n", " initF =0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checkpoints\n", "Model parameters can be easily changed during a simulation run using checkpoints. A dictionary holds a list of checkpoint times (```checkpoints['t']```) and lists of new values to assign to various model parameters at each checkpoint time. Any model parameter listed in the model constrcutor can be updated in this way. Only model parameters that are included in the checkpoints dictionary have their values updated at the checkpoint times, all other parameters keep their pre-existing values.\n", "\n", "*The checkpoints shown here correspond to starting social distancing (transmission rate ```beta``` reduced) and testing at time ```t=20``` (testing rates ```theta_E``` and ```theta_I``` are set to non-zero values) and then stopping social distancing at time ```t=100``` (```beta``` returned to its \"normal\" value; testing params remain non-zero).*" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "checkpoints = {'t': [50, 100], \n", " 'beta': [0.12, 0.147], \n", " 'theta_E': [0.02, 0.02], \n", " 'theta_I': [0.02, 0.02]\n", " }" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running the simulation" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[Checkpoint: Updating parameters]\n", "t = 49.90\n", "[Checkpoint: Updating parameters]\n", "t = 99.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.run(T=300, checkpoints=checkpoints)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing the results\n", "The ```SEIRSNetworkModel``` class has a ```plot()``` convenience function for plotting simulation results on a matplotlib axis. This function generates a line plot of the frequency of each model state in the population by default, but there are many optional arguments that can be used to customize the plot.\n", "\n", "The ```SEIRSNetworkModel``` class also has convenience functions for generating a full figure out of model simulation results (optionaly arguments can be provided to customize the plots generated by these functions). \n", "- ```figure_basic()``` calls the ```plot()``` function with default parameters to generate a line plot of the frequency of each state in the population.\n", "- ```figure_infections()``` calls the ```plot()``` function with default parameters to generate a stacked area plot of the frequency of only the infection states ($E$, $I$, $D_E$, $D_I$) in the population.\n", "\n", "For more information on the built-in plotting functions, see the README." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtwAAAHhCAYAAABdpWmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmYnVWZ7/3vqqpdcyWEJBCmkIRACIQwJEiYwQAioAyi\nAoqgKH16sLXtVltb2+Ps6dfZc1rECUEUQwQjg2kGCRAZJCggiIQQMs9zKklV7dp7vX9Ugagkedi7\ndq0avp/rqit7fPavvBO5a9X9rCfEGJEkSZJUGVWpA0iSJEkDmQ23JEmSVEE23JIkSVIF2XBLkiRJ\nFWTDLUmSJFWQDbckSZJUQRVpuEMIuRDCDSGEB0MIvw0hvDmEMD6EMLf7sW+HEKq6v34RQng0hHBm\n93vHhRC+UYlckiRJUm+r1Ar3O4H1McaTgbOB/wt8FfhE92MBOB84CljU/Zp/6n7vJ4AvVCiXJEmS\n1Ksq1XDfDHyy+3YAOoEpwP3dj/0KOANoBRq6v7aFEE4Eno8xrq5QLkmSJKlX1VTioDHGVoAQQgsw\nk65V6y/HP1/WciswNMY4P4SwDPgy8Bngs8BHQwjfBjbStSJefOWxQwhXA1cDHHbYYVOeeeaZSnwL\nqrA77rgDgHPPPTdxEpXC+kmSBqFQ6hsrdtJkCOEA4D7ghhjjT4BXNs4twCaAGONnY4yXAccAs4D3\nAd8HNgDT//q4McZrY4xTY4xTGxoaKhVfFZbL5cjlcqljqETWT5Kk7Cqywh1C2Bu4C/inGOO93Q//\nPoRwWoxxDvBGuprxl15fD7wFuBj4OlAAItBciXxK76yzzkodQWWwfpIkZVeRhhv4ODAM+GQI4aVZ\n7g8A3wwh1ALP0jVq8pIPAt+MMcYQwg+B7wBbgAsqlE+SJEnqFeHPY9X9z9SpU+O8efNSx1AJbrvt\nNgDe9KY3JU6iUlg/SdIgVPIMd6VWuKVdcv6+f7N+kiRl5wq3JEmStHt9b5cSSZIkSTbcSmTWrFnM\nmjUrdQyVyPpJkpSdM9xKYsiQIakjqAzWT5Kk7JzhliRJ0oBz1VVX8fWvf52WlpaeOqS7lEiSJKn/\nWP+l79G5bHXJ76/Zf2+G//t7d/r81q1be7LZLosNt5K45ZZbALjooosSJ1EprJ8kqVydy1aTG71P\nye/PL1m50+daW1tpamoq+dg9zYZbSQwfPjx1BJXB+kmS+rKFCxcybty41DFeZsOtJE499dTUEVQG\n6ydJ6ssWLFjQpxputwWUJEnSgLJgwQIOOuig1DFe5gq3kpg5cyYAF198ceIkKoX1kySVq2b/vXc5\nh53l/TuzcOFC3v3ud5d87J5mw60kRo0alTqCymD9JEnl2tUOI+W65pprKnbsUrgPtyRJkrR7Je/D\n7Qy3JEmSVEE23EpixowZzJgxI3UMlcj6SZKUnTPcSmL//fdPHUFlsH6SJGXnDLckSZK0e85wS5Ik\nSX2RIyVK4qc//SkAl156aeIkKoX1kyT1dVdddRUdHR3EGNlrr7349Kc/TUtLS5IsNtxKYuzYsakj\nqAzWT5LU123duvXlE/xnzJjBNddcw4c//OEkWWy4lcS0adNSR1AZrJ8kqVwLfraatnUdJb+/fkQt\n49/+6lebbG1tpamp6eX706dP50Mf+lDJn1UuG25JkiT1urZ1HTSMrC35/TvW7rxZX7hwIePGjXv5\n/tatW6mrqyv5s8rlSZNK4sYbb+TGG29MHUMlsn6SpL5swYIFf9FwP/744xxzzDF/8ZqNGzfy4x//\n+OU/K8kVbiVxyCGHpI6gMlg/SVJftmDBAk4++WSga7X7xz/+Md///vfZtGkTv/rVr3jiiSc477zz\nmDRpEk8//TSTJk2qaB4bbiVx7LHHpo6gMlg/SVJftnDhQn77299SU1PDkCFD+NKXvsSee+7JY489\nRi6Xo6Ojg2effZYrrriCH/3oR1xxxRUVzWPDLUmSpF5XP6J2l3PYWd6/M9dcc82rPv7oo49y0EEH\nUV9fT3t7O3V1dS//WUleaVJJXH/99QC8613vSpxEpbB+kqRBqOQrTbrCrSQOP/zw1BFUBusnSVJ2\nNtxKYsqUKakjqAzWT5Kk7NwWUJIkSaogG24lcd1113HdddeljqESWT9JkrJzpERJHHXUUakjqAzW\nT5Kk7Gy4lYQNW/9m/SRJys6REiVRKBQoFAqpY6hE1k+SpOxsuJXEDTfcwA033JA6hkpk/SRJys6R\nEiVxzDHHpI6gMlg/SVJfd9VVV9HR0XUly1wux/e//31CKPnaNWWx4VYSkydPTh1BZbB+kqSyPfmf\nsH1J6e9vHA1HfmanT2/evJmZM2eWfvweZMOtJPL5PND1E6f6H+snSSrb9iXQNKb0929btNOnWltb\nqa+vL/3YPcwZbiVx4403cuONN6aOoRJZP0lSX7Zw4UIWLVrE5ZdfzuWXX86cOXOS5nGFW0lMnTo1\ndQSVwfpJkvqyBQsW8N73vpcrr7wydRTAhluJTJo0KXUElcH6SZL6sgULFnDSSSeljvEyG24l0dbW\nBtCn5quUnfWTJPVlCxcu5Le//S3f/va3Afjud7+b9L9ZNtxK4qabbgLoM7/q0Wtj/SRJZWscvcsT\nHzO9fyeuueaa0o9bATbcSuK4445LHUFlsH6SpLLtYku/gcaGW0lMnDgxdQSVwfpJkpSd2wIqie3b\nt7N9+/bUMVQi6ydJUnYVa7hDCMeFEOZ03z4qhPBICGFuCOEHIYSq7se/0/34u7rvDw0h/LhSmdR3\nzJgxgxkzZqSOoRJZP0mSsqvISEkI4SPA5cC27oc+BXwmxnhnCOFG4NwQwkPA3sAJwK+B64GPAV+q\nRCb1Lccff3zqCCqD9ZMkKbtKzXC/AFwE3NB9//fAniGEALQAeaCt+/NrgbYQwjigKcb49K4OHEK4\nGrgaYPTonZ+dqr5twoQJqSOoDNZPkqTsKjJSEmP8OV1N9UueB74JPEvXqvacGOM24Da6VrY/DfwH\n8I0QwjdDCF8LITTt5NjXxhinxhinjhw5shLx1QtaW1tpbW1NHUMlsn6SJGXXWydNfgM4OcZ4KF0N\n9lcAYozfiTG+DQjAQmA68ADwG+CyXsqmBGbOnMnMmTNTx1CJrJ8kSdn11raAG4At3bdXACf+1fMf\nomvm+38Ba+j6QaC5l7Ipgb50uVW9dtZPkqTseqvhfi9wUwihE+gA3vfSEyGES4DbYow7Qgg3Az8D\nisAlvZRNCYwfPz51BJXB+kmSlF2IMabOULKpU6fGefPmpY6hEmzevBmAoUOHJk6iUlg/SdIgFEp9\noxe+URK33nort956a+oYKpH1kyQpOy/triROOeWU1BFUBusnSVJ2NtxKYty4cakjqAzWT5Kk7Bwp\nURIbN25k48aNqWOoRNZPkqTsbLiVxKxZs5g1a1bqGCqR9ZMkKTtHSpTEaaedljqCymD9JEnKzoZb\nSYwZMyZ1BJXB+kmSlJ0jJUpi3bp1rFu3LnUMlcj6SZKUnQ23krj99tu5/fbbU8dQiayfJEnZOVKi\nJKZPn546gspg/SRJys6GW0kccMABqSOoDNZPkqTsHClREmvWrGHNmjWpY6hE1k+SpOxsuJXEnXfe\nyZ133pk6hkpk/SRJys6REiVx5plnpo6gMlg/SZKys+FWEvvtt1/qCCqD9ZMkKTtHSpTEqlWrWLVq\nVeoYKpH1kyQpOxtuJTF79mxmz56dOoZKZP0kScrOkRIlcfbZZ6eOoDJYP0mSsrPhVhKjRo1KHUFl\nsH6SJGXnSImSWL58OcuXL08dQyWyfpIkZWfDrSTuvvtu7r777tQxVCLrJ0lSdo6UKIlzzjkndQSV\nwfpJkpSdDbeS2GuvvVJHUBmsnyRJ2TlSoiSWLl3K0qVLU8dQiayfJEnZ2XAriXvvvZd77703dQyV\nyPpJkpSdIyVK4rzzzksdQWWwfpIkZWfDrSRGjBiROoLKYP0kScrOkRIlsWjRIhYtWpQ6hkpk/SRJ\nys6GW0nMmTOHOXPmpI6hElk/SZKyc6RESZx//vmpI6gM1k+SpOxsuJXEsGHDUkdQGayfJEnZOVKi\nJBYuXMjChQtTx1CJrJ8kSdm5wq0kHnjgAQDGjRuXOIlKYf0kScrOhltJXHjhhakjqAzWT5Kk7Gy4\nlcTQoUNTR1AZrJ8kSdk5w60kFixYwIIFC1LHUImsnyRJ2bnCrSTmzp0LwPjx4xMnUSmsnyRJ2YUY\nY+oMJZs6dWqcN29e6hgqQWtrKwDNzc2Jk6gU1k+SNAiFUt/oCreSsFHr36yfJEnZOcOtJJ577jme\ne+651DFUIusnSVJ2rnAriYcffhiACRMmJE6iUlg/SZKyc4ZbSWzfvh2AxsbGxElUCusnSRqEnOFW\n/2Kj1r9ZP0mSsnOGW0k8++yzPPvss6ljqETWT5Kk7FzhVhKPPvooABMnTkycRKWwfpIkZecMt5Jo\na2sDoL6+PnESlcL6SZIGoZJnuCs2UhJCOC6EMKf79tEhhOUhhDndX28PIVSFEH4RQng0hHBm9+vG\nhRC+UalM6jvq6+tt1vox6ydJUnYVGSkJIXwEuBzY1v3QFOCrMcavvOI1xwCLgHcD1wF3A58APlaJ\nTOpbnn76aQAmTZqUOIlKYf0kScquUivcLwAXveL+FODcEMIDIYTvhxBagFagoftrWwjhROD5GOPq\nCmVSHzJv3jwcB+q/rJ8kSdlVbIY7hDAGuCnGOC2E8G7gqRjj4yGE/wCGxRj/LYTwSWAi8Bngs8BH\ngQ8DG4FPxBiLr3Lcq4GrAUaPHj1l8eLFFcmvysrn8wDkcrnESVQK6ydJGoRKnuHurYZ7jxjjpu7H\nDwO+FWOc/orXXkbXavvhwM+B04AnY4x37+ozPGlSkiRJvaTvnTT5V/4nhPC67tvTgcdfeiKEUA+8\nBbgRaAQKQASaeymbEnjqqad46qmnUsdQiayfJEnZ9dY+3H8PfCuEkAdW0T0S0u2DwDdjjDGE8EPg\nO8AW4IJeyqYEfve73wEwefLkxElUCusnSVJ27sOtJAqFAgDV1dWJk6gU1k+SNAiVPFLilSaVhI1a\n/2b9JEnKrrdmuKW/8MQTT/DEE0+kjqESWT9JkrKz4VYSNmz9m/WTJCk7Z7glSZKk3evz2wJKkiRJ\ng5INt5J4/PHHefzxx3f/QvVJ1k+SpOxsuJXEM888wzPPPJM6hkpk/SRJys4ZbkmSJGn3nOGWJEmS\n+iIbbiXx2GOP8dhjj6WOoRJZP0mSsrPhVhLz589n/vz5qWOoRNZPkqTsnOGWJEmSds8ZbkmSJKkv\nsuFWEo888giPPPJI6hgqkfWTJCk7G24l8eKLL/Liiy+mjqESWT9JkrJzhluSJEnaPWe4JUmSpL7I\nhltJPPTQQzz00EOpY6hE1k+SpOxqUgfQ4LRs2bLUEVQG6ydJUnbOcEuSJEm75wy3JEmS1BfZcCuJ\nuXPnMnfu3NQxVCLrJ0lSds5wK4lVq1aljqAyWD9JkrJzhluSJEnaPWe4JUmSpL7IhltJ3H///dx/\n//2pY6hE1k+SpOyc4VYS69evTx1BZbB+kiRl5wy3JEmStHvOcEuSJEl9kQ23krjvvvu47777UsdQ\niayfJEnZOcOtJLZs2ZI6gspg/SRJys4ZbkmSJGn3nOGWJEmS+iIbbiVxzz33cM8996SOoRJZP0mS\nsnOGW0ns2LEjdQSVwfpJkpSdM9ySJEnS7jnDLUmSJPVFNtxK4q677uKuu+5KHUMlsn6SJGXnDLeS\nyOfzqSOoDNZPkqTsnOGWJEmSds8ZbkmSJKkvsuFWErNnz2b27NmpY6hE1k+SpOxsuCVJkqQKcoZb\nkiRJ2j1nuCVJkqS+yIZbSdxxxx3ccccdqWOoRNZPkqTsKtZwhxCOCyHM6b59VAjhwRDCnBDC/4QQ\n9u5+/DshhEdCCO/qvj80hPDjSmVS35HL5cjlcqljqETWT5Kk7Coywx1C+AhwObAtxjgthHA/8IEY\n4xMhhL8DJgCfB74PXAT8OsZ4WgjhS8CPY4xPZ/kcZ7glSZLUS/rcDPcLdDXSL7kkxvhE9+0aoK37\nqwaoBdpCCOOApqzNtiRJktQfVKThjjH+HMi/4v5KgBDCCcA/AV+LMW4DbgOuBz4N/AfwjRDCN0MI\nXwshNL3asUMIV4cQ5oUQ5q1du7YS8dULbrvtNm677bbUMVQi6ydJUna9dtJkCOHtwDXAuTHGtQAx\nxu/EGN9G1xL9QmA68ADwG+CyVztOjPHaGOPUGOPUkSNH9k549biGhgYaGhpSx1CJrJ8kSdnV9MaH\nhBDeCfwdcFqMccOrvORDdM18/y9gDV0/CDT3RjalccYZZ6SOoDJYP0mSsqt4wx1CqAa+CSwBbgkh\nANwfY/xU9/OXALfFGHeEEG4GfgYUgUsqnU2SJEmqtIo13DHGRcC07rt77uJ1N73i9jLgxEplUt8x\na9YsAM4///zESVQK6ydJUna9MlIi/bUhQ4akjqAyWD9JkrKryD7cvcV9uCVJktRL+tw+3JIkSZKw\n4VYit9xyC7fcckvqGCqR9ZMkKbtMM9whhL2A+pfuxxiXVCyRBoXhw4enjqAyWD9JkrLb7Qx3COG/\ngXOAFXTNrsQY4wm9kG23nOGWJElSLyl5hjvLCvfrgHExxmKpHyJJkiQNVllmuBfwinESqSfMnDmT\nmTNnpo6hElk/SZKyy7LCPRpYHEJY0H2/z4yUqP8aNWpU6ggqg/WTJCm7LDPcB/71YzHGxRVL9Bo4\nwy1JkqReUtF9uAvAl4E7ga+X82GSJEnSYJOl4f4ucANwIvAj4PsVTaRBYcaMGcyYMSN1DJXI+kmS\nlF2WGe76GOMvu2//IoTwoUoG0uCw//77p46gMlg/SZKyy9Jw14QQjogx/iGEcASw66FvKYMTTvC8\n2/7M+kmSlF2WhvufgR+EEPYFlgNXVzaSJEmSNHDstuGOMf4eOLYXsmgQ+elPfwrApZdemjiJSmH9\nJEnKbqcNdwhhZozx4hDCSv48RvLSpd337ZV0GrDGjh2bOoLKYP0kScouyz7cB8QYl77i/qExxj9V\nPFkG7sMtSZKkXlLy1ti7WuGeBOwH/J8Qwoe7P6QK+BJwVKkfKEmSJA0mu5rhHgZcAuwNXNb9WBH4\n70qH0sB34403AvCOd7wjcRKVwvpJkpTdThvuGOODwIMhhGNijL/rxUwaBA455JDUEVQG6ydJUnZZ\ntgXcP4TwRSBH11jJiBjjEZWNpYHu2GPd+KY/s36SJGWX5dLunwP+N7CUrku7P1nJQJIkSdJAkqXh\nXhljfBggxngd4DWdVbbrr7+e66+/PnUMlcj6SZKUXZaRkvYQwilALoTwBmBEhTNpEDj88MNTR1AZ\nrJ8kSdll2Yd7P+BQYCXwWeDmGONNvZBtt9yHW5IkSb2kIvtwv3IbgpcufPOxUj9IkiRJGox2NVLy\nnZ08HoHXVyCLBpHrrrsOgCuvvDJpDpXG+kmSlN2u9uE+vTeDaHA56igvVtqfWT9JkrLb7UmTIYQX\n6VrVfsnmGOPRlYukwcCGrX+zfpIkZZdll5JDu/8MwBTgrZWLo8GiUCgAUF1dnTiJSmH9JEnKbrf7\ncMcY27u/2mKMvwGO6YVcGuBuuOEGbrjhhtQxVCLrJ0lSdllGSr7In0dK9gWKFU2kQeGYY/y5rT+z\nfpIkZZdlpORPr7j9JDC7Qlk0iEyePDl1BJXB+kmSlF2WS7vfDOwJTANGAtsrmkiDQj6fJ5/Pp46h\nElk/SZKyy9Jw/wTYm66V7dHADyuaSIPCjTfeyI033pg6hkpk/SRJyi7LSMnwGOO/d9+eFUJ4sJKB\nNDhMnTo1dQSVwfpJkpRdlob7mRDCiTHG34QQjgAWhxByQIgxdlQ4nwaoSZMmpY6gMlg/SZKyy9Jw\nnwy8IYSQB3Ldj82na+eScZUKpoGtra0NgPr6+sRJVArrJ0lSdrttuGOMhwOEEPYC1sUY3RZQZbvp\nppsAuPLKK9MGUUmsnyRJ2WXZh/s04AfAZmBYCOF9Mca7Kx1MA9txxx2XOoLKYP0kScouy0jJ54CT\nYowrQgj7AbcANtwqy8SJE1NHUBmsnyRJ2WXZFrAQY1wBEGNcDrRVNpIGg+3bt7N9u1u691fWT5Kk\n7LI03FtCCO8PIRwZQng/sKHSoTTwzZgxgxkzZqSOoRJZP0mSsssyUvJO4BN0jZY8C7ynook0KBx/\n/PGpI6gM1k+SpOyy7FKyOYTwELAeeDrGuLHysTTQTZgwIXUElcH6SZKU3W5HSkII3wPeDuwA3hVC\n+FrFU2nAa21tpbW1NXUMlcj6SZKUXZYZ7iNijJfEGL8RY3wbkOl3ySGE40IIc7pvjw8hzA0hPBhC\n+HYIoar76xchhEdDCGd2v25cCOEbJX836jdmzpzJzJkzU8dQiayfJEnZZZnhXhBCGBtjfLH74jdL\ndveGEMJHgMuBbd0PfRX4RIxxTgjhGuB8YDGwCHg3cB1dWw1+AvjYa/0m1P+cdNJJqSOoDNZPkqTs\nsjTc04BnQwhLgP2B9hDCSiDGGPfdyXteAC4Cbui+PwW4v/v2r4CzgG8ADd1f20IIJwLPxxhX7ypM\nCOFq4GqA0aNHZ4ivvmj8+PGpI6gM1k+SpOx2O1ISYzwoxlgfYzwkxtgYYxwWY9xnF802McafA/lX\nPBRijLH79lZgaIxxPrAM+DLwGeCDwM+6R06+EEJ41WwxxmtjjFNjjFNHjhyZ8dtUX7N582Y2b96c\nOoZKZP0kScouywx3Tyi+4nYLsAkgxvjZGONlwDHALOB9wPfp2ut7ei9lUwK33nort956a+oYKpH1\nkyQpuywjJT3h9yGE02KMc4A3Ave99EQIoR54C3Ax8HWgAESguZeyKYFTTjkldQSVwfpJkpTdThvu\nEMIPY4zvDiH8XYzxO2V+zr8C3w0h1NJ18ZxXbm/wQeCbMcYYQvgh8B1gC3BBmZ+pPmzcuHGpI6gM\n1k+SpOzCn0er/+qJEJ4FbgfeCvzklc/FGD9e+Wi7N3Xq1Dhv3rzUMVSCjRu7rp80bNiwxElUCusn\nSRqEQqlv3NUM9znAU3Rd8Oa5v/qSyjJr1ixmzZqVOoZKZP0kScpupyMlMcYXgRe7L14zBDiMrm37\nnuilbBrATjvttNQRVAbrJ0lSdllOmrwAeAfwCPDhEMKMGOOXKxtLA92YMWNSR1AZrJ8kSdllabgv\nA06KMXaGEHLAQ3TtnS2VbN26dQCMGDEicRKVwvpJkpRdln24Q4yxEyDGmOcvL2gjleT222/n9ttv\nTx1DJbJ+kiRll2WFe24IYSbwIHAS8JvKRtJgMH261zXqz6yfJEnZ7XRbwL94UQjnAhOBZ2OMd1Q8\nVUZuCyhJkqReUvK2gJmuNNndZPeZRlv935o1awDYa6+9EidRKayfJEnZZZnhlnrcnXfeyZ133pk6\nhkpk/SRJym63K9whhP1jjMtecX9CjNGL36gsZ555ZuoIKoP1kyQpu5023CGEScB+wP8JIXyk++Fq\n4IvAUb2QTQPYfvvtlzqCymD9JEnKblcr3MOAS4C9gUu7HysC/13pUBr4Vq1aBcCoUaMSJ1EprJ8k\nSdnt6tLuDwIPhhCOiTH+rhczaRCYPXs2AFdeeWXaICqJ9ZMkKbssu5QMDyHcCdS/9ECM8fWVi6TB\n4Oyzz04dQWWwfpIkZZel4f4a8EFgaYWzaBBxFKF/s36SJGWXpeFeEmO8p+JJNKgsX74c8OS7/sr6\nSZKUXZZ9uNeEEK4JIfxdCOHqEMLVFU+lAe/uu+/m7rvvTh1DJbJ+kiRll2WF+8XuP/0dsnrMOeec\nkzqCymD9JEnKbrcNd4zx0yGEM4BxwCPA/Iqn0oDnJcH7N+snSVJ2Wa40+QVgf2Ai0A58jD/vyy2V\nZOnSrnNwDzjggMRJVArrJ0lSdllmuE+KMb4LaI0x/ggYW+FMGgTuvfde7r333tQxVCLrJ0lSdllm\nuGtCCPVADCFUA4UKZ9IgcN5556WOoDJYP0mSssu6D/fjwEjg0e77UllGjBiROoLKYP0kScouy0mT\nN4cQHqFrl5LVMcYllY+lgW7RokUAjBkzJmkOlcb6SZKU3W5nuEMInwL+Psb4GPCVEMJHKx9LA92c\nOXOYM2dO6hgqkfWTJCm7EGPc9QtCeDzGOOUV938TYzyx4skymDp1apw3b17qGCrBxo0bARg2bFji\nJCqF9ZMkDUKh1DdmmeEuhhBqY4wdIYQc2XY2kXbJRq1/s36SJGWXpeH+NvB0COEPwKHA/6lsJA0G\nCxcuBGDcuHGJk6gU1k+SpOyyXtr9RLquNPlCjHFdZSNpMHjggQcAG7b+yvpJkpRdlhnuB2KMp/RS\nntfEGe7+a/PmzQAMHTo0cRKVwvpJkgahis5wxxDCrcBzQBEgxvjxUj9QAhu1/s76SZKUXZaG+wcV\nT6FBZ8GCBQCMHz8+cRKVwvpJkpRdlob7RuBKYDTwa+DpSgbS4DB37lzAhq2/sn6SJGWXpeG+BlgB\nnAk8BlwPnFPJUBr4Lr744tQRVAbrJ0lSdln21D4oxvifQFuM8TbA4U2Vrbm5mebm5tQxVCLrJ0lS\ndlka7poQwgi6Tp5sofvESakczz33HM8991zqGCqR9ZMkKbssIyWfAH4D7AM8Anywook0KDz88MMA\nTJgwIXESlcL6SZKU3W734QYIIdQA+wJLY5Y39BL34e6/tm/fDkBjY2PiJCqF9ZMkDUIl78O925GS\nEMJFwPPAL4DnQwhnlvph0ksaGxtt1vox6ydJUnZZRko+CRwXY1wTQtgbuA24u7KxNNA9++yzAEyc\nODFxEpXC+kmSlF2Whnt9jHENQIxxdQhhS4UzaRB49NFHARu2/sr6SZKU3W5nuLsv694I3A9Moevk\nyTmQ/hLvznD3X21tbQDU19cnTqJSWD9J0iBU8gx3lhXuX7zi9vJSP0h6JRu1/s36SZKU3W4b7hjj\nj3ojiAaXp59+GoBJkyYlTqJSWD9JkrLLssIt9biXRoFs2Pon6ydJUnaZ9uHuq5zh7r/y+TwAuVwu\ncRKVwvpJkgahyu3D3VNCCLkQwk9CCA+FEB4MIRwaQjg7hPDbEMLMEEJV9+v+bwhhTG/lUhq5XM5m\nrR+zfpJiCfEMAAAgAElEQVQkZdebIyXnADUxxhO6L57zeSAHnAV8GjgyhFAAtsQYF/ViLiXw1FNP\nATB58uTESVQK6ydJUna92XDPB2q6V7KHAHmgHWjo/toG/G/g73sxkxL53e9+B9iw9VfWT5Kk7Hpt\nhjuEcAAwC2gGRgDnARuBTwFPAU8AY4ECcBTwoxjjw69ynKuBqwFGjx49ZfHixb2SXz2rUCgAUF1d\nnTiJSmH9JEmDUMkz3L3ZcH8VaI8xfqy7+f41cESMsS2EUA3MAN4L/AB4K/DLGOM5uzqmJ01KkiSp\nl1T0wjc9ZSNdYyQAG+ia335peexq4Lru21VABJp6MZt62RNPPAHAUUcdlTiJSmH9JEnKrjcb7q8B\nPwghPAjUAh+PMW4LIQwBTosxvh0ghLAK+A3w372YTb3Mhq1/s36SJGXnPtySJEnS7vX9fbglSZKk\nwciGW0k8/vjjPP7446ljqETWT5Kk7Gy4lcQzzzzDM888kzqGSmT9JEnKzhluSZIkafec4ZYkSZL6\nIhtuJfHYY4/x2GOPpY6hElk/SZKys+FWEvPnz2f+/PmpY6hE1k+SpOyc4ZYkSZJ2zxluSZIkqS+y\n4VYSjzzyCI888kjqGCqR9ZMkKbua1AE0OL344osATJs2reRjxGKRjucW0T7vGTrmLyK/aAWdi1dQ\n2LCZ4tZtxLYOqK4i1FQTGuqoHrknNXsPp2b/UdROGEPukDHUHX4QNfuM7Klva9DoifpJkjRYOMOt\nfqWwfhPb7n6Y7bPnsv2BecSt27ueyNVQ1dJIaKinqq4WcjlCTTXESCwWobNAcUc7sa2duG0Hsa39\n5WNW7zOShuOPpP74I2l8/XHkRu+T6LuTJEl9WMkz3K5wq8+LxSI77p/Hlh/9km3/Mxc6C4SWRmr2\nGk7V4eOpHjGM6r2HU93UALU5Qtj5v4cYI3QWKGzcQueqdRRWr+9q4u98kNZb7gEgN340TeeeQtN5\np1J35IRdHk+SJGl3XOFWEg899BAAJ5xwwk5fEzs7ab3lHjZ+9XryLywlNNZTM3qfl7+qhzYTqnrm\nNIRioUDnstV0zl9M54o1FNZuhBipGbMvLZedS8tb30Bu/7175LMGgiz1kyRpgHGFW/3LsmXLdvpc\njJFtv5zD+s9/h84Xl1M9chh10yZTe/Boqvca3mNN9itVVVdTe+C+1B64LwCdm7bQ8dTz5BcuZeMX\nvsvGL36P+hOOYo9/uITGM6ZVJEN/sqv6SZKkv+QKt/qUjudeZN3Hv8GOBx6neuQwcoeMITdxHNV7\ntCQb7ehcvY723/2J/AtLiDvaqd5vL/b4u7fS8o7zqB7SnCSTJEnqdSU3Ijbc6hNiZyebvnEjG778\nQ0KuhtqJ46idPIHqEXv0mRnqYr6Tjif+RMfTz1NYt4nQ1MDQ976FPf7+7VQP3yN1PEmSVFk23Opf\n5s6dC8BJJ51EfuEyVv/j52if9ww14/an7sgJ5Mbt36fHNvIvLmPHI09RWLaaUFfLkCvOZ49/fgc1\new9PHa1XvLJ+kiQNEs5wq39ZtWoVANvufIDV//h5KBSpe90R1E85jKrmxsTpdi83dn9yY/cnv3w1\nbb/5PZu/ezObr/sFQ993McM+9K4BP2ryUv0kSdLuucKtJGKhwMb/+iEbv/ojqkcNp27qJGoPGUOo\n7rur2rvSuXodO+6fR+filYTmRob9y+UMvfqtVNXXpY4mSZJ6hiMl6j9iscjq9/1vtv3yPnIHj6bu\nuMnkBsjVHvNLV7JjzjwKq9ZRPXIYe37q72l529l9Zg5dkiSVrOT/mPfP5UT1a1t/+iu2/fI+1k45\nmIbp0wZMsw2QO2Afhlz+JpredBqxs8Daf/oCy6ZfRdsTf0odrUfdf//93H///aljSJLUL9hwq1cV\ntrSy4XPfYeuoYSw89iCqW5pSR6qI2kPH0vKeC6k/5Rjy8xez/Kz3sfofPkdh3cbU0XrE+vXrWb9+\nfeoYkiT1C46UqFet+9T/Y/O3f0bD9OOoP3pi6ji9orijje33Pkr+Ty8SGurZ82PvZej73kKork4d\nTZIkZedIifq+jgVL2HztzeTGj6Z2wtjUcXpNVUM9zeedSss7z6OqpZH1n/wWS09/D21PL0gdTZIk\n9QIbbvWa9Z/4FiFXQ+7wg/htrp1H8ptTR+pVNaNG0HL5m2h4/XF0LlzK8unvYe1/fJPi9rbU0V6z\n++67j/vuuy91DEmS+gUbbvWKbXc9xPZ7H6F2wlhqx+5Ha+ykNXamjtXrQgjUTzmMlqveQs3Y/dly\n7c0sOe5Stt33aOpor8mWLVvYsmVL6hiSJPULznCr4mJHnqUnv4vCllYa33ASuX0Hzq4k5epYsITt\n9zxM3LqdpjefzsivfJjqPVpSx5IkSX/LGW71XZuuvZn8wmXUHjqOmn1GpI7Tp9SOH82Qq95C7eRD\n2HbbHJa87hK2/c/c1LEkSVIPsuFWRXWuXs/Gr/yImgP3pe7wg16+AMxD+U08lN+UOF3fUJWroekN\nJ9J8ydlQKLLqnR9j1fs+RWFLa+poO3XPPfdwzz33pI4hSVK/YMOtitrw+WuJO9qpPfwgqoY0v/x4\nWyzSFosJk/U9uf1H0fKeC6k94hC2zbqva7X7nodTx3pVO3bsYMeOHaljSJLULzjDrYpp+90fWf6G\nvyN32DiazjyBUJtLHanfyC9ZyfZfPUhxyzaa33ImI/+/f6VqgF4kSJKkfsIZbvUtsVBg7Ye/QtWQ\nJuomHWyz/RrlRu/Ttdo96WBab7mbJdMuY8cjT6aOJUmSSmDDrYrYct0sOp6aT+6wg6g5YNTfPD83\nv4m5znDvUlUuR9MbT6L54rMobtvBije/n3Wf+n/EfPrtFO+66y7uuuuu1DEkSeoXbLjV4zrXbGDD\nF66l5oBR1B4+nlD1t3/NOmOksx+PM/Wm3Jj9GHLVRdSM25/N/30TS0+7kvYFS5Jmyufz5PP5pBkk\nSeovnOFWj1v9j5+j9ef30Hjm8dQdcXDqOANK+1Pz2X7fbwEY/ul/ZOhVF72884skSaooZ7jVN+z4\nze9pnfE/1E4cS+0hB6aOM+DUTT6EIVeeT/WeQ1n/sa+z4i0fpHPtxtSxJEnSLthwq8fEfCdr//1r\nVA0bQu2kgwl1tTt97QMdG3mgw0axFNVDW2h553nUHX8kbb95gqXTLuv1i+XMnj2b2bNn9+pnSpLU\nX9lwq8dsvvZm8n96kdrDDqJmv71SxxnQQgg0nnQMLZedAwFWvfNjrP3X/4/Y3pE6miRJ+ivOcKtH\ndK5Yw5Lj30H1XnvSeNaJVA9t3v2b1COK+TzbZ/+G/J9eJDd+NHvf8EXqxo9OHUuSpIHGGW6lte4/\nvknsLFB7+Hib7V5WlcvR/KbTaDznZPJLVrLs1CvZfMNtqWNJkqRuNtwq27bZc9l2+/3UThhL7cHZ\nTpSc07GROc5w96i6w8cz5MrzqdqjhXUf+i9WXvFxiq3bK/JZd9xxB3fccUdFji1J0kBjw62yFLdu\nY+1Hvkr1XntSe+QhhFxNpvfVhECN29n1uOqhLQy5/E3UHTOR7b96kCXHv4O23/2xxz8nl8uRy3n1\nUEmSsnCGW2VZ+9GvseWHt9Lw+tdRd/RE94TuQ/IvLmfbHQ8QOzrY86NXsccH3vmqFyGSJEmZOMOt\n3tf22z+w5Ye3kjt0LLUTx9ls9zG5sfvR8p4LqdlnJBu+8F2Wn/9+OtdsSB1LkqRBx4ZbJYntHaz5\n0H9RNbSZukkHU9VQ/5re/+uODfy6w+av0qob62m+5I3Un3wM7Y89zdIT3sG2ex8p+7i33XYbt93m\niZmSJGXRqw13COF3IYQ53V8/DCFcFUJ4JITw3694zU9CCEN6M5deu43fupH8c4uonTSemtGjXvP7\n60MV9cGf93pDCIGGaUfScuk5ECOrLvkwaz/+DWK+s+RjNjQ00NDQ0IMpJUkauHpthjuEUA88HGM8\n+hWP3Q+cDtwKXAmcAIyOMX47yzGd4U6jY/4ilp7+HnIHjKLxzOOpamlKHUkZFTvybL/zAfLPL6F2\n4jhG3fBFcgfumzqWJEn9Qb+Y4T4SaAwh3BVC+HUIYRqwHagFaoAi8B7gu72YSa9RLBZZ+y//Raip\nJnfEwTbb/UxVbY7mC6bTeNYJdCxYwtKT3sXWm+9KHUuSpAGtN1e4jwCmAd8DDgZ+BVwB/DNwF12N\n92K6GvMDgK/HGJ97leNcDVwNMHr06CmLFy/ulfzqsvl7P2fdx75O3bGTaDj5GEJ1dUnHuadjPQBn\n1A7vyXh6DTo3bGbbL35Ncf0mmt9yBiO/8hGqmrKNicyaNQuA888/v5IRJUnqS/rFCvd84Mexy3xg\nPbA4xvg24GbgZGABsC/wSeA/X+0gMcZrY4xTY4xTR44c2UvRBV3bzK3/zDXUjN6H2iMnlNxsAzSH\nGppDtj27VRk1ew5lyBXnU3vEwbT+/B6Wnvwu2p5ekOm9Q4YMYcgQT7WQJCmL3my43wN8BSCEsC8w\nBFjZ/dy/A18CGoECEAGvD96HxGKRNR/4IgC1R06gZlh5zda03FCm5Yb2RDSVIVRX0XT2STS9+XQK\nazey/Mz3sumaGezuN1+nn346p59+ei+llCSpf+vNhvv7wB4hhLnAz4D3xBg7QwhjgD1ijE8CTwKj\ngTuB/9uL2bQbm793C20PP0ntpPHUjj8gdRz1sNoJY2h59wVUj9yT9Z/8Fisv+TcKG7ekjiVJ0oDg\nlSa1W/mFy1h66pVUjxpOw/Rp1OxZ/sr0Xd0z3Gc5w92nxBjZ8cDjtM97mqo9h7L3Dz5L4/FH/c3r\nbrnlFgAuuuii3o4oSVIq/WKGW/1QLBZZ889fhBConXxIjzTbAHuEGvZwhrvPCSHQeOpUmt/6BmJb\nByvP/2fWf+G7xELhL143fPhwhg/3hyVJkrJwhVu7tOmaGaz/5Leoe90kGk48mlBjkzxYFNva2Xbb\nHDoXraBuymGM+sFnqdl3r9SxJElKxRVu9byOF5ay4fPXUnPgvtROnmCzPchU1dfR8tY3UH/qVNqf\nfI4lJ15O650Ppo4lSVK/YwelVxU7O1nzj5/rGiU5qvxdSf7a7I51AJxdO6JHj6ue1/C6I8gduC/b\nfnkfq6/4ODuueDMPTDmAmKvh4osvTh1PkqQ+zxVuvaqNX7uB9sf/SO2RE6g9qOd3JRkRahkRanv8\nuKqMmr2H03LlBeQOHcuWH/2Sw/7rZsbMX0Vh09bU0SRJ6vOc4dbfaJv3DMvP+wdyY/en8YxpXr5d\nf6H9D8+z4/7HiDvaoaqK+mMn0XTeqTS94URyY/dLHU+SpEopeYbbhlt/odi6naWnv4fi5q00njGN\n3BgbKP2tYmeB/IIl5BcsobBiDcXNrQDkxu1P07mn0vTGk6g7ZmJZVyOVJKmPseFWz1jzgS+x9aY7\naThlKnVTDiNUVWbq6M72rhnuc+qc4e6PXlm/GCOFlWtpf3YhhWVrKKzdADFSNWwIjWedQPM5J9Nw\n2uuoaqxPnFqSpLKU3HB70qRe1nr7/Wz9yR1dV5OcNL5izTbAqCrnt/uzV9YvhEDNvnu9vGVgYfNW\nOp55gc6lq2i95R5afzabUFdLw+nH0vzm02k86wSqh7akii5JUq9zhVsAdK5ax9JTriDU19IwfRq5\nfUamjqQBoNjeQf5Pi8gvXErn8tVdc9/VVdQffxTNF7yeprNPomZvL6AjSeoXHClR6WKxyMq3/Ss7\nHn6Sxtcf17W6HUr+OyW9qmKhe+57/mI6l60mtm6HEKg7agJNF0yn+dxTyB24b+qYkiTtjA23Srfx\na9ez4QvfpW7K4TScfAwhV/lJo9vb1wJwXp0r6f1RufUrFosUFq+k408L6Vy2mmL39oK5CWNovmA6\nzeedSm7CGH/wkyT1JTbcKs2Oh59kxQX/TG7sftS//jhq9uid2donOrsarKNqnOXtj3qyfl0nXa6j\n/ZkFdC5bRXHdJgBqRu9D05tPo/lNp1F39ESbb0lSajbceu0K6zex9PT3EDs6aHz9cW4BqD6hc91G\nOp5+ns4lqyis6drxpHrUCJovnE7zhdOpO+pQm29JUgo23HptYoysesdH2X7fb2k47XXUHTXBJkZ9\nTmHTVjqefp78ohUUVq+DYqR6n5E0X/h6mi88g7oj/XsrSeo1Ntx6bTZ9+ybW/+f/o+6Yw7rmtmtz\nvfr5s7pngM93hrtfSlG/wuatdDz1PPnFKyisWte18r3vSJovnE7LhWdQO/kQm29JUiXZcCu7tt/9\nkeXn/gM1B+xDw+tfR82eQ3s9w1PdM8CTneHul1LXr7CllY6n5pNftJzCqvVdzfd+e3U13xdMt/mW\nJFWCDbeyKazbyNIz3kvctoPG6dPIjds/dSSpLIUtrXQ8+Vz32ElX812z3140X3QGzRedSe3hB9l8\nS5J6gg23di92drLy7f/Gjoef7Lp0+9GefKaBpbBpC+1PPU/n4j8337lx+9P8trNpecuZ5Ma4z7ck\nqWQ23Nq99Z/5Npu+9RPqjp1EwwlH9frc9ivd2r4GgAvr9kqWQaXrD/Xr3LiZjiefo/PFFRTWbQSg\n9oiDabnkjTSf/3qvcClJeq1suLVrrbfNYfV7Pknu0LE0njqVqiHNSfM83dkKwKSatDlUmv5Wv85V\n62l/6jk6F6/oushOCNQffyQtbz+bpvNOpTrxvwdJUr9gw62d65i/iGVnXU3V0GYaTjuW3H57p44k\nJRFjpHPpKjr+0LXbSdy2A3I1NL7+OFrefjaNZxxPVUNd6piSpL6p5Ia78tfwVlLFrdtYdcV/QFUV\ndVMOp2bfvjsCIFVaCIHc6H3Ijd6HYrFI/oUl5J9ZyI77H2P7//yG0FhP0zmn0PK2N3Rtl1nj/0VK\nksrnCvcAFgsFVl35Cbbf9RD1Jx9D/dTDCVVVqWMBcEv3DPBFfXgGWDs30OpX7Owk/8eFdMxfROey\n1ZDvpGrPobRcfCYtb38jtUcc7AnGkiRXuPW3Nnz+WrbPnkvt0ROpP3JCn2m2ASZWN6WOoDIMtPpV\n1dRQN/kQ6iYfQrGtg/anniO/YCmbv/dzNl87k9xBB9By2bm0XHymvyWSJL1mrnAPUFtu+hVr3/8F\ncoeOpeGUKVQP9QIz0mtV2NxK+++fJb9wGcX1m7pOtjxuMi3vOJfm806lqrkxdURJUu/xpEn92Y5H\nnmLFRR+gZtQI6k87ltyoEakj/Y1C99+7an9N3y8NxvrlV6yh44nnyC9aTty2g1BXS+PZJzHksnNo\nOGWK896SNPDZcKtLfslKlp35PgiBxlOnkjvogNSRXtVAmwEebAZz/YrFIvn5i8n/8QXyS1a+Yt77\nLFoueSO1k8Y77y1JA5MNt6DYup1l5/wvOhevpOHkKX36RK8/dW4D4NCagTULPFhYvy7F9jwdf3iO\njvmLKaxcC8XYNe/9jvO65r33GZk6oiSp59hwD3Yx38nKd3yUHffPo/7Eo6k/9nBCdXXqWNKg8ed5\n76UU129++eI6Qy47l6ZzT3HeW5L6PxvuwSzGyNr3f4GtP5tN3dTDuy7bXlebOtYu5WMRgFzoOzun\nKDvrt2v55WvoePIv572bzj2FlkvP6drf2x+GJak/clvAwWzjl77P1p/NpvaIg6k/dlKfb7YBbutY\nBwzOGeCBwPrtWm6/vcjtt1fXvPdzi+h4diGtt8+h9ZZ7qB4xjOa3n03L28+mbuK41FElSb3AFe5+\nbvOPZrHu375MbsIY6k86hpo9h6aOlMn8zu0AHFLjr9n7I+v32hXb2rv2935+ade8d4zUThxHy2Xn\n0HzRmdTstWfqiJKkXXOkZDDaNnsuq674D2pGj6L+5Cl9cvs/SX+rc+Nm2n//JzoXLqO4cQtUVdFw\nyhSGXHYujWefRFVDXeqIkqS/ZcM92LQ99jQrLvogVXu00HDKVHIH7pM60mvS3j0DXOcMcL9k/XpG\njJH84pV0PP08nYtXELe3EZoaaH7z6bRc8kbqp03uU1eIlaRBzoZ7MGn/w/OsuOD9UFND/SlTqB0/\nus9u/7czg3kf54HA+vW8YmeB/B8X0DF/MZ1LV0Fngep9R9JyyRtpedsbqD1odOqIkjTY2XAPFh3P\nL2b5m/4JCgXqTzya2onj+l2zDbCg0DUDPL7aGeD+yPpVVnHbDtqf+BP5hcsorF4PMVJ31KFd894X\nTKd62JDUESVpMLLhHgzyS1ay/E3/SHHrdhpOPJraww/y183SABZjpLBmA+1PPUfniysobt4KNdU0\nnnE8Qy59I41nHE+ozaWOKUmDhQ33QNe5ah3L3/RPFNasp/6Eo6mbfAihuv822ztiAYCGkHY/4s7O\navL5WjrzNeQ7cxQ6qynGKmKximLs+ndVFSKhqkhViFRVF6ip6ez+ylNT00l1dTHp95BCX6nfYBKL\nRfIvLKXjjwvpXLKS2NZO1ZBmmt9yRtcWg8cc1i9/2yVJ/YgN90BWWLeR5Rd+gM4Xl1N/wpHUHTWR\nUNO/G53engEuFKrYvr2Jbdua2LG9kba2Otrb6ikUy18drA55amvbqK3voK6+g7q6dhoadtDQsJ2a\nmkIPpO97nOFOq9jeQcfTz5NfsJTO5auhUKRmzL4MueQcmt96FrnR/eskaknqJ2y4B6rOtRtZ8ZYP\nkH9hGfXTJlM/5TBCTf+/XtGLhR0AjK1uqMjxi8VAa2sLWzYPZcuWIezY0chL/06q43ZqOreQC23U\n1BYJ9TVUN9ZS1VhLdX2OUFtNyNUQcl2/QYgRyBcp5jspdhQpthUotHVSbM933c4HCp01dFJHoaqJ\nGP5cn5qqNhoadtDY3EZj0zaamlqpre2gvy9EVrp+yq6weSsdT3Rd1bKwZgMA9cdNpuXSc2h+82lU\ntTQlTihJA4YN90DUuXYjKy76APmF3c32MYcRcv2/2a6UYjGwZfNQNmwYzuZNe1CM1RAL1BfWURu2\nkBtaS+3eLeT2Hkb1iD0ItT17Rc5YKFDY0kp+bSsda3eQ39xO544i+c468lVDoHv8orqqnabGbTQP\n2U5TcytNTa2DcixFPSvGSOfy1XQ8vYD8ohXErdugNkfTG0+i5ZJzaDxt6oD4YV2SErLhHmg612zo\narZfXE79tCOpP2bigGq2t3XPADf1wAzwjh0NrF2zFxvWD6dQrKEqttGYX0HdUKg7cAS1B45KusoX\ni0UKm7bStnQz7Wu2k99aIJ9/qQkPQJHGuq207NFKy5BWmpu39vkGvCfrp55X7CzQOX8RHfMX0blk\nFbG9g6o9h9Ly1rNoefsbqZ003nlvSXrtbLgHks7V61lx0QfoXLyCuuMGXrMN5c8AxwibNg1j7Zq9\n2bp1CCEWaMgvo2FInvoJ+1I7Zr8+/b9ZLBToXLOZHYs30ra2jY4dOTrCUAhVQJGGulaGDNvC0KFb\naG7aRqjqW/9OneHuP4o72mh/6nk6Fy6lc8VaKBbJHXIgLZeeQ8vFZ1HjFWolKSsb7oEiv2w1Ky/+\nF/JLV9Fw/GTqjh6YYySLu2eAD3yNM8AxwoYNw1m5Yl/a2xuoidtoKiyl4aA9qD9sPFVN/XemuHPD\nVra/sJ721dtp315NR9gDQhVV5Glp2czQPbcyZMhm6uo6UkctuX5Kq3P9Jjqemk/+xeUU12+CqkDD\niUfTcuk5NJ1zSr/+9yNJvcCGeyDoWLCEFRf/C8UNW6ifdgR1Rx3qzGW3v260c8VNDKlZTv0RY6kd\ntz+hemCNNsRikc51W9n2/Hra17bR1tFEoarrIjN1/397bx5l2XXX935+Z7z31lw9z7O6W60epG5Z\nkiVbxmCETRwgPEMGSB5ZPB5O3kpYYeXxIAGDeclj5RHCEMDgYDMESBzAZg7m4SGSJ+JJRrItWWr1\nXPN8hzPtvd8f+9St6rnV6hpu1f6sddY+59xTp3bVvufe7/md7/79gjp9g7MMDEzT1V3v+AmYjuXH\nGEN+YYj8+ZfJz13GNFpIJabr7U/S83ffSvXxB9fcNeVwOBz3ACe4O5302Re48h0/iMkLKo+cID5+\nqONT/92KOV0A0OPd/oaiPtfNxYu7aTa7idQUPeEw1YcOEu7eum4K/+iiIDk7TuvcDMmMIWUAxMOX\nlL7+aQY2zNDbM4u3TN7vVzN+jtWNLhT5V8+Sv3CO/OIw5AX+5kG6v/0t9Hz7W4hO3Of83g6Hw2FZ\n/YJbRELgfcBeIAb+byAD3g1cAL7DGKNF5D8CP22MOXe7c64Vwd365BcZ+gc/hIQBldcdJzp2sKOL\n2twJd+IBTtOIy5d2MTW1Ad806eMs1YcOEO3buW6E9s0oJuaY+8ooyWhGonoxEiEU9HRPM7Bxlr6+\nacKwWLLf7zzcaxPdSkiffZH85Quo4XHQhmDPNrrf8ZQV3wd3r3QXHQ6HYyXpCMH9PcBJY8wPiMgg\n8MVy+YfATwC/Dijg7xpjfuROzrkWBHfjvz/DyPe+C6+ni/jRE0SH964LMXlBJQDs9ivXvaaUx/DQ\ndkZGtoLR9OQv0X1sM/Gxg+4x9w3QzZTGV0ZoXm6QJLXSemKoVWYY3DTDQP8U0T32fd9q/Bxrg2J6\nlqwsKT+f3zs6up/udzxF97d9PeHOLSvcQ4fD4Vh2OkJwd5e/b05ENgD/E/g08INYwf3TwI8D7zTG\nzNziPN8HfB/A7t27T58/f36pu75kzLz39xj/Vz+Pv3UDlUdPEh7Yta4f3RoDU5MbuHRpF3ke0ZWf\no3c7VB45iVTubc7stYouclovjtE8N0NSD8m9PgCq0QwDG2cYGJyiUklXuJeOTqMYnbSTLc9fQU/a\nj+f49DF63vGNdP3tryPYNLDCPXQ4HI5lYfUL7vYvFOkB/gh4L/AF4F3Al7DR7n3YKPcp4DeMMZ+6\n1bk6NcJttGbiXb/IzHs+QLBvB5VHjhPuWl+lmGdKD3Bf6QFuNqtcvLCHer2XSE3SVx2i9vgp/A39\nK9nNjsZoTfLKOI2XpmnNeuRixXclmKN/0zSDg9NUKq27mnR57fg51gfGGIpLI2TPv0RxYQg9UwfP\no5yV5KsAACAASURBVPr4Kbrf8RRd3/xG/N7ule6mw+FwLBWdIbhFZBfwQeCXjDHvW7TfBz4AfC/W\n5/0O4I+MMW+71fk6UXDrVsroO3+Sxp9+nOjofuKHjxNsGVzpbi078x7gt3vbGbqyg7GxzXgmpa94\nkdpD+4kO7VkX1prlJL08Rf2r47SmIDN9IELk1xnYaMV3tda8Y/HtPNwOYwz52UvkXzlLfmEI02hB\nGFB78yP0vOMpat/wqEsz6HA41hqrX3CLyBbgY8D/YYz5q2teeydwCXgG6+X+O8BHjDFP3uqcnSa4\ni7Ephv/hD5N+7svEDx4hPvMAft/6jAZdzDIaI7toje1Ea6E7O0vP3pjKmQfuecl1x/WkIzPUvzxO\nMqFIjS24E/pNBjZMMzA4RVdX45bi+3Lp4d7hPNwOQCtF/rUL5C+8QnFhCJNkSCWi+uZH6Pm2b6D2\nlsec+HY4HGuBjhDcPwd8J/DVRbvfCoTAe40x31ke9yvASWwU/Ddvdc5OEtzpsy8w9I9+BDU6SeXM\nMeLT9+NV16NY0cRdH+fsSycYvvxWutRZuvpzqo+exO/rWenOrUvyiTnmnhslGS9IdB+IT+C1GNgw\nzeDglMv17XhV6Lwg/+orZC9dQF0awSQpEkdU3/w6ur/t6+l6y+vxumsr3U2Hw+G4G1a/4F4KOkVw\nz/3+XzL2z38KqcbEp4/ZHNtrsHrk7Qiil6j1/zZBdIGp4WP41ZRq1wQT4b+l4X0rTtWtPPnkHPXn\nRmiN5iRmoBTfCf2l+O7unkMEpnQOwIAXrnCPHasZnefkXz1H/tIFilJ8E4XU3vwI3d/6ZrqeetyJ\nb4fD0Uk4wb0aMUox8ZPvYeYX/wvBzi1EZ44RHdi17rzJ4s1Q6/s94q5PopIarQtH+G89TzFQmeRt\nvX9M5F+hpU4yGb2LhMec8F4l5BOz1J8bJhnLScwgRgJ8L2VgcJrnu89hvIIn/I0YI3iiEU/j+5og\nyAmDAvE697PFce9pi++XL1JcGsa0Uuv5ftPDNvL9TU/g9XStdDcdDofjVjjBvdpQkzOMfP+7aX30\nrwmP7CM+fYxw+6aV7tYyo4i7P0K190MIGc1z+/C2PUjlwSNcmrH5tHf2K5JzXySsP03gz9BSJ5gJ\n/ykNeSuI83KvFvKxGepfHiYZzUnYgJHbP6HxJScMM+JKSlzNiOOEOE6pVBKiKHX3VesYXRS2suVL\nFygujmBaiRXfbzxD17d8HV3f+HqXocjhcKxGnOBeTSSffZ7h7/0x1PAE8anDVM4cw1tnqbKC6IXS\nPnKZdHQzeXqC2uOn8HpvHMHSeUZy9gsEzc8ThaMUup+6923U/e8g5ZSLeq8i8tEpml8dhqLAiwLw\nPYwRjNLoXGNShc41OjeowqegQuF1XyXSBUUcN6l2JVSrCdVKi0q1RRw7Ib7e0IUif/Ec+dcu2Mh3\nMwFPqDx8nK63v4mutz5BuHt9pU11OByrFie4VwPGGGbe81+ZePd7bOXIB49av3a0fnyunj9Ote8P\niGufQTW7aF48QuXMacI9V39hjs7adnPv1T9vlCK5+DX05ItUg+fwvJxcb6XpPUXDe4pEXo+R9TjZ\ndHUxndjKg/2V26e0NEqh5hoUEw3y8Qb5TErRUBS5T04Xylu4CRMUcdSiUkuo1RIq1Ra1apPICfF1\ngVaK4uxFshfPoy6P2jzf2AqXXW9/E11vewPR/QfWdYEwh8OxojjBvdKo6TlG/9m/pfnnzxDs20nl\noaME+3asmy8GkQaV3j+l0v1XoI21j+x8iMrJ+5Dg+nLsv/60bf/XN9z8nPlsnezyC9C4SDX6Kp6X\nok1Mwhla/pO05AlSTsAd2Bsc95YPn/9DAL5xz7e8pvOYPCcfmyUbmSObSCgaGUXqk5sayl94KuRJ\nQSVuUu1qUaslVGtNqtUmQaBe0+93rF6MMeQXh8hfOEdxaRQ9PgVAsHMLXX/rSbre9kYqr3sA8a//\nfHE4HI4lwgnulaT1mS8x+s6fpLgySnziMNGDRwjWjf8wp9L9ESo9f4J4TZKLu9DxcaqPPnDLvLuX\n7XcnO+6wInRRT0iHXkHPDROaV6jEFwFQppsWj5L6j5DIGVJOYsRlPVhqxlu28M3G6tIUvrFCfJps\nqE420aJoFORZSC49aC9uHxd4VnzXuhOqZTQ8riR4bsLmmsIYgxqbJPvyWYpLI6iRCdAab6CXrm96\ngq63PkH1DaddxhOHw7HUOMG9EpgsZ/L/fT/TP//beH3d1kLywEEkXg+T/TRR7TNUez+IH0yQjmwh\na95P7bET+BuX9mbDaEM6PksxcQHTHCGSs8TRkH3NBKTmfhL/dSTyMIk8jJLtS9ofx/Khmi3yoWnS\n0Qb5VErRNOQqJvd6QOYjnZpKdH00PAxzZ0tZI6jZOtnzL1NcGKIYGoO8gDCg+thJut76BmpveYxw\nj7vuHQ7HPccJ7uUme/EcI+/8SbIvvUh43x7ik4cJ9mxfBxYSTVj9HNXePyQIh8hn+knHjhKfOUW4\n886jncPTtt16D7S5UYZ0ao58/DKmMUFgLlOJzuJ5GQC53kbinSH1zpRR8AdA4tuc1XErJpNxAAYr\nG1e4J2C0Rs3USa/MkI01KWYz8sS7zh/uS0al2iqFeItqtUm12sL39Qr23vFa0UlG9sIrFOevUFwZ\nw8w1AAgP7KL21ifoesvrrfUkcNYzh8PxmnGCe7kwWjP7vg8y8eO/BIFPfOI+4pOH10H+WENY+SLV\n3g8RRJco5nppDR8iPn6KcP/2V51b/E483HfdU20omjnZ+DB6dhTJRoj8c0ShFYnahKTmAVL/DImc\nJpXTFOx0mVBeBffKw72UmDwnH5kmHZojm0woGoo8D8m9XowsTGSOgibVWkKtqxThtRZxnLi3Qwdi\ntCa/OEz+tfOoK2OosSlrPenpovr1j9D11OPU3vwI/mDfSnfV4XB0Jk5wLwf52UuM/ot/R/KJLxDs\n2UZ06ogtZLOmJ+0YwspzpdA+R9HopnX5INGRE0RH9tx1EZ97GeG+E3ShSSdmUFOXMY1JfHOFSvTK\noij4JlLv9KIo+AnnBb8FqynC/WpRs3Wy4RnS4Sb5bEKRCLmqUnjdIPb9LCgqcYNqd0KtZr3h1WqL\nICxWuPeOV4OaniP76isUl4ZRQ2OYJANPiB88Stc3Pk716x4mPnl43RUjczgcd40T3EuJKQqm3/MB\npn7q18ATovsPEJ06QrDGoyRB/BWqvR8ijF9CNbtoXTxAcPgE8dF9iN/5X1B5PSMfH0GVUfDQu0Ac\njQBgjE9qjpD4ryOV0yRymoK9Lgq+RjGqoBibJRueJR1vUczlFFlAJj1obyENZeClVLuaV3nDK26S\nZkeg84LipQvkr1yiuDKGnrK5Sb2+bqpveh21r3+E2te9jmBr591EOhyOZcMJ7qUife4lxn7gp0if\nfYFg7w6i44eIDu6+Yaq7tUIQfY1q7wcJKy/YUuzn9xMcOk58/4F79ne/2iwly4FRhnRylmLyCqY5\njqeGqESv4HsJAIUeIPVOWz84Z0jkFEbWV0GjeZY6S8lqQTcTsuEp0qE58umUomXIVYXc673BJE0b\nDXeTNFc/NuvJFNmL51BDY6jhCUySAhDet4faNzxG7c2PUHnkOF7FzfdwOBxtnOC+1+hGi6n/8JtM\n/+LvItWY6NghogcOEgz03v6HOxQ/PEut70OEledRaYXW+f34+45TOX7wnk84WkoP972kaBZk46Oo\n2WFIxoi8C8TRFQCM8cjMIRL/4XYUPOdg25awlukED/dSYZRCTc6SXZkhHW9SzGXkaUAu3VdP0vRy\n6wnvalGrWn94xU3SXJXovKB45RL5ucuooXHU+DRojcQRlcdOWgH+5BnCw3vXwcR4h8NxC5zgvlcY\nY2j88ccY/7H/iLo8SnhwN/GJ+wj27lgTNoob4YfnqPb+EVH1WXQW0zq/D2/nCSqnDiLh0lTJvFml\nydWOzYjSoJi4jG5M4OshKuEr+L7NjKBML4k8SCqlF1weRMvay8n+aipNrhd0KyFvR8MTiqYmL2Jy\nv2/RJE1DFCalLaVFtRTirqT96sEYg55r2II7V0YphsbbmU+8wT6qbzxN7Y1nqL7hNOFel3rQ4Vhn\nOMF9L8i+dp7xH/5ZWh//LP6WDdarfXT/LQu4dDJ+9DLVnj8mqv4NOo9ond+Lt/2ErQ4Zr59y9K+V\nolGQjo+XUfBxIu8icXQJERvJTM0BUu/hdkaUjMOL7AiOtYxRCjU1W+YOb1LMpeSpT043hdfTnhPg\nSWHL2LctKS1XSXOVYLRGDY2RvXQRNTKOGpls20/87ZupPXmG6htPU33iIef/djjWPk5wvxZ0vcnU\nz/wm0+/5r0jgEx09QHjsAMGWDWvy8WEQvUi1948JK18uI9p78bY/QOXU4WUT2hcnbLtrw7L8umVF\nK0M22SSfHELXJ/HVEJX4LIFvw/ra1BZFwU+TyENo6awv6rHmMACbaltXuCediW4m5KNTZEMzFNMJ\neUOTFxG5349elCM+DBKqtdZCNLzWpBIniJukuWLovKC4OET+yhXU6ARqdBKyHIBw/06qb3qY6htO\nU338Qfw1bEF0ONYpTnDfDaYomPudP2Pyp/4TamyK8NBuwmMHifbtWINFEgxh/DyVnj+zkyHTCsmF\nvXg7HliRiHaneLjvBTYvuCIdn0LNjFovuH+RSnyuHQXPzJ4yJaH1gmfcD7J6nzKsZw/3UjEfDS+G\nZ0jH6hSzabuAz+JJmoImrizOlGLTFgZukuaKoJOU4twV8gtDVoCPTUFhn0yE9+2h+viDVB87ReWx\nky4C7nB0Pk5wvxqMMTT/8lNM/MQvkb94Hn/HZqIj+4iO7MerVW5/go4iJ6p9mkr3XxBEQ6ikSuvi\nPvzdx6icOLRkHu3bMT5n2409K/LrVxydG9LJhHxyCFWfwdeXqcYvEwY2Qbk2FVI52bahJHIGJVtW\nuNcLzKS2n33x2vOnrzZ0kqLGpkmHZ8knmhSNgjyPyL1elLeQK973soVo+LwtpdLCc5M0lxXdbJGd\nvYS6NIIam0KNLwjwYOcWKk88SPXRU1QfO0mwb8eafIrqcKxhnOC+U9JnX2D8x3+J5JnP423oJzqy\nl/DIPoLBtSUcxJsj7voIle6P4vlz5LP9JCN7CQ/eb/Nor7kIfmdjtCGfU6QT06jZCUhtRpRK5RU8\nscVWcrPDpiUsrSiuRP36xWiNnmuQjUyRD9fJZxKKFuS6Vk7SnL++DXHUWmRLaVKtNYmizEXDlwmd\npDYDyqVR1PgUemwKk9qCW97GfqqvP2Uj4I+eJDq6b40XUnM4Oh4nuG9HfmmEyf/nvdQ/8BdIV5Xo\n8D7Co/sJtm1cUxEGPzxP3P1R4uqnEK8gHdlC3thPdP/9d1WCfak4ZwsVstc9Yb0pOtMkUxn55Ai6\nMY1fXKESn72qRH0mJ9o+8FTOULBjWYrzjDRsasQtXS5Lw2rC5DnF+DTZ8Az5WJOinpNnPrnXaydp\nlnhSlCkLE6rVZruSpu8maS45Os0oLg5TXByyEfCxKUzT5vqXWoX4waNUHzlBfOYYlTPHnA/c4Vhd\nOMF9M9Rsnemf+8/M/MoHMNoQ3beH6OgBgl1b11Dxmoyo9j+pdH+UIHoFo3ySyzvQ4WHiE0cItqy+\n1G3rycN9rzDakDc02fgsxcw4Jhkn8i9QjV/B82zWhMJstoV5Si/4UpWodx7uzsFojWm0yEenyYbr\n5NNNW8CniMtJmlH72NBPrq+kGadukuYSoosCNTROfu4yenzaRsFn6lB+Nwf7dlB55ATVhx8gPnOM\n6PBeFwV3OFYOJ7ivxaQZM+//EFM/8xvoqVnC/bsIjx0g2r8TiVbvZLRXgxeMEHd9jLj2DJ7fpKj3\nkAztwtt2hMqJQ6vajz5l09oy0HXr4xy3xkbBc/KpUdTcDL66QiV6hTiyWUSMCUjl/rYAT+QMBXte\ncxR8LrMZV3oiF33rVIxSqOk5spFZ8rEG+UxGkQi5qZF7Pe0CToImilpUazZjSrXSolJtOSG+RBhj\n0NOz5OeuoEYmURPT6Inptg1FalXih45SfeQ48eljxKeOEGxaRSV7HY61jRPc8xitqX/oI0z+m1+l\nuDCEv2ML0f37iQ7vxauuXgF65+SE1WepdH2csPJljPZIh7ZSZPuIjhwm3L92C/Q4bo/RhqKhSSfr\nFNNjmGScUC5Rrby8UKLeDFgB7p0h5TSpnEBL3wr33LFaMKqgGJ8hG5ojm2hR1DPyxKegi8Lrat+s\nCZo4alFxQnzJ0WmGGhqjuDCMmrg+Cu5v20j84FEqDx4lPnWE+NQR/P51OiPd4VhanOAGaD79OSZ+\n4pfJnn0Bf9MA4dH9REf34/d2r2Av7w1+eIG49gxR7dN4fgPVqpFc2YkMHCZ+4CD+YGdFGs+O2nb/\n5pXtx3rAKEM6nZNPj6HnxpFshDg43y5RD5DpXWTeSVLvBCnHSeX4LXODDzUuAbCta+eS99+xOjBZ\nRj4yTTYyRz7VoqgX5Nm8EO++jRBPiOMEzwnxe4IxBj0zZ1MRjkyip2ZQkzOYuWb7mGDXVuKH7qfy\n0FHik4eJTx7G67739jKHY52xvgV3fvYS4z/6CzQ//Em8vm7Cw/uIjh/EH+jr6AmR4tWJap8mrj1D\nEF1ciGbne4gOHSY8sLNjfejOw72y6EKTTTUopq6gG1N4xRiRf4koGm0fk5utpHKCzDtByglSOY5i\nK4hc7eE2Cp9xfIbxzSxCC6GJR4LBBwJMe6mhpQfNwmKoLctET8fSoJOUYmyabKROPtWkqCuKzCe/\nRoiDIQpaVGoplWpCpTK/tAiCwr0FXiNGafTkNPnFYdTYFHpq1orwRsseIGL94KeOEB0/RPzAIRus\n2ejsKA7Hq2B9Cu7HHzpj/uh/+d+Z/sXfRUQIj+wjeuAgwbZNHSy0M8Lql4irnyGsPIt4inymn3R0\nJ96Wg8QPHFgTEfuZMhDT5wIuqwabG7xOMT2CbswgxRhRcJE4HELEfk4UZgOpnKBp9hFyhZq8QGgu\nIHL32S2M8dB0o+hHsQEtG1CysVwfRLHBLrIBxSYUmzCyFuxhaxuTZeRjM6UQt9aUIvUoTIXC61mU\nuhA8yalUWlRraVuEx5WEOE5dVPw1YApFMT6JujiMmrBRcD01286KAuBvHrQC/Ph9xMcOEh0/SLhv\n56rJaOVwrDLWp+D+zNbHzUblEezfSXz8PsL9nRrxLQgrXyaqfoao+gXES1FphfTKVkz1ANHhQwQ7\nNrkPQMeyo1JNOtmimBlFNWZtJDy4RCW6RF5sIkl3UZhNENTwwhiJPLwgBC8Az0cExGiM0RitQeUY\nnUKhMLoAXWB0jugUoYUndXypEwRz+P5sOwf5df0yvRRmE8rbgpItKDajZDMFm69a1wy0J/85VgdG\nFaipObLROfLxBsVcStEyFEVE4XVfVcwHNHGUEFcTqpWUSqVlBXk1IQhu/N5w3BpTKNTkNMWlUfTE\nNGp6Dj09i56tg7Z6QKox0dH9xCcOEx8/RHR0P9GRfXg9bpa7Y92zPgX37257nXny9a8nOnFfB06I\nLAjiF4mqnyWqfhbPb6DziHRoC8rsJtx/kOjgjhWrBLnUvDRi24Orp3ii4w5Rqearr2i8QDiyz0P8\ne/s0yWiDzg0qUagkQydNTNZE5y1MlmFUiqcbiKnjyxy+P0MYTLdTI151LhNQsKEU4VacF+V6wYJY\nL9gMi9LjOZaf+WI+xfgs2WidYiZBNQvyPKBgPnPKQkDF9zIrvmspldh6xONKShwn+K665qui/b+/\nPIYanUDP1FFTM+jpOcgXbmz8rRut+L5/P9HhfXb90B68ruoK9t7hWFbWp+B+cN9B8+F3/BP8jR1S\nJVJSwvg5ouoXCCvP4vlNdBGQjWymKHYT7NpHdHD3qk7nd69wHu7OZjWNny40KjEUzQTdamDSOiZv\novMMihaim3jU8b0ZgmCGwJ9pW2QWU5h+1LwIl81tQT4v0BVWpBtxUb7lxiQZxdQMxXidbDKxUfEE\niiIi97rR3tWCz/cy4jihUrNtHM+L8hTf+cXvCGMMJs1QoxOooXEbCZ+to6fn0HMNUOVNjQjBzi3t\nKHh01Irx8NBuvIqrhOtYczjBvVoRb46w8qwV2fHziJejs4h0ZDNab8fftZ/owO51FyGolxbC7rV/\nb7Em6cTxM8qgUk3RUuikjmo1MFnDRs2LxApzM4fvzRIE0wTB9A0tLdp0LUTJSyHeFuhtO8uW0s7i\nlN1SYrTGtFKKiVmy8QbFdEpRT1EZFEVI4XWh5OpJuZ7kVoBXU+I4bXvF4zghDHM3ZLfBaI1uJqjh\nCRsNn62jZ+romVKIl7YURAh2bCa8by/Rod2EB3cTHbStv2VDB8+zcqxznOBePWj88CJh5TnCynME\n0dcQMahWjXR4M9rfSbh7H+GB7R1og3E41j5GG1SiKVoa1WqhkzombaJvKMxnCIJpfK913Xm0iVCy\nyUbG2z7zLW1h3hbrbLzKKuG4N1gxnlBMzJKP18mnU1QjRaWlGJf5vOILHn8RZT3jlZRKxQryKE6J\nopQ4yvCcVeWmGK3R9SZqeIJibBIzW0fPNuxSb0CxMLFauqqEB3YRHdpDdGgP4cHdhAd3Ee7fhVd1\nUXHHqsYJ7pVEvFnC+MuElb8hrDyP588BkM/0kU9uwtR2Ee7ZR7hn65r1ZL9aXhiy7eFtK9sPx93h\nxg+0mhfmBtVK0a0GOmuhswzyFHQDjzkCv4yY+9ME5WfDYozxygwsWyhkcynCF9bbYp3NLjvLPWJe\njKvJOfLJBvlUC9XI7eRN5aOoUXhdV2VSAWtViaKUuJIRx1kpxjPiyApz5x2/HmMMupWgx6ZQo5Po\nuYZdZuroenMhbSGACP7WjYT7dhAe2EW4dwfh3u223bfDTdp0rAbuWnAHtz/EcT0FQfQyYeX5Mop9\nHgCdxWRDG1DpQWTTTqL9u6k+Nuiyi9yAT71k2/Us2DoZN37g+YLX5RN2gf0ovbEY0JmmSAx5Ymgl\nBbrVQKUpJsvLiHnDRsyDWcLgHJH/RQJ/GpHrxZuib9Fkzy0oNrUj5Ysngxq6nZ3lFojnIV01vK4a\n4a7rXzd5jpqpk43PUcykqNkU1SpQGah6QL1RZcbrx1zzZML3cqIoJYoXBHlcbkdRiu+rdTcsIoJf\nq+LvqRLu2X7VayYv0LN1itFJ1OQ0Zq6JnmuQvXCO9PNfwSRXT4T2Bnut+N6/k3DfzrYYD/buwN80\n4GwqjlWNi3DfIZ4/vmATib+C5yUYLeTTg+STGzDVHYQ7dhHu27ru/Nh3Q7P8HK25p4cdiRu/e0s7\nM0uqKRJQTYVKW5g0RWUZFAnMW1n8WcJgPmo+iSf5defTpnq9v7ydkWV+MugmNIMubeJdoJMUNVOn\nmKxTTNtJnLoU5IUKUFKl8Lqvi5B7Mi/Ic+I4I4wyojAjjHKiKCMMMxclx0bFyXLUbN0W8ZmeRTda\nbUGuG62rI+OA1CoEO7YQ7tlGsGsbwa4thGUb7NyKv3nQCXLHvcBZSu45khLGLxLGf0NYeQ4/tHns\nVKuLbHQQbbbhbd5BuHsH/uYBF8V2OBzLgs4NRWIzs6iWQaUJKk3QaYHJE1BNPFPH92YJw5lSmE/h\ne83rzmVMSCEb29lZiqsmgC5e3wTiHojeKW1BPtOgmExQ9TJCnlJaVioor4aW6+9YPS+3Ijy2IjwK\ncyvMS0EeRdm6jJTPY4yBvEA3W6ixKVtNs95E11ttIa5bLUivuRGNQjuJc/c2gl1brxLjwa6tBFs3\nIIF7jztuixPcrx2DFwwRVf6mtIm8iHgFRvlkE4MUjc1I307CnbsJdm1yXuzXyFcu2/bojpXth+Pu\ncOO3+tGFRrUMRWpQCWVO8xYqyzB5huimtbPIHEEwQ+hPEwRTBP7sdecyRspqn5sXUiUu9pwvmgxq\nxD3hux1GFeh6i2KmgZpuUcxmqGaGauXoHFTho4hRXg0llevsQSKKMLCR8igqBXmYE4Q5YZgThhlh\nmON5et0Jc6M1Js3Rcw3U5LRNY9hIMK3ECvNGy663rsnb7wn+xgH8bZusMN++2a5v30SwbRPB9s34\n2za6VIcO5+G+OzRB9DWi6ucIq5/HD6YAKOZ6SEZ2oePtBFv3Ej68jdhN1rinfOasbZ1g60zc+K1+\nvMDD64GwZ35PANSuO26xnSVPsD7ztFlmZsmvsrN4MksQXKAafInAn7qxz9z0oNiIko0oBtFlayeG\nDqIXrSs2YqitO7+5+AF+Xw9+Xw/svvExJi/QjSZqtomaaZHPZuhmikoKdAYq8chbES2vipIbW4Os\nMLfiO4wLwmBBjM8v8yJ9rQyBeB5SjfGqMcHmweteN1pjshzdaNlS99OzZVQ8xTQT1MgExbnLNFsp\nZNfbtbz+HivAd24h2LYJf/smgq2b8DcPEmwexN+yAX9jv4uWO65jHUa4jRXZtU8TVT6PF8zZKPbY\nRop0K97GXYR79jqbyBKTlJ9jFfegoCNx47c+MdrYSaCpQTW1zcqS1jFZE5NnoFo2ak4djya+X8f3\nZwn8OUTUDc+pTVQK8w1lFH0QxQZ02Vphvuh1BkDcGw8W8pCreinMZ1OKRo5u5ejUesq18lA6QHsV\nlFdF37CiqiHwcoIwI4wKuwQ5QVAQhGUb5IShbdd65NwUyoryuQZqZg49U29HxU0zQTdbdr2VXjex\nEwARvIFegs0b8LduINiyAX/zBvzNg/hbBu3+LXbb6+ly3vLOwllKbod4s8RdzxDXnsEPR2yFx9FN\nKL0Tf/t+ogOuPK3D4XDcS3ShUalNn6jSBJM2MXmCyVroXGFUhqgWQtMKdK+O788R+HP4fuOm51Wm\ntx0116VI1/SjpB+NXRT9aOmzLf1oetdtvnNrs8hsBLfeophpoeo5qpmVwtygC0ErH0WE8ipoia+b\n9DmPoAjagrwohfiCOA8XvRYE+Zr0nM9Hyk0rQU/Xy8mcTUySlUtio+ZJikntce3qnIuQOMLfXnO8\n5AAAEgVJREFUNFAug/gb+vE39uNv6Mcb7Ltq29/Qj3RVnUBfWZyl5GZ4/jiVnr8grj2NeDnZxCDJ\n3Cn8XYeJ3rDXFZ9ZIZ67ZNsHdq5sPxx3hxs/x53gBR5eAGGXD4RAzy2PnxfoeWpIU1VG0EuRnueY\nIgfdQkwLjyaeNPC9F4iCOXyvjudlNz23MYKmB02fFeYyYNexrRXn8/v60bIg3A1dHW17sTaLClQr\n+Bv6uVGMex6jFCZJUY0Wup6iGwtRc5XkmEyjC9CZoBKflJCmV0FL5aYCHTS+V4ryoMAPFEGoCPz5\n7fI1f/G6wlvFQl08D6nEUInxB/puepzR2k7yTDNMo4Wazz/eSiDN0ElmCzRdGSM/d8WK+CS9oTgH\nK9DbQnzTwFVi3N/QjzfQiz/Qi9ffU7a9SDV2In0VsHYFt7So9v4Jle6/BKNJLu9Ex0eIT9xP16qq\nTLk++ewrtnWCrTNx4+dYChYEOtivpxi49ee1LjQ6M+S5QacFOkkwRROdpaVILzCqAJ0iOkFo4UkL\n3xsm9F+i4jfwvfpNLS8AxgQoem2kXPoXCfJeu0hPud5jF+ldtN2Lprtj0i+K77dzlLP59scbVWCa\nqc3MUk/Q9YyikaGTwo5HptC5QSvB5B6F9skkRJf2FnNLe9ANhHqg8H2FHxS29a1wt/sUvr+w3/NW\n/gm+eB7EEX4cQW83wbZNNz22Lc6z3FpX6k070bOVQJaj0xyTppgkQ01MU1wZtQI9zSAvbt6JKMTv\n68Eb6MEf7LOivK/Htv29dn9/71Vi3evvsXYXZ629Z6xJS0lY+TxdA7+F58/SurQTXT1B9fQDeN3O\nMrJamP9sCNfuLd+axo2fo5Mx2mAKg8oNOrOLynJM3sJkCabIrJAsctAZYhK70MKTJp7XJPAbeF4T\n32veUqzDfHS9a0GAy2JR3rtIpHdh6C6P7UZLd7lds9t0A1FHR9sBTGZtFzrJ0I0EXWZoUa1SpOcK\nk6vS5gJGe2gToAgxXoSWEH0H/wcRhe8tEuNtwW4j6H4ZRfe9+XWN75X72qJ99frVjdZQKDvBtpVa\ncd5soZsJZBkmKzB5AWlmPelpBlmOye3+2wp1EaSritfThdfbhdfbjd/Xjdfbbbd7uvH6utuv2eMW\nbfd24XXX1ppod5YSACSl1ve7VLqfJp/ppzn9JNUnzuD3da90zxzX4IRaZ+PGz9HJiCdIJHgRiwqE\nhtwoi8uNMMqgc43Koci0jUjmKaZIrJgscrRSoBRGZ4jOwGQICUKCJy08b5LIa+F7VsB73vUZMW74\nu01QCnK7GOlBS3cp1rvawlzLYvFerksNTQ1DFUMNXbaG61MPLiUSRUgU4fW+up8zqsAk1nKhk8yW\njE8KK9STHJ0q+0Qj02hlMAp07mFSD218CglpSYT2ukrBfmdC0JMCb7Eo9xV+cI049/SidXuc583v\nt+uep8vl3gQ6xfMg8pAotHPQ7uDpvTHGvi8LBYVqW11006ZOJMmsGM+yBWFeZnXRU7Pkhf0fkxeY\nNAd9m0JNbdFesyK8q2bXu2vlk5QqXncVr6tmj+u2+6R7/rVr9tcqHSvg18zXpngzdG/4BYLoFZpn\nD+AffD3dj+9f6W45bsKXLtj2xE1SYjlWN278HOsZ8QXf9/ErAPP+9DsT61BG2LVB56ALQ5EbG6Us\nUit0VI4pMihyKxx1AaoAk4PJEZ0jkiKkeKR43hCBl+B5KZ7XsovcInJ5bX+MYKiWArxqRfm8OJfa\nwr5Fr123b/7npYJhfokxVMrzVl5z8STxA6QrgK4qdzP9dV48mjRDpxk6K9DNDJMqVFqUEWFlI+yF\ntovCRtkLwRgr3HN8Ui/ESAUtAYYQ86om5JYCXHQ7im6FvLlamC8W7aWgn3/NL4+TUsB7nsaT+e2b\nR+VFBIKgnbbQ667Bhjuz2RpjrMBW2mZyyXP7P2smdnJokqIzGzU3uYI8x+Q244vJc0yjRTE9Z8W+\nUhily2MLULd+SrToD7BpH2ulKF8s1qsVpBbbthoj1QperbKoLfeVr3td1UX7bCvVeMkE/ZoQ3J4/\nQc+mf4cnU9S/dobam9+I33/ryTmOleXz523rBFtn4sbP4bh7xBPEE7yrvoED4NVP4jfaYAyYwqAL\ngy6gKAy6UJg8w6gMU6SgMnRRChutbJYNpcEUYArEFAgZkCHkCBmeTOJ5Q3hehngpnpTLLSan3rKv\nxi8FeLwgymWh1SwW64sF+6LjiDFE17eyeN+N1mMkCJHw7gV7++9QVpzPR3lNbv3VKs0xmUKnCp1r\nK0aLUrwrg1HzLXbRVsQb41HgkUuAkQAjEVp8DAGG4K6ePggakXnxvVjAm3aUXUqRPi/i7ba5erst\n5M11rUQaLzZIn0bE4Hu2tcut3gcGCgXaCne0fUrUnkSaZpDm6Dy3lhelMEpBXj7ByIu2lUZNzlCM\nTNhJpvPv6fkIfl7AXdimJY6uFuK1ClKxQn77H/zsqz5f+7yd7uH+//7ed9F/+JcRpmmcf4Tub3oC\nqdxqDrZjNTA/AdvvzCdD6x43fg7H2scoYyPsRWnP0KbU5xqtCihSm9VEZaDtBFW0QusyEqoNxhR2\n3ai2sIcCobDCXvKF1svwJEe8HE8yRPLXJPBvhDbRjUW5xDC/T64V6wGGCCij2YRAiJGw3A7Kn73m\n9fZ6UP6OsiW46nVDiNE+Rom1wBSCycr/f+nD1pnCZLqMwOuFCHxRRornxbw2GD1/IyagBW3EriMY\nfIz4aPGhXDfiY/DR+Pcsdea84Lfie174m7bQt8K93F4s5MW0hX9bvF8l5G+yoBCjEGPfa2IURhWI\nypE8hSKDPEOyzK4XBegC0Va82/9fKeRV6Y2fj8QXRTuqryem331g7Ol33c3/ZNki3CLiAb8EnARS\n4HuBJ4H/Dfi8MeaflMf9DvD9xpjr6wtfQxxoevf/GiKTNM8/Svc3v8GVXO8QnFDrbNz4ORxrH2ud\nEW6cRzDi1dhoboeN/JZWGwVGW4FfKErBX7StNUZZ8W6FZoExCmMUKCs0MdpOKDTzQr9ssaFlabcF\nIgVQrpMh0kSkwJOiFP7l66IQscfbn1M3rLT6mvCwiXlioAsb/W6LcyuKmY9645dtgMEDCRZtl8fJ\n4u0yYm48ML49t7Yt2i+j7YIuPHQRoYoIXYToIrTrKsAUPlr5dl35aOVhVGBb7aO1jynXjfbsYvz2\ntsbH5PZ3anxU2TfTbhf+zoW/d4m+bPxyAYhNeYOwWMRfvY0YBMPWP/+hO8jdc2OW01LyrUDFGPOY\niDwK/HtsvqfXAx8UkYFy/ek7EdsAP/It44S1OeZePEP325zY7iS+WFoSTu1Z2X447g43fg6H414i\nviC+9SHcOMa6PN/v8xYdVGnVmW/LGwCjgHLbaI3RpTVCte8SbFRfaYzRiFYYUx5nTOmDNu2T2BuE\n8oRoyrsGMDZqu7APQCPtbVNuK5D5/RraNw7z+61XHFHtqDPo8oahPCZQi85j21czB2ApMcZOFDY6\nROvAThrWIUYHaBNgdPmaCdA6QquofH2+DdEqROsQbex2+1xlO3++hXPOn9+3+03QvnGob37oxN3+\nLcspuJ8A/juAMebTInIG+BKUz2nsO+UfA995pyf8W6fmqL9wgNqTpxE/hfwGJVYdq5IvnrORkVPb\nmyvcE8fd4MbP4XCsRaRc2it3HGAVFsKmKxv8s1q8vHEw1mKCsZq9vW6s5WRh+5pW24PN/E1E+aLo\n8ukBxt5QGG1vIsobAHuzwKJ99jiM2L4gCGWf7F0ERoOIaf/uRSsYDGJY6JzM98saZPAMeLr9h3to\nPMrXJAOT2n6VP2e95bp9fjDlzcq8vXohmm336UXrhpdr33PXunnZPNwi8p+A3zfG/Hm5fQH4+8A/\nAz6MFd7nsZaTXcDPGmNeuMF5vg/4PoBI5OS2XplSvr6zfEqOVYUx1ERwiq1DcePXubix62zc+HU2\nbvw6FvE9zLkxs+Nufng5I9yzXF3X1zPGPAM8IyJ9wHuAvwLeCvwo8HPAP7j2JMaYXwV+FUBEPntu\nWp9Z6o47lgYR+awxxo1fh+LGr3NxY9fZuPHrbNz4dS4i8tm7/dnlnPr0CeBtAKWH+28WvfZ/AT+F\nnYFROqRw1WocDofD4XA4HB3Pcka4Pwi8RUQ+iXXTfA+AiOwF+o0xz5aZTHYDfwb862Xsm8PhcDgc\nDofDsSQsm+A2xmjg+2+w/xzwzkXHfNurOO2v3pPOOVYKN36djRu/zsWNXWfjxq+zcePXudz12HV0\n4RuHw+FwOBwOh2O148pXOBwOh8PhcDgcS4gT3A6Hw+FwOBwOxxLSkYJbRDwReY+IfEpEPiYiB1e6\nT47bIyKfL8frYyLyfhF5VEQ+IyKfEJF3rXT/HNcjIo+IyMfK9YMi8oyIPC0iv1xOckZE3iUify0i\nnxSR161ohx1Xcc34PSgilxddg99Z7nfjt8oQkVBEfqu81v5aRP62u/46g5uMnbv2OgQR8UXkfaUu\neUZEHrhX195yZim5l9yoTPy3rHCfHLdARCrYOQNvWrTvi8C3A2eBPxWRB40xX1ihLjquQUT+T+C7\ngUa562eAf22M+ZiIvAf4FhE5DzwJPIItWPX7wMMr0V/H1dxg/E4DP2OM+feLjnkIN36rke8CJowx\n3y0ig8AXy8Vdf6ufG43du3HXXqfwdgBjzOMi8ibg32Az673ma68jI9xcUyYecAnkVz8ngZqIfFhE\nPiIibwRiY8zLxs7c/QvgG1a2i45reBn4O4u2TwMfL9f/HDteTwAfNpYLQCAim5a3m46bcKPx+2YR\n+R8i8msi0oMbv9XKf8MWgAP7ZV/grr9O4WZj5669DsAY8yHKaubAHmCae3Ttdarg7gVmFm0rEenU\naP16oQn8NPAUNj3k+8t988wBfSvQL8dNMMb8PpAv2iVmIa3R/Hhdey26cVwl3GD8/hr4l8aYN2Kf\nKr0LN36rEmNM3RgzVwqz38PWpXDXXwdwk7Fz114HYYwpROQ3gF8Afpt7dO11quC+UZn4YqU647gj\nXgT+c3k3+CL2jTq46PUe7J2kY/WiF63Pj9e116Ibx9XLB40xn5tfBx7Ejd+qRUR2AR8FfssY8zu4\n669juMHYuWuvwzDG/CPgPuC9QHXRS3d97XWq4L5VmXjH6uQfY732iMh2oAY0ROSAiAg28v30CvbP\ncXu+UHraAN6KHa9PAE+VE5l3Y29+x1eqg45b8heLJvZ8PfA53PitSkRkC/Bh4IeMMe8rd7vrrwO4\nydi5a69DEJHvFpEfLjeb2Bvdz96La69TbRg3LBPvWNX8GvDrIvIMYLACXGMf1/hYL9RnVrB/jtvz\ng8B7RSQCvgL8njFGicjTwKewN/D/dCU76Lgl7wR+QURyYBj4PmPMrBu/VcmPAAPAj4rIvB/4nwM/\n766/Vc+Nxu5fAP/BXXsdwR8A7xeR/wGEwA9gr7fX/N3nKk06HA6Hw+FwOBxLSKdaShwOh8PhcDgc\njo7ACW6Hw+FwOBwOh2MJcYLb4XA4HA6Hw+FYQpzgdjgcDofD4XA4lhAnuB0Oh8PhcDgcjiXECW6H\nw+FYg4hIRUTOrXQ/HA6Hw+EEt8PhcDgcDofDsaR0auEbh8PhcFyDiHRji0kNAC+V+54E3oUNsHQD\nfx94E3DIGPMvRcQHvgg8DHwA6MNWgv1XxpgPL/ff4HA4HGsRF+F2OByOtcP3A88ZY94I/Eq57xjw\nXcaYN2GrqL0D+F3gW0ux/U3AR4EDwEbg7cDfwwVkHA6H457hPlAdDodj7XAf8KcAxpjPlKWkL2NL\ngteBHcAnjDFzIvJx4Cnge4B3G2OeF5FfwYrxEPj5FfkLHA6HYw3iBLfD4XCsHb4MPAb8oYg8iBXO\n7wUOlCL7NwApj30v8EPARmPMl0TkONBjjPlmEdkGfBL4k+X/ExwOh2Pt4QS3w+FwrB3eA/ymiDwD\nfBVIsTaSp0WkAYwA26EdAT8I/GL5s18D3iUi34G1G/7Ycnfe4XA41ipijFnpPjgcDodjmRERD/gE\n8JQxZnal++NwOBxrGTdp0uFwONYZIrIP+DzwX5zYdjgcjqXHRbgdDofD4XA4HI4lxEW4HQ6Hw+Fw\nOByOJcQJbofD4XA4HA6HYwlxgtvhcDgcDofD4VhCnOB2OBwOh8PhcDiWECe4HQ6Hw+FwOByOJeT/\nB12FLV5Pf0B1AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Reference simulation visualizations\n", "\n", "We can also visualize the results of another simulation(s) as a reference for comparison of our main simulation.\n", "\n", "Here we simulate a model where no distancing or testing takes place, so that we can compare the effects of these interventions:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 299.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model = SEIRSModel(beta=0.147, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, initI=10000, initN=1000000) \n", "ref_model.run(T=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can visualize our main simulation together with this reference simulation by passing the model object of the reference simulation to the appropriate figure function argument (note: a second reference simulation could also be visualized by passing it to the ```dashed_reference_results``` argument):" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nvr3t61Qq1daolJaWyufzadCgQerZs6cefvhh3XLLLXrsscd05513avr06aqsrNS0adMO+tH9pEmT\nNGnSJEnShAkTjjgb8kPrNm35fhNuIpFo2wawq98ouT+fzydp303VhWT/Y9979+7NGygAQE7kZBh1\n/8Y5EAiooqJCknTrrbfqt7/9rT755BONGTNGCxYs0MSJE1VZWam1a9fmIhoMeemll/TSSy+ZjtGu\n5uZmJZNJeb1emrP9/PWvf9Vf//pX0zGO2P57c7e+aQAAINty0nAff/zxWrdunSTpnXfeOWD2MxKJ\n6PXXX9fll1+uUCgku90uy7IK9hRCpOecc87ROeecYzrGYbU2ZU6nU3a73XScvHLaaae1jYkVGpfL\nJbvdrqamJm6gBADkxCEb7rvvvluSNG/evA6/yM9//nPNnDlTkyZNUiwW00UXXdT22HPPPacpU6bI\nsixdffXVmj59ut59912NHj26w6+L/DV48OC838uZbQAPbcCAARowYIDpGBmxLEsej0epVEr19fWm\n4wAAugArlUqlDvbAxRdfrPPOO09//etfddlllx3w2B133JGTcO2ZMGGCFi1aZDoGMtB6w2tVVZXh\nJAcXjUa1c+dOud1uGu6DKJQZ/MMJhUKKRqOqrq6W1+s1HQcAUMQOucL91FNPadiwYXK73Ro0aNAB\n/wAdtXjxYi1evNh0jENqbGyUZVnsZHEIb7zxht544w3TMTrE4/HIsizV19crmUyajgMAKGKH3Hah\nf//+6t+/v04//XT5/X7V1NRo4MCBGj58eC7zoUidd955piMcUigUUjgcbmvI8HXf+ta3TEfosNbR\nklAopObm5rz9tAUAUPjS2hZwyZIl+uY3v6lnnnlGF198saZOnZqLbChi+bqPcyqVUlNTkyzLksvl\nMh0nb/Xr1890hE7hdDoVjUbl8/lUXl7O1o8AgKxo96fL0qVL9eKLL8rhcCgWi+m6666j4UaH1dXV\nSVK7Bx3lWjAYVDQaZRvAduT7DH66Wk+g9Pv9qq+vV8+ePU1HAgAUoXa3BUylUm2rPk6nU06nM+uh\nUPyWLl2qpUuXmo5xgNbVbZvNxt/zdqxYsUIrVqwwHaNT2O12uVwuhcNhhUIh03EAAEWo3RXuU045\nRbfffrtOOeUUrV+/XieffHIucqHIjRkzxnSEr/H7/YrH4xzhnoYzzzzTdIROtf8JlH369DnoKbcA\n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\nzgJgzpw5XHXVVVp/I1CapixatIi33nqLJEm44447+MQnPqHHXx0YqO5OO+00PfbqhHOO733ve7z+\n+usYY1i6dCmNjY0n5tiTOvT000/L/PnzRUTklVdekdtvv32YS6SOplQqybXXXttv3TXXXCM7duwQ\n77187Wtfk9dee22YSqcGsmbNGvnSl74kX/7yl0VE5LbbbpMXX3xRREQWL14sv/nNb2TLli1y4403\nivde3nrrLZk5c+ZwFlnVOLj+fvnLX8ratWv77aP1NzKtX79eli9fLiIie/fulWnTpunxVycGqjs9\n9urHM888IwsWLBARkRdffFFuv/32E3bs1WWXkoEeE69Gtm3bttHb28vNN9/MTTfdxB/+8AeSJGHC\nhAkYY+js7OSFF14Y7mKqGhMmTOBnP/tZdfm1117jkksuAeCzn/0sL7zwAi+//DKdnZ0YYzj99NNx\nzvHee+8NV5FVjYPrb8uWLTz33HPMnTuXRYsW0dXVpfU3Qn3hC19g3rx5AIgIURTp8VcnBqo7Pfbq\nxxVXXMGyZcsA2LVrF+3t7Sfs2KvLwN3V1VXtmgAQRRFZlg1jidTRNDU1ccstt7B27VqWLl3KwoUL\naW5urm5vbW3lwIEDw1hCdbArr7ySOO7rdSYiGGOAvvo6+FjUehw5Dq6/KVOmcM899/Doo4/ysY99\njFWrVmn9jVCtra0Ui0W6urq48847ueuuu/T4qxMD1Z0ee/UljmPmz5/PsmXLuPrqq0/YsVeXgXug\nx8TX/mNRI8/EiRO55pprMMYwceJE2tra2LdvX3V7d3c37e3tw1hCdTTW9v25qNTXwcdid3c3bW1t\nw1E8dRTTp0/nggsuqM5v3bpV628E2717NzfddBPXXnstV199tR5/deTgutNjr/788Ic/5Omnn2bx\n4sWUy+Xq+n/k2KvLwH2kx8SrkWn9+vXcf//9AOzZs4fe3l5aWlrYuXMnIsLGjRvp6OgY5lKqIznv\nvPN46aWXANiwYQMdHR1MnTqVjRs34r1n165deO8ZN27cMJdUDeSWW27hj3/8IwC///3vOf/887X+\nRqh33nmHm2++me9+97vccMMNgB5/9WKgutNjr3786le/4uc//zkAzc3NGGO44IILTsixV5fNwod7\nTLwauW644QYWLlzInDlzMMawcuVKrLXcfffdOOfo7OzkwgsvHO5iqiOYP38+ixcv5sEHH2TSpElc\neeWVRFFER0cHs2bNwnvP97///eEupjqMJUuWsGzZMgqFAuPHj2fZsmUUi0WtvxFo9erV7N+/n4cf\nfpiHH34YgHvvvZfly5fr8TfCDVR3CxYsYOXKlXrs1YEZM2awcOFC5s6dS5ZlLFq0iLPPPvuE/O/T\nJ00qpZRSSik1iOqyS4lSSimllFL1QgO3UkoppZRSg0gDt1JKKaWUUoNIA7dSSimllFKDSAO3Ukop\npZRSg0gDt1JKjULlcpnPf/7zw10MpZRSaOBWSimllFJqUNXlg2+UUkodqru7m7vvvpv9+/czYcIE\nADZt2sRDDz2EiNDd3c0DDzzApk2beOONN5g/fz7OOa677jrWr1/PvHnz6Orqore3l29961t0dnYO\n83eklFKjg7ZwK6XUKPHYY48xefJkHn30UWbPng3An//8Z370ox/xyCOPMGPGDH7961/zxS9+kWef\nfRbnHL/73e+49NJL2blzJ/v27WP16tU8+OCDOOeG+btRSqnRQ1u4lVJqlHjjjTeYNm0aABdeeCFx\nHHPqqaeyYsUKWlpa2LNnD1OnTqVYLHLxxRezceNGnnzySb7+9a9zzjnnMGvWLL797W+TZRk33njj\nMH83Sik1emjgVkqpUeLss89m8+bNXHHFFWzdupUsy1i8eDHPPPMMxWKR+fPnIyIAfOUrX+EXv/gF\ne/fu5dxzz2X79u10d3ezZs0a3n77bWbPns3ll18+zN+RUkqNDhq4lVJqlJgzZw733HMPc+bMYdKk\nSRQKBaZPn87cuXNpbm5m/PjxvP3220BoAd+xYwdz584F4KyzzmLVqlU89dRTeO+58847h/NbUUqp\nUcVIpblDKaXUh4b3njlz5rB27VqKxeJwF0cppUY1vWlSKaU+ZP72t79x/fXXc9VVV2nYVkqpIaAt\n3EoppZRSSg0ibeFWSimllFJqEGngVkoppZRSahBp4FZKKaWUUmoQaeBWSimllFJqEGngVkoppZRS\nahD9P/ZemccEcUzQAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, shaded_reference_results=ref_model)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 2 } seirsplus-1.1.0/examples/.ipynb_checkpoints/network_model_demo-checkpoint.ipynb000066400000000000000000006620031375244156600302420ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SEIRS+ Network Model Demo\n", "\n", "**This notebook provides a demonstration of the core functionality of the SEIRS+ Network Model and offers a sandbox for easily changing simulation parameters and scenarios.** \n", "For a more thorough walkthrough of the model and use of this package, refer to the README." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and Importing the model code\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```sudo pip install seirsplus```\n", "\n", "Then, the ```models``` module can be imported into your scripts as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "import networkx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. In this case, the easiest way to use the module is to place your scripts in the same directory as the module, and import the module as shown here:*\n", "```python\n", "from models import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generating interaction networks\n", "\n", "This model simulates SEIRS epidemic dynamics for populations with a structured interaction network (as opposed to standard deterministic SIR/SEIR/SEIRS models, which assume uniform mixing of the population). As such, a graph specifying the interaction network for the population must be specified, where each node represents an individual in the population and edges connect individuals who have regular interactions.\n", "\n", "The interaction network can be specified by a ```networkx``` Graph object or a 2D numpy array representing the adjacency matrix, either of which can be defined and generated by any method.\n", "\n", "*Here, we use a ```custom_exponential_graph()``` generation function included in this package, which generates power-law graphs that have degree distributions with two exponential tails. For more information on this custom graph type and its generation, see the README.*\n", "\n", "**_Note:_** *Simulation time increases with network size. Small networks simulate quickly, but have more stochastic volatility. Networks with ~10,000 are large enough to produce per-capita population dynamics that are generally consistent with those of larger networks, but small enough to simulate quickly. We recommend using networks with ~10,000 nodes for prototyping parameters and scenarios, which can then be run on larger networks if more precision is required (for more on this, see README).*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "numNodes = 10000\n", "baseGraph = networkx.barabasi_albert_graph(n=numNodes, m=9)\n", "# Baseline normal interactions:\n", "G_normal = custom_exponential_graph(baseGraph, scale=100)\n", "plot_degree_distn(G_normal, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Epidemic scenarios of interest often involve interaction networks that change in time. Multiple interaction networks can be defined and used at different times in the model simulation, as will be shown below.\n", "\n", "*Here we generate a graph representing interactions during corresponding to Social Distancing, where each individual drops some portion of their normal interactions with others. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Social distancing interactions:\n", "G_distancing = custom_exponential_graph(baseGraph, scale=10)\n", "plot_degree_distn(G_distancing, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This SEIRS+ model features dynamics corresponding to testing individuals for the disease and moving individuals with detected infection into a state where their rate of recovery, mortality, etc may be different. In addition, given that this model considers individuals in an interaction network, a separate graph defining the interactions for individuals with detected cases can be specified.\n", "\n", "*Here we generate a graph representing the interactions that individuals have when they test positive for the disease. In this case, a significant portion of each individual's normal interaction edges are removed from the graph, as if the individual is quarantined upon detection of infection. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*\n", "\n", "For more information on how testing, contact tracing, and detected cases are handled in this model, see the README." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEICAYAAABMGMOEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHZVJREFUeJzt3XtUlHXix/HPAILGZRVpSwIVvJw0u6yR7m6op4Lsopke\nDLxgpnZdKTQVo0AUQs1dq5W0+1ZYiSJdtuh04VismrppaGLqrnlDzBtognKd5/eHv2YjR+YhYWbQ\n9+scz3Ge+fI8H74on3luMxbDMAwBAOCAh6sDAABaBwoDAGAKhQEAMIXCAACYQmEAAEyhMAAAplAY\nAABTKAwAgCkUBgDAFC9XB2gO/fv31xVXXOHqGADQqhw4cEDr1683Pf6CKIwrrrhCeXl5ro4BAK3K\niBEjmjSeQ1IAAFMoDACAKRQGAMCUC+IcBoDzV1tbq5KSElVVVbk6CppZ27ZtFRISojZt2pzXeigM\nAJKkkpIS+fv7q2vXrrJYLK6Og2ZiGIaOHTumkpIShYWFnde6OCQFQJJUVVWljh07UhYXGIvFoo4d\nOzbLniOFAcCGsrgwNdfPlUNSAOwqr6xRRXVds63Pz8dLHXy9m219cD4KA4BdFdV1yt1Y0mzri7k+\nxG0LY9euXUpLS1N2draro9j10Ucf6c0335Snp6d69uyptLQ0eXj87wBRaWmpkpOTVV9fL8MwNGfO\nHIWHhzd7jguiMOqthvaXnWp0DK9uALRGVVVVeu655/TPf/5T7dq109SpU7Vq1SrdcssttjHPP/+8\nxo4dq6ioKP3rX//SwoULlZWV1exZLojCsBqGw1dC7vzqBoCUl5enVatWqaqqSkeOHNG4ceNUUFCg\n//znP5oxY4aioqL0ySef6I033pCHh4euv/56TZs2TT/++KPS0tJUXV2tI0eOKDExUVFRURo6dKj6\n9eunHTt2yGKxaPHixfL397dt7/Dhw5o2bZoMw9Cll15qW75hwwY9++yz8vT0VGhoqObMmaP6+nrN\nmDFDhw8fVqdOnfTvf/9bq1evVnx8vAIDA3XixAm9/PLLSktL0969e2W1WpWYmKj+/fvbXd8vL299\n9tlntWnTpgZz8dprr8nb+8zvK29vby1btkzt2rWTJNXV1cnHx6fB+KSkJNv3Vl9ff9bzzeWCKAwA\nF4bKykq9/vrr+vjjj/XGG29o+fLlWr9+vd566y1FRERo0aJFWrlypdq1a6fp06drzZo1slgsuu++\n+9S/f39t2rRJixYtUlRUlCorK3XnnXcqJSVFjz/+uAoLC3XnnXfatvXiiy9qyJAhuueee5Sfn693\n331XhmEoJSVF77zzjjp27KjnnntO7733nk6fPq2QkBD9/e9/165duzRkyBDbeoYMGaLo6Gi98847\n6tChgzIzM1VeXq6xY8fqo48+sru+e+65x/b1U6ZMaXROPDw8FBQUJEnKzs7WqVOndOONNzYYExgY\nKEn64YcfNH/+fL3wwgvn/bOwh8IA4DZ69eolSfL391e3bt1ksVj0u9/9TtXV1dq3b5/Kysr0wAMP\nSDpTLvv27VNERISWLFmi3NxcWSwW1dX970R97969JUmdOnVSdXV1g23t2bPH9ou7b9++evfdd1VW\nVqbDhw8rMTFR0pnDQX/+859VXl6ugQMHSpK6detm+wUtyXZvw86dO7Vx40Zt2bJF0pk9gXOt75cc\n7WFIktVq1YIFC7R7924tWrTI7lVP69at0+zZs/XMM8+0yPkLicIA4EYau/wzJCREnTp10uuvv642\nbdooLy9PvXr10vPPP6+RI0dq0KBBWrlypd577z1T6+vWrZu+/fZbXXnllfruu+8kSR06dNDll19u\nO3xVUFCgSy65RLt27dK3336rqKgo7du3T+Xl5WdtIzw8XJdffrkeeughVVVVacmSJedc3y852sOQ\npNTUVHl7e2vx4sUNTnb/bN26dXr66af16quvtuhHPVAYAOzy8/FSzPUhzbq+8xEYGKjx48crPj5e\n9fX1uuKKK3T77bfrtttu0zPPPKOXX35Zl19+eYNf5o15+OGHNX36dOXn5ysk5Mz36eHhoSeffFIP\nPPCADMOQr6+vnnnmGf3hD3/QzJkzNWbMGAUHB9s9RxAXF6ennnpKY8eOVUVFhUaPHn3O9TVFcXGx\ncnNzFRERoXvvvVeSNG7cON1www166qmnlJWVpczMTNXW1mrmzJmSzuz1zJkzp0nbMcNiGIbR7Gt1\nsqHD7tbNkxv/IcRcH6LQwEsaHQNczL7//nvbISE0tGnTJp06dUqRkZHas2ePJk2apC+++MLVsZrE\n3s93xIgRTfosIfYwAMCB0NBQTZ06VVlZWaqrq1NqaqqrI7kEhQEADlx66aVue1OfM/FeUgBsLoAj\n1LCjuX6uFAYASWc+M+HYsWOUxgXm57c3b9u27Xmvi0NSACSduWy1pKRER44ccXUUNLOfP0DpfFEY\n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\n9Pvf/15S0/+vt+rCONcd4e6mbdu2mjhxol577TXNnj1b06ZNc6ucgwcPbnAXvWEYslgskiRfX1+d\nPHnSVdFsfp3xmmuu0YwZM/T2228rNDRUL7zwggvTneHr6ys/Pz9VVFTo0UcfVWJiolvOpb2c7jif\nkuTl5aWkpCSlp6dr6NChbjmf0tk53XE+8/LyFBgYaHuRLTX9/3qrLgw/Pz9VVlbaHlut1ga/VNxF\nWFiY7rrrLlksFoWFhal9+/Y6cuSIq2Od0y+PYVZWViogIMCFaeyLjo62XQ4YHR2tbdu2uTjRGQcP\nHtS4ceM0bNgwDR061G3n8tc53XU+pTOvij/99FOlpKSourrattyd5lNqmDMyMtLt5nPlypVau3at\n4uPj9f333yspKUllZWW2583MZ6sujNZyR3hubq7mzZsnSTp06JAqKip06aWXujjVufXu3Vvr16+X\nJBUWFioiIsLFic42ceJEbdmyRZL09ddf66qrrnJxIuno0aOaMGGCpk+frpiYGEnuOZf2crrjfL7/\n/vt66aWXJEnt2rWTxWJRnz593G4+7eWcPHmy283n22+/raVLlyo7O1u9evXS/PnzNXDgwCbNZ6u+\nD+Pnq6R27txpuyO8W7duro51lpqaGj3xxBMqLS2VxWLRtGnT1LdvX1fHaqCkpERTp07V8uXLtXv3\nbqWkpKi2tlbh4eHKyMiQp6enqyM2yFhcXKz09HS1adNGQUFBSk9Pb3B40hUyMjL0ySefKDw83Lbs\nySefVEZGhlvNpb2ciYmJWrBggVvN56lTp/TEE0/o6NGjqqur0/33369u3bq53b9Nezk7derkdv8+\nfyk+Pl5paWny8PBo0ny26sIAADhPqz4kBQBwHgoDAGAKhQEAMIXCAACYQmEAAEyhMIAmqq6u1s03\n3+zqGIDTURgAAFPc7300ADdUWVmpadOm6aefflLnzp0lSTt27FBGRoYkqX379srMzJSfn59mz56t\nrVu3KigoSAcOHNCSJUuUlZWl48eP6/jx43rppZf06quv6ptvvpHVatX48eN1++23212fv7+/y75n\n4NcoDMCEZcuWqWfPnpoyZYo2b96s9evXKyUlRZmZmerevbtWrFihV199VVdffbWOHz+u3NxclZWV\n6dZbb7Wt449//KPGjx+vr776SiUlJXr33XdVXV2te+65RzfeeKPd9U2ZMsWF3zXQEIUBmLBnzx4N\nGjRIknTttdfKy8tLu3bt0uzZsyWd+VCirl27ytfXV9ddd50kKTAwsMHbb4SFhUmSdu7cqeLiYsXH\nx0uS6urqdODAAbvrA9wJhQGY0K1bNxUVFSkqKkrbtm1TXV2dwsLCNH/+fAUHB2vjxo06cuSIfHx8\n9MEHH0iSTpw4oT179tjW8fPbSIeHh6t///5KT0+X1WrV4sWLFRoaand9gDuhMAATRo0apRkzZmjU\nqFEKDw9XmzZtlJaWpqSkJNXV1clisejpp59W165dVVhYqLi4OAUFBalt27Zq06ZNg3XdfPPN2rBh\ng0aPHq1Tp04pKipKfn5+dtcHuBPefBBoRrt27dL27dt15513qry8XEOGDNGqVavk7e3t6mjAeaMw\ngGZ06tQpPf744zp27Jjq6+s1duxYDR8+3NWxgGZBYQAATOHGPQCAKRQGAMAUCgMAYAqFAQAwhcIA\nAJhCYQAATPk/4388ATq3DwQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Quarantine interactions:\n", "G_quarantine = custom_exponential_graph(baseGraph, scale=5)\n", "plot_degree_distn(G_quarantine, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initializing the model parameters\n", "All model parameter values, including the normal and quarantine interaction networks, are set in the call to the ```SEIRSNetworkModel``` constructor. The normal interaction network ```G``` and the basic SEIR parameters ```beta```, ```sigma```, and ```gamma``` are the only required arguments. All other arguments represent parameters for optional extended model dynamics; these optional parameters take default values that turn off their corresponding dynamics when not provided in the constructor. For clarity and ease of customization in this notebook, all available model parameters are listed below. \n", "\n", "For more information on parameter meanings, see the README.\n", "\n", "*The parameter values shown correspond to rough estimates of parameter values for the COVID-19 epidemic.*" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "model = SEIRSNetworkModel(G =G_normal, \n", " beta =0.155, \n", " sigma =1/5.2, \n", " gamma =1/12.39, \n", " mu_I =0.0004,\n", " mu_0 =0, \n", " nu =0, \n", " xi =0,\n", " p =0.5,\n", " Q =G_quarantine, \n", " beta_D =0.155, \n", " sigma_D =1/5.2, \n", " gamma_D =1/12.39, \n", " mu_D =0.0004,\n", " theta_E =0, \n", " theta_I =0, \n", " phi_E =0, \n", " phi_I =0, \n", " psi_E =1.0, \n", " psi_I =1.0,\n", " q =0.5,\n", " initI =numNodes/100, \n", " initE =0, \n", " initD_E =0, \n", " initD_I =0, \n", " initR =0, \n", " initF =0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checkpoints\n", "Model parameters can be easily changed during a simulation run using checkpoints. A dictionary holds a list of checkpoint times (```checkpoints['t']```) and lists of new values to assign to various model parameters at each checkpoint time. Any model parameter listed in the model constrcutor can be updated in this way. Only model parameters that are included in the checkpoints dictionary have their values updated at the checkpoint times, all other parameters keep their pre-existing values.\n", "\n", "*The checkpoints shown here correspond to starting social distancing and testing at time ```t=20``` (the graph ```G``` is updated to ```G_distancing``` and locality parameter ```p``` is decreased to ```0.1```; testing params ```theta_E```, ```theta_I```, ```phi```, and ```phi_I``` are set to non-zero values) and then stopping social distancing at time ```t=100``` (```G``` and ```p``` changed back to their \"normal\" values; testing params remain non-zero).*" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "checkpoints = {'t': [20, 100], \n", " 'G': [G_distancing, G_normal], \n", " 'p': [0.1, 0.5], \n", " 'theta_E': [0.02, 0.02], \n", " 'theta_I': [0.02, 0.02], \n", " 'phi_E': [0.2, 0.2], \n", " 'phi_I': [0.2, 0.2]}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running the simulation" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 0.00\n", "t = 10.01\n", "[Checkpoint: Updating parameters]\n", "t = 20.01\n", "t = 30.01\n", "t = 40.02\n", "t = 50.04\n", "t = 60.01\n", "t = 70.06\n", "t = 80.05\n", "t = 90.04\n", "[Checkpoint: Updating parameters]\n", "t = 100.00\n", "t = 110.03\n", "t = 120.01\n", "t = 130.05\n", "t = 140.03\n", "t = 150.00\n", "t = 160.03\n", "t = 170.00\n", "t = 180.05\n", "t = 190.01\n", "t = 200.00\n", "t = 210.07\n", "t = 220.01\n", "t = 230.00\n", "t = 240.04\n", "t = 250.04\n", "t = 260.01\n", "t = 270.01\n", "t = 280.03\n", "t = 290.02\n", "t = 300.01\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.run(T=300, checkpoints=checkpoints)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing the results\n", "The ```SEIRSNetworkModel``` class has a ```plot()``` convenience function for plotting simulation results on a matplotlib axis. This function generates a line plot of the frequency of each model state in the population by default, but there are many optional arguments that can be used to customize the plot.\n", "\n", "The ```SEIRSNetworkModel``` class also has convenience functions for generating a full figure out of model simulation results (optionaly arguments can be provided to customize the plots generated by these functions). \n", "- ```figure_basic()``` calls the ```plot()``` function with default parameters to generate a line plot of the frequency of each state in the population.\n", "- ```figure_infections()``` calls the ```plot()``` function with default parameters to generate a stacked area plot of the frequency of only the infection states ($E$, $I$, $D_E$, $D_I$) in the population.\n", "\n", "For more information on the built-in plotting functions, see the README." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ndEX98BuZ73oMUfl3+yVJURe2q1gF/+EHDsMwVPCPf8n3wykQY/r0VFSbFpJhqOCfH5/0uvEDeqvp\nP5+RJPkKT2hXSv+THuOIi5FRVCKpogvxN1+j8gN5cn8wv9LjEu8dqkZPPRDwa8FPjNIy/w/3ZkQk\nNz7tb5Ejz0tWRPMmKv3ZSrdUcVajyNbJir74AjkcDv/WM6niQ5Gudq2q/G/T8JTLV+BW4xfGmc75\ncwzcIeArKZVn227lXvc7/7HoSy9SbK9ulX6tl1l6SJLYww1JPww9R4+r8L2fhp24X12h5Jkv2JjK\nnHN9D3fphm2V/nsPJUdcjCKaNFT5nv2St/LnBuL6XylX25ZytWqmuncMrFj9LC9X6botOjZljk7M\nW37K14y5sutJK3jST8NW8r9eVdzVPar8Dd3PJf5+hBpNuLd6X9wpGIahQ3c9KffH/3vSfZGtmylh\n4LW2Xp/Am5fvH9AS775NzroJ8ny3X5KhyOTGKt22S8WLvpBckZKn3P88R3SU6t41uMbvjS7ff1iF\ns/8tlXtPuq/54ne071d3KTnjVfncRXJ/skxNJj9e6TMoRnm5cpL7SJJSDq2UUVLm/41NcuYk7U8b\nW/WbRzgV1/9KOeNi5GrdQr7iUhV9+oWM0jJ58wvkjItR7LWXyHfcraKFVf+Gpc6ogYpManDK+7zH\nCuUrcCuyeRP/NoGynL0qXb9NviPH5TtW4H9s7NU91OjZB3XoD8+pdN2Wyi/kilTCrdcrsnmSjOLS\nShepKz+Yp8LplT+k22rDv+RqluT/QbLxiw/JEeXS8akZyhv/mlxtW8qzc6/i+l6mpjOfP+lzPSXr\nvtWJBSsVe1V3Hbzzr2r8xngl3FR7PuD6S/uHPayipV+ddDzq4vaKvvgCGaVlMkrK5IiNrvQ5LMMw\nZBSXqvz7Qzoxd6mcjeor9tpL/D+UFWYuUXlOruJu7KXojqe+QrL3yDH5ikvkanH6UwAzcNs8cJ/q\nJ/W4vpcqulvHkx6731sqSUqOqNl/AcNahR8tVvnuff7b8Tf3VpN3n64xK2CnsndvxT64li1b2pwk\nvEo3bJPr/PPkjPvpcxdGmUc5za/133Y2SJTvaMWVNx2x0TKKSyu9hrNuguJ/3UeFH/z0DTm6W8eK\nFfJduYps0VQxXVPlTIiXr7hUEY3q/bQ6aBgqXvFNlSuqURe2q7QCeyqu1NaK73flKbcanFi8SmUb\ntkmSmv97io7/c67ccz6Vq1M7xVx8gYq/XK/IVk1VsvzkC07Ve/B2NfzrPScdP52S9VsV3SHlp1VI\nn6/2OxAAACAASURBVE95D7/iv07BjyLbtlTMpRcpMrlxjblM+8/3tf+Sr6hYRrlXEXUT5D16XI6Y\naBnl5Yqom2BxyuozDEPuzCUVfxcFWGn+8Qc0STr60j+V/+J7kiRnw3on7YE/negeFyquz6l/ff9L\n3sIiFS3+QuU5uZWOuy5oo/ibrq5WT37cyx7ZrqXKd/xib2+US/EDrpYjMlIRjRvIV1yqyIZVX1nX\nMAzp/7P3ngGSXOWh9lOpc5qcZ2d2Z3PWapUzCiCUEJKQAEnYBBvjaww22FgGXxs+g3EADBjbmGtj\nkgEhkmSEkBASytLmHCennu6ZzqnC+X70Ts/0dk/apNVuP392+9SpU6d6qk+9542mRXb3IdJlMsl4\n7rkJ//vvYvCG9884Rusz/0Xq8ecZ/2x5K5j/fW/Hfdu1mMFxPLdfO7+bPEGEaZLdcQDbyiWnPZXx\ndAWGbd0yRE7HHI/ivGgN2jwCpKcz3boyvQ1JOul3akXgfh0F7ti3fk7yF78tpGmSfZ588Nw1m89q\nYanC2YWVyRL9crHfqP3itbQ+OlVtNf3CdiSHDUeZjVyFU4cZS5B64gVc12wm/shThB/6Esgygf/z\nTpAlrPEYsW9OBWi5774JW0czZjyJGZrA1tmKMEwQAiuVRva4wTCQ7DaEZSFyOuR05AUKYrnDfaSe\nfAkRT87aT1vRib6/G3VRM7LbgfPKTbNeS+R0Il/6dlGb2taA++aris4zRkJkdx/G6BvCCkcL7fX/\n8pd4776p6PzQX30V52Ub0LrasS3Jb8iEaRL8g8+QeORJ5ICX9pe+S/Ajf0fqF88VzrNtWoXrms1n\njYB9PmNG4sSOq9RZDu8730r8u4+VHlCVIo252tmK7HWhttSTfvoVlPoatGWLsK9btuCMTWY8Sfrp\nV9AP9CC5HPjee+cpsSLEf/B4wT0FwHHVhTg2rz6h5zH2rZ9jjoROek6zUfPXH8L77lsI/dk/oTbW\n4v+9e1AbaxGGgUhnkb1uhGVhRRMlaexENkfyF8+h1FeT+OnT+H/nDmwrOsnuPULm5Z2YYxNFrkYN\n//5/8bxt/u4e8yX90k6sWJyRd+V9ou0XrcV51aazVn6qCNxnWOC2EilGP/hpRE4n/eupIDjnmy7G\nvnHlrA9K2MoBUCPPL6ilwvmDEAIMk8TDT2AMjM7YT6mromPv7HmEzwTBYN49qr7+3HKPCv3lPxP9\ntx/O3ZH8pmhSy3emmNTUWJF4IbWbtrQdtaMF++ouJE3NP0tCzFtQENkckX/+TuGz84ZLcGwoX4VR\nCIHRM0Ti4ScKbWpbI+1bfoAkSaSeeY3huxYe6GS/cBXOa86vCrxnO5ZhYPQMoTTUIDJZZLcLZInU\nEy+gH+gp6uu4dD0AmRd3IFf78bz9BiSHjdi/Pwx2Dd99Ny94kzkXwrLAME+5u5EZjWOGIoXN4olg\n6QZWOILePYBc7Uck00VB877fuQPZ70UoMslHnsSKxLEmplxbZL8X+8YV2DesQMgSVjhK5tVd6Htn\nD9zUutrRD/eVti9po/2lKaXOZGD0Qqj76kP47in1a58NYVn0rLgVpaGGlke/WpSeL/KvPyD8yS8X\n9Z902TpbqQjcZ0Dg1vuGCX/qKyQfe3bGPt733olaPbO5CSo+3BXmR+5w34xZDiAfeDepxfTcdi32\nNeX90k4n55IPd/JXL6LUBlAba+f0X57E88BtqPXV54yAKCyL3L6jaIua55VdwRyPEvvGwtdepa0R\ns3+k8FnrasNx1YWoNYEFj1Xh9UPvHSrkFFc7mvOFlFSlkJ1pusbZTKSQ3c5z5rdyoggh8sXYNBX3\nm68o2RBbuoFIplEC3hlGyFukcvuPkvrlCwu+vrZ0EQ1f+yRD7/iTIivVTNjWdKF2NJN6dEru6ez7\nFbJz/mmNgx/5O+LHAkqVuiranvsWwQ99plBkZhKloQbHZeuxdS1awB2deSoC92kSuOMPP0Hwg58u\nBI2UQ1u1OK/Vttvm9cIYtfK+nQ1yxYe7wuzkjg4gaQq5PUfQj/RjW9GJ2lJP8ufPzHhO3Zf+HN87\n3wpA5N8fJvzQl2h/9ftoHc0znnOiDA7mfc5bWlpO+dinCiFE/vvrHcK2ogOtvRlJU/N+iauWkHl5\nJ0Nv+3DJeZLTjlzlw3nNZtS66nxudqcNbUl73n9UUwsBOec7xmiY+HH+19qqxUiqitrZjH6wr5B2\nznPvW9DaGvPBwqNhckf6sS3rQK2rVCt9I5J+9jUyL+/Cdds12Jd3vt7TOa8QpknkK9+DnI7r9mtR\nm+vIPLuF3J4jyH4PSks9IpFGbW8it/dIIcZkOmpXO46L1qA01KIf7Mlnc1EkhG4hu53YlrQi+zxF\nLo/2C1bS8rOvzCv15HyyjqiLmnHdcCmyz3PShe7OBBWB+zQI3EZwnN7Vt5c9Zr9wNY5L1iMQyHZb\nxd+wwhkls20f6SdLI7knaXvh2/Rf9u6itsbvfA73jZef7qmdFYT/5l+JfPk7c3ecAaW5Hud1F81a\nIKlCMZZlkX1pZ35juKYL+4YVJdrMycJRFSpUOHXM93dlxo4VOjom7WmrlmBft6yk6vKM5x/n0794\n8NeMf+4buG64FCuZRutsQVvciiRJGGMTJH/yFKG/+FKhv+8DdxcVWgKQvG78v3f3G2pdqAjcp1jg\nDn7088S/9fOSdvsVF+A65qd2oowd8+Guq/hwVzgJhGXlfXQVBSunk9tzGHMiRm7L3lnP873v7chu\nJ9WfeN9Jl5YfGcm7BTQ2zm/BPh0I3cAYCaG1NWJlsgzf+7GiojHzQa72oy1bhNbRApKEUu0vykhS\noUKFCucCQgjMsQmErp9QPv3M1n2ky6Ttm8Rzz00kfvgETBMplbZGHJtXY1vSjsjpJH7yFIh8elNJ\nVYsqwL4ROFmB+8zW6j3LiXz1e0XCtufdt2CNTSB5nGidrSc9/m/1fLqkig93hZNhulVFtmk4Nq7M\np5jbfahQ7c62cSWOzWuIf+dRRDINUAiyMyfi1P/jn57UHB5//HHgzPhwHx8EmNm6l8RPfl0oVnA8\nSkMNSmMtktOBbc0SzMEgqcefL7wI1CVtKDUBlIYatI7msz5PcoUKFSqcLJIkzZirfD44LliJ0lRb\nUuRnkkmf/kL/yzfguGR9Yd2WbBreBQZdnmtUNNyUupDY1nThuu7ieZfInS8VDXeF04kQApHJInI6\nstddWOiMcITMs1tKotf9H7oX7z1vxr5qyYKvdSY13OOf/3+FFFWBjzxA5Av/PWNf55suwb6ma8bM\nBVY8ieR0IKknp+GvUKFChfOR+MO/wugewLZpFfaVixFmPt1p8ke/QrLbUBpq8sVqVix+vad6yqm4\nlJykwG2ls4WqWHCsjPANl56zvtl5ZaGELIuiNtNUOHq0i3jMz6rVu3A60/Mes6+vHV23sWTJ7AU4\nTgWRSIAjh5exqOMoNTUhzpT7VzhUgyQLqqvHz8wFTwNWTif+nUexQlOFKeQqH4v2/Qz5JF1MTjVW\nKsPATR/AefnGGbNh2NcvR2lvBN3MBzp63SjnUOaQChUqVDjbEJaFGYmjVPnOu1iNikvJSaAPjDL6\n3k8WPmurluC8+sLTJmyfDVlK+vsWMTZWx4plOwmGWhkfry3pc3hbA2sv65nXeJYlMRbMazl3bl3L\nqrX72L9/Jdmsk7b2HurqgkVCsRDQ29uBTcvi88fIpF1EIlW0tfdgt+dmvVY65eTI4WUA9PYsprcn\nv4P2eKOYhsbKVbtPuQAuBEQiVfT05LXA3UcpuyERAkxDBQlk2Sza0JwtyDYN79tvKMozbU3EmPjb\nr1P95+9DZHPkDvVijoZRGmtxbFgx41gnm6Uk+o1H0PtHqP6TB0FTkR12hGUR/uuvoR/oKZT41fd3\nA2Bbu4zcroMAKO1NOC9cjXYSeXIrVKhQocLCkWR5xhTI57KwfSo4LzXcvZvuwegbLmpz3X4d9mWn\nNwfk652H2zRltm+bX6GOTRe+MmefcLiGnu7Z3RHc0hArNuVL8aZTToaGWohEyviRCYv1G7ehqmbp\nMSCddrJ3z9pZr6VYKdZt2oskWwsWvHNZG0gCm00vtOm6ys4dF5Ttv6JrKwMjXSQSPqprQoyHa4Cp\ni+bbalm5aheapqOqxhnTxs8XYVkkfvhEyW9hOouHn86XxD1OA34yebiNoSC9699e3ChJRcE2x+O+\n83q0jhbMiRhKjb+ysJ+nCEtieKQJny9GZKIKtydBVdXESY87MVHF0SNLWb1mKw6HcQpmOjdCcNat\nCRUqVJiZikvJAgVuMxyhZ8WtRW2OyzbguGzDaX+Jv96VJkdHGhgYKN1USMJESAoN8ScZ9ebda9z2\nMCvWHgHywuiuXRuQZZMlXYdQZJP+/naSyakE/d7MPuKO8tXpGgP7kVwehofmDjx1u2OsWLm/qG1i\nvIqjR5cWPjcsjjJ6dPYiQwDV1SFq68bQNB1NyxVtNrq6DjAxUU1j0xCybLFr50YA7PY0DY0jVFWN\ns2P7pqn7yx7E1tlAeGju687EylW7cblSJ3z+6cBKZ4l+pbisvOz3YEUTRW2tv/1mkU/eiVaaFJbF\n0YarZ+1j37wGxyXrEJn878UYGMG2cvFJZ1ap8MZn0qVsOh0NO6lpy5BMurEsGa83vqAxczmt8PuH\nvMVs6dKDp9xKZRgKI8PN+P0RNJvOnt3rAFi/YcuMioYKFSqcPVQE7hkEbiuTxRgcxbakHQD96ABK\nYy3J/32W4Ac/Xejnue9mtNaFp8h5I5DL2ZAlC1UzEAK2brkIALsWJ6t7qUm+iPfuG5FdDoRugCyR\nDpmM/HYqSX5bew/B0Uay2ZlTpVWlthJ415vo/nFe01SX/C2e++9gYleUyCED1YhhqL6ic2pXyozv\nSVOXfYHcuuuZOFT8wvH7J1jU0UM06i+4jgAE0tuovv9GhGUhsrlCgGDo1Qjx/tPz0mrQtuK65U1I\nioplGPT8ZGaNmi+zm5hjzYzHV6zcgcuZQzqLXE6McBR992HsF61GkmUkuw1jbJz4f/20qF/rs9/E\nvnLuQBgzHGHo7o+i1FfT9L2/J7fnCMlfPsfE575R6CP7PfgevB0zmSb+3z/LF0C47mJkp/2Ul2qu\nUEoq5eTo0S5kyaJr6T5sNqtwzLIkcjkbDkf2dZxhKamUi317Z/5tTWfx4v1UVcfm7ghsee2iWY9f\nsOmVE9JEh0K1yJKgew4rIMCGja+hKNac/SpUqPD6URG4jxO4zViCniVvKXyu+dsPE56WgF1b0oYx\nPIbnHW9GkmWUOcqxn0qGzfwLrEk5/T7cx2ttZMnAEnmX/fYrJaxYAm1xW1mt4dGHx+Z1DZsRwtdp\nx16jYO9ahBACYyiI2liDpOSvFT2cIrw9mT9BmDiYwJvcg/c9dxWNpScNYs8fIhor9SmfxKsO4Vvq\nxr66fClzM5ag94k0spXBkheeS1k14xhKcVndhvhTuH/n3qI2yzTJvboTuaUJrbkWYVrk9hzBsXFK\nwy+s/Msz1z2AbroJ7ix9mba3HKCuae4Su68XZjSBORoi+dOnC211X/xzfO96K/39/QC0tU35UVvp\nLH2b7sYcm9vE77rl6nkJ7+ci4+PVdB/toqZ6lI7FvWfkmqmUk31711IdGGU8Uqpg6Ow8QnVNuMjt\nbN2qF1AcGtu2biYQGKej8+jrJhRalsS2rZsLn+36CH5tgCCzucgJOjqPEg7VUls7Rv9AO4aety66\nHDG6lu9H06YE7sb446TX3ky0p/geG6RXaN2UdwGZGK8mEIggz/A9WKaMrFgcPbKEiYmaBd1jU303\nze0zr73BYD3xuI/6ulE0W95qF4v5CQQmijYE07+r5cv34vEmGBluwrRkVNWgri54VsaYVKhwtlMR\nuB95BL13iOF3fpzWJ79B7+rbseLJWc9TGmvx3nfzGU8NdiZ9uPv62gvBjNPxp3dQ/Y6rkGwzu7Wk\nRnKMPFcsCAZS27Cv7oDxUURVM5pNx7Zi8azjHD9WAy/jvuuWOfpnGHmu2CTszh7Bv64ax9plM5xV\njJVMIVQbiR2DiIF+Mo5mbOGD+G7YhNpYh7AEkZf7sWVGiRsNpKJOapPP4XvwbejBMKMvp5ETEwSq\nJ3DddNW8rjnnnFJZev63VONms2VYuWoHqnr2OnMa41ES338ckci7w7Q+9Q1e+OyXqd1+lMVfegjn\nVZvIvLiD4Xv+ZOZBFBmtqx39QA9Kcx3eu2485Wk3z2aEgGTCg82WY9euDYX2VW3P4Gw4/cUf5tLi\nAgTcw0SSTXP28/nGWbrs9GckgrzwmEk72bdvSrNdl3gWz723IjlsCEvQ/UgIgFrbPtK6n6RoXvB1\nNDNC650dSJpGdmiCief6SclT30VX2zYO908pMCZjXMKhGjyeBDZ7tmBBLEdd9kWshkUYkTRRlmAz\nQlTXx3Bes5nuR8KFfl7nGEtXdXPk8FIkycTpzKIbGl5PfF6a8vmybu3LaPazd805WVJJF9msnarq\n0s1/JBJAkgR+/9mr7KhwdnLeC9zfuO4uxv/6ayXHtJWLMfpHEIkUco0f+wWrMAdGyR3px3nNhTjW\nz5yB4XQxYeUD8qrkU2sy13WVsbH6go90U3Mfw0PtZfu2tPRjv7R8IODxCMvCDEWwxqNoS9sKWuuF\nICzB2DODOMO78dx23ZwC+iQTu+Pkdu7Dv9KDff2KcyJNoxCC8ecHkHoPYNQvIRH1FI51LdqB6lSx\n2bNo2pkJ2loosW/+FDM4R1pEVcG2cjHOyzeC04E5OoZaWw3H3EQkSTpnU0dNTFRhGiq1dWNYpgxS\nfmmdrpktx8YLXqW/bxFeX4zq6vGyqTtPhNBYLXZHhv6+RaTT7qJj/uxu7HVOzI7VhHdmFjx2W/MR\n6prCpzXoTwjYtvVChJj67dckX8B3/61F60E2mMY4cAD3lfmNjGUKen4cKjumK9dDytZR0l5vvYTn\nnuLYHmGaDD8zTmYemUA7Ow/T3V1sebPrI3g7nTh8ErZpue6tbBaRSKPUBAAIbYsRO3Jm3XdsuSBr\nLu0p+/eLx70IATZb7oy5FVnWyT/vkH9msllHwT9+5bItWLIzH7SOQNX0ksQBi9v3UlWfKDdchfMQ\nw1AYHGgjUDVRsik7rwXuT131Vh7cV6o1tG9ciev6S16HGZ1ehIBgsAG/P4rDkX9JHh9QeDztV0rI\nTgeJ7hjy3lfx3Hf7jH0rnFmsVJbex8IIqXgDNp8MMa8HwrKIf/tRzNG8Rk6pry4SwO0Xr8N5xcZz\nYnM0G9PjIdas3V5IZzmpRXZpYVL67O4EdYlnGPOUBo9W+0cYj+YtUy3NR6mpi6Jpekm/2QiHagpp\nLIuv+Syed96KMRpGayvWZA/+aozssXdLo3cvwcwqLB3cejcOJU7K1o6elTCUYhc8Vc2xbv32IsEt\nl9NQVWPBAlQ67UQIaUY/bbs+StMtnched9njx5PoTRJ8NW+Vka0MTn2Q2jevQPJ7GfnlEJm0A0no\nNNb24Lz2srJjCCHo/tGU8O7Qh8loc1sBqtJb8B6zqM0HK5Vh+MUk2YnZXXbqaocYC01p8D3ZQ2TU\n+pK/S0vbABNmJ6khHZsxTk6tpp4tOK69hL6np56npqZ+mlumshQdH5S68YKXkE/T71lYEtt3bMQy\npxQ5NbVjdHR0L3iscsG0C2HVql04XcWpXmNRH7Ji4fHkhXEhIJVy43CkK/725yiRiQBHjkw9R05H\njFVrppI4nNcC95G6Kwv/d996NcmfP4Pa1oj71muQ3affTLtQBs28kNyiLNy/GKC3p4NQKO+OsmbN\nq9jsYlYzZk3yJfwP3jrj8QpnB8f7zC9btBVv3clpufv720gmPSxfvu/U5yY3LQbJC5mNoQTxb/0c\nxxUX4Lxk/am90FlKIu7hwIFVhc91Vf3UNU+wd8+6Gc+pV7YhtbYz2ltDbfI5vPffzuhLMVJD8xOm\nN17wKrIsGBpsOWYqHycQyBcw2r1rLdmsk6XL9mDo9hJNK4DNGKflzs5ZLUzZnhFUvwulyocQgty+\nHrTFzciO4piTyJ4o4/umcuZrVpR1Fx0opNYDcKoRVqw7NKvQPT2tqMcbIxH3le1Xl3gG19tuQva4\nFpSpxjIEPT8JoZkRWu7owAxNoLVMufPlRsKoLjuyzzPLKJAaTJLduR91tBvPvbdhyQpDP+1G06PY\njSATrrzG1K4HabpjCZIiz9uSVzJnXSe5pRvrwH7cd9xI7OUjKFYS+7rl6Id6cV/Yhex2IUwTM55G\nVkD2erAMQeyRp3GubscKjuG4+mIkWUaYBpKiYoxHke02ZLeT8K4E0QPzK2zWWrMHye1GWBLxuI9E\nwsv69dvmDPqeT8rDsWA9fX0dJe0SFouXHCZQFSk9qQx796whnXYVtdUmniPkuWJe5x9PY103KHZG\nRvIbG03NsnT5AYaHW5gYryk87xVOP4ODLeTSGp1dPad03OkbNK83QtfS/FrV3b2Y8XBpHNlkLMR5\nL3DLdVXYVnfh3LwGYZpgCSTt7KznczI+3IausmOGnNAAde5DaDVuaO1AzsQBC7WuZt7aoAqvH9kJ\nncGnil8uK1bsxO7QkWULWRb0dHcSDtfRvqibbNbO6LGXQX39EPG4n3TaTdfSA/h8UXq6FxcKGtmk\nOGs37Tvlc369c8qfanRdLeRKz2QcBEcbqG8YJZ1y4nKlGBpqobFpGNNQioTt45FEDiHZilwXXNle\nGu67oKzmPzMUI/ZyD2pihIhzY8nxSaqTL5NtWEUyMRXU21HzGs56R5F/83Q82UMk7EvxZfYRuHY5\nasupy8Y0+lKE5MDcm4Wmhm4yOR8dnUeRpCkFwdKl+zl0aHa3Prsxhj+zC/f9d51wSkg9lsPs68Ox\npnyg9alAWILYs/tw1CjY1y4/bdc5lRgTcQaeTmBZ5d+VDU0jjA6XxgABtHlepn5FXpo2DQVJEvT2\ndpDN2lmy5DDh8RoGB4pdGgOBcZZ0Tfn9CwH79q4uuDr507uJOouf46XL9uDzJRECQmN1DA62sX7D\n1oIgn0y62b9vdcn8qlKvUvXAzRhpA33nPkaH6rFMGU/2ECDhUUYwVmxGiw4iVmwsysq1EFrbegkG\nG8hlHdQ3jNDa2gdAKFSHIptUVU2cVdmo3giMjDQSHG1E1234fBFiscCxI4J167edEnfL4wOwAaqU\nw8gBP+Fw3iJV7RsinqlDz01Zn5ube6mtGkVORc5Pgfv2y6/m65e8FbVh5swWZxNRK/+w+OXZNwSZ\ntIO+vkUsXXqw8IPds3sNmYyrbP/G+C9x/c67T+1kK5xRcsEoIhphcEf+b2zPDpO1z226Ph5F1jGt\n0hiBhoZhWtv6T3qek8z3WT7bmNTCrlmzA7sjW1IMaknXwXmbpuu0nRg1nUyMTAnBrWsSyLXV5Lbt\nxHn9FaS2HEQLOLB1za+olpVMIWkq6WAW/amnyWiNJG2dC7tJoDr1EoEH8tatSS3nqUQIgTE6QXC3\nRTZS/Apx6CNktPLC2vHYjDFy6rGXXOoVxp2bqEm/iu++NwPSWas8OVfIjkSJP7ufmJzPGKSaMWp9\n/bjecg2jz4+THC6fanX9hldQ1fkF405n2bJ9eLxxgqONDAy0E0hvp+ruq0GTkRSV8NYJokenhKo1\na15l//71GMaUxUBVsxhGsdXFn95O4PZLMOMZtBo/kmOqv540SD+/A8/lK5Hdpe/Q2Gu9GL0DRETx\n735ywzodhz5ERpt/UO6ke+Ckxj+TyfuX+3zjdC3Nb0AScS8eb/yMFkGyLIlQqI66uiBjY/W43Unc\n7tmTTZxuEgkPB/bPrMyAfM76TMaJsCR0XSM41oDDnqGjs9QNKRyuIZe1IYSMw5mm+2gXGzZsYfu0\n+hplERaL727AMgUTz/cSDRYrLdc1PkbDP//Zgu8P3ugC99XX8R8X34JSG5i78xuIyUWsigMEFit0\nH53SzjTEn2K8/lr0dF5b5s0coPYdFyNpldzF5wJG2qDvsbnT6vnTO49phMr7V/oy+3Csaid4dGqx\nWNK6HUvzEKiaeN3TgsViPuz2TMH/+VRiGAr9fYuQFYvQWB2BwDg1teESQXrjBa/OGdA4Ey0b0ti7\n8lo8YQnGnjiKLbgf/303nXIhceSZEKmx/N/Lkz2If2Mj8XiAWP+UH2lT4ACicznyxAi2lV1nzKXO\nzFn0/XQYIdnwp7fjv2EDamMdyf1DJAYFyYnZXSsaa46gbtqIcagb58Zl57z//9mMlUwjObSizVl2\naAJj/yHU1nr0lMR4j4ZhzO9d4xF9JKTywfuTNOjP477vjsJnIQTJPf0E98//+a1KvYb/7muRnSfm\nqjmJmUyDaTKxJ4l9cAeeO69HkmUiW0cYP6rgzA1Qc1kDWcPN2Pb5rVuLGnbRF1yNEDLVgRHGIzNv\nRFet3obTmbcamaaMJInTtk5PuqEVECYXXLjltAj9w8NNDA22sXb1q9icxfcjBJimSjrt5OCB0sJ5\nNiOEzWmS0Oe2zq1esxO7PYMklfpil6NlaRi1o4XgDoN0cGqT16Btx337DYXPRtqk77GpWKUO/acs\n/fFDc86nHBWB+wzSd8yHu11xkIh70HUNjzdOaKyexqYhJClfLGF6oZfpOHMDNL5jHZKiYCbS6CNj\n2Bc1VYTtc4zxPUki+/LBXm4thJ6WqW5NYl/dhez3gGkW/uZWOoMkyWDXGPj5EGoiiL/VxHnpBiRN\npfvHQYRZvIo2unbTsipFNmtDUcwTqnI3/VleKNGIn8OH86b31rZuamomUNWFmQqTCTd9/YtIJT20\nt3dTVT2OqppFcQ4LwZfZR2xapdTGZXFGDuY1165cP25PlLHcmkLf2nefmnSR88WMZzHHgtgW5/Oe\nTwbzebIHqb5xJWpd9Rmdz/EIywLTKtpsCCHQ+4OkIxLhg/lnsD79W1x3vxVJUxCZHJLTURGy30AI\nIej7eRAzV/w3U6wkgeoo4UgzdiNI45uaUeqq0BMmqee2Yl/TxdBLxb9xuxGk+e7lZa0vlmkyACgT\nRQAAIABJREFU+IsgeiZ/rJ6t2C6/iNjuELFoAG9mP4HrVmBGYthXdJ6RZ0joRuH5FrpBLpwi9doB\nvBd2kDNdjLyYX7PrxBbEBVcS2rbwqsJNzQNFFZnt9gyLlxyeV4Xi6bU3qnyjLF7Wi2VJRCJVCEum\nuiYf/Hvo4HLi8dL6I1WOXhavGc3fn4B02oXLlSIUqi2sz0cOL6Nj0QGqa6OMh2txONIYporPFy0r\nrE93hW3I/ZbWy+zH5mpjcLAVPacVzcWd7abmhi4s1UX81SN4u7zYlrQjhGD0ySFS0dk38HWBPnQ8\nRCKzr4d1id/geeDt+TgHIej5cRBhyTTU9+O+qtR1V+g6eihGbl8vNqfOyi/cNuv4M1ERuM8gk36v\nb8os5fChUl8/VcsVCjOUo87XjffGhZnwKrzxEEKQ2DWA3WXN2xVhxrEsC5FI0ftUGjGDXH0iVe5O\nxoe7nBl6xco9yJJFMNhAS2t/0SYgGKynv0xw1YlQk3yBzNKrSA5NvfzrE0/hec+9+YJG2/ejttTn\ntbRDGVJPb6HqhpWo9dUYaYPsjoM4NywpCSSsUOF8QQhBfOcg2d09OBtsONZ3odQE5hR682lmo/Q9\nm//tNbcP4bho9kDr1OExlFwc+6qzv0hWZjiGdehgQdkR70kx9lreTWN6dhtXrg+rvo1MRMKTPYSr\nXiYYnV+O9aVL9+P1xQrCrWXKJJJuBgfaSaWKXR/Wrn6VXXtmtuApVhpZZPFndhFy5xNQtLb2oSgm\nvb15NzZNSaOb87M2lMuudfxav3rNVvbsnjkWrW1tAm35zC50uXAG/fnnMFy1hCMtyFYOtz1MXC91\nv5REjublMazmxYSe6qW6PoI1PIZj00q05Sf2PFmGwEhbrHzvwnP95+dUEbjPGHHLwDJlDu+YPWWh\nO9eN0tlObDAfKOTL7EEWOt6Llpzwg1Lh/EaYgolHXyGWa8aSSrXSXV0H8AfmHzwUP+bD7Z3Bh7uv\ndxGqmqOhcZTx8RpqqsPIioVhKOzYvgmbEUJX/CUpESeRJAtZNmlu6ae/b2HPvCvXi69DA82Gc/0S\nYj060W0jNG7WsC3Om7gzPeMMvWaiWClarw+c0YqzFSqc7whdP+cts0IIsn0hFNlAbawtuV8rk0WS\nJSSbjWzEYPDJvCvhfGIgPJ44y5bvK5ulTLGSmPLcyRLqs8/jeVfenaf30RBm5uREQUXK4fEl6ejs\nRggJ01DYcyxz02RqynJ4baPEcw3UJ3+D58G7F3RNK5lGdjsxkln6fjGVIlo147Te3nLKFSMVgfsN\nI3Cb2N3PsXfn24lMzC5AXHnTm7A7grz24os4ckO4rr986qDIASpIFTNshYVjmYLhXwxgJdME9L0k\nmy8hNV6aAaKtvYf6+uAJXWOm7AHTqVV243vbteTGMwz8Oj5rX8inXJP9HtKpfNBTIL2VwB1XgMuB\nPhQlum0E9/hOzGUX4GzxoC0qXhCFZZVo4Kx0FpHLofi9VKhQocLribCsQnSlJMuYYxNIVV56fjJ3\nTA9ATepFnBevRelcRO/PpqqXVqdexnv3TUSfO4IRiuBtBufVpUq/sUd3E8+U+ko79QG0gAOXNYTt\n8s2M70iRGFNQrCRNF9vBX8XAk7Ov4R03+0oqLfvTOxCSiv/KZSXr9YlgZiwizx9BHjyC59r1JbUG\nTgUVgfsNInD7Gz9O39E7OLz3jwG48qbrsdlD5LK1OJx5v6nB3juITaxh5YbPANAX+zf06mOFaoRJ\nq/kW7OwkZV7IsP3RE5qHXWzBIbYQld4/d6LUCucFI78JkgqVPgvNzb00NY+WPafXzOfxXaRMmRsz\nGTt9vR1l/QOPp/WCTMEfWY9lEIPDaJ0tWPEkuRQMv1rs79m2Nl6x7lSoUOG8Q0/qZF/ZifvStZiG\nxdjP95HWpvy8q1Mv4+hqxnHZlKvG6Avj5PpCNFzkKFj15kP45VGi/fKccSoik0PkcoUc9kZaZ/w3\nvSSSpWt/bfIFfA/eTvRQgsRrPTiMUbyXdp20u+TrQUXgPksFbrvrWdzV3yxq27fjIQa670VRk1zw\ntp8R6DJJ7NuO3XwNTQmXjJHL1TDgfIWA+Bou60kcbC8cO8JOUOuRRYw28xpy0jKG5W/BDCZ6AISg\n3dyExhCmcNGnbsWSzr7vrsKZx4wmMAaDWJkME0PuohSUbleUFasOFBWzeCQbBEvmTmcthqFy4MAK\nMtOKTzj0Eepu7GDiN0fwr/QQG7EhDXWDvxopEqTqzkvLpuiajhGaQI/p6Dv34L31ylOe2q5ChQoV\n3ohYySyZF7eiNNVhX10+x3w5q958EGY+fuaEc98PjKIPBNHaGooKTZ3MnM4WKgL3WShwS3KcquY/\nLmlPhFoYGrkHR2aYtgeWIcnTtIpCwJ6/AaB3+GMsavr7Wa9hWXa6tcMsMduK2jPWCgZtvwFAFhMI\nbAgp789VZf0D1dY/FPUPyZ8iKv/BAu+wwrmMEIKRp4Okx6cWRrdjnGSmmqWdO/DVZBmLueg7WL7g\nii+zF+8lnYW0eRUqnCokkaDe/BAT8ocxpWZMaX75vitUqFDhZKkI3GeVwC3w1v09mj1f9jUXrkIf\nr8e9NP853nMjnpsvKRa0p5M4SmjrOPbO9Xijf1tyOJrYjHfj1ciH/qHMyVOEkveT8n2AdvPKQluP\nsosOc+2M5/QrT9JmXk+aixlSHp5dU17hvCA3FiO7dQ9j8SkNiiQMhFRe09zoP4DzuksLPogVKpxq\nAtaXqbH+v6K2w3IfknxipdQrVKhQYb6crMBdsdHOgiRHEdbc/qh2z69wB/6npF3U3Yb76o7C56Ea\nYBSWz+TL71lM7VXH/FR990D/D4oOp82L8dvdmK61KKldhfbhsfupWe/D6nsch3qEWve3yOrPF9VE\nmS5sZ9sewkqO4xz/WqGtzbweACcvUxt7JyH/D+e87/MKoSOTPK9ccGx1Pmw3XcrYw2NAPvLbUKYC\nDCUOUd3eSvJIhJrlMvYLrni9plrhHEUVA1RZn0fCwib2Y2d3SZ8uq50j8sjrMLsKFSqca8gijCXV\nnJaxKwL3DGj23XjrvlDUlozcRzaRF0wleQLNsR9X4DvIcrqoX2L/UrRVl2Ff1VHU/mK+kuvMAvd0\n/CvJiY+BYsfmzDKxo5/A8rzwryy+Eyt7K/q+bxOLr6X+8g4UmwyBe2FvXvtjl48CkNIvwKVtLQwb\nTWzG51GQ/PXQ/Fdk+vbjiH2/6NJe5yuE5jHFcxph0m5ehir6ictvxyemNiC9PI2hllbFyp8nAIMq\n6wu4xS+JyB8kJd2IJfnOzLxPA51vqyX16l6cqxeRHkyid/ey2zFG0hPips2X4b+o4jpyqlBFL9XW\n53Bb/8uQ+ghZ1oJ0BrW3QuAQz4OkkpGmMhlIIolGLzlpFQgDZrBynEoUEWSReWFJu2m6yPgfJN5n\n0Fj99fy0J/ZgD5jkWDmjdc5rfZectIIsG89owLgmDmDQhsDOErOFDOsYVH6Jne3H/r6V13CFCmWZ\nHjh0BvBa36Pe+kjhc1h+iKj0u6gMYtKIxclltKq4lACKOoi/8VMkI/eSTV6FJOXK+mDPRrqvBTVg\nku6pxXPLm5F9pXkwU9n8v67TWTNDWLDn0wDEk+txb7oNyUohHfxHJmJX4V5zFTZfcTCEiB0htucQ\nOfeN1Mn5cwf1/yDjvOU0TvTUcbyv+onQaSxBJklI/gyKGMGUaqi1/nrG/keVHsRx+ax91n9SZ32i\nbP9B+Qdk5DNbnfB0kjHym0yHemZKiJ9ViBxLzHbSXMKQ+pNCc5P5DlziGY4ow7O+JDRxgHbzasal\njzKhfByEYIk58y58rvFOCmHiEk+gS53IJGg1p37zPeavcWlb8Iif4RK/nXGIXvFLDG32Aibzn0/+\nu4hKD+AX/11y2LI00nUfw92UF6rNoedRxp8s6nNEGQJJRhYxBCqLzdLsNgPK/5KVZi7AcbJIIkmz\n+XZy0hp84tuz9k1J1xCT7iUp3b6wv7PIoRDFlOqQRByBA4UQppR/lhQxiElTUQpZScQR0uxCg8t6\nAkNqObZ5eYO6hgkdicys95r/zlwglQ8OlEXshBUlsohi4Sy7WT5+XFX0YhHAkiq1AABkMY5f/Ccp\n6VpazZtJi4sY0n52Rq7dYP4OHvGLGY8P8U2i6esrPtwLJ4e39ksY2Q6c/sfL9rByGrJNn3MkI+lC\nl27BedEMWs8zjBXaRmR/Eq31IrwdC9OOifEdSEN5ISLLMoaVhzGlhVcTPF24rMdRCBOX3onKID7r\nP6kSXwWgW96GJS8892ad+Sf4xHfKHjNNF4nUGhLp9QS6XLiiX0aSpqoyZllNQr4DnSU0Wr8763Wy\nYikD2syCS4XTT635F/jF/+OovAchz2w2rDM/QlpcQkJ9R1G7XWyj1XxL4fNhaQBJUZFEhsVmBwAj\nkT8gWfupqZOEicZRGs33IZCxs69ozKR0HW7x61nnfUQ9OZcJWUzQaP4uY9KnQbajS0tRRS9N5rux\nceikxs5mmxhwb1v4iULQbl6MRh9R6X784lslXXS9mmDyQzSuOMLoTi91F9ehuZWiMSaDzadj4UEm\nMevlY9xFTl5NjfUZJPKZGYbk/yEtX7PweynMx2SJ2XLi5wOD8vcwpVYk0mhigDrrw0T4AA5pD27x\nOH3SExjyEhabc1cnPN7COUmf8jy6NHW+Kvqw8OIUz9Bo/T4ApnDTox05qXuZC6f1GwypCbf4BTHp\nQSyp6qTGk8UEAetfqRJfwrBq6VG3IcnTLB5CUG99CJ1FVIu8BXvyWelVXsYjHiUh3Y5CiFbzzQCM\nSZ8hLr8DmRSN5gOElM9i0IDAjUwUk9qCskcRIzSbd2Ejb84+ogwgk8DGATJsxiN+SoP1QQCOKkdo\nMd+Knf0ABK3PELe976Tuf75MCpZR7iOi/DEm1XNuxE4UTRzEZ32XsPxXs28ohaDTXIxMuuzhHvk1\nTDmfDlEWESRSmNKJCb4+6xvUWQ+RlK5jQv4YWWljYbNvWRox860EtJ+UPXdPeD+r/09ppfD5cB4K\n3AJ/48dQ1LmTyWfFu7B11pB+ZTuOCzdjjOxFDGzHXj/MxCub8G5OkDlg4b7jHiR1brPgvsH8vytP\nbj0+/ewu1uzGpHsIy3+FRYBG60Hc4kmG5O/jEk8QEN8o9DNEHSPKv6MSIindNKMpXBJJBM55a09U\n0UeTeS8KIRRic/bvVg7MqS2QRJJW83oUwjOOmc50Yt94P7IybZEws7Dvc3POYWD8E7RcrqInLRj7\nDbb08wCM5P6aRttfAZAVKwipnyXLOsBCwsDC/4bQKvXF8i5L7b4Ty41tF69i0I4plRZamBORQyK7\noBeELMJ0mlPFeIZG30+65dPHxjORyCEkJ5JIsNicChLNsoqUdB1V4iuE5E9Ra5UKd+VISG8hxwos\nyTerpeR4kqlViOa34W6SyQ7swxF/GIBQ+gNEPQ+hMI5NHCQtXQJSeVOZLELYxW5qrP9LVH4/cfld\n1Jt/iFc8PK85xBIX4PMUC2npzGKS6i14WjxY2SCuyH/MOkZU+l1CSmng93TajKuxcWDWPmEeombN\n3GurZRgk+lP4kl+YsY9uBMgF7sKdmH3u0xnmX0ipd87dUQg6zNUojJc9nPB9FJEJoadsuJwHUdI7\nSaWXo3psuKWFbcJ1owptHu+vuYhbtxDWPo1CkDbzphn7CWyE5b8gLV1Njq4FB9RLIoWQSlOAVpl/\nT7X4x7LnjMl/S0yepsAQJi7xJCnpxrJCmyKG6TA3lh0rLt1BSnozbvFzktKtNBzbUCyUDOtxsGPG\n48PWP1Mnfw6VoRMafxKDRsbkz+MUvyUpvTnv2jWDFn4Su9hyzI3xSQzqGFCeKFg6IL8meMUP57Da\nHlm4lVjox9bO8ucpYogOM29JGkx8jkzgPUXHJRHHKV4iJd9Au7EJjcEFXT7OnXh5hKD8ReLyvfM6\nRxEjdJgbitqC+scR9kU0WB8inenAeeGDAOhJEytrIcw06tDXUZUE+/t/wIo/W1hFzEnOO4Fb0Xrx\nNxS/NI2EG8u5CZvyLNHta3Fs2oTaVI0SKP9CtzI5JJu64EwM/3VsXX3PlbP3e92xdFI7foFLOwGt\n1XH0yU+jy1Oaf1nE6DSXARCVHiQh3UqN9VkcbMlfGjc9ym6ENOWqUGv+GX5RnNN8Ot0Dn6Sz9dNF\nbYN8D1nWSck3FtoC1hepsWYWls2ln8RICWQ5TnrcgbvFlveNPw4rFSG6dwDJGCHgeb7o2ED0L2m9\nvHRxtKK9yP3/NeO1p3Oy2swzwRO9PwXgxkW3lx4UFm7xGCnpurILsdt6jEbrvUCZF+ssSCKJUzxP\nk/VAoS0m3ceY/A8lLyRVdGOwiGrrs6gM4hWPlIwXlv6cpPxm2s1rABiV/okG8dF5zSXu+n28qX+d\nV99JLEtDlnUMw0c68Id4Ul9EslIACCGTbvgErvpi4dKKDSD3faPccByV96NJvTSa70VjgLh0G1lp\nM7XWJ+c9p/HodbiWX4rmlcgMDaB4W7D5FazgViI9TjzLmkiPgm+Zv+xvgcwYHP6XGcfvkV/FlI+l\nLp2m/U1It+ER5c3Epukk7XkHOb2e6hULc1kSeobEgcN4+RE5vQabFsayNLLVv0s2WUVguR2EwNz3\nNRQrHwxsGD5UNUY6sxin42jpdyT+gKj6B2j0zeiGYhO7aDNvKHwOTdyMUrcWV00c0/DhaprZj1Ck\nRkjtewVTV1DkBG7X/pn7CgVJMgufB0d/D3dNBF33oSnDuByH0cwDDAXfT3Pjt5FECsPwoqpxdKOK\naPwyaqsem/U7jMY3ozWuwJUstTgAHJEPg+wpalNEEJkEurQYVfRi0IrCaEHYAuhRtiCTyWvWRY5O\ncwUyqRnncZSdCLUeSSRYZG5GIb/JGFAeJSvlffs91g9osP6o5Nz+4T+iremfZ71PgIRxBR71ubLH\nkunluJ2zbwjLMRG9CnvnRTjDX0SSjDn79w79Ga2dP0XJzvx3n2RE/jpJ+dbC5w5j1YybvMn3SJX1\nT1Rbn59z7JxeT79zZ/6DEGgcQpfy72qX9RT11u+jkK8oeVQ5RKt5c5F1bEB5FIPWolSdS4zitJ2H\n6cYtP0OT9Z7ia4sObFIPAMnUSgz/FcjZfkznOpy2Q9jjP55z/iPmP5K03Vv0LlDEKHaxHbd4DJ/4\nAQPyI7Ra+Q10LLEJn2dLyTjDsU/QdFl5ZaEZD5Ead+O99e/mnE85zm2BW0qDKF6wA41/inxMO5Du\na8F+5X1ILieSImNG40iahuxylBvtpMkc805xvFEy7lk67J1dSwUQS1yIJBl43dvLHg+JT5BRr6La\n+jtMqssKP+UIiw8TV99XlGElNPFWqlb6MPt/xcjYA/g67XgXqSiqIHPkORzZ3xSNkbPascl9c16r\ne+AhOt+88OAlYQmsrEHvb+zUr87iaZ/5j2v1/hg5nl/QwtkP4JKexmkrb87vU55Dl6Y0rYoYwyb2\nYUkeJHSyrEPgAASgl9d2nsbgtpyZD0iwKcXXnfRPBkhkNzLqPs4fTlgsMYvNgDrN9CmvAuAUz5CW\nrinS8tvELgLWV/CKn844n4j0fgLi63POu3fw4yxqmfvlMzx2P011UwJHIrkWjzufGWhg5IO0Xl+P\nlTVIHtiBV36U8eh1ZPUOGi5tJrPrh7gcUy9q03TD8o8g22QkWUJYopAaVOhp4kdHcbW3ozrLb+DN\nwadRJp6dc85zMTj6fmrqniUS3oS71UtixEH9Zi+K48QKXExijHVjDL6EQz2IYXpRldIyzynpWlzi\n6ZL2odH303RNA+mQgZWTcDerZCcM7NXazOlT54Gw8q81Y+AlJgbaqb/sOLNiLoK1/18ZDL6X1mtr\nQQJJlrASY4S2h7HbR/A7nyk7dpalDCjPAiZLzNaiY4nUalLa7dStV098/maGiT0jOOq8hPdC1Qo3\nzjob6bEMDl8KpTfvQtcz+HFar7IXPzdCEN5jUL1KRZIgMZDFWW9D1vJzmZyTOfQCyvivCqdFYldg\nyB24Otpw1ue/e3NsN8roj8pO8ai8DyFX0WS+A5u1F1Uam/ftDeT+A82RocH6Q4IT9+Fp1YgO1VF/\ngUR0x2GqPVOm/EHlEVrMeVgYAMP0EIlfjeFcT+MmDWGapPZvwV3GJzc4cT+O1lZ8nbbCs2Km0uhJ\nFWXsB0yENlN7SReKXSZ38HFs+isADMf+mPr1Av3gz3Fo+c3Z6MT9+Dwv4tTybiTjyp9SvdINegJ9\n/3cQhkUo9T5qVppYhoKs5tdJefhH9I58gkXX54U7PZpCdH8Tmxqc1/2W+01lsu047Pn33WFpkFZx\nKw6KrVXDwffgqJWw1Taj2AwsXcYV/iwAIevj2JXD835Hz0SaS1EYwUY3APHUJryuUuH2ePqH/5DW\nN1WX/e1Y6QTWoa+j61U47b2zjmPQhMrwrH0yjQ9hrwL9yOPYcvm5ReMX4Vp7I5pnhjXR0kGPwOav\nznkv5ThHBW6Bu+q/sLundq7RkU/gCvwYzZHfRabT92Jf3lo2uLFCGY65mQyM/wWtV2mYWQs9bmCF\ntpK2NlKzyo5IBwlv6ca9bBNS+jCO+PdnHC4rlmGXDgIghIQkCYLht1FfU34nOzZ+K476AJKrFU/7\nzH7pwhJIe+c2+0fjF2HVXEfVstMZwVpKdmwMSwRw1ucF89xEmGzUh2qPkB2NEFC/W+g7Jv8tWWk9\nzeZdM/q1TWdU+gcSyrtxiFdoMW/Lj8FniKmn2S9QZLGzh1bz5pJDEfEgAembDEv/Rkq+hQ5zLQrj\nROKXojokPNoLZYccUB4jK20CoZcUdwIIR26kJvDEvKeYybZgtbwHV6MKuQgc/FLhWDK1Ept9FE3J\na4qGgg/SdPUiJCvJ4HMZ6i6sQrFJYCSI9Qr8y7zI6pSQY6RMFIdc9JIw0haSMYZx6CeEMu+l5bKT\n2/hku58n2ucDScKzdBmO8FeQKSPYppdiCRvR9LW4m114jW+hmMP0Dn2URTeeHh/N6ZhZC8Uukxnq\nRQ09iiqX5jvSjQCp9EpiiQtpuNhfEsR9NpHrfhFbcn7PWTy5Dseq29C8p/l+zAzju8J4lzYW+7Mv\neBgTIaQZN3pFWAbJ3b/GLb9YaArxF9Qyu0LGsvLrnCyXj4Ua58NUrymjMNtd6vowFHwPNbUvYJcP\nlhwbGPk9ajfW4qgp/Z1Z3T/EjA6S8nwI32IVPW5h8y/sezMSCWIDCoEue9Fvf/J5xzLQ932T4Njb\naL6q6qQ2iwhBanCIbMyNsyqHI/y1OU/pG/oIjZe6sXkVRPB5pGBxIPHQ6HtpuqYFSSk/LzH0ONL4\ny3NeJ5Fajce1p/B5bPwWHB0rsIZexu8p7xqVTC/DteEupAPlnxXdakKTh0lnOlFXvmvOZ9rMmCgO\nBSvez/ArMtXrGrAHv4ws5nY3naR/+I9ofVNgagMaCxLelcHdUY+7ZRaFa0XgPl7gFnhqv4jNUZqv\ndZLEwaW477j3jBfn2D2Q/3dN6+z9zlasnIVczqw8E0KgD25Fizxa1ByNXYrv4hswUjmyEYGrwTY1\nrmWQ2vEYqVQntf688J3NNUDn+7BXzV9oMXMWUvi3yOHfEJy4C2GpqDVt+BbZUZxS0aJ5NmHFhpD7\n5tbUnghHlH5AAUnGIV6gzvw4sphgSP0RDrENh3gRn8jnfg9KnyeuPAAiC9hK/CZ7Y/upUV7E77qR\nDnNTybXiqQvxul6bcS5R15/iX+zGGN6JGp7bXAgQNj6Mb6m3ICAI3UAf70cefbTIpzWWuBBJlUkm\nuvAs6cDdopIazuFqsk29CI/54luWjUzjxwquHJYpin32z2KSR3sYO9KCvy2Hf7ET2SYXac9fd/Q4\nud3fxKaFAUhllmDU3ouv442VBs+M9BHtd6KqSczxo1T5iwWL8cj1CKFg79iEp+2NYr48cay9X0C2\nSoWbSWEsp9cSiV2B1tCJp9WN6spvRi3dQD5QXLRI7/zL8gLWtFiZVHopouVu3M3571YPHmV0pxdn\nVY7UuIOmywOorlmENGGRGsngrHfOKHCezYjkEBOHJQIrGzBCB7GNfx9dr0bTxhkbv5WaSzYUv5eN\nJOyfKo4XjV+CZ9MN5V3CpmEMvog6MbW5zGRbcNgHmYhdiSKnMXw3Ur1KQyQHkbr/g4HR36fl2vqi\n9SY3EcM2mI+jCIbvxL10KTafhuZREOkxogdCpCZ8VK9twF4lk43ksFfZMVM5kNXZ/45zfU+JPqSe\n/yx8tiwbg6O/T+Nmk4n9OWrW15EYtPB12k78OagI3MUCt6/+b1BteXNDdMdmvJcYyOkpX+T4vlXY\nN16KrevMS71vGB/uU4mZxdj/LVQxSO/op2i7WqAnLez+uV+6whKYGQtJkfJahBNAj5v5Bf+NtNBa\nOdj72aKm0cSH8C0O4KxXMXMWeiSFCL1CeHgj9Rs1ciOH8VjFLhfx5Hq87qkgH9PyoMizZ26YiQHl\nMexiJwnpbUjoWIkHWOws9vGfiF6DFFiGs6kWe0BGP/ADNPMg6UwnTkf3tH5X4dlwVeFFayXCRIec\neJrtGGmBmn4JLfZU0dg9I5+i4/qZ/4ZG2kKSBJImY2WteS3clikQhjjhZ6vC/NETZkHweqMj9DTR\n7TvIJOrwrmzHVX8S7iNvRCwT9n4GgKHwHxJY7kPz5v+2ik3CMsXMwp2wyO39LlYmS1y5n7oNs2fR\nyo6NYege3M3nYfrRk8A6+j8Y0XGS7g9QtWz+G9xc/zZGDy+l4UInttNtqXkjUhG4pwTuyXzaAPE9\nK/C8/S4kVUEYWYyBEGprI5L6+j1E+rH4Ce2NpeA5JVimQJI4v15MJ4mlC4SeIh2Wcbc45vzu9Gic\ndDCHkJ34Ov7/9u42Nqo67eP498y0hbZTVJb4gFBLEWQFgdSqt9lZq4QWbxSQBpk2TTEBA/gQior0\nAQutbQlGwRdSbqxp7heEBLQSX92KaEJqRcRlqaR0Ie6uFIUuaGhpZ+jjnP/9olCxdIWb+Zj4AAAK\noUlEQVQV2plTfp+EhE5nJtfJda726n/+51zRWC4I1pdz3j+23/31//opk5vjz2O3nCAm8hBt7Qm0\n8hS3/OEvRAb6v5DoshjtKLqDcXTdvpzYO/qc2MbQcbaNyLjhBJv+zk//iOf25ChwW1dcRTZtP+E/\nXENLx3/jGQ0jEofp3BEJEyYY5PyZDmJui1ZdhiknfVrnGGq4expud+QPeEb+D+7I07SdGEOU14d7\nhOfKbyIyhJmgTZffEGnXY53cxdnmVFwxsXRFTOYPk939/0A2hs6/f0Lw3E80nZvBrQnfEtH2F7q6\nbyYyorn3aQ0nVxOfOpzO5p6L3ERERIasa2y4h8Ra6y13Potl9fzd0N54KxH3PRmWzfbhCzfLmKpJ\n2DJILLeLqJsA7oNb7mPkVb3IImpCz3CXng9yx2AHZxNhQVfrOdqbhvMPexjWPXCXy1KzLSIicgWO\nb7iH3XLwl2b7X7fS7Upm+NjfMUxjEPz1wp1s1HCL01xcCY+86WYib4LaC9cjTEsIXUwiIiJO4fyG\n+6ae+xq31P8XcekzGR7CPdpXkv2nUEcgcn3oXBYREbl6g3Z5vm3brF27Fp/PR3Z2Ng0NDXzwwQcs\nXLiQoqKi3ue98sor+P1XdyeFkTEdRHr+Sfup24lLnxnSCyKvhtvV80/E6XQui4iIXL1BW+H+7LPP\n6OzsZOfOndTW1rJhwwZaW1vZsWMHL7zwAufOnePQoUPcf//9eDxXt//6f7N7hmZ0nEsO65Xti2ov\nbCmZfldo4xC5VjqXRURErt6gNdwHDx7kz3/uuQH19OnTqaur45577qGrq4tgMIjL5eLDDz/k7bff\n/o/e1/+3iXhm/BG6Lp+6Fm5qj8cAMH30+RBHInJtdC6LiMgNxe7qmZPxOw3abQHXrFlDWloaKSkp\nADz66KO89dZbbNu2Da/XS2dnJ3feeSdHjx6lsbGRZ555hsTExMveZ+fOnezc2TMy/PtjR0m4PRYr\nyvFb0W9IbW1tREdroIFTKX/Opdw5m/LnXMqdkxlcFlT93/7f9epB61Q9Hg+BQKD3a9u2SU5OJjk5\nmdbWVtatW8fDDz9MdXU1OTk5lJWVsXHjxsvex+fz4fP5AEhPT2fXrl2DdQhynSl/zqb8OZdy52zK\nn3Mpd86Wnp7+u187aJc9JSUlUV1dDUBtbS0TJ07s/V5FRQVLly6lvb0dl8uFZVmcP6+PqkVERETE\n+QZthTs1NZUvv/ySjIwMjDGsX78egB9//JGWlhYmTZqEbds0NjaydOlSVq5cOVihiYiIiIgMmEFr\nuF0uF6+//vplj48ZM4bi4uLe55SXX/3IzItbS8SZlD9nU/6cS7lzNuXPuZQ7Z7uW/A3aRZMiIiIi\nIjcija4QERERERlAarhFRERERAaQI29gbds2RUVFHDt2jKioKEpLS7nrLo28C3fz58/vnSI6ZswY\nfD4fZWVluN1uvF4vL774YogjlL6+/fbb3vvlNzQ0kJeXh2VZTJgwgXXr1uFyudi8eTN79+4lIiKC\ngoICpk6dGuqw5YJL81dfX8+yZctISEgAIDMzk9mzZyt/Yairq4uCggJOnjxJZ2cnzz33HHfffbfq\nzwH6y90dd9yh2nOIYDDIa6+9xvfff49lWRQXFzNs2LDrU3vGgXbv3m1yc3ONMcYcOnTILF++PMQR\nyZW0t7ebefPm/eqxuXPnmoaGBmPbtnn22WfNkSNHQhSd9KeiosI8+eST5umnnzbGGLNs2TKzf/9+\nY4wxhYWF5tNPPzV1dXUmOzvb2LZtTp48adLT00MZslyib/7ef/99U1lZ+avnKH/hqaqqypSWlhpj\njGlqajIpKSmqP4foL3eqPefYs2ePycvLM8YYs3//frN8+fLrVnuO3FLS35h4CW9Hjx6lra2NxYsX\ns2jRIr755hs6OzuJj4/Hsiy8Xi/79u0LdZhyifj4eN55553er48cOcKDDz4IwCOPPMK+ffs4ePAg\nXq8Xy7IYPXo0wWCQs2fPhipkuUTf/NXV1bF3716ysrIoKCjA7/crf2Hq8ccfJycnBwBjDG63W/Xn\nEP3lTrXnHDNnzqSkpASAU6dOMWLEiOtWe45suP1+f+/WBAC32013d3cII5IrGT58OEuWLKGyspLi\n4mLy8/N/Nd42NjaW1tbWEEYofc2aNYuIiF92nRljsCwL+CVffWtReQwfffM3depUVq9ezfbt2xk7\ndizl5eXKX5iKjY3F4/Hg9/tZsWIFK1euVP05RH+5U+05S0REBLm5uZSUlDBnzpzrVnuObLj7GxN/\n6S8WCT/jxo1j7ty5WJbFuHHjiIuLo7m5uff7gUCAESNGhDBCuRKX65cfFxfz1bcWA4EAcXFxoQhP\nriA1NZUpU6b0/r++vl75C2ONjY0sWrSIefPmMWfOHNWfg/TNnWrPed544w12795NYWEhHR0dvY9f\nS+05suH+rTHxEp6qqqrYsGEDAKdPn6atrY2YmBhOnDiBMYaamhqSk5NDHKX8lnvvvZevv/4agOrq\napKTk0lKSqKmpgbbtjl16hS2bTNy5MgQRyr9WbJkCYcPHwbgq6++YvLkycpfmPr5559ZvHgxr776\nKgsWLABUf07RX+5Ue87x0Ucf8e677wIQHR2NZVlMmTLlutSeI5eF/92YeAlfCxYsID8/n8zMTCzL\nYv369bhcLlatWkUwGMTr9TJt2rRQhym/ITc3l8LCQjZt2kRiYiKzZs3C7XaTnJyMz+fDtm3Wrl0b\n6jDl3ygqKqKkpITIyEhGjRpFSUkJHo9H+QtDW7dupaWlhS1btrBlyxYA1qxZQ2lpqeovzPWXu7y8\nPNavX6/ac4C0tDTy8/PJysqiu7ubgoICxo8ff11+92nSpIiIiIjIAHLklhIREREREadQwy0iIiIi\nMoDUcIuIiIiIDCA13CIiIiIiA0gNt4iIiIjIAFLDLSIyBHV0dDBjxoxQhyEiIqjhFhEREREZUI4c\nfCMiIpcLBAKsWrWKlpYW4uPjAThw4ACbN2/GGEMgEGDjxo0cOHCA48ePk5ubSzAY5KmnnqKqqoqc\nnBz8fj9tbW289NJLeL3eEB+RiMjQoBVuEZEhYseOHUycOJHt27eTkZEBwHfffcebb77Jtm3bSEtL\n45NPPuGJJ57g888/JxgM8sUXX/DQQw9x4sQJmpub2bp1K5s2bSIYDIb4aEREhg6tcIuIDBHHjx8n\nJSUFgGnTphEREcFtt91GWVkZMTExnD59mqSkJDweDw888AA1NTXs2rWL559/ngkTJuDz+Xj55Zfp\n7u4mOzs7xEcjIjJ0qOEWERkixo8fT21tLTNnzqS+vp7u7m4KCwvZs2cPHo+H3NxcjDEALFy4kPfe\ne4+mpiYmTZrEsWPHCAQCVFRUcObMGTIyMnjsscdCfEQiIkODGm4RkSEiMzOT1atXk5mZSWJiIpGR\nkaSmppKVlUV0dDSjRo3izJkzQM8KeENDA1lZWQAkJCRQXl7Oxx9/jG3brFixIpSHIiIypFjm4nKH\niIjcMGzbJjMzk8rKSjweT6jDEREZ0nTRpIjIDeaHH35g/vz5zJ49W822iMgg0Aq3iIiIiMgA0gq3\niIiIiMgAUsMtIiIiIjKA1HCLiIiIiAwgNdwiIiIiIgNIDbeIiIiIyAD6fy0hhGA+5krtAAAAAElF\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Reference simulation visualizations\n", "\n", "We can also visualize the results of other simulation(s) as a reference for comparison of our main simulation.\n", "\n", "Here we simulate a model where no distancing or testing takes place, so that we can compare the effects of these interventions:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 0.02\n", "t = 10.00\n", "t = 20.04\n", "t = 30.01\n", "t = 40.01\n", "t = 50.00\n", "t = 60.00\n", "t = 70.00\n", "t = 80.00\n", "t = 90.01\n", "t = 100.00\n", "t = 110.00\n", "t = 120.00\n", "t = 130.01\n", "t = 140.01\n", "t = 150.01\n", "t = 160.01\n", "t = 170.00\n", "t = 180.00\n", "t = 190.00\n", "t = 200.09\n", "t = 210.20\n", "t = 220.23\n", "t = 230.43\n", "t = 240.30\n", "t = 250.18\n", "t = 260.34\n", "t = 280.54\n", "t = 300.59\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model = SEIRSNetworkModel(G=G_normal, beta=0.155, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, p=0.5,\n", " Q=G_quarantine, beta_D=0.155, sigma_D=1/5.2, gamma_D=1/12.39, mu_D=0.0004,\n", " theta_E=0, theta_I=0, phi_E=0, phi_I=0, psi_E=1.0, psi_I=1.0, q=0.5,\n", " initI=numNodes/100)\n", "ref_model.run(T=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can visualize our main simulation together with this reference simulation by passing the model object of the reference simulation to the appropriate figure function argument (note: a second reference simulation could also be visualized by passing it to the ```dashed_reference_results``` argument):" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ncccdiYiUFD755BNJ0vjx4w0nAWLDWAYAIHoJmeEeOXKkHnvsscj9Tz75ROvXr9d1112nu+66S/X1\n9XK73WpublZTU5PcbrdKSko0evRoDRgwIBGRksKHH36oDz/80HQMIGaMZQAAomeFQqFQIt549+7d\nuv3227Vs2TL9/e9/17hx4zR+/Hg9+eSTqqur089//nM9/vjjKisr080336xHH31Ud955p5555hkV\nFBRo/vz5ysjo/HmgqKhIRUVFkqSamhq99dZbiYifEH6/X5LkdDoNJwFiw1gGACB6thTcdXV1ys/P\nlySVlpbq/vvv1/PPPx/52ZUrVyoYDKq0tFTTpk3T+++/rxNPPFFTpkw56jUKCwtVXFyciPgAAABA\nXNiyD/e8efP08ccfS2o7EvqUU06JPNfc3Ky1a9fqiiuuUGNjoxwOhyzLUkNDgx3RbPXxxx9H/jsA\nqYyxDABA9GzZFvDee+/V/fffL6fTqQEDBuj++++PPPf8889r7ty5sixLV199te6++255PB49/vjj\ndkSz1ZYtWyRJp556quEkQGwYywAARC9hLSV2SLWWkkAgIElyOByGkwCxYSwDABA9Dr6xEcUJ0gVj\nGQCA6NnSw402W7du1datW03HAGLGWAYAIHoU3DaiSEG6YCwDABA9ergBAACABGKGGwAAAEggCm4b\nlZSUqKSkxHQMIGaMZQAAokfBbaNt27Zp27ZtpmMAMWMsAwAQPXq4AQAAgARihhsAAABIIApuG33w\nwQf64IMPTMcAYsZYBgAgehTcNtqxY4d27NhhOgYQM8YyAADRo4cbAAAASCBmuAEAAIAEouC20Xvv\nvaf33nvPdAwgZoxlAACiR8Ftoy+++EJffPGF6RhAzBjLAABEjx5uAAAAIIGY4QYAAAASiILbRps2\nbdKmTZtMxwBixlgGACB6maYD9CW7d+82HQGIC8YyAADRo4cbAAAASCBaSgAAAIAEouC20caNG7Vx\n40bTMYCYMZYBAIgePdw22rdvn+kIQFwwlgEAiB493AAAAEAC0VICAAAAJBAFt402bNigDRs2mI4B\nxIyxDABA9OjhtlF1dbXpCEBcMJYBAIgeBbeNCgsLTUcA4oKxDABA9GgpAQAAABKIgttGb731lt56\n6y3TMYCYMZYBAIgeLSU2qqurMx0BiAvGMgAA0aPgttGVV15pOgIQF4xlAACiR0sJAAAAkEAU3DZ6\n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\nvtx0DMSoqqrKdATjXn/9db3++uumY8RFfn5+5HaqLwQFACSnbgvukSNHqry8XFLb4TdDhgzp9k0X\nLlyoX//615HT6B544AHNnz9fL730kkKhkNatW6ft27dr2LBheuaZZ/Tiiy9Kkp544gn96Ec/iuXX\nk9TOOeccnXPOOaZjIEbhxXbtC7W+ZtKkSZo0aZLpGHFhWVZk9yV2LAEAJEK3PdwfffSRLrnkEg0d\nOlT79u2Ty+WKFI0bN2484mtGjhypxx57TD/72c8kSdu2bdPXvvY1SdJ5552nd955R9dff72am5vV\n1NQkt9utkpISjR49WgMGDDhqnqKiIhUVFUmSampqov+VJoF02Lu4r/P5fAoGg7Isq8/tTNLe6NGj\nTUeIq8zMzMgEAQAA8dZtwf3mm2/2+E0vuugi7d69O3I/FApFipPc3Fx5vV6NGTNGgwYN0kMPPaSb\nb75Zjz76qO68807dc889Kigo0Pz58494VPasWbM0a9YsSVJhYWGPs5lUW1srqe/2/aaDcDtJX+/1\n9Xq9ktoWVaeD8MJXn8/X7Yd+AAB6qtuWkrhcpF3h7PP5Il/F33LLLfrDH/6gTz/9VFOnTtWyZcs0\nY8YMFRQU6N1337Ujmq1efvllvfzyy6ZjoBdCoZB27twZuZ8uhWZv/eMf/9A//vEP0zHipv23FcFg\n0GASAEA6sqXgPvnkk7V582ZJ0ttvv92h97O5uVlr167VFVdcocbGRjkcDlmWlZa9lOedd57OO+88\n0zHQC7t27YrcdrlcR/z2pS/52te+FmkTSzf79u3r899gAADiq8uq4Ze//KUkaenSpTFf5Oc//7ke\ne+wxzZo1S36/XxdddFHkueeff15z586VZVm6+uqrdc899+if//ynpkyZEvN1k83YsWPTZv/iviR8\nomRYdna2oSTJY+TIkRo5cqTpGHGVmdnWYef3+yMLxQEAiAcr1MVUzsUXX6xvfOMb+sc//qHLLrus\nw3O33367LeG6U1hYqOLiYtMxohZe5NmvXz/DSdAT7VtJ6L9vk47rEUKhkOrq6iL3R40aZTANACCd\ndDnD/fTTT2vcuHHKysrSmDFjOvwPvbNixQqtWLHCdAz0QCAQiNwObx0H6Y033tAbb7xhOkZcWZYl\nj8cTuU1bCQAgXrrcpWTEiBEaMWKEzjzzTNXX16u0tFSjR4/WSSedZGe+tPKNb3zDdAREobW1VQcP\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, shaded_reference_results=ref_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As further demonstration, we might also wish to compare the results of these network model simulations to a deterministic model simulation of the same SEIRS parameters (with no interventions in this case):" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 299.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model_determ = SEIRSModel(beta=0.147, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, initI=100, initN=10000) \n", "ref_model_determ.run(T=300)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nK/ITCgn6OoaO0IFTDUThhSC+ELTv1Rq/9/b9NwKe6+HhDQpo9/6/J73CdhI5+CYCSGfSI34Pjntw\nw77258RLOXiUmn6maWIIY1B6UL/+wB0obF/4/sRe+fnKpUgf3TE7YgH3W2+9xRlnnAHAiSeeyPr1\n61mwYAGO4+B5HoZh8Pjjj/N3fzfyTEN7q4zYZBonQd1ChEzlRzAbxz5oLAPg+MkHPzGBph1N+ljW\nNE07+gT7zOk8QhuIGOb/gxbuR6Pw3p1Jh9vx3kF34d9i77F36/7ei/tuAgxhDMmb79+uP0BWKAxF\n0YAbKfD6bjIG7mvEoNcBhFKDiqdQSMB2QCgXYeXngz4QRyyH+7vf/S6rVq3izDPPBOCss87ib//2\nb3nooYdYsWIFtm0zdepUNm/eTEtLC1/96leZPXv2kP08+uijPPpofhbED7dsoq46hAiOr86R2thk\nM1mCodGmYNfGK11/E5euu4lN19/EpetuYjOE4vHfDp0rZCyOWAt3NBollUoV/pZSsnz5cpYvX04i\nkeD222/n4x//OC+88AI33HAD99xzDz/60Y+G7GfNmjWsWbMGgNWrV/PEE08MWUebGHT9TWy6/iYu\nXXcTm66/iUvX3cS2evXqA972iCU9L1u2jBdeyM869u677zJ//vzCaw888ABXX3012Ww2nwAvBOn0\nyPk+mqZpmqZpmjYRHLEW7pUrV/LSSy9xySWXoJTi3nvvBaCxsZHe3l4WLlyIlJKWlhauvvpqvvnN\nbx6pommapmmapmnaYXPEAm7DMPj+978/ZPm0adO48847C+vcf//YxzfsTy3RJiZdfxObrr+JS9fd\nxKbrb+LSdTexHUz9TeiJbzRN0zRN0zRtvBvfA1drmqZpmqZp2gSnA25N0zRN0zRNO4yOWA73oVRs\nmviZM2ce7WJpo7j44osLs4hOmzaNNWvWcM8992CaJitWrOAb3/jGUS6htq/33nuvMF5+fX09N998\nM0II5s2bx+23345hGNx33308//zzWJbFrbfeytKlS492sbU+e9ffxo0bueaaa6irqwNg7dq1nHfe\nebr+xiHHcbj11ltpamrCtm2+9rWvMXfuXH3+TQDF6q62tlafexOE53l873vfY+fOnQghuPPOOwkE\nAofm3FMT0NNPP63WrVunlFLqnXfeUddee+1RLpE2mmw2qy666KJByy688EJVX1+vpJTqqquuUhs2\n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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, \n", " shaded_reference_results=ref_model, shaded_reference_label='network: no interventions',\n", " dashed_reference_results=ref_model_determ, dashed_reference_label='deterministic: no interventions')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 2 } seirsplus-1.1.0/examples/.ipynb_checkpoints/sandbox-checkpoint.ipynb000066400000000000000000007121331375244156600260230ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SEIRS+ Network Model Demo\n", "\n", "**This notebook provides a demonstration of the core functionality of the SEIRS+ Network Model and offers a sandbox for easily changing simulation parameters and scenarios.** \n", "For a more thorough walkthrough of the model and use of this package, refer to the README." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and Importing the model code\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```sudo pip install seirsplus```\n", "\n", "Then, the ```models``` module can be imported into your scripts as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "import networkx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. In this case, the easiest way to use the module is to place your scripts in the same directory as the module, and import the module as shown here:*\n", "```python\n", "from models import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generating interaction networks\n", "\n", "This model simulates SEIRS epidemic dynamics for populations with a structured interaction network (as opposed to standard deterministic SIR/SEIR/SEIRS models, which assume uniform mixing of the population). As such, a graph specifying the interaction network for the population must be specified, where each node represents an individual in the population and edges connect individuals who have regular interactions.\n", "\n", "The interaction network can be specified by a ```networkx``` Graph object or a 2D numpy array representing the adjacency matrix, either of which can be defined and generated by any method.\n", "\n", "*Here, we use a ```custom_exponential_graph()``` generation function included in this package, which generates power-law graphs that have degree distributions with two exponential tails. For more information on this custom graph type and its generation, see the README.*\n", "\n", "**_Note:_** *Simulation time increases with network size. Small networks simulate quickly, but have more stochastic volatility. Networks with ~10,000 are large enough to produce per-capita population dynamics that are generally consistent with those of larger networks, but small enough to simulate quickly. We recommend using networks with ~10,000 nodes for prototyping parameters and scenarios, which can then be run on larger networks if more precision is required (for more on this, see README).*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEICAYAAACj2qi6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtYVXWixvHvAhSUDSnZpARMYPqkpzwzyEgzh7B6ULrY\nODLmRotuNlPORINlQiSIo2mO59CUpmVj0xnMxAvVnJPzVDIVo85gkbfo4hnGLETNBBv2Vrntdf5w\n3EWCe4Gw90bez/P0PLLW2mu9e5m8e91+2zBN00RERMSCAF8HEBGRnkOlISIilqk0RETEMpWGiIhY\nptIQERHLVBoiImKZSkNERCxTaYiIiGUqDRERsSzI1wG6QmJiIpdccomvY4iI9CgHDhygvLy8Q685\nL0rjkksuoaSkxNcxRER6lLS0tA6/RqenRETEMpWGiIhYptIQERHLzotrGiJiXVNTE9XV1Zw8edLX\nUcRLQkJCiIqKok+fPue8LpWGSC9TXV1NWFgYl156KYZh+DqOdDPTNDl69CjV1dXExsae8/p0ekqk\nlzl58iQXXnihCqOXMAyDCy+8sMuOLFUaIr2QCqN36cq/b52eEunl6pyNOBqau2x9tuAgBob27bL1\niX9RaYj0co6GZjZUVHfZ+iaPjvLb0qiqqqKgoICioiJfR2nXiRMnuOuuu3jssccYOnQoLS0tzJkz\nh3379mEYBvPmzWP48OGtXvPnP/+Zp59+mqCgIH76058yZcqUbsun0uiFPH2y1CdFEd/Ys2cPc+fO\n5fDhw+5pb731FgBr166lvLycJ554ghUrVrjnNzU1sWjRIjZs2EC/fv2YOnUq1113HYMGDeqWjCqN\nXsjTJ0t//qQoPV9JSQlvvfUWJ0+e5MiRI9x+++2Ulpbyf//3f8yePZuUlBT+9Kc/8cILLxAQEMDo\n0aOZNWsWhw4doqCggIaGBo4cOUJWVhYpKSncfPPNjBkzhk8++QTDMFi+fDlhYWHu7X3xxRfMmjUL\n0zS56KKL3NO3b9/OE088QWBgINHR0fz617+mpaWF2bNn88UXXzBkyBDeffddtmzZQkZGBhEREXz1\n1VesXLmSgoIC9u/fj8vlIisri8TExDbX981bXJ944gnef//9Vvti1apV9O379b+1xsZGnn76aWbP\nnu2elpKSwjXXXANATU0N4eHhrdZRVVVFTEwMF1xwAQCjR4/m3Xff5YYbbjj3v6w2qDRExOucTifP\nP/88r732Gi+88ALr1q2jvLycP/zhDyQkJLB06VI2btxIv379ePjhh9m6dSuGYXDXXXeRmJjI+++/\nz9KlS0lJScHpdHLTTTeRl5fHQw89RFlZGTfddJN7W8888wwTJkxgypQpbNq0iZdeegnTNMnLy2PN\nmjVceOGF/Pa3v+Xll1/mxIkTREVF8dRTT1FVVcWECRPc65kwYQLjxo1jzZo1DBw4kIULF1JXV8dt\nt93G//7v/7a5vm+eJpo5c6bH/TJ69Og2pwcFBZGdnc2bb77JU0891Wqew+FoVZKhoaE4HA7Lfxcd\npdIQEa8bMWIEAGFhYQwdOhTDMLjgggtoaGjgs88+o7a2lp///OfAqYL57LPPSEhIYMWKFWzYsAHD\nMGhu/voU68iRIwEYMmQIDQ0Nrbb16aefun95x8fH89JLL1FbW8sXX3xBVlYWcOo25B/96EfU1dWR\nnJwMwNChQ4mIiHCv5/QzDnv37qWiooLdu3cD0Nzc3O76vsnKkcbZLF68mFmzZjFlyhRee+01+vfv\nD4DNZsPpdLqXczqdrUqkq6k0RMTrznYLaFRUFEOGDOH555+nT58+lJSUMGLECJ588kluueUWxo4d\ny8aNG3n55ZctrW/o0KHs2LGDyy+/nD179gAwcOBABg8e7D6VVVpaSv/+/amqqmLHjh2kpKTw2Wef\nUVdXd8Y24uLiGDx4MPfddx8nT55kxYoV7a7vm6wcabTllVde4fDhw9x7773069cPwzAICPj6aYmh\nQ4eyf/9+jh07Rv/+/XnvvfeYPn16p7ZlhUpDpJezBQcxeXRUl67vXERERHDnnXeSkZFBS0sLl1xy\nCTfccAPXX389v/nNb1i5ciWDBw9u9Qv9bGbMmMHDDz/Mpk2biIo69T4DAgJ49NFH+fnPf45pmoSG\nhvKb3/yG73//++Tk5HDrrbcSGRlJcHDwGetLT09nzpw53HbbbTgcDqZNm9bu+rrC+PHjeeSRR7j1\n1ltpbm4mNzeXkJAQ/ud//ofjx49jt9vJyclh+vTpmKbJT3/6Uy6++OIu2XZbDNM0zW5bu5ekpaXp\n+zQ64PPa4x4vhEdH9G93vvRsH330kfv0kLT2/vvvc/z4cZKSkvj000+555572Lx5s69jdYm2/t47\n87tTRxoiIv8SHR3Ngw8+yLJly2hubiY/P9/XkfyOSkNE5F8uuugiv37wzx9o7CmRXug8OCstHdCV\nf98qDZFeJiQkhKNHj6o4eonTQ6OHhIR0yfp0euo8Y2XwucZml5fSiD+KioqiurqaI0eO+DqKeMnp\nL2HqCiqN84yVweduvHKwl9KIP+rTp0+XfBmP9E46PSUiIpapNERExDKVhoiIWNZtpbFr1y4yMjKA\nU08iTps2jYyMDKZPn86XX34JwLp160hLS2PKlCnuMeNra2u5++67mTZtGllZWZw4caK7IoqISAd1\nS2k899xzzJkzxz3a5GOPPUZeXh5FRUWMGzeO5557jiNHjlBUVMTatWtZtWoVhYWFNDY2snz5ciZM\nmMCaNWsYOXIkxcXF3RFRREQ6oVtKIyYmhqVLl7p/LiwsdI950tLSQnBwMLt37+b73/8+ffv2JSws\njJiYGD7++GMqKiq4+uqrAUhOTmbbtm3dEVFERDqhW265TU1Npbr669s+v/Od7wCnBgNbvXo1L774\nIn/5y1/a/OKQb36hSGhoKPX19W1uo7i42H0UYnW0SxEROTdee05j06ZNrFixgpUrVxIREdHuF4ec\nnh4SEoLT6Tzjqw1Ps9vt2O124NRIjSIi0v28cvfUq6++yurVqykqKiI6OhqAUaNGUVFRQUNDA/X1\n9VRVVTF8+HDi4+N55513ACgrK2v36w9FRMT7uv1Io6Wlhccee4whQ4aQmZkJwA9+8AMeeOABMjIy\nmDZtGqZpMnPmTIKDg5kxYwbZ2dmsW7eOgQMH8l//9V/dHVFERCzqttKIiopi3bp1AGzfvr3NZaZM\nmdLqi9cBBg0axKpVq7orloiInAM93CciIpapNERExDKVhoiIWKbSEBERy1QaIiJimUpDREQsU2mI\niIhlKg0REbFMpSEiIpapNERExDKVhoiIWKbSEBERy1QaIiJimUpDREQsU2mIiIhlKg0REbFMpSEi\nIpapNERExDKVhoiIWKbSEBERy1QaIiJimUpDREQsU2mIiIhl3VYau3btIiMjA4D9+/czdepUpk2b\nxty5c3G5XAAsW7aMyZMnk56ezu7du8+6rIiI+F63lMZzzz3HnDlzaGhoAGDRokVkZWWxZs0aTNOk\ntLSUyspKtm/fzvr16yksLGTevHntLisiIv6hW0ojJiaGpUuXun+urKxkzJgxACQnJ7Nt2zYqKipI\nSkrCMAwiIyNpaWmhtra2zWVFRMQ/dEtppKamEhQU5P7ZNE0MwwAgNDSU+vp6HA4HNpvNvczp6W0t\nKyIi/iHI8yLnLiDg625yOp2Eh4djs9lwOp2tpoeFhbW5bFuKi4spLi4GoK6urpuSi4jIN3nl7qmR\nI0dSXl4OQFlZGQkJCcTHx7NlyxZcLhc1NTW4XC4iIiLaXLYtdrudkpISSkpKGDhwoDfehohIr+eV\nI43s7Gzy8vIoLCwkLi6O1NRUAgMDSUhIwG6343K5yM/Pb3dZERHxD4ZpmqavQ5yrtLQ0SkpKfB3D\nL3xee5wNFdVnXebGKwezac+hdudPHh1FdET/ro4mIn6mM7879XCfiIhYptIQERHLVBoiImKZSkNE\nRCxTaYiIiGVeueVWehaXafJ57fGzLmMLDmJgaF8vJRIRf6HSkDOcbGo56y25cOq2XJWGSO+j01Mi\nImKZSkNERCxTaYiIiGUqDRERsUylISIilqk0RETEMpWGiIhYptIQERHLVBoiImKZSkNERCxTaYiI\niGUqDRERscxSaTgcDpxOJ6+88gpfffVVd2cSERE/5XGU25kzZ3LNNdewY8cOXC4Xb775Jk8//bQ3\nsomIiJ/xeKTxxRdfMHHiRKqqqvj1r3+N0+n0Ri4REfFDHo80mpqaeOONN7jsssuora1VafhYnbMR\nR0Nzu/Mbm11eTCMivY3H0rjnnnvYtGkTOTk5FBUV8Ytf/MIbuaQdjoZmNlRUtzv/xisHezGNiPQ2\nHktj/PjxDBs2jE8++QS73c7FF1/cqQ01NTWRk5PDgQMHCAgIYP78+QQFBZGTk4NhGAwbNoy5c+cS\nEBDAsmXLePvttwkKCiI3N5dRo0Z1apsiItK1PJbG6tWrefPNN/nqq6+YNGkS+/fvJz8/v8Mbeued\nd2hubmbt2rVs3bqV3/72tzQ1NZGVlUViYiL5+fmUlpYSGRnJ9u3bWb9+PQcPHiQzM5ONGzd26s2J\niEjX8ngh/LXXXuP3v/89YWFh3HHHHezatatTG4qNjaWlpQWXy4XD4SAoKIjKykrGjBkDQHJyMtu2\nbaOiooKkpCQMwyAyMpKWlhZqa2s7tU0REelaHo80TNPEMAwMwwCgb9++ndpQ//79OXDgADfccAN1\ndXU888wzvPvuu+71hoaGUl9fj8PhYMCAAe7XnZ4eERHRan3FxcUUFxcDUFdX16lMIiLSMR5LY8KE\nCdx6663U1NTws5/9jJSUlE5t6IUXXiApKYmHHnqIgwcPcscdd9DU1OSe73Q6CQ8Px2aztbpDy+l0\nEhYWdsb67HY7drsdgLS0tE5lEhGRjvFYGrfddhs//OEP2bt3L7GxsVx++eWd2lB4eDh9+vQB4IIL\nLqC5uZmRI0dSXl5OYmIiZWVlXHXVVcTExLBkyRKmT5/OoUOHcLlcZxxliIiIb7RbGsuWLTtjWlVV\nFZs3b+b+++/v8IbuvPNOcnNzmTZtGk1NTcycOZMrrriCvLw8CgsLiYuLIzU1lcDAQBISErDb7bhc\nrk5ddBcRke7RbmkMGjQIgM2bNxMVFUV8fDx79uzh4MGDndpQaGgoTz755BnTV69efca0zMxMMjMz\nO7UdERHpPu2WRnp6OgBvvPEGBQUFAPz4xz/mrrvu8kowERHxPx5vuT127BifffYZAP/4xz+or6/v\n9lAiIuKfPF4Iz83N5Ze//CW1tbVcfPHF7qMOERHpfTyWRkJCAn/4wx/4/PPPiYqK0p1MIiK9mMfT\nU5s2bSI9PZ1nn30Wu93Oq6++6o1cIiLihzweafz3f/83JSUlhIaG4nA4uOOOO5g4caI3somIiJ/x\nWBqGYRAaGgqAzWYjODi420OJ/3OZJp/XHm93vi04iIGhnRtyRkT8l8fSiI6O5vHHHychIYH33nuP\nmJgYb+QSP3eyqYVNew61O3/y6CiVhsh5yOM1jUWLFhEdHc22bduIjo5m/vz53sglIiJ+yOORRmBg\nIFdeeSXDhw8HYOfOnfzgBz/o9mAiIuJ/PJbG/fffT11dHUOGDHEPk67SEBHpnTyWxtGjR1m7dq03\nsoiIiJ/zeE0jNjaWw4cPeyOLiIj4OY9HGu+//z7XXnttqyfBt2zZ0q2hRETEP3ksjddff90bOURE\npAfweHpKRETkNJWGiIhYptIQERHLPF7TeOKJJ9iwYQOGYbin6UK4iEjv5LE03nnnHd566y369tU4\nQiIivZ3H01MjRoygoaHBG1lERMTPeTzSGDZsGElJSQwaNMg9jEhpaak3somIiJ/xWBqbNm2itLSU\n8PBwb+QRERE/5rE0IiMj6devX5dc03j22Wf585//TFNTE1OnTmXMmDHk5ORgGAbDhg1j7ty5BAQE\nsGzZMt5++22CgoLIzc1l1KhR57xtERE5dx5L49ChQ4wbN47o6Gjg1Df5dWYAw/Lycnbs2MFLL73E\niRMneP7551m0aBFZWVkkJiaSn59PaWkpkZGRbN++nfXr13Pw4EEyMzPZuHFjx9+ZiIh0OUu33HaF\nLVu2MHz4cH75y1/icDiYPXs269atY8yYMQAkJyezdetWYmNjSUpKwjAMIiMjaWlpoba2ttXYVyIi\n4hseS+Pll18+Y9r999/f4Q3V1dVRU1PDM888Q3V1NTNmzHBfWAcIDQ2lvr4eh8PBgAED3K87Pf3b\npVFcXExxcbF73SIi0v08lsagQYMAME2TDz/8EJfL1akNDRgwgLi4OPr27UtcXBzBwcEcOvT1d0w7\nnU7Cw8Ox2Ww4nc5W08PCws5Yn91ux263A5CWltapTCIi0jEen9NIT08nPT2dqVOnMn/+/E5/t8bo\n0aP5y1/+gmmaHD58mBMnTvDDH/6Q8vJyAMrKykhISCA+Pp4tW7bgcrmoqanB5XLp1JSIiJ/weKSx\nb98+95+PHDlCTU1NpzZ07bXX8u677zJ58mRM0yQ/P5+oqCjy8vIoLCwkLi6O1NRUAgMDSUhIwG63\n43K5yM/P79T2xLdcpsnntcfbnW8LDmJgqEYZEOlpPJbGN39pBwcHk52d3emNzZ49+4xpq1evPmNa\nZmYmmZmZnd6O+N7JphY27TnU7vzJo6NUGiI9kMfSKCoq8kYOERHpATyWxiuvvMLKlStbjT+lYURE\nRHonj6Xx3HPPsWLFCoYMGeKNPCIi4sc8lkZ0dDTf/e53vZFFRET8nMfSCAkJ4Z577mHEiBHuB/Ee\nfPDBbg8mIiL+x2NpjB071hs5RESkB/BYGpMmTfJGDhER6QE8PhEuIiJymkpDREQsU2mIiIhlKg0R\nEbFMpSEiIpapNERExDKVhoiIWKbSEBERy1QaIiJimUpDREQsU2mIiIhlKg0REbFMpSEiIpapNERE\nxDKPQ6OLdAeXafJ57fGzLmMLDmJgaF8vJRIRK1Qa4hMnm1rYtOfQWZeZPDpKpSHiZ7x+euro0aOM\nHTuWqqoq9u/fz9SpU5k2bRpz587F5XIBsGzZMiZPnkx6ejq7d+/2dkQREWmHV0ujqamJ/Px8QkJC\nAFi0aBFZWVmsWbMG0zQpLS2lsrKS7du3s379egoLC5k3b543I4qIyFl49fTU4sWLSU9PZ+XKlQBU\nVlYyZswYAJKTk9m6dSuxsbEkJSVhGAaRkZG0tLRQW1tLRESEN6P6TJ2zEUdDc7vzG5tdXkwjItKa\n10qjpKSEiIgIrr76andpmKaJYRgAhIaGUl9fj8PhYMCAAe7XnZ7+7dIoLi6muLgYgLq6Oi+9i+7n\naGhmQ0V1u/NvvHKwF9OIiLTmtdLYuHEjhmHw17/+lY8++ojs7Gxqa2vd851OJ+Hh4dhsNpxOZ6vp\nYWFhZ6zPbrdjt9sBSEtL6/43IF7n6Q4r3V0l4n1eK40XX3zR/eeMjAwKCgpYsmQJ5eXlJCYmUlZW\nxlVXXUVMTAxLlixh+vTpHDp0CJfL1WtOTUlrnu6w0t1VIt7n01tus7OzycvLo7CwkLi4OFJTUwkM\nDCQhIQG73Y7L5SI/P9+XEUVE5Bt8UhpFRUXuP69evfqM+ZmZmWRmZnozkoiIWKBhRERExDKVhoiI\nWKbSEBERy1QaIiJimUpDREQsU2mIiIhlKg0REbFMpSEiIpapNERExDKVhoiIWKbSEBERy/Qd4dJj\naeh0Ee9TaUiPpaHTRbxPp6dERMQylYaIiFim0hAREctUGiIiYplKQ0RELNPdU3Le8nRLLui2XJGO\nUmnIecvTLbmg23JFOkqnp0RExDKVhoiIWKbSEBERy7x2TaOpqYnc3FwOHDhAY2MjM2bM4LLLLiMn\nJwfDMBg2bBhz584lICCAZcuW8fbbbxMUFERubi6jRo3yVkwRETkLr5XGH//4RwYMGMCSJUs4duwY\nP/nJT7j88svJysoiMTGR/Px8SktLiYyMZPv27axfv56DBw+SmZnJxo0bvRVTehkNeijSMV4rjeuv\nv57U1FQATNMkMDCQyspKxowZA0BycjJbt24lNjaWpKQkDMMgMjKSlpYWamtriYiI8FZU6UU06KFI\nx3jtmkZoaCg2mw2Hw8EDDzxAVlYWpmliGIZ7fn19PQ6HA5vN1up19fX13oopIiJn4dUL4QcPHuT2\n229n4sSJ3HzzzQQEfL15p9NJeHg4NpsNp9PZanpYWNgZ6youLiYtLY20tDTq6uq8kl9EpLfzWml8\n+eWX3H333Tz88MNMnjwZgJEjR1JeXg5AWVkZCQkJxMfHs2XLFlwuFzU1NbhcrjZPTdntdkpKSigp\nKWHgwIHeehvSy5y+5tHef3XORl9HFPEqr13TeOaZZ/jnP//J8uXLWb58OQCPPvooCxYsoLCwkLi4\nOFJTUwkMDCQhIQG73Y7L5SI/P99bEUXOoGseIq15rTTmzJnDnDlzzpi+evXqM6ZlZmaSmZnpjVgi\nItIBGnvKi+qcjTgams+6TGOzy0tpREQ6TqXhRY6GZjZUVJ91mRuvHOylNCIiHafSEDkHGn5dehuV\nhsg50PDr0ttowEIREbFMRxoi3UzjW8n5RKUh0s30rIecT1QaHeDplll9YhSR851KowM83TKrT4wi\ncr7rNaWhowTxV7ptV3qSXlMaOkoQf6XbdqUn6TWl4Q2ePjFqiBAR6elUGl3I0ydGDREiIj2dSkPk\nPKBrduItKo1/sXIxUqeXxF95umaXFn+JxxGWVSxixXlRGi2uc/+Fb+VipE4via+c6/UyXWyXrnJe\nlIbLNDXkuJzXvHG9TMOdiBXnRWmIyLnzVEyeTnGpVHoHlYaIWHKupQIqlvOBSkNEuoSum/QOKg0R\n8RpP102CAgyaXeZZ1+FpGR3NdC+Vhoh4jZUL+lbuYtRQ876j0hCR80pXHM14OlrpzQ9TqjRE5LzS\nFUczni7qNza7+OOumk6/Hs69mKysozv4ZWm4XC4KCgr45JNP6Nu3LwsWLOC73/2ur2OJSC9xrs/F\nWLkp4FyLyco6uqNU/LI0Nm/eTGNjI8XFxezcuZPHH3+cFStW+DqWiEiX6YoHNrviNuiO8svSqKio\n4Oqrrwbge9/7Hh988IGPE4mI9DxWjng6yjBN8+xXhHzg0UcfZfz48YwdOxaAa665hs2bNxMU9HXH\nFRcXU1xcDMDevXsZPny4T7J2RF1dHQMHDvR1DI+Us2spZ9fqCTl7QkaAffv2sWPHjo69yPRDCxcu\nNF977TX3z1dfffVZl580aVJ3R+oSytm1lLNrKWfX6QkZTbNzOQO6p7/OTXx8PGVlZQDs3LmzRxxF\niIj0Bn55TWPcuHFs3bqV9PR0TNNk4cKFvo4kIiJAYEFBQYGvQ3ybYRhce+21TJ48mVtuuYWIiAiP\nr7niiiu8kOzcKWfXUs6upZxdpydkhI7n9MsL4SIi4p/88pqGiIj4J7+8pmFVT3pyfNKkSdhsNgCi\noqJYtGiRjxO1tmvXLv7zP/+ToqIi9u/fT05ODoZhMGzYMObOnUtAgH98vvhmzg8//JB7772XSy+9\nFICpU6dy4403+jRfU1MTubm5HDhwgMbGRmbMmMFll13mV/uzrYxDhgzxu33Z0tLCnDlz2LdvH4Zh\nMG/ePIKDg/1qX7aXs7m52e/252lHjx4lLS2N559/nqCgoI7vz66+hcubXn/9dTM7O9s0TdPcsWOH\ned999/k4UdtOnjxpTpw40dcx2rVy5UpzwoQJ5i233GKapmnee++95t/+9jfTNE0zLy/PfOONN3wZ\nz+3bOdetW2euWrXKx6la27Bhg7lgwQLTNE2zrq7OHDt2rN/tz7Yy+uO+fPPNN82cnBzTNE3zb3/7\nm3nffff53b40zbZz+uP+NE3TbGxsNH/xi1+Y48ePN//+9793an/6x8fHTuopT45//PHHnDhxgrvv\nvpvbb7+dnTt3+jpSKzExMSxdutT9c2VlJWPGjAEgOTmZbdu2+SpaK9/O+cEHH/D2229z6623kpub\ni8Ph8GG6U66//np+9atfAWCaJoGBgX63P9vK6I/7MiUlhfnz5wNQU1NDeHi43+1LaDunP+5PgMWL\nF5Oens53vvMdoHP/1nt0aTgcDvcpH4DAwECam7t2nJWuEBISwvTp01m1ahXz5s1j1qxZfpUzNTW1\n1dP2pmliGAYAoaGh1NfX+ypaK9/OOWrUKGbPns2LL75IdHQ0Tz/9tA/TnRIaGorNZsPhcPDAAw+Q\nlZXld/uzrYz+uC8BgoKCyM7OZv78+dx8881+ty9P+3ZOf9yfJSUlREREuD9oQ+f+rffo0rDZbDid\nTvfPLper1S8VfxEbG8uPf/xjDMMgNjaWAQMGcOTIEV/Hatc3z2k6nU7Cw8N9mKZ948aNc98uOG7c\nOD788EMfJzrl4MGD3H777UycOJGbb77ZL/fntzP6676EU5+OX3/9dfLy8mhoaHBP95d9edo3cyYl\nJfnd/ty4cSPbtm0jIyODjz76iOzsbGpra93zre7PHl0aPeXJ8Q0bNvD4448DcPjwYRwOBxdddJGP\nU7Vv5MiRlJeXA1BWVkZCQoKPE7Vt+vTp7N69G4C//vWv/Nu//ZuPE8GXX37J3XffzcMPP8zkyZMB\n/9ufbWX0x335yiuv8OyzzwLQr18/DMPgiiuu8Kt9CW3nvP/++/1uf7744ousXr2aoqIiRowYweLF\ni0lOTu7w/uzRz2mcvntq79697ifHhw4d6utYZ2hsbOSRRx6hpqYGwzCYNWsW8fHxvo7VSnV1NQ8+\n+CDr1q1j37595OXl0dTURFxcHAsWLCAwMNDXEYHWOSsrK5k/fz59+vRh0KBBzJ8/v9XpSl9YsGAB\nf/rTn4iLi3NPe/TRR1mwYIHf7M+2MmZlZbFkyRK/2pfHjx/nkUce4csvv6S5uZmf/exnDB061O/+\n32wr55AhQ/zu/81vysjIoKCggICAgA7vzx5dGiIi4l09+vSUiIh4l0pDREQsU2mIiIhlKg0REbFM\npSEiIpapNEQ6qKGhgeuuu87XMUR8QqUhIiKW+d+YGyJ+yOl0MmvWLP75z38SExMDwCeffMKCBQsA\nGDBgAAsfj+CQAAACGElEQVQXLsRmszFv3jw++OADBg0axIEDB1ixYgXLli3j2LFjHDt2jGeffZbf\n/e53vPfee7hcLu68805uuOGGNtcXFhbms/cs0haVhogFa9euZfjw4cycOZNdu3ZRXl5OXl4eCxcu\n5LLLLmP9+vX87ne/48orr+TYsWNs2LCB2tpaxo8f717HVVddxZ133sk777xDdXU1L730Eg0NDUyZ\nMoX/+I//aHN9M2fO9OG7FjmTSkPEgk8//ZSxY8cC8O///u8EBQVRVVXFvHnzgFNfbHTppZcSGhrK\n9773PQAiIiJaDdURGxsLwN69e6msrCQjIwOA5uZmDhw40Ob6RPyNSkPEgqFDh7Jz505SUlL48MMP\naW5uJjY2lsWLFxMZGUlFRQVHjhwhODiYV199FYCvvvqKTz/91L2O00NQx8XFkZiYyPz583G5XCxf\nvpzo6Og21yfib1QaIhZMnTqV2bNnM3XqVOLi4ujTpw8FBQVkZ2fT3NyMYRg89thjXHrppZSVlZGe\nns6gQYMICQmhT58+rdZ13XXXsX37dqZNm8bx48dJSUnBZrO1uT4Rf6MBC0W6UFVVFR9//DE33XQT\ndXV1TJgwgbfeeou+ffv6OppIl1BpiHSh48eP89BDD3H06FFaWlq47bbbmDRpkq9jiXQZlYaIiFim\nh/tERMQylYaIiFim0hAREctUGiIiYplKQ0RELFNpiIiIZf8Puz3Pw0NXg2AAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "numNodes = 10000\n", "baseGraph = networkx.barabasi_albert_graph(n=numNodes, m=9)\n", "# Baseline normal interactions:\n", "G_normal = custom_exponential_graph(baseGraph, scale=100)\n", "plot_degree_distn(G_normal, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Epidemic scenarios of interest often involve interaction networks that change in time. Multiple interaction networks can be defined and used at different times in the model simulation, as will be shown below.\n", "\n", "*Here we generate a graph representing interactions during corresponding to Social Distancing, where each individual drops some portion of their normal interactions with others. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEICAYAAACj2qi6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1YVHX+//HnAIrFQEp2I4EFple65RaSbt8lrC6V2jST\nixy0MLNbS1osFVNBTNOsXaqVtCzbNsjEG6q9NttKViW1sLwtTd2l0hDNG9CcUW7n/P7w5xQJzoFg\nZtDX47q6rjjnzOe8+ajzms/nnPMZi2EYBiIiIib4ebsAERFpPRQaIiJimkJDRERMU2iIiIhpCg0R\nETFNoSEiIqYpNERExDSFhoiImKbQEBER0wK8XUBz6NOnD5dddpm3yxARaVX27t1LUVFRo15zVoTG\nZZddRn5+vrfLEBFpVRISEhr9Gk1PiYiIaQoNERExTaEhIiKmnRXXNETkt6uurqakpISKigpvlyLN\nrF27doSHh9OmTZvf3JZCQ0QAKCkpITg4mCuuuAKLxeLtcqSZGIbB4cOHKSkpITIy8je3p+kpEQGg\noqKCCy+8UIFxlrFYLFx44YXNNoJUaIiIiwLj7NScf66anhKRepU7qrBX1jRbe9bAADoEtW229sQ7\nFBoiUi97ZQ1LN5Q0W3uJvcJ9NjSKi4vJzMwkJyfH26WcUXp6OhdccAHjxo2rd/+bb77JoUOHGtzf\nHBQazcjdJzN90hKRplq0aBG7du3i+uuvP21fRUUFkydP5quvvmLAgAEtWodCoxm5+2Tmy5+0RLwt\nPz+flStXUlFRwcGDBxkxYgQFBQX897//ZcKECfTr148PP/yQN998Ez8/P3r16sW4cePYv38/mZmZ\nVFZWcvDgQVJTU+nXrx+DBg2id+/e7Ny5E4vFwty5cwkODnad78CBA4wbNw7DMLjoootc29evX88L\nL7yAv78/ERERPP3009TW1jJhwgQOHDhAp06d+OKLL1izZg3JycmEhoZy9OhR5s+fT2ZmJrt378bp\ndJKamkqfPn3qbe+Xt76+8MILbNy4sU5fLFiwgLZtf36v2LhxI1u2bMFms/Htt9+e1neVlZUMGTKE\nP/7xj/Xub04KDRHxGQ6HgzfeeIMPPviAN998k8WLF1NUVMRbb71FTEwMc+bMYdmyZZx33nmMHz+e\ntWvXYrFYuO++++jTpw8bN25kzpw59OvXD4fDwe233056ejpPPvkkhYWF3H777a5zvfLKKwwcOJCh\nQ4eyfPly3nnnHQzDID09nYULF3LhhRfy4osv8u6773LixAnCw8P529/+RnFxMQMHDnS1M3DgQPr3\n78/ChQvp0KEDM2fOpLy8nHvuuYd//etf9bY3dOhQ1+vHjh17xj45cOAAL7/8MtnZ2Xz44Yf1HnPB\nBRcQGxvrkTX4FBoi4jO6d+8OQHBwMF26dMFisXDBBRdQWVnJnj17KCsr46GHHgJOBsyePXuIiYlh\n3rx5LF26FIvFQk3Nz1PEPXr0AKBTp05UVlbWOdf333/vevOOjo7mnXfeoaysjAMHDpCamgqcnPb5\nv//7P8rLy4mLiwOgS5cuhIaGuto59ezDrl272LBhA1u3bgWgpqamwfZ+yd1I49///jfl5eU89NBD\nHDx4kIqKCqKiopq02GBzUGiIiM84062h4eHhdOrUiTfeeIM2bdqQn59P9+7deemll7jrrrvo27cv\ny5Yt49133zXVXpcuXdi0aRNXXXUVX331FQAdOnTg0ksvdU1lFRQUcP7551NcXMymTZvo168fe/bs\noby8/LRzREVFcemll/LII49QUVHBvHnzGmzvl9yNNEaMGMGIESOAk1N43377rdcCAxQaItIAa2AA\nib3Cm7W93yI0NJSRI0eSnJxMbW0tl112Gbfddhu33norzz33HPPnz+fSSy+t84Z+JqNHj2b8+PEs\nX76c8PCTv6efnx+TJ0/moYcewjAMgoKCeO6557juuuuYOHEid999N2FhYQQGBp7WXlJSElOmTOGe\ne+7BbrczfPjwBttrDkeOHGHKlClkZ2c3S3tmWQzDMDx6xhaQkJDgkbk8d3dHVdU4+eeW0gb3J/YK\nJyL0/Ab3i3jTN99845oekro2btzI8ePHiY2N5fvvv+eBBx5gxYoV3i6rUer7823Ke6dGGo3g7u6o\nP11zqQerERFPiYiI4IknniA7O5uamhoyMjK8XZLXKDRERNy46KKLfP7BP0/R2lMi4nIWzFZLPZrz\nz1WhISLAye9cOHz4sILjLHNqafR27do1S3uanhIR4OQtrSUlJRw8eNDbpUgzO/UlTM1BoSEiALRp\n06ZZvqRHzm6anhIREdMUGiIiYppCQ0RETGux0NiyZQvJycnAyScRhw8fTnJyMvfffz+HDh0CYPHi\nxSQkJDB06FBWrlwJQFlZGaNGjWL48OGkpqZy4sSJlipRREQaqUVC47XXXmPKlCmuVSWfeeYZ0tPT\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Social distancing interactions:\n", "G_distancing = custom_exponential_graph(baseGraph, scale=10)\n", "plot_degree_distn(G_distancing, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This SEIRS+ model features dynamics corresponding to testing individuals for the disease and moving individuals with detected infection into a state where their rate of recovery, mortality, etc may be different. In addition, given that this model considers individuals in an interaction network, a separate graph defining the interactions for individuals with detected cases can be specified.\n", "\n", "*Here we generate a graph representing the interactions that individuals have when they test positive for the disease. In this case, a significant portion of each individual's normal interaction edges are removed from the graph, as if the individual is quarantined upon detection of infection. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*\n", "\n", "For more information on how testing, contact tracing, and detected cases are handled in this model, see the README." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Quarantine interactions:\n", "G_quarantine = custom_exponential_graph(baseGraph, scale=5)\n", "plot_degree_distn(G_quarantine, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initializing the model parameters\n", "All model parameter values, including the normal and quarantine interaction networks, are set in the call to the ```SEIRSNetworkModel``` constructor. The normal interaction network ```G``` and the basic SEIR parameters ```beta```, ```sigma```, and ```gamma``` are the only required arguments. All other arguments represent parameters for optional extended model dynamics; these optional parameters take default values that turn off their corresponding dynamics when not provided in the constructor. For clarity and ease of customization in this notebook, all available model parameters are listed below. \n", "\n", "For more information on parameter meanings, see the README.\n", "\n", "*The parameter values shown correspond to rough estimates of parameter values for the COVID-19 epidemic.*" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "model = SEIRSNetworkModel(G =G_normal, \n", " beta =0.155, \n", " sigma =1/5.2, \n", " gamma =1/12.39, \n", " mu_I =0.0004,\n", " mu_0 =0, \n", " nu =0, \n", " xi =0,\n", " p =0.5,\n", " Q =G_quarantine, \n", " beta_D =0.155, \n", " sigma_D =1/5.2, \n", " gamma_D =1/12.39, \n", " mu_D =0.0004,\n", " theta_E =0, \n", " theta_I =0, \n", " phi_E =0, \n", " phi_I =0, \n", " psi_E =1.0, \n", " psi_I =1.0,\n", " q =0.5,\n", " initI =numNodes/100, \n", " initE =0, \n", " initD_E =0, \n", " initD_I =0, \n", " initR =0, \n", " initF =0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checkpoints\n", "Model parameters can be easily changed during a simulation run using checkpoints. A dictionary holds a list of checkpoint times (```checkpoints['t']```) and lists of new values to assign to various model parameters at each checkpoint time. Any model parameter listed in the model constrcutor can be updated in this way. Only model parameters that are included in the checkpoints dictionary have their values updated at the checkpoint times, all other parameters keep their pre-existing values.\n", "\n", "*The checkpoints shown here correspond to starting social distancing and testing at time ```t=20``` (the graph ```G``` is updated to ```G_distancing``` and locality parameter ```p``` is decreased to ```0.1```; testing params ```theta_E```, ```theta_I```, ```phi```, and ```phi_I``` are set to non-zero values) and then stopping social distancing at time ```t=100``` (```G``` and ```p``` changed back to their \"normal\" values; testing params remain non-zero).*" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "checkpoints = {'t': [20, 100], \n", " 'G': [G_distancing, G_normal], \n", " 'p': [0.1, 0.5], \n", " 'theta_E': [0.02, 0.02], \n", " 'theta_I': [0.02, 0.02], \n", " 'phi_E': [0.2, 0.2], \n", " 'phi_I': [0.2, 0.2]}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running the simulation" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 0.02\n", "t = 10.03\n", "[Checkpoint: Updating parameters]\n", "t = 20.07\n", "t = 30.02\n", "t = 40.01\n", "t = 50.02\n", "t = 60.01\n", "t = 70.03\n", "t = 80.03\n", "t = 90.02\n", "[Checkpoint: Updating parameters]\n", "t = 100.03\n", "t = 110.01\n", "t = 120.05\n", "t = 130.00\n", "t = 140.07\n", "t = 150.01\n", "t = 160.00\n", "t = 170.04\n", "t = 180.01\n", "t = 190.00\n", "t = 200.02\n", "t = 210.01\n", "t = 220.00\n", "t = 230.00\n", "t = 240.02\n", "t = 250.01\n", "t = 260.04\n", "t = 270.03\n", "t = 280.08\n", "t = 290.01\n", "t = 300.18\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.run(T=300, checkpoints=checkpoints)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing the results\n", "The ```SEIRSNetworkModel``` class has a ```plot()``` convenience function for plotting simulation results on a matplotlib axis. This function generates a line plot of the frequency of each model state in the population by default, but there are many optional arguments that can be used to customize the plot.\n", "\n", "The ```SEIRSNetworkModel``` class also has convenience functions for generating a full figure out of model simulation results (optionaly arguments can be provided to customize the plots generated by these functions). \n", "- ```figure_basic()``` calls the ```plot()``` function with default parameters to generate a line plot of the frequency of each state in the population.\n", "- ```figure_infections()``` calls the ```plot()``` function with default parameters to generate a stacked area plot of the frequency of only the infection states ($E$, $I$, $D_E$, $D_I$) in the population.\n", "\n", "For more information on the built-in plotting functions, see the README." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nNNrVYNiwYXZHAEyjjgEAMOa8ZrjvvfdetWnTJnjTm0mTJoU8WDhKSkqyOwJgGnUMAIAxlTbct956\nqxU5LgigKyVoAAAgAElEQVS7d++WJLVr187mJEDVUccAABhT6T7cN998s0pLS7V//341bdpUffv2\ntSJXWFq3bp3WrVtndwzAFOoYAABjKl3hfvTRR9WwYUOtX79el156qX7/+99rxowZVmQLO8OHD7c7\nAmAadQwAgDGVrnDv379fv/nNbxQVFaX+/fsrPz/filxhKT4+XvHx8XbHAEyhjgEAMKbShtvn8+nY\nsWNyOBwqKCgIXjhZFa+99ppGjBihtLQ0vffee1q7dq2GDx+u+++/X36/X5L0+OOPKysrq8qfUZPt\n3LlTO3futDsGYAp1DACAMZWOlEycOFGjRo3Sd999pxEjRmjy5MlV+qANGzbo3//+t+bMmaOioiK9\n+eabWrlypd588029+OKL+vrrr+V0OhUfH6/mzZtX6TNqus8++0ySlJqaanMSoOqoYwAAjKm04b78\n8su1ZMkSHTlyRE2aNJHD4ajSB61bt07t27fXvffeq4KCAj344IPat2+fiouL5fF4FBMTo5dfflmP\nPfZYlc5fG9x+++12RwBMo44BADCm0oZ7+fLlevrpp5WUlKSCggI99thjuvrqqw1/UG5urr799ltN\nnz5dWVlZuvvuu/XKK6/oqaeeUmpqqvbv369u3bpp8eLF2rFjh4YNG6auXbuedZ709HSlp6cHz1mb\nxMbG2h0BMI06BgDAmEoHsl955RW99957WrBggebMmaPnn3++Sh+UnJysa665RlFRUUpJSZHb7VZy\ncrKef/55TZgwQfPnz9dNN92kdevWacqUKXrllVfKPc+IESOUkZGhjIwM1alTp0pZ7LJjxw7t2LHD\n7hiAKdQxAADGVNpwJycnq169epKk+vXrV3l3gu7du+uTTz5RIBDQ4cOHVVRUpOTkZEmnVq1P3y7a\n7/fL4XCoqKioSp9Tk23YsEEbNmywOwZgCnUMAIAxlY6UxMXFafz48erZs6e2b9+u4uJiTZ06VZKx\nW7z369dPGzdu1PDhwxUIBDRlyhRFRESooKBAX3zxhaZNmyZJatCggUaNGqXRo0dX8Z9Uc40cOdLu\nCIBp1DEAAMY4AoFA4FwHLFiwoMLXTq9K2yUtLU0ZGRm2ZgAAAADOpdIVbrub6nCybds2SVKnTp1s\n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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Reference simulation visualizations\n", "\n", "We can also visualize the results of other simulation(s) as a reference for comparison of our main simulation.\n", "\n", "Here we simulate a model where no distancing or testing takes place, so that we can compare the effects of these interventions:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 0.04\n", "t = 10.07\n", "t = 20.02\n", "t = 30.01\n", "t = 40.02\n", "t = 50.00\n", "t = 60.00\n", "t = 70.00\n", "t = 80.00\n", "t = 90.00\n", "t = 100.00\n", "t = 110.00\n", "t = 120.02\n", "t = 130.01\n", "t = 140.00\n", "t = 150.00\n", "t = 160.03\n", "t = 170.01\n", "t = 180.02\n", "t = 190.05\n", "t = 200.10\n", "t = 210.21\n", "t = 220.16\n", "t = 230.41\n", "t = 240.11\n", "t = 250.09\n", "t = 260.03\n", "t = 270.11\n", "t = 280.61\n", "t = 290.45\n", "t = 300.28\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model = SEIRSNetworkModel(G=G_normal, beta=0.155, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, p=0.5,\n", " Q=G_quarantine, beta_D=0.155, sigma_D=1/5.2, gamma_D=1/12.39, mu_D=0.0004,\n", " theta_E=0, theta_I=0, phi_E=0, phi_I=0, psi_E=1.0, psi_I=1.0, q=0.5,\n", " initI=numNodes/100)\n", "ref_model.run(T=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can visualize our main simulation together with this reference simulation by passing the model object of the reference simulation to the appropriate figure function argument (note: a second reference simulation could also be visualized by passing it to the ```dashed_reference_results``` argument):" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n++1D3ELtSFu3bk3Vyy8uLmblypUIITjllFN48MEHMQyDJ554gnfffRfLsli1ahWnn376UDdba9Wx\n/3bs2MEtt9zCxIkTAVi6dClXXHGF7r9hJpFIsGrVKsrKyojH43zjG99g6tSp+txLE9313+jRo/W5\nlyYcx+E73/kOBw8eRAjBmjVr8Hg8x+f8U2nojTfeUCtWrFBKKbV582Z16623DnGLtL5Eo1G1ePHi\nTo9dddVVqri4WEkp1de+9jW1ffv2IWqd1p1nnnlG/f3f/7364he/qJRS6pZbblEffPCBUkqp1atX\nqzfffFNt27ZN3XDDDUpKqcrKytS11147lE3WOjiy/37961+r5557rtM2uv+Gn5deekk9/PDDSiml\n6uvr1fz58/W5l0a66z997qWP9evXq5UrVyqllPrggw/UrbfeetzOv7RMKelumXhteNu1axeRSISb\nbrqJG2+8kb/85S/E43HGjx+PEIJ58+bx/vvvD3UztQ7Gjx/PT3/609T/b9++nXPPPReAiy++mPff\nf5+PPvqIefPmIYRgzJgxOI5DXV3dUDVZ6+DI/tu2bRvvvvsuy5YtY9WqVbS0tOj+G4Yuv/xy7rzz\nTgCUUpimqc+9NNJd/+lzL31ceumlrF27FoDy8nIyMzOP2/mXlgF3S0tLKjUBwDRNbNsewhZpffF6\nvdx8880899xzrFmzhvvvvx+fz5d6PhAI0NzcPIQt1I502WWXYVntWWdKKYQQQHt/HXku6n4cPo7s\nv9NPP5377ruP559/nsLCQtatW6f7bxgKBAIEg0FaWlq44447uOuuu/S5l0a66z997qUXy7JYsWIF\na9eu5corrzxu519aBtzdLRPf8YdFG34mTZrEVVddhRCCSZMmkZGRQUNDQ+r5UChEZmbmELZQ64th\ntP+5aOuvI8/FUChERkbGUDRP68PChQs59dRTU//esWOH7r9hqqKightvvJHFixdz5ZVX6nMvzRzZ\nf/rcSz/f+973eOONN1i9ejWxWCz1+LGcf2kZcPe2TLw2PL300ks89thjAFRVVRGJRPD7/ZSUlKCU\nYuPGjcydO3eIW6n1ZtasWXz44YcAbNiwgblz5zJnzhw2btyIlJLy8nKklOTm5g5xS7Xu3HzzzXz8\n8ccA/PnPf2b27Nm6/4ah2tpabrrpJu69916uu+46QJ976aS7/tPnXvp49dVXefrppwHw+XwIITj1\n1FOPy/mXlsPCPS0Trw1f1113Hffffz9Lly5FCMGjjz6KYRjcc889OI7DvHnzOOOMM4a6mVovVqxY\nwerVq3n88ceZPHkyl112GaZpMnfuXJYsWYKUkn/8x38c6mZqPXjooYdYu3YtLpeLvLw81q5dSzAY\n1P03zDz11FM0NTXx5JNP8uSTTwLwwAMP8PDDD+tzLw10138rV67k0Ucf1edeGli0aBH3338/y5Yt\nw7ZtVq1axZQpU47Lb59eaVLTNE3TNE3TBlFappRomqZpmqZpWrrQAbemaZqmaZqmDSIdcGuapmma\npmnaINIBt6ZpmqZpmqYNIh1wa5qmaZqmadog0gG3pmnaSSgWi3HJJZcMdTM0TdM0dMCtaZqmaZqm\naYMqLRe+0TRN07oKhULcc889NDU1MX78eAA2bdrEE088gVKKUCjED3/4QzZt2kRRURErVqzAcRyu\nvvpqXnrpJe68805aWlqIRCLcfffdzJs3b4jfkaZp2slBj3BrmqadJF544QWmTZvG888/z/XXXw/A\n3r17+f73v88vf/lLFi1axOuvv87nP/953n77bRzH4b333uO8886jpKSEhoYGnnrqKR5//HEcxxni\nd6Npmnby0CPcmqZpJ4mioiLmz58PwBlnnIFlWeTn5/PII4/g9/upqqpizpw5BINBzjnnHDZu3MjL\nL7/MN7/5TU455RSWLFnCt7/9bWzb5oYbbhjid6Npmnby0AG3pmnaSWLKlCls2bKFSy+9lB07dmDb\nNqtXr2b9+vUEg0FWrFiBUgqAL33pSzz77LPU19czY8YMdu/eTSgU4plnnqG6uprrr7+ez372s0P8\njjRN004OOuDWNE07SSxdupT77ruPpUuXMnnyZFwuFwsXLmTZsmX4fD7y8vKorq4GkiPgxcXFLFu2\nDICJEyeybt06XnvtNaSU3HHHHUP5VjRN004qQrUNd2iapmmfGlJKli5dynPPPUcwGBzq5miapp3U\n9KRJTdO0T5nS0lKuueYarrjiCh1sa5qmnQB6hFvTNE3TNE3TBpEe4dY0TdM0TdO0QaQDbk3TNE3T\nNE0bRDrg1jRN0zRN07RBpANuTdM0TdM0TRtEOuDWNE3TNE3TtEH0v9w79OoZ4+KwAAAAAElFTkSu\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, shaded_reference_results=ref_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As further demonstration, we might also wish to compare the results of these network model simulations to a deterministic model simulation of the same SEIRS parameters (with no interventions in this case):" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 299.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model_determ = SEIRSModel(beta=0.147, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, initI=100, initN=10000) \n", "ref_model_determ.run(T=300)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nESkpfPPNNwCACy+8UOUkRLHjOCYiIpInITPcgwYNwvLly6Xb33zzDXbu3Im7774bCxcuRGNjI8xm\nM7xeLzweD8xmM0pKSjB48GD06dMnEZGSwldffYWvvvpK7RhEceE4JiIikkcQRVFMxImPHz+Oxx9/\nHOvXr8ff//53DB8+HBdeeCFWrFgBh8OBp556Cn/9619RXl6OefPm4aWXXsKCBQvw2muvwW63Y/78\n+dBoWr8fKCoqQlFREQCgtrYWH3/8cSLiJ4Tf7wcA6PV6lZMQxY7jmIiISB5FCm6HwwGbzQYAKCsr\nw5IlS/DWW29Jj920aRNCoRDKysowadIkfPHFFzjvvPMwZsyYDp+joKAAxcXFiYhPRERERNQlFFmH\ne+7cuThw4ACApm2hL7jgAuk+r9eL7du349Zbb4Xb7YZWq4UgCHC5XEpEU9SBAweknwNRd8VxTERE\nJI8iywL+5je/wZIlS6DX69GnTx8sWbJEuu+tt97CrFmzIAgCbr/9djz77LOwWq3461//qkQ0Re3b\ntw8AcNFFF6mchCh2HMdERETyJKylRAndraUkGAwCALRarcpJiGLHcUxERCQPN75REAsUSgUcx0RE\nRPIo0sNNTfbv34/9+/erHYMoLhzHRERE8rDgVhALFUoFHMdERETysIebiIiIiCiBOMNNRERERJRA\nLLgVVFJSgpKSErVjEMWF45iIiEgeFtwKOnjwIA4ePKh2DKK4cBwTERHJwx5uIiIiIqIE4gw3ERER\nEVECseBW0Jdffokvv/xS7RhEceE4JiIikocFt4K+++47fPfdd2rHIIoLxzEREZE87OEmIiIiIkog\nznATERERESUQC24Fff755/j888/VjkEUF45jIiIieVhwK+jIkSM4cuSI2jGI4sJxTEREJA97uImI\niIiIEogz3ERERERECcSCW0GffvopPv30U7VjEMWF45iIiEgendoBepLjx4+rHYEobhzHRERE8rCH\nm4iIiIgogdhSQkRERESUQCy4FbR7927s3r1b7RhEceE4JiIikoc93Ao6deqU2hGI4sZxTEREJA97\nuImIiIiIEogtJURERERECcSCW0GffPIJPvnkE7VjEMWF45iIiEge9nAr6OzZs2pHIIobxzEREZE8\nLLgVVFBQoHYEorhxHBMREcnDlhIiIiIiogRiwa2gjz/+GB9//LHaMYjiwnFMREQkD1tKFORwONSO\n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\nqcuVV17J7bffzlVXXYUQgvvvvx/DMPjSl76E67qsXbuW448/frKHqRmDz+X2SQAAAzxJREFUW2+9\nlbvuuovvfve7LFy4kAsvvBDTNFmzZg3r1q1DSsnf//3fT/YwNaPwta99jXvuuQefz0dpaSn33HMP\n0WhUz98U44c//CE9PT089NBDPPTQQwDceeed3HvvvfremwaMNH+33XYb999/v773pgEXXHABt99+\nO1dffTWO43DHHXewaNGiQ/LbpytNajQajUaj0Wg0E8i0dCnRaDQajUaj0WimC1pwazQajUaj0Wg0\nE4gW3BqNRqPRaDQazQSiBbdGo9FoNBqNRjOBaMGt0Wg0Go1Go9FMIFpwazQazRFINpvl3HPPnexh\naDQajQYtuDUajUaj0Wg0mgllWha+0Wg0Gs1wkskkX/rSl+jp6WHu3LkAvPbaazzwwAMopUgmk3zn\nO9/htddeY8+ePdx66624rsuHPvQhnnjiCW666SYSiQTpdJqbb76ZtWvXTvIVaTQazZGBtnBrNBrN\nEcJjjz3GkiVLePTRR/noRz8KwI4dO/jWt77Fz3/+cy644AKeeuop3v/+9/PHP/4R13V5/vnnOfXU\nU6mtraWrq4sf/vCHfPe738V13Um+Go1Gozly0BZujUajOULYs2cPZ599NgDHH388lmVRUVHBfffd\nRzgcprm5mdWrVxONRjn55JN54YUX+NWvfsXnPvc5jjnmGNatW8cXv/hFHMfhmmuumeSr0Wg0miMH\nLbg1Go3mCGHRokVs2LCB8847jy1btuA4DnfddRfPPPMM0WiUW2+9FaUUAB/5yEf48Y9/TGdnJ8uW\nLWPbtm0kk0kefvhhWlpa+OhHP8p73/veSb4ijUajOTLQgluj0WiOEK666ipuueUWrrrqKhYuXIjP\n5+P888/n6quvJhQKUVpaSktLC+BZwGtqarj66qsBmD9/Pg8++CBPPvkkUkpuvPHGybwUjUajOaIQ\nqs/codFoNJqjBiklV111FY888gjRaHSyh6PRaDRHNDpoUqPRaI4y6urquOyyy7j44ou12NZoNJrD\ngLZwazQajUaj0Wg0E4i2cGs0Go1Go9FoNBOIFtwajUaj0Wg0Gs0EogW3RqPRaDQajUYzgWjBrdFo\nNBqNRqPRTCBacGs0Go1Go9FoNBPI/weoYoHLV3MGXwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, \n", " shaded_reference_results=ref_model, shaded_reference_label='network: no interventions',\n", " dashed_reference_results=ref_model_determ, dashed_reference_label='deterministic: no interventions')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 2 } seirsplus-1.1.0/examples/Basic_SEIRS_Meanfield_Model_Demo.ipynb000066400000000000000000003166541375244156600244750ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Basic SEIRS Mean-field Model Demo\n", "\n", "**This notebook provides a demonstration of the core functionality of the Basic SEIRS Mean-field Model and offers a sandbox for easily changing simulation parameters and scenarios.** \n", "For a more thorough walkthrough of the model and use of this package, refer to the README." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and Importing the model code\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```sudo pip install seirsplus```\n", "\n", "Then, the ```models``` module can be imported into your scripts as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "import networkx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. In this case, the easiest way to use the module is to place your scripts in the same directory as the module, and import the module as shown here:*\n", "```python\n", "from models import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initializing the model parameters\n", "All model parameter values are set in the call to the ```SEIRSModel``` constructor. The basic SEIR parameters ```beta```, ```sigma```, ```gamma```, and ```initN``` are the only required arguments. All other arguments represent parameters for optional extended model dynamics; these optional parameters take default values that turn off their corresponding dynamics when not provided in the constructor. For clarity and ease of customization in this notebook, all available model parameters are listed below. \n", "\n", "For more information on parameter meanings, see the README.\n", "\n", "*The parameter values shown correspond to very rough approximations of parameter values for the COVID-19 epidemic.*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "SIGMA = 1/5.2\n", "GAMMA = 1/10\n", "MU_I = 0.002\n", "\n", "R0 = 2.5\n", "BETA = 1/(1/GAMMA) * R0 " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "model = SEIRSModel(initN = 1000000,\n", " beta = BETA, \n", " sigma = SIGMA, \n", " gamma = GAMMA, \n", " mu_I = MU_I,\n", " mu_0 = 0, \n", " nu = 0, \n", " xi = 0,\n", " beta_Q = 0.5*(BETA), \n", " sigma_Q = SIGMA, \n", " gamma_Q = GAMMA, \n", " mu_Q = MU_I,\n", " theta_E = 0, \n", " theta_I = 0, \n", " psi_E = 1.0, \n", " psi_I = 1.0,\n", " initI = 10000, \n", " initE = 0, \n", " initQ_E = 0, \n", " initQ_I = 0, \n", " initR = 0, \n", " initF = 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checkpoints\n", "Model parameters can be easily changed during a simulation run using checkpoints. A dictionary holds a list of checkpoint times (```checkpoints['t']```) and lists of new values to assign to various model parameters at each checkpoint time. Any model parameter listed in the model constrcutor can be updated in this way. Only model parameters that are included in the checkpoints dictionary have their values updated at the checkpoint times, all other parameters keep their pre-existing values.\n", "\n", "*The checkpoints shown here correspond to starting a form of social distancing (transmission rate ```beta``` reduced) and testing at time ```t=20``` (testing rates ```theta_E``` and ```theta_I``` are set to non-zero values) and then stopping social distancing at time ```t=100``` (```beta``` returned to its \"normal\" value; testing params remain non-zero).*" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "checkpoints = {'t': [30, 90], \n", " 'beta': [BETA*0.5, BETA], \n", " 'theta_E': [0.02, 0.02], \n", " 'theta_I': [0.02, 0.02]\n", " }" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running the simulation" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[Checkpoint: Updating parameters]\n", "t = 29.90\n", "[Checkpoint: Updating parameters]\n", "t = 89.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.run(T=300, checkpoints=checkpoints)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing the results\n", "The ```SEIRSNetworkModel``` class has a ```plot()``` convenience function for plotting simulation results on a matplotlib axis. This function generates a line plot of the frequency of each model state in the population by default, but there are many optional arguments that can be used to customize the plot.\n", "\n", "The ```SEIRSNetworkModel``` class also has convenience functions for generating a full figure out of model simulation results (optionaly arguments can be provided to customize the plots generated by these functions). \n", "- ```figure_basic()``` calls the ```plot()``` function with default parameters to generate a line plot of the frequency of each state in the population.\n", "- ```figure_infections()``` calls the ```plot()``` function with default parameters to generate a stacked area plot of the frequency of only the infection states ($E$, $I$, $Q_E$, $Q_I$) in the population.\n", "\n", "For more information on the built-in plotting functions, see the README." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:406: UserWarning: FixedFormatter should only be used together with FixedLocator\n", " ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()])\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAHhCAYAAACsrjIKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAB7AUlEQVR4nO3dd5xc1X3//9e5d/p27apLIIQoAgFCiC4MphhcwT2uIbbj9MTJN44dx06xU3+x45LiFsfEGNvBGKLYYAzYNNFFrxJCEuplpa1Tbzm/P+6oAIu0Env3zs6+n4/HMGVn73y0c3Z579nPPcdYaxERERERkUPnJF2AiIiIiMhEpTAtIiIiInKYFKZFRERERA6TwrSIiIiIyGFSmBYREREROUwK0yIiIiIih2nMw7QxJm2MudoYc7cx5kFjzNuMMacaYzYbY+6oX95rjHGMMf9rjHnAGHNJ/XPnG2O+OtY1iYiIiIjEIRXDMT8I7LLWfsgYMwV4DPg88C/W2i/teZIxZgmwHvgN4CrgVuCzwJ/HUJOIiIiIyJiLI0z/GLiuftsAPnAacJwx5nLgeeATwDCQr1+KxphzgeettdtjqElEREREZMyZuHZANMa0Af8HfBvIAk9Yax82xvwF0GWt/VNjzOeAhUQz118APgV8EugDPmutDUc47seBjwOccMIJpz399NOx1D+R3HjjjQC8+c1vTrgSaSQaFyIiImPKjPRgLCcgGmPmArcDV1trfwDcYK19uP7hG4BTAay1X7DWvh9YAiwHfhP4DrAbuGikY1trv2WtXWqtXZrP5+Mof8JJp9Ok0+mky5AGo3EhIiISvzFv8zDGTAduAX7fWvvL+sO/MMb8gbX2QaKQ/PB+z88B7wTeBXwFCAALtI51bc3qDW94Q9IlSAPSuBAREYlfHD3TnwG6gM/V2zgA/gT4sjHGA7ZRb9Oo+wTwNWutNcZ8F/gmMAhcEUNtIiIiIiJjJrae6fGwdOlSu3LlyqTLSNxPf/pTAN761rcmXIk0Eo0LERGRMTViz3QcM9MyztQ7LiPRuBAREYmfZqZFRERERA5u/FbzEBERERGZDBSmm8Dy5ctZvnx50mVIg9G4EBERiZ96pptAe3t70iVIA9K4EBERiZ96pkVERESk6Xz0ox/lK1/5Cm1tbWN1SK3mISIiIiLJ2/WP/4m/afthf35qznS6P/2xAz5naGhoLIP0q9cS+ytI7K6//noA3vGOdyRciTQSjQsREWlU/qbtpI+Yedif723YesCPDw8P09LSctjHPxQK002gu7s76RKkAWlciIjIZLV27Vrmz58/Lq+lMN0Ezj///KRLkAakcSEiIpPVmjVrxi1Ma2k8EREREWkqa9as4eijjx6X19LMdBO47rrrAHjXu96VcCXSSDQuRESkUaXmTD9o3/PBPv9A1q5dy2/8xm8c9vEPqZZxeRWJ1YwZM5IuQRqQxoWIiDSqg63E8Vp94xvfiPX4+9M60yIiIiIiBzfiOtPqmRYREREROUwK003g2muv5dprr026DGkwGhciIiLxU890E5gzZ07SJUgD0rgQERGJn3qmRUREREQOTj3TIiIiIiJjSW0eTeCHP/whAO973/sSrkQaicaFiIhMZjt37uTzn/88fX19GGP467/+61g2clGYbgJHHXVU0iVIA9K4EBGRycpayyc+8Qn+/M//nEWLFrF69Wq+8IUvcNVVV435aylMN4Gzzjor6RKkAWlciIhIo1rzP9up9NYO+/NzPRkWvPfVd0G8/fbbOfnkk1m0aBEAxx57LDt27Djs1zsQhWkRERERGVeV3hr5qZnD/vzyzgMH8QcffJALLrhg7/04F9zQCYhN4JprruGaa65JugxpMBoXIiIyWfX19dHR0bH3/sqVKzn55JNf8Zzvf//7e68Pl2amm8Cxxx6bdAnSgDQuRERkslq4cCH33nsvCxcuZHh4mK997Wt8/vOfp7+/n5///Oc89thjvOUtb2HRokU89dRTe9tBDodmppvA6aefzumnn550GdJgNC5ERGSyeu9738vTTz/N+9//ft773vfyR3/0Rxx11FE8//zzpNNparUazz77LAsXLtx7fbg0My0iIiIi4yrXkzlo3/PBPv9A8vk8//Iv/0IYhnzsYx9j6tSpADzwwAMcffTR5HI5qtUq2Wx27/Xh0g6ITeB73/seAB/+8IcTrkQaicaFiIjImBpxB0TNTDeBE088MekSpAFpXIiIiMRPYboJnHbaaUmXIA1I40JERCR+OgFRREREROQwKUw3gauuuiqW7TFlYtO4EBERiZ/aPJrA4sWLky5BGpDGhYiISPwUppuAQpOMRONCREQkfmrzaAJBEBAEQdJlSIPRuBAREYmfwnQTuPrqq7n66quTLkMajMaFiIhI/NTm0QSWLFmSdAnSgDQuRERkMvvoRz9KrRbtsphOp/nOd76DMSPuu/KaKEw3gZNPPjnpEqQBaVyIiEjDevwvobTh8D+/cASc8vkDPmVgYIDrrrvu8F9jlBSmm4DneUD0W5fIHhoXIiLSsEoboGXe4X9+cf0BPzw8PEwulzv84x8C9Uw3gWuuuYZrrrkm6TKkwWhciIjIZLV27VrWr1/Phz70IT70oQ9xxx13xPZampluAkuXLk26BGlAGhciIjJZrVmzho997GNceeWVsb+WwnQTWLRoUdIlSAPSuBARkclqzZo1LFu2bFxeS2G6CVQqFYBx6w2SiUHjQkREJqu1a9fy4IMP8vWvfx2Ab3/727H9/1Bhugn86Ec/AhiXP2XIxKFxISIiDatwxEFPIjzo5x/AN77xjcM/9iFSmG4CZ555ZtIlSAPSuBARkYZ1kGXtJhKF6SawcOHCpEuQBqRxISIiEj8tjdcESqUSpVIp6TKkwWhciIiIxE9huglce+21XHvttUmXIQ1G40JERCR+avNoAmeffXbSJUgD0rgQERGJn8J0EzjuuOOSLkEakMaFiIhI/NTm0QSGh4cZHh5OugxpMBoXIiIi8VOYbgLXXXcd1113XdJlSIPRuBAREYmf2jyawHhtlykTi8aFiIhI/BSmm8CCBQuSLkEakMaFiIhI/NTm0QQGBgYYGBhIugxpMBoXIiIi8VOYbgI33HADN9xwQ9JlSIPRuBAREYmf2jyawOte97qkS5AGpHEhIiISP4XpJjB//vykS5AGpHEhIiISP7V5NIG+vj76+vqSLkMajMaFiIhI/BSmm8Dy5ctZvnx50mVIg9G4EBERiZ/aPJrABRdckHQJ0oA0LkREROKnMN0E5s2bl3QJ0oA0LkREROKnNo8m0NvbS29vb9JlSIPRuBAREYmfwnQT+NnPfsbPfvazpMuQBqNxISIiEj+1eTSBiy66KOkSpAFpXIiIiMRPYboJzJ07N+kSpAFpXIiIiMRPbR5NYMeOHezYsSPpMqTBaFyIiIjET2G6Cdx0003cdNNNSZchDUbjQkREJH5q82gCl1xySdIlSAPSuBAREYmfwnQTmD17dtIlSAPSuBAREYmf2jyawLZt29i2bVvSZUiD0bgQERGJn8J0E7j55pu5+eabky5DGozGhYiISPzU5tEELrvssqRLkAakcSEiIhI/hekmMGPGjKRLkAakcSEiIhI/tXk0gc2bN7N58+aky5AGo3EhIiISP4XpJnDrrbdy6623Jl2GNBiNCxERkfipzaMJvOlNb0q6BGlAGhciIiLxU5huAtOmTUu6BGlAGhciIiLxU5tHE9i4cSMbN25MugxpMBoXIiIi8RvzMG2MSRtjrjbG3G2MedAY8zZjzAJjzIr6Y183xjj1y/8aYx4wxlxS/9z5xpivjnVNze6Xv/wlv/zlL5MuQxqMxoWIiEj84mjz+CCwy1r7IWPMFOCx+uWz1to7jDHfAC4HXgTWA78BXAXcCnwW+PMYampqb3nLW5IuQRqQxoWIiEj84gjTPwauq982gA+cBtxZf+znwBuArwL5+qVojDkXeN5auz2GmppaT09P0iVIA9K4EBERid+Yt3lYa4ettUPGmDaiUP1ZwFhrbf0pQ0CHtXY1sAn4IvB54BPA/9TbQP7eGDNibcaYjxtjVhpjVu7cuXOsy5+Q1q9fz/r165MuQxqMxoWIiEj8YjkB0RgzF7gduNpa+wMg3O/DbUA/gLX2C9ba9wNLgOXAbwLfAXYDF410bGvtt6y1S621S6dOnRpH+RPOHXfcwR133JF0GdJgNC5ERETiN+ZtHsaY6cAtwO9ba/ec/fSoMeYCa+0dwBuJgvae5+eAdwLvAr4CBIAFWse6tmZ1+eWXJ12CNCCNCxERkfjF0TP9GaAL+Jwx5nP1x/4I+JoxJgM8y76eaojaO75mrbXGmO8C3wQGgStiqK0pdXV1JV2CNCCNCxERkfiZfa3ME8/SpUvtypUrky4jcWvXrgVg/vz5CVcijUTjQkREZEyZkR7UDohN4K677gIUmuSlNC5ERETipzDdBN7+9rcnXYI0II0LERGR+ClMN4GOjo6kS5AGpHEhIiISv1iWxpPxtWbNGtasWZN0GdJgNC5ERETip5npJrBixQoAFixYkHAl0kg0LkREROKn1TyawPDwMACtrVqaW/bRuBARERlTWs2jWSksyUg0LkREROKnnukmsGrVKlatWpV0GdJgNC5ERETip5npJnDfffcBcNxxxyVciTQSjQsREZH4qWe6CZRKJQAKhULClUgj0bgQEREZU+qZblYKSzISjQsREZH4qWe6CTz77LM8++yzSZchDUbjQkREJH6amW4CDzzwAAALFy5MuBJpJBoXIiIi8VPPdBOoVCoA5HK5hCuRRqJxISIiMqbUM92sFJZkJBoXIiIi8VPPdBN46qmneOqpp5IuQxqMxoWIiEj8NDPdBPa0uixatCjhSqSRaFyIiIjETz3TTcDzPADS6XTClUgj0bgQEREZU+qZblYKSzISjQsREZH4qWe6CTzxxBM88cQTSZchDUbjQkREJH6amW4CjzzyCAAnn3xywpVII9G4EBERiZ96pptAEAQAuK6bcCXSSDQuRERExpR6ppuVwpKMRONCREQkfuqZbgKPPfYYjz32WNJlSIPRuBAREYmfwnQTUGiSkWhciIiIxE890yIiIiIiBzdiz7RmpkVEREREDpPCdBN4+OGHefjhh5MuQxqMxoWIiEj8FKabwNNPP83TTz+ddBnSYDQuRERE4qeeaRERERGRg1PPtIiIiIjIWFKYbgIPPfQQDz30UNJlSIPRuBAREYmfwnQTWL16NatXr066DGkwGhciIiLxU8+0iIiIiMjBqWdaRERERGQsKUw3gfvvv5/7778/6TKkwWhciIiIxE9hugmsW7eOdevWJV2GNBiNCxERkfipZ1pERERE5ODUMy0iIiIiMpYUppvAvffey7333pt0GdJgNC5ERETil0q6AHntNm3alHQJ0oA0LkREROKnnmkRERERkYNTz7SIiIiIyFhSmG4CK1asYMWKFUmXIQ1G40JERCR+6pluAtu2bUu6BGlAGhciIiLxU8+0iIiIiMjBqWdaRERERGQsKUw3gTvvvJM777wz6TKkwWhciIiIxE89001g165dSZcgDUjjQkREJH7qmRYREREROTj1TIuIiIiIjCWF6SZw++23c/vttyddhjQYjQsREZH4qWe6CQwODiZdgjQgjQsREZH4qWdaREREROTg1DMtIiIiIjKWFKabwG233cZtt92WdBnSYDQuRERE4qee6SZQLpeTLkEakMaFiIhI/NQzLSIiIiJycOqZFhEREREZSwrTTeCWW27hlltuSboMaTAaFyIiIvFTz3QT8Dwv6RKkAWlciIiIxE890yIiIiIiB6eeaRERERGRsaQw3QRuvvlmbr755qTLkAajcSEiIhI/hWkRERERkcOknmkRERERkYNTz7SIiIiIyFhSmG4CN954IzfeeGPSZUiD0bgQERGJn9aZbgLpdDrpEqQBaVyIiIjETz3TIiIiIiIHp55pEREREZGxpDDdBH7605/y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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/plain": [ "(
,\n", " )" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.25)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Reference simulation visualizations\n", "\n", "We can also visualize the results of another simulation(s) as a reference for comparison of our main simulation.\n", "\n", "Here we simulate a model where no distancing or testing takes place, so that we can compare the effects of these interventions:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 299.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model = SEIRSModel(beta=BETA, sigma=SIGMA, gamma=GAMMA, mu_I=MU_I, initI=10000, initN=1000000) \n", "ref_model.run(T=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can visualize our main simulation together with this reference simulation by passing the model object of the reference simulation to the appropriate figure function argument (note: a second reference simulation could also be visualized by passing it to the ```dasheQ_reference_results``` argument):" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:406: UserWarning: FixedFormatter should only be used together with FixedLocator\n", " ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()])\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAHhCAYAAACsrjIKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAACa10lEQVR4nOzdeZxcVZk//s+5Wy29pzvd2UlCSEgIAbIAISyBsIkCEkAWJ26o44BfZXQQRQdU+KmjwrgMuM+IiCxikB3ByE7YAgGTQEI20tl7r/2u5/dHdXU6a29Vdatuf96vV9HdVXXvfbr7kH7q1HOeI6SUEkRERERENGCK3wEQEREREZUrJtNERERERIPEZJqIiIiIaJCYTBMRERERDRKTaSIiIiKiQWIyTUREREQ0SHlPpm3bxnXXXYcrr7wSl1xyCZYtW4Y1a9bglFNOwZIlS7BkyRI8/vjj8DwPV199NS699FK89NJLAIDm5mbccsst+Q6JiIiIiKggtHyf8OGHH0ZtbS1+9KMfobOzEx/96EdxzTXX4NOf/jQ+85nP9Dxv9erVGDt2LL7//e/j61//OhYsWIA77rgDX/3qV/MdEhERERFRQeQ9mT733HNxzjnnAACklFBVFatWrcKmTZuwbNkyHHbYYbjhhhsQjUZhmiYymQyi0ShWrFiBiRMnoqGhId8hEREREREVhCjUDoiJRAL/9m//ho997GOwLAvTpk3DzJkz8Ytf/AKxWAzXX389br/9dmzcuBFXX301fvrTn+K6667Db3/7W9TU1ODaa6+FouxfhXLffffhvvvuAwCYponHHnusEOGXldzP4MMf/rDPkVAp4bggIiIqvIIsQNyxYwc+8YlP4MILL8T555+Ps846CzNnzgQAnHXWWVizZg0A4JprrsGtt96KNWvWYNGiRbj//vtxySWXoKamBsuXLz/guS+77DIsXboUS5cuRSgUKkT4ZUfXdei67ncYVGI4LoiIiAov78l0a2srPvOZz+C6667DJZdcAgC46qqr8M477wAAli9fjqOOOqrn+aZp4qmnnsIFF1yAdDoNVVUhhEAqlcp3aIF19tln4+yzz/Y7DCoxHBdERESFl/ea6V/+8peIxWK44447cMcddwAAvv71r+N73/sedF1HQ0MDbr755p7n33nnnViyZAmEELj44otx4403orKyErfffnu+QyMi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X/wCAPCb3/yGfxfyjMl0ANx7770AUPZv4cTjcQghCp7gGoYBy7LQ1dWFhoaGgl7LT0EZF0REgRedcMhFhP06/iB++ctfDv681C9MpgPghBNO8DuEIXMcB+l0GqFQqOC9L1VVhaZpSKVS8DwPihLMdbhBGBdERMPCIdraUeljMh0A06dP9zuEIUskEgCys8bFYBgGUqkU4vE4ampqinLNYgvCuCAiIip1wZySG2ZSqRRSqZTfYQyalBLJZBKqqhZtlljTNAghkEwmi3I9P5T7uCAiIioHTKYD4P7778f999/vdxiDZlkWHMcp2qw0gJ7abNu2e7ZYDZpyHxdERETlgGUeATB//ny/QxiS3OxwsTtr5BYixmKxQC5ELPdxQUREVA6YTAfAtGnT/A5h0HIlHrmyi2LK9bNOp9OBXIhYzuOCiIioXAQreximEolEzwK+cpPJZOB5XlFLPHozDAOe5yGdTvty/UIq53FBRERULjgzHQAPPPAAgPLsJ5xMJiGEgKb5MxRz100mk6ioqPAlhkIp53FBRET5c9VVV+EnP/kJqqqq+v18y7IgpURjYyO+853v9PvY3scD2RLO3/3ud0V/97mYmEwHQLluEyqlRDqd9qXEI0dRFGia1jNDHqRSj3IdF0REw01XVxeklIM+XghxyDav8Xh8v2T461//On7wgx8c9Pm5Bez3338/fvnLX+K6667r9/FdXV09EzrDQXAyh2FsypQpmDJlit9hDJhpmvA8z/ctvXVd76ndDpJyHRdERMPNUBLpvo5PJBIDeud13+cvWrQIq1atGtDxh9qu/H//93+xa9euQ55j48aNWLJkCZYtW9bv6w7GO++8g0ceeWTI5+HMdAB0dXUBQNltPpLrgexXiUeOrutIp9NIJpMDehur1JXruCAiovzZuHEjJk+ePOjnx+NxhEKhAR2/efNmLFmyBEC25GPhwoUAgE2bNiEWi6GpqQk///nPsX79esyePRsbN26EEAJjxozB5z//efzpT3+CEAJjx47FTTfd1POYaZpYv349TjjhBMyePRv33HPPXsf9/Oc/R3t7OyorK6EoCs477zz8/ve/h+u6WLBgAaZNm7bfMffccw/OOOOMIZV6MpkOgAcffBBAedXGSimRSqV8LfHIyfWctiwrUKUe5TguiIgov9avX9+THDc3N+OGG24AsGf2d9KkSfju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oYcewkMPPZT385qmyZ0P8yz3wqQYm7cUalwQERHRHizzCIDq6uq8nzO38yF7FedXbvOWXD16IRViXBAREdHemEwHwOmnn573c9q2DSkl66ULQNM0mKYJx3F6yj4KoRDjgoiIiPbGMg86IC4+LBz2myYiIgqOgiXTb7/9NpYsWQIAWLNmDU455RQsWbIES5YsweOPPw7P83D11Vfj0ksvxUsvvQQAaG5uxi233FKokAJr6dKlWLp0aV7PycWHhZNLpgtdN12IcUFERER769d7zG1tbXv94R8zZswhn/+b3/wGDz/8cE+f29WrV+PTn/40PvOZz/Q8Z/Xq1Rg7diy+//3v4+tf/zoWLFiAO+64A1/96lcH830Ma/X19Xk/Z26zFi4+zD9FUaAoSsE3bynEuCAiIqK99ZlMf/vb38bzzz+PxsbGno0m7r333kMeM2HCBPz85z/H1772NQDAqlWrsGnTJixbtgyHHXYYbrjhBkSjUZimiUwmg2g0ihUrVmDixIloaGjIz3c2jJx22ml5PV9u50MuPiwcVVXhOA48zyvY7H++xwURERHtr89k+p133sHf//73Af3BP+ecc7B169aer2fNmoVLL70UM2fOxC9+8QvcfvvtuP7669HU1IQf/vCHuPrqq/HTn/4U1113HW666SbU1NTg2muvPeA177vvPtx3330AgI6Ojn7HRP2X26GP9dKFo2laz+Yt3KmQiIiofPWZIR922GFDru0866yzMHPmzJ7P16xZAwC45pprcOutt2LNmjVYtGgR7r//flxyySWoqanB8uXLD3iuyy67rKcWtK6ubkhxBcUDDzyABx54IG/n4+LDwsv9bAu5eUu+xwURERHtr89keseOHTj99NNx2WWX4bLLLsPll18+4ItcddVVeOeddwAAy5cvx1FHHdXzmGmaeOqpp3DBBRcgnU731OmmUqkBX2e4GjVqFEaNGpW383HxYeEpigIhREEXIeZ7XBAREdH++izzuPXWW4d8kW9/+9u4+eaboes6GhoacPPNN/c8duedd2LJkiUQQuDiiy/GjTfeiMrKStx+++1Dvu5wcfLJJ+f1fFx8WHi9N2/JrUXIt3yPCyIiItqfkFLKQz1h586d+N73vocNGzZg4sSJ+MY3voFx48YVK75DWrx4MVt/5ZmUEs3NzdB1nbW8BZbJZGCaJsaMGcPFnkRE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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(
,\n", " )" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.25, shaded_reference_results=ref_model)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.4" } }, "nbformat": 4, "nbformat_minor": 2 } seirsplus-1.1.0/examples/Basic_SEIRS_Network_Model_Demo.ipynb000066400000000000000000007131521375244156600242340ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Basic SEIRS Network Model Demo\n", "\n", "**This notebook provides a demonstration of the core functionality of the Basic SEIRS Network Model and offers a sandbox for easily changing simulation parameters and scenarios.** \n", "For a more thorough walkthrough of the model and use of this package, refer to the README." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and Importing the model code\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```sudo pip install seirsplus```\n", "\n", "Then, the ```models``` module can be imported into your scripts as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "from seirsplus.networks import *\n", "import networkx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. In this case, the easiest way to use the module is to place your scripts in the same directory as the module, and import the module as shown here:*\n", "```python\n", "from models import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generating interaction networks\n", "\n", "This model simulates SEIRS epidemic dynamics for populations with a structured interaction network (as opposed to standard deterministic SIR/SEIR/SEIRS models, which assume uniform mixing of the population). As such, a graph specifying the interaction network for the population must be specified, where each node represents an individual in the population and edges connect individuals who have regular interactions.\n", "\n", "The interaction network can be specified by a ```networkx``` Graph object or a 2D numpy array representing the adjacency matrix, either of which can be defined and generated by any method.\n", "\n", "*Here, we use a ```custom_exponential_graph()``` generation function included in this package, which generates power-law graphs that have degree distributions with two exponential tails. For more information on this custom graph type and its generation, see the README.*\n", "\n", "**_Note:_** *Simulation time increases with network size. Small networks simulate quickly, but have more stochastic volatility. Networks with ~10,000 are large enough to produce per-capita population dynamics that are generally consistent with those of larger networks, but small enough to simulate quickly. We recommend using networks with ~10,000 nodes for prototyping parameters and scenarios, which can then be run on larger networks if more precision is required (for more on this, see README).*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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tt32PO3o0aOkpaWxevVqgoKCOr49u/q6X196/fXXzezsbNM0TXPHjh3mAw884OdEbTt16pQ5YcIEf8do18qVK83x48ebP/7xj03TNM3777/f/Otf/2qapmnm5eWZb7zxhj/jeXw9Z0lJiblq1So/p2pt/fr15oIFC0zTNM26ujpzzJgxttuebWW047Z88803zZycHNM0TfOvf/2r+cADD9huW5pm2zntuD1N0zQbGxvNn/3sZ+a4cePMf/zjH53anvb4+NhJPWW4kU8++YSTJ09y7733cuedd1JZWenvSK3ExcWxdOlSz9e7du1i1KhRACQnJ7N161Z/RWvl6zk//PBDNm3axO23305ubi5Op9OP6b5000038Ytf/AIA0zQJDAy03fZsK6Mdt2VKSgrz588HoKamhoiICNttS2g7px23J8DixYtJT0/n4osvBjr3t96jS8PpdHoO+QAEBgbS3Nzsx0RtCwkJYerUqaxatYp58+Yxc+ZMW+VMTU1tNUSLaZoYhgFAaGgo9fX1/orWytdzjhgxglmzZvHiiy8SGxvLM88848d0XwoNDSUsLAyn08n06dPJysqy3fZsK6MdtyVAUFAQ2dnZzJ8/n1tvvdV22/K0r+e04/YsLS0lMjLS80EbOve33qNLIywsDJfL5fna7Xa3elOxi/j4eH74wx9iGAbx8fEMGDCAw4cP+ztWu756TNPlchEREeHHNO0bO3YsV111leffH330kZ8TfenAgQPceeedTJgwgVtvvdWW2/PrGe26LeHLT8evv/46eXl5NDQ0eKbbZVue9tWcSUlJttueGzZsYOvWrWRkZPDxxx+TnZ1NbW2t53Wr27NHl0ZPGW5k/fr1PPnkkwAcPHgQp9PJRRdd5OdU7Rs+fDgVFRUAlJeXk5iY6OdEbZs6dSoffPABAH/5y1/45je/6edEcOTIEe69914eeeQRbrvtNsB+27OtjHbclq+88grPPfccAP369cMwDK666ipbbUtoO+eDDz5ou+354osvUlRURGFhIcOGDWPx4sUkJyd3eHv26Jv7Tl89tXv3bs9wI4MHD/Z3rDM0Njby6KOPUlNTg2EYzJw5k5EjR/o7VivV1dU89NBDlJSUsGfPHvLy8mhqaiIhIYEFCxYQGBjo74hA65y7du1i/vz59OnTh6ioKObPn9/qcKU/LFiwgD/+8Y8kJCR4pj322GMsWLDANtuzrYxZWVk89dRTttqWJ06c4NFHH+XIkSM0Nzfzk5/8hMGDB9vu/822cg4aNMh2/29+VUZGBnPnziUgIKDD27NHl4aIiPhWjz48JSIivqXSEBERy1QaIiJimUpDREQsU2mIiIhlKg2RDmpoaODGG2/0dwwRv1BpiIiIZfYbc0PEhlwuFzNnzuSLL74gLi4OgE8//ZQFCxYAMGDAABYuXEhYWBjz5s3jww8/JCoqiv3797NixQqWLVvGsWPHOHbsGM899xy/+c1veO+993C73dx9993cfPPNbS4vPDzcbz+zSFtUGiIWrF27lqFDhzJjxgx27txJRUUFeXl5LFy4kCuuuIJ169bxm9/8hm9961scO3aM9evXU1tby7hx4zzL+O53v8vdd9/NO++8Q3V1NS+99BINDQ1MmjSJ73//+20ub8aMGX78qUXOpNIQseCzzz5jzJgxAHz7298mKCiIqqoq5s2bB3z5YKPLL7+c0NBQrr76agAiIyNbDdURHx8PwO7du9m1axcZGRkANDc3s3///jaXJ2I3Kg0RCwYPHkxlZSUpKSl89NFHNDc3Ex8fz+LFi4mOjmb79u0cPnyY4OBgXn31VQCOHz/OZ5995lnG6SGoExISGD16NPPnz8ftdrN8+XJiY2PbXJ6I3ag0RCyYPHkys2bNYvLkySQkJNCnTx/mzp1LdnY2zc3NGIbBE088weWXX055eTnp6elERUUREhJCnz59Wi3rxhtvZNu2bUyZMoUTJ06QkpJCWFhYm8sTsRsNWCjShaqqqvjkk0+45ZZbqKurY/z48bz99tv07dvX39FEuoRKQ6QLnThxgocffpijR4/S0tLCHXfcwcSJE/0dS6TLqDRERMQy3dwnIiKWqTRERMQylYaIiFim0hAREctUGiIiYtn/Acg1fsqtxD3OAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "numNodes = 10000\n", "baseGraph = networkx.barabasi_albert_graph(n=numNodes, m=9)\n", "# Baseline normal interactions:\n", "G_normal = custom_exponential_graph(baseGraph, scale=100)\n", "plot_degree_distn(G_normal, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Epidemic scenarios of interest often involve interaction networks that change in time. Multiple interaction networks can be defined and used at different times in the model simulation, as will be shown below.\n", "\n", "*Here we generate a graph representing interactions during corresponding to Social Distancing, where each individual drops some portion of their normal interactions with others. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEHCAYAAABSjBpvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAiB0lEQVR4nO3de3hU9YHG8e/kCuYCRLSSJqkJl0dYy0qMxG5jaPsA0RVFspQJ0SCCVWmNmygSDCSAIEhtYysRFIqPawKScFF3V1yVLJIF2mDDTYPKNipuuJRAAmZGcps5+wcPUyMJc5ImMxN4P8/D8zBnTs5553B559x+x2IYhoGIiIgJft4OICIivYdKQ0RETFNpiIiIaSoNERExTaUhIiKmqTRERMS0HiuNAwcOkJGR0Wbaf/zHf2C1Wl2vS0tLSU1NZcqUKWzfvh2Auro6ZsyYQXp6OllZWZw7d66nIoqISCf1SGmsWbOG+fPn09TU5Jp26NAhNm3axIXbQmpraykqKmLDhg2sXbuWgoICmpubWblyJRMmTGD9+vWMGDGCkpKSnogoIiJdENATC42JiWHFihXMmTMHgPr6egoKCsjNzSUvLw+AgwcPMmrUKIKCgggKCiImJoZPP/2UyspKHn74YQCSk5MpKChg+vTpl1xfYmIi3//+93vio4iIXLaOHj1KRUVFp36mR0ojJSWFmpoaABwOB/PmzeOpp54iODjYNY/NZiMsLMz1OiQkBJvN1mZ6SEgIDQ0N7a6jpKTEtRdy1VVXsWXLlp74KCIil63U1NRO/0yPlMa3VVVVceTIERYuXEhTUxN/+ctfeOaZZ7j11lux2+2u+ex2O2FhYYSGhmK32+nTpw92u53w8PB2l2u1Wl3nR7rywUVEpPN6/OqpkSNH8vbbb1NUVERBQQFDhgxh3rx5jBw5ksrKSpqammhoaKC6upphw4YRHx/Pjh07ACgvL+fmm2/u6YgiImJSj+9pdOSaa64hIyOD9PR0DMMgOzub4OBgZs2aRU5ODqWlpQwYMIDf/va33oooIiLfYbkcRrlNTU3VOQ2Rv1NLSws1NTU0NjZ6O4p0sz59+hAVFUVgYGCb6V35v9Nrexoi4ltqamoICwvj+uuvx2KxeDuOdBPDMDh9+jQ1NTXExsb+3cvTHeEiAkBjYyNXX321CuMyY7FYuPrqq7ttD1KlISIuKozLU3f+uerwlIi06+y5ZppanN22vOBAP/r1Deq25Yl3qDREpF1NLU4e27Cv25b3Qtoo6Ntti+tW1dXVLFy4kKKiIm9HuaS8vDz69evH7Nmz233/1Vdf5dSpUx2+3x1UGt3I3TczfdMSka7asGEDhw8f5pZbbrnovcbGRubNm8dHH33E+PHjezSHSqMbuftm5svftES8bcuWLWzfvp3GxkZqa2uZNm0aZWVl/O///i9z5sxh7NixvPPOO7z66qv4+flx8803M3v2bE6cOOEacaK2tpasrCzGjh3LXXfdxejRo/nss8+wWCysXLmyzdBFJ0+eZPbs2RiGwTXXXOOavmfPHp5//nn8/f2Jjo7m6aefxuFwMGfOHE6ePMmgQYP48MMP2blzJxkZGURERHD27FlWr17NwoULOXLkCE6nk6ysLBITE9td3rcvfX3++efZu3dvm22xdu1agoL+9gVz7969HDhwAKvVyueff37RtmtqamLSpEn8+Mc/bvf97qTSEBGfYbfbeeWVV3j77bd59dVXKS0tpaKigtdee42EhARWrFjB5s2b6du3L08++SS7du3CYrHwwAMPkJiYyN69e1mxYgVjx47Fbrdz5513kpeXxxNPPEF5eTl33nmna10vvfQSEyZMYMqUKWzdupXXX38dwzDIy8tj/fr1XH311fzud7/jjTfe4Ny5c0RFRfHCCy9QXV3NhAkTXMuZMGEC48aNY/369QwYMIClS5dSX1/Pfffdx3/+53+2u7wpU6a4fj47O/uS2+TkyZO8+OKLFBYW8s4777Q7T79+/UhKSvLI/WoqDRHxGcOHDwcgLCyMwYMHY7FY6NevH01NTXz11VfU1dXx0EMPAecL5quvviIhIYFVq1axadMmLBYLra2truWNGDECgEGDBrV5VAPAl19+6frPOz4+ntdff526ujpOnjxJVlYWcP6wzz/90z9RX19PcnIyAIMHDyYiIsK1nAv3Phw+fJjKykoOHjwIQGtra4fL+zZ3exr/9V//RX19PQ899BC1tbU0NjYSFxfntTH3VBoi4jMudWloVFQUgwYN4pVXXiEwMJAtW7YwfPhwfv/73/Pzn/+cMWPGsHnzZt544w1Tyxs8eDD79u3jhhtu4KOPPgJgwIABXHfdda5DWWVlZVx11VVUV1ezb98+xo4dy1dffUV9ff1F64iLi+O6667jkUceobGxkVWrVnW4vG9zt6cxbdo0pk2bBpw/hPf55597dZBWlYaItCs40O/8ebhuXN7fIyIigunTp5ORkYHD4eD73/8+d9xxB7fffju//vWvWb16Ndddd12b/9AvZdasWTz55JNs3bqVqKgoAPz8/Jg3bx4PPfQQhmEQEhLCr3/9a0aNGsXcuXO59957iYyMbPOYhwvS0tKYP38+9913HzabjfT09A6X1x3OnDnD/PnzKSws7JblmaWxp7rRya8b3Z4Ivza8jwcTiZj3ySefuA4PSVt79+7lm2++ISkpiS+//JIHH3yQbdu2eTtWp7T356uxp0REekB0dDSPP/44hYWFtLa2kp+f7+1IXqPSEBFx45prrvH5G/88RWNPiYjLZXC0WtrRnX+uKg0RAc4/c+H06dMqjsvMhaHR+/TpnvOpOjwlIsD5S1pramqora31dhTpZhcewtQdVBoiAkBgYGC3PKRHLm8qjU5wNyChU7v1InKZU2l0grsBCZ+fcpPnwoiIeIFOhIuIiGkqDRERMU2lISIipvVYaRw4cICMjAzg/Jgn6enpZGRkMHPmTE6dOgVAaWkpqampTJkyhe3btwNQV1fHjBkzSE9PJysri3PnzvVURBER6aQeKY01a9Ywf/581/j1zzzzDHl5eRQVFTFu3DjWrFlDbW0tRUVFbNiwgbVr11JQUEBzczMrV65kwoQJrF+/nhEjRlBSUtITEUVEpAt6pDRiYmJYsWKF63VBQYFrdEWHw0FwcDAHDx5k1KhRBAUFERYWRkxMDJ9++imVlZXcdtttACQnJ7N79+6eiCgiIl3QI5fcpqSkUFNT43p97bXXAueHFy4uLmbdunX8z//8T5vn9YaEhGCz2bDZbK7pISEhNDQ0tLuOkpIS116I2fHzvc1iOT98+qUEB/rRr2/QJecREfEWj92nsXXrVlatWsXq1auJiIggNDQUu93uet9utxMWFuaa3qdPH+x2O+Hh4e0uz2q1YrVaAbz6FKvOaHUYZJfuv+Q8L6SNgr6eySMi0lkeuXrqrbfeori4mKKiIqKjowEYOXIklZWVNDU10dDQQHV1NcOGDSM+Pp4dO3YAUF5ezs033+yJiCIiYkKP72k4HA6eeeYZBg0aRGZmJgC33HILjz32GBkZGaSnp2MYBtnZ2QQHBzNr1ixycnIoLS1lwIAB/Pa3v+3piID7IUJAw4SIiPRYaURFRVFaWgrAnj172p1nypQpTJkypc20gQMHsnbt2p6K1SF3Q4SAhgkREdHNfSIiYtplMWChwzB0VZKIiAdcFqVhGLg9tKSrkkRE/n46PCUiIqapNERExDSVhoiImKbSEBER01QaIiJimkpDRERMU2mIiIhpKg0RETFNpSEiIqZdFneEm+HuAUgawVZExL0rpjTcPQBJI9iKiLinw1MiImKaSkNERExTaYiIiGkqDRERMU2lISIipqk0RETENJWGiIiYptIQERHTVBoiImJaj5XGgQMHyMjIAODIkSNMnTqV9PR0FixYgNPpBKCwsJDJkyeTlpbGwYMHLzmviIh4X4+Uxpo1a5g/fz5NTU0ALFu2jKysLNavX49hGJSVlVFVVcWePXvYuHEjBQUFLFq0qMN5RUTEN/RIacTExLBixQrX66qqKkaPHg1AcnIyu3fvprKykqSkJCwWC5GRkTgcDurq6tqdV0REfEOPDFiYkpJCTU2N67VhGFgsFgBCQkJoaGjAZrPRv39/1zwXprc3b3tKSkooKSkBwOFw9MTHEBGR7/DIKLd+fn/bobHb7YSHhxMaGordbm8zPSwsrN1522O1WrFarQDcfc+kHkouIiLf5pGrp0aMGEFFRQUA5eXlJCQkEB8fz86dO3E6nRw7dgyn00lERES7815JLjz3o6NfZ881ezuiiFzBPLKnkZOTQ15eHgUFBcTFxZGSkoK/vz8JCQlYrVacTif5+fkdznslcffcjxfSRkFfz+UREfm2HiuNqKgoSktLAYiNjaW4uPiieTIzM8nMzGwzraN5RUTE+3Rzn4iImKbSEBER01QaIiJimkpDRERMU2mIiIhpKg0RETFNpSEiIqapNERExDSVhoiImKbSEBER01QaIiJimkpDRERMU2mIiIhpKg0RETFNpSEiIqapNERExDSVhoiImGaqNGw2G3a7nTfffJOzZ8/2dCYREfFRbh/3mp2dzU9+8hP27duH0+nk/fff58UXX/RENhER8TFu9zROnjzJxIkTqa6u5umnn8Zut3sil4iI+CC3pdHS0sJ7773HkCFDqKurU2mIiFzB3JbGgw8+yNatW3n44YcpKiril7/8pSdyiYiID3J7TmP8+PEMHTqUzz77DKvVyve+9z1P5BIRER/ktjSKi4t5//33OXv2LJMmTeLIkSPk5+d3ekUt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EBER01QaIiJimkpDRERMU2mIiIhpKg0RETFNpSEiIqapNERExDSVhoiImKbSEBER01QaIiJimkpDRERMU2mIiIhpKg0RETFNpSEiIqZ5vDROnz7NmDFjqK6u5siRI0ydOpX09HQWLFiA0+kEoLCwkMmTJ5OWlsbBgwc9HVFERDrg0dJoaWkhPz+fPn36ALBs2TKysrJYv349hmFQVlZGVVUVe/bsYePGjRQUFLBo0SJPRhQRkUvwaGksX76ctLQ0rr32WgCqqqoYPXo0AMnJyezevZvKykqSkpKwWCxERkbicDioq6vzZEwREemAx0pjy5YtREREcNttt7mmGYaBxWIBICQkhIaGBmw2G6Ghoa55Lkz/rpKSElJTU0lNTcXhcPT8BxAREQI8taLNmzdjsVj44x//yCeffEJOTk6bPQi73U54eDihoaHY7fY208PCwi5antVqxWq1AnD3PZN6/gOIiIjn9jTWrVtHcXExRUVFDB8+nOXLl5OcnExFRQUA5eXlJCQkEB8fz86dO3E6nRw7dgyn00lERISnYvZ6Fguc/Lrxkr/Onmv2dkwR6aU8tqfRnpycHPLy8igoKCAuLo6UlBT8/f1JSEjAarXidDrJz8/3ZsRep9VhkF26/5LzvJA2Cvp6Jo+IXF68UhpFRUWu3xcXF1/0fmZmJpmZmZ6MJCIiJujmPhERMU2lISIipqk0RETENJWGiIiYptIQERHTVBoiImKaSkNERExTaYiIiGkqDRERMU2lISIipqk0RETENJWGiIiYptIQERHTVBoiImKaSkNERExTaYiIiGkqDRERMU2lISIipqk0RETENK88I1y8y2KBk183dvh+cKAf/foGeTCRiPQWKo0rUKvDILt0f4fvv5A2Cvp6Lo+I9B46PCUiIqapNERExDSPHZ5qaWkhNzeXo0eP0tzczKxZsxgyZAhz587FYrEwdOhQFixYgJ+fH4WFhXzwwQcEBASQm5vLyJEjPRVTREQuwWOl8e///u/079+f5557jjNnznDPPfdwww03kJWVRWJiIvn5+ZSVlREZGcmePXvYuHEjx48fJzMzk82bN3sqpoiIXILHSuP2228nJSUFAMMw8Pf3p6qqitGjRwOQnJzMrl27iI2NJSkpCYvFQmRkJA6Hg7q6OiIiIjwVVUREOuCxcxohISGEhoZis9l47LHHyMrKwjAMLBaL6/2GhgZsNhuhoaFtfq6hoeGi5ZWUlJCamkpqaioOh8NTH0NE5Irm0RPhx48fZ9q0aUycOJG77roLP7+/rd5utxMeHk5oaCh2u73N9LCwsIuWZbVa2bJlC1u2bMHf398j+UVErnQeK41Tp04xY8YMnnzySSZPngzAiBEjqKioAKC8vJyEhATi4+PZuXMnTqeTY8eO4XQ6dWhKRMRHeOycxksvvcTXX3/NypUrWblyJQDz5s1jyZIlFBQUEBcXR0pKCv7+/iQkJGC1WnE6neTn53sqooiIuOGx0pg/fz7z58+/aHpxcfFF0zIzM8nMzPRELBER6QQNIyIXcTc2FWh8KpErlUpDLuJubCrQ+FQiVyoNIyIiIqapNERExDSVhoiImKbSEBER03QiXLpET/8TuTKpNKRL9PQ/kSuTDk+JiIhpKg0RETFNpSEiIqapNERExDSVhoiImKarp6RH6JJckcuTSkN6hC7JFbk86fCUiIiYptIQERHTdHhKvEIPehLpnVQa4hV60JNI76TDUyIiYppKQ0RETNPhKfFZutdDxPeoNMRnuTvvsWLqqEuWir+fBYfTuOQ6VDwineOTpeF0Olm4cCGfffYZQUFBLFmyhB/84AfejiU+xl2pPD/lJp1sF+lmPlka27Zto7m5mZKSEvbv38+zzz7LqlWrvB1LLkM6BCbSOT5ZGpWVldx2220A3HTTTXz88cdeTiSXK08cAnM3T3ccRjt7rpmmFmeXf17ELIthGJf+2+oF8+bNY/z48YwZMwaAn/zkJ2zbto2AgL91XElJCSUlJQAcPnyYYcOGeSVrZ9TX1zNgwABvx3BLObuXcnav3pCzN2QE+OKLL9i3b1/nfsjwQUuXLjXefvtt1+vbbrvtkvNPmjSppyN1C+XsXsrZvZSz+/SGjIbRtZw+eZ9GfHw85eXlAOzfv79X7EWIiFwJfPKcxrhx49i1axdpaWkYhsHSpUu9HUlERPDR0vDz8+Ppp582Pb/Vau3BNN1HObuXcnYv5ew+vSEjdC2nT54IFxER3+ST5zRERMQ3+eThKbN6053jkyZNIjQ0FICoqCiWLVvm5URtHThwgN/85jcUFRVx5MgR5s6di8ViYejQoSxYsAA/P9/4fvHtnIcOHeLhhx/m+uuvB2Dq1Kn88z//s1fztbS0kJuby9GjR2lubmbWrFkMGTLEp7ZnexkHDRrkc9vS4XAwf/58vvjiCywWC4sWLSI4ONintmVHOVtbW31ue15w+vRpUlNTeeWVVwgICOj89uzuS7g86d133zVycnIMwzCMffv2GY888oiXE7WvsbHRmDhxordjdGj16tXGhAkTjJ///OeGYRjGww8/bPzpT38yDMMw8vLyjPfee8+b8Vy+m7O0tNRYu3atl1O1tWnTJmPJkiWGYRhGfX29MWbMGJ/bnu1l9MVt+f777xtz5841DMMw/vSnPxmPPPKIz21Lw2g/py9uT8MwjObmZuOXv/ylMX78eOMvf/lLl7anb3x97KLecuf4p59+yrlz55gxYwbTpk1j//793o7URkxMDCtWrHC9rqqqYvTo0QAkJyeze/dub0Vr47s5P/74Yz744APuvfdecnNzsdlsXkx33u23386//uu/AmAYBv7+/j63PdvL6IvbcuzYsSxevBiAY8eOER4e7nPbEtrP6YvbE2D58uWkpaVx7bXXAl37t96rS8Nms7kO+QD4+/vT2trqxUTt69OnDzNnzmTt2rUsWrSI2bNn+1TOlJSUNnfbG4aBxWIBICQkhIaGBm9Fa+O7OUeOHMmcOXNYt24d0dHRvPjii15Md15ISAihoaHYbDYee+wxsrKyfG57tpfRF7clQEBAADk5OSxevJi77rrL57blBd/N6Yvbc8uWLURERLi+aEPX/q336tIIDQ3Fbre7Xjudzjb/qfiK2NhY7r77biwWC7GxsfTv35/a2lpvx+rQt49p2u12wsPDvZimY+PGjePGG290/f7QoUNeTnTe8ePHmTZtGhMnTuSuu+7yye353Yy+ui3h/Lfjd999l7y8PJqamlzTfWVbXvDtnElJST63PTdv3szu3bvJyMjgk08+IScnh7q6Otf7Zrdnry6N3nLn+KZNm3j22WcB+Otf/4rNZuOaa67xcqqOjRgxgoqKCgDKy8tJSEjwcqL2zZw5k4MHDwLwxz/+kX/4h3/wciI4deoUM2bM4Mknn2Ty5MmA723P9jL64rZ88803efnllwHo27cvFouFG2+80ae2JbSf89FHH/W57blu3TqKi4spKipi+PDhLF++nOTk5E5vz159n8aFq6cOHz7sunN88ODB3o51kebmZp566imOHTuGxWJh9uzZxMfHeztWGzU1NTz++OOUlpbyxRdfkJeXR0tLC3FxcSxZsgR/f39vRwTa5qyqqmLx4sUEBgYycOBAFi9e3OZwpTcsWbKEd955h7i4ONe0efPmsWTJEp/Znu1lzMrK4rnnnvOpbfnNN9/w1FNPcerUKVpbW/nFL37B4MGDfe7vZns5Bw0a5HN/N78tIyODhQsX4ufn1+nt2atLQ0REPKtXH54SERHPUmmIiIhpKg0RETFNpSEiIqapNERExDSVhkgnNTU18bOf/czbMUS8QqUhIiKm+d6YGyI+yG63M3v2bL7++mtiYmIA+Oyzz1iyZAkA/fv3Z+nSpYSGhrJo0SI+/vhjBg4cyNGjR1m1ahWFhYWcOXOGM2fO8PLLL/OHP/yBP//5zzidTqZPn84dd9zR7vLCwsK89plF2qPSEDFhw4YNDBs2jOzsbA4cOEBFRQV5eXksXbqUIUOGsHHjRv7whz/wwx/+kDNnzrBp0ybq6uoYP368axm33nor06dPZ8eOHdTU1PD666/T1NTElClT+PGPf9zu8rKzs734qUUuptIQMeHLL79kzJgxAPzjP/4jAQEBVFdXs2jRIuD8g42uv/56QkJCuOmmmwCIiIhoM1RHbGwsAIcPH6aqqoqMjAwAWltbOXr0aLvLE/E1Kg0REwYPHsz+/fsZO3Yshw4dorW1ldjYWJYvX05kZCSVlZXU1tYSHBzMW2+9BcDZs2f58ssvXcu4MAR1XFwciYmJLF68GKfTycqVK4mOjm53eSK+RqUhYsLUqVOZM2cOU6dOJS4ujsDAQBYuXEhOTg6tra1YLBaeeeYZrr/+esrLy0lLS2PgwIH06dOHwMDANsv62c9+xp49e0hPT+ebb75h7NixhIaGtrs8EV+jAQtFulF1dTWffvopd955J/X19UyYMIHt27cTFBTk7Wgi3UKlIdKNvvnmG5544glOnz6Nw+HgvvvuY9KkSd6OJdJtVBoiImKabu4TERHTVBoiImKaSkNERExTaYiIiGkqDRERMU2lISIipv0/nq5Ww+HWHbMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Social distancing interactions:\n", "G_distancing = custom_exponential_graph(baseGraph, scale=10)\n", "plot_degree_distn(G_distancing, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This SEIRS+ model features dynamics corresponding to testing individuals for the disease and moving individuals with detected infection into a state where their rate of recovery, mortality, etc may be different. In addition, given that this model considers individuals in an interaction network, a separate graph defining the interactions for individuals with detected cases can be specified.\n", "\n", "*Here we generate a graph representing the interactions that individuals have when they test positive for the disease. In this case, a significant portion of each individual's normal interaction edges are removed from the graph, as if the individual is quarantined upon detection of infection. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*\n", "\n", "For more information on how testing, contact tracing, and detected cases are handled in this model, see the README." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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rvFzJ0+edDjWkfz8fHr16kWvXr2orq529dsQEZHfuSwHB/bv38+gQYPo2bMnPXr0qHEMwmq1EhoaSnBwMFartcbykJAQh2MdSUpKoqCggIKCAnx9fS/H2xARkd9weWEcPnyYIUOGMHbsWHr37g1AmzZtWLduHQCFhYXExMTQoUMH1qxZg81mY9++fdhsNsLCwhyOFRERz3P5WVKvvfYaJ06cYM6cOcyZMweACRMmkJOTw4wZM4iOjqZr1674+voSExNDUlISNpuNzMxMANLS0sjIyKgxVkREPM9iGIbh6RCX6sGHErnm/nEXHfPyw7c6vb35n0LruziZiIj36tWrFwUFBabH6wIHERExRYUhIiKmqDBERMQUFYaIiJiiwhAREVNUGCIiYooKQ0RETFFhiIiIKS6/0ruusljg4InyCz5fz9+HBoEBbkwkIuJdVBj/X1W14fRKcALdl0dExNtol5SIiJiiwhAREVNUGCIiYooKQ0RETFFhiIiIKSoMERExRYUhIiKmqDBERMQUFYaIiJiiwhAREVNUGCIiYooKQ0RETFFhiIiIKSoMERExRYUhIiKmqDBERMQUFYaIiJiiwhAREVNUGCIiYooKQ0RETFFhiIiIKaYKo6ysDKvVykcffcTx48cvdyYREfFCfs4GjBo1irvvvptNmzZhs9n48ssvmT17tjuyiYiIF3G6hXHw4EF69uzJjh07mDJlClar1R25RETEyzgtjDNnzvDFF1/QokULSktLTRfG5s2bGThwIABbt27lrrvuYuDAgQwcOJDly5cDMGvWLHr37k1ycjLff/89ALt376Zv377069ePSZMmYbPZ/uh7ExERF3K6S2rYsGEsX76c8ePHk5eXx1NPPeV0pW+88QbLli0jMDAQgOLiYgYPHsyQIUPsY4qLi1m/fj2LFy9m//79pKSksHTpUqZOnUpqaiqxsbFkZmaycuVKEhISLuEtioiIKzjdwujSpQsjR45k27ZtJCUlcffddztdaZMmTZg5c6b98ZYtW1i9ejX9+/cnPT2dsrIyNmzYQFxcHBaLhcaNG1NdXU1paSnFxcV07NgRgE6dOrF27do//u5ERMRlnG5hzJ8/ny+//JLjx4+TmJjI7t27yczMvOjPdO3alZKSEvvj9u3b06dPH9q1a8fcuXOZPXs2ISEhNGzY0D4mKCiIkydPYhgGFoulxjJH8vPzyc/PB6C6utrpGxURkUvjdAvj008/5V//+hchISE88sgjbN68udYvkpCQQLt27ex/3rp1K8HBwTWOh1itVkJCQvDx8amxLDQ01OE6k5KSKCgooKCgAF9f31pnEhGR2nFaGOc+8Z/71B8QEFDrFxk6dKj9oPY333xD27Zt6dChA2vWrMFms7Fv3z5sNhthYWG0adOGdevWAVBYWEhMTEytX09ERFzP6S6p7t27079/f/bt28djjz1GfHx8rV8kKyuL7Oxs/P39CQ8PJzs7m+DgYGJiYkhKSsJms9l3c6WlpZGRkcGMGTOIjo6ma9eutX9XIiLick4LY8CAAfz1r39l+/btREVFcdNNN5lacUREBIsWLQKgbdu2LFy48LwxKSkppKSk1FgWFRXF/PnzTb2GiIi4zwULY9asWect27FjBytWrGDEiBGXNZSIiHifCxZGeHg4ACtWrCAiIoIOHTrwww8/sH//freF8yYWCxw8UX7RMfX8fWgQWPtjPCIidcEFCyM5ORmAL774gqysLAAefPBBBg8e7JZg3qaq2mDUoqKLjnk1+TYIdE8eERF3c3qW1LFjx9izZw8AP//88wWvixARkSub04Pe6enpPP3005SWlvLnP//ZvrUhIiJXF6eFERMTw3vvvccvv/xCREQEYWFh7sglIiJexukuqeXLl5OcnMzrr79OUlISH3/8sTtyiYiIl3G6hfHuu+9SUFBAUFAQZWVlPPLII/Ts2dMd2URExIs43cKwWCwEBQUBEBwcTL169S57KBER8T5OtzAiIyOZNm0aMTExfPfddzRp0sQduURExMs43cKYOnUqkZGRrF27lsjISLKzs92RS0REvIzTLQxfX19uvvlmWrVqBUBRURG33377ZQ8mIiLexWlhjBgxgqNHj9KoUSP7rc5VGCIiVx+nhXHkyBGHd5oVEZGri9NjGFFRUfz666/uyCIiIl7M6RbGxo0b+fvf/17jCu81a9Zc1lAiIuJ9nBbG559/7o4cIiLi5ZzukhIREQEVhoiImKTCEBERU5wew3j55ZdZsmQJFovFvkwHvUVErj5OC+Orr75i1apVBATou6pFRK5mTndJtW7dmoqKCndkERERL+Z0C6Nly5bExcURHh5uvzXIypUr3ZFNRES8iNPCWL58OStXriQ0NNQdeURExEs5LYzGjRsTGBioYxgi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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Quarantine interactions:\n", "G_quarantine = custom_exponential_graph(baseGraph, scale=5)\n", "plot_degree_distn(G_quarantine, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initializing the model parameters\n", "All model parameter values, including the normal and quarantine interaction networks, are set in the call to the ```SEIRSNetworkModel``` constructor. The normal interaction network ```G``` and the basic SEIR parameters ```beta```, ```sigma```, and ```gamma``` are the only required arguments. All other arguments represent parameters for optional extended model dynamics; these optional parameters take default values that turn off their corresponding dynamics when not provided in the constructor. For clarity and ease of customization in this notebook, all available model parameters are listed below. \n", "\n", "For more information on parameter meanings, see the README.\n", "\n", "*The parameter values shown correspond to very rough approximations of parameter values for the COVID-19 epidemic.*" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "SIGMA = 1/5.2\n", "GAMMA = 1/10\n", "MU_I = 0.002\n", "\n", "R0 = 2.5\n", "BETA = 1/(1/GAMMA) * R0\n", "BETA_Q = 0.5*BETA\n", "\n", "P = 0.2\n", "Q = 0.05" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "model = SEIRSNetworkModel(G = G_normal, \n", " beta = BETA, \n", " sigma = SIGMA, \n", " gamma = GAMMA, \n", " mu_I = MU_I,\n", " mu_0 = 0, \n", " nu = 0, \n", " xi = 0,\n", " p = P,\n", " G_Q = G_quarantine, \n", " beta_Q = BETA_Q, \n", " sigma_Q = SIGMA,\n", " gamma_Q = GAMMA, \n", " mu_Q = MU_I,\n", " theta_E = 0, \n", " theta_I = 0, \n", " phi_E = 0, \n", " phi_I = 0, \n", " psi_E = 1.0, \n", " psi_I = 1.0,\n", " q = Q,\n", " initI = numNodes/100, \n", " initE = 0, \n", " initQ_E = 0, \n", " initQ_I = 0, \n", " initR = 0, \n", " initF = 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checkpoints\n", "Model parameters can be easily changed during a simulation run using checkpoints. A dictionary holds a list of checkpoint times (```checkpoints['t']```) and lists of new values to assign to various model parameters at each checkpoint time. Any model parameter listed in the model constrcutor can be updated in this way. Only model parameters that are included in the checkpoints dictionary have their values updated at the checkpoint times, all other parameters keep their pre-existing values.\n", "\n", "*The checkpoints shown here correspond to starting social distancing and testing at time ```t=20``` (the graph ```G``` is updated to ```G_distancing``` and locality parameter ```p``` is decreased to ```0.1```; testing params ```theta_E```, ```theta_I```, ```phi```, and ```phi_I``` are set to non-zero values) and then stopping social distancing at time ```t=100``` (```G``` and ```p``` changed back to their \"normal\" values; testing params remain non-zero).*" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "checkpoints = {'t': [20, 100], \n", " 'G': [G_distancing, G_normal], \n", " 'p': [0.5*P, P], \n", " 'theta_E': [0.02, 0.02], \n", " 'theta_I': [0.02, 0.02], \n", " 'phi_E': [0.2, 0.2], \n", " 'phi_I': [0.2, 0.2]}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running the simulation" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 0.08\n", "t = 10.00\n", "[Checkpoint: Updating parameters]\n", "t = 20.00\n", "t = 30.00\n", "t = 40.01\n", "t = 50.01\n", "t = 60.00\n", "t = 70.01\n", "t = 80.01\n", "t = 90.01\n", "[Checkpoint: Updating parameters]\n", "t = 100.00\n", "t = 110.00\n", "t = 120.10\n", "t = 130.02\n", "t = 140.01\n", "t = 150.02\n", "t = 160.04\n", "t = 170.02\n", "t = 180.01\n", "t = 190.04\n", "t = 200.02\n", "t = 210.00\n", "t = 220.06\n", "t = 230.08\n", "t = 240.00\n", "t = 250.05\n", "t = 260.02\n", "t = 270.12\n", "t = 280.04\n", "t = 290.19\n", "t = 300.01\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.run(T=300, checkpoints=checkpoints)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing the results\n", "The ```SEIRSNetworkModel``` class has a ```plot()``` convenience function for plotting simulation results on a matplotlib axis. This function generates a line plot of the frequency of each model state in the population by default, but there are many optional arguments that can be used to customize the plot.\n", "\n", "The ```SEIRSNetworkModel``` class also has convenience functions for generating a full figure out of model simulation results (optionaly arguments can be provided to customize the plots generated by these functions). \n", "- ```figure_basic()``` calls the ```plot()``` function with default parameters to generate a line plot of the frequency of each state in the population.\n", "- ```figure_infections()``` calls the ```plot()``` function with default parameters to generate a stacked area plot of the frequency of only the infection states ($E$, $I$, $Q_E$, $Q_I$) in the population.\n", "\n", "For more information on the built-in plotting functions, see the README." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:1538: UserWarning: FixedFormatter should only be used together with FixedLocator\n", " ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()])\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtwAAAHeCAYAAACoidz/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAACjy0lEQVR4nOzdd5hV5bn38e/adXqDKQxD71WavaKo2KIgNowtxiQmxpicmPOqiTHqSTvGlpzEkhhjBwmKijGW2LDTixTpDDC9t93Wev/Ysodh2mZml5nh97kuL/eq+57hZrjn2fd6HsOyLAsREREREYkKW7wDEBERERHpy1Rwi4iIiIhEkQpuEREREZEoUsEtIiIiIhJFKrhFRERERKJIBbeIiIiISBT16oL7+uuvj3cIh2Xp0qUsXbo03mGIdJtyWUREJHyOeAfQHZWVlfEO4bA4nc54hyASEcplERGR8PXqgru3Oeuss+IdgkhEKJdFRETC16tbSkREREREejoV3DH06quv8uqrr8Y7DJFuUy6LiIiETy0lMZSYmBjvEEQiQrksIiISPhXcMTRr1qx4hyASEcplERGR8KmlREREREQkilRwx9CSJUtYsmRJvMMQ6TblsoiISPhUcMdQWloaaWlp8Q5DpNuUyyIi0tNdf/311NbWxjsMQD3cMTVz5sx4hyASEcplERHp6Wpra0lNTY13GIAKbhERERGJg/Lf/hV/YXGXr3cU5NLv/327zWN1dXUkJyd3+d6RpoI7hhYvXgzA3Llz4xyJSPcol0VEpLv8hcU4Bw/o8vW+3fvbPbZ9+3aGDx/e5XtHmgruGOrXr1+8QxCJCOWyiIj0ZFu3blXBfaQ69dRT4x2CSEQol0VEpCfbunUrp5xySrzDCNEsJSIiIiLSp2zfvp0RI0bEO4wQjXDH0KJFiwCYN29enCMR6R7lsoiIdJejILfDPuxwrm/PI4880uX7RoMK7hjKy8uLdwgiEaFcFhGR7mpvhpG+SAV3DJ100knxDkEkIpTLIiIi4VMPt4iIiIhIFKngjqGFCxeycOHCeIch0m3KZRERkfCppSSGCgoK4h2CSEQol0VERMKngjuGTjjhhHiHIBIRymUREZHwqaVERERERCSKNMIdQ88//zwAV1xxRZwjEeke5bKIiPR0paWl3H333VRWVmIYBnfddVfcFsNRwR1Dw4YNi3cIIhGhXBYRkZ7MsixuueUWbrvtNiZOnMiWLVu45557ePLJJ+MST9QK7jVr1nDffffx9NNPh/a9+uqrPPPMMyxYsACAO++8k02bNjF//nwuuugiamtr+dWvfsV9990XrbDi6rjjjot3CCIRoVwWEZHu2rqgmKYyb5evT+jvYuRlba82+e677zJ58mQmTpwIwOjRoykpKenye3VXVAruxx9/nFdeeYXExMTQvi+//JJFixZhWRYAlZWVlJWV8cILL3DNNddw0UUX8eijj/Kd73wnGiGJiIiISA/SVOYlMdvV5esbS9sv1j///HNOO+200PaB+jNeovLQ5ODBg/njH/8Y2q6srOT+++/n9ttvD+1zu90EAgF8Ph8ul4s9e/bQ2NjI6NGjoxFSj/Dss8/y7LPPxjsMkW5TLouISE9WWVlJenp6aHv58uVMnjy51TnPPPNM6P/RFJUR7rPPPpvCwkIAAoEAd9xxB7fddhtutzt0TlJSEjNnzuRnP/sZN910E3/5y1/47ne/y7333ovNZuOWW24hKSmp1b0XLFgQakmprKyMRvhR05d/mZAji3JZRER6snHjxvHxxx8zbtw46urqePjhh7n77rupqqriX//6F6tXr+b8889n4sSJrF+/PtR6Ei2GFaUx9sLCQn7yk5/w85//nNtuu42srCw8Hg9bt27l4osv5o477gidu3LlSj777DMyMzPJyMgAoKamhksvvbTD95g7dy6LFy+ORvgiIiIiEkXr/29Pt1tKJv5gUNvHGhu54447KCoqorq6ml/96lfMmDGDL774gl27dvHRRx8xbtw4rrnmGv7xj39wzTXXtBgYjrSoz1IyefJkli5dCjQX4QcX2wBPPvkkv//973nhhRew2+2YpklDQ0O0QxMRERGROEno7+qwDzuc69uTmJjI/fffj2mafPvb3yY7OxuAzz77jBEjRpCQkIDH48Htdof+H01xnxZw6dKlzJw5k4SEBGbPns0tt9yCzWbjgQceiHdoEffUU08BcPXVV8c5EpHuUS6LiEh3tTfDSCTZbDaeeOKJ0PZNN90EwDnnnBPa98Mf/jDqcUStpSQWeltLyYoVKwCYPn16nCMR6R7lsoiISPjiPsJ9JFFxIn2FcllERCR8UZkWUEREREREglRwx9CTTz4ZtyVFRSJJuSwiIhI+tZTE0JQpU+IdgkhEKJdFRETC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5PP5+H//7/+xd+9ebDYb99xzD3v37uXhhx8mPz+fBx98EJvNxt133823vvUtCgoKuvQ+Pdm0adPiHYJIRCiXRUREwtdpwT18+PDQ67Fjx3LyySd36Y3ef/99/H4/L7zwAh999BEPPvggPp+PJ554gocffphNmzZhs9lISUnpk8U2wOTJk+MdgkhEKJdFRETC1+lw9ezZs6murmb16tVUVFSQkJDQpTcaNmwYgUAA0zSpq6vD4XCQnJxMU1MTHo+HxMREHn/8cW644YYu3b838Pl8+Hy+eIch0m3KZRERkfB1utLk97//fYYPH86UKVNYuXIlJSUl3HfffYf9Rvv37+f73/8+DQ0NVFZW8sgjj5Cens6f/vQnxowZw7hx4ygsLMRms7Fx40bmzJnD1KlTW91nwYIFLFiwAIDKykrefffdw44lXjR3sfQVymUREZHwdVpwz58/n+eee67d7XD95je/weVy8V//9V/s37+fa665hldffRW3200gEOCWW27h3nvv5fbbb+ehhx7ixhtv5PHHH+/wnr1taff169cDMHHixDhHItI9ymUREZHwddrDPXLkSFasWMH06dPZvHkz+fn5+Hw+LMvC5XKF/UZpaWk4nU4A0tPT8fv9oanFFixYwJw5cwAwTRPDMGhsbOzK19OjqTiRvkK5LCIiEr5OC+4VK1awbNkynE5nqGfz7LPPxjAM3nnnnbDf6Nprr+X2229n/vz5+Hw+fvzjH5OUlERdXR2ff/45Dz74IADZ2dlcccUVzJ8/v2tfUQ/W1NQE0OU+eJGeQrksIiISvk5bSg4oLy8nMzOzy9MCRkNvaylR36v0FcplERGR8HU6wv3ZZ59x++23k5qaSk1NDffccw8nnnhiLGLrc4499th4hyASEcplERGR8HVacD/44IM899xz5ObmUlxczE033aSCu4vGjRsX7xBEIkK5LCIiEr5O+0Psdju5ubkA5Obm4na7ox5UX9XQ0EBDQ0O8wxDpNuWyiIhI+Dod4U5JSeHpp5/m6KOP5osvviA9PT0WcfVJCxcuBNT3Kr2fcllERCR8nRbc//u//8uf//xnHnzwQYYPH86vf/3rWMTVJx1//PHxDkEkIpTLIiIi4eu04E5NTWXatGlkZmYyatQojXB3w5gxY+IdgkhEKJdFRETC12kP9x133MHrr7+O2+3m5Zdf1gh3N9TV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5JJLdGVlpVZK6a997Wt68+bNQ9M40as1a9boiy66SH/+85/XWmt93XXX6TfffFNrrfXKlSv12rVr9aZNm/RVV12llVK6urpaX3755UPZZHGAg/vv17/+tX788ce77SP9Nzw988wz+p577tFaa93a2qrPOussuf/yRG99J/de/njhhRf07bffrrXW+s0339TXX3/9Mbv38nJKSW9VK8XwtnXrVlKpFF/96le5+uqr+dvf/kY2m2XixIkYhsGiRYt4/fXXh7qZ4gATJ07kJz/5See/N2/ezMKFCwH45Cc/yeuvv87bb7/NokWLMAyDsWPH4nkeLS0tQ9VkcYCD+2/Tpk2sW7eOZcuWsWLFCuLxuPTfMHXBBRdw8803A6C1xrIsuf/yRG99J/de/jj33HNZvXo1ADU1NUSj0WN27+VlwB2PxzunJgBYloXrukPYIjGQQCDANddcw+OPP86qVau44447ulXbCofDdHT0Xp5VDI3zzz8f2+6adaa1xjAMoKu/Dr4XpR+Hj4P7b86cOdx222089dRTTJgwgYcfflj6b5gKh8NEIhHi8Tg33XQTt9xyi9x/eaK3vpN7L7/Yts3y5ctZvXo1F1988TG79/Iy4O6tauWBv1jE8DNlyhQuueQSDMNgypQpFBYW0tbW1vl6IpEgGo0OXQPFgEyz67+L/f118L2YSCQoLCwciuaJAZx33nnMnj278+9btmyR/hvGamtrufrqq7n00ku5+OKL5f7LIwf3ndx7+ecHP/gBzz//PCtXriSTyXRuP5p7Ly8D7v6qVorh6ZlnnuH+++8HoL6+nlQqRSgUoqqqCq01r776KvPnzx/iVor+zJo1i7feeguAl19+mfnz5zNv3jxeffVVlFLU1NSglKK0tHSIWyp6c80117Bx40YA3njjDU455RTpv2GqqamJr371q3znO9/hiiuuAOT+yxe99Z3ce/nj97//PY899hgAwWAQwzCYPXv2Mbn38nJYuK+qlWL4uuKKK7jjjjtYunQphmFw3333YZomt956K57nsWjRIubOnTvUzRT9WL58OStXruTBBx9k6tSpnH/++ViWxfz581myZAlKKf7lX/5lqJsp+nD33XezevVqfD4f5eXlrF69mkgkIv03DD366KPEYjEeeeQRHnnkEQDuvPNO7rnnHrn/hrne+u7222/nvvvuk3svDyxevJg77riDZcuW4bouK1asYNq0acfkd58UvhFCCCGEEGIQ5eWUEiGEEEIIIfKFBNxCCCGEEEIMIgm4hRBCCCGEGEQScAshhBBCCDGIJOAWQgghhBBiEEnALYQQJ6BMJsM555wz1M0QQgiBBNxCCCGEEEIMqrwsfCOEEKKnRCLBrbfeSiwWY+LEiQCsX7+ehx56CK01iUSCBx54gPXr17Nnzx6WL1+O53l87nOf45lnnuHmm28mHo+TSqX45je/yaJFi4b4ioQQ4sQgI9xCCHGC+NWvfsWMGTN46qmnuPLKKwHYsWMHP/zhD3nyySdZvHgxf/7zn/nsZz/Liy++iOd5vPLKK5x++ulUVVXR1tbGo48+yoMPPojneUN8NUIIceKQEW4hhDhB7Nmzh7POOguAuXPnYts2o0aN4t577yUUClFfX8+8efOIRCIsWLCAV199lWeffZYbb7yR6dOns2TJEr71rW/hui5XXXXVEF+NEEKcOCTgFkKIE8S0adPYsGED5557Llu2bMF1XVauXMkLL7xAJBJh+fLlaK0B+MIXvsBPf/pTWltbqaioYNu2bSQSCdasWUNDQwNXXnklZ5999hBfkRBCnBgk4BZCiBPE0qVLue2221i6dClTp07F5/Nx3nnnsWzZMoLBIOXl5TQ0NAC5EfDKykqWLVsGwOTJk3n44Yd57rnnUEpx0003DeWlCCHECcXQ+4c7hBBC/NNQSrF06VIef/xxIpHIUDdHCCFOaLJoUggh/sns3buXyy67jAsvvFCCbSGEOA5khFsIIYQQQohBJCPcQgghhBBCDCIJuIUQQgghhBhEEnALIYQQQggxiCTgFkIIIYQQYhBJwC2EEEIIIcQgkoBbCCGEEEKIQfT/AcJe4ujCvcxwAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(
,\n", " )" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Reference simulation visualizations\n", "\n", "We can also visualize the results of other simulation(s) as a reference for comparison of our main simulation.\n", "\n", "Here we simulate a model where no distancing or testing takes place, so that we can compare the effects of these interventions:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 0.02\n", "t = 10.04\n", "t = 20.02\n", "t = 30.01\n", "t = 40.01\n", "t = 50.01\n", "t = 60.00\n", "t = 70.00\n", "t = 80.00\n", "t = 90.01\n", "t = 100.00\n", "t = 110.06\n", "t = 120.02\n", "t = 130.17\n", "t = 140.02\n", "t = 150.54\n", "t = 170.43\n", "t = 180.76\n", "t = 190.54\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model = SEIRSNetworkModel(G=G_normal, beta=BETA, sigma=SIGMA, gamma=GAMMA, mu_I=MU_I, p=P,\n", " G_Q=G_quarantine, beta_Q=BETA_Q, sigma_Q=SIGMA, gamma_Q=GAMMA, mu_Q=MU_I,\n", " theta_E=0, theta_I=0, phi_E=0, phi_I=0, psi_E=1.0, psi_I=1.0, q=Q,\n", " initI=numNodes/100)\n", "ref_model.run(T=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can visualize our main simulation together with this reference simulation by passing the model object of the reference simulation to the appropriate figure function argument (note: a second reference simulation could also be visualized by passing it to the ```dasheQ_reference_results``` argument):" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:1538: UserWarning: FixedFormatter should only be used together with FixedLocator\n", " ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()])\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(
,\n", " )" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], shaded_reference_results=ref_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As further demonstration, we might also wish to compare the results of these network model simulations to a deterministic model simulation of the same SEIRS parameters (with no interventions in this case):" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 299.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model_determ = SEIRSModel(beta=BETA, sigma=SIGMA, gamma=GAMMA, mu_I=MU_I, initI=100, initN=10000) \n", "ref_model_determ.run(T=300)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:1538: UserWarning: FixedFormatter should only be used together with FixedLocator\n", " ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()])\n" ] }, { "data": { "image/png": "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FArB4XBAFEXIsnnD0el0ZvUXLB3EcUxEhWTHjh2JBLqhoQE33HADgHhivHLlSkyZMgU333xzyuMBYNOmTViwYEFW51911VUp/w586aWXcPjhhycen3baaTjmmGNw5ZVXYu/evairq4MkSXj33XehKAqOPfZYOBwO7Nq1C5988glisRg2bdqEUCiE0047Dffddx9uuukmVFZW4pprrkF9fT0uuOACHH/88bjzzjvx85//HOeeey5OOukkAMC8efOS4un9/gD6XW/FihXwer1pzznnnHPgcDjgcDjw+9//Pin+mTNnJmIZO3YsnnnmGUiShC9+8Yspj+0bi/HZd+7cmTK2+vr6fuc0NzdDlmWcddZZmDJlCgDgkEMOwaZNm3D88cdnGCnWYkmJiY4//viCHxBmikajaG1tRWdnp+nvLQgC6urqCv4bcSHiOCaiQrJjxw5MmzYNAFBfX4+HHnoIDz30EJYsWYKHHnooKVk2jjcS7p07d+Kvf/0rLrrooqzOnzFjRspYBEFImjwy1iRJkgRVVXHppZfiBz/4AU466STIspy4q3vqqafij3/8I2bNmgVFUfD+++9jwYIF0HU9cYwgCNA0DeXl5YnrX3HFFXjhhRcQCARSxtP7/QH0u16qUp3e5/S+65wqfiOW448/Hm+88QY2btyIk046KeWxfWPpe0c71Wfte86CBQtw+eWXY/fu3fj9738PAEm/x0LGGW4TZXPLq9Tpuo62tjYIgpCTrduHE0csFoPdbrcshmLDcUxEhWTnzp34yle+ktXxb731ViJhvO2221BdXZ31+ffccw8A4P7770/UdJ944olYu3YtFi9e3O+8//iP/0i816RJkwAA48ePxz333IPf/va3eO+997Bq1SpomoaGhgYIgoCvfe1ruOWWW1BdXY1FixbB5/MlXXPSpEm4+uqr8d///d9Yvnx5UklJKn2vl6kzixHfkiVLUsZvkCQJU6ZMQSQSgc1mG/DYvtc21gRl+qwAsHfvXjz33HMoLy/HkiVLAADbtm3DhRdeOODnKASCXsSrxpYtW4a1a9daHcagGTO57IwBdHR0wOfzYdSoUXC73ZbF0dbWhlAohAkTJhTFN+RCwHFMRNnKd5eSQvLwww9j6dKlqKurszqUkrd582a0trbi1FNPtTqUjDjDbaInnngCAGtfY7EYfD4fvF6vqcm2oigI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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(
,\n", " )" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.25, \n", " shaded_reference_results=ref_model, shaded_reference_label='network: no interventions',\n", " dashed_reference_results=ref_model_determ, dashed_reference_label='deterministic: no interventions')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.4" } }, "nbformat": 4, "nbformat_minor": 2 } seirsplus-1.1.0/examples/Extended_SEIRS_Community_TTI_Demo.ipynb000066400000000000000000014364671375244156600247220ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Extended SEIRS Community TTI Demo\n", "\n", "**In this demonstration we will explore the effect of testing, tracing, and isolation interventions on disease transmission in the setting of an age-stratified population with a realistic contact network structured by households and work/school communities.**\n", "\n", "This notebook provides a demonstration of the functionality of the [Extended SEIRS Network Model](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description) and the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop). This notebook also offers a sandbox for starting to explore TTI scenarios of your own. \n", "For a more thorough walkthrough of the model, simulation loop, and use of this package, refer to the [SEIRS+ Wiki](https://github.com/ryansmcgee/seirsplus/wiki)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and importing the model code\n", "\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "In this demo we will also use features from the `networks`, `sim_loops`, and `utilities` modules.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```pip install seirsplus```\n", "\n", "Then, the ```models```, `networks`, `sim_loops`, and `utilities` modules can be imported as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "from seirsplus.networks import *\n", "from seirsplus.sim_loops import *\n", "from seirsplus.utilities import *\n", "import networkx\n", "import matplotlib.pyplot as pyplot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. For some of the features used in this demo you will also need the `networks`, `sim_loops`, and `utilities` modules. In this case, the easiest way to use the modules is to place your scripts in the same directory as the modules, and import the modules as shown here:*\n", "```python\n", "from models import *\n", "from networks import *\n", "from sim_loops import *\n", "from utilities import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set basic parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set the total population size" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "N = 10000" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we set the initial prevalence to be 1% of the population." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "INIT_EXPOSED = int(N*0.01)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------\n", "\n", "## Specifying contact networks\n", "\n", "This package implements models epidemic dynamics for populations with a structured [contact network](Extended-SEIRS-Model-Description#contact-networks). Individuals are represented as nodes in a network, and parameters, contacts, and interventions can be specified on a targeted individual basis. A graph specifying the contact network must be specified, where each node represents an individual in the population and edges connect individuals who have regular interactions.\n", "\n", "This model also supports scenarios where individuals enter quarantine states in which their parameters and interactions may be different from baseline, and a separate graph defining the interactions for individuals in quarantine can be specified (i.e., the [quarantine contact network](Extended-SEIRS-Model-Description#quarantine-contacts)).\n", "\n", "**_Note:_** *Simulation time increases with network size. Small networks simulate quickly, but have more stochastic volatility. Networks with ~10,000 are large enough to produce per-capita population dynamics that are generally consistent with those of larger networks, but small enough to simulate quickly. We recommend using networks with ~10,000 nodes for prototyping parameters and scenarios, which can then be run on larger networks if more precision is required.*\n", "\n", "### Demographic Community Contact Network\n", "\n", "Here we use the [**demographic community network generator**](https://github.com/ryansmcgee/seirsplus/wiki/Network-Generation#demographic-community-network) defined in the SEIRS+ package. This function generates community-level contact networks with realistic network properties as well as age-stratification, households, and communities (e.g., schools, workplaces) that are calibrated to demographic statistics for a population of interest.\n", "\n", "Each node is assigned an age bracket (0-9, 10-19, … 70-79, 80+) according to population-level age distribution (e.g. from census data). [FARZ](https://github.com/ryansmcgee/seirsplus/wiki/network-generation#farz-networks) network layers are generated to represent the out-of-household regular contacts amongst individuals of certain age groups (i.e., children, adults, seniors). FARZ networks have a community structure, parameterized in this function such that half of an individuals connections are with members of their own community and half of their connections are with individuals from outside their own community. Separate FARZ network layers are generated for the 0-9 age group (communities can be thought of as primary schools), the 10-19 age group (communities can be thought of as secondary schools), the 20-59 age group (communities can be thought of as workplaces), and the 60+ age group. The degree distribution of these networks are broad with a heavy tail. The mean degree for each layer is calibrated to avaverage number of contacts by age group from [this study](https://journals.plos.org/plosmedicine/article?id=10.1371/journal.pmed.0050074).\n", "\n", "Nodes are divvied up into households, such that the distribution of household sizes and the household age demographics data provided to the function. All of the nodes in a household are strongly connected, which rivots together the layers for each age group. In the SEIRS+ network models, there is also a probability *p* of well-mixed [global interactions](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission) (nodes interacting with a randomly drawn node from anywhere in the network), which is an avenue for both within- and between-age-group contacts. \n", "\n", "We also use the `distancing_scales` argument to generate a quarantine version of the network where a majority of the out-of-household edges have been removed. The distancing scale value of `0.7` is chosen so that ~95% of individuals have no more than a single out-of-household contact (edge) in the quarantine network." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generated overall age distribution:\n", "0-9: 0.1086\t(-0.0124 from target)\n", "10-19: 0.1322\t(0.0012 from target)\n", "20-29: 0.1453\t(0.0083 from target)\n", "30-39: 0.1304\t(-0.0026 from target)\n", "40-49: 0.1264\t(0.0024 from target)\n", "50-59: 0.1302\t(-0.0008 from target)\n", "60-69: 0.1169\t(0.0019 from target)\n", "70-79: 0.0733\t(0.0033 from target)\n", "80+: 0.0367\t(-0.0013 from target)\n", "\n", "Generated household size distribution:\n", "1: 0.2769\t(-0.0069 from target)\n", "2: 0.3364\t(-0.0087 from target)\n", "3: 0.1578\t(0.0071 from target)\n", "4: 0.1312\t(0.0036 from target)\n", "5: 0.0638\t(0.0060 from target)\n", "6: 0.0238\t(0.0012 from target)\n", "7: 0.0102\t(-0.0023 from target)\n", "Num households: 4031\n", "mean household size: 2.448393594\n", "\n", "Generating graph for 0-9...\n", "Generating graph for 10-19...\n", "Generating graph for 20-59...\n", "Generating graph for 60+...\n" ] } ], "source": [ "demographic_graphs, individual_ageGroups, households = generate_demographic_contact_network(\n", " N=N, demographic_data=household_country_data('US'), \n", " distancing_scales=[0.7], isolation_groups=[])\n", "\n", "G_baseline = demographic_graphs['baseline']\n", "G_quarantine = demographic_graphs['distancingScale0.7']\n", "\n", "households_indices = [household['indices'] for household in households]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Baseline:\n", "Degree: mean = 14.10, std = 13.58, 95% CI = (2.00, 52.00)\n", " coeff var = 0.96\n", "Assortativity: 0.12\n", "Clustering coeff: 0.25\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAD4CAYAAAAD6PrjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAd9klEQVR4nO3de5AV5bnv8e8jDFcvIBIKAfegQUQCIoyeIRIjEu8EdGsMxCAScrBSJHgrjUZzds4prYp7e0yiMeSguMVdiZeNMVCGqIjsUBhxB9BCBC9oQBdBGMg4hhkHZobn/NHvahfDXNZceq01M79P1arV/Xav7mcaZj3z3rrN3REREQE4Kt8BiIhI4VBSEBGRmJKCiIjElBRERCSmpCAiIrHu+Q6gLU444QQvLi7OdxgiIh3Khg0b9rr7wIa2deikUFxczPr16/MdhohIh2JmOxrbpuYjERGJKSmIiEhMSUFERGIduk9BRNpXTU0NqVSK6urqfIci7aBXr14MHTqUoqKirD+jpCAisVQqxTHHHENxcTFmlu9wpA3cnX379pFKpRg+fHjWn1PzkYjEqqurGTBggBJCJ2BmDBgwoMW1PiUFETmMEkLn0Zp/SyUFERGJqU9BRBpVXnWQygO17Xa8vj27079Pjyb36datG2PGjMHd6datG7/85S/58pe/3G4xXHfddUydOpWrrrqK7373u9x8882cfvrp7XZ8gPPOO4/77ruPkpKSdj1uLigptFD6lySb/9wiHV3lgVoeWv1+ux1v/uRTmv296d27N2+88QYAL7zwAnfccQd/+tOf2i2GTI888kgix20vtbW1dO+e269pNR+1UPqXpD3/ehKRhn366af0798fgP379zNlyhTGjx/PmDFjWLZsGQCVlZVcdtllnHHGGXzpS1/iqaeeAmDDhg189atfZcKECVx00UXs2rXriOOfd9558a1yjj76aO68807OOOMMSktL2b17NwBlZWVceeWVnHXWWZx11lm88sorRxzns88+Y8aMGYwaNYorrriCzz77LN724osvMnHiRMaPH883vvEN9u/fD8CKFSs47bTTmDBhAgsWLGDq1KkA/OQnP2HWrFmcc845zJo1q9HzV1ZW8p3vfIezzz6bM888M74ebaWagogUlM8++4xx48ZRXV3Nrl27ePnll4FozP2zzz7Lsccey969eyktLWXatGk8//zznHjiifzhD38AoKKigpqaGn7wgx+wbNkyBg4cyFNPPcWdd97Jo48+2uh5KysrKS0t5Z577uG2227j4Ycf5q677uKGG27gpptuYtKkSXz44YdcdNFFbN269bDPLly4kD59+rB161Y2bdrE+PHjAdi7dy933303L730En379uXee+/l/vvv57bbbuP6669nzZo1DB8+nJkzZx52vC1btrB27Vp69+7Nt771rQbPf88993D++efz6KOP8sknn3D22Wfzta99jb59+7bp+ispNCPdXFTUzaipc2rq9ExrkSRlNh+9+uqrXHvttWzevBl350c/+hFr1qzhqKOOYufOnezevZsxY8Zwyy238MMf/pCpU6fyla98hc2bN7N582YuuOACAOrq6hg8eHCT5+3Ro0f81/qECRNYuXIlAC+99BJbtmyJ9/v000/Zv38/Rx99dFy2Zs0aFixYAMDYsWMZO3YsAOvWrWPLli2cc845ABw8eJCJEyfy9ttvc/LJJ8fzB2bOnMmiRYvi402bNo3evXs3ef4XX3yR5cuXc9999wHRcOIPP/yQUaNGteRyH0FJoRnp5qK5k4pZvHY7cycV5zskkS5j4sSJ7N27l7KyMlasWEFZWRkbNmygqKiI4uJiqqurOfXUU9m4cSMrVqzgrrvuYsqUKVxxxRWMHj2aV199NetzFRUVxUM4u3XrRm1t1ER86NAh1q1bR69evVocv7tzwQUX8MQTTxxWnk56jcn8a7+x87s7zzzzDCNHjmxxXE1Rn4KIFKy3336buro6BgwYQEVFBV/4whcoKipi9erV7NgR3f35b3/7G3369OHb3/42t956Kxs3bmTkyJGUlZXFSaGmpoa33nqrVTFceOGFPPjgg/F6Q1/o5557Lr/97W8B2Lx5M5s2bQKgtLSUV155hW3btgFRE9W7777LyJEj+eCDD9i+fTtA3A/SkvNfdNFFPPjgg7hHrRevv/56q36++lRTEJFG9e3ZnfmTT2nX4zUn3acA0V/DS5YsoVu3blxzzTV8/etfZ8yYMZSUlHDaaacB8Oabb3Lrrbdy1FFHUVRUxMKFC+nRowdLly5lwYIFVFRUUFtby4033sjo0aNbHPMDDzzA/PnzGTt2LLW1tZx77rn8+te/Pmyf733ve8yZM4dRo0YxatQoJkyYAMDAgQN57LHHmDlzJgcOHADg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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "network_info(G_baseline, \"Baseline\", plot=True)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Quarantine:\n", "Degree: mean = 2.31, std = 1.55, 95% CI = (0.00, 6.00)\n", " coeff var = 0.67\n", "Assortativity: 0.95\n", "Clustering coeff: 0.60\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAD4CAYAAAAdIcpQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAazUlEQVR4nO3df5RVdf3v8edLfk0gKiG6SNAhInTqitgkFPq9kvkr/X7xa35VuhV4veEyKCnLS7+WGrpydcm+Wei98w1TSzEuiiJfEtG0LrYMBkJE8Acq4hC/VBKcERiG9/3j7BmPzAz7DMyZfWBej7XOmn0+Z/94HxjOi/35fPY+igjMzMz25bCsCzAzs9LnsDAzs1QOCzMzS+WwMDOzVA4LMzNL1TXrAorh6KOPjvLy8qzLMDM7qCxduvTNiOjX0muHZFiUl5dTXV2ddRlmZgcVSa+39pq7oczMLJXDwszMUjkszMws1SE5ZmFmrauvr6empoYdO3ZkXYplpKysjAEDBtCtW7eCt3FYmHUyNTU19O7dm/LyciRlXY51sIjgrbfeoqamhkGDBhW8nbuhzDqZHTt20LdvXwdFJyWJvn37tvnM0mFh1gk5KDq3/fn7d1iYmVkqh4VZJ7e1bhc1W+va7bG1blfqMWtqahgzZgxDhgzhox/9KJMmTWLnzp0d8G5btnbtWu67776m59XV1Xzzm99s9+M89dRTXHjhhe2+347gAe6DyNa6XdTu3J11Gc306tGVPj27Z12G7afanbuZ/uQr7ba/iaMH7/P3ISK4+OKLufrqq3n44YdpaGhgwoQJXHfddfziF7844OM3NDTQpUuXNm3TGBZf+tKXAKisrKSysvKAaymm/XmfB8JhcRBp73/U7SXtw8Es3x//+EfKysq44oorAOjSpQs///nPOeGEE7j55puZPXs21dXV/OpXvwLgwgsv5Dvf+Q5nnnkmV199NUuWLOG9997jkksu4cYbbwRyt/i57LLLWLhwIddddx3bt2+nqqqKXbt28bGPfYzf/va39OzZk/Hjx3PEEUdQXV3Nxo0b+elPf8oll1zClClTWL16Naeccgrjxo1j+PDhTJs2jXnz5nHDDTewbt06Xn31VdatW8fkyZObzjp+97vfcdttt7Fr1y5GjBjB7bff3uwD/NFHH2Xy5Mn07NmT008/vam9traWb3zjG6xcuZL6+npuuOEGxowZQ11dHePHj2flypUMHTqUv//970yfPp3KykoOP/xwrrrqKh5//HGmT5/O2rVrWzz+Y489xvXXX8/OnTsZPHgwv/nNbzj88MMP6O/N3VBm1qGef/55PvWpT32g7YgjjqC8vJw1a9bsc9ubb76Z6upqVqxYwZ/+9CdWrFjR9Frfvn1ZtmwZl19+ORdffDFLlizh2Wef5aSTTmLGjBlN623YsIFFixYxb948pkyZAsAtt9zCGWecwfLly/nWt77V7LgvvPACCxYsYPHixdx4443U19ezevVqfv/73/P000+zfPlyunTpwr333vuB7Xbs2MHXvvY1HnnkEZYuXcrGjRs/8F4+97nPsXjxYp588km++93vUltby+23306fPn1YtWoVU6dOZenSpU3b1NbWMmLECJ599ln69u3b4vHffPNNbrrpJh5//HGWLVtGZWUlt956awF/M/vmMwszO2jMmjWLqqoqdu/ezYYNG1i1ahUnn3wyAJdddlnTeitXruSHP/wh//jHP3j33Xc599xzm1676KKLOOyww6ioqGDTpk0FHfeCCy6gR48e9OjRg2OOOYZNmzbxxBNPsHTpUj796U8D8N5773HMMcd8YLsXXniBQYMGMWTIEAC+/OUvU1VVBcBjjz3G3LlzmTZtGpALlnXr1rFo0SKuueYaAD75yU82vT/InYV98YtfBGj1+M888wyrVq1i1KhRAOzatYvPfOYzBb3PfXFYmFmHqqioYPbs2R9o27ZtGxs3bmTo0KGsXLmSPXv2NL3WeD3Aa6+9xrRp01iyZAl9+vRh/PjxH7hWoFevXk3L48eP56GHHmLYsGHcddddPPXUU02v9ejRo2k5IgqqOX+bLl26sHv3biKCcePG8ZOf/KSwN76XiOCBBx5g6NChBW9TVlbW1M3V2vEfeeQRzj77bGbOnLlfdbXG3VBm1qHOOuss6urquOeee4DcQO21117LpEmT+NCHPkR5eTnLly9nz549vPHGGyxevBjIBUqvXr048sgj2bRpE3/4wx9aPcb27dvp378/9fX1zbqGWtK7d2+2b9/e5vcxe/ZsNm/eDMDbb7/N669/8A7fJ554ImvXruWVV3Jjjfkf4Oeeey6//OUvmwLrb3/7GwCjRo1i1qxZAKxatYrnnnuuTccfOXIkTz/9dFOXXm1tLS+99FKb3ltLinZm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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "network_info(G_quarantine, \"Quarantine\", plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Specifying parameters\n", "\n", "**_The parameter values used in this notebook reflect rough estimates of parameter values for the COVID-19 epidemic (as of 9 Aug 2020)._**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set disease progression rate parameters:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parameter values are assigned to members of the population on an individual basis. Parameter values can be [specified to the `ExtSEIRSNetworkModel`](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#specifying-parameters) by providing a list of values that gives the *N* values to assign to each individual. The population may be either homogeneous or heterogeneous for a given parameter at the user's discretion. \n", "\n", "**Here we generate distributions of values for each parameter, and some parameter value are specified in an age-stratified manner, thus specifying a realistically heterogeneous population.**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected latent periods (time in Exposed state) and presymptomatic periods (time in Pre-symptomatic infectious state). The `sigma` and `lamda` rates are calculated as the inverse of the expected exposed and pre-symptomatic periods assigned to each individual, respectively." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "latent period: mean = 2.21, std = 1.10, 95% CI = (0.59, 4.84)\n", "\n", "pre-symptomatic period: mean = 2.99, std = 1.80, 95% CI = (0.55, 7.50)\n", "\n", "total incubation period: mean = 5.21, std = 2.12, 95% CI = (1.95, 10.22)\n", "\n" ] }, { "data": { "image/png": "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SeOaa65h9OjRPPzww+GL2QDHHXccM2fO5NZbb2Xv3r00bNiQefPmkZ5+6DHv3r07t9xyC+vWraN///5cdtll1KlTJ6rjGSktLY0nn3ySK6+8kuLiYrp3784NN9xAgwYNmDp1KhdffDGNGjWiT58+lT57JR4q555MKucuRynV5dwLCgq45JJLyM/PP/LKcbrkkku44447OP/8849qu/Hjx5Oenh6+LlOTzJ8/n8mTJx/xOSZVQeXcRaTG2bFjB6effjoNGzY86uQh1YuGsEQkLDMzM+lnHyeeeOIRx/crM378+MQFU8X69etHv379Uh1GwugMREREYqIEIiIiMVECERGRmCiBiIhITJRARKqxwsJCNmzYkLBXYWHl5dx37NhxSO2rikRbOr2goICsrKzD2jdv3swVV1xxxO2PRkX7qsz06dPZvHlz+PP1119/SKn2VLrooovYsWNH1OuPHz+eyZMnJy+gcmgWlkg1tmvXrkOKCMZr3LhxZGRUXM69NIHcdNNNlfYTb+n0Vq1aHXITXqpMnz6drKwsWrVqBcCf/vSnFEcUKhPj7rzxxhupDuWIdAYiImFjx45l/fr1dO3albvuugt356677iIrK4vs7GxmzpwZXi+ydHpBQQF9+vQhJyeHnJwc3nvvvUr3E3m2MH36dC6//HIGDRpE+/bt+eUvfxle7+9//zs5OTl06dIlfM9I2f/TzsrKChdaLC4uLrcU/YQJE+jevTtZWVmMGTMGd+fFF19k6dKlDBs2jK5du7J371769etH6U3IM2bMIDs7m6ysLO6+++7w/tLT07n33nvp0qULvXr1YuvWrYf9fhWVnAeYNGkS3bt3p3Pnztx3333h49GhQweuu+46srKy+OKLL8jMzGT79u0APPTQQ2RlZZGVlcX//M//hPt64IEHOP300znnnHNYs2ZNpcc8GXQGIiJhEydOJD8/n7y8PABeeumlcCn27du30717d/r27cvEiRMPuaN6z549zJ07l7S0NNauXcvQoUM5mmoQeXl5fPjhhzRo0IAOHTpw6623kpaWxujRo1mwYAHt2rULP6ejMmvWrOGJJ56gd+/ejBo1ij/+8Y/84he/4JZbbuE3v/kNANdeey2vv/46V1xxBY888giTJ08mN/fQm683b97M3XffzbJly2jatCkXXHABs2bN4tJLL2X37t306tWLBx54gF/+8pc8/vjj/OpXvzoslpUrV7Jo0SJ2795Nt27duPjii8nPz2ft2rUsXrwYdw8Xm2zbti1r167lqaeeolevXof0s2zZMp588kk++OAD3J2ePXty7rnncvDgQZ5//nny8vIoLi4mJyeHs846K+pjngg6AxGRCi1cuJChQ4dSt25dWrRowbnnnhsuFhipqKiI0aNHk52dzZVXXnnU1xHOP/98mjRpQlpaGmeccQYbNmxg0aJF9O3bl3bt2gHQrFmzI/ZTthT9woULAXjnnXfo2bMn2dnZvP3223z88ceV9rNkyRL69etH8+bNqVevHsOGDWPBggVAqOZV6SNizzrrrEPKzEcqLTl/0kknhUvOz5kzhzlz5tCtWzdycnL45JNPWLt2LQCnnXbaYckDQv8Gl112Gccffzzp6elcfvnlvPvuu7z77rtcdtllNGrUiMaNGzN48OAjHp9E0xmIiMRtypQptGjRghUrVnDw4EHS0tKOavvIIod169Ytt4ptqXr16oWf4geEHxIF5ZdK37dvHzfddBNLly6lTZs2jB8//pBtjlb9+vXD+6ks1orKtt9zzz3hkvelCgoKqm3J9sroDEREwsoriT5z5kxKSkr46quvWLBgAT169DhsvZ07d9KyZUvq1KnDM888Q0lJSdyx9OrViwULFvDZZ58BhIewMjMzw2Xhly9fHl4O5ZeiL00WJ510Ert27Trk4n1Fpdl79OjBP/7xD7Zv305JSQkzZszg3HPPPar4yys5P3DgQKZNmxZ+XO2mTZvYtm1bpf306dOHWbNmsWfPHnbv3s0rr7xCnz596Nu3L7NmzWLv3r189913vPbaa0cVXyLoDESkGktPT2fcuMSVcy9bWrysjIwMevfuTVZWFhdeeCG/+93veP/99+nSpQtmxu9+9ztOOeUUMjIyDiud/uMf/5inn36aQYMGJeT/pps3b87UqVO5/PLLOXjwICeffDJz584N7+fMM8+kZ8+eh5Q8L68UfaNGjRg9ejRZWVmccsop4ScGQuihUTfccAMNGzYMJx6Ali1bMnHiRPr374+7c/HFFzNkyJCjir+8kvOtWrVi9erV4acNpqen8+c//5m6detW2E9OTg4jRoygR48eQGiqcbduoWf1XX311XTp0oWTTz75kN+rqqicezKpnLscpVSXc5fEqAkl51XOXUREUiZpQ1hmlgYsABoE+3nR3e8zs3bA80AGsAy41t0PmFkD4GngLKAQuNrdC4K+7gF+CpQAt7n7m8mKW0QkXjW55PzRSOYZyH7gPHfvAnQFBplZL+C/gCnu/m/AN4QSA8HPb4L2KcF6mNkZwDXAmcAg4I9mVvGAoUgNdywOK0v1kqjvWNLOQDwU4a7gY/3g5cB5QGn9g6eA8cBjwJDgPcCLwCMWmgc3BHje3fcDn5nZOqAH8K8rXse6Axvi76NuOtStuISFVA9paWkUFhaSkZFx2DRQkURwdwoLC496qnV5kjoLKzhTWAb8G/AosB7Y4e6lE6c3AqcG708FvgBw92Iz20lomOtUYFFEt5HbRO5rDDAGoG3btgn/XVLG98I3U+Lvp9k4JZAaoHXr1mzcuJGvvvoq1aHIMSwtLY3WrVvH3U9SE4i7lwBdzexE4BWgYxL3NRWYCqFZWMnaj0gy1a9fP3zntUh1VyWzsNx9B/AOcDZwopmVJq7WwKbg/SagDUCwvAmhi+nh9nK2ERGRFElaAjGz5sGZB2bWEBgArCaUSEofBDAceDV4Pzv4TLD87eA6ymzgGjNrEMzgag8sTlbcIiISnWQOYbUEngqug9QBXnD3181sFfC8md0PfAg8Eaz/BPBMcJH8a0Izr3D3j83sBWAVUAzcHAyNiYhICiVzFtZKoFs57f8kNIuqbPs+4MoK+noAeCDRMYqISOx0J7qIiMRECURERGKiBCIiIjFRAhERkZgogYiISEyUQEREJCZKICIiEhMlEBERiYkSiIiIxEQJREREYqIEIiIiMVECERGRmCiBiIhITJRAREQkJkogIiISEyUQERGJiRKIiIjERAlERERikrQEYmZtzOwdM1tlZh+b2X8E7ePNbJOZ5QWviyK2ucfM1pnZGjMbGNE+KGhbZ2ZjkxWziIhEL2nPRAeKgTvdfbmZnQAsM7O5wbIp7j45cmUzOwO4BjgTaAXMM7PTg8WPAgOAjcASM5vt7quSGLuIiBxB0hKIu28BtgTvvzOz1cCplWwyBHje3fcDn5nZOqBHsGydu/8TwMyeD9ZVAhERSaFknoGEmVkm0A34AOgN3GJm1wFLCZ2lfEMouSyK2Gwj/0o4X5Rp71nOPsYAYwDatm2b4N8gRgcPwIHv4uvDDyYmFhGRBEt6AjGzdOAl4HZ3/9bMHgN+C3jw87+BUfHux92nAlMBcnNzPd7+EuJgCWz7ML4+mlePX0VEpKykJhAzq08oeTzr7i8DuPvWiOWPA68HHzcBbSI2bx20UUm7iIikyFHNwjKzOmbWOMp1DXgCWO3uD0W0t4xY7TIgP3g/G7jGzBqYWTugPbAYWAK0N7N2ZnYcoQvts48mbhERSbwjnoGY2XPADUAJoT/mjc3s9+4+6Qib9gauBT4ys7ygbRww1My6EhrCKgB+BuDuH5vZC4QujhcDN7t7SRDDLcCbQF1gmrt/fBS/o4iIJEE0Q1hnBNcuhgF/A8YCy4BKE4i7LwSsnEVvVLLNA8AD5bS/Udl2IiJS9aJJIPWDaxmXAo+4e5GZ6cpuVYp3JheEZoSJiCRQNAnkfwkNNa0AFpjZacC3yQxKyoh3JhfASSXx9yEiEuGICcTdHwYejmjaYGb9kxeSiIjUBEechWVmLczsCTP7W/D5DGB40iMTEZFqLZppvNMJzYBqFXz+FLg9SfGIiEgNEU0COcndXwAOArh7MaEpvSIiUotFk0B2m1kGofs2MLNewM6kRiUiItVeNLOwfk7ozu/vm9n/Ac2BK5IalYiIVHvRzMJabmbnAh0I3Ri4xt2Lkh6ZiIhUaxUmEDO7vIJFp5sZpcURRUSkdqrsDORHwc+TgR8Abwef+wPvAUogIiK1WIUJxN1HApjZHEL1sLYEn1sSmtorIiK1WDSzsNqUJo/AVqCaPPJPRERSJZpZWG+Z2ZvAjODz1cC85IUkIiI1QTSzsG4xs8uAvkHTVHd/JblhiYhIdRftI23fI/SQJyf0lEAREanloimmeBWhpHEFcBXwgZnpRkIRkVoumjOQe4Hu7r4NwMyaE7oG8mIyAxMRkeotmllYdUqTR6Awyu1EROQYFk0i+LuZvWlmI8xsBPBXong+uZm1MbN3zGyVmX1sZv8RtDczs7lmtjb42TRoNzN72MzWmdlKM8uJ6Gt4sP5aM9OzSEREqoEjJhB3vwuYCnQOXlPd/e4o+i4G7nT3M4BewM3Bw6jGAm+5e3vgreAzwIVA++A1BngMQgkHuA/oCfQA7itNOiIikjpRzcJy95eAl46m4+Dmwy3B++/MbDVwKjAE6Bes9hQwH7g7aH/a3R1YZGYnBne99wPmuvvXAGY2FxjEv+5LERGRFDhiAgmKKv4XoZpYFrzc3RtHuxMzywS6AR8ALSLubP8SaBG8PxX4ImKzjUFbRe1l9zGG0JkLbdvqRvlkKSwsZNeuXXH3k56eTkZGRgIiEpFUieYM5HfAj9x9dSw7MLN0Qmcvt7v7t2YWXububmYeS79luftUQkNt5ObmJqRPOdyuXbt48MEH4+5n3LhxSiAiNVw0F9G3xpE86hNKHs9GlH/fGgxNlRZmLJ3htQloE7F566CtonYREUmhaBLIUjObaWZDzezy0teRNrLQqcYTwGp3fyhi0WygdCbVcODViPbrgtlYvYCdwVDXm8AFZtY0uHh+QdAmIiIpFM0QVmNgD6E/3KWcIz8PpDdwLfCRmeUFbeOAicALZvZTYAOhu9shNDX4ImBdsL+RAO7+tZn9FlgSrDeh9IK6iIikTjTFFEfG0rG7LyR0wb0855ezvgM3V9DXNGBaLHGIiEhyRFtMUWq4Ej/Ixg0b4u7nwIEDCYhGRI4FSiC1hXtCZk/dcccdCQhGRI4FqmklIiIxieZGwhOB64DMyPXd/bakRSUiItVeNENYbwCLgI+Ag8kNR5LFrA63jRgSdz8tmtRPQDQiciyIJoGkufvPkx6JJNlBCt+4M+5eTrtRj4ERkZBoroE8Y2ajzaxlUIq9WVAhV0REarFozkAOAJMIPZmwtMaUA99LVlBSO2xIwLRiFWUUSZ1oEsidwL+5+/ZkByO1x969e5kyZUrc/agoo0jqRDOEVVpaREREJCyaM5DdQJ6ZvQPsL23UNF4RkdotmgQyK3iJiIiERVNM8amqCERERGqWaO5E/4x/zb4Kc3fNwhIRqcWiGcLKjXifBlwJ6D4QEZFa7oizsNy9MOK1yd3/B7g4+aGJiEh1Fs0QVk7ExzqEzkhUBl5EpJaLJhH8d8T7YqCAfz2GVkREaqlohrD6R7wGuPtod19zpO3MbJqZbTOz/Ii28Wa2yczygtdFEcvuMbN1ZrbGzAZGtA8K2taZ2dhYfkkREUm8aIawGgA/5vDngUw4wqbTgUeAp8u0T3H3yWX2cQZwDXAm0AqYZ2anB4sfBQYAG4ElZjbb3VcdKW4REUmuaIawXgV2AsuIuBP9SNx9gZllRrn6EOB5d98PfGZm64AewbJ17v5PADN7PlhXCUREJMWiSSCt3X1QAvd5i5ldBywF7nT3b4BTCT20qtTGoA3gizLtPcvr1MzGAGMA2rZtm8BwRUSkPNEUU3zPzLITtL/HgO8DXYEtHHqBPi7uPtXdc909t3nz5onqVkREKhDNGcg5wIjgjvT9gAHu7p2PdmfuvrX0vZk9DrwefNwEtIlYtXXQRiXtIiKSQtEkkAsTtTMza+nuW4KPlwGlM7RmA8+Z2UOELqK3BxYTSlbtzawdocRxDfDviYpHRERiF00xxZgeG2dmM4B+wElmthG4D+hnZl0J1dYqAH4W7ONjM3uB0MXxYuBmdy8J+rkFeBOoC0xz949jiUdERBIraXeUu/vQcpqfqGT9B4AHyml/A3gjgaGJiEgCqCRJLWF1G5A19N64+zkuvUECohGRY4ESSG3h+9m//ta4u2ncZmECghGRY0E003hFREQOowQiIiIxUQIREZGYKIGIiEhMlEBERCQmSiAiIhITTeOVGm/DhpiKJRwiPT2djIyMBEQjUnsogUiNtnfvXqZMmRJ3P+PGjVMCETlKGsISEZGYKIGIiEhMlEBERCQmSiAiIhITJRAREYmJEoiIiMRE03jLU1IIJbvi78fi76K6sTrGbSOGxN1Piyb1ExCNiKSSEkh5SnbB1w/G30+T2+Lvo5oxdwrfuDPufk678cUERCMiqaQhLBERiUnSEoiZTTOzbWaWH9HWzMzmmtna4GfToN3M7GEzW2dmK80sJ2Kb4cH6a81seLLiFRGRo5PMM5DpwKAybWOBt9y9PfBW8BngQqB98BoDPAahhAPcB/QEegD3lSYdERFJraRdA3H3BWaWWaZ5CNAveP8UMB+4O2h/2t0dWGRmJ5pZy2Ddue7+NYCZzSWUlGYkK+7qxoGioqK4+9ElaxFJtKq+iN7C3bcE778EWgTvTwW+iFhvY9BWUfthzGwMobMX2rZtm8CQU69we2HcfZySgDhERCKl7CJ6cLbhCexvqrvnuntu8+bNE9WtiIhUoKoTyNZgaIrg57agfRPQJmK91kFbRe0iIpJiVZ1AZgOlM6mGA69GtF8XzMbqBewMhrreBC4ws6bBxfMLgjYREUmxpF0DMbMZhC6Cn2RmGwnNppoIvGBmPwU2AFcFq78BXASsA/YAIwHc/Wsz+y2wJFhvQukFdRERSa1kzsIaWsGi88tZ14GbK+hnGjAtgaGJiEgCqJRJeQ4egAPfpToKEZFqTQmkPAdLYNuH8fejyWAicgxTLSwREYmJEoiIiMRECURERGKiayAigQ0bNsTdR3p6OhkZGQmIRqT6UwIRAfbu3cuUKVPi7mfcuHFKIFJraAhLRERiogQiIiIxUQIREZGYKIGIiEhMlEBERCQmSiAiIhITJRAREYmJEoiIiMRECURERGKiO9ElJY47rgG3jRgSdz8tmtRPQDQiEgslEEmJOgf3U/jGnXH3c9qNLyYgGhGJRUqGsMyswMw+MrM8M1satDUzs7lmtjb42TRoNzN72MzWmdlKM8tJRcwiInKoVF4D6e/uXd09N/g8FnjL3dsDbwWfAS4E2gevMcBjVR6piIgcpjoNYQ0B+gXvnwLmA3cH7U+7uwOLzOxEM2vp7ltSEmUtZ3UbkDX03rj7qdOoQQKiEZFUSlUCcWCOmTnwv+4+FWgRkRS+BFoE708FvojYdmPQdkgCMbMxhM5QaNu2bRJDr+32s3/9rfF303Zh/H2ISEqlKoGc4+6bzOxkYK6ZfRK50N09SC5RC5LQVIDc3Nyj2lZERI5eSq6BuPum4Oc24BWgB7DVzFoCBD+3BatvAtpEbN46aBMRkRSq8jMQMzseqOPu3wXvLwAmALOB4cDE4OerwSazgVvM7HmgJ7BT1z+kOtOjcaW2SMUQVgvgFTMr3f9z7v53M1sCvGBmPwU2AFcF678BXASsA/YAI6s+ZJHo6NG4UptUeQJx938CXcppLwTOL6fdgZurIDQRETkKqoUlIiIxUQIREZGYKIGIiEhMqtOd6CJHTVV9RVJHCURqNFX1FUkdDWGJiEhMlEBERCQmGsJKIgeKiori6kMj87WX7miX6k4JJMkKtxfGtf0pCYpDahbd0S41gYawREQkJkogIiISEyUQERGJia6BiKAbEkVioQQigm5IFImFEoikhNVtQNbQe+Pup06jBgmI5tim6cCSLEogkiL72b/+1vi7absw/j6OYZoOLMmki+giIhITnYGIJNCxfDFeQ2FSlhKISAIdqxfjNRQm5akxCcTMBgG/B+oCf3L3iSkOSaqBY/Vi/LF8JiPHjhqRQMysLvAoMADYCCwxs9nuviq1kUnqHZsX44/VMxmIfyhMw2DVR41IIEAPYJ27/xPAzJ4HhgBJSSAlfpCSOKvogirp1iQ6k6lcZvMEnRGlH2T9p6vj6qPZv53Jhg274o6lXr16FBcXx91PbU5o5u6pjuGIzOwKYJC7Xx98vhbo6e63RKwzBhgTfOwArIljlycB2+PYvqrVtHhBMVeVmhZzTYsXjq2YT3P35tF2UlPOQI7I3acCUxPRl5ktdffcRPRVFWpavKCYq0pNi7mmxQu1O+aach/IJqBNxOfWQZuIiKRITUkgS4D2ZtbOzI4DrgFmpzgmEZFarUYMYbl7sZndArxJaBrvNHf/OIm7TMhQWBWqafGCYq4qNS3mmhYv1OKYa8RFdBERqX5qyhCWiIhUM0ogIiISk1qbQMxskJmtMbN1Zja2nOUNzGxmsPwDM8tMQZiR8bQxs3fMbJWZfWxm/1HOOv3MbKeZ5QWv36Qi1jIxFZjZR0E8S8tZbmb2cHCcV5pZTirijIinQ8TxyzOzb83s9jLrpPw4m9k0M9tmZvkRbc3MbK6ZrQ1+Nq1g2+HBOmvNbHgK451kZp8E/+6vmNmJFWxb6XeoimMeb2abIv7tL6pg20r/vlRxzDMj4i0ws7wKtj364+zute5F6EL8euB7wHHACuCMMuvcBPy/4P01wMwUx9wSyAnenwB8Wk7M/YDXU318y8RUAJxUyfKLgL8BBvQCPkh1zGW+J18SurmqWh1noC+QA+RHtP0OGBu8Hwv8VznbNQP+GfxsGrxvmqJ4LwDqBe//q7x4o/kOVXHM44FfRPG9qfTvS1XGXGb5fwO/SdRxrq1nIOHSKO5+ACgtjRJpCPBU8P5F4HwzsyqM8RDuvsXdlwfvvwNWA6emKp4EGgI87SGLgBPNrGWqgwqcD6x39/jrmCeYuy8Avi7THPmdfQq4tJxNBwJz3f1rd/8GmAsMSlacpcqL193nuHtpLZFFhO7vqjYqOMbRiObvS1JUFnPw9+sqYEai9ldbE8ipwBcRnzdy+B/j8DrBl3wnUC0K3gTDad2AD8pZfLaZrTCzv5nZmVUbWbkcmGNmy4JyM2VF82+RKtdQ8X9s1e04A7Rw9y3B+y+BFuWsU12P9yhCZ6LlOdJ3qKrdEgy7TatgmLC6HuM+wFZ3X1vB8qM+zrU1gdRYZpYOvATc7u7fllm8nNBwSxfgD8CsKg6vPOe4ew5wIXCzmfVNdUDRCG5YHQz8pZzF1fE4H8JDYxI1Yo6+md0LFAPPVrBKdfoOPQZ8H+gKbCE0JFRTDKXys4+jPs61NYFEUxolvI6Z1QOaAIVVEl0FzKw+oeTxrLu/XHa5u3/r7ruC928A9c3spCoOs2xMm4Kf24BXCJ3eR6quZWouBJa7+9ayC6rjcQ5sLR3+C35uK2edanW8zWwEcAkwLEh6h4niO1Rl3H2ru5e4+0Hg8QpiqVbHGMJ/wy4HZla0TizHubYmkGhKo8wGSmeoXAG8XdEXvCoE45dPAKvd/aEK1jml9DqNmfUg9O+bsqRnZseb2Qml7wldNM0vs9ps4LpgNlYvYGfEMEwqVfh/a9XtOEeI/M4OB14tZ503gQvMrGkw/HJB0FblLPSQuF8Cg919TwXrRPMdqjJlrs9dVkEs1bH00g+BT9x9Y3kLYz7OVTEzoDq+CM3++ZTQbIl7g7YJhL7MAGmEhi/WAYuB76U43nMIDUmsBPKC10XADcANwTq3AB8TmvWxCPhBimP+XhDLiiCu0uMcGbMReljYeuAjILcafDeOJ5QQmkS0VavjTCi5bQGKCI2x/5TQNbq3gLXAPKBZsG4uoad4lm47KvherwNGpjDedYSuFZR+n0tnPbYC3qjsO5TCmJ8JvqcrCSWFlmVjDj4f9vclVTEH7dNLv78R68Z9nFXKREREYlJbh7BERCROSiAiIhITJRAREYmJEoiIiMRECURERGKiBCIiIjFRAhERkZj8fxbX2VPAkMVgAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "latentPeriod_mean, latentPeriod_coeffvar = 3.0, 0.6\n", "SIGMA = 1 / gamma_dist(latentPeriod_mean, latentPeriod_coeffvar, N)\n", "\n", "presymptomaticPeriod_mean, presymptomaticPeriod_coeffvar = 2.2, 0.5\n", "LAMDA = 1 / gamma_dist(presymptomaticPeriod_mean, presymptomaticPeriod_coeffvar, N)\n", "\n", "dist_info([1/LAMDA, 1/SIGMA, 1/LAMDA+1/SIGMA], [\"latent period\", \"pre-symptomatic period\", \"total incubation period\"], plot=True, colors=['gold', 'darkorange', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected (a)symptomatic periods (time in symptomatic or asymptomatic state). The `gamma` rates are calculated as the inverse of the expected (a)symptomatic periods assigned to each individual. \n", "\n", "The expected total infectious period for each individual is the sum of their expected pre-symptomatic and (a)symptomatic periods." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pre-symptomatic period: mean = 2.21, std = 1.10, 95% CI = (0.59, 4.84)\n", "\n", "(a)symptomatic period: mean = 4.01, std = 1.60, 95% CI = (1.51, 7.63)\n", "\n", "total infectious period: mean = 6.22, std = 1.93, 95% CI = (3.03, 10.63)\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAD4CAYAAAAdIcpQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAApj0lEQVR4nO3de3wU5dn/8c8FEg4GOYSUoqihiiASiTQcLIpQKqJSQeuJogIq1uOjVlFKnyoPWl+09RFrVVqogPBDxHoAaq0KCKU8HjgZAQEl1FBAVIgFRU4Brt8fO1mXkGQXmM1u4Pt+vfaVnXtm7rmyhFyZe+65xtwdERGRytRIdQAiIpL+lCxERCQuJQsREYlLyUJEROJSshARkbiOSXUAydCkSRPPyclJdRgiItXK4sWLN7t7dnnrjshkkZOTw6JFi1IdhohItWJmaytap2EoERGJS8lCRETiUrIQEZG4jshrFiLVVUlJCevXr2fnzp2pDkWOYHXq1KF58+bUqlUr4X2ULETSyPr166lfvz45OTmYWarDkSOQu1NcXMz69etp0aJFwvtpGEokjezcuZOsrCwlCkkaMyMrK+ugz16VLETSjBKFJNuh/IwpWYiISFxKFiLpbEcxbF0b3mtHcaq/o6QpKiriueeeS/pxpk2bxooVK6LLDzzwALNmzUr6cQ/1eHPnzqV3796HfVxd4K4KO4ph97bw+svIhLpZ4fUn6Wv3NljwSHj9dRwWys/O3r17qVmzZggBhac0Wfz0pz9N6nGmTZtG7969adOmDQAjRoxI6vFi7d27t0qPF0vJoiqk6X94kbKKioro1asX3//+91myZAlnnHEGEydOpF69euTk5HDVVVcxc+ZM7rvvPho3bsyDDz7Irl27OOWUUxg/fjyZmZn79bdx40auuuoqvvrqK/bs2cPo0aNZvXo1S5cu5fHHHwdg7NixrFixgjvvvJNevXrRuXNn3n77bTp06MCgQYN48MEH+eKLL5g8eTIdO3Zk+PDhrFmzhsLCQjZv3sx9993H4MGDGTp0KCtXriQvL48BAwZwyy23cMstt7Bo0SKOOeYYHnvsMbp3786ECROYNm0a33zzDatXr+bee+9l9+7dTJo0idq1a/Paa6/RuHFjxo4dy5gxY9i9ezennnoqkyZNoqCggBkzZvCPf/yDhx9+mJdeeomHHnqI3r17c/nll7Nw4ULuvPNOvvnmG2rXrs3s2bOpX79+9POYO3cuDzzwAPXr16ewsJDu3bvz9NNPU6NGDd58881yP8+yn/vrr78ePd7s2bO599572bNnDx06dGD06NHUrl2b119/nbvuuot69epxzjnnhPKzoWEoEdnPRx99xK233srKlSs57rjjePrpp6PrsrKyWLJkCT/60Y94+OGHmTVrFkuWLCE/P5/HHnvsgL6ee+45LrjgAgoKCvjggw/Iy8vjyiuv5K9//SslJSUAjB8/nuuvvx6AwsJC7rnnHlatWsWqVat47rnnmD9/Po8++iiPPPLtH1xLly7lrbfe4p133mHEiBF8+umnjBw5knPPPZeCggLuvvtunnrqKcyMZcuWMWXKFAYMGBCdAbR8+XJefvllFi5cyC9/+Uvq1avH+++/z9lnn83EiRMBuOyyy1i4cCEffPABp59+Os888ww/+MEPuOSSS/jd735HQUEBp5xySjSm3bt3c9VVV/H73/+eDz74gFmzZlG3bt0DPpMFCxbwhz/8gRUrVrBmzRpefvllNm/eXOnnWfq5X3311dG2nTt3MnDgQKZOncqyZcuiyXjnzp0MHjyYv/71ryxevJjPPvvskH4OylKyEJH9nHjiiXTp0gWAa665hvnz50fXXXXVVQC8++67rFixgi5dupCXl8ezzz7L2rUH1qDr0KED48ePZ/jw4Sxbtoz69euTmZnJD3/4Q1599VVWrVpFSUkJubm5ALRo0YLc3Fxq1KjBGWecQY8ePTAzcnNzKSoqivbbp08f6tatS5MmTejevTsLFiw44Njz58/nmmuuAaB169acfPLJfPzxxwB0796d+vXrk52dTYMGDfjxj38MsN9xli9fzrnnnktubi6TJ0/mww8/rPRz++ijj2jWrBkdOnQA4LjjjuOYYw4cvOnYsSPf+973qFmzJv369WP+/PlxP8/Sz73s8Vq0aMFpp50GwIABA5g3bx6rVq2iRYsWtGzZEjOLfgaHS8NQIrKfstMqY5ePPfZYIHJj1/nnn8+UKVP22/a9997jZz/7GRAZy7/kkkuYN28ef/vb3xg4cCA///nPue6667jxxht55JFHaN26NYMGDYruX7t27ej7GjVqRJdr1KjBnj17EooxEYkcZ+DAgUybNo127doxYcIE5s6de1DHqEh5sVf0eZYq/dxTSWcWIrKff//737zzzjtAZBipvDHvzp0783//938UFhYC8M033/Dxxx/TqVMnCgoKKCgo4JJLLmHt2rU0bdqUwYMHc+ONN7JkyRIAOnXqxLp163juuefo16/fQcc4ffp0du7cSXFxMXPnzqVDhw7Ur1+fr7/+OrrNueeey+TJkwH4+OOP+fe//02rVq0SPsbXX39Ns2bNKCkpifYDHHCcUq1atWLjxo0sXLgwun9sgiu1YMECPvnkE/bt28fUqVM555xzKvw8K9OqVSuKioqi+0yaNInzzjuP1q1bU1RUxJo1awAqTEAHS2cWIuksIzMyoSHM/uJo1aoVTz31FNdffz1t2rThlltuOWCb7OxsJkyYQL9+/di1axcADz/8cHRIpNTcuXP53e9+R61atcjMzIxeDwC48sorKSgooFGjRgf9bZx55pl0796dzZs386tf/Yrjjz+e7OxsatasSbt27Rg4cCC33nort9xyC7m5uRxzzDFMmDBhvzOKeB566CE6depEdnY2nTp1iiaIq6++msGDB/PEE0/w4osvRrfPyMhg6tSp3HHHHezYsYO6desya9asAy76d+jQgdtvvz16gfvSSy+lRo0aCX2eserUqcP48eO54oorohe4b775ZmrXrs2YMWO4+OKLqVevHueee265ye1gmbsfdifpJj8/39Pq4Udb14Y/G6rByeH1J2lj5cqVnH766Sk7flFREb1792b58uVJP1bv3r25++676dGjx0HtN3z4cDIzM7n33nuTFFnyzJ07l0cffZRXX3011aGU+7NmZovdPb+87TUMJSJVasuWLZx22mnUrVv3oBOFpI6GoUQkKicnJ+lnFQ0bNow7Hl+Z4cOHhxdMFevWrRvdunVLdRiHRGcWIiISV9KShZnVMbMFZvaBmX1oZv8TtE8ws0/MrCB45QXtZmZPmFmhmS01s/YxfQ0ws9XBa0CyYhYRkfIlcxhqF/BDd99mZrWA+Wb292DdEHd/scz2FwItg1cnYDTQycwaAw8C+YADi81shrv/J4mxi4hIjKSdWXhEafW8WsGrsqlXfYCJwX7vAg3NrBlwATDT3b8MEsRMoFey4hYRkQMl9ZqFmdU0swLgCyK/8N8LVv06GGoaZWalE59PANbF7L4+aKuoveyxbjKzRWa2aNOmTWF/KyIpsfc/WylZ91lor73/2Rr3mDt27OC8885j7969FW6z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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "symptomaticPeriod_mean, symptomaticPeriod_coeffvar = 4.0, 0.4\n", "GAMMA = 1 / gamma_dist(symptomaticPeriod_mean, symptomaticPeriod_coeffvar, N)\n", "\n", "infectiousPeriod = 1/LAMDA + 1/GAMMA\n", "\n", "dist_info([1/LAMDA, 1/GAMMA, 1/LAMDA+1/GAMMA], [\"pre-symptomatic period\", \"(a)symptomatic period\", \"total infectious period\"], plot=True, colors=['darkorange', 'crimson', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected onset-to-hospitalization periods (time in symptomatic state before entering hospitalized state for those with severe cases) and hospitalization-to-discharge periods (time in hospitalized state for those with non-fatal cases). The `eta` and `gamma_H` rates are calculated as the inverse of the expected onset-to-hospitalization periods and hospitalization-to-discharge periods assigned to each individual, respectively." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "onset-to-hospitalization period: mean = 11.00, std = 4.94, 95% CI = (3.54, 22.54)\n", "\n", "hospitalization-to-discharge period: mean = 10.94, std = 4.96, 95% CI = (3.61, 22.57)\n", "\n", "onset-to-discharge period: mean = 21.94, std = 7.02, 95% CI = (10.54, 37.75)\n", "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "onsetToHospitalizationPeriod_mean, onsetToHospitalizationPeriod_coeffvar = 11.0, 0.45\n", "ETA = 1 / gamma_dist(onsetToHospitalizationPeriod_mean, onsetToHospitalizationPeriod_coeffvar, N)\n", "\n", "hospitalizationToDischargePeriod_mean, hospitalizationToDischargePeriod_coeffvar = 11.0, 0.45\n", "GAMMA_H = 1 / gamma_dist(hospitalizationToDischargePeriod_mean, hospitalizationToDischargePeriod_coeffvar, N)\n", "\n", "dist_info([1/ETA, 1/GAMMA_H, 1/ETA+1/GAMMA_H], [\"onset-to-hospitalization period\", \"hospitalization-to-discharge period\", \"onset-to-discharge period\"], plot=True, colors=['crimson', 'violet', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of hospitalization-to-death periods (time in hospitalized state for those with fatal cases). The `mu_H` rates are calculated as the inverse of the expected hospitalization-to-death periods." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "onset-to-hospitalization period: mean = 11.00, std = 4.94, 95% CI = (3.54, 22.54)\n", "\n", "hospitalization-to-death period: mean = 6.99, std = 3.16, 95% CI = (2.22, 14.45)\n", "\n", "onset-to-death period: mean = 18.00, std = 5.87, 95% CI = (8.46, 31.15)\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAD4CAYAAAAdIcpQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAt8ElEQVR4nO3deXhU9d3//+ebRVBjxSL2KyIltKwCAoYgbhBcoGJFUKzcakFUbloR9b6rWOtWir1Q+SmFq1+9QQXs3SKKsoj+6goiIIQtBQEX0FiRRUBFAQNZ3t8/5mQckplMEmYyWV6P65orM59z5pzPmQTe89nex9wdERGRstRLdQVERKT6U7AQEZG4FCxERCQuBQsREYlLwUJEROJqkOoKJMPJJ5/srVq1SnU1RERqlDVr1uxx92bRttXKYNGqVStWr16d6mqIiNQoZvZZrG3qhhIRkbgULEREJC4FCxERiatWjlmIVER+fj7btm0jLy8v1VURqRKNGzemRYsWNGzYsNzvUbCQOm/btm2ccMIJtGrVCjNLdXVEksrd2bt3L9u2bSM9Pb3c71M3lNR5eXl5NG3aVIFC6gQzo2nTphVuSSctWJjZM2b2pZm9H2Xbf5uZm9nJwWszs8lmtsXM1ptZ94h9h5nZx8FjWLLqK3WbAoXUJZX5e09my2IG0L9koZmdDlwC/Dui+BdAm+AxEngi2PfHwANATyATeMDMTkpinUVEJIqkBQt3XwJ8FWXT48BdQOSNNAYCz3rICqCJmZ0K9APecPev3P1r4A2iBCCRRCr8eh/5n+9M2KPw630pvZ6cnBxeffXVmNsnTZrEwYMHK3TMxYsXc9lllx1t1WJavXo1Y8aMCZ9r+fLlcd8zY8YMRo8eDcCTTz7Js88+W+HzljxXZY+TDPfffz9vvvlmufdP9O+oSge4zWwg8IW7/6tEM+g04POI19uCsljl0Y49klCrhJYtWyaw1lXn0KFDFBQUlCpv0KABjRo1SkGN6qai/d/zzaS/Jex4TW6/nvonnZiw41VUTk4Oq1ev5tJLL426fdKkSVx33XUcd9xxVVyz2DIyMsjIyABC/+mlpaVxzjnnlPv9o0aNqtR5S56rssdJtMLCQsaNG5fSOlTZALeZHQfcA9yfjOO7+1R3z3D3jGbNoqY2qfYKCgrYvHlzqUe0ACK1y2OPPUanTp3o1KkTkyZNAiA3N5cOHTpw8803c8YZZ3DJJZfw/fffAzB58mQ6duxIly5duOaaawA4cOAAI0aMIDMzk27dujF//nwOHz7M/fffz+zZs+natSuzZ88+4ryTJ09m+/btZGVlkZWVBcCsWbPo3LkznTp1YuzYsTHrvH//fq666irat2/PtddeS/FdN9966y26detG586dGTFiBIcOHQLg7rvvDtf5d7/7HQDDhw9n1KhRZGRk0LZtWxYuXAj88K04NzeXJ598kscff5yuXbvy7rvv8vLLL9OzZ0+6devGRRddxK5du0rV7cEHH2TixIls376drl27hh/169fns88+i3qMaOcqPg6Egu7ZZ59Nly5dGDRoEF9//TUAffr0YezYsWRmZtK2bVvefffdUvVZvHgxF1xwAQMGDKBdu3aMGjWKoqIiAF5//XV69epF9+7dGTJkCPv37wdCaYvGjh1L9+7deeGFFxg+fDhz5swp8zP+5z//Sfv27enevTsvvfRSzN9dZVTlbKifAenAv8wsF2gBrDWz/wN8AZwesW+LoCxWuUitsWbNGqZPn87KlStZsWIF06ZNY926dQB8/PHH3HLLLWzcuJEmTZrw4osvAjBhwgTWrVvH+vXrefLJJwF46KGH6Nu3L9nZ2SxatIg777yT/Px8xo0bx69+9StycnL41a9+dcS5x4wZQ/PmzVm0aBGLFi1i+/btjB07lrfffpucnBxWrVrFvHnzotZ73bp1TJo0iU2bNvHJJ5+wbNky8vLyGD58OLNnz2bDhg0UFBTwxBNPsHfvXubOncvGjRtZv3499957b/g4ubm5ZGdn88orrzBq1KgjZum0atWKUaNGcccdd5CTk8P555/Peeedx4oVK1i3bh3XXHMNjzzySMzPtnnz5uTk5JCTk8PNN9/MlVdeyU9/+tOox4h2rki//vWvefjhh1m/fj2dO3fmj3/8Y3hbQUEB2dnZTJo06YjySNnZ2UyZMoVNmzaxdetWXnrpJfbs2cP48eN58803Wbt2LRkZGTz22GPh9zRt2pS1a9eGvxAAMT/jvLw8br75Zl5++WXWrFnDzp07Y34ulVFlwcLdN7j7Ke7eyt1bEepS6u7uO4EFwK+DWVFnA/vcfQfwGnCJmZ0UDGxfEpSJ1BpLly5l0KBBHH/88aSlpTF48ODwt9P09HS6du0KwFlnnUVubi4AXbp04dprr+V///d/adAg1Jv8+uuvM2HCBLp27UqfPn3Iy8vj3//+d7RTxrRq1Sr69OlDs2bNaNCgAddeey1LliyJum9mZiYtWrSgXr16dO3aldzcXD788EPS09Np27YtAMOGDWPJkiWceOKJNG7cmBtvvJGXXnrpiC6vq6++mnr16tGmTRtat27NBx98UGYdt23bRr9+/ejcuTOPPvooGzdujHtdy5YtY9q0aTzzzDOVOsa+ffv45ptv6N279xHXVWzw4MHAkb+jkjIzM2ndujX169dn6NChLF26lBUrVrBp0ybOPfdcunbtysyZM/nssx9y+ZUM7kDMz/iDDz4gPT2dNm3aYGZcd911cT+Xikjm1NlZwHtAOzPbZmY3lrH7q8AnwBZgGvBbAHf/CvgTsCp4jAvKROqEyLGq+vXrh7skX3nlFW655RbWrl1Ljx49KCgowN158cUXw9+k//3vf9OhQ4dSx+zXrx9du3blpptuKnc9Vq5cGe7KWbBgQZl1i6ZBgwZkZ2dz1VVXsXDhQvr3/2GeSslpnPGmdd56662MHj2aDRs28D//8z9x1wvs2LGDG2+8keeff560tLRKHSOe4s+irM8h2nW6OxdffHH4d7Zp0yaefvrp8D7HH3/8UdUrkZI5G2qou5/q7g3dvYW7P11ieyt33xM8d3e/xd1/5u6d3X11xH7PuPvPg8f0ZNVXJFXOP/985s2bx8GDBzlw4ABz584t1QUSqaioiM8//5ysrCwefvhh9u3bx/79++nXrx9TpkwJjx0Ud2WdcMIJfPfdd+H3v/baa+Tk5PDUU0+V2p6Zmck777zDnj17KCwsZNasWfTu3ZuePXuG/0O7/PLLY9atXbt25ObmsmXLFgD+9re/0bt3b/bv38++ffu49NJLefzxx/nXv/4Vfs8LL7xAUVERW7du5ZNPPqFdu3ZHHLNk/fft28dpp4XmucycObPMzzY/P58hQ4bw8MMPh7+Jl3WMkucqduKJJ3LSSSeFW3zF11UR2dnZfPrppxQVFTF79mzOO+88zj77bJYtWxb+vA4cOMBHH31U5nFifcbt27cnNzeXrVu3AqGxp0RSug+REuqlHUuT269P6PHK0r17d4YPH05mZiYAN910E926dYvZnVFYWMh1113Hvn37cHfGjBlDkyZNuO+++7j99tvp0qULRUVFpKens3DhQrKyssLdU7///e9LdW2MHDmS/v37h8cuJkyYQFZWFu7OgAEDGDhwYLmvtXHjxkyfPp0hQ4ZQUFBAjx49GDVqFF999RUDBw4kLy8Pdz+iX75ly5ZkZmby7bff8uSTT9K4ceMjjvnLX/6Sq666ivnz5zNlyhQefPBBhgwZwkknnUTfvn359NNPY9Zn+fLlrF69mgceeIAHHngAgFdffTXmMUqeK9LMmTMZNWoUBw8epHXr1kyfXrHvrj169GD06NFs2bKFrKwsBg0aRL169ZgxYwZDhw4ND1KPHz/+iMBW3s+4UaNGTJ06lQEDBnDcccdx/vnnRw18lWXF30Jqk4yMDK+JNz86cOAAmzdvLlXeoUOHatUcrW02b94ctbtGkm/48OFcdtllXHXVVamuSlItXryYiRMnhmd7VQfR/u7NbI27Z0TbX7mhREQkLnVDiUjKzJgxI9VVqBJ9+vShT58+qa7GUVHLQkRE4lKwEBGRuBQsREQkLgULERGJS8Gihjhw4ECpR/G8bEmsQ4cORf28K/uI93vKzc2lU6dOSbue7du3h6emxktXXiwyvfWCBQuYMGFChc9b8lyVPU408+bNY9OmTUd1jMiU5hVV8toiEw4mU2U+w+JV60dLs6FqgMLCwqirOjt06KDU5UlQnP03UVL9e2revHk4W2m8dOXRXH755WWu2o6l5Lkqe5xo5s2bx2WXXUbHjh0TcryKqszneLQKCgoS+hlWlFoWItVAYWFh1FTksdJiR0tR/uCDD3L99dfTq1cv2rRpw7Rp04AfWi7R0pVnZ2fTq1cvunXrxjnnnMOHH35Yqm6R38Aj030fe+yxvPPOO1GPEe1ckcfJzc2lb9++dOnShQsvvDCc8HD48OGMGTOGc845h9atW4eDXKTly5ezYMEC7rzzTrp27crWrVtjfk4lTZ8+nbZt25KZmcmyZcvC5bt37+bKK6+kR48e9OjRI7ytvNcGsGnTJvr06UPr1q2ZPHly1POnpaVxxx13cMYZZ3DhhReye/duALZu3Ur//v0566yzOP/888PJFItTuPfs2ZO77rqrXJ/hp59+Sq9evejcufMR2X2PloKFSDUQKxV5rLTY0VKUA6xfv563336b9957j3HjxrF9+/bwtmOOOaZUuvL27dvz7rvvsm7dOsaNG8c999xTZj2L80P96U9/IiMjg3POOSfqMaKdK9Ktt97KsGHDWL9+Pddee234rngQSvy3dOlSFi5cyN13312qDueccw6XX345jz76KDk5OfzsZz8rM3145HEfeOABli1bxtKlS4/oxrrtttu44447WLVqFS+++GI4yWJFru2DDz7gtddeIzs7mz/+8Y/k5+eXqsOBAwfIyMhg48aN9O7dO1zPkSNHMmXKFNasWcPEiRP57W9/G37Ptm3bWL58+REpUsr6DG+77TZ+85vfsGHDBk499dQyf58VoW4okWogWiryaGmxhwwZAvyQovyKK67giiuuCB9n4MCBHHvssRx77LFkZWWRnZ0dPm40+/btY9iwYXz88ceYWdT/4Er6+OOPufPOO1m0aBENGzZk586dFT7Ge++9F745z/XXX89dd90V3nbFFVdQr149OnbsGPXGRtGuIdbnFGnlypXh9OsQSv9d3L375ptvHhE8vv3223Dyw/Je24ABA2jUqBGNGjXilFNOYdeuXbRo0eKIferVqxcOLtdddx2DBw9m//79LF++/Ig6R45zDRkyhPr165c6X6zPcNmyZeEvG9dff32ZN7CqCAULkWqgZLrv4m6oWF555RWWLFnCyy+/zEMPPcSGDRuAiqf7vu+++8jKymLu3Lnk5ubGXWW8f/9+rr76aqZNmxb+1lrRY8QT+VkU5677wx/+wCuvvAKEWjflUVhYyFlnnQWExku6d+8ec9+ioiJWrFhRKonh6NGjy31tFUnZXszMKCoqokmTJjGvqzJ54eL93itD3VAi1VSstNixUpQDzJ8/n7y8PPbu3cvixYvp0aPHEccsK913eVJvjBgxghtuuOGIFOqxjhEr3TeEupKee+45AP7+97+XmZIdQncBLO4CK3nsWJ9T/fr1w+8ZN24cPXv25J133mHv3r3k5+fzwgsvhI9/ySWXHJFltvg8lbm2shQVFYXHYf7xj39w3nnn8aMf/Yj09PRwfdz9iBTuscT6DM8999wjyhNFLYsUOHToUNRvHcX35JXUatCgQUKz0Bbfya4yoqXFjpWiHELdU1lZWezZs4f77ruP5s2bH5HqvGS68rvuuothw4Yxfvx4BgwYUGZdPvvsM+bMmcNHH30UvuPcU089FfMYJc8VacqUKdxwww08+uijNGvWrMLpvq+55hpuvvlmJk+ezJw5c8qVPvzUU0/lwQcfpFevXjRp0uSI7rnJkydzyy230KVLFwoKCrjg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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "hospitalizationToDeathPeriod_mean, hospitalizationToDeathPeriod_coeffvar = 7.0, 0.45\n", "MU_H = 1 / gamma_dist(hospitalizationToDeathPeriod_mean, hospitalizationToDeathPeriod_coeffvar, N)\n", "\n", "dist_info([1/ETA, 1/MU_H, 1/ETA+1/MU_H], [\"onset-to-hospitalization period\", \"hospitalization-to-death period\", \"onset-to-death period\"], plot=True, colors=['crimson', 'darkgray', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set severity parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Specify the percentage of cases that are asymptomatic. This percentage of case will progress from the pre-symptomatic state to the asymptomatic state, rather than to the symptomatic state." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "PCT_ASYMPTOMATIC = 0.25" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we age-stratify our definition of asymptomatic rate by setting the percent of asymptomatic cases for children to be 80% while the rest of the adult population remains set at 25%.\n", "\n", "The `individual_ageGroups` variable is returned by the [`generate_demographic_contact_network()` function](https://github.com/ryansmcgee/seirsplus/wiki/Network-generation#demographic-community-network) and holds a list of the age group labels assigned to each individual. This is useful for assigning parameters in an age-group-dependent way as we do for the following severity parameters." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "PCT_ASYMPTOMATIC = [0.8 if age in ['0-9', '10-19'] else PCT_ASYMPTOMATIC for age in individual_ageGroups]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify age-stratified case hospitalization rates using rates taken from [Verity et al. (2020)](https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30243-7/fulltext)." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "ageGroup_pctHospitalized = {'0-9': 0.0000,\n", " '10-19': 0.0004,\n", " '20-29': 0.0104,\n", " '30-39': 0.0343,\n", " '40-49': 0.0425,\n", " '50-59': 0.0816,\n", " '60-69': 0.118,\n", " '70-79': 0.166,\n", " '80+': 0.184 }\n", "PCT_HOSPITALIZED = [ageGroup_pctHospitalized[ageGroup] for ageGroup in individual_ageGroups]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify fatality rates for hospitalized cases, again using rates taken from [Verity et al. (2020)](https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30243-7/fulltext)." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "ageGroup_hospitalFatalityRate = {'0-9': 0.0000,\n", " '10-19': 0.3627,\n", " '20-29': 0.0577,\n", " '30-39': 0.0426,\n", " '40-49': 0.0694,\n", " '50-59': 0.1532,\n", " '60-69': 0.3381,\n", " '70-79': 0.5187,\n", " '80+': 0.7283 }\n", "PCT_FATALITY = [ageGroup_hospitalFatalityRate[ageGroup] for ageGroup in individual_ageGroups]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set transmission parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [Extended SEIRS Network Model](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#stochastic-network-model-implementation) model considers two modes of disease transmission: a well-mixed mode of [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission) and a contact network based mode of [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission). The propensity for a given individual to become exposed due to global transmission depends on the mean transmissibility of all infectious individuals in the population; the propensity for a given individual to become exposed due to local transmission depends on the pairwise transmissibilities between the focal node and its infectious contacts in the network (see [Transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#transmission) and [Model Equations](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#model-equations) for more information about these calculations). " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The transmissibility parameter *β* can be related to the basic reproduction number *R0* (i.e., the expected number of new infections generated by a single infectious individual in a completely susceptible population) by the standard formula: *β = R0𝛾*. *R0* is a more interpretable parameter, so we specify transmissibility in terms of *R0* and then calculate the corresponding *β* values.\n", "\n", "First, we generate a distribution of individual *R0* values (i.e., the expected number of new infections generated by a single *particular* infectious individual in a completely susceptible population). Of course, this means that transmissibility is heterogeneous in this population. The coefficient of variation is an important parameter for the individual *R0* distribution in that it tunes the degree of superspreading in the heterogeneous transmissibility. The distribution used in this example has a relatively low coefficient of variation, so most individuals have around the same degree of transmissibility. But a higher coefficient of variation (e.g., 2.0) would give a long right tail in idividual transmissibility representing a small number of individuals contributing many cases while the majority cases contribute less than 1 on average when they are infectious." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Individual R0: mean = 2.50, std = 0.50, 95% CI = (1.61, 3.58)\n", "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "R0_mean = 2.5\n", "R0_coeffvar = 0.2\n", "\n", "R0 = gamma_dist(R0_mean, R0_coeffvar, N)\n", "\n", "dist_info(R0, \"Individual R0\", bin_size=0.1, plot=True, colors='crimson')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Individuals are ultimately assigned an [*Individual Transmissibility Value*](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#transmissibility-parameters) (*βi*), which are stored in the `beta` attribute of the model object. \n", "\n", "The means of the Individual Transmissibility Values for infectious subpopulations are used to calculate the [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission) terms. Individual Transmissibility Values may also be used to generate the Pairwise Transmissibility Values used for [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission) terms, as we will specify in a few steps." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "BETA = 1/infectiousPeriod * R0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Individuals can be assigned different Individual Transmissibility Values for use when they are asymptomatic and quarantine states. \n", "\n", "Here we set the transmissibility of quarantined individuals such that the mean effective reproduction number for quarantined individuals is about 0.3. This supposes that individuals have different behavior, hygiene, etc. when they are quarantining relative to baseline." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "BETA_Q = BETA * (0.3/R0_mean)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we specify how we would like the [*Pairwise Transmissibility Values*](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#transmissibility-parameters) (*βi*), which define the local transmissibility for each pair of close contacts, to be calculated. There are [multiple ways to specify these pairwise transmissibilities](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#pairwise-transmissibility-values) (such as providing a matrix), but here we will set the `beta_pairwise_mode` argument of the `ExtSEIRSNetworkModel` constructor to `'infected'`, which will direct the model to automatically generate a matrix of Pairwise Transmissibility Values such that the transmissibility of each infectious-susceptible interaction is equal to the infected individual's transmissiblity." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "BETA_PAIRWISE_MODE = 'infected'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we designate that we would like the model to automatically calculate [Connectivity Correction Factors](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#connectivity-correction-factor) for each pair of interacting close contacts. This pairwise factor is optional, but it can be used to weight the transmissibility of interactions according to the connectivity of the interacting individuals. Here we choose to weight interactions according to a ratio of the pair's mean degree to the population's mean degree (see [Specifying connectivity Correction Factors](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#connectivity-correction-factors) for more information). \n", "\n", "Using this definition, when two individuals whose average degree is an order of magnitude greater than the average degree of the population overall, then the propensity of exposure in their interaction is weighted to be twice that of two averagely-connected individuals. " ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "DELTA_PAIRWISE_MODE = 'mean'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we set individual susceptibilities (default susceptibility is 1). \n", "\n", "In particular, we specify that children are half as susceptible as adults." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "ALPHA = [0.5 if age in ['0-9', '10-19'] else 1.0 for age in individual_ageGroups]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the stochastic network model, an individual comes into contact with a random individual from the population at large (e.g., in a public space) with probability *p* or with an individual from their set of close contacts with probability *(1-p)*. Transmission that occurs between an individual and the population at large is referred to as [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission), and transmission between an individual and one of their close contacts (network neighbors) is referred to as [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission). The parameter *p* defines the locality of the network: for *p=0* an individual only interacts with their close contacts, while *p=1* represents a uniformly mixed population.\n", "\n", "Here we set *p* to reflect 20% of interactions being with incidental or casual contacts outside their set of close contacts." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "P_GLOBALINTXN = 0.2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The parameter *q* (down)weights the rate of interactions with the population at large while one is in quarantine relative to baseline.\n", "\n", "Here we set *q* to 0.05, which supposes that global interactions are quite rare (but nonzero) for quarantined individuals." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "Q_GLOBALINTXN = 0.05" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set Testing, Tracing, & Isolation (TTI) intervention protocol parameters:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify the parameters that govern the Testing, Tracing, and Isolation protocol that is implemented by the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop). The implementation of this TTI protocol and the interpretation of these parameters is desribed in detail on the [TTI Simulation Loop wiki page](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop) (but these parameters are briefly explained as code comments below)." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "INTERVENTION_START_PCT_INFECTED = 1/100\n", "AVERAGE_INTRODUCTIONS_PER_DAY = 0\n", "\n", "TESTING_CADENCE = 'everyday' # how often to do tracing testing and random testing\n", "PCT_TESTED_PER_DAY = 1/10 # max daily test allotment defined as a percent of population size\n", "TEST_FALSENEG_RATE = 'temporal' # test false negative rate, will use FN rate that varies with disease time\n", "MAX_PCT_TESTS_FOR_SYMPTOMATICS = 1.0 # max percent of daily test allotment to use on self-reporting symptomatics\n", "MAX_PCT_TESTS_FOR_TRACES = 1.0 # max percent of daily test allotment to use on contact traces\n", "RANDOM_TESTING_DEGREE_BIAS = 0 # magnitude of degree bias in random selections for testing, none here\n", "\n", "PCT_CONTACTS_TO_TRACE = 0.5 # percentage of primary cases' contacts that are traced\n", "TRACING_LAG = 2 # number of cadence testing days between primary tests and tracing tests\n", "\n", "ISOLATION_LAG_SYMPTOMATIC = 1 # number of days between onset of symptoms and self-isolation of symptomatics\n", "ISOLATION_LAG_POSITIVE = 2 # test turn-around time (TAT): number of days between administration of test and isolation of positive cases\n", "ISOLATION_LAG_CONTACT = 0 # number of days between a contact being traced and that contact self-isolating\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set intervention compliance parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we specify the compliance rates (i.e., the percentage of individuals who are compliant) for each intervention type. See the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop) documentation for more information about compliance." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "TESTING_COMPLIANCE_RATE_SYMPTOMATIC = 0.5\n", "TESTING_COMPLIANCE_RATE_TRACED = 1.0\n", "TESTING_COMPLIANCE_RATE_RANDOM = 0.8\n", "\n", "TRACING_COMPLIANCE_RATE = 0.8\n", "\n", "ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_INDIVIDUAL = 0.3\n", "ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_GROUPMATE = 0.0\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_INDIVIDUAL = 0.8\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_GROUPMATE = 0.8\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACT = 0.8\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACTGROUPMATE = 0.0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we randomly assign a `True/False` compliance to each individual according to the rates set above. Individuals whose compliance is set to `True` for a given intervention will participate in that intervention, individuals set to `False` will not." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "TESTING_COMPLIANCE_RANDOM = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_RANDOM)\n", "TESTING_COMPLIANCE_TRACED = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_TRACED)\n", "TESTING_COMPLIANCE_SYMPTOMATIC = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_SYMPTOMATIC)\n", "\n", "TRACING_COMPLIANCE = (numpy.random.rand(N) < TRACING_COMPLIANCE_RATE)\n", "\n", "ISOLATION_COMPLIANCE_SYMPTOMATIC_INDIVIDUAL = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_INDIVIDUAL)\n", "ISOLATION_COMPLIANCE_SYMPTOMATIC_GROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_GROUPMATE)\n", "ISOLATION_COMPLIANCE_POSITIVE_INDIVIDUAL = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_INDIVIDUAL)\n", "ISOLATION_COMPLIANCE_POSITIVE_GROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_GROUPMATE)\n", "ISOLATION_COMPLIANCE_POSITIVE_CONTACT = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACT)\n", "ISOLATION_COMPLIANCE_POSITIVE_CONTACTGROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACTGROUPMATE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initializing the model" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:2965: RuntimeWarning: divide by zero encountered in log\n", " self.delta = numpy.log(self.degree)/numpy.log(numpy.mean(self.degree)) if self.parameters['delta'] is None else numpy.array(self.parameters['delta']) if isinstance(self.parameters['delta'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta'], shape=(self.numNodes,1))\n", "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:2966: RuntimeWarning: divide by zero encountered in log\n", " self.delta_Q = numpy.log(self.degree_Q)/numpy.log(numpy.mean(self.degree_Q)) if self.parameters['delta_Q'] is None else numpy.array(self.parameters['delta_Q']) if isinstance(self.parameters['delta_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta_Q'], shape=(self.numNodes,1))\n" ] } ], "source": [ "model = ExtSEIRSNetworkModel(G=G_baseline, p=P_GLOBALINTXN,\n", " beta=BETA, sigma=SIGMA, lamda=LAMDA, gamma=GAMMA, \n", " gamma_asym=GAMMA, eta=ETA, gamma_H=GAMMA_H, mu_H=MU_H, \n", " a=PCT_ASYMPTOMATIC, h=PCT_HOSPITALIZED, f=PCT_FATALITY, \n", " alpha=ALPHA, beta_pairwise_mode=BETA_PAIRWISE_MODE, delta_pairwise_mode=DELTA_PAIRWISE_MODE,\n", " G_Q=G_quarantine, q=0, beta_Q=BETA_Q, isolation_time=14,\n", " initE=INIT_EXPOSED)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running the model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set the max simulation time to 300 days." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "T = 300" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Execute the TTI simulation scenario by calling the `run_tti_sim()` function, which runs a custom simulation loop that implements the [TTI Simulation Protocol](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop)." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 0.08 (100 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 1.00 (106 (1.06%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 4 positive (0.40 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (9 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 2.00 (121 (1.21%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 6 positive (0.60 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (19 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 3.01 (141 (1.41%) infected)]\n", "\t5\ttested due to symptoms [+ 5 positive (100.00 %) +]\n", "\t17\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t978\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (13 as groupmates of positive)\n", "\t17\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t35 entered isolation\n", "[INTERVENTIONS @ t = 4.01 (159 (1.59%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t27\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t971\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (6 as groupmates of positive)\n", "\t23\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t53 entered isolation\n", "[INTERVENTIONS @ t = 5.01 (177 (1.77%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t88\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t911\ttested randomly [+ 7 positive (0.77 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (13 as groupmates of positive)\n", "\t74\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t97 entered isolation\n", "[INTERVENTIONS @ t = 6.02 (185 (1.85%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t9\ttested as traces [+ 1 positive (11.11 %) +]\n", "\t988\ttested randomly [+ 6 positive (0.61 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (13 as groupmates of positive)\n", "\t9\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 7.01 (188 (1.88%) infected)]\n", "\t5\ttested due to symptoms [+ 3 positive (60.00 %) +]\n", "\t66\ttested as traces [+ 3 positive (4.55 %) +]\n", "\t929\ttested randomly [+ 8 positive (0.86 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (23 as groupmates of positive)\n", "\t44\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t70 entered isolation\n", "[INTERVENTIONS @ t = 8.03 (202 (2.02%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t59\ttested as traces [+ 1 positive (1.69 %) +]\n", "\t936\ttested randomly [+ 7 positive (0.75 %) +]\n", "\t1000\ttested TOTAL [+ 12 positive (1.20 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t12\twill isolate due to positive test (17 as groupmates of positive)\n", "\t49\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t77 entered isolation\n", "[INTERVENTIONS @ t = 9.01 (204 (2.04%) infected)]\n", "\t7\ttested due to symptoms [+ 5 positive (71.43 %) +]\n", "\t78\ttested as traces [+ 1 positive (1.28 %) +]\n", "\t915\ttested randomly [+ 9 positive (0.98 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (27 as groupmates of positive)\n", "\t64\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t105 entered isolation\n", "[INTERVENTIONS @ t = 10.00 (211 (2.11%) infected)]\n", "\t9\ttested due to symptoms [+ 8 positive (88.89 %) +]\n", "\t92\ttested as traces [+ 6 positive (6.52 %) +]\n", "\t899\ttested randomly [+ 7 positive (0.78 %) +]\n", "\t1000\ttested TOTAL [+ 21 positive (2.10 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t21\twill isolate due to positive test (32 as groupmates of positive)\n", "\t77\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t113 entered isolation\n", "[INTERVENTIONS @ t = 11.00 (227 (2.27%) infected)]\n", "\t7\ttested due to symptoms [+ 5 positive (71.43 %) +]\n", "\t35\ttested as traces [+ 2 positive (5.71 %) +]\n", "\t958\ttested randomly [+ 8 positive (0.84 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (28 as groupmates of positive)\n", "\t35\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 12.01 (236 (2.36%) infected)]\n", "\t7\ttested due to symptoms [+ 5 positive (71.43 %) +]\n", "\t99\ttested as traces [+ 7 positive (7.07 %) +]\n", "\t894\ttested randomly [+ 8 positive (0.89 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (40 as groupmates of positive)\n", "\t86\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t143 entered isolation\n", "[INTERVENTIONS @ t = 13.00 (244 (2.44%) infected)]\n", "\t6\ttested due to symptoms [+ 4 positive (66.67 %) +]\n", "\t97\ttested as traces [+ 6 positive (6.19 %) +]\n", "\t897\ttested randomly [+ 8 positive (0.89 %) +]\n", "\t1000\ttested TOTAL [+ 18 positive (1.80 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t18\twill isolate due to positive test (44 as groupmates of positive)\n", "\t87\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t131 entered isolation\n", "[INTERVENTIONS @ t = 14.00 (244 (2.44%) infected)]\n", "\t4\ttested due to symptoms [+ 4 positive (100.00 %) +]\n", "\t143\ttested as traces [+ 3 positive (2.10 %) +]\n", "\t853\ttested randomly [+ 6 positive (0.70 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (21 as groupmates of positive)\n", "\t130\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t196 entered isolation\n", "[INTERVENTIONS @ t = 15.00 (250 (2.50%) infected)]\n", "\t5\ttested due to symptoms [+ 5 positive (100.00 %) +]\n", "\t117\ttested as traces [+ 5 positive (4.27 %) +]\n", "\t878\ttested randomly [+ 5 positive (0.57 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (27 as groupmates of positive)\n", "\t104\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t166 entered isolation\n", "[INTERVENTIONS @ t = 16.01 (265 (2.65%) infected)]\n", "\t11\ttested due to symptoms [+ 9 positive (81.82 %) +]\n", "\t86\ttested as traces [+ 2 positive (2.33 %) +]\n", "\t903\ttested randomly [+ 6 positive (0.66 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (28 as groupmates of positive)\n", "\t72\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t112 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 17.01 (272 (2.72%) infected)]\n", "\t7\ttested due to symptoms [+ 6 positive (85.71 %) +]\n", "\t66\ttested as traces [+ 4 positive (6.06 %) +]\n", "\t927\ttested randomly [+ 6 positive (0.65 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (29 as groupmates of positive)\n", "\t63\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t109 entered isolation\n", "[INTERVENTIONS @ t = 18.01 (269 (2.69%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t64\ttested as traces [+ 4 positive (6.25 %) +]\n", "\t934\ttested randomly [+ 8 positive (0.86 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (24 as groupmates of positive)\n", "\t47\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t97 entered isolation\n", "[INTERVENTIONS @ t = 19.01 (285 (2.85%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t83\ttested as traces [+ 4 positive (4.82 %) +]\n", "\t913\ttested randomly [+ 9 positive (0.99 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (37 as groupmates of positive)\n", "\t69\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t121 entered isolation\n", "[INTERVENTIONS @ t = 20.00 (293 (2.93%) infected)]\n", "\t10\ttested due to symptoms [+ 8 positive (80.00 %) +]\n", "\t153\ttested as traces [+ 6 positive (3.92 %) +]\n", "\t837\ttested randomly [+ 6 positive (0.72 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (41 as groupmates of positive)\n", "\t135\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t177 entered isolation\n", "[INTERVENTIONS @ t = 21.00 (309 (3.09%) infected)]\n", "\t8\ttested due to symptoms [+ 6 positive (75.00 %) +]\n", "\t82\ttested as traces [+ 3 positive (3.66 %) +]\n", "\t910\ttested randomly [+ 11 positive (1.21 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (35 as groupmates of positive)\n", "\t76\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t135 entered isolation\n", "[INTERVENTIONS @ t = 22.01 (309 (3.09%) infected)]\n", "\t9\ttested due to symptoms [+ 8 positive (88.89 %) +]\n", "\t150\ttested as traces [+ 6 positive (4.00 %) +]\n", "\t841\ttested randomly [+ 12 positive (1.43 %) +]\n", "\t1000\ttested TOTAL [+ 26 positive (2.60 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t26\twill isolate due to positive test (50 as groupmates of positive)\n", "\t133\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t200 entered isolation\n", "[INTERVENTIONS @ t = 23.02 (300 (3.00%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t98\ttested as traces [+ 6 positive (6.12 %) +]\n", "\t897\ttested randomly [+ 7 positive (0.78 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (41 as groupmates of positive)\n", "\t95\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t152 entered isolation\n", "[INTERVENTIONS @ t = 24.01 (308 (3.08%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t153\ttested as traces [+ 4 positive (2.61 %) +]\n", "\t841\ttested randomly [+ 9 positive (1.07 %) +]\n", "\t1000\ttested TOTAL [+ 18 positive (1.80 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t18\twill isolate due to positive test (37 as groupmates of positive)\n", "\t132\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t211 entered isolation\n", "[INTERVENTIONS @ t = 25.00 (325 (3.25%) infected)]\n", "\t11\ttested due to symptoms [+ 10 positive (90.91 %) +]\n", "\t174\ttested as traces [+ 2 positive (1.15 %) +]\n", "\t815\ttested randomly [+ 3 positive (0.37 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (32 as groupmates of positive)\n", "\t147\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t207 entered isolation\n", "[INTERVENTIONS @ t = 26.00 (308 (3.08%) infected)]\n", "\t8\ttested due to symptoms [+ 8 positive (100.00 %) +]\n", "\t132\ttested as traces [+ 2 positive (1.52 %) +]\n", "\t860\ttested randomly [+ 10 positive (1.16 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (37 as groupmates of positive)\n", "\t105\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t162 entered isolation\n", "[INTERVENTIONS @ t = 27.01 (297 (2.97%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t96\ttested as traces [+ 3 positive (3.12 %) +]\n", "\t900\ttested randomly [+ 10 positive (1.11 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (42 as groupmates of positive)\n", "\t88\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t139 entered isolation\n", "[INTERVENTIONS @ t = 28.01 (302 (3.02%) infected)]\n", "\t7\ttested due to symptoms [+ 5 positive (71.43 %) +]\n", "\t71\ttested as traces [+ 1 positive (1.41 %) +]\n", "\t922\ttested randomly [+ 6 positive (0.65 %) +]\n", "\t1000\ttested TOTAL [+ 12 positive (1.20 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t12\twill isolate due to positive test (12 as groupmates of positive)\n", "\t65\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t123 entered isolation\n", "[INTERVENTIONS @ t = 29.01 (290 (2.90%) infected)]\n", "\t8\ttested due to symptoms [+ 6 positive (75.00 %) +]\n", "\t77\ttested as traces [+ 3 positive (3.90 %) +]\n", "\t915\ttested randomly [+ 8 positive (0.87 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t13\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (31 as groupmates of positive)\n", "\t71\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t137 entered isolation\n", "[INTERVENTIONS @ t = 30.02 (289 (2.89%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t53\ttested as traces [+ 2 positive (3.77 %) +]\n", "\t943\ttested randomly [+ 5 positive (0.53 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (18 as groupmates of positive)\n", "\t49\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t83 entered isolation\n", "[INTERVENTIONS @ t = 31.01 (283 (2.83%) infected)]\n", "\t5\ttested due to symptoms [+ 2 positive (40.00 %) +]\n", "\t66\ttested as traces [+ 1 positive (1.52 %) +]\n", "\t929\ttested randomly [+ 12 positive (1.29 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (22 as groupmates of positive)\n", "\t61\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t108 entered isolation\n", "[INTERVENTIONS @ t = 32.01 (275 (2.75%) infected)]\n", "\t12\ttested due to symptoms [+ 10 positive (83.33 %) +]\n", "\t34\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t954\ttested randomly [+ 7 positive (0.73 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (40 as groupmates of positive)\n", "\t33\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t64 entered isolation\n", "[INTERVENTIONS @ t = 33.00 (285 (2.85%) infected)]\n", "\t10\ttested due to symptoms [+ 6 positive (60.00 %) +]\n", "\t45\ttested as traces [+ 1 positive (2.22 %) +]\n", "\t945\ttested randomly [+ 4 positive (0.42 %) +]\n", "\t1000\ttested TOTAL [+ 11 positive (1.10 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11\twill isolate due to positive test (14 as groupmates of positive)\n", "\t49\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t90 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 34.03 (279 (2.79%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t90\ttested as traces [+ 2 positive (2.22 %) +]\n", "\t904\ttested randomly [+ 7 positive (0.77 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t12\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (28 as groupmates of positive)\n", "\t80\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t144 entered isolation\n", "[INTERVENTIONS @ t = 35.01 (277 (2.77%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t74\ttested as traces [+ 7 positive (9.46 %) +]\n", "\t921\ttested randomly [+ 6 positive (0.65 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (36 as groupmates of positive)\n", "\t64\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t98 entered isolation\n", "[INTERVENTIONS @ t = 36.01 (285 (2.85%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t66\ttested as traces [+ 2 positive (3.03 %) +]\n", "\t928\ttested randomly [+ 11 positive (1.19 %) +]\n", "\t1000\ttested TOTAL [+ 18 positive (1.80 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t18\twill isolate due to positive test (28 as groupmates of positive)\n", "\t62\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t109 entered isolation\n", "[INTERVENTIONS @ t = 37.01 (287 (2.87%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t97\ttested as traces [+ 6 positive (6.19 %) +]\n", "\t897\ttested randomly [+ 11 positive (1.23 %) +]\n", "\t1000\ttested TOTAL [+ 22 positive (2.20 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t22\twill isolate due to positive test (28 as groupmates of positive)\n", "\t94\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t153 entered isolation\n", "[INTERVENTIONS @ t = 38.01 (280 (2.80%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t63\ttested as traces [+ 2 positive (3.17 %) +]\n", "\t932\ttested randomly [+ 3 positive (0.32 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (19 as groupmates of positive)\n", "\t59\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t110 entered isolation\n", "[INTERVENTIONS @ t = 39.01 (287 (2.87%) infected)]\n", "\t9\ttested due to symptoms [+ 9 positive (100.00 %) +]\n", "\t137\ttested as traces [+ 3 positive (2.19 %) +]\n", "\t854\ttested randomly [+ 9 positive (1.05 %) +]\n", "\t1000\ttested TOTAL [+ 21 positive (2.10 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t21\twill isolate due to positive test (35 as groupmates of positive)\n", "\t132\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t181 entered isolation\n", "[INTERVENTIONS @ t = 40.01 (289 (2.89%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t37\ttested as traces [+ 1 positive (2.70 %) +]\n", "\t957\ttested randomly [+ 8 positive (0.84 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (30 as groupmates of positive)\n", "\t36\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t70 entered isolation\n", "[INTERVENTIONS @ t = 41.00 (299 (2.99%) infected)]\n", "\t13\ttested due to symptoms [+ 11 positive (84.62 %) +]\n", "\t113\ttested as traces [+ 6 positive (5.31 %) +]\n", "\t874\ttested randomly [+ 3 positive (0.34 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (33 as groupmates of positive)\n", "\t118\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t182 entered isolation\n", "[INTERVENTIONS @ t = 42.00 (289 (2.89%) infected)]\n", "\t9\ttested due to symptoms [+ 7 positive (77.78 %) +]\n", "\t67\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t924\ttested randomly [+ 10 positive (1.08 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (36 as groupmates of positive)\n", "\t66\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t114 entered isolation\n", "[INTERVENTIONS @ t = 43.00 (289 (2.89%) infected)]\n", "\t9\ttested due to symptoms [+ 8 positive (88.89 %) +]\n", "\t110\ttested as traces [+ 4 positive (3.64 %) +]\n", "\t881\ttested randomly [+ 7 positive (0.79 %) +]\n", "\t1000\ttested TOTAL [+ 19 positive (1.90 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t19\twill isolate due to positive test (39 as groupmates of positive)\n", "\t110\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t166 entered isolation\n", "[INTERVENTIONS @ t = 44.02 (282 (2.82%) infected)]\n", "\t9\ttested due to symptoms [+ 6 positive (66.67 %) +]\n", "\t83\ttested as traces [+ 1 positive (1.20 %) +]\n", "\t908\ttested randomly [+ 2 positive (0.22 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (15 as groupmates of positive)\n", "\t67\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t125 entered isolation\n", "[INTERVENTIONS @ t = 45.00 (272 (2.72%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t81\ttested as traces [+ 5 positive (6.17 %) +]\n", "\t916\ttested randomly [+ 14 positive (1.53 %) +]\n", "\t1000\ttested TOTAL [+ 22 positive (2.20 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t22\twill isolate due to positive test (45 as groupmates of positive)\n", "\t82\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t140 entered isolation\n", "[INTERVENTIONS @ t = 46.06 (269 (2.69%) infected)]\n", "\t7\ttested due to symptoms [+ 7 positive (100.00 %) +]\n", "\t39\ttested as traces [+ 1 positive (2.56 %) +]\n", "\t954\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 11 positive (1.10 %) +]\n", "\t12\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11\twill isolate due to positive test (21 as groupmates of positive)\n", "\t41\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t67 entered isolation\n", "[INTERVENTIONS @ t = 47.00 (274 (2.74%) infected)]\n", "\t8\ttested due to symptoms [+ 8 positive (100.00 %) +]\n", "\t192\ttested as traces [+ 3 positive (1.56 %) +]\n", "\t800\ttested randomly [+ 9 positive (1.12 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t12\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (41 as groupmates of positive)\n", "\t172\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t248 entered isolation\n", "[INTERVENTIONS @ t = 48.00 (271 (2.71%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t18\ttested as traces [+ 1 positive (5.56 %) +]\n", "\t978\ttested randomly [+ 7 positive (0.72 %) +]\n", "\t1000\ttested TOTAL [+ 11 positive (1.10 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11\twill isolate due to positive test (27 as groupmates of positive)\n", "\t16\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t56 entered isolation\n", "[INTERVENTIONS @ t = 49.00 (263 (2.63%) infected)]\n", "\t7\ttested due to symptoms [+ 7 positive (100.00 %) +]\n", "\t48\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t945\ttested randomly [+ 10 positive (1.06 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (32 as groupmates of positive)\n", "\t55\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t119 entered isolation\n", "[INTERVENTIONS @ t = 50.02 (260 (2.60%) infected)]\n", "\t7\ttested due to symptoms [+ 6 positive (85.71 %) +]\n", "\t23\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t970\ttested randomly [+ 9 positive (0.93 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (22 as groupmates of positive)\n", "\t24\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t60 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 51.00 (274 (2.74%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t81\ttested as traces [+ 3 positive (3.70 %) +]\n", "\t917\ttested randomly [+ 8 positive (0.87 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (18 as groupmates of positive)\n", "\t89\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t142 entered isolation\n", "[INTERVENTIONS @ t = 52.01 (280 (2.80%) infected)]\n", "\t8\ttested due to symptoms [+ 7 positive (87.50 %) +]\n", "\t126\ttested as traces [+ 9 positive (7.14 %) +]\n", "\t866\ttested randomly [+ 4 positive (0.46 %) +]\n", "\t1000\ttested TOTAL [+ 20 positive (2.00 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t20\twill isolate due to positive test (33 as groupmates of positive)\n", "\t122\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t163 entered isolation\n", "[INTERVENTIONS @ t = 53.00 (283 (2.83%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t48\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t949\ttested randomly [+ 10 positive (1.05 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (22 as groupmates of positive)\n", "\t50\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t89 entered isolation\n", "[INTERVENTIONS @ t = 54.01 (312 (3.12%) infected)]\n", "\t10\ttested due to symptoms [+ 8 positive (80.00 %) +]\n", "\t144\ttested as traces [+ 4 positive (2.78 %) +]\n", "\t846\ttested randomly [+ 11 positive (1.30 %) +]\n", "\t1000\ttested TOTAL [+ 23 positive (2.30 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t23\twill isolate due to positive test (50 as groupmates of positive)\n", "\t140\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t201 entered isolation\n", "[INTERVENTIONS @ t = 55.01 (313 (3.13%) infected)]\n", "\t9\ttested due to symptoms [+ 5 positive (55.56 %) +]\n", "\t31\ttested as traces [+ 1 positive (3.23 %) +]\n", "\t960\ttested randomly [+ 11 positive (1.15 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (40 as groupmates of positive)\n", "\t33\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 56.00 (315 (3.15%) infected)]\n", "\t10\ttested due to symptoms [+ 8 positive (80.00 %) +]\n", "\t132\ttested as traces [+ 3 positive (2.27 %) +]\n", "\t858\ttested randomly [+ 6 positive (0.70 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (35 as groupmates of positive)\n", "\t137\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t213 entered isolation\n", "[INTERVENTIONS @ t = 57.00 (311 (3.11%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t75\ttested as traces [+ 7 positive (9.33 %) +]\n", "\t923\ttested randomly [+ 15 positive (1.63 %) +]\n", "\t1000\ttested TOTAL [+ 24 positive (2.40 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t24\twill isolate due to positive test (41 as groupmates of positive)\n", "\t82\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t146 entered isolation\n", "[INTERVENTIONS @ t = 58.01 (312 (3.12%) infected)]\n", "\t6\ttested due to symptoms [+ 5 positive (83.33 %) +]\n", "\t64\ttested as traces [+ 1 positive (1.56 %) +]\n", "\t930\ttested randomly [+ 10 positive (1.08 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (27 as groupmates of positive)\n", "\t61\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t118 entered isolation\n", "[INTERVENTIONS @ t = 59.00 (329 (3.29%) infected)]\n", "\t15\ttested due to symptoms [+ 13 positive (86.67 %) +]\n", "\t107\ttested as traces [+ 2 positive (1.87 %) +]\n", "\t878\ttested randomly [+ 8 positive (0.91 %) +]\n", "\t1000\ttested TOTAL [+ 23 positive (2.30 %) +]\n", "\t12\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t23\twill isolate due to positive test (40 as groupmates of positive)\n", "\t116\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t187 entered isolation\n", "[INTERVENTIONS @ t = 60.00 (323 (3.23%) infected)]\n", "\t8\ttested due to symptoms [+ 7 positive (87.50 %) +]\n", "\t71\ttested as traces [+ 5 positive (7.04 %) +]\n", "\t921\ttested randomly [+ 9 positive (0.98 %) +]\n", "\t1000\ttested TOTAL [+ 21 positive (2.10 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t21\twill isolate due to positive test (35 as groupmates of positive)\n", "\t75\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t128 entered isolation\n", "[INTERVENTIONS @ t = 61.01 (310 (3.10%) infected)]\n", "\t13\ttested due to symptoms [+ 9 positive (69.23 %) +]\n", "\t128\ttested as traces [+ 8 positive (6.25 %) +]\n", "\t859\ttested randomly [+ 7 positive (0.81 %) +]\n", "\t1000\ttested TOTAL [+ 24 positive (2.40 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t24\twill isolate due to positive test (41 as groupmates of positive)\n", "\t131\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t195 entered isolation\n", "[INTERVENTIONS @ t = 62.00 (304 (3.04%) infected)]\n", "\t11\ttested due to symptoms [+ 10 positive (90.91 %) +]\n", "\t108\ttested as traces [+ 3 positive (2.78 %) +]\n", "\t881\ttested randomly [+ 8 positive (0.91 %) +]\n", "\t1000\ttested TOTAL [+ 21 positive (2.10 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t21\twill isolate due to positive test (36 as groupmates of positive)\n", "\t111\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t169 entered isolation\n", "[INTERVENTIONS @ t = 63.01 (301 (3.01%) infected)]\n", "\t8\ttested due to symptoms [+ 6 positive (75.00 %) +]\n", "\t104\ttested as traces [+ 4 positive (3.85 %) +]\n", "\t888\ttested randomly [+ 6 positive (0.68 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (41 as groupmates of positive)\n", "\t110\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t176 entered isolation\n", "[INTERVENTIONS @ t = 64.01 (308 (3.08%) infected)]\n", "\t9\ttested due to symptoms [+ 8 positive (88.89 %) +]\n", "\t75\ttested as traces [+ 5 positive (6.67 %) +]\n", "\t916\ttested randomly [+ 12 positive (1.31 %) +]\n", "\t1000\ttested TOTAL [+ 25 positive (2.50 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t25\twill isolate due to positive test (56 as groupmates of positive)\n", "\t88\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t147 entered isolation\n", "[INTERVENTIONS @ t = 65.02 (295 (2.95%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t69\ttested as traces [+ 2 positive (2.90 %) +]\n", "\t928\ttested randomly [+ 12 positive (1.29 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (36 as groupmates of positive)\n", "\t74\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t134 entered isolation\n", "[INTERVENTIONS @ t = 66.01 (293 (2.93%) infected)]\n", "\t4\ttested due to symptoms [+ 2 positive (50.00 %) +]\n", "\t95\ttested as traces [+ 2 positive (2.11 %) +]\n", "\t901\ttested randomly [+ 7 positive (0.78 %) +]\n", "\t1000\ttested TOTAL [+ 11 positive (1.10 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11\twill isolate due to positive test (23 as groupmates of positive)\n", "\t93\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t175 entered isolation\n", "[INTERVENTIONS @ t = 67.01 (277 (2.77%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t49\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t948\ttested randomly [+ 11 positive (1.16 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (27 as groupmates of positive)\n", "\t55\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t111 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 68.00 (275 (2.75%) infected)]\n", "\t10\ttested due to symptoms [+ 8 positive (80.00 %) +]\n", "\t44\ttested as traces [+ 2 positive (4.55 %) +]\n", "\t946\ttested randomly [+ 9 positive (0.95 %) +]\n", "\t1000\ttested TOTAL [+ 19 positive (1.90 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t19\twill isolate due to positive test (39 as groupmates of positive)\n", "\t42\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t76 entered isolation\n", "[INTERVENTIONS @ t = 69.01 (269 (2.69%) infected)]\n", "\t6\ttested due to symptoms [+ 6 positive (100.00 %) +]\n", "\t80\ttested as traces [+ 1 positive (1.25 %) +]\n", "\t914\ttested randomly [+ 12 positive (1.31 %) +]\n", "\t1000\ttested TOTAL [+ 19 positive (1.90 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t19\twill isolate due to positive test (34 as groupmates of positive)\n", "\t87\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t125 entered isolation\n", "[INTERVENTIONS @ t = 70.01 (252 (2.52%) infected)]\n", "\t4\ttested due to symptoms [+ 4 positive (100.00 %) +]\n", "\t101\ttested as traces [+ 1 positive (0.99 %) +]\n", "\t895\ttested randomly [+ 7 positive (0.78 %) +]\n", "\t1000\ttested TOTAL [+ 12 positive (1.20 %) +]\n", "\t7\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t12\twill isolate due to positive test (16 as groupmates of positive)\n", "\t103\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t163 entered isolation\n", "[INTERVENTIONS @ t = 71.03 (250 (2.50%) infected)]\n", "\t7\ttested due to symptoms [+ 7 positive (100.00 %) +]\n", "\t84\ttested as traces [+ 4 positive (4.76 %) +]\n", "\t909\ttested randomly [+ 4 positive (0.44 %) +]\n", "\t1000\ttested TOTAL [+ 15 positive (1.50 %) +]\n", "\t9\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t15\twill isolate due to positive test (22 as groupmates of positive)\n", "\t71\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t126 entered isolation\n", "[INTERVENTIONS @ t = 72.02 (250 (2.50%) infected)]\n", "\t8\ttested due to symptoms [+ 5 positive (62.50 %) +]\n", "\t69\ttested as traces [+ 2 positive (2.90 %) +]\n", "\t923\ttested randomly [+ 7 positive (0.76 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (18 as groupmates of positive)\n", "\t70\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t106 entered isolation\n", "[INTERVENTIONS @ t = 73.02 (242 (2.42%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t93\ttested as traces [+ 1 positive (1.08 %) +]\n", "\t902\ttested randomly [+ 11 positive (1.22 %) +]\n", "\t1000\ttested TOTAL [+ 16 positive (1.60 %) +]\n", "\t8\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t16\twill isolate due to positive test (21 as groupmates of positive)\n", "\t111\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t152 entered isolation\n", "[INTERVENTIONS @ t = 74.02 (222 (2.22%) infected)]\n", "\t8\ttested due to symptoms [+ 6 positive (75.00 %) +]\n", "\t65\ttested as traces [+ 1 positive (1.54 %) +]\n", "\t927\ttested randomly [+ 10 positive (1.08 %) +]\n", "\t1000\ttested TOTAL [+ 17 positive (1.70 %) +]\n", "\t10\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t17\twill isolate due to positive test (25 as groupmates of positive)\n", "\t66\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t105 entered isolation\n", "[INTERVENTIONS @ t = 75.00 (217 (2.17%) infected)]\n", "\t10\ttested due to symptoms [+ 9 positive (90.00 %) +]\n", "\t79\ttested as traces [+ 1 positive (1.27 %) +]\n", "\t911\ttested randomly [+ 3 positive (0.33 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (31 as groupmates of positive)\n", "\t92\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t138 entered isolation\n", "[INTERVENTIONS @ t = 76.04 (206 (2.06%) infected)]\n", "\t5\ttested due to symptoms [+ 2 positive (40.00 %) +]\n", "\t73\ttested as traces [+ 5 positive (6.85 %) +]\n", "\t922\ttested randomly [+ 2 positive (0.22 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (22 as groupmates of positive)\n", "\t85\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t129 entered isolation\n", "[INTERVENTIONS @ t = 77.01 (203 (2.03%) infected)]\n", "\t6\ttested due to symptoms [+ 4 positive (66.67 %) +]\n", "\t73\ttested as traces [+ 3 positive (4.11 %) +]\n", "\t921\ttested randomly [+ 11 positive (1.19 %) +]\n", "\t1000\ttested TOTAL [+ 18 positive (1.80 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t18\twill isolate due to positive test (30 as groupmates of positive)\n", "\t77\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t125 entered isolation\n", "[INTERVENTIONS @ t = 78.00 (190 (1.90%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t24\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t974\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (11 as groupmates of positive)\n", "\t37\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t73 entered isolation\n", "[INTERVENTIONS @ t = 79.02 (190 (1.90%) infected)]\n", "\t6\ttested due to symptoms [+ 6 positive (100.00 %) +]\n", "\t90\ttested as traces [+ 4 positive (4.44 %) +]\n", "\t904\ttested randomly [+ 4 positive (0.44 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (18 as groupmates of positive)\n", "\t117\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t168 entered isolation\n", "[INTERVENTIONS @ t = 80.02 (193 (1.93%) infected)]\n", "\t4\ttested due to symptoms [+ 4 positive (100.00 %) +]\n", "\t66\ttested as traces [+ 4 positive (6.06 %) +]\n", "\t930\ttested randomly [+ 5 positive (0.54 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (28 as groupmates of positive)\n", "\t81\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t101 entered isolation\n", "[INTERVENTIONS @ t = 81.01 (192 (1.92%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t60\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t936\ttested randomly [+ 3 positive (0.32 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (5 as groupmates of positive)\n", "\t76\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t102 entered isolation\n", "[INTERVENTIONS @ t = 82.01 (184 (1.84%) infected)]\n", "\t5\ttested due to symptoms [+ 5 positive (100.00 %) +]\n", "\t54\ttested as traces [+ 1 positive (1.85 %) +]\n", "\t941\ttested randomly [+ 3 positive (0.32 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (19 as groupmates of positive)\n", "\t72\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t112 entered isolation\n", "[INTERVENTIONS @ t = 83.03 (173 (1.73%) infected)]\n", "\t7\ttested due to symptoms [+ 6 positive (85.71 %) +]\n", "\t25\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t968\ttested randomly [+ 7 positive (0.72 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (38 as groupmates of positive)\n", "\t23\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t38 entered isolation\n", "[INTERVENTIONS @ t = 84.00 (171 (1.71%) infected)]\n", "\t4\ttested due to symptoms [+ 4 positive (100.00 %) +]\n", "\t48\ttested as traces [+ 1 positive (2.08 %) +]\n", "\t948\ttested randomly [+ 5 positive (0.53 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (26 as groupmates of positive)\n", "\t49\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t81 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 85.01 (169 (1.69%) infected)]\n", "\t7\ttested due to symptoms [+ 6 positive (85.71 %) +]\n", "\t51\ttested as traces [+ 2 positive (3.92 %) +]\n", "\t942\ttested randomly [+ 6 positive (0.64 %) +]\n", "\t1000\ttested TOTAL [+ 14 positive (1.40 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t14\twill isolate due to positive test (43 as groupmates of positive)\n", "\t48\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t102 entered isolation\n", "[INTERVENTIONS @ t = 86.07 (172 (1.72%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t107\ttested as traces [+ 4 positive (3.74 %) +]\n", "\t892\ttested randomly [+ 5 positive (0.56 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (30 as groupmates of positive)\n", "\t101\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t137 entered isolation\n", "[INTERVENTIONS @ t = 87.03 (176 (1.76%) infected)]\n", "\t7\ttested due to symptoms [+ 5 positive (71.43 %) +]\n", "\t17\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t976\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (18 as groupmates of positive)\n", "\t23\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t82 entered isolation\n", "[INTERVENTIONS @ t = 88.02 (173 (1.73%) infected)]\n", "\t9\ttested due to symptoms [+ 7 positive (77.78 %) +]\n", "\t71\ttested as traces [+ 1 positive (1.41 %) +]\n", "\t920\ttested randomly [+ 2 positive (0.22 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (17 as groupmates of positive)\n", "\t77\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t118 entered isolation\n", "[INTERVENTIONS @ t = 89.01 (163 (1.63%) infected)]\n", "\t6\ttested due to symptoms [+ 4 positive (66.67 %) +]\n", "\t76\ttested as traces [+ 2 positive (2.63 %) +]\n", "\t918\ttested randomly [+ 3 positive (0.33 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (18 as groupmates of positive)\n", "\t87\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t115 entered isolation\n", "[INTERVENTIONS @ t = 90.01 (160 (1.60%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t51\ttested as traces [+ 2 positive (3.92 %) +]\n", "\t945\ttested randomly [+ 5 positive (0.53 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (22 as groupmates of positive)\n", "\t51\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t74 entered isolation\n", "[INTERVENTIONS @ t = 91.02 (149 (1.49%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t46\ttested as traces [+ 3 positive (6.52 %) +]\n", "\t953\ttested randomly [+ 6 positive (0.63 %) +]\n", "\t1000\ttested TOTAL [+ 10 positive (1.00 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t10\twill isolate due to positive test (16 as groupmates of positive)\n", "\t42\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t68 entered isolation\n", "[INTERVENTIONS @ t = 92.02 (150 (1.50%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t30\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t968\ttested randomly [+ 7 positive (0.72 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (21 as groupmates of positive)\n", "\t39\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 93.03 (148 (1.48%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t26\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t971\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (18 as groupmates of positive)\n", "\t33\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t61 entered isolation\n", "[INTERVENTIONS @ t = 94.00 (147 (1.47%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t15\ttested as traces [+ 1 positive (6.67 %) +]\n", "\t983\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (17 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t41 entered isolation\n", "[INTERVENTIONS @ t = 95.02 (149 (1.49%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t33\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t963\ttested randomly [+ 5 positive (0.52 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (14 as groupmates of positive)\n", "\t37\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t65 entered isolation\n", "[INTERVENTIONS @ t = 96.02 (144 (1.44%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t24\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t972\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (19 as groupmates of positive)\n", "\t24\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t51 entered isolation\n", "[INTERVENTIONS @ t = 97.02 (147 (1.47%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t39\ttested as traces [+ 1 positive (2.56 %) +]\n", "\t956\ttested randomly [+ 2 positive (0.21 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (11 as groupmates of positive)\n", "\t39\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t62 entered isolation\n", "[INTERVENTIONS @ t = 98.05 (129 (1.29%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t39\ttested as traces [+ 1 positive (2.56 %) +]\n", "\t959\ttested randomly [+ 4 positive (0.42 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (9 as groupmates of positive)\n", "\t46\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t74 entered isolation\n", "[INTERVENTIONS @ t = 99.00 (124 (1.24%) infected)]\n", "\t4\ttested due to symptoms [+ 4 positive (100.00 %) +]\n", "\t23\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t973\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (10 as groupmates of positive)\n", "\t18\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t35 entered isolation\n", "[INTERVENTIONS @ t = 100.02 (122 (1.22%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t78\ttested as traces [+ 2 positive (2.56 %) +]\n", "\t920\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (8 as groupmates of positive)\n", "\t76\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t90 entered isolation\n", "[INTERVENTIONS @ t = 101.00 (111 (1.11%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t22\ttested as traces [+ 1 positive (4.55 %) +]\n", "\t978\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (3 as groupmates of positive)\n", "\t28\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t46 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 102.01 (112 (1.12%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t24\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t973\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (17 as groupmates of positive)\n", "\t27\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t42 entered isolation\n", "[INTERVENTIONS @ t = 103.04 (105 (1.05%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 8 positive (0.80 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (19 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n", "[INTERVENTIONS @ t = 104.04 (107 (1.07%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t34\ttested as traces [+ 1 positive (2.94 %) +]\n", "\t964\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t5\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (14 as groupmates of positive)\n", "\t51\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t77 entered isolation\n", "[INTERVENTIONS @ t = 105.02 (108 (1.08%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t25\ttested as traces [+ 2 positive (8.00 %) +]\n", "\t972\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (23 as groupmates of positive)\n", "\t32\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t64 entered isolation\n", "[INTERVENTIONS @ t = 106.01 (120 (1.20%) infected)]\n", "\t5\ttested due to symptoms [+ 5 positive (100.00 %) +]\n", "\t28\ttested as traces [+ 1 positive (3.57 %) +]\n", "\t967\ttested randomly [+ 7 positive (0.72 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (20 as groupmates of positive)\n", "\t35\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t56 entered isolation\n", "[INTERVENTIONS @ t = 107.00 (113 (1.13%) infected)]\n", "\t7\ttested due to symptoms [+ 6 positive (85.71 %) +]\n", "\t35\ttested as traces [+ 2 positive (5.71 %) +]\n", "\t958\ttested randomly [+ 5 positive (0.52 %) +]\n", "\t1000\ttested TOTAL [+ 13 positive (1.30 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t13\twill isolate due to positive test (26 as groupmates of positive)\n", "\t46\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t80 entered isolation\n", "[INTERVENTIONS @ t = 108.02 (102 (1.02%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t45\ttested as traces [+ 1 positive (2.22 %) +]\n", "\t953\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (10 as groupmates of positive)\n", "\t47\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t81 entered isolation\n", "[INTERVENTIONS @ t = 109.00 (110 (1.10%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t52\ttested as traces [+ 2 positive (3.85 %) +]\n", "\t943\ttested randomly [+ 3 positive (0.32 %) +]\n", "\t1000\ttested TOTAL [+ 9 positive (0.90 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t9\twill isolate due to positive test (22 as groupmates of positive)\n", "\t75\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t115 entered isolation\n", "[INTERVENTIONS @ t = 110.00 (105 (1.05%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t19\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t979\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (13 as groupmates of positive)\n", "\t18\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t34 entered isolation\n", "[INTERVENTIONS @ t = 111.11 (95 (0.95%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t39\ttested as traces [+ 1 positive (2.56 %) +]\n", "\t960\ttested randomly [+ 4 positive (0.42 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (6 as groupmates of positive)\n", "\t50\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t83 entered isolation\n", "[INTERVENTIONS @ t = 112.02 (94 (0.94%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t31\ttested as traces [+ 1 positive (3.23 %) +]\n", "\t967\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (10 as groupmates of positive)\n", "\t40\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t63 entered isolation\n", "[INTERVENTIONS @ t = 113.00 (92 (0.92%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t15\ttested as traces [+ 1 positive (6.67 %) +]\n", "\t983\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (13 as groupmates of positive)\n", "\t16\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t28 entered isolation\n", "[INTERVENTIONS @ t = 114.01 (90 (0.90%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t25\ttested as traces [+ 1 positive (4.00 %) +]\n", "\t973\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (8 as groupmates of positive)\n", "\t24\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t37 entered isolation\n", "[INTERVENTIONS @ t = 115.02 (88 (0.88%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t25\ttested as traces [+ 1 positive (4.00 %) +]\n", "\t972\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (15 as groupmates of positive)\n", "\t42\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t63 entered isolation\n", "[INTERVENTIONS @ t = 116.04 (84 (0.84%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t23\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t975\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (11 as groupmates of positive)\n", "\t30\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t43 entered isolation\n", "[INTERVENTIONS @ t = 117.00 (72 (0.72%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t24\ttested as traces [+ 2 positive (8.33 %) +]\n", "\t974\ttested randomly [+ 2 positive (0.21 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (15 as groupmates of positive)\n", "\t31\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t52 entered isolation\n", "[INTERVENTIONS @ t = 118.02 (68 (0.68%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t5\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t995\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t26 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 119.02 (65 (0.65%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t20\ttested as traces [+ 2 positive (10.00 %) +]\n", "\t980\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (6 as groupmates of positive)\n", "\t25\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t45 entered isolation\n", "[INTERVENTIONS @ t = 120.01 (68 (0.68%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t60\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t939\ttested randomly [+ 3 positive (0.32 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (8 as groupmates of positive)\n", "\t53\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t63 entered isolation\n", "[INTERVENTIONS @ t = 121.13 (63 (0.63%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (5 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 122.03 (62 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t11\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t989\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (4 as groupmates of positive)\n", "\t20\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t34 entered isolation\n", "[INTERVENTIONS @ t = 123.14 (58 (0.58%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t9 entered isolation\n", "[INTERVENTIONS @ t = 124.01 (62 (0.62%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t992\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (4 as groupmates of positive)\n", "\t6\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 125.01 (64 (0.64%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t9\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t988\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (9 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 126.01 (71 (0.71%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t3\ttested as traces [+ 1 positive (33.33 %) +]\n", "\t994\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (5 as groupmates of positive)\n", "\t3\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 127.05 (66 (0.66%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t11\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t988\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (10 as groupmates of positive)\n", "\t13\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t27 entered isolation\n", "[INTERVENTIONS @ t = 128.02 (65 (0.65%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t15\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t985\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t17\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t25 entered isolation\n", "[INTERVENTIONS @ t = 129.22 (61 (0.61%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t32\ttested as traces [+ 3 positive (9.38 %) +]\n", "\t964\ttested randomly [+ 2 positive (0.21 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t6\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (11 as groupmates of positive)\n", "\t31\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t45 entered isolation\n", "[INTERVENTIONS @ t = 130.07 (57 (0.57%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (8 as groupmates of positive)\n", "\t8\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t18 entered isolation\n", "[INTERVENTIONS @ t = 131.02 (51 (0.51%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t22\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t977\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (7 as groupmates of positive)\n", "\t27\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t47 entered isolation\n", "[INTERVENTIONS @ t = 132.09 (46 (0.46%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t8\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t992\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t9\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 133.10 (39 (0.39%) infected)]\n", "\t5\ttested due to symptoms [+ 4 positive (80.00 %) +]\n", "\t5\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t990\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (11 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 134.00 (43 (0.43%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t3 entered isolation\n", "[INTERVENTIONS @ t = 135.00 (46 (0.46%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t21\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t977\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t31\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t49 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 136.10 (47 (0.47%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t8\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t990\ttested randomly [+ 5 positive (0.51 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (20 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t12 entered isolation\n", "[INTERVENTIONS @ t = 137.31 (49 (0.49%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t13\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t986\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (7 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t16 entered isolation\n", "[INTERVENTIONS @ t = 138.09 (48 (0.48%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t28\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t972\ttested randomly [+ 4 positive (0.41 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (5 as groupmates of positive)\n", "\t29\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t57 entered isolation\n", "[INTERVENTIONS @ t = 139.16 (49 (0.49%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t17\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t983\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (4 as groupmates of positive)\n", "\t17\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t27 entered isolation\n", "[INTERVENTIONS @ t = 140.04 (54 (0.54%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t12\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t988\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t15\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t24 entered isolation\n", "[INTERVENTIONS @ t = 141.02 (54 (0.54%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 142.02 (54 (0.54%) infected)]\n", "\t4\ttested due to symptoms [+ 2 positive (50.00 %) +]\n", "\t10\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t986\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (8 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t13 entered isolation\n", "[INTERVENTIONS @ t = 143.07 (51 (0.51%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (5 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 144.15 (50 (0.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t21\ttested as traces [+ 1 positive (4.76 %) +]\n", "\t978\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (1 as groupmates of positive)\n", "\t21\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t36 entered isolation\n", "[INTERVENTIONS @ t = 145.01 (49 (0.49%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t993\ttested randomly [+ 5 positive (0.50 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (17 as groupmates of positive)\n", "\t5\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t15 entered isolation\n", "[INTERVENTIONS @ t = 146.11 (49 (0.49%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t10\ttested as traces [+ 1 positive (10.00 %) +]\n", "\t989\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (5 as groupmates of positive)\n", "\t14\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t17 entered isolation\n", "[INTERVENTIONS @ t = 147.03 (45 (0.45%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t60\ttested as traces [+ 1 positive (1.67 %) +]\n", "\t939\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (4 as groupmates of positive)\n", "\t74\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t100 entered isolation\n", "[INTERVENTIONS @ t = 148.11 (42 (0.42%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t994\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (1 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t14 entered isolation\n", "[INTERVENTIONS @ t = 149.04 (40 (0.40%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t10\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t989\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t15\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t21 entered isolation\n", "[INTERVENTIONS @ t = 150.10 (39 (0.39%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t6\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t9 entered isolation\n", "[INTERVENTIONS @ t = 151.01 (42 (0.42%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t993\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (6 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n", "[INTERVENTIONS @ t = 152.02 (39 (0.39%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t11\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t988\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (2 as groupmates of positive)\n", "\t15\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t18 entered isolation\n", "[INTERVENTIONS @ t = 153.06 (36 (0.36%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t19\ttested as traces [+ 1 positive (5.26 %) +]\n", "\t981\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t24\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t37 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 154.00 (34 (0.34%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t12\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t985\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t17\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 155.02 (35 (0.35%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 156.02 (35 (0.35%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t3\ttested as traces [+ 1 positive (33.33 %) +]\n", "\t996\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t16 entered isolation\n", "[INTERVENTIONS @ t = 157.02 (33 (0.33%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (9 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 158.42 (38 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t9\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (5 as groupmates of positive)\n", "\t15\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t27 entered isolation\n", "[INTERVENTIONS @ t = 159.02 (36 (0.36%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t25\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t974\ttested randomly [+ 2 positive (0.21 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (4 as groupmates of positive)\n", "\t30\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t44 entered isolation\n", "[INTERVENTIONS @ t = 160.01 (38 (0.38%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t993\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (14 as groupmates of positive)\n", "\t9\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t16 entered isolation\n", "[INTERVENTIONS @ t = 161.02 (42 (0.42%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t18\ttested as traces [+ 2 positive (11.11 %) +]\n", "\t981\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (5 as groupmates of positive)\n", "\t15\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 162.01 (42 (0.42%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t13\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t986\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (4 as groupmates of positive)\n", "\t19\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t38 entered isolation\n", "[INTERVENTIONS @ t = 163.03 (43 (0.43%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t38\ttested as traces [+ 4 positive (10.53 %) +]\n", "\t961\ttested randomly [+ 3 positive (0.31 %) +]\n", "\t1000\ttested TOTAL [+ 8 positive (0.80 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8\twill isolate due to positive test (12 as groupmates of positive)\n", "\t51\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t61 entered isolation\n", "[INTERVENTIONS @ t = 164.00 (39 (0.39%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 4 positive (0.40 %) +]\n", "\t1000\ttested TOTAL [+ 6 positive (0.60 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6\twill isolate due to positive test (20 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 165.03 (40 (0.40%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t39\ttested as traces [+ 1 positive (2.56 %) +]\n", "\t961\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (0 as groupmates of positive)\n", "\t55\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t74 entered isolation\n", "[INTERVENTIONS @ t = 166.01 (42 (0.42%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t19\ttested as traces [+ 1 positive (5.26 %) +]\n", "\t980\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t3\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (7 as groupmates of positive)\n", "\t26\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t52 entered isolation\n", "[INTERVENTIONS @ t = 167.03 (40 (0.40%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (3 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n", "[INTERVENTIONS @ t = 168.02 (40 (0.40%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t994\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (7 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t17 entered isolation\n", "[INTERVENTIONS @ t = 169.09 (37 (0.37%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t4\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (10 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t9 entered isolation\n", "[INTERVENTIONS @ t = 170.12 (31 (0.31%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t18\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t982\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t19\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t33 entered isolation\n", "[INTERVENTIONS @ t = 171.04 (30 (0.30%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t22\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t977\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (3 as groupmates of positive)\n", "\t26\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t41 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 172.07 (28 (0.28%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t3 entered isolation\n", "[INTERVENTIONS @ t = 173.00 (30 (0.30%) infected)]\n", "\t3\ttested due to symptoms [+ 3 positive (100.00 %) +]\n", "\t12\ttested as traces [+ 1 positive (8.33 %) +]\n", "\t985\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 7 positive (0.70 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7\twill isolate due to positive test (7 as groupmates of positive)\n", "\t16\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 174.21 (30 (0.30%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 175.02 (29 (0.29%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t55\ttested as traces [+ 2 positive (3.64 %) +]\n", "\t944\ttested randomly [+ 1 positive (0.11 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (4 as groupmates of positive)\n", "\t61\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 176.01 (26 (0.26%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 177.30 (23 (0.23%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t995\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t3\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 178.13 (19 (0.19%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t6\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t8 entered isolation\n", "[INTERVENTIONS @ t = 179.26 (20 (0.20%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t8\ttested as traces [+ 1 positive (12.50 %) +]\n", "\t992\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t14\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t15 entered isolation\n", "[INTERVENTIONS @ t = 180.21 (19 (0.19%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 181.30 (18 (0.18%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t12\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t988\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t28\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t29 entered isolation\n", "[INTERVENTIONS @ t = 182.04 (13 (0.13%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 183.05 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 184.05 (15 (0.15%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 185.07 (19 (0.19%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (0 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t8 entered isolation\n", "[INTERVENTIONS @ t = 186.23 (20 (0.20%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 187.02 (21 (0.21%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t9\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t12 entered isolation\n", "[INTERVENTIONS @ t = 188.09 (20 (0.20%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (6 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t3 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 189.14 (20 (0.20%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (3 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 190.42 (20 (0.20%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t7\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t13\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t23 entered isolation\n", "[INTERVENTIONS @ t = 191.11 (19 (0.19%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t5\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t995\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t13 entered isolation\n", "[INTERVENTIONS @ t = 192.12 (21 (0.21%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t2\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (2 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 193.23 (21 (0.21%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 194.41 (22 (0.22%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t22\ttested as traces [+ 1 positive (4.55 %) +]\n", "\t978\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (6 as groupmates of positive)\n", "\t19\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t24 entered isolation\n", "[INTERVENTIONS @ t = 195.40 (21 (0.21%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t9\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (4 as groupmates of positive)\n", "\t10\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t19 entered isolation\n", "[INTERVENTIONS @ t = 196.12 (22 (0.22%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 197.68 (19 (0.19%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n", "[INTERVENTIONS @ t = 198.01 (21 (0.21%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t3\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 199.44 (17 (0.17%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t6\ttested as traces [+ 1 positive (16.67 %) +]\n", "\t994\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (6 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 200.16 (17 (0.17%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 201.01 (15 (0.15%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t994\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t19 entered isolation\n", "[INTERVENTIONS @ t = 202.38 (15 (0.15%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 203.10 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t3\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t3 entered isolation\n", "[INTERVENTIONS @ t = 204.27 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 205.12 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 206.01 (15 (0.15%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 207.13 (12 (0.12%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 208.16 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t9\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t10\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t14 entered isolation\n", "[INTERVENTIONS @ t = 209.03 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 210.09 (10 (0.10%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 211.02 (11 (0.11%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 212.07 (8 (0.08%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (4 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 213.01 (6 (0.06%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 214.43 (5 (0.05%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t2\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t5 entered isolation\n", "[INTERVENTIONS @ t = 215.61 (5 (0.05%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 216.39 (6 (0.06%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 217.44 (8 (0.08%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 218.03 (8 (0.08%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (3 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 219.54 (9 (0.09%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 220.03 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t994\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t5\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 221.06 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t5 entered isolation\n", "[INTERVENTIONS @ t = 222.33 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 223.64 (10 (0.10%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 224.35 (10 (0.10%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t5 entered isolation\n", "[INTERVENTIONS @ t = 225.00 (11 (0.11%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 226.11 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 227.43 (12 (0.12%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (8 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 228.28 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 229.42 (11 (0.11%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t17\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t983\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t26\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t37 entered isolation\n", "[INTERVENTIONS @ t = 230.03 (9 (0.09%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 231.45 (8 (0.08%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 232.56 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 233.43 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 234.24 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 235.20 (6 (0.06%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 236.12 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 237.22 (6 (0.06%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 238.35 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (6 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 239.33 (9 (0.09%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 240.02 (13 (0.13%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 241.04 (12 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 242.08 (19 (0.19%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 243.05 (20 (0.20%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 244.06 (26 (0.26%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t8 entered isolation\n", "[INTERVENTIONS @ t = 245.12 (28 (0.28%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t5\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 246.01 (30 (0.30%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 247.02 (28 (0.28%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (13 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 248.04 (28 (0.28%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t994\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (5 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 249.01 (32 (0.32%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t21\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t978\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (3 as groupmates of positive)\n", "\t26\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t43 entered isolation\n", "[INTERVENTIONS @ t = 250.10 (33 (0.33%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t15\ttested as traces [+ 1 positive (6.67 %) +]\n", "\t984\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (6 as groupmates of positive)\n", "\t18\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t25 entered isolation\n", "[INTERVENTIONS @ t = 251.03 (32 (0.32%) infected)]\n", "\t3\ttested due to symptoms [+ 2 positive (66.67 %) +]\n", "\t6\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 2 positive (0.20 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (3 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t17 entered isolation\n", "[INTERVENTIONS @ t = 252.09 (36 (0.36%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t18\ttested as traces [+ 1 positive (5.56 %) +]\n", "\t980\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 4 positive (0.40 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4\twill isolate due to positive test (13 as groupmates of positive)\n", "\t22\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t32 entered isolation\n", "[INTERVENTIONS @ t = 253.09 (33 (0.33%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t13\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t986\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (2 as groupmates of positive)\n", "\t14\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 254.06 (32 (0.32%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t5\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t995\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t11\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t29 entered isolation\n", "[INTERVENTIONS @ t = 255.00 (30 (0.30%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t4\ttested as traces [+ 1 positive (25.00 %) +]\n", "\t995\ttested randomly [+ 3 positive (0.30 %) +]\n", "\t1000\ttested TOTAL [+ 5 positive (0.50 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5\twill isolate due to positive test (11 as groupmates of positive)\n", "\t4\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 256.06 (28 (0.28%) infected)]\n", "\t4\ttested due to symptoms [+ 3 positive (75.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t995\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (5 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 257.13 (27 (0.27%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t7\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t993\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t9\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t27 entered isolation\n", "[INTERVENTIONS @ t = 258.01 (26 (0.26%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t8\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t992\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t12\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t21 entered isolation\n", "[INTERVENTIONS @ t = 259.06 (25 (0.25%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 3 positive (0.30 %) +]\n", "\t2\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3\twill isolate due to positive test (6 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 260.01 (25 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 261.06 (20 (0.20%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t20\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t980\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (1 as groupmates of positive)\n", "\t30\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t38 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 262.22 (17 (0.17%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (10 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 263.89 (17 (0.17%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t998\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (2 as groupmates of positive)\n", "\t1\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t3 entered isolation\n", "[INTERVENTIONS @ t = 264.02 (16 (0.16%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t9\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t991\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t12\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 265.99 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t4\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t8\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 266.02 (15 (0.15%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 267.08 (16 (0.16%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (1 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 268.14 (16 (0.16%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 269.43 (14 (0.14%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t1\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t3\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 270.40 (15 (0.15%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t999\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t1\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (3 as groupmates of positive)\n", "\t2\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t4 entered isolation\n", "[INTERVENTIONS @ t = 271.08 (13 (0.13%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 1 positive (0.10 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1\twill isolate due to positive test (4 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 272.09 (12 (0.12%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t996\ttested randomly [+ 1 positive (0.10 %) +]\n", "\t1000\ttested TOTAL [+ 2 positive (0.20 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2\twill isolate due to positive test (2 as groupmates of positive)\n", "\t6\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t9 entered isolation\n", "[INTERVENTIONS @ t = 273.27 (10 (0.10%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t21\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t979\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t30\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t35 entered isolation\n", "[INTERVENTIONS @ t = 274.28 (7 (0.07%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t3\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t997\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t7\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 275.67 (6 (0.06%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 277.90 (4 (0.04%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 278.22 (3 (0.03%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 279.44 (3 (0.03%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 282.02 (1 (0.01%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 284.93 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 285.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 286.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 287.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 288.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t1000\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1000\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0\twill isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0\twill isolate due to positive test (0 as groupmates of positive)\n", "\t0\twill isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "data": { "text/plain": [ "(0.07861509837720071, 288.2946630705424)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run_tti_sim(model, T, \n", " intervention_start_pct_infected=INTERVENTION_START_PCT_INFECTED, average_introductions_per_day=AVERAGE_INTRODUCTIONS_PER_DAY,\n", " testing_cadence=TESTING_CADENCE, pct_tested_per_day=PCT_TESTED_PER_DAY, test_falseneg_rate=TEST_FALSENEG_RATE, \n", " testing_compliance_symptomatic=TESTING_COMPLIANCE_SYMPTOMATIC, max_pct_tests_for_symptomatics=MAX_PCT_TESTS_FOR_SYMPTOMATICS,\n", " testing_compliance_traced=TESTING_COMPLIANCE_TRACED, max_pct_tests_for_traces=MAX_PCT_TESTS_FOR_TRACES,\n", " testing_compliance_random=TESTING_COMPLIANCE_RANDOM, random_testing_degree_bias=RANDOM_TESTING_DEGREE_BIAS,\n", " tracing_compliance=TRACING_COMPLIANCE, pct_contacts_to_trace=PCT_CONTACTS_TO_TRACE, tracing_lag=TRACING_LAG,\n", " isolation_compliance_symptomatic_individual=ISOLATION_COMPLIANCE_SYMPTOMATIC_INDIVIDUAL, isolation_compliance_symptomatic_groupmate=ISOLATION_COMPLIANCE_SYMPTOMATIC_GROUPMATE, \n", " isolation_compliance_positive_individual=ISOLATION_COMPLIANCE_POSITIVE_INDIVIDUAL, isolation_compliance_positive_groupmate=ISOLATION_COMPLIANCE_POSITIVE_GROUPMATE,\n", " isolation_compliance_positive_contact=ISOLATION_COMPLIANCE_POSITIVE_CONTACT, isolation_compliance_positive_contactgroupmate=ISOLATION_COMPLIANCE_POSITIVE_CONTACTGROUPMATE,\n", " isolation_lag_symptomatic=ISOLATION_LAG_SYMPTOMATIC, isolation_lag_positive=ISOLATION_LAG_POSITIVE, isolation_groups=households_indices)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "total percent infected: 30.05%\n", "total percent fatality: 0.54%\n", "peak pct hospitalized: 0.17%\n" ] } ], "source": [ "results_summary(model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualizing the results" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:3913: UserWarning: FixedFormatter should only be used together with FixedLocator\n", " ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()])\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = model.figure_infections(combine_Q_infected=False, plot_Q_R='stacked', plot_Q_S='stacked')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.4" } }, "nbformat": 4, "nbformat_minor": 4 } seirsplus-1.1.0/examples/Extended_SEIRS_Workplace_TTI_Demo.ipynb000066400000000000000000013326401375244156600246510ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Extended SEIRS Workplace TTI Demo\n", "\n", "**In this demonstration we will explore the effect of testing, tracing, and isolation interventions on disease transmission in a workplace setting with a realistic contact network.**\n", "\n", "This notebook provides a demonstration of the functionality of the [Extended SEIRS Network Model](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description) and the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop). This notebook also offers a sandbox for starting to explore TTI scenarios of your own. \n", "For a more thorough walkthrough of the model, simulation loop, and use of this package, refer to the [SEIRS+ Wiki](https://github.com/ryansmcgee/seirsplus/wiki)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and importing the model code\n", "\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "In this demo we will also use features from the `networks`, `sim_loops`, and `utilities` modules.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```pip install seirsplus```\n", "\n", "Then, the ```models```, `networks`, `sim_loops`, and `utilities` modules can be imported as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "from seirsplus.networks import *\n", "from seirsplus.sim_loops import *\n", "from seirsplus.utilities import *\n", "import networkx\n", "import matplotlib.pyplot as pyplot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. For some of the features used in this demo you will also need the `networks`, `sim_loops`, and `utilities` modules. In this case, the easiest way to use the modules is to place your scripts in the same directory as the modules, and import the modules as shown here:*\n", "```python\n", "from models import *\n", "from networks import *\n", "from sim_loops import *\n", "from utilities import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set basic parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Specify the workplace size and structure" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "NUM_COHORTS = 4\n", "NUM_NODES_PER_COHORT = 200\n", "NUM_TEAMS_PER_COHORT = 10\n", "\n", "MEAN_INTRACOHORT_DEGREE = 6\n", "PCT_CONTACTS_INTERCOHORT = 0.1" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "N = NUM_NODES_PER_COHORT*NUM_COHORTS" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we set the initial prevalence to be a single case" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "INIT_EXPOSED = 4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------\n", "\n", "## Specifying contact networks\n", "\n", "This package implements models epidemic dynamics for populations with a structured [contact network](Extended-SEIRS-Model-Description#contact-networks). Individuals are represented as nodes in a network, and parameters, contacts, and interventions can be specified on a targeted individual basis. A graph specifying the contact network must be specified, where each node represents an individual in the population and edges connect individuals who have regular interactions.\n", "\n", "This model also supports scenarios where individuals enter quarantine states in which their parameters and interactions may be different from baseline, and a separate graph defining the interactions for individuals in quarantine can be specified (i.e., the [quarantine contact network](Extended-SEIRS-Model-Description#quarantine-contacts)).\n", "\n", "### Workplace Contact Network\n", "\n", "Here we use the [**demographic community network generator**](https://github.com/ryansmcgee/seirsplus/wiki/Network-Generation#workplace-network) defined in the SEIRS+ package. This function generates a contact network that resembles workplaces and other multi-level modular populations.\n", "\n", "[FARZ](https://github.com/ryansmcgee/seirsplus/wiki/Network-Generation#farz-networks) network layers are generated to represent cohorts of employees (e.g., departments, floors, shifts). FARZ networks have a tunable community structure, so each cohort includes some number of communities, which can be thought to represent teams (i.e., groups of employees that work closely with each other). Employees may belong to more than one team (specified by a FARZ parameter), but employees belong to only one cohort. An employee's intra-team and intra-cohort contacts are defined by the FARZ cohort network they belong to. A specified percentage of each employee's total number of workplace contacts can be with individuals from other cohorts. An employee's inter-cohort contacts are drawn randomly from the pool of individuals outside their own cohort. \n", "\n", "The number of cohorts, number of employees per cohort, number of teams per cohort, number of teams employees belong to, mean intra-cohort degree, percent of within- and between-team connections, and percent of intra- and inter-cohort connections can be controlled with the arguments to the `generate_demographic_contact_network()` function (some of which are passed as [parameters to the FARZ generator](https://github.com/ryansmcgee/seirsplus/wiki/Network-Generation#FARZ-parameters)).\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Baseline:\n", "Degree: mean = 11.06, std = 8.59, 95% CI = (1.00, 29.00)\n", " coeff var = 0.78\n", "Assortativity: 0.27\n", "Clustering coeff: 0.24\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAD4CAYAAADrRI2NAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAaNklEQVR4nO3df3QV9ZnH8fdDCAJBV8XIoVI3aBURQYTAQqFURMRWRF0pK7UULV08PbQIugr+6K67R8/BrrWt1uKisqa7VXGxLhxL/YVsOVq1TZBiBH9SsKERAuVHifxI4Nk/7gQvIbmZ3GTuvbnzeZ1zT2a+c2fm4UvyZPLc73zH3B0REYmPTtkOQEREMkuJX0QkZpT4RURiRolfRCRmlPhFRGKmc7YDCOOUU07xkpKSbIchItKhVFRUbHf34sbtHSLxl5SUUF5enu0wREQ6FDPb3FS7Sj0iIjGjxC8iEjNK/CIiMRNZjd/M+gFLkprOAP4Z+HnQXgJsAqa4+86o4hCRY9XV1VFVVcX+/fuzHYq0g65du9KnTx8KCwtDvT+yxO/u7wGDAcysANgCPAvMB1a6+wIzmx+sz4sqDhE5VlVVFccffzwlJSWYWbbDkTZwd3bs2EFVVRV9+/YNtU+mSj3jgI/cfTNwBVAWtJcBV2YoBhEJ7N+/n549eyrp5wEzo2fPnq366y1Tif8a4MlguZe7VwfLnwC9mtrBzGaaWbmZldfU1GQiRpFYUdLPH639v4w88ZtZF2AS8D+Nt3liTugm54V290XuXurupcXFx9x/ICIiacrEDVxfAda4+9ZgfauZ9Xb3ajPrDWzLQAwiksLOTw9Se6C+3Y5XdFxnTureJeV7CgoKGDhwIO5OQUEBP/3pT/niF7/YbjFcd911TJw4kcmTJ/Ptb3+bm266iXPPPbfdjg9w4YUXct9991FaWtqux41aJhL/VD4r8wAsB6YDC4KvyzIQQ9pS/UCE+eYW6QhqD9Tz0KqP2u14s8ae2eLPRrdu3Vi7di0AL7zwArfddhu/+c1v2i2GZI8++mgkx20v9fX1dO6cuYkUIi31mFkRMB74ZVLzAmC8mX0AXBys56yGH4imXu15hSQSZ3v27OGkk04CYO/evYwbN44hQ4YwcOBAli1LXBvW1tZy2WWXcf7553PeeeexZElitHhFRQVf/vKXGTp0KBMmTKC6uvqY41944YVHpn3p0aMHd9xxB+effz4jRoxg69ZEMaKmpoarr76aYcOGMWzYMF577bVjjrNv3z6uueYa+vfvz1VXXcW+ffuObHvxxRcZOXIkQ4YM4Wtf+xp79+4FYMWKFZxzzjkMHTqU2bNnM3HiRADuuusupk2bxqhRo5g2bVqz56+treVb3/oWw4cP54ILLjjSH20R6a8Yd68FejZq20FilI+IxNi+ffsYPHgw+/fvp7q6mldeeQVIjEl/9tlnOeGEE9i+fTsjRoxg0qRJPP/883zuc5/jV7/6FQC7d++mrq6O733veyxbtozi4mKWLFnCHXfcweLFi5s9b21tLSNGjOCee+7h1ltv5ZFHHuHOO+/kxhtvZO7cuYwePZqPP/6YCRMmsGHDhqP2XbhwId27d2fDhg2sW7eOIUOGALB9+3buvvtuXn75ZYqKirj33nu5//77ufXWW7nhhhtYvXo1ffv2ZerUqUcdb/369bz66qt069aNr3/9602e/5577uGiiy5i8eLF7Nq1i+HDh3PxxRdTVFSUdt93iEnaOqqW6qYqFUmcJZd6Xn/9db75zW9SWVmJu3P77bezevVqOnXqxJYtW9i6dSsDBw7k5ptvZt68eUycOJEvfelLVFZWUllZyfjx4wE4dOgQvXv3TnneLl26HLnqHjp0KC+99BIAL7/8MuvXrz/yvj179rB371569OhxpG316tXMnj0bgEGDBjFo0CAA3njjDdavX8+oUaMAOHjwICNHjuTdd9/ljDPOODK+furUqSxatOjI8SZNmkS3bt1Snv/FF19k+fLl3HfffUBiKO7HH39M//79W9PdR1Hij1BLddMwdVCROBg5ciTbt2+npqaGFStWUFNTQ0VFBYWFhZSUlLB//37OPvts1qxZw4oVK7jzzjsZN24cV111FQMGDOD1118Pfa7CwsIjwx8LCgqor09cnB0+fJg33niDrl27tjp+d2f8+PE8+eSTR7U3/GJrTvJVe3Pnd3eeeeYZ+vXr1+q4mqO5ekQk6959910OHTpEz5492b17N6eeeiqFhYWsWrWKzZsTMwv/+c9/pnv37nzjG9/glltuYc2aNfTr14+ampojib+uro533nknrRguueQSHnzwwSPrTSXtMWPG8MQTTwBQWVnJunXrABgxYgSvvfYaH374IZAoJ73//vv069ePjRs3smnTJoAjn0u0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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "G_baseline, cohorts, teams = generate_workplace_contact_network(\n", " num_cohorts=NUM_COHORTS, num_nodes_per_cohort=NUM_NODES_PER_COHORT, \n", " num_teams_per_cohort=NUM_TEAMS_PER_COHORT,\n", " mean_intracohort_degree=MEAN_INTRACOHORT_DEGREE, \n", " pct_contacts_intercohort=PCT_CONTACTS_INTERCOHORT,\n", " farz_params={'alpha':5.0, 'gamma':5.0, 'beta':0.5, 'r':1, 'q':0.0, 'phi':10, \n", " 'b':0, 'epsilon':1e-6, 'directed': False, 'weighted': False})\n", "\n", "network_info(G_baseline, \"Baseline\", plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we define the quarantine contact network to be an empty network (i.e., no connections). This represents an assumption that an employee that is in a quarantine state makes no contact with anyone from their workplace." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "G_quarantine = networkx.classes.function.create_empty_copy(G_baseline)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Specifying parameters\n", "\n", "**_The parameter values used in this notebook reflect rough estimates of parameter values for the COVID-19 epidemic (as of 9 Aug 2020)._**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set disease progression rate parameters:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parameter values are assigned to members of the population on an individual basis. Parameter values can be [specified to the `ExtSEIRSNetworkModel`](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#specifying-parameters) by providing a list of values that gives the *N* values to assign to each individual. The population may be either homogeneous or heterogeneous for a given parameter at the user's discretion. \n", "\n", "**Here we generate distributions of values for each parameter, thus specifying a realistically heterogeneous population.**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected latent periods (time in Exposed state) and presymptomatic periods (time in Pre-symptomatic infectious state). The `sigma` and `lamda` rates are calculated as the inverse of the expected exposed and pre-symptomatic periods assigned to each individual, respectively." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "latent period: mean = 2.14, std = 1.05, 95% CI = (0.56, 4.51)\n", "\n", "pre-symptomatic period: mean = 3.09, std = 1.83, 95% CI = (0.59, 7.77)\n", "\n", "total incubation period: mean = 5.23, std = 2.11, 95% CI = (2.12, 10.22)\n", "\n" ] }, { "data": { "image/png": "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nj077vs91P3NmTOHSy65JCb7juvoIzNLAhYBPwAeB9YAW929OFhlHXBSMH0S8CWAuxeb2bdAKrDlgDZvBm4GOPnkk+MZvkjN2Lsd5sewdHaP0dDk8CvtlpSUVHpzWiKUJoX/+q//iut+ZsyYwSWXXELnzp0BePDBB+O6v7JKSkpqdH8HiuuFZncvcfcsoA3QA+gUgzYnuXuOu+ekpaUdbnMi9U5BQQGdOnViyJAhnHrqqVx11VXs3LkTgPT0dO69916ys7P5n//5H2bNmkXv3r3Jzs7m6quvDstclLVx40b69etHVlYWGRkZvPfee0yePJk77rgjXOfJJ5/kzjvvDPc9bNgwOnTowJAhQ5g9ezZ9+vShffv2zJ8/H4AxY8Zw/fXX07t3b9q3b8+TTz4JwH333cd7771HVlYWEydOZPfu3dx4441kZmbSrVs33n33XSDyLIfLLruMc889l/T0dB577DEmTJhAt27d6NWrF998800YV/fu3enatStXXnklO3fu5P3332fmzJncfffdZGVlsWbNGoYNGxY+v2HBggWcccYZdO3alR49ehxUymPOnDn069ePiy++mI4dO3LLLbewb98+gAqP54HHvez+3n77bbp160ZmZibDhw9nz549ALz55pt06tSJ7Oxspk+ffvg/GIEaGX3k7luBd4HewLFmVnqG0gZYH0yvB9oCBO83B47c82CRBFq5ciW33nory5cvp1mzZvs9ZS01NZXFixfzwx/+kIceeojZs2ezePFicnJymDBhwkFtPf/885x//vnk5eWxZMkSsrKyuOaaa3jttdcoKioC4Omnn2b48OEArF69mrvuuosVK1awYsUKnn/+eebNm8f48eN55JH/nDEtXbqUd955hw8++IAHH3yQDRs2MHbsWPr27UteXh533nnnfmWzp06dytChQ8OCfvn5+UyfPp0FCxbwwAMP0LRpUz7++GN69+7NM888A8AVV1zBggULWLJkCaeeeipPPfUUZ5xxBgMHDmTcuHHk5eXx/e9/P4xp7969/OhHP+IPf/gDS5YsYfbs2QeV7wCYP38+f/rTn1i2bBlr1qxh+vTpbNmypdLjWXrcr7322nDZ7t27GTZsGNOmTeOTTz6huLiYJ554gt27dzNixAhee+01Fi1axFdffXVIPwfliefoozQzOzaYbgKcCywnkhxKn6M3FHg1mJ4ZzBO8/47X5RocIrVY27Zt6dOnDwDXXXcd8+bNC9/70Y9+BMCHH37IsmXL6NOnD1lZWUyZMiUsmFdW9+7defrppxkzZgyffPIJxxxzDCkpKZx99tm8/vrrrFixgqKiIjIzMwFo164dmZmZNGjQgNNOO41zzjkHMyMzM3O/stuDBg2iSZMmHH/88QwYMCA8iyhr3rx5XHfddcD+ZbMBBgwYwDHHHENaWhrNmzfn0ksvBdhvP/n5+fTt25fMzEyee+45Pv3000qP28qVK2nVqhXdu3cHoFmzZjRseHAvfI8ePfje975HUlISgwcPZt68eVUez9LjfuD+2rVrR4cOHQAYOnQoc+fOZcWKFbRr14727dtjZuExiIV4XlNoBUwJris0AF5099fNbBnwgpk9BHwMPBWs/xTwrJmtBr4Bri2vURE5fOWVrS5VWqLa3Tn33HOZOnXqfut+9NFHYQntBx98MHzgzt/+9jeGDRvGz3/+c2644QZuuukmHnnkETp16sSNN94Ybl+21HaDBg3C+QYNGlBcXBy+V1mM0YhmP8OGDWPGjBl07dqV3NzcmN1pXVFZ8PKOZ6naUho8nqOPlrp7N3fv4u4Z7v5gsPxf7t7D3X/g7le7+55g+e5g/gfB+/+KV2wi9d0XX3zBBx98AES6f84888yD1unVqxf//Oc/Wb16NQA7duzgs88+o2fPnuTl5ZGXl8fAgQNZu3YtLVu2ZMSIEdx0000sXrwYgJ49e/Lll1/y/PPPhw/UqY5XX32V3bt3U1hYyJw5c+jevftB5bgrKpsdrW3bttGqVSuKiorCdqDist8dO3Zk48aNLFiwINy+bCIrNX/+fD7//HP27dvHtGnTOPPMMys8npXp2LEjBQUF4TbPPvssZ511Fp06daKgoIA1a9YAVJhoDoVqH4kk2lEpkRFDsWyvCh07duTxxx9n+PDhdO7cmZEjRx60TlpaGrm5uQwePDi8uPnQQw+FXRml5syZw7hx42jUqBEpKSlhfz3ANddcQ15eHscdd1y1P0aXLl0YMGAAW7Zs4Ze//CWtW7cmLS2NpKQkunbtyrBhwyosmx2t3/72t/Ts2ZO0tDR69uwZJoJrr72WESNG8Mc//jG84Atw1FFHMW3aNEaNGsWuXbto0qQJs2fPJiVl/2PevXt3brvtNlavXs2AAQO4/PLLadCgQVTHs6zk5GSefvpprr76aoqLi+nevTu33HILjRs3ZtKkSVx88cU0bdqUvn37VvrsiupQ6exYUOlsqYZEl84uKCgIH3ofb5dccgl33nkn55xzTrW2GzNmDCkpKfziF7+IU2TxM2fOHMaPH1/lcyBqikpni0jCbd26lQ4dOtCkSZNqJwRJLHUfidQz6enpcT9LOPbYY6vsL6/MmDFjYhdMDevfvz/9+/dPdBiHTGcKIiISUlIQEZGQkoKIiISUFEREJKSkIJJghYWFrF27NmavwsLKS4Zt3bp1v1pHFYm2THVBQQEZGRkHLd+wYQNXXXVVOVscuor2VZnc3Fw2bNgQzt900037lcVOpIsuuoitW7dGvf6YMWMYP358/AJCo49EEm779u37FYI7XKNHjyY1teLS2aVJ4dZbb620ncMtU926dev9bvxKlNzcXDIyMmjdujUAf/nLXxIcUaSEiLvzxhtvJDqUg+hMQaSeue+++1izZg1ZWVncfffduDt33303GRkZZGZmMm3atHC9smWqCwoK6Nu3L9nZ2WRnZ/P+++9Xup+y/9Xn5uZyxRVXcMEFF9C+fXvuueeecL0333yT7OxsunbtGt7TcOB/xBkZGWERu+Li4nLLfj/44IN0796djIwMbr75Ztydl156iYULFzJkyBCysrLYtWsX/fv3p/Sm16lTp5KZmUlGRgb33ntvuL+UlBQeeOABunbtSq9evfj6668P+nwVlfcGGDduHN27d6dLly78+te/Do9Hx44dueGGG8jIyODLL78kPT2dLVsij4yZMGECGRkZZGRk8Pvf/z5s6+GHH6ZDhw6ceeaZrFy5stJjHgs6UxCpZ8aOHUt+fj55eXkAvPzyy2HZ6y1bttC9e3f69evH2LFj97szd+fOnbz11lskJyezatUqBg8eTHUqCuTl5fHxxx/TuHFjOnbsyKhRo0hOTmbEiBHMnTuXdu3ahc85qMzKlSt56qmn6NOnD8OHD+fPf/4zv/jFL7jtttv41a9+BcD111/P66+/zlVXXcVjjz3G+PHjycnZ/wbeDRs2cO+997Jo0SKOO+44zjvvPGbMmMFll13Gjh076NWrFw8//DD33HMPTz75JP/93/99UCxLly7lww8/ZMeOHXTr1o2LL76Y/Px8Vq1axfz583H3sGDgySefzKpVq5gyZQq9evXar51Fixbx9NNP89FHH+Hu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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "latentPeriod_mean, latentPeriod_coeffvar = 3.0, 0.6\n", "SIGMA = 1 / gamma_dist(latentPeriod_mean, latentPeriod_coeffvar, N)\n", "\n", "presymptomaticPeriod_mean, presymptomaticPeriod_coeffvar = 2.2, 0.5\n", "LAMDA = 1 / gamma_dist(presymptomaticPeriod_mean, presymptomaticPeriod_coeffvar, N)\n", "\n", "dist_info([1/LAMDA, 1/SIGMA, 1/LAMDA+1/SIGMA], [\"latent period\", \"pre-symptomatic period\", \"total incubation period\"], plot=True, colors=['gold', 'darkorange', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected (a)symptomatic periods (time in symptomatic or asymptomatic state). The `gamma` rates are calculated as the inverse of the expected (a)symptomatic periods assigned to each individual. \n", "\n", "The expected total infectious period for each individual is the sum of their expected pre-symptomatic and (a)symptomatic periods." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pre-symptomatic period: mean = 2.14, std = 1.05, 95% CI = (0.56, 4.51)\n", "\n", "(a)symptomatic period: mean = 3.98, std = 1.59, 95% CI = (1.59, 7.69)\n", "\n", "total infectious period: mean = 6.13, std = 1.94, 95% CI = (3.17, 10.53)\n", "\n" ] }, { "data": { "image/png": "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ZwoiInLMVBRERCSkoiAiIiEVBRERCakoiMRZXl4emzdvjtorL+/oU4Z99dVXPPvssxXmFen01bm5uXTu3LlU+6effsrVV19dxh6H+8tf/sIZZ5xB3759K9z2SNnZ2Xz66afh+i233HLYVNiJJhGnyj6Sbl4TibPdu3cfNkHc8RozZgwpKSnlvl9cFG6//fajxjne6atPOeWUw24IK89zzz3H5MmTOe+88yp9jOzsbDp37swpp5wCwJ/+9KdKx6gqiTpV9pF0piBSw4wePZpNmzaRkZHBqFGjcHdGjRpF586dSU9PZ9asWeF2Jaevzs3NpVevXmRmZpKZmck777xz1OOUPIPIzs7myiuvpH///rRr1477778fKHp+wZIlS7j55psZNWoUhYWFjBo1iq5du3LWWWfxxz/+MYz361//mvT0dLp06cLo0aN56aWXWL58OUOGDCEjI4N9+/bRp08fioepz5w5k/T0dDp37swDDzwQxil5V/JLL73EsGHDgKIzls6dO9OlSxd69+5d6vuprlNlH0lnCiI1zLhx41izZg05OTkAvPzyy+F02Dt37qRr16707t2bcePGHXbH7t69e3nrrbeoX78+GzZsYPDgwVTmPqGcnBzef/996tWrR4cOHbjzzjt58MEHefvtt3nyySfJyspi0qRJNG7cmGXLlnHgwAF69uzJRRddxPr165k7dy7vvfceDRs25Msvv6RZs2Y8/fTT4b4lffrppzzwwAOsWLGCpk2bctFFFzFnzhwGDRpUbn4PP/wwb7zxBq1ateKrr74qc5ulS5eydu1aTj31VPr378/s2bPp06dPOFX2SSedxK9//WvGjx/Pgw8+CHw7VTYU/cKHb6fKXrBgAe3bt+fGG29k4sSJ3HbbbYwYMYK3336b008/vcwZVWNNZwoiNdySJUsYPHgwtWvXpkWLFpx//vnhRHAlFRQUMGLECNLT07nmmmsq3Xffr18/GjduTP369enUqdNhE+8Ve/PNN5k6dSoZGRl0796dvLw8NmzYwPz58xk+fDgNGzYEoFmzZkc91rJly+jTpw+pqanUqVOHIUOGsHjx4qPu07NnT4YNG8bkyZPLvdO7Ok6VfSSdKYhIRCZMmECLFi1YtWoVhw4don79+pXav+QEdrVr1y5z1lF35/e//z0XX3zxYe1vvPHGsSVdhpLTXZecIvwPf/gD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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "symptomaticPeriod_mean, symptomaticPeriod_coeffvar = 4.0, 0.4\n", "GAMMA = 1 / gamma_dist(symptomaticPeriod_mean, symptomaticPeriod_coeffvar, N)\n", "\n", "infectiousPeriod = 1/LAMDA + 1/GAMMA\n", "\n", "dist_info([1/LAMDA, 1/GAMMA, 1/LAMDA+1/GAMMA], [\"pre-symptomatic period\", \"(a)symptomatic period\", \"total infectious period\"], plot=True, colors=['darkorange', 'crimson', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of expected onset-to-hospitalization periods (time in symptomatic state before entering hospitalized state for those with severe cases) and hospitalization-to-discharge periods (time in hospitalized state for those with non-fatal cases). The `eta` and `gamma_H` rates are calculated as the inverse of the expected onset-to-hospitalization periods and hospitalization-to-discharge periods assigned to each individual, respectively." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "onset-to-hospitalization period: mean = 11.14, std = 5.01, 95% CI = (3.57, 22.81)\n", "\n", "hospitalization-to-discharge period: mean = 10.76, std = 4.96, 95% CI = (3.16, 21.78)\n", "\n", "onset-to-discharge period: mean = 21.90, std = 7.12, 95% CI = (9.69, 37.18)\n", "\n" ] }, { "data": { "image/png": "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Y0fS09P5/vvvCxXLxo0b6dixI5dffjkRERH079+f1atXO743MTGROnXqEBYWRnx8PCkpKezZs4f69etz7bXXAjBw4EBWr15NtWrViIqK4t577+Xdd989r1upb9++hIWFcc0119CgQQO++uqrAmM8cOAAXbp0oWnTpjz99NPs3Lnzgp9r7dq1zJ49m3/9619FauPEiRMcP36cDh06nPe5ctx2223A+f9GeSUmJtKgQQPCw8Pp168fa9as4YsvvmDXrl20a9eO+Ph45s6dy/795+qa5f2iBnwe46+++or69etzzTXXICLcfffdFzwuwWKJ35gCXHLJJd7n4eHhZGW5bzp///33GTFiBFu2bKFly5ZkZWWhqrzzzjveM9zvv/+e6667Ll+bXbp0IT4+nvvuu8/vONavX+/tLlm6dGmBsTmJiIhgw4YN9OnTh2XLltG167l7KfMOBbzQ0MAHHniAkSNHsn37dl566aULjh8/fPgw9957LwsWLKBy5cpFauNCco5FQcfB6XOqKrfccov332zXrl288sq5gYaXXnrpRcVVWlniNyHvxhtvZPHixZw+fZpTp06xaNGifN0MublcLn744QeSkpJ46qmnOHHiBGlpaXTp0oUZM2Z4+9pzuouqVKnCyZMnvdt/+OGHJCcn8/LLL+dbn5iYyKeffsqxY8fIzs5m3rx5dOjQgVatWnmTU48ePXzG1rBhQ1JSUvj2228BeP311+nQoQNpaWmcOHGCW2+9lWnTpvHll196t3n77bdxuVzs3buXffv20bBhw/PazBv/iRMnuOoqd6WVuXPnFnhsMzMzueOOO3jqqae8Z8gFtZF3XzmqVatG9erVvX+J5XyuwtiwYQPfffcdLpeL+fPnc8MNN9C6dWvWrl3rPV6nTp3i66+/LrAdX8e4UaNGpKSksHfvXsB9raa0slE9ptQJq1yR6NEDirW9grRo0YJBgwaRmJgIwH333Ufz5s19dhlkZ2dz9913c+LECVSVUaNGER0dzaOPPsro0aOJi4vD5XJRv359li1bRlJSkrcL6G9/+1u+7oNhw4bRtWtXb1//1KlTSUpKQlXp1q0bPXv29PuzRkVFMWfOHO644w6ysrJo2bIlw4cP5+eff6Znz56kp6ejquf1Y9etW5fExER+/fVXZs6cSVRU1Hlt/uEPf6BPnz4sWbKEGTNmMHHiRO64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iI2NpWnTpkybNg2Ab7/9lptvvplmzZrRokUL9u7dC7i/cPv06UOjRo3o37+/t07PpEmTaNmyJbGxsQwbNsy7vGPHjowePZqEhASee+45Nm7cSFxcHPHx8YwdO9Y7uU12djZjx46lZcuWxMXF8dJLL+X7PCkpKd79XnfddfTp04fTp08DsHnzZjp06MD1119Ply5dOHz4sOP+c5d29lUmevPmzTRr1oxmzZqdVwIi1FjiL4NcZzXfwxTd5s2bmTNnDuvXr+eLL75g9uzZ3rHdvso1O5UOfuKJJ+jUqRMbNmxg5cqVjB07lszMzALLI48aNYratWuzcuVKVq5cyaFDhxg3bhwrVqwgOTmZjRs3snjx4nwxL1q0iD179rBr1y5ee+011q1bl+89OcXBduzYwfbt2xk8eDAA/fv3Z8SIEXz55ZesW7fOW+xt69atTJ8+nV27drFv3z5vDfmRI0eyceNGduzYwZkzZ87rDsrIyGDTpk385S9/YfDgwbz00kveMsY5XnnlFapVq8bGjRvZuHEjs2fPdiyhsGfPHv70pz+xe/duqlatyv/93/+RmZnJAw88wMKFC9m8eTNDhgzhkUcecdx/br7KRA8ePJgZM2bw5ZdfOv1XCBmW+Msaz3j9vA9TdGvWrKF3795ceumlVK5cmdtuu81bcMypXDOcKx38xhtveLs4li9f7q2N07FjR9LT0wtdO33jxo3e0sURERH079+f1atX53vf6tWr6devH+Hh4dSuXdtbnz63Bg0asG/fPh544AE++OADqlatysmTJzl48CC9e/cGICoqytvFlJiYSJ06dQgLCyM+Pt77WVeuXEmrVq1o2rQpK1asYOfOnd595HyRHT9+nJMnT3qLlP3P//yP9z3Lly/ntddeIz4+nlatWpGamso333yTL96rr76adu3aAXD33XezZs0a9uzZw44dO7jllluIj49n8uTJHDhwIN/+c3MqE7169WqOHz/O8ePHad++PeAuRx2qrI8/xDld9IXSe+G3pOUt15zT1fP++++zevVq3nvvPZ544gm2b9+OqvLOO+/QsGHD89pYv379ea+7dOnCkSNHSEhI8Ls/fv369dx/v/s+yEmTJvm1TfXq1fnyyy/58MMPmTlzJgsWLOC5557z+7NmZWWRnp7On/70JzZt2sTVV1/NxIkTi1TieMaMGXTp0qXA9zmV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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "onsetToHospitalizationPeriod_mean, onsetToHospitalizationPeriod_coeffvar = 11.0, 0.45\n", "ETA = 1 / gamma_dist(onsetToHospitalizationPeriod_mean, onsetToHospitalizationPeriod_coeffvar, N)\n", "\n", "hospitalizationToDischargePeriod_mean, hospitalizationToDischargePeriod_coeffvar = 11.0, 0.45\n", "GAMMA_H = 1 / gamma_dist(hospitalizationToDischargePeriod_mean, hospitalizationToDischargePeriod_coeffvar, N)\n", "\n", "dist_info([1/ETA, 1/GAMMA_H, 1/ETA+1/GAMMA_H], [\"onset-to-hospitalization period\", \"hospitalization-to-discharge period\", \"onset-to-discharge period\"], plot=True, colors=['crimson', 'violet', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a distribution of hospitalization-to-death periods (time in hospitalized state for those with fatal cases). The `mu_H` rates are calculated as the inverse of the expected hospitalization-to-death periods." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "onset-to-hospitalization period: mean = 11.14, std = 5.01, 95% CI = (3.57, 22.81)\n", "\n", "hospitalization-to-death period: mean = 7.08, std = 3.26, 95% CI = (2.33, 14.96)\n", "\n", "onset-to-death period: mean = 18.21, std = 5.91, 95% CI = (8.90, 31.39)\n", "\n" ] }, { "data": { "image/png": "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YcOG7Ny500mkAJmZmSQmJrJ06VJ2795Nbm4ur7zyCpmZmYwaNYp3332XHTt2cOzYsbL8emsMvyUFVd0I/LtIcz9gsfvnxcDdhdpfc5f63gI0EJHG/orNmED44osv6N+/P/Xq1SM8PJwBAwY43449ldSG86Wz33jjDae20rp165x6PHFxcWRmZjoTr/hq27ZtTnnpWrVqMXToUDZu3FjsdRs3bmTIkCGEhobSpEkTevXqBcC+ffv46quvuO2224iOjmb69OkcPnwYgK+++ooePXrQvn173nzzTfbs2eM1jgEDBhTb56JiY2Np0aIFoaGhDBkyhC+++IItW7aQmprKTTfdRHR0NIsXL+bQoUPOe4omxYKYIyIiiIyMBFyltzdu3MjXX39NREQELVu2REQYNmyYbwexhqrsawpXq+pR98/HgKvdP18D/FDodYfdbUcpQkRG4zqboFmzZv6L1JhK5K2ktqfS2arKO++8Q1RU1AXr2Lp16wXPe/fuzfHjx4mJieHVV1/1KY6tW7fyH//xHwAl9sWrKm3btuWf//xnsWWJiYmsWrWK66+/nkWLFrFhwwav6ynY75JKUHsqE66q3HbbbSxZssTje6x+WNkFbEhqwexEZXjfPFWNUdWYgkk0jKkOevTowapVqzh79ixnzpxh5cqVJZaS9lY6u3fv3syZM8fphizogipa5vnDDz8kJSXFSQiFl8fGxvLZZ59x6tQp8vLyWLJkCT179qRLly5OGeq77rqLm2++maVLl5KXl8fRo0dZv349AFFRUZw8edJJCjk5Oc4Zwa+//krjxo3Jycm5oKRzWctQJycnc/DgQfLz81m6dCndu3fnxhtvZNOmTezfvx9wXWcpmEjHm6ioKNLS0pz3FJTebtWqFWlpac51Dm+JJlhU9pnCcRFprKpH3d1DBVetfgSuLfS6pu42Y/wmPDycSZMmVej6StKpUycSExOJjY0F4MEHH6Rjx45eu028lc6ePHkyEyZMoEOHDuTn5xMREcHatWuLlXku2oUyevRo+vTp41xbmDlzJvHx8agqCQkJHssv9+/fn08//ZQ2bdrQrFkzunbtCsAll1zC8uXLGT9+PKdPnyY3N5cJEybQtm1b/vu//5suXbrQqFEjunTp4iSComWwfdW5c2fGjRvH/v37iY+Pp3///oSEhLBo0SKGDBniXCyePn260zXk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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "hospitalizationToDeathPeriod_mean, hospitalizationToDeathPeriod_coeffvar = 7.0, 0.45\n", "MU_H = 1 / gamma_dist(hospitalizationToDeathPeriod_mean, hospitalizationToDeathPeriod_coeffvar, N)\n", "\n", "dist_info([1/ETA, 1/MU_H, 1/ETA+1/MU_H], [\"onset-to-hospitalization period\", \"hospitalization-to-death period\", \"onset-to-death period\"], plot=True, colors=['crimson', 'darkgray', 'black'], reverse_plot=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set severity parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Specify the percentage of cases that are asymptomatic. This percentage of case will progress from the pre-symptomatic state to the asymptomatic state, rather than to the symptomatic state." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "PCT_ASYMPTOMATIC = 0.25" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify the case hospitalization rate. The value used here is approximately the age-frequency-weighted average of age-stratified hospitalization rates for working age adults using data from [Verity et al. (2020)](https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30243-7/fulltext)." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "PCT_HOSPITALIZED = 0.035" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify the case fatality rate for hospitalized cases. The value used here is approximately the age-frequency-weighted average of age stratified hospitalization fatality rates for working age adults, again using figures from [Verity et al. (2020)](https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30243-7/fulltext)." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "PCT_FATALITY = 0.08" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set transmission parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [Extended SEIRS Network Model](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#stochastic-network-model-implementation) model considers two modes of disease transmission: a well-mixed mode of [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission) and a contact network based mode of [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission). The propensity for a given individual to become exposed due to global transmission depends on the mean transmissibility of all infectious individuals in the population; the propensity for a given individual to become exposed due to local transmission depends on the pairwise transmissibilities between the focal node and its infectious contacts in the network (see [Transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#transmission) and [Model Equations](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#model-equations) for more information about these calculations). " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The transmissibility parameter *β* can be related to the basic reproduction number *R0* (i.e., the expected number of new infections generated by a single infectious individual in a completely susceptible population) by the standard formula: *β = R0𝛾*. *R0* is a more interpretable parameter, so we specify transmissibility in terms of *R0* and then calculate the corresponding *β* values.\n", "\n", "First, we generate a distribution of individual *R0* values (i.e., the expected number of new infections generated by a single *particular* infectious individual in a completely susceptible population). Of course, this means that transmissibility is heterogeneous in this population. The coefficient of variation is an important parameter for the individual *R0* distribution in that it tunes the degree of superspreading in the heterogeneous transmissibility. The distribution used in this example has a relatively low coefficient of variation, so most individuals have around the same degree of transmissibility. But a higher coefficient of variation (e.g., 2.0) would give a long right tail in idividual transmissibility representing a small number of individuals contributing many cases while the majority cases contribute less than 1 on average when they are infectious." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Individual R0: mean = 2.05, std = 0.41, 95% CI = (1.31, 2.86)\n", "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "R0_mean = 2.0\n", "R0_coeffvar = 0.2\n", "\n", "R0 = gamma_dist(R0_mean, R0_coeffvar, N)\n", "\n", "dist_info(R0, \"Individual R0\", bin_size=0.1, plot=True, colors='crimson')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Individuals are ultimately assigned an [*Individual Transmissibility Value*](https://github.com/ryansmcgee/seirsplus/wiki/ExtSEIRSNetworkModel-Class#transmissibility-parameters) (*βi*), which are stored in the `beta` attribute of the model object. \n", "\n", "The means of the Individual Transmissibility Values for infectious subpopulations are used to calculate the [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission) terms. Individual Transmissibility Values may also be used to generate the Pairwise Transmissibility Values used for [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission) terms, as we will specify in a few steps." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "BETA = 1/infectiousPeriod * R0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the stochastic network model, an individual comes into contact with a random individual from the population at large (e.g., in a public space) with probability *p* or with an individual from their set of close contacts with probability *(1-p)*. Transmission that occurs between an individual and the population at large is referred to as [global transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#global-transmission), and transmission between an individual and one of their close contacts (network neighbors) is referred to as [local transmission](https://github.com/ryansmcgee/seirsplus/wiki/Extended-SEIRS-Model-Description#local-transmission). The parameter *p* defines the locality of the network: for *p=0* an individual only interacts with their close contacts, while *p=1* represents a uniformly mixed population.\n", "\n", "Here we set *p* to reflect 40% of interactions being with incidental or casual contacts outside their set of close contacts." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "P_GLOBALINTXN = 0.4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set Testing, Tracing, & Isolation (TTI) intervention protocol parameters:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we specify the parameters that govern the Testing, Tracing, and Isolation protocol that is implemented by the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop). The implementation of this TTI protocol and the interpretation of these parameters is desribed in detail on the [TTI Simulation Loop wiki page](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop) (but these parameters are briefly explained as code comments below).\n", "\n", "**The scenario set up in the steps that follow involves the entire workforce being tested on a weekly basis, a 2-day test turn around time, 50% of symptomatic individuals self-reporting and getting tested within 1 day of onset, 30% of symptomatics self-isolating even without a positive test, and teams of detected positive cases being proactively isolated. A new exogenous exposures comes into the workplace about once a week.**" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "INTERVENTION_START_PCT_INFECTED = 0/100\n", "AVERAGE_INTRODUCTIONS_PER_DAY = 1/14 # expected number of new exogenous exposures per day\n", "\n", "TESTING_CADENCE = 'weekly' # how often to do testing (other than self-reporting symptomatics who can get tested any day)\n", "PCT_TESTED_PER_DAY = 1.0 # max daily test allotment defined as a percent of population size\n", "TEST_FALSENEG_RATE = 'temporal' # test false negative rate, will use FN rate that varies with disease time\n", "MAX_PCT_TESTS_FOR_SYMPTOMATICS = 1.0 # max percent of daily test allotment to use on self-reporting symptomatics\n", "MAX_PCT_TESTS_FOR_TRACES = 0.0 # max percent of daily test allotment to use on contact traces\n", "RANDOM_TESTING_DEGREE_BIAS = 0 # magnitude of degree bias in random selections for testing, none here\n", "\n", "PCT_CONTACTS_TO_TRACE = 0.0 # percentage of primary cases' contacts that are traced\n", "TRACING_LAG = 2 # number of cadence testing days between primary tests and tracing tests\n", "\n", "ISOLATION_LAG_SYMPTOMATIC = 1 # number of days between onset of symptoms and self-isolation of symptomatics\n", "ISOLATION_LAG_POSITIVE = 2 # test turn-around time (TAT): number of days between administration of test and isolation of positive cases\n", "ISOLATION_LAG_CONTACT = 0 # number of days between a contact being traced and that contact self-isolating\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set intervention compliance parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we specify the compliance rates (i.e., the percentage of individuals who are compliant) for each intervention type. See the [TTI Simulation Loop](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop) documentation for more information about compliance." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "TESTING_COMPLIANCE_RATE_SYMPTOMATIC = 0.5 \n", "TESTING_COMPLIANCE_RATE_TRACED = 0.0\n", "TESTING_COMPLIANCE_RATE_RANDOM = 1.0 # Assume employee testing is mandatory, so 100% compliance\n", "\n", "TRACING_COMPLIANCE_RATE = 0.0\n", "\n", "ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_INDIVIDUAL = 0.3\n", "ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_GROUPMATE = 0.0\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_INDIVIDUAL = 0.0\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_GROUPMATE = 0.8 # Isolate teams with a positive member, but suppose 20% of employees are essential workforce\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACT = 0.0\n", "ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACTGROUPMATE = 0.0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we randomly assign a `True/False` compliance to each individual according to the rates set above. Individuals whose compliance is set to `True` for a given intervention will participate in that intervention, individuals set to `False` will not." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "TESTING_COMPLIANCE_RANDOM = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_RANDOM)\n", "TESTING_COMPLIANCE_TRACED = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_TRACED)\n", "TESTING_COMPLIANCE_SYMPTOMATIC = (numpy.random.rand(N) < TESTING_COMPLIANCE_RATE_SYMPTOMATIC)\n", "\n", "TRACING_COMPLIANCE = (numpy.random.rand(N) < TRACING_COMPLIANCE_RATE)\n", "\n", "ISOLATION_COMPLIANCE_SYMPTOMATIC_INDIVIDUAL = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_INDIVIDUAL)\n", "ISOLATION_COMPLIANCE_SYMPTOMATIC_GROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_SYMPTOMATIC_GROUPMATE)\n", "ISOLATION_COMPLIANCE_POSITIVE_INDIVIDUAL = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_INDIVIDUAL)\n", "ISOLATION_COMPLIANCE_POSITIVE_GROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_GROUPMATE)\n", "ISOLATION_COMPLIANCE_POSITIVE_CONTACT = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACT)\n", "ISOLATION_COMPLIANCE_POSITIVE_CONTACTGROUPMATE = (numpy.random.rand(N) < ISOLATION_COMPLIANCE_RATE_POSITIVE_CONTACTGROUPMATE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initializing the model" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:2118: RuntimeWarning: invalid value encountered in true_divide\n", " self.delta_Q = numpy.log(self.degree_Q)/numpy.log(numpy.mean(self.degree_Q)) if self.parameters['delta_Q'] is None else numpy.array(self.parameters['delta_Q']) if isinstance(self.parameters['delta_Q'], (list, numpy.ndarray)) else numpy.full(fill_value=self.parameters['delta_Q'], shape=(self.numNodes,1))\n" ] } ], "source": [ "model = ExtSEIRSNetworkModel(G=G_baseline, p=P_GLOBALINTXN,\n", " beta=BETA, sigma=SIGMA, lamda=LAMDA, gamma=GAMMA, \n", " gamma_asym=GAMMA, eta=ETA, gamma_H=GAMMA_H, mu_H=MU_H, \n", " a=PCT_ASYMPTOMATIC, h=PCT_HOSPITALIZED, f=PCT_FATALITY, \n", " G_Q=G_quarantine, isolation_time=14,\n", " initE=INIT_EXPOSED)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running the model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set the max simulation time to 300 days." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "T = 300" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Execute the TTI simulation scenario by calling the `run_tti_sim()` function, which runs a custom simulation loop that implements the [TTI Simulation Protocol](https://github.com/ryansmcgee/seirsplus/wiki/TTI-Simulation-Loop)." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[NEW EXPOSURE @ t = 1.27 (1 exposed)]\n", "[INTERVENTIONS @ t = 1.27 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 2.19 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 3.47 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 4.68 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 6.50 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 7.20 (8 (1.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t798\ttested randomly [+ 4 positive (0.50 %) +]\n", "\t799\ttested TOTAL [+ 5 positive (0.63 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5 will isolate due to positive test (69 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 8.59 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 9.01 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t69 entered isolation\n", "[INTERVENTIONS @ t = 11.07 (7 (0.88%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (10 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 12.07 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 13.01 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 14.23 (5 (0.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t792\ttested randomly [+ 3 positive (0.38 %) +]\n", "\t793\ttested TOTAL [+ 4 positive (0.50 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4 will isolate due to positive test (75 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 15.48 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 16.72 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 17.18 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 18.20 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 19.62 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 20.01 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 23.49 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 24.03 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 25.42 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 26.49 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 27.13 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 28.15 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t785\ttested randomly [+ 6 positive (0.76 %) +]\n", "\t785\ttested TOTAL [+ 6 positive (0.76 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6 will isolate due to positive test (80 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 29.52 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 30.03 (7 (0.88%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t81 entered isolation\n", "[INTERVENTIONS @ t = 31.17 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 32.31 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 33.29 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 34.23 (4 (0.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (13 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 35.01 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t774\ttested randomly [+ 2 positive (0.26 %) +]\n", "\t774\ttested TOTAL [+ 2 positive (0.26 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (39 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 36.41 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t13 entered isolation\n", "[INTERVENTIONS @ t = 37.41 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t40 entered isolation\n", "[INTERVENTIONS @ t = 38.92 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 39.05 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 40.02 (5 (0.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (26 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 42.41 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t770\ttested randomly [+ 1 positive (0.13 %) +]\n", "\t770\ttested TOTAL [+ 1 positive (0.13 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 43.21 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t27 entered isolation\n", "[INTERVENTIONS @ t = 44.45 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 51.69 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 52.50 (2 (0.25%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 57.29 (1 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 58.24 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 59.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 60.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 61.00 (1 exposed)]\n", "[INTERVENTIONS @ t = 61.00 (0 (0.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 62.08 (1 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 63.66 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t768\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t768\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 64.17 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 65.16 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 66.29 (8 (1.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (18 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[NEW EXPOSURE @ t = 67.00 (1 exposed)]\n", "[INTERVENTIONS @ t = 67.00 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 68.20 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t19 entered isolation\n", "[INTERVENTIONS @ t = 69.21 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 70.24 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t761\ttested randomly [+ 5 positive (0.66 %) +]\n", "\t762\ttested TOTAL [+ 6 positive (0.79 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6 will isolate due to positive test (95 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 71.74 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t21 entered isolation\n", "[NEW EXPOSURE @ t = 72.23 (1 exposed)]\n", "[INTERVENTIONS @ t = 72.23 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t95 entered isolation\n", "[INTERVENTIONS @ t = 73.16 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 74.06 (6 (0.75%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 2 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (32 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 75.06 (1 exposed)]\n", "[INTERVENTIONS @ t = 75.06 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 76.41 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t32 entered isolation\n", "[INTERVENTIONS @ t = 77.54 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t749\ttested randomly [+ 2 positive (0.27 %) +]\n", "\t749\ttested TOTAL [+ 2 positive (0.27 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (33 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 78.06 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 79.05 (1 exposed)]\n", "[INTERVENTIONS @ t = 79.05 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t33 entered isolation\n", "[INTERVENTIONS @ t = 80.04 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 81.20 (9 (1.12%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (13 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 82.32 (9 (1.12%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 83.16 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t14 entered isolation\n", "[INTERVENTIONS @ t = 84.37 (8 (1.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t741\ttested randomly [+ 5 positive (0.67 %) +]\n", "\t742\ttested TOTAL [+ 6 positive (0.81 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6 will isolate due to positive test (116 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 85.33 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t3 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 87.16 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t119 entered isolation\n", "[INTERVENTIONS @ t = 88.04 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 91.18 (4 (0.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t736\ttested randomly [+ 2 positive (0.27 %) +]\n", "\t737\ttested TOTAL [+ 3 positive (0.41 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (63 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 92.58 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 93.36 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t64 entered isolation\n", "[INTERVENTIONS @ t = 94.27 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 95.58 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 99.14 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 104.64 (1 exposed)]\n", "[INTERVENTIONS @ t = 104.64 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 105.23 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t731\ttested randomly [+ 2 positive (0.27 %) +]\n", "\t731\ttested TOTAL [+ 2 positive (0.27 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (32 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 106.05 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 107.25 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t33 entered isolation\n", "[INTERVENTIONS @ t = 108.10 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 109.13 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 110.27 (10 (1.25%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 111.07 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 112.01 (16 (2.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t728\ttested randomly [+ 5 positive (0.69 %) +]\n", "\t728\ttested TOTAL [+ 5 positive (0.69 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t5 will isolate due to positive test (75 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 113.22 (1 exposed)]\n", "[INTERVENTIONS @ t = 113.22 (21 (2.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 114.11 (25 (3.12%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 2 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (31 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t75 entered isolation\n", "[INTERVENTIONS @ t = 115.15 (28 (3.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (14 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 116.06 (27 (3.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t32 entered isolation\n", "[INTERVENTIONS @ t = 117.22 (29 (3.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (22 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t15 entered isolation\n", "[INTERVENTIONS @ t = 118.07 (27 (3.38%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 1 positive (50.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (16 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 119.08 (29 (3.62%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t714\ttested randomly [+ 11 positive (1.54 %) +]\n", "\t716\ttested TOTAL [+ 12 positive (1.68 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t12 will isolate due to positive test (187 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 120.04 (27 (3.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t16 entered isolation\n", "[NEW EXPOSURE @ t = 121.01 (1 exposed)]\n", "[INTERVENTIONS @ t = 121.01 (28 (3.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t187 entered isolation\n", "[INTERVENTIONS @ t = 122.12 (29 (3.62%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 1 positive (50.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (16 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 123.05 (26 (3.25%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (6 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 124.02 (23 (2.88%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t17 entered isolation\n", "[INTERVENTIONS @ t = 125.15 (17 (2.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n", "[INTERVENTIONS @ t = 126.23 (13 (1.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t689\ttested randomly [+ 6 positive (0.87 %) +]\n", "\t690\ttested TOTAL [+ 7 positive (1.01 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7 will isolate due to positive test (109 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 127.03 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 128.54 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t110 entered isolation\n", "[NEW EXPOSURE @ t = 129.17 (1 exposed)]\n", "[INTERVENTIONS @ t = 129.17 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 130.30 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 132.13 (8 (1.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (10 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 133.54 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t678\ttested randomly [+ 1 positive (0.15 %) +]\n", "\t678\ttested TOTAL [+ 1 positive (0.15 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (15 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 135.36 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 136.09 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t15 entered isolation\n", "[INTERVENTIONS @ t = 138.69 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 139.15 (1 exposed)]\n", "[INTERVENTIONS @ t = 139.15 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 140.04 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t676\ttested randomly [+ 2 positive (0.30 %) +]\n", "\t676\ttested TOTAL [+ 2 positive (0.30 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (35 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 141.00 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 142.30 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t35 entered isolation\n", "[INTERVENTIONS @ t = 143.73 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 144.55 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 145.27 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 146.01 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 147.32 (4 (0.50%) infected)]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t671\ttested randomly [+ 3 positive (0.45 %) +]\n", "\t671\ttested TOTAL [+ 3 positive (0.45 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (60 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 150.59 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 151.42 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t60 entered isolation\n", "[INTERVENTIONS @ t = 152.19 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 153.09 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 156.35 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 157.03 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 158.07 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 160.60 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 161.20 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t667\ttested randomly [+ 2 positive (0.30 %) +]\n", "\t667\ttested TOTAL [+ 2 positive (0.30 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (28 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 162.87 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 163.64 (4 (0.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t28 entered isolation\n", "[INTERVENTIONS @ t = 164.25 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 165.85 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 166.20 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 167.24 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 168.28 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t664\ttested randomly [+ 3 positive (0.45 %) +]\n", "\t664\ttested TOTAL [+ 3 positive (0.45 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (43 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 169.05 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 170.12 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t43 entered isolation\n", "[INTERVENTIONS @ t = 171.15 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 172.18 (8 (1.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (17 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 173.07 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 174.12 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t18 entered isolation\n", "[INTERVENTIONS @ t = 175.61 (10 (1.25%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t656\ttested randomly [+ 7 positive (1.07 %) +]\n", "\t657\ttested TOTAL [+ 8 positive (1.22 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t8 will isolate due to positive test (100 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 176.10 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 177.11 (1 exposed)]\n", "[INTERVENTIONS @ t = 177.11 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t100 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 178.14 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 179.54 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (15 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 180.40 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[NEW EXPOSURE @ t = 181.04 (1 exposed)]\n", "[INTERVENTIONS @ t = 181.04 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t15 entered isolation\n", "[INTERVENTIONS @ t = 182.02 (14 (1.75%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t647\ttested randomly [+ 5 positive (0.77 %) +]\n", "\t649\ttested TOTAL [+ 7 positive (1.08 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t7 will isolate due to positive test (136 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 183.01 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 184.05 (16 (2.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (11 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t137 entered isolation\n", "[INTERVENTIONS @ t = 185.25 (15 (1.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[NEW EXPOSURE @ t = 186.12 (1 exposed)]\n", "[INTERVENTIONS @ t = 186.12 (16 (2.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t11 entered isolation\n", "[INTERVENTIONS @ t = 187.21 (15 (1.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 188.39 (15 (1.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 189.03 (16 (2.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t640\ttested randomly [+ 3 positive (0.47 %) +]\n", "\t640\ttested TOTAL [+ 3 positive (0.47 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (40 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 190.04 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (16 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 191.01 (14 (1.75%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t41 entered isolation\n", "[INTERVENTIONS @ t = 192.64 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t18 entered isolation\n", "[INTERVENTIONS @ t = 193.30 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 194.12 (15 (1.88%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (25 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 195.05 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 196.47 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t629\ttested randomly [+ 2 positive (0.32 %) +]\n", "\t629\ttested TOTAL [+ 2 positive (0.32 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (33 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t26 entered isolation\n", "[INTERVENTIONS @ t = 198.20 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 199.07 (13 (1.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (25 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t33 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[NEW EXPOSURE @ t = 200.01 (2 exposed)]\n", "[INTERVENTIONS @ t = 200.01 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (25 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 201.42 (10 (1.25%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (16 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t25 entered isolation\n", "[INTERVENTIONS @ t = 203.86 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t623\ttested randomly [+ 1 positive (0.16 %) +]\n", "\t623\ttested TOTAL [+ 1 positive (0.16 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (10 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t26 entered isolation\n", "[INTERVENTIONS @ t = 204.25 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t16 entered isolation\n", "[INTERVENTIONS @ t = 205.24 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 206.01 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 207.21 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (20 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 208.41 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 209.17 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[NEW EXPOSURE @ t = 210.12 (1 exposed)]\n", "[INTERVENTIONS @ t = 210.12 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t620\ttested randomly [+ 4 positive (0.65 %) +]\n", "\t620\ttested TOTAL [+ 4 positive (0.65 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4 will isolate due to positive test (59 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 211.23 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 212.02 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t59 entered isolation\n", "[INTERVENTIONS @ t = 213.21 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 214.13 (12 (1.50%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 2 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (49 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 215.09 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 216.17 (12 (1.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (10 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t49 entered isolation\n", "[INTERVENTIONS @ t = 218.56 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 219.08 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[INTERVENTIONS @ t = 220.41 (11 (1.38%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (7 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 222.22 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 223.24 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t7 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 224.27 (12 (1.50%) infected)]\n", "\t2\ttested due to symptoms [+ 2 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t605\ttested randomly [+ 4 positive (0.66 %) +]\n", "\t607\ttested TOTAL [+ 6 positive (0.99 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t6 will isolate due to positive test (82 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 225.31 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 226.02 (16 (2.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t82 entered isolation\n", "[INTERVENTIONS @ t = 227.26 (14 (1.75%) infected)]\n", "\t2\ttested due to symptoms [+ 1 positive (50.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t2\ttested TOTAL [+ 1 positive (50.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 228.03 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 229.31 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t21 entered isolation\n", "[INTERVENTIONS @ t = 230.09 (13 (1.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (13 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 231.62 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t592\ttested randomly [+ 4 positive (0.68 %) +]\n", "\t592\ttested TOTAL [+ 4 positive (0.68 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t4 will isolate due to positive test (56 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 232.39 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t13 entered isolation\n", "[INTERVENTIONS @ t = 233.06 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t56 entered isolation\n", "[INTERVENTIONS @ t = 234.04 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 235.13 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 236.19 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 237.15 (10 (1.25%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (14 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 238.19 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t586\ttested randomly [+ 2 positive (0.34 %) +]\n", "\t586\ttested TOTAL [+ 2 positive (0.34 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (40 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 239.28 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t14 entered isolation\n", "[INTERVENTIONS @ t = 240.32 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t41 entered isolation\n", "[INTERVENTIONS @ t = 241.22 (7 (0.88%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 244.47 (6 (0.75%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (10 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 245.09 (5 (0.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t581\ttested randomly [+ 1 positive (0.17 %) +]\n", "\t581\ttested TOTAL [+ 1 positive (0.17 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (20 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 246.57 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t10 entered isolation\n", "[NEW EXPOSURE @ t = 247.85 (1 exposed)]\n", "[INTERVENTIONS @ t = 247.85 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 248.12 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 249.01 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 250.41 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 251.48 (13 (1.62%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 252.22 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t577\ttested randomly [+ 3 positive (0.52 %) +]\n", "\t577\ttested TOTAL [+ 3 positive (0.52 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (46 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 253.10 (17 (2.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 254.01 (18 (2.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t46 entered isolation\n", "[INTERVENTIONS @ t = 255.03 (20 (2.50%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 256.30 (20 (2.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 257.01 (24 (3.00%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 258.09 (26 (3.25%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 259.02 (24 (3.00%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t570\ttested randomly [+ 11 positive (1.93 %) +]\n", "\t571\ttested TOTAL [+ 12 positive (2.10 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t12 will isolate due to positive test (170 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 260.12 (22 (2.75%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (20 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t22 entered isolation\n", "[INTERVENTIONS @ t = 261.00 (19 (2.38%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (25 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t172 entered isolation\n", "[INTERVENTIONS @ t = 262.05 (15 (1.88%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (24 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 263.23 (19 (2.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t25 entered isolation\n", "[INTERVENTIONS @ t = 264.20 (19 (2.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t24 entered isolation\n", "[INTERVENTIONS @ t = 265.03 (22 (2.75%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (21 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 266.02 (22 (2.75%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t550\ttested randomly [+ 10 positive (1.82 %) +]\n", "\t551\ttested TOTAL [+ 11 positive (2.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11 will isolate due to positive test (176 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 267.06 (26 (3.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t21 entered isolation\n", "[INTERVENTIONS @ t = 268.04 (26 (3.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t176 entered isolation\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[INTERVENTIONS @ t = 269.13 (23 (2.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 270.12 (22 (2.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 271.42 (20 (2.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 272.28 (20 (2.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 273.13 (19 (2.38%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t534\ttested randomly [+ 10 positive (1.87 %) +]\n", "\t535\ttested TOTAL [+ 11 positive (2.06 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t11 will isolate due to positive test (200 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 274.05 (19 (2.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 275.07 (20 (2.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t201 entered isolation\n", "[INTERVENTIONS @ t = 276.06 (18 (2.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[NEW EXPOSURE @ t = 277.02 (1 exposed)]\n", "[INTERVENTIONS @ t = 277.02 (14 (1.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[INTERVENTIONS @ t = 278.19 (13 (1.62%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t2 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (19 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 279.17 (12 (1.50%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t2 entered isolation\n", "[INTERVENTIONS @ t = 280.57 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t517\ttested randomly [+ 3 positive (0.58 %) +]\n", "\t517\ttested TOTAL [+ 3 positive (0.58 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (57 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t20 entered isolation\n", "[INTERVENTIONS @ t = 281.03 (10 (1.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 282.20 (11 (1.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t57 entered isolation\n", "[INTERVENTIONS @ t = 283.02 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 284.67 (9 (1.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 285.11 (7 (0.88%) infected)]\n", "\t1\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 286.01 (8 (1.00%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[NEW EXPOSURE @ t = 287.21 (1 exposed)]\n", "[INTERVENTIONS @ t = 287.21 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t510\ttested randomly [+ 3 positive (0.59 %) +]\n", "\t510\ttested TOTAL [+ 3 positive (0.59 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t3 will isolate due to positive test (55 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 288.26 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 290.17 (6 (0.75%) infected)]\n", "\t1\ttested due to symptoms [+ 1 positive (100.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t1\ttested TOTAL [+ 1 positive (100.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t1 will isolate due to positive test (6 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t55 entered isolation\n", "[INTERVENTIONS @ t = 291.66 (7 (0.88%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 292.13 (6 (0.75%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t6 entered isolation\n", "[INTERVENTIONS @ t = 293.51 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 294.53 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t504\ttested randomly [+ 2 positive (0.40 %) +]\n", "\t504\ttested TOTAL [+ 2 positive (0.40 %) +]\n", "\t1 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t2 will isolate due to positive test (29 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 295.52 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t1 entered isolation\n", "[NEW EXPOSURE @ t = 296.15 (1 exposed)]\n", "[INTERVENTIONS @ t = 296.15 (1 (0.12%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t29 entered isolation\n", "[INTERVENTIONS @ t = 298.83 (3 (0.38%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 299.48 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n", "[INTERVENTIONS @ t = 306.28 (2 (0.25%) infected)]\n", "\t0\ttested due to symptoms [+ 0 positive (0.00 %) +]\n", "\t0\ttested as traces [+ 0 positive (0.00 %) +]\n", "\t0\ttested randomly [+ 0 positive (0.00 %) +]\n", "\t0\ttested TOTAL [+ 0 positive (0.00 %) +]\n", "\t0 will isolate due to symptoms (0 as groupmates of symptomatic)\n", "\t0 will isolate due to positive test (0 as groupmates of positive)\n", "\t0 will isolate due to positive contact (0 as groupmates of contact)\n", "\t0 entered isolation\n" ] }, { "data": { "text/plain": [ "(1.2725434793291166, 306.2766120199331)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run_tti_sim(model, T, \n", " intervention_start_pct_infected=INTERVENTION_START_PCT_INFECTED, average_introductions_per_day=AVERAGE_INTRODUCTIONS_PER_DAY,\n", " testing_cadence=TESTING_CADENCE, pct_tested_per_day=PCT_TESTED_PER_DAY, test_falseneg_rate=TEST_FALSENEG_RATE, \n", " testing_compliance_symptomatic=TESTING_COMPLIANCE_SYMPTOMATIC, max_pct_tests_for_symptomatics=MAX_PCT_TESTS_FOR_SYMPTOMATICS,\n", " testing_compliance_traced=TESTING_COMPLIANCE_TRACED, max_pct_tests_for_traces=MAX_PCT_TESTS_FOR_TRACES,\n", " testing_compliance_random=TESTING_COMPLIANCE_RANDOM, random_testing_degree_bias=RANDOM_TESTING_DEGREE_BIAS,\n", " tracing_compliance=TRACING_COMPLIANCE, pct_contacts_to_trace=PCT_CONTACTS_TO_TRACE, tracing_lag=TRACING_LAG,\n", " isolation_compliance_symptomatic_individual=ISOLATION_COMPLIANCE_SYMPTOMATIC_INDIVIDUAL, isolation_compliance_symptomatic_groupmate=ISOLATION_COMPLIANCE_SYMPTOMATIC_GROUPMATE, \n", " isolation_compliance_positive_individual=ISOLATION_COMPLIANCE_POSITIVE_INDIVIDUAL, isolation_compliance_positive_groupmate=ISOLATION_COMPLIANCE_POSITIVE_GROUPMATE,\n", " isolation_compliance_positive_contact=ISOLATION_COMPLIANCE_POSITIVE_CONTACT, isolation_compliance_positive_contactgroupmate=ISOLATION_COMPLIANCE_POSITIVE_CONTACTGROUPMATE,\n", " isolation_lag_symptomatic=ISOLATION_LAG_SYMPTOMATIC, isolation_lag_positive=ISOLATION_LAG_POSITIVE, \n", " isolation_groups=list(teams.values()))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "total percent infected: 37.50%\n", "total percent fatality: 0.00%\n", "peak pct hospitalized: 0.25%\n" ] } ], "source": [ "results_summary(model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualizing the results" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/seirsplus/models.py:3067: UserWarning: FixedFormatter should only be used together with FixedLocator\n", " ax.set_yticklabels(['{:,.0%}'.format(y) for y in ax.get_yticks()])\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = model.figure_infections(combine_Q_infected=False, plot_Q_R='stacked', plot_Q_S='stacked')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.4" } }, "nbformat": 4, "nbformat_minor": 4 } seirsplus-1.1.0/examples/Legacy_deterministic_model_demo.ipynb000066400000000000000000003062051375244156600247610ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SEIRS+ Deterministic Model Demo\n", "\n", "**This notebook provides a demonstration of the core functionality of the SEIRS+ Graph Model and offers a sandbox for easily changing simulation parameters and scenarios.** \n", "For a more thorough walkthrough of the model and use of this package, refer to the README." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and Importing the model code\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```sudo pip install seirsplus```\n", "\n", "Then, the ```models``` module can be imported into your scripts as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "import networkx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. In this case, the easiest way to use the module is to place your scripts in the same directory as the module, and import the module as shown here:*\n", "```python\n", "from models import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initializing the model parameters\n", "All model parameter values are set in the call to the ```SEIRSModel``` constructor. The basic SEIR parameters ```beta```, ```sigma```, ```gamma```, and ```initN``` are the only required arguments. All other arguments represent parameters for optional extended model dynamics; these optional parameters take default values that turn off their corresponding dynamics when not provided in the constructor. For clarity and ease of customization in this notebook, all available model parameters are listed below. \n", "\n", "For more information on parameter meanings, see the README.\n", "\n", "*The parameter values shown correspond to rough estimates of parameter values for the COVID-19 epidemic.*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "model = SEIRSModel(initN =1000000,\n", " beta =0.147, \n", " sigma =1/5.2, \n", " gamma =1/12.39, \n", " mu_I =0.0004,\n", " mu_0 =0, \n", " nu =0, \n", " xi =0,\n", " beta_D =0.147, \n", " sigma_D =1/5.2, \n", " gamma_D =1/12.39, \n", " mu_D =0.0004,\n", " theta_E =0, \n", " theta_I =0, \n", " psi_E =1.0, \n", " psi_I =1.0,\n", " initI =10000, \n", " initE =0, \n", " initD_E =0, \n", " initD_I =0, \n", " initR =0, \n", " initF =0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checkpoints\n", "Model parameters can be easily changed during a simulation run using checkpoints. A dictionary holds a list of checkpoint times (```checkpoints['t']```) and lists of new values to assign to various model parameters at each checkpoint time. Any model parameter listed in the model constrcutor can be updated in this way. Only model parameters that are included in the checkpoints dictionary have their values updated at the checkpoint times, all other parameters keep their pre-existing values.\n", "\n", "*The checkpoints shown here correspond to starting social distancing (transmission rate ```beta``` reduced) and testing at time ```t=20``` (testing rates ```theta_E``` and ```theta_I``` are set to non-zero values) and then stopping social distancing at time ```t=100``` (```beta``` returned to its \"normal\" value; testing params remain non-zero).*" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "checkpoints = {'t': [50, 100], \n", " 'beta': [0.12, 0.147], \n", " 'theta_E': [0.02, 0.02], \n", " 'theta_I': [0.02, 0.02]\n", " }" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running the simulation" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[Checkpoint: Updating parameters]\n", "t = 49.90\n", "[Checkpoint: Updating parameters]\n", "t = 99.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.run(T=300, checkpoints=checkpoints)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing the results\n", "The ```SEIRSNetworkModel``` class has a ```plot()``` convenience function for plotting simulation results on a matplotlib axis. This function generates a line plot of the frequency of each model state in the population by default, but there are many optional arguments that can be used to customize the plot.\n", "\n", "The ```SEIRSNetworkModel``` class also has convenience functions for generating a full figure out of model simulation results (optionaly arguments can be provided to customize the plots generated by these functions). \n", "- ```figure_basic()``` calls the ```plot()``` function with default parameters to generate a line plot of the frequency of each state in the population.\n", "- ```figure_infections()``` calls the ```plot()``` function with default parameters to generate a stacked area plot of the frequency of only the infection states ($E$, $I$, $D_E$, $D_I$) in the population.\n", "\n", "For more information on the built-in plotting functions, see the README." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtwAAAHhCAYAAABdpWmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmYnVWZ7/3vqqpdcyWEJBCmkIRACIQwJEiYwQAioAyi\nAoqgKH16sLXtVltb2+Ps6dfZc1rECUEUQwQjg2kGCRAZJCggiIQQMs9zKklV7dp7vX9Ugagkedi7\ndq0avp/rqit7fPavvBO5a9X9rCfEGJEkSZJUGVWpA0iSJEkDmQ23JEmSVEE23JIkSVIF2XBLkiRJ\nFWTDLUmSJFWQDbckSZJUQRVpuEMIuRDCDSGEB0MIvw0hvDmEMD6EMLf7sW+HEKq6v34RQng0hHBm\n93vHhRC+UYlckiRJUm+r1Ar3O4H1McaTgbOB/wt8FfhE92MBOB84CljU/Zp/6n7vJ4AvVCiXJEmS\n1Ksq1XDfDHyy+3YAOoEpwP3dj/0KOANoBRq6v7aFEE4Eno8xrq5QLkmSJKlX1VTioDHGVoAQQgsw\nk65V6y/HP1/WciswNMY4P4SwDPgy8Bngs8BHQwjfBjbStSJefOWxQwhXA1cDHHbYYVOeeeaZSnwL\nqrA77rgDgHPPPTdxEpXC+kmSBqFQ6hsrdtJkCOEA4D7ghhjjT4BXNs4twCaAGONnY4yXAccAs4D3\nAd8HNgDT//q4McZrY4xTY4xTGxoaKhVfFZbL5cjlcqljqETWT5Kk7Cqywh1C2Bu4C/inGOO93Q//\nPoRwWoxxDvBGuprxl15fD7wFuBj4OlAAItBciXxK76yzzkodQWWwfpIkZVeRhhv4ODAM+GQI4aVZ\n7g8A3wwh1ALP0jVq8pIPAt+MMcYQwg+B7wBbgAsqlE+SJEnqFeHPY9X9z9SpU+O8efNSx1AJbrvt\nNgDe9KY3JU6iUlg/SdIgVPIMd6VWuKVdcv6+f7N+kiRl5wq3JEmStHt9b5cSSZIkSTbcSmTWrFnM\nmjUrdQyVyPpJkpSdM9xKYsiQIakjqAzWT5Kk7JzhliRJ0oBz1VVX8fWvf52WlpaeOqS7lEiSJKn/\nWP+l79G5bHXJ76/Zf2+G//t7d/r81q1be7LZLosNt5K45ZZbALjooosSJ1EprJ8kqVydy1aTG71P\nye/PL1m50+daW1tpamoq+dg9zYZbSQwfPjx1BJXB+kmS+rKFCxcybty41DFeZsOtJE499dTUEVQG\n6ydJ6ssWLFjQpxputwWUJEnSgLJgwQIOOuig1DFe5gq3kpg5cyYAF198ceIkKoX1kySVq2b/vXc5\nh53l/TuzcOFC3v3ud5d87J5mw60kRo0alTqCymD9JEnl2tUOI+W65pprKnbsUrgPtyRJkrR7Je/D\n7Qy3JEmSVEE23EpixowZzJgxI3UMlcj6SZKUnTPcSmL//fdPHUFlsH6SJGXnDLckSZK0e85wS5Ik\nSX2RIyVK4qc//SkAl156aeIkKoX1kyT1dVdddRUdHR3EGNlrr7349Kc/TUtLS5IsNtxKYuzYsakj\nqAzWT5LU123duvXlE/xnzJjBNddcw4c//OEkWWy4lcS0adNSR1AZrJ8kqVwLfraatnUdJb+/fkQt\n49/+6lebbG1tpamp6eX706dP50Mf+lDJn1UuG25JkiT1urZ1HTSMrC35/TvW7rxZX7hwIePGjXv5\n/tatW6mrqyv5s8rlSZNK4sYbb+TGG29MHUMlsn6SpL5swYIFf9FwP/744xxzzDF/8ZqNGzfy4x//\n+OU/K8kVbiVxyCGHpI6gMlg/SVJftmDBAk4++WSga7X7xz/+Md///vfZtGkTv/rVr3jiiSc477zz\nmDRpEk8//TSTJk2qaB4bbiVx7LHHpo6gMlg/SVJftnDhQn77299SU1PDkCFD+NKXvsSee+7JY489\nRi6Xo6Ojg2effZYrrriCH/3oR1xxxRUVzWPDLUmSpF5XP6J2l3PYWd6/M9dcc82rPv7oo49y0EEH\nUV9fT3t7O3V1dS//WUleaVJJXH/99QC8613vSpxEpbB+kqRBqOQrTbrCrSQOP/zw1BFUBusnSVJ2\nNtxKYsqUKakjqAzWT5Kk7NwWUJIkSaogG24lcd1113HdddeljqESWT9JkrJzpERJHHXUUakjqAzW\nT5Kk7Gy4lYQNW/9m/SRJys6REiVRKBQoFAqpY6hE1k+SpOxsuJXEDTfcwA033JA6hkpk/SRJys6R\nEiVxzDHHpI6gMlg/SVJfd9VVV9HR0XUly1wux/e//31CKPnaNWWx4VYSkydPTh1BZbB+kqSyPfmf\nsH1J6e9vHA1HfmanT2/evJmZM2eWfvweZMOtJPL5PND1E6f6H+snSSrb9iXQNKb0929btNOnWltb\nqa+vL/3YPcwZbiVx4403cuONN6aOoRJZP0lSX7Zw4UIWLVrE5ZdfzuWXX86cOXOS5nGFW0lMnTo1\ndQSVwfpJkvqyBQsW8N73vpcrr7wydRTAhluJTJo0KXUElcH6SZL6sgULFnDSSSeljvEyG24l0dbW\nBtCn5quUnfWTJPVlCxcu5Le//S3f/va3Afjud7+b9L9ZNtxK4qabbgLoM7/q0Wtj/SRJZWscvcsT\nHzO9fyeuueaa0o9bATbcSuK4445LHUFlsH6SpLLtYku/gcaGW0lMnDgxdQSVwfpJkpSd2wIqie3b\nt7N9+/bUMVQi6ydJUnYVa7hDCMeFEOZ03z4qhPBICGFuCOEHIYSq7se/0/34u7rvDw0h/LhSmdR3\nzJgxgxkzZqSOoRJZP0mSsqvISEkI4SPA5cC27oc+BXwmxnhnCOFG4NwQwkPA3sAJwK+B64GPAV+q\nRCb1Lccff3zqCCqD9ZMkKbtKzXC/AFwE3NB9//fAniGEALQAeaCt+/NrgbYQwjigKcb49K4OHEK4\nGrgaYPTonZ+dqr5twoQJqSOoDNZPkqTsKjJSEmP8OV1N9UueB74JPEvXqvacGOM24Da6VrY/DfwH\n8I0QwjdDCF8LITTt5NjXxhinxhinjhw5shLx1QtaW1tpbW1NHUMlsn6SJGXXWydNfgM4OcZ4KF0N\n9lcAYozfiTG+DQjAQmA68ADwG+CyXsqmBGbOnMnMmTNTx1CJrJ8kSdn11raAG4At3bdXACf+1fMf\nomvm+38Ba+j6QaC5l7Ipgb50uVW9dtZPkqTseqvhfi9wUwihE+gA3vfSEyGES4DbYow7Qgg3Az8D\nisAlvZRNCYwfPz51BJXB+kmSlF2IMabOULKpU6fGefPmpY6hEmzevBmAoUOHJk6iUlg/SdIgFEp9\noxe+URK33nort956a+oYKpH1kyQpOy/triROOeWU1BFUBusnSVJ2NtxKYty4cakjqAzWT5Kk7Bwp\nURIbN25k48aNqWOoRNZPkqTsbLiVxKxZs5g1a1bqGCqR9ZMkKTtHSpTEaaedljqCymD9JEnKzoZb\nSYwZMyZ1BJXB+kmSlJ0jJUpi3bp1rFu3LnUMlcj6SZKUnQ23krj99tu5/fbbU8dQiayfJEnZOVKi\nJKZPn546gspg/SRJys6GW0kccMABqSOoDNZPkqTsHClREmvWrGHNmjWpY6hE1k+SpOxsuJXEnXfe\nyZ133pk6hkpk/SRJys6REiVx5plnpo6gMlg/SZKys+FWEvvtt1/qCCqD9ZMkKTtHSpTEqlWrWLVq\nVeoYKpH1kyQpOxtuJTF79mxmz56dOoZKZP0kScrOkRIlcfbZZ6eOoDJYP0mSsrPhVhKjRo1KHUFl\nsH6SJGXnSImSWL58OcuXL08dQyWyfpIkZWfDrSTuvvtu7r777tQxVCLrJ0lSdo6UKIlzzjkndQSV\nwfpJkpSdDbeS2GuvvVJHUBmsnyRJ2TlSoiSWLl3K0qVLU8dQiayfJEnZ2XAriXvvvZd77703dQyV\nyPpJkpSdIyVK4rzzzksdQWWwfpIkZWfDrSRGjBiROoLKYP0kScrOkRIlsWjRIhYtWpQ6hkpk/SRJ\nys6GW0nMmTOHOXPmpI6hElk/SZKyc6RESZx//vmpI6gM1k+SpOxsuJXEsGHDUkdQGayfJEnZOVKi\nJBYuXMjChQtTx1CJrJ8kSdm5wq0kHnjgAQDGjRuXOIlKYf0kScrOhltJXHjhhakjqAzWT5Kk7Gy4\nlcTQoUNTR1AZrJ8kSdk5w60kFixYwIIFC1LHUImsnyRJ2bnCrSTmzp0LwPjx4xMnUSmsnyRJ2YUY\nY+oMJZs6dWqcN29e6hgqQWtrKwDNzc2Jk6gU1k+SNAiFUt/oCreSsFHr36yfJEnZOcOtJJ577jme\ne+651DFUIusnSVJ2rnAriYcffhiACRMmJE6iUlg/SZKyc4ZbSWzfvh2AxsbGxElUCusnSRqEnOFW\n/2Kj1r9ZP0mSsnOGW0k8++yzPPvss6ljqETWT5Kk7FzhVhKPPvooABMnTkycRKWwfpIkZecMt5Jo\na2sDoL6+PnESlcL6SZIGoZJnuCs2UhJCOC6EMKf79tEhhOUhhDndX28PIVSFEH4RQng0hHBm9+vG\nhRC+UalM6jvq6+tt1vox6ydJUnYVGSkJIXwEuBzY1v3QFOCrMcavvOI1xwCLgHcD1wF3A58APlaJ\nTOpbnn76aQAmTZqUOIlKYf0kScquUivcLwAXveL+FODcEMIDIYTvhxBagFagoftrWwjhROD5GOPq\nCmVSHzJv3jwcB+q/rJ8kSdlVbIY7hDAGuCnGOC2E8G7gqRjj4yGE/wCGxRj/LYTwSWAi8Bngs8BH\ngQ8DG4FPxBiLr3Lcq4GrAUaPHj1l8eLFFcmvysrn8wDkcrnESVQK6ydJGoRKnuHurYZ7jxjjpu7H\nDwO+FWOc/orXXkbXavvhwM+B04AnY4x37+ozPGlSkiRJvaTvnTT5V/4nhPC67tvTgcdfeiKEUA+8\nBbgRaAQKQASaeymbEnjqqad46qmnUsdQiayfJEnZ9dY+3H8PfCuEkAdW0T0S0u2DwDdjjDGE8EPg\nO8AW4IJeyqYEfve73wEwefLkxElUCusnSVJ27sOtJAqFAgDV1dWJk6gU1k+SNAiVPFLilSaVhI1a\n/2b9JEnKrrdmuKW/8MQTT/DEE0+kjqESWT9JkrKz4VYSNmz9m/WTJCk7Z7glSZKk3evz2wJKkiRJ\ng5INt5J4/PHHefzxx3f/QvVJ1k+SpOxsuJXEM888wzPPPJM6hkpk/SRJys4ZbkmSJGn3nOGWJEmS\n+iIbbiXx2GOP8dhjj6WOoRJZP0mSsrPhVhLz589n/vz5qWOoRNZPkqTsnOGWJEmSds8ZbkmSJKkv\nsuFWEo888giPPPJI6hgqkfWTJCk7G24l8eKLL/Liiy+mjqESWT9JkrJzhluSJEnaPWe4JUmSpL7I\nhltJPPTQQzz00EOpY6hE1k+SpOxqUgfQ4LRs2bLUEVQG6ydJUnbOcEuSJEm75wy3JEmS1BfZcCuJ\nuXPnMnfu3NQxVCLrJ0lSds5wK4lVq1aljqAyWD9JkrJzhluSJEnaPWe4JUmSpL7IhltJ3H///dx/\n//2pY6hE1k+SpOyc4VYS69evTx1BZbB+kiRl5wy3JEmStHvOcEuSJEl9kQ23krjvvvu47777UsdQ\niayfJEnZOcOtJLZs2ZI6gspg/SRJys4ZbkmSJGn3nOGWJEmS+iIbbiVxzz33cM8996SOoRJZP0mS\nsnOGW0ns2LEjdQSVwfpJkpSdM9ySJEnS7jnDLUmSJPVFNtxK4q677uKuu+5KHUMlsn6SJGXnDLeS\nyOfzqSOoDNZPkqTsnOGWJEmSds8ZbkmSJKkvsuFWErNnz2b27NmpY6hE1k+SpOxsuCVJkqQKcoZb\nkiRJ2j1nuCVJkqS+yIZbSdxxxx3ccccdqWOoRNZPkqTsKtZwhxCOCyHM6b59VAjhwRDCnBDC/4QQ\n9u5+/DshhEdCCO/qvj80hPDjSmVS35HL5cjlcqljqETWT5Kk7Coywx1C+AhwObAtxjgthHA/8IEY\n4xMhhL8DJgCfB74PXAT8OsZ4WgjhS8CPY4xPZ/kcZ7glSZLUS/rcDPcLdDXSL7kkxvhE9+0aoK37\nqwaoBdpCCOOApqzNtiRJktQfVKThjjH+HMi/4v5KgBDCCcA/AV+LMW4DbgOuBz4N/AfwjRDCN0MI\nXwshNL3asUMIV4cQ5oUQ5q1du7YS8dULbrvtNm677bbUMVQi6ydJUna9dtJkCOHtwDXAuTHGtQAx\nxu/EGN9G1xL9QmA68ADwG+CyVztOjPHaGOPUGOPUkSNH9k549biGhgYaGhpSx1CJrJ8kSdnV9MaH\nhBDeCfwdcFqMccOrvORDdM18/y9gDV0/CDT3RjalccYZZ6SOoDJYP0mSsqt4wx1CqAa+CSwBbgkh\nANwfY/xU9/OXALfFGHeEEG4GfgYUgUsqnU2SJEmqtIo13DHGRcC07rt77uJ1N73i9jLgxEplUt8x\na9YsAM4///zESVQK6ydJUna9MlIi/bUhQ4akjqAyWD9JkrKryD7cvcV9uCVJktRL+tw+3JIkSZKw\n4VYit9xyC7fcckvqGCqR9ZMkKbtMM9whhL2A+pfuxxiXVCyRBoXhw4enjqAyWD9JkrLb7Qx3COG/\ngXOAFXTNrsQY4wm9kG23nOGWJElSLyl5hjvLCvfrgHExxmKpHyJJkiQNVllmuBfwinESqSfMnDmT\nmTNnpo6hElk/SZKyy7LCPRpYHEJY0H2/z4yUqP8aNWpU6ggqg/WTJCm7LDPcB/71YzHGxRVL9Bo4\nwy1JkqReUtF9uAvAl4E7ga+X82GSJEnSYJOl4f4ucANwIvAj4PsVTaRBYcaMGcyYMSN1DJXI+kmS\nlF2WGe76GOMvu2//IoTwoUoG0uCw//77p46gMlg/SZKyy9Jw14QQjogx/iGEcASw66FvKYMTTvC8\n2/7M+kmSlF2WhvufgR+EEPYFlgNXVzaSJEmSNHDstuGOMf4eOLYXsmgQ+elPfwrApZdemjiJSmH9\nJEnKbqcNdwhhZozx4hDCSv48RvLSpd337ZV0GrDGjh2bOoLKYP0kScouyz7cB8QYl77i/qExxj9V\nPFkG7sMtSZKkXlLy1ti7WuGeBOwH/J8Qwoe7P6QK+BJwVKkfKEmSJA0mu5rhHgZcAuwNXNb9WBH4\n70qH0sB34403AvCOd7wjcRKVwvpJkpTdThvuGOODwIMhhGNijL/rxUwaBA455JDUEVQG6ydJUnZZ\ntgXcP4TwRSBH11jJiBjjEZWNpYHu2GPd+KY/s36SJGWX5dLunwP+N7CUrku7P1nJQJIkSdJAkqXh\nXhljfBggxngd4DWdVbbrr7+e66+/PnUMlcj6SZKUXZaRkvYQwilALoTwBmBEhTNpEDj88MNTR1AZ\nrJ8kSdll2Yd7P+BQYCXwWeDmGONNvZBtt9yHW5IkSb2kIvtwv3IbgpcufPOxUj9IkiRJGox2NVLy\nnZ08HoHXVyCLBpHrrrsOgCuvvDJpDpXG+kmSlN2u9uE+vTeDaHA56igvVtqfWT9JkrLb7UmTIYQX\n6VrVfsnmGOPRlYukwcCGrX+zfpIkZZdll5JDu/8MwBTgrZWLo8GiUCgAUF1dnTiJSmH9JEnKbrf7\ncMcY27u/2mKMvwGO6YVcGuBuuOEGbrjhhtQxVCLrJ0lSdllGSr7In0dK9gWKFU2kQeGYY/y5rT+z\nfpIkZZdlpORPr7j9JDC7Qlk0iEyePDl1BJXB+kmSlF2WS7vfDOwJTANGAtsrmkiDQj6fJ5/Pp46h\nElk/SZKyy9Jw/wTYm66V7dHADyuaSIPCjTfeyI033pg6hkpk/SRJyi7LSMnwGOO/d9+eFUJ4sJKB\nNDhMnTo1dQSVwfpJkpRdlob7mRDCiTHG34QQjgAWhxByQIgxdlQ4nwaoSZMmpY6gMlg/SZKyy9Jw\nnwy8IYSQB3Ldj82na+eScZUKpoGtra0NgPr6+sRJVArrJ0lSdrttuGOMhwOEEPYC1sUY3RZQZbvp\nppsAuPLKK9MGUUmsnyRJ2WXZh/s04AfAZmBYCOF9Mca7Kx1MA9txxx2XOoLKYP0kScouy0jJ54CT\nYowrQgj7AbcANtwqy8SJE1NHUBmsnyRJ2WXZFrAQY1wBEGNcDrRVNpIGg+3bt7N9u1u691fWT5Kk\n7LI03FtCCO8PIRwZQng/sKHSoTTwzZgxgxkzZqSOoRJZP0mSsssyUvJO4BN0jZY8C7ynook0KBx/\n/PGpI6gM1k+SpOyy7FKyOYTwELAeeDrGuLHysTTQTZgwIXUElcH6SZKU3W5HSkII3wPeDuwA3hVC\n+FrFU2nAa21tpbW1NXUMlcj6SZKUXZYZ7iNijJfEGL8RY3wbkOl3ySGE40IIc7pvjw8hzA0hPBhC\n+HYIoar76xchhEdDCGd2v25cCOEbJX836jdmzpzJzJkzU8dQiayfJEnZZZnhXhBCGBtjfLH74jdL\ndveGEMJHgMuBbd0PfRX4RIxxTgjhGuB8YDGwCHg3cB1dWw1+AvjYa/0m1P+cdNJJqSOoDNZPkqTs\nsjTc04BnQwhLgP2B9hDCSiDGGPfdyXteAC4Cbui+PwW4v/v2r4CzgG8ADd1f20IIJwLPxxhX7ypM\nCOFq4GqA0aNHZ4ivvmj8+PGpI6gM1k+SpOx2O1ISYzwoxlgfYzwkxtgYYxwWY9xnF802McafA/lX\nPBRijLH79lZgaIxxPrAM+DLwGeCDwM+6R06+EEJ41WwxxmtjjFNjjFNHjhyZ8dtUX7N582Y2b96c\nOoZKZP0kScouywx3Tyi+4nYLsAkgxvjZGONlwDHALOB9wPfp2ut7ei9lUwK33nort956a+oYKpH1\nkyQpuywjJT3h9yGE02KMc4A3Ave99EQIoR54C3Ax8HWgAESguZeyKYFTTjkldQSVwfpJkpTdThvu\nEMIPY4zvDiH8XYzxO2V+zr8C3w0h1NJ18ZxXbm/wQeCbMcYYQvgh8B1gC3BBmZ+pPmzcuHGpI6gM\n1k+SpOzCn0er/+qJEJ4FbgfeCvzklc/FGD9e+Wi7N3Xq1Dhv3rzUMVSCjRu7rp80bNiwxElUCusn\nSRqEQqlv3NUM9znAU3Rd8Oa5v/qSyjJr1ixmzZqVOoZKZP0kScpupyMlMcYXgRe7L14zBDiMrm37\nnuilbBrATjvttNQRVAbrJ0lSdllOmrwAeAfwCPDhEMKMGOOXKxtLA92YMWNSR1AZrJ8kSdllabgv\nA06KMXaGEHLAQ3TtnS2VbN26dQCMGDEicRKVwvpJkpRdln24Q4yxEyDGmOcvL2gjleT222/n9ttv\nTx1DJbJ+kiRll2WFe24IYSbwIHAS8JvKRtJgMH261zXqz6yfJEnZ7XRbwL94UQjnAhOBZ2OMd1Q8\nVUZuCyhJkqReUvK2gJmuNNndZPeZRlv935o1awDYa6+9EidRKayfJEnZZZnhlnrcnXfeyZ133pk6\nhkpk/SRJym63K9whhP1jjMtecX9CjNGL36gsZ555ZuoIKoP1kyQpu5023CGEScB+wP8JIXyk++Fq\n4IvAUb2QTQPYfvvtlzqCymD9JEnKblcr3MOAS4C9gUu7HysC/13pUBr4Vq1aBcCoUaMSJ1EprJ8k\nSdnt6tLuDwIPhhCOiTH+rhczaRCYPXs2AFdeeWXaICqJ9ZMkKbssu5QMDyHcCdS/9ECM8fWVi6TB\n4Oyzz04dQWWwfpIkZZel4f4a8EFgaYWzaBBxFKF/s36SJGWXpeFeEmO8p+JJNKgsX74c8OS7/sr6\nSZKUXZZ9uNeEEK4JIfxdCOHqEMLVFU+lAe/uu+/m7rvvTh1DJbJ+kiRll2WF+8XuP/0dsnrMOeec\nkzqCymD9JEnKbrcNd4zx0yGEM4BxwCPA/Iqn0oDnJcH7N+snSVJ2Wa40+QVgf2Ai0A58jD/vyy2V\nZOnSrnNwDzjggMRJVArrJ0lSdllmuE+KMb4LaI0x/ggYW+FMGgTuvfde7r333tQxVCLrJ0lSdllm\nuGtCCPVADCFUA4UKZ9IgcN5556WOoDJYP0mSssu6D/fjwEjg0e77UllGjBiROoLKYP0kScouy0mT\nN4cQHqFrl5LVMcYllY+lgW7RokUAjBkzJmkOlcb6SZKU3W5nuEMInwL+Psb4GPCVEMJHKx9LA92c\nOXOYM2dO6hgqkfWTJCm7EGPc9QtCeDzGOOUV938TYzyx4skymDp1apw3b17qGCrBxo0bARg2bFji\nJCqF9ZMkDUKh1DdmmeEuhhBqY4wdIYQc2XY2kXbJRq1/s36SJGWXpeH+NvB0COEPwKHA/6lsJA0G\nCxcuBGDcuHGJk6gU1k+SpOyyXtr9RLquNPlCjHFdZSNpMHjggQcAG7b+yvpJkpRdlhnuB2KMp/RS\nntfEGe7+a/PmzQAMHTo0cRKVwvpJkgahis5wxxDCrcBzQBEgxvjxUj9QAhu1/s76SZKUXZaG+wcV\nT6FBZ8GCBQCMHz8+cRKVwvpJkpRdlob7RuBKYDTwa+DpSgbS4DB37lzAhq2/sn6SJGWXpeG+BlgB\nnAk8BlwPnFPJUBr4Lr744tQRVAbrJ0lSdln21D4oxvifQFuM8TbA4U2Vrbm5mebm5tQxVCLrJ0lS\ndlka7poQwgi6Tp5sofvESakczz33HM8991zqGCqR9ZMkKbssIyWfAH4D7AM8Anywook0KDz88MMA\nTJgwIXESlcL6SZKU3W734QYIIdQA+wJLY5Y39BL34e6/tm/fDkBjY2PiJCqF9ZMkDUIl78O925GS\nEMJFwPPAL4DnQwhnlvph0ksaGxtt1vox6ydJUnZZRko+CRwXY1wTQtgbuA24u7KxNNA9++yzAEyc\nODFxEpXC+kmSlF2Whnt9jHENQIxxdQhhS4UzaRB49NFHARu2/sr6SZKU3W5nuLsv694I3A9Moevk\nyTmQ/hLvznD3X21tbQDU19cnTqJSWD9J0iBU8gx3lhXuX7zi9vJSP0h6JRu1/s36SZKU3W4b7hjj\nj3ojiAaXp59+GoBJkyYlTqJSWD9JkrLLssIt9biXRoFs2Pon6ydJUnaZ9uHuq5zh7r/y+TwAuVwu\ncRKVwvpJkgahyu3D3VNCCLkQwk9CCA+FEB4MIRwaQjg7hPDbEMLMEEJV9+v+bwhhTG/lUhq5XM5m\nrR+zfpJiCfEMAAAgAElEQVQkZdebIyXnADUxxhO6L57zeSAHnAV8GjgyhFAAtsQYF/ViLiXw1FNP\nATB58uTESVQK6ydJUna92XDPB2q6V7KHAHmgHWjo/toG/G/g73sxkxL53e9+B9iw9VfWT5Kk7Hpt\nhjuEcAAwC2gGRgDnARuBTwFPAU8AY4ECcBTwoxjjw69ynKuBqwFGjx49ZfHixb2SXz2rUCgAUF1d\nnTiJSmH9JEmDUMkz3L3ZcH8VaI8xfqy7+f41cESMsS2EUA3MAN4L/AB4K/DLGOM5uzqmJ01KkiSp\nl1T0wjc9ZSNdYyQAG+ia335peexq4Lru21VABJp6MZt62RNPPAHAUUcdlTiJSmH9JEnKrjcb7q8B\nPwghPAjUAh+PMW4LIQwBTosxvh0ghLAK+A3w372YTb3Mhq1/s36SJGXnPtySJEnS7vX9fbglSZKk\nwciGW0k8/vjjPP7446ljqETWT5Kk7Gy4lcQzzzzDM888kzqGSmT9JEnKzhluSZIkafec4ZYkSZL6\nIhtuJfHYY4/x2GOPpY6hElk/SZKys+FWEvPnz2f+/PmpY6hE1k+SpOyc4ZYkSZJ2zxluSZIkqS+y\n4VYSjzzyCI888kjqGCqR9ZMkKbua1AE0OL344osATJs2reRjxGKRjucW0T7vGTrmLyK/aAWdi1dQ\n2LCZ4tZtxLYOqK4i1FQTGuqoHrknNXsPp2b/UdROGEPukDHUHX4QNfuM7Klva9DoifpJkjRYOMOt\nfqWwfhPb7n6Y7bPnsv2BecSt27ueyNVQ1dJIaKinqq4WcjlCTTXESCwWobNAcUc7sa2duG0Hsa39\n5WNW7zOShuOPpP74I2l8/XHkRu+T6LuTJEl9WMkz3K5wq8+LxSI77p/Hlh/9km3/Mxc6C4SWRmr2\nGk7V4eOpHjGM6r2HU93UALU5Qtj5v4cYI3QWKGzcQueqdRRWr+9q4u98kNZb7gEgN340TeeeQtN5\np1J35IRdHk+SJGl3XOFWEg899BAAJ5xwwk5fEzs7ab3lHjZ+9XryLywlNNZTM3qfl7+qhzYTqnrm\nNIRioUDnstV0zl9M54o1FNZuhBipGbMvLZedS8tb30Bu/7175LMGgiz1kyRpgHGFW/3LsmXLdvpc\njJFtv5zD+s9/h84Xl1M9chh10yZTe/Boqvca3mNN9itVVVdTe+C+1B64LwCdm7bQ8dTz5BcuZeMX\nvsvGL36P+hOOYo9/uITGM6ZVJEN/sqv6SZKkv+QKt/qUjudeZN3Hv8GOBx6neuQwcoeMITdxHNV7\ntCQb7ehcvY723/2J/AtLiDvaqd5vL/b4u7fS8o7zqB7SnCSTJEnqdSU3Ijbc6hNiZyebvnEjG778\nQ0KuhtqJ46idPIHqEXv0mRnqYr6Tjif+RMfTz1NYt4nQ1MDQ976FPf7+7VQP3yN1PEmSVFk23Opf\n5s6dC8BJJ51EfuEyVv/j52if9ww14/an7sgJ5Mbt36fHNvIvLmPHI09RWLaaUFfLkCvOZ49/fgc1\new9PHa1XvLJ+kiQNEs5wq39ZtWoVANvufIDV//h5KBSpe90R1E85jKrmxsTpdi83dn9yY/cnv3w1\nbb/5PZu/ezObr/sFQ993McM+9K4BP2ryUv0kSdLuucKtJGKhwMb/+iEbv/ojqkcNp27qJGoPGUOo\n7rur2rvSuXodO+6fR+filYTmRob9y+UMvfqtVNXXpY4mSZJ6hiMl6j9iscjq9/1vtv3yPnIHj6bu\nuMnkBsjVHvNLV7JjzjwKq9ZRPXIYe37q72l529l9Zg5dkiSVrOT/mPfP5UT1a1t/+iu2/fI+1k45\nmIbp0wZMsw2QO2Afhlz+JpredBqxs8Daf/oCy6ZfRdsTf0odrUfdf//93H///aljSJLUL9hwq1cV\ntrSy4XPfYeuoYSw89iCqW5pSR6qI2kPH0vKeC6k/5Rjy8xez/Kz3sfofPkdh3cbU0XrE+vXrWb9+\nfeoYkiT1C46UqFet+9T/Y/O3f0bD9OOoP3pi6ji9orijje33Pkr+Ty8SGurZ82PvZej73kKork4d\nTZIkZedIifq+jgVL2HztzeTGj6Z2wtjUcXpNVUM9zeedSss7z6OqpZH1n/wWS09/D21PL0gdTZIk\n9QIbbvWa9Z/4FiFXQ+7wg/htrp1H8ptTR+pVNaNG0HL5m2h4/XF0LlzK8unvYe1/fJPi9rbU0V6z\n++67j/vuuy91DEmS+gUbbvWKbXc9xPZ7H6F2wlhqx+5Ha+ykNXamjtXrQgjUTzmMlqveQs3Y/dly\n7c0sOe5Stt33aOpor8mWLVvYsmVL6hiSJPULznCr4mJHnqUnv4vCllYa33ASuX0Hzq4k5epYsITt\n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\nB12FLV5Pf0B1AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Reference simulation visualizations\n", "\n", "We can also visualize the results of another simulation(s) as a reference for comparison of our main simulation.\n", "\n", "Here we simulate a model where no distancing or testing takes place, so that we can compare the effects of these interventions:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 299.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model = SEIRSModel(beta=0.147, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, initI=10000, initN=1000000) \n", "ref_model.run(T=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can visualize our main simulation together with this reference simulation by passing the model object of the reference simulation to the appropriate figure function argument (note: a second reference simulation could also be visualized by passing it to the ```dashed_reference_results``` argument):" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nvr3t61Qq1daolJaWyufzadCgQerZs6cefvhh3XLLLXrsscd05513avr06aqsrNS0adMO+tH9pEmT\nNGnSJEnShAkTjjgb8kPrNm35fhNuIpFo2wawq98ouT+fzydp303VhWT/Y9979+7NGygAQE7kZBh1\n/8Y5EAiooqJCknTrrbfqt7/9rT755BONGTNGCxYs0MSJE1VZWam1a9fmIhoMeemll/TSSy+ZjtGu\n5uZmJZNJeb1emrP9/PWvf9Vf//pX0zGO2P57c7e+aQAAINty0nAff/zxWrdunSTpnXfeOWD2MxKJ\n6PXXX9fll1+uUCgku90uy7IK9hRCpOecc87ROeecYzrGYbU2ZU6nU3a73XScvHLaaae1jYkVGpfL\nJbvdrqamJm6gBADkxCEb7rvvvluSNG/evA6/yM9//nPNnDlTkyZNUiwW00UXXdT22HPPPacpU6bI\nsixdffXVmj59ut59912NHj26w6+L/DV48OC838uZbQAPbcCAARowYIDpGBmxLEsej0epVEr19fWm\n4wAAugArlUqlDvbAxRdfrPPOO09//etfddlllx3w2B133JGTcO2ZMGGCFi1aZDoGMtB6w2tVVZXh\nJAcXjUa1c+dOud1uGu6DKJQZ/MMJhUKKRqOqrq6W1+s1HQcAUMQOucL91FNPadiwYXK73Ro0aNAB\n/wAdtXjxYi1evNh0jENqbGyUZVnsZHEIb7zxht544w3TMTrE4/HIsizV19crmUyajgMAKGKH3Hah\nf//+6t+/v04//XT5/X7V1NRo4MCBGj58eC7zoUidd955piMcUigUUjgcbmvI8HXf+ta3TEfosNbR\nklAopObm5rz9tAUAUPjS2hZwyZIl+uY3v6lnnnlGF198saZOnZqLbChi+bqPcyqVUlNTkyzLksvl\nMh0nb/Xr1890hE7hdDoVjUbl8/lUXl7O1o8AgKxo96fL0qVL9eKLL8rhcCgWi+m6666j4UaH1dXV\nSVK7Bx3lWjAYVDQaZRvAduT7DH66Wk+g9Pv9qq+vV8+ePU1HAgAUoXa3BUylUm2rPk6nU06nM+uh\nUPyWLl2qpUuXmo5xgNbVbZvNxt/zdqxYsUIrVqwwHaNT2O12uVwuhcNhhUIh03EAAEWo3RXuU045\nRbfffrtOOeUUrV+/XieffHIucqHIjRkzxnSEr/H7/YrH4xzhnoYzzzzTdIROtf8JlH369DnoKbcA\n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\nzgJgzpw5XHXVVVp/I1CapixatIi33nqLJEm44447+MQnPqHHXx0YqO5OO+00PfbqhHOO733ve7z+\n+usYY1i6dCmNjY0n5tiTOvT000/L/PnzRUTklVdekdtvv32YS6SOplQqybXXXttv3TXXXCM7duwQ\n77187Wtfk9dee22YSqcGsmbNGvnSl74kX/7yl0VE5LbbbpMXX3xRREQWL14sv/nNb2TLli1y4403\nivde3nrrLZk5c+ZwFlnVOLj+fvnLX8ratWv77aP1NzKtX79eli9fLiIie/fulWnTpunxVycGqjs9\n9urHM888IwsWLBARkRdffFFuv/32E3bs1WWXkoEeE69Gtm3bttHb28vNN9/MTTfdxB/+8AeSJGHC\nhAkYY+js7OSFF14Y7mKqGhMmTOBnP/tZdfm1117jkksuAeCzn/0sL7zwAi+//DKdnZ0YYzj99NNx\nzvHee+8NV5FVjYPrb8uWLTz33HPMnTuXRYsW0dXVpfU3Qn3hC19g3rx5AIgIURTp8VcnBqo7Pfbq\nxxVXXMGyZcsA2LVrF+3t7Sfs2KvLwN3V1VXtmgAQRRFZlg1jidTRNDU1ccstt7B27VqWLl3KwoUL\naW5urm5vbW3lwIEDw1hCdbArr7ySOO7rdSYiGGOAvvo6+FjUehw5Dq6/KVOmcM899/Doo4/ysY99\njFWrVmn9jVCtra0Ui0W6urq48847ueuuu/T4qxMD1Z0ee/UljmPmz5/PsmXLuPrqq0/YsVeXgXug\nx8TX/mNRI8/EiRO55pprMMYwceJE2tra2LdvX3V7d3c37e3tw1hCdTTW9v25qNTXwcdid3c3bW1t\nw1E8dRTTp0/nggsuqM5v3bpV628E2717NzfddBPXXnstV199tR5/deTgutNjr/788Ic/5Omnn2bx\n4sWUy+Xq+n/k2KvLwH2kx8SrkWn9+vXcf//9AOzZs4fe3l5aWlrYuXMnIsLGjRvp6OgY5lKqIznv\nvPN46aWXANiwYQMdHR1MnTqVjRs34r1n165deO8ZN27cMJdUDeSWW27hj3/8IwC///3vOf/887X+\nRqh33nmHm2++me9+97vccMMNgB5/9WKgutNjr3786le/4uc//zkAzc3NGGO44IILTsixV5fNwod7\nTLwauW644QYWLlzInDlzMMawcuVKrLXcfffdOOfo7OzkwgsvHO5iqiOYP38+ixcv5sEHH2TSpElc\neeWVRFFER0cHs2bNwnvP97///eEupjqMJUuWsGzZMgqFAuPHj2fZsmUUi0WtvxFo9erV7N+/n4cf\nfpiHH34YgHvvvZfly5fr8TfCDVR3CxYsYOXKlXrs1YEZM2awcOFC5s6dS5ZlLFq0iLPPPvuE/O/T\nJ00qpZRSSik1iOqyS4lSSimllFL1QgO3UkoppZRSg0gDt1JKKaWUUoNIA7dSSimllFKDSAO3Ukop\npZRSg0gDt1JKjULlcpnPf/7zw10MpZRSaOBWSimllFJqUNXlg2+UUkodqru7m7vvvpv9+/czYcIE\nADZt2sRDDz2EiNDd3c0DDzzApk2beOONN5g/fz7OOa677jrWr1/PvHnz6Orqore3l29961t0dnYO\n83eklFKjg7ZwK6XUKPHYY48xefJkHn30UWbPng3An//8Z370ox/xyCOPMGPGDH7961/zxS9+kWef\nfRbnHL/73e+49NJL2blzJ/v27WP16tU8+OCDOOeG+btRSqnRQ1u4lVJqlHjjjTeYNm0aABdeeCFx\nHHPqqaeyYsUKWlpa2LNnD1OnTqVYLHLxxRezceNGnnzySb7+9a9zzjnnMGvWLL797W+TZRk33njj\nMH83Sik1emjgVkqpUeLss89m8+bNXHHFFWzdupUsy1i8eDHPPPMMxWKR+fPnIyIAfOUrX+EXv/gF\ne/fu5dxzz2X79u10d3ezZs0a3n77bWbPns3ll18+zN+RUkqNDhq4lVJqlJgzZw733HMPc+bMYdKk\nSRQKBaZPn87cuXNpbm5m/PjxvP3220BoAd+xYwdz584F4KyzzmLVqlU89dRTeO+58847h/NbUUqp\nUcVIpblDKaXUh4b3njlz5rB27VqKxeJwF0cppUY1vWlSKaU+ZP72t79x/fXXc9VVV2nYVkqpIaAt\n3EoppZRSSg0ibeFWSimllFJqEGngVkoppZRSahBp4FZKKaWUUmoQaeBWSimllFJqEGngVkoppZRS\nahD9P/ZemccEcUzQAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, shaded_reference_results=ref_model)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.4" } }, "nbformat": 4, "nbformat_minor": 2 } seirsplus-1.1.0/examples/Legacy_network_model_demo.ipynb000066400000000000000000006620021375244156600236070ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SEIRS+ Network Model Demo\n", "\n", "**This notebook provides a demonstration of the core functionality of the SEIRS+ Network Model and offers a sandbox for easily changing simulation parameters and scenarios.** \n", "For a more thorough walkthrough of the model and use of this package, refer to the README." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installing and Importing the model code\n", "All of the code needed to run the model is imported from the ```models``` module of this package.\n", "\n", "#### Install the package using ```pip```\n", "The package can be installed on your machine by entering this in the command line:\n", "\n", "```sudo pip install seirsplus```\n", "\n", "Then, the ```models``` module can be imported into your scripts as shown here:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from seirsplus.models import *\n", "import networkx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### *Alternatively, manually copy the code to your machine*\n", "*You can use the model code without installing a package by copying the ```models.py``` module file to a directory on your machine. In this case, the easiest way to use the module is to place your scripts in the same directory as the module, and import the module as shown here:*\n", "```python\n", "from models import *\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generating interaction networks\n", "\n", "This model simulates SEIRS epidemic dynamics for populations with a structured interaction network (as opposed to standard deterministic SIR/SEIR/SEIRS models, which assume uniform mixing of the population). As such, a graph specifying the interaction network for the population must be specified, where each node represents an individual in the population and edges connect individuals who have regular interactions.\n", "\n", "The interaction network can be specified by a ```networkx``` Graph object or a 2D numpy array representing the adjacency matrix, either of which can be defined and generated by any method.\n", "\n", "*Here, we use a ```custom_exponential_graph()``` generation function included in this package, which generates power-law graphs that have degree distributions with two exponential tails. For more information on this custom graph type and its generation, see the README.*\n", "\n", "**_Note:_** *Simulation time increases with network size. Small networks simulate quickly, but have more stochastic volatility. Networks with ~10,000 are large enough to produce per-capita population dynamics that are generally consistent with those of larger networks, but small enough to simulate quickly. We recommend using networks with ~10,000 nodes for prototyping parameters and scenarios, which can then be run on larger networks if more precision is required (for more on this, see README).*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "numNodes = 10000\n", "baseGraph = networkx.barabasi_albert_graph(n=numNodes, m=9)\n", "# Baseline normal interactions:\n", "G_normal = custom_exponential_graph(baseGraph, scale=100)\n", "plot_degree_distn(G_normal, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Epidemic scenarios of interest often involve interaction networks that change in time. Multiple interaction networks can be defined and used at different times in the model simulation, as will be shown below.\n", "\n", "*Here we generate a graph representing interactions during corresponding to Social Distancing, where each individual drops some portion of their normal interactions with others. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Social distancing interactions:\n", "G_distancing = custom_exponential_graph(baseGraph, scale=10)\n", "plot_degree_distn(G_distancing, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This SEIRS+ model features dynamics corresponding to testing individuals for the disease and moving individuals with detected infection into a state where their rate of recovery, mortality, etc may be different. In addition, given that this model considers individuals in an interaction network, a separate graph defining the interactions for individuals with detected cases can be specified.\n", "\n", "*Here we generate a graph representing the interactions that individuals have when they test positive for the disease. In this case, a significant portion of each individual's normal interaction edges are removed from the graph, as if the individual is quarantined upon detection of infection. Again, we use the ```custom_exponential_graph()``` to generate this graph; for more information, see the README.*\n", "\n", "For more information on how testing, contact tracing, and detected cases are handled in this model, see the README." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEICAYAAABMGMOEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHZVJREFUeJzt3XtUlHXix/HPAILGZRVpSwIVvJw0u6yR7m6op4Lsopke\nDLxgpnZdKTQVo0AUQs1dq5W0+1ZYiSJdtuh04VismrppaGLqrnlDzBtognKd5/eHv2YjR+YhYWbQ\n9+scz3Ge+fI8H74on3luMxbDMAwBAOCAh6sDAABaBwoDAGAKhQEAMIXCAACYQmEAAEyhMAAAplAY\nAABTKAwAgCkUBgDAFC9XB2gO/fv31xVXXOHqGADQqhw4cEDr1683Pf6CKIwrrrhCeXl5ro4BAK3K\niBEjmjSeQ1IAAFMoDACAKRQGAMCUC+IcBoDzV1tbq5KSElVVVbk6CppZ27ZtFRISojZt2pzXeigM\nAJKkkpIS+fv7q2vXrrJYLK6Og2ZiGIaOHTumkpIShYWFnde6OCQFQJJUVVWljh07UhYXGIvFoo4d\nOzbLniOFAcCGsrgwNdfPlUNSAOwqr6xRRXVds63Pz8dLHXy9m219cD4KA4BdFdV1yt1Y0mzri7k+\nxG0LY9euXUpLS1N2draro9j10Ucf6c0335Snp6d69uyptLQ0eXj87wBRaWmpkpOTVV9fL8MwNGfO\nHIWHhzd7jguiMOqthvaXnWp0DK9uALRGVVVVeu655/TPf/5T7dq109SpU7Vq1SrdcssttjHPP/+8\nxo4dq6ioKP3rX//SwoULlZWV1exZLojCsBqGw1dC7vzqBoCUl5enVatWqaqqSkeOHNG4ceNUUFCg\n//znP5oxY4aioqL0ySef6I033pCHh4euv/56TZs2TT/++KPS0tJUXV2tI0eOKDExUVFRURo6dKj6\n9eunHTt2yGKxaPHixfL397dt7/Dhw5o2bZoMw9Cll15qW75hwwY9++yz8vT0VGhoqObMmaP6+nrN\nmDFDhw8fVqdOnfTvf/9bq1evVnx8vAIDA3XixAm9/PLLSktL0969e2W1WpWYmKj+/fvbXd8vL299\n9tlntWnTpgZz8dprr8nb+8zvK29vby1btkzt2rWTJNXV1cnHx6fB+KSkJNv3Vl9ff9bzzeWCKAwA\nF4bKykq9/vrr+vjjj/XGG29o+fLlWr9+vd566y1FRERo0aJFWrlypdq1a6fp06drzZo1slgsuu++\n+9S/f39t2rRJixYtUlRUlCorK3XnnXcqJSVFjz/+uAoLC3XnnXfatvXiiy9qyJAhuueee5Sfn693\n331XhmEoJSVF77zzjjp27KjnnntO7733nk6fPq2QkBD9/e9/165duzRkyBDbeoYMGaLo6Gi98847\n6tChgzIzM1VeXq6xY8fqo48+sru+e+65x/b1U6ZMaXROPDw8FBQUJEnKzs7WqVOndOONNzYYExgY\nKEn64YcfNH/+fL3wwgvn/bOwh8IA4DZ69eolSfL391e3bt1ksVj0u9/9TtXV1dq3b5/Kysr0wAMP\nSDpTLvv27VNERISWLFmi3NxcWSwW1dX970R97969JUmdOnVSdXV1g23t2bPH9ou7b9++evfdd1VW\nVqbDhw8rMTFR0pnDQX/+859VXl6ugQMHSpK6detm+wUtyXZvw86dO7Vx40Zt2bJF0pk9gXOt75cc\n7WFIktVq1YIFC7R7924tWrTI7lVP69at0+zZs/XMM8+0yPkLicIA4EYau/wzJCREnTp10uuvv642\nbdooLy9PvXr10vPPP6+RI0dq0KBBWrlypd577z1T6+vWrZu+/fZbXXnllfruu+8kSR06dNDll19u\nO3xVUFCgSy65RLt27dK3336rqKgo7du3T+Xl5WdtIzw8XJdffrkeeughVVVVacmSJedc3y852sOQ\npNTUVHl7e2vx4sUNTnb/bN26dXr66af16quvtuhHPVAYAOzy8/FSzPUhzbq+8xEYGKjx48crPj5e\n9fX1uuKKK3T77bfrtttu0zPPPKOXX35Zl19+eYNf5o15+OGHNX36dOXn5ysk5Mz36eHhoSeffFIP\nPPCADMOQr6+vnnnmGf3hD3/QzJkzNWbMGAUHB9s9RxAXF6ennnpKY8eOVUVFhUaPHn3O9TVFcXGx\ncnNzFRERoXvvvVeSNG7cON1www166qmnlJWVpczMTNXW1mrmzJmSzuz1zJkzp0nbMcNiGIbR7Gt1\nsqHD7tbNkxv/IcRcH6LQwEsaHQNczL7//nvbISE0tGnTJp06dUqRkZHas2ePJk2apC+++MLVsZrE\n3s93xIgRTfosIfYwAMCB0NBQTZ06VVlZWaqrq1NqaqqrI7kEhQEADlx66aVue1OfM/FeUgBsLoAj\n1LCjuX6uFAYASWc+M+HYsWOUxgXm57c3b9u27Xmvi0NSACSduWy1pKRER44ccXUUNLOfP0DpfFEY\n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\n9Pvf/15S0/+vt+rCONcd4e6mbdu2mjhxol577TXNnj1b06ZNc6ucgwcPbnAXvWEYslgskiRfX1+d\nPHnSVdFsfp3xmmuu0YwZM/T2228rNDRUL7zwggvTneHr6ys/Pz9VVFTo0UcfVWJiolvOpb2c7jif\nkuTl5aWkpCSlp6dr6NChbjmf0tk53XE+8/LyFBgYaHuRLTX9/3qrLgw/Pz9VVlbaHlut1ga/VNxF\nWFiY7rrrLlksFoWFhal9+/Y6cuSIq2Od0y+PYVZWViogIMCFaeyLjo62XQ4YHR2tbdu2uTjRGQcP\nHtS4ceM0bNgwDR061G3n8tc53XU+pTOvij/99FOlpKSourrattyd5lNqmDMyMtLt5nPlypVau3at\n4uPj9f333yspKUllZWW2583MZ6sujNZyR3hubq7mzZsnSTp06JAqKip06aWXujjVufXu3Vvr16+X\nJBUWFioiIsLFic42ceJEbdmyRZL09ddf66qrrnJxIuno0aOaMGGCpk+frpiYGEnuOZf2crrjfL7/\n/vt66aWXJEnt2rWTxWJRnz593G4+7eWcPHmy283n22+/raVLlyo7O1u9evXS/PnzNXDgwCbNZ6u+\nD+Pnq6R27txpuyO8W7duro51lpqaGj3xxBMqLS2VxWLRtGnT1LdvX1fHaqCkpERTp07V8uXLtXv3\nbqWkpKi2tlbh4eHKyMiQp6enqyM2yFhcXKz09HS1adNGQUFBSk9Pb3B40hUyMjL0ySefKDw83Lbs\nySefVEZGhlvNpb2ciYmJWrBggVvN56lTp/TEE0/o6NGjqqur0/33369u3bq53b9Nezk7derkdv8+\nfyk+Pl5paWny8PBo0ny26sIAADhPqz4kBQBwHgoDAGAKhQEAMIXCAACYQmEAAEyhMIAmqq6u1s03\n3+zqGIDTURgAAFPc7300ADdUWVmpadOm6aefflLnzp0lSTt27FBGRoYkqX379srMzJSfn59mz56t\nrVu3KigoSAcOHNCSJUuUlZWl48eP6/jx43rppZf06quv6ptvvpHVatX48eN1++23212fv7+/y75n\n4NcoDMCEZcuWqWfPnpoyZYo2b96s9evXKyUlRZmZmerevbtWrFihV199VVdffbWOHz+u3NxclZWV\n6dZbb7Wt449//KPGjx+vr776SiUlJXr33XdVXV2te+65RzfeeKPd9U2ZMsWF3zXQEIUBmLBnzx4N\nGjRIknTttdfKy8tLu3bt0uzZsyWd+VCirl27ytfXV9ddd50kKTAwsMHbb4SFhUmSdu7cqeLiYsXH\nx0uS6urqdODAAbvrA9wJhQGY0K1bNxUVFSkqKkrbtm1TXV2dwsLCNH/+fAUHB2vjxo06cuSIfHx8\n9MEHH0iSTpw4oT179tjW8fPbSIeHh6t///5KT0+X1WrV4sWLFRoaand9gDuhMAATRo0apRkzZmjU\nqFEKDw9XmzZtlJaWpqSkJNXV1clisejpp59W165dVVhYqLi4OAUFBalt27Zq06ZNg3XdfPPN2rBh\ng0aPHq1Tp04pKipKfn5+dtcHuBPefBBoRrt27dL27dt15513qry8XEOGDNGqVavk7e3t6mjAeaMw\ngGZ06tQpPf744zp27Jjq6+s1duxYDR8+3NWxgGZBYQAATOHGPQCAKRQGAMAUCgMAYAqFAQAwhcIA\nAJhCYQAATPk/4388ATq3DwQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Quarantine interactions:\n", "G_quarantine = custom_exponential_graph(baseGraph, scale=5)\n", "plot_degree_distn(G_quarantine, max_degree=40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initializing the model parameters\n", "All model parameter values, including the normal and quarantine interaction networks, are set in the call to the ```SEIRSNetworkModel``` constructor. The normal interaction network ```G``` and the basic SEIR parameters ```beta```, ```sigma```, and ```gamma``` are the only required arguments. All other arguments represent parameters for optional extended model dynamics; these optional parameters take default values that turn off their corresponding dynamics when not provided in the constructor. For clarity and ease of customization in this notebook, all available model parameters are listed below. \n", "\n", "For more information on parameter meanings, see the README.\n", "\n", "*The parameter values shown correspond to rough estimates of parameter values for the COVID-19 epidemic.*" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "model = SEIRSNetworkModel(G =G_normal, \n", " beta =0.155, \n", " sigma =1/5.2, \n", " gamma =1/12.39, \n", " mu_I =0.0004,\n", " mu_0 =0, \n", " nu =0, \n", " xi =0,\n", " p =0.5,\n", " Q =G_quarantine, \n", " beta_D =0.155, \n", " sigma_D =1/5.2, \n", " gamma_D =1/12.39, \n", " mu_D =0.0004,\n", " theta_E =0, \n", " theta_I =0, \n", " phi_E =0, \n", " phi_I =0, \n", " psi_E =1.0, \n", " psi_I =1.0,\n", " q =0.5,\n", " initI =numNodes/100, \n", " initE =0, \n", " initD_E =0, \n", " initD_I =0, \n", " initR =0, \n", " initF =0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checkpoints\n", "Model parameters can be easily changed during a simulation run using checkpoints. A dictionary holds a list of checkpoint times (```checkpoints['t']```) and lists of new values to assign to various model parameters at each checkpoint time. Any model parameter listed in the model constrcutor can be updated in this way. Only model parameters that are included in the checkpoints dictionary have their values updated at the checkpoint times, all other parameters keep their pre-existing values.\n", "\n", "*The checkpoints shown here correspond to starting social distancing and testing at time ```t=20``` (the graph ```G``` is updated to ```G_distancing``` and locality parameter ```p``` is decreased to ```0.1```; testing params ```theta_E```, ```theta_I```, ```phi```, and ```phi_I``` are set to non-zero values) and then stopping social distancing at time ```t=100``` (```G``` and ```p``` changed back to their \"normal\" values; testing params remain non-zero).*" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "checkpoints = {'t': [20, 100], \n", " 'G': [G_distancing, G_normal], \n", " 'p': [0.1, 0.5], \n", " 'theta_E': [0.02, 0.02], \n", " 'theta_I': [0.02, 0.02], \n", " 'phi_E': [0.2, 0.2], \n", " 'phi_I': [0.2, 0.2]}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running the simulation" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 0.00\n", "t = 10.01\n", "[Checkpoint: Updating parameters]\n", "t = 20.01\n", "t = 30.01\n", "t = 40.02\n", "t = 50.04\n", "t = 60.01\n", "t = 70.06\n", "t = 80.05\n", "t = 90.04\n", "[Checkpoint: Updating parameters]\n", "t = 100.00\n", "t = 110.03\n", "t = 120.01\n", "t = 130.05\n", "t = 140.03\n", "t = 150.00\n", "t = 160.03\n", "t = 170.00\n", "t = 180.05\n", "t = 190.01\n", "t = 200.00\n", "t = 210.07\n", "t = 220.01\n", "t = 230.00\n", "t = 240.04\n", "t = 250.04\n", "t = 260.01\n", "t = 270.01\n", "t = 280.03\n", "t = 290.02\n", "t = 300.01\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.run(T=300, checkpoints=checkpoints)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing the results\n", "The ```SEIRSNetworkModel``` class has a ```plot()``` convenience function for plotting simulation results on a matplotlib axis. This function generates a line plot of the frequency of each model state in the population by default, but there are many optional arguments that can be used to customize the plot.\n", "\n", "The ```SEIRSNetworkModel``` class also has convenience functions for generating a full figure out of model simulation results (optionaly arguments can be provided to customize the plots generated by these functions). \n", "- ```figure_basic()``` calls the ```plot()``` function with default parameters to generate a line plot of the frequency of each state in the population.\n", "- ```figure_infections()``` calls the ```plot()``` function with default parameters to generate a stacked area plot of the frequency of only the infection states ($E$, $I$, $D_E$, $D_I$) in the population.\n", "\n", "For more information on the built-in plotting functions, see the README." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ndEX98BuZ73oMUfl3+yVJURe2q1gF/+EHDsMwVPCPf8n3wykQY/r0VFSbFpJhqOCfH5/0uvEDeqvp\nP5+RJPkKT2hXSv+THuOIi5FRVCKpogvxN1+j8gN5cn8wv9LjEu8dqkZPPRDwa8FPjNIy/w/3ZkQk\nNz7tb5Ejz0tWRPMmKv3ZSrdUcVajyNbJir74AjkcDv/WM6niQ5Gudq2q/G/T8JTLV+BW4xfGmc75\ncwzcIeArKZVn227lXvc7/7HoSy9SbK9ulX6tl1l6SJLYww1JPww9R4+r8L2fhp24X12h5Jkv2JjK\nnHN9D3fphm2V/nsPJUdcjCKaNFT5nv2St/LnBuL6XylX25ZytWqmuncMrFj9LC9X6botOjZljk7M\nW37K14y5sutJK3jST8NW8r9eVdzVPar8Dd3PJf5+hBpNuLd6X9wpGIahQ3c9KffH/3vSfZGtmylh\n4LW2Xp/Am5fvH9AS775NzroJ8ny3X5KhyOTGKt22S8WLvpBckZKn3P88R3SU6t41uMbvjS7ff1iF\ns/8tlXtPuq/54ne071d3KTnjVfncRXJ/skxNJj9e6TMoRnm5cpL7SJJSDq2UUVLm/41NcuYk7U8b\nW/WbRzgV1/9KOeNi5GrdQr7iUhV9+oWM0jJ58wvkjItR7LWXyHfcraKFVf+Gpc6ogYpManDK+7zH\nCuUrcCuyeRP/NoGynL0qXb9NviPH5TtW4H9s7NU91OjZB3XoD8+pdN2Wyi/kilTCrdcrsnmSjOLS\nShepKz+Yp8LplT+k22rDv+RqluT/QbLxiw/JEeXS8akZyhv/mlxtW8qzc6/i+l6mpjOfP+lzPSXr\nvtWJBSsVe1V3Hbzzr2r8xngl3FR7PuD6S/uHPayipV+ddDzq4vaKvvgCGaVlMkrK5IiNrvQ5LMMw\nZBSXqvz7Qzoxd6mcjeor9tpL/D+UFWYuUXlOruJu7KXojqe+QrL3yDH5ikvkanH6UwAzcNs8cJ/q\nJ/W4vpcqulvHkx6731sqSUqOqNl/AcNahR8tVvnuff7b8Tf3VpN3n64xK2CnsndvxT64li1b2pwk\nvEo3bJPr/PPkjPvpcxdGmUc5za/133Y2SJTvaMWVNx2x0TKKSyu9hrNuguJ/3UeFH/z0DTm6W8eK\nFfJduYps0VQxXVPlTIiXr7hUEY3q/bQ6aBgqXvFNlSuqURe2q7QCeyqu1NaK73flKbcanFi8SmUb\n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\nn3Mpd86Wnp7+u187aJc9JSUlUV1dDUBtbS0TJ07s/V5FRQVLly6lvb0dl8uFZVmcP6+PqkVERETE\n+QZthTs1NZUvv/ySjIwMjDGsX78egB9//JGWlhYmTZqEbds0NjaydOlSVq5cOVihiYiIiIgMmEFr\nuF0uF6+//vplj48ZM4bi4uLe55SXX/3IzItbS8SZlD9nU/6cS7lzNuXPuZQ7Z7uW/A3aRZMiIiIi\nIjcija4QERERERlAarhFRERERAaQI29gbds2RUVFHDt2jKioKEpLS7nrLo28C3fz58/vnSI6ZswY\nfD4fZWVluN1uvF4vL774YogjlL6+/fbb3vvlNzQ0kJeXh2VZTJgwgXXr1uFyudi8eTN79+4lIiKC\ngoICpk6dGuqw5YJL81dfX8+yZctISEgAIDMzk9mzZyt/Yairq4uCggJOnjxJZ2cnzz33HHfffbfq\nzwH6y90dd9yh2nOIYDDIa6+9xvfff49lWRQXFzNs2LDrU3vGgXbv3m1yc3ONMcYcOnTILF++PMQR\nyZW0t7ebefPm/eqxuXPnmoaGBmPbtnn22WfNkSNHQhSd9KeiosI8+eST5umnnzbGGLNs2TKzf/9+\nY4wxhYWF5tNPPzV1dXUmOzvb2LZtTp48adLT00MZslyib/7ef/99U1lZ+avnKH/hqaqqypSWlhpj\njGlqajIpKSmqP4foL3eqPefYs2ePycvLM8YYs3//frN8+fLrVnuO3FLS35h4CW9Hjx6lra2NxYsX\ns2jRIr755hs6OzuJj4/Hsiy8Xi/79u0LdZhyifj4eN55553er48cOcKDDz4IwCOPPMK+ffs4ePAg\nXq8Xy7IYPXo0wWCQs2fPhipkuUTf/NXV1bF3716ysrIoKCjA7/crf2Hq8ccfJycnBwBjDG63W/Xn\nEP3lTrXnHDNnzqSkpASAU6dOMWLEiOtWe45suP1+f+/WBAC32013d3cII5IrGT58OEuWLKGyspLi\n4mLy8/N/Nd42NjaW1tbWEEYofc2aNYuIiF92nRljsCwL+CVffWtReQwfffM3depUVq9ezfbt2xk7\ndizl5eXKX5iKjY3F4/Hg9/tZsWIFK1euVP05RH+5U+05S0REBLm5uZSUlDBnzpzrVnuObLj7GxN/\n6S8WCT/jxo1j7ty5WJbFuHHjiIuLo7m5uff7gUCAESNGhDBCuRKX65cfFxfz1bcWA4EAcXFxoQhP\nriA1NZUpU6b0/r++vl75C2ONjY0sWrSIefPmMWfOHNWfg/TNnWrPed544w12795NYWEhHR0dvY9f\nS+05suH+rTHxEp6qqqrYsGEDAKdPn6atrY2YmBhOnDiBMYaamhqSk5NDHKX8lnvvvZevv/4agOrq\napKTk0lKSqKmpgbbtjl16hS2bTNy5MgQRyr9WbJkCYcPHwbgq6++YvLkycpfmPr5559ZvHgxr776\nKgsWLABUf07RX+5Ue87x0Ucf8e677wIQHR2NZVlMmTLlutSeI5eF/92YeAlfCxYsID8/n8zMTCzL\nYv369bhcLlatWkUwGMTr9TJt2rRQhym/ITc3l8LCQjZt2kRiYiKzZs3C7XaTnJyMz+fDtm3Wrl0b\n6jDl3ygqKqKkpITIyEhGjRpFSUkJHo9H+QtDW7dupaWlhS1btrBlyxYA1qxZQ2lpqeovzPWXu7y8\nPNavX6/ac4C0tDTy8/PJysqiu7ubgoICxo8ff11+92nSpIiIiIjIAHLklhIREREREadQwy0iIiIi\nMoDUcIuIiIiIDCA13CIiIiIiA0gNt4iIiIjIAFLDLSIyBHV0dDBjxoxQhyEiIqjhFhEREREZUI4c\nfCMiIpcLBAKsWrWKlpYW4uPjAThw4ACbN2/GGEMgEGDjxo0cOHCA48ePk5ubSzAY5KmnnqKqqoqc\nnBz8fj9tbW289NJLeL3eEB+RiMjQoBVuEZEhYseOHUycOJHt27eTkZEBwHfffcebb77Jtm3bSEtL\n45NPPuGJJ57g888/JxgM8sUXX/DQQw9x4sQJmpub2bp1K5s2bSIYDIb4aEREhg6tcIuIDBHHjx8n\nJSUFgGnTphEREcFtt91GWVkZMTExnD59mqSkJDweDw888AA1NTXs2rWL559/ngkTJuDz+Xj55Zfp\n7u4mOzs7xEcjIjJ0qOEWERkixo8fT21tLTNnzqS+vp7u7m4KCwvZs2cPHo+H3NxcjDEALFy4kPfe\ne4+mpiYmTZrEsWPHCAQCVFRUcObMGTIyMnjsscdCfEQiIkODGm4RkSEiMzOT1atXk5mZSWJiIpGR\nkaSmppKVlUV0dDSjRo3izJkzQM8KeENDA1lZWQAkJCRQXl7Oxx9/jG3brFixIpSHIiIypFjm4nKH\niIjcMGzbJjMzk8rKSjweT6jDEREZ0nTRpIjIDeaHH35g/vz5zJ49W822iMgg0Aq3iIiIiMgA0gq3\niIiIiMgAUsMtIiIiIjKA1HCLiIiIiAwgNdwiIiIiIgNIDbeIiIiIyAD6fy0hhGA+5krtAAAAAElF\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Reference simulation visualizations\n", "\n", "We can also visualize the results of other simulation(s) as a reference for comparison of our main simulation.\n", "\n", "Here we simulate a model where no distancing or testing takes place, so that we can compare the effects of these interventions:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 0.02\n", "t = 10.00\n", "t = 20.04\n", "t = 30.01\n", "t = 40.01\n", "t = 50.00\n", "t = 60.00\n", "t = 70.00\n", "t = 80.00\n", "t = 90.01\n", "t = 100.00\n", "t = 110.00\n", "t = 120.00\n", "t = 130.01\n", "t = 140.01\n", "t = 150.01\n", "t = 160.01\n", "t = 170.00\n", "t = 180.00\n", "t = 190.00\n", "t = 200.09\n", "t = 210.20\n", "t = 220.23\n", "t = 230.43\n", "t = 240.30\n", "t = 250.18\n", "t = 260.34\n", "t = 280.54\n", "t = 300.59\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model = SEIRSNetworkModel(G=G_normal, beta=0.155, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, p=0.5,\n", " Q=G_quarantine, beta_D=0.155, sigma_D=1/5.2, gamma_D=1/12.39, mu_D=0.0004,\n", " theta_E=0, theta_I=0, phi_E=0, phi_I=0, psi_E=1.0, psi_I=1.0, q=0.5,\n", " initI=numNodes/100)\n", "ref_model.run(T=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can visualize our main simulation together with this reference simulation by passing the model object of the reference simulation to the appropriate figure function argument (note: a second reference simulation could also be visualized by passing it to the ```dashed_reference_results``` argument):" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ncccdiYiUFD755BNJ0vjx4w0nAWLDWAYAIHoJmeEeOXKkHnvsscj9Tz75ROvXr9d1112nu+66S/X1\n9XK73WpublZTU5PcbrdKSko0evRoDRgwIBGRksKHH36oDz/80HQMIGaMZQAAomeFQqFQIt549+7d\nuv3227Vs2TL9/e9/17hx4zR+/Hg9+eSTqqur089//nM9/vjjKisr080336xHH31Ud955p5555hkV\nFBRo/vz5ysjo/HmgqKhIRUVFkqSamhq99dZbiYifEH6/X5LkdDoNJwFiw1gGACB6thTcdXV1ys/P\nlySVlpbq/vvv1/PPPx/52ZUrVyoYDKq0tFTTpk3T+++/rxNPPFFTpkw56jUKCwtVXFyciPgAAABA\nXNiyD/e8efP08ccfS2o7EvqUU06JPNfc3Ky1a9fqiiuuUGNjoxwOhyzLUkNDgx3RbPXxxx9H/jsA\nqYyxDABA9GzZFvDee+/V/fffL6fTqQEDBuj++++PPPf8889r7ty5sixLV199te6++255PB49/vjj\ndkSz1ZYtWyRJp556quEkQGwYywAARC9hLSV2SLWWkkAgIElyOByGkwCxYSwDABA9Dr6xEcUJ0gVj\nGQCA6NnSw402W7du1datW03HAGLGWAYAIHoU3DaiSEG6YCwDABA9ergBAACABGKGGwAAAEggCm4b\nlZSUqKSkxHQMIGaMZQAAokfBbaNt27Zp27ZtpmMAMWMsAwAQPXq4AQAAgARihhsAAABIIApuG33w\nwQf64IMPTMcAYsZYBgAgehTcNtqxY4d27NhhOgYQM8YyAADRo4cbAAAASCBmuAEAAIAEouC20Xvv\nvaf33nvPdAwgZoxlAACiR8Ftoy+++EJffPGF6RhAzBjLAABEjx5uAAAAIIGY4QYAAAASiILbRps2\nbdKmTZtMxwBixlgGACB6maYD9CW7d+82HQGIC8YyAADRo4cbAAAASCBaSgAAAIAEouC20caNG7Vx\n40bTMYCYMZYBAIgePdw22rdvn+kIQFwwlgEAiB493AAAAEAC0VICAAAAJBAFt402bNigDRs2mI4B\nxIyxDABA9OjhtlF1dbXpCEBcMJYBAIgeBbeNCgsLTUcA4oKxDABA9GgpAQAAABKIgttGb731lt56\n6y3TMYCYMZYBAIgeLSU2qqurMx0BiAvGMgAA0aPgttGVV15pOgIQF4xlAACiR0sJAAAAkEAU3DZ6\n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\nvtx0DMSoqqrKdATjXn/9db3++uumY8RFfn5+5HaqLwQFACSnbgvukSNHqry8XFLb4TdDhgzp9k0X\nLlyoX//615HT6B544AHNnz9fL730kkKhkNatW6ft27dr2LBheuaZZ/Tiiy9Kkp544gn96Ec/iuXX\nk9TOOeccnXPOOaZjIEbhxXbtC7W+ZtKkSZo0aZLpGHFhWVZk9yV2LAEAJEK3PdwfffSRLrnkEg0d\nOlT79u2Ty+WKFI0bN2484mtGjhypxx57TD/72c8kSdu2bdPXvvY1SdJ5552nd955R9dff72am5vV\n1NQkt9utkpISjR49WgMGDDhqnqKiIhUVFUmSampqov+VJoF02Lu4r/P5fAoGg7Isq8/tTNLe6NGj\nTUeIq8zMzMgEAQAA8dZtwf3mm2/2+E0vuugi7d69O3I/FApFipPc3Fx5vV6NGTNGgwYN0kMPPaSb\nb75Zjz76qO68807dc889Kigo0Pz58494VPasWbM0a9YsSVJhYWGPs5lUW1srqe/2/aaDcDtJX+/1\n9Xq9ktoWVaeD8MJXn8/X7Yd+AAB6qtuWkrhcpF3h7PP5Il/F33LLLfrDH/6gTz/9VFOnTtWyZcs0\nY8YMFRQU6N1337Ujmq1efvllvfzyy6ZjoBdCoZB27twZuZ8uhWZv/eMf/9A//vEP0zHipv23FcFg\n0GASAEA6sqXgPvnkk7V582ZJ0ttvv92h97O5uVlr167VFVdcocbGRjkcDlmWlZa9lOedd57OO+88\n0zHQC7t27YrcdrlcR/z2pS/52te+FmkTSzf79u3r899gAADiq8uq4Ze//KUkaenSpTFf5Oc//7ke\ne+wxzZo1S36/XxdddFHkueeff15z586VZVm6+uqrdc899+if//ynpkyZEvN1k83YsWPTZv/iviR8\nomRYdna2oSTJY+TIkRo5cqTpGHGVmdnWYef3+yMLxQEAiAcr1MVUzsUXX6xvfOMb+sc//qHLLrus\nw3O33367LeG6U1hYqOLiYtMxohZe5NmvXz/DSdAT7VtJ6L9vk47rEUKhkOrq6iL3R40aZTANACCd\ndDnD/fTTT2vcuHHKysrSmDFjOvwPvbNixQqtWLHCdAz0QCAQiNwObx0H6Y033tAbb7xhOkZcWZYl\nj8cTuU1bCQAgXrrcpWTEiBEaMWKEzjzzTNXX16u0tFSjR4/WSSedZGe+tPKNb3zDdAREobW1VQcP\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, shaded_reference_results=ref_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As further demonstration, we might also wish to compare the results of these network model simulations to a deterministic model simulation of the same SEIRS parameters (with no interventions in this case):" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t = 299.90\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref_model_determ = SEIRSModel(beta=0.147, sigma=1/5.2, gamma=1/12.39, mu_I=0.0004, initI=100, initN=10000) \n", "ref_model_determ.run(T=300)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nK/ITCgn6OoaO0IFTDUThhSC+ELTv1Rq/9/b9NwKe6+HhDQpo9/6/J73CdhI5+CYCSGfSI34Pjntw\nw77258RLOXiUmn6maWIIY1B6UL/+wB0obF/4/sRe+fnKpUgf3TE7YgH3W2+9xRlnnAHAiSeeyPr1\n61mwYAGO4+B5HoZh8Pjjj/N3fzfyTEN7q4zYZBonQd1ChEzlRzAbxz5oLAPg+MkHPzGBph1N+ljW\nNE07+gT7zOk8QhuIGOb/gxbuR6Pw3p1Jh9vx3kF34d9i77F36/7ei/tuAgxhDMmb79+uP0BWKAxF\n0YAbKfD6bjIG7mvEoNcBhFKDiqdQSMB2QCgXYeXngz4QRyyH+7vf/S6rVq3izDPPBOCss87ib//2\nb3nooYdYsWIFtm0zdepUNm/eTEtLC1/96leZPXv2kP08+uijPPpofhbED7dsoq46hAiOr86R2thk\nM1mCodGmYNfGK11/E5euu4lN19/EpetuYjOE4vHfDp0rZCyOWAt3NBollUoV/pZSsnz5cpYvX04i\nkeD222/n4x//OC+88AI33HAD99xzDz/60Y+G7GfNmjWsWbMGgNWrV/PEE08MWUebGHT9TWy6/iYu\nXXcTm66/iUvX3cS2evXqA972iCU9L1u2jBdeyM869u677zJ//vzCaw888ABXX3012Ww2nwAvBOn0\nyPk+mqZpmqZpmjYRHLEW7pUrV/LSSy9xySWXoJTi3nvvBaCxsZHe3l4WLlyIlJKWlhauvvpqvvnN\nbx6pommapmmapmnaYXPEAm7DMPj+978/ZPm0adO48847C+vcf//YxzfsTy3RJiZdfxObrr+JS9fd\nxKbrb+LSdTexHUz9TeiJbzRN0zRN0zRtvBvfA1drmqZpmqZp2gSnA25N0zRN0zRNO4yOWA73oVRs\nmviZM2ce7WJpo7j44osLs4hOmzaNNWvWcM8992CaJitWrOAb3/jGUS6htq/33nuvMF5+fX09N998\nM0II5s2bx+23345hGNx33308//zzWJbFrbfeytKlS492sbU+e9ffxo0bueaaa6irqwNg7dq1nHfe\nebr+xiHHcbj11ltpamrCtm2+9rWvMXfuXH3+TQDF6q62tlafexOE53l873vfY+fOnQghuPPOOwkE\nAofm3FMT0NNPP63WrVunlFLqnXfeUddee+1RLpE2mmw2qy666KJByy688EJVX1+vpJTqqquuUhs2\nbDhKpdOKeeCBB9RnP/tZ9cUvflEppdQ111yjXn31VaWUUrfddpv6/e9/r9avX68uu+wyJaVUTU1N\navXq1UezyNpe9q2/X/ziF+rBBx8ctI6uv/HpscceU3fffbdSSqnu7m515pln6vNvgihWd/rcmzie\neeYZdfPNNyullHr11VfVtddee8jOvQmZUlJsmnhtfNu8eTOZTIYrrriCyy+/nDfeeAPbtpkxYwZC\nCFasWMHLL798tIup7WXGjBn84z/+Y+HvDRs2cOqppwLwyU9+kpdffpm33nqLFStWIIRgypQpeJ5H\nV1fX0Sqytpd962/9+vU8//zzXHrppdx6660kk0ldf+PUZz7zGW644QYgP5W1aZr6/JsgitWdPvcm\njnPOOYe77roLgObmZkpKSg7ZuTchA+5kMllITQAwTRPXdY9iibTRBINBrrzySh588EHuvPNObrnl\nFkKhUOH1SCRCIpE4iiXU9nXuuediWQNZZ0ophBDAQH3tey7qehw/9q2/pUuX8p3vfIeHH36Y6dOn\nc//99+v6G6cikQjRaJRkMsn111/PN7/5TX3+TRDF6k6fexOLZVmsW7eOu+66iwsuuOCQnXsTMuAu\nNk383j8s2vgza9YsLrzwQoQQzJo1i1gsRjweL7yeSqUoKSk5iiXURmMYA5eL/vra91xMpVLEYrGj\nUTxtFCtXrmTJkiWF/2/cuFHX3zjW0tLC5ZdfzkUXXcQFF1ygz78JZN+60+fexPPDH/6Qp59+mttu\nu41cLldYfjDn3oQMuEeaJl4bnx577DF+8IMfANDW1kYmkyEcDtPQ0IBSihdffJHly5cf5VJqI1m8\neDGvvfYaAC+88ALLly9n2bJlvPjii0gpaW5uRkpJRUXFUS6pVsyVV17J+++/D8Arr7zCcccdp+tv\nnOrs7OSKK67g29/+Nl/4whcAff5NFMXqTp97E8eTTz7Jz372MwBCoRBCCJYsWXJIzr0J2Sw83DTx\n2vj1hS98gVtuuYW1a9cihODee+/FMAxuuukmPM9jxYoVnHDCCUe7mNoI1q1bx2233caPf/xjZs+e\nzbnnnotpmixfvpw1a9YgpeQv//Ivj3YxtWHccccd3HXXXfh8PqqqqrjrrruIRqO6/sahn/70p/T2\n9vKTn/yEn/zkJwB897vf5e6779bn3zhXrO5uvvlm7r33Xn3uTQCrVq3illtu4dJLL8V1XW699Vbm\nzJlzSH779EyTmqZpmqZpmnYYTciUEk3TNE3TNE2bKHTArWmapmmapmmHkQ64NU3TNE3TNO0w0gG3\npmmapmmaph1GOuDWNE3TNE3TtMNIB9yapmnHoFwux9lnn320i6FpmqahA25N0zRN0zRNO6wm5MQ3\nmqZp2lCpVIqbbrqJ3t5eZsyYAcDrr7/Offfdh1KKVCrFj370I15//XV27drFunXr8DyPz33uczz2\n2GPccMMNJJNJMpkMN954IytWrDjKn0jTNO3YoFu4NU3TjhGPPPII8+fP5+GHH+aSSy4BYNu2bfzN\n3/wNDz30EKtWreJ3v/sd559/Ps899xye5/GnP/2J0047jYaGBuLxOD/96U/58Y9/jOd5R/nTaJqm\nHTt0C7emadoxYteuXZx55pkAnHDCCViWxaRJk7jnnnsIh8O0tbWxbNkyotEop5xyCi+++CJPPPEE\n1113HfPmzWPNmjX8xV/8Ba7rctlllx3lT6Npmnbs0AG3pmnaMWLOnDm8++67nHPOOWzcuBHXdbnt\nttt45plniEajrFu3DqUUAF/60pf4+c9/Tnd3NwsXLmTLli2kUikeeOAB2tvbueSSS/jUpz51lD+R\npmnasUEH3JqmaceItWvX8p3vfIe1a9cye/ZsfD4fK1eu5NJLLyUUClFVVUV7ezuQbwGvr6/n0ksv\nBaCuro7777+f3/72t0gpuf7664/mR9E0TTumCNXf3KFpmqZ9ZEgpWbt2LQ8++CDRaPRoF0fTNO2Y\npjtNapqmfcTs3r2biy++mPPOO08H25qmaUeAbuHWNE3TNE3TtMNIt3BrmqZpmqZp2mGkA25N0zRN\n0zRNO4x0wK1pmqZpmqZph5EOuDVN0zRN0zTtMNIBt6ZpmqZpmqYdRv8fDOBc8F6OArcAAAAASUVO\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.figure_infections(vlines=checkpoints['t'], ylim=0.2, \n", " shaded_reference_results=ref_model, shaded_reference_label='network: no interventions',\n", " dashed_reference_results=ref_model_determ, dashed_reference_label='deterministic: no interventions')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.4" } }, "nbformat": 4, "nbformat_minor": 2 } seirsplus-1.1.0/images/000077500000000000000000000000001375244156600150245ustar00rootroot00000000000000seirsplus-1.1.0/images/.DS_Store000066400000000000000000000140041375244156600165060ustar00rootroot00000000000000Bud1 cSEIRS.BasicSEIRS_equations_deterministic_testing.pngptbLustrCSystem/Volumes/Data/Users/ryan/Dropbox/Projects/Packages/seirsplus/.BasicSEIRS_equations_deterministic_testing.pngptbNustr.BasicSEIRS_equations_deterministic_testing.png  @ @ @ @ E DSDB ` @ @ @seirsplus-1.1.0/images/BasicSEIRS_compartments.png000066400000000000000000006176031375244156600221720ustar00rootroot00000000000000PNG  IHDR:l HiCCPICC ProfileHWXS[R!RBo"U *! $YTp- ]Qt-{Y{_,(+6Tޤ}sϙ3){D'.ƅ1ƥ2H.p'bc#:@׏Ut$ >bDZ S $ DTD3TJidžxdM.WV33 yYG&ĮbH 6bˇ8ayy C778bSCŹёj}F(1\!TQ'A=w@欑 L)**OsYjBgM0!b*P  fU$dGHqm f aA*~,-SJ"NWU nY<ٸȁ\UX@/)Sƪq 7LDV. RŏGJ bTq1xB 0 R., .jd>A" R @!Ԫ. S9Z@"@.-WzKFw56؏:D5^%1L 'q#367{D՞NxHF ܚ$*~K3x!3n|geV7yfMvW JB 8|?SIcEQo룊5c3[b iv;5vk.`xp =Voqxr \OE%e]c@0Uq>vdT%,`/`pļnn(#c~-`_uQ{طn_uqp 3xriJ+xhe ́5pO Ab@Hap=K0,+lN48΃KO'xz[Ї  !t@lg a"H!)H:92#d#R@!gvB^#Q DQ32Q&,t2Z*݁65}b 1Kcbl,K21)6 +*Zk>D3pDOg56?_=`Jp&8q,B)pN["hH'zݘB&N'."%"%{I$1əG!qIRjeR'=YlAv#Sbr1||GѡR|(1>ee e3rIR~j6u.@=IK[CCJ[cHcFn34>hi:i54嚋5jռ7FRiŴ:q}{-p-_kVVem[mD"Ju(:v:l,j:7tzu#ucttn=Lg+ۤw\[t}}3$So/ߩߦcg0 `A!CΐckpuÏC̆,0wFCFeF}4f/3n2g85bIPCyCˆz5u23niYlqnsC@lͻ,"G,3 ,F.qcijn)hfgeohUl5՚iiºպ&fMm[-Vh;;{dvMv9Ewhj:9k/9NNBjΨys00aanh\ ]] 79xx#lFX6/]9fdȖݜxnnWiݛ_r%nMG|VϞ^R./tL}f,s7;{A>>>{|ulhͣYq6u37wXpjZ>e9Y;X/\Aޱ}3GĐ5!CBBC{<¦ 'G/ 18u1^cf9&aS4% cO8yTY;s{oqaolku/\>v%ʩE_kx捴77ʽv;sӹWy~8 <=zXSgړʧO랹=;u/$/K}ug\O+׋6{QoZ{c{{mNLo'ҧώ[D|۟/JO 643[@ {RTªR<hs}ݰBn>!M-Lw7V=$P`{TK`] ;eXIfMM*>F(iNxؠ:ASCIIScreenshot;w pHYs%%IR$iTXtXML:com.adobe.xmp 2008 Screenshot 570 C2iDOT(o d@IDATxU;$I&@%'EA"V5F@] ,V5VEDHPQ0"w﫮qW/=[|       y `Ӈ       8|@@@@@@@@{HdA@@@@@@@;@@@@@@@2 Y@@@@@@@ w@@@@@@@ gD@@@@@@@@@@@@@@@  @@@@@@@|@@@@@@@@{HdA@@@@@@@;@@@@@@@2 Y@@@@@@@ w@@@@@@@ gD@@@@@@@@@@@@@@@  @@@@@@@|@@@@@@@@{HdA@Ə/[l`s9RZHW_}%<)#9իK~WI7     @) ^(Aԩ#ZcXh4mk<{lرc͚5 FҸ@@@@@@ `/O~#֭+k׮ڵ`;i=KeAN@@@@@(KӣS3gJ%'G#iZh!~a11B 3uh]g >@:t$H4m֔'     %]{Ib(0cҵK`MmѲ̛7.!73ؓ%4>K'1     PG(￯]#kٲFҸ@ ԭSW֭[Fsك= F"     3J@xx] ^2@@@@@@]7#ݺj\ 7ߺu,[L+믥aÆҵ!#oذAV^-k׮5kָժUSzuiڴTR% ~/e~=jHmf͚+UiUX>{|WXٞooϡX+WtVYV-׾}VX-t}۴>_}GN{/.]3~tAR|fwh @@@@@$@M3V'xB^7299C?|'![`}v.n,^䵋#Fȴi$GxI g@qdĉ1}}䨣UL̙adv  ,x@lfKglժ 0@;#:Jʕ+ȖE e@.۵䘯'ߘ_xA>??u=@9cd}M7T s9ޗ?=9. Jm߾]9y_;v]7}eoY4i@@@@@@ ,$ X8*GLt{y,nn;Wm &ӼV^ j`+vWʖ-} hys/1c4j#ڿxDZ;~UիW-_.YcîV!E t6o6裏b֟H{vif͚5jrʃ<6mwqw_B׀elѢEAvb߇QFvکsA٘+:uD9w_ҕ0aBn7q<_JYgӗWU2}۶m/<0DAn篳c#FHYwD^uj;睪L4]7oHG_ 80f߭lyEMU )֭[Gj?<~w@@@@@ 0]K8\f2ī@Mab۩?{Kr,͛7łOIݺue.n?l)ϿL9bMr׸{0+4w||AMֱ+Ltȷ+7pCٳgKN+7A|N}Y9묳߅]N[v%Uc=jkoI1L!ߪe8ת1vXy)rI)O3W-O>cb[p     l%{t[oU~x%ojl<–^n O]> 3c`E2me[n>w"n}Bn9y //s68ް΄Pz᮹sVE]6e]> ^~PӖ%{xٷo}-_|E{ϙ3G_qpt3ggJc=ܲ~-oݞ~z'xoK.[o`u"B}YƔ9r\uU'^&xRK([lЕ-enRmBi~u]3s\{Nڄ~_1Ypa$_ nS -m/7U5>LlFlK.Dڶmy(d츱t@@@@@J-N t۾v{.w2{,ya(TgY.ݮT،>Hּ+W][N>  ZP횫kM3;lصZ6F~C=j-X[63~]f͔~N]6CC=T:v(mt-ZHÆ eE~9otиqcϷIwһwo^u?b{9Lyuנzݦ:s{&˗/}7ޑ# uj yy晢ŻxaAY z>]{AX>W_Po„ϒ{fe9ݴiS|l3ez7jh⋭`_3B5vR}IxtU:ƿ `0qD7~W`+uՈOw\ߺV\osAc]_*K"${_n=Z+ɑ2~lt`졖Ԃ >3RW0ܹԮ; _Vd?/n__~E7ב`ɧ߿ݫUc~lJ 򶒁^ؤї"{dɒ<+y{     Dr@ h0_>\gfM kYաA'|ƽxݶEkc mٲ%e;K. ٨qؗ_~LD۫{]v׵bŊ#׶繟Ԡtf{5k`3R&ſD#V'TE\ѣϏٞ˱z/B[n 6um߯O1 JU/W/k'򅖉~ {mƯ"tYYS^?1]^5'n~eX*#Ȟ/,N4o3ޮ߾}:XJ^E=~wo a{ q:m/cVn?cWγ/֎.͟臍)ޗ;ϲD@@@@(2 P7wKqVzAP2A:8fqF^}AY> Y`/ckiWϞks@lͳ|mݦD~?ypyCMj_gGw {} &uXPz}MΊ^y~[֙ANtWW<3+י)}7w8<믿>et:k/0)wWm<~A;#2]ɉ]tEi-&s}^?-ȟ ٶG~@@@@@@5(2 \.e2oHZ^~,96m=^N4\銥M2icVYG2p:I޽䵩sDR%KΊgv:j(4hP$^(:;_ h7^Zd?HtDrg "96mL#=CtVqV>}gw3RJUqK_wܑ_*V_+G>hxIyuڵkCeD4.6NJ+QFspRz^ 7o}@9ciMWH*H~ȑGWEXիW5ki>@:tN.~$ͿY{ IgKˌ38|j[tK- "vyg٤m?AtiժU<9} F3N|_٭O["g     Y{q~: *0C],1*k-[g2{AI!..AJZ΂+5xjSmp1&{^^ BVgϞ],h\J os]и 妛FȮX}G~Vo1BE ]vRU`g ClI`娣9[rQ/'tRw~Μ9Ҷmۤ O>eV~WƯ]#zȌ     P|gAO(56K.2oHZ^z<5@,WH^*ݛ? `ʔ\;.0`@ڶ{i6 sr):>AI7,~|߾'ԳgO:ujR^K6m?GܶLrr޹ʩ*YEy ezHvn^zf3͢&M%Kr|٠N:nH}/]엲suĉ^x{ʕC1{ʙ)+ 6{/oӺ UR6o%?sV_KZ$%\rIv'|"mڴ 9I k':Uʁ     P2F(D|7nKȑZz*:x˖-~ӭ/̓bo-'Ovscrx1./ruɰa 47]vXb.,t7yWRvG^F 9#CqR[Fw`ߨˌ'n,]^]Y&Do-ŋXb3NڲnW2閈|Wn)[6GoG4ۿ#݋)t=j쑸]3[裏KI@vΝ]{s g.~aohėþsy tGVxGl./?x[jժI3IرJE}o@@@@@d `/ύ^#P=us #m-ux VgzK'ugM\r3/|-mU -?66~81w^;9ӂ%ZmSO=5ȓI8k駟.{Ob5ا75t펝;a=snm?lȲp{~ζ*ɽU`ˏ_i%>`O}_jP8ae{s?4FGyg}ow.C?/23z-޺uk9CY.ݺE*VQ`Ьi%[tđ㖌<9V|* ۶&񪮄fo5N_(a/0۷U&^PQ!    ?J`=CG+ ͝.cvLz!zւ.[L~yG/T¼~re?%9v<ݻw<'\M=\v:}Z~9g5);֩+'֗_~L?λtR) v]"~.: 7%#~۷]}ǎ~~_FÁmt/ [ <^ׯ_ WTۯ A&m3yt{za^USN{9k}WXes_l9]E9#R|8rt KZ=q?C9}7~I [6h(˗/OʛiD|}[^@@@@@(Ksk? -ڲ.?w^/?NtK7矃ؙEg攑ku3Yn1({~Ǐ渠k.[Ͳ5jAt5w?5<^b:`wG"ك=~Aj}zќ2X"^go(^[8aӭV^niOyA_ .^Xƌ#L͛7oNT/>BlGxxyn//E-o/:Qvmꫯ7BmO>3$UQ:#3=,9     PgF(0몁 "=v'~@bosjgӿuZκ/L o<65]FցvX%k n/*|ͮʬJl܇ R^?o_di`_v `od_د}Ι3GڶmI _XPyZ>qvt~^[#,\O>mo\? OnF?e_/C܇;v `? j#i«*߿aÆsיX">G~R{3ح-WN^={nk@@@@@"@<(@I%mfjh짟IZqJ,gے5jԐm۶k]~^Zyxy>ؿ /Ls`miQ$x6={E;=_;e:L]=퓻xM^e˖IF`{]Fi_d}eضï.%=/ZH6mmY믥SNbyoņmllV`Ȧa !۷x֦w?L^}ZRU.#șg[6~;4c ҥK-lݡl?gTG8$ЦM>?zW>KĻ^ ڷ lh[ 7H3ÁY]vw} M2իW'%=Z.:sOٰaC<t]֨}AWg۞aKOD|>*5c<^HdN>{7Gyݰ.`ewe?GP7o\gsrWˈ#EA :vo 3Jwt%?v|heʔ9s>8 ]<#{?v^|O|3É݃ZKWo5     %G{yV#Q@ hhR>l^cf?-f)>6%md}^ڵ˝/"uO>4)Xۀ^tv>d KG۶|@~rdӦM=9 `OdѽŸq3iޙ{8z` K4`U7n:D`'t<ēg?ꨣdd^ f_veA|j(_2D|BVvРA7% W^vCI[-~W0kipB?)fןr).=^;?ӓK֭]P_Ɩ}S`oݪǻ# ԗ+VʞQZNe欙j⥟.@@@@@J.YˁٳlKk?v^v8SsD|VuXf Fn˺.=-8}ƧOGO'8wߤb| 4P7-[*U[5,:k֬17k,e^?qsuW^Ӏ5ϭ[;DSgYy33;v S%e@@@@@d(R xϲeʦ jluN;%}e]csItRuaÆ% '+(ˉ&/}ѧO\=/8? ԩSc5WUڴin\gku%, `g}'Ԯ~?\r*1 }|饗#Fy]o!Crrʸ?]=iӒ[xI%lܴ1׿5.k̙)oCO7h})?ϥK.t+Z_vSO> 7t>o޼xDw֩}%&@@@@@Dw(Z^R}c*UT[ܖK,D$M5.:s6ȓ-K/yٽ ]tr9H͚5li[ܖ9OxۯI:ޣLuwK/@;>.}iCD\==Qʉ4nX8 9ӥaÆ~Ӗ _O??裢/Eɑ~kf{D`|/uuASB؞]@.ĭ8X~rcw9'~W_Ӧwy'.qoþG}KߟTc3ϔC} >l9w|ԨQjӀ{e}mۃݯ.;u)?KۮrW  6ou9ﹲ?m5n[]yTiղeީS'їiǦ:="!    %N{{dt!`/Bl FAV*7o's ?6iWEDƏ' 3WYo)ۿzZkɶ_}͹voZ`&K5袇v/>8 lywi)RdP{-$Ժ*U$kՒ=cQiuMCuM7$W]uUU=ؗ-[&5 ^XF`K3 I&dɒDVќ\7=%e:݃= EAf ] $cƌ $/ԬUS_L&?v#{j2Mm۶n۾ݻwٺ'zߟ} RbE&ﴱP{p/TS~=N߂`ۓ=]a/u믲d>KԼ_t{Y K/\TgE|4=ؗΚgk=E]{ƂdD@@@@LB@:ن^P 9`QVO8H}~G7-:}tlبa</=p@뮻B)Aڴ$tZt{ϴ3<r'kl:l^h[oM }z37F%e^`_zF9``Oc?^W:=^N-ZvʬO8Dy٧#?1D.ԝag^rԨQ0=ţr]mҗ#,DgyE2k]vba{ tj2nuՠAdIM\>II~7ݔF>3iժUJ]"^+ٲ:O]U1zU=dF@@@@(F9@?DSN(O 3y.$1];enxYLN {+9rdLߎK}%]u;vaha=i=ܬ;K`<>==أvUO^խ}?t㏤jc˧]^K/Tl-D|?v[o_%;t<kÖ_pA&#y~C=$Bѭ 8l{=z8+}-%0 ?~{A޹Sg݃}UAp@@@@(؋{ bA+WʪիdՊUR|9-hoo^lt裏4Kt"v-[6]bn/=^իݧ 3ϝy}۴i#իW/v/ZKZ)V_Y^ϺP$ܶm|M%+VuF }t2E%[{7oq/oӜOÆ ݞUTIQ$@@@@@N{YR       @) ^.CC@@@@@@(:EgIM       X{)~ @@@@@@@%5!      b24@@@@@@@ ^tԄ       P@@@@@@@N{YR       @) ^.CC@@@@@@(:EgIM       X{)~ @@@@@@@%5!      b24@@@@@@@ ^tԄ       P@@@)tU@IDAT@@@@N{YR       @) ^.CC@@@@@@(:EgIM       X{)~ @@@@@@@%5!      b24@@@@@@@ ^tԄ       P@@@@@@@N{YR       @) ^.CC@@@@@@(:EgIM       X{)~ @@@@@@@%5!      b24@@@@@@@ ^tԄ       P@,cKb99"~ f\uU[@@@@@?HK  $F4;|pk#i\      @̍R ;A.6qݛ.1nu2lذbW:     @I ^}F@ K9:| ]/C M$@@@@@V{bG@ \3%%KӇE@@@@@J4 n`u:%⓵HA@@@@@ {ٛQ@b)u.uױ{|Xt @@@@@D `/N# ,`T`<8A@@@@@ Hq@ \R-[&_|QԫWO֭>˗/_҆o7Yp[駟nR75k[GQdb_ʚ5kd5.իWf͚Iƍ Ռ`wK{3PF@@@@@ *@= P*VX!?kv,YD֬], 6/ޮ v_{U]7     d$@=#&2!%S`˖-2rHml ‚ mOLeʔ+'NU%vYf̜Ѽys?~$- ͽ|HzH8HZ?\.R2eJۚzUV#FE]\reqC˖-]ڄ 䢋/ʿC2i$g}"/ڵk's 'eq#gupeȊ      TD?#ğ1Խi~:;y|/#lj;rb\xqv ㏥m۶9RrEf7'j@{o2UWoOSt&}'*Uo0`{^.hڴo3}n{OD>۵o/s>Ы ]u      `̉\ @x娣. .Q~0 2IL~i"pOV`]vumG{]W83ݒ5      ȁ(/B[~)oƧ2یc9F89f͚nO>-7ԓO~v"PnΖN?Ͳ~q6k&6 qSJϞ=Is۳Ksnk/ֵ7͒qtywܺy0~>vĽgnȘ1cdРAk ϿmCVZt͚5h"ygGjo ^T~^V׊+"}iҤD?Rv"p     i Po.usiS-j__|vJ;O>D8?S6c9c] 8U_yYQ66EM25m`Zjիlٲ)^]vmtyW+YF GӧOr~-n{o޼EbAVc?.'t53i*_K[E˕w3{ۗI*'bׯ_ivWngMicsԝ:oVuïsA      `Ϙ @2dr-V\Y^z%7{:r#ͅ/bW wQn xt);N:#"i]\{n&.o=eQ%nA?yd7K?r#ŪUܞ ,oa/|)K{g3իWO{99蠃im>i2D9ӖoKF/ݧ-o9@@@@@@ oH  @ش[iԨa0 uJg0;l:믿yB+aiӦ+㳧5-I;p(E`"M"ӹniPqa~)6mR:~t^oeC}=r秬_">q31~ u8∿ʔ)S@bCf~~ 33''      `O @ Ç2k, [Zv-Ad#^ \>[KOoq^ tʟ]6[nOSe׭cҦM|"C9Bl6ApZ;N,x9y7Č?o6Bof`>^믗C[       ȁݧ<>wޒ>?s4k-nK:ڶm+qUW]%7tS$-ō7ޤx foӥ/첔EfϞ-;v YLy5~ʕ ҳ95oֵvd׎,ZH6mTUxL?@2koU,/@@@@@(BQ(_|y歸SEB INsqNe挙)뮻tK K`>#/N?wFQlYY/ ԪUO|1BjMGL{c^/M0pwPjvM6Egza8HuV>#D؃=?5#     ̭ȉ[[Vt"^rJiذڸL2u֔7JڵeYƹ;dgz={W_}5wGo@xw? / yqP:hy8`?>H7:ʬY_B29;w.{:'{7n,K.MS"lQw;E @@@@@ `/ @b pN?]]= qbK۳vy&g!7oufnWZ-uMYcɓ'Go9[nqp<8l3O9Y]wU~a^XB}-lA>$_0_ iuwϚW|0PƏ+n#<f9MQzcjeY">i"     (;uv[ݍ\Ο+X^4#9s.y94ލѾ}{,;S_^*UOo.w)JAn<2E(SS5e˖%e ߼keeV v߰akK>Sg?CA'֭:u^WZUgl6k /";vl+Bn֤`{_{-Zj)E#izO?Iʕ#0pww#G#3pKĻ^>dxۃN݃?lï.Ær      PX< P v*~?4k C?gɑoă\'s̑vڹTx f:l̙zzueOU믿Zjߦ 'L?~뿍#|3i `1VFDmڹ?KcxS@@@@@@h# gy6LׯEScvcmm!X߷|{i%zRZx ?lV… 7|Rk׮z}! Ru8*T {Zy駥Mh0_k3hPOv?]<ț6e˗My7Y">9      ^8?J#B`.>^dY܂ګNu]r4?@mf͚E򥺨Y_^og~)۷oH`%uι_#Ggk}Y3w.o/{ap      P4؋ƑZ@?U{ . ҇ٳ#i͋uI}]N}o˝L+WFf|;3jV>%39y>HnM.Hy1ݑ& `?5jK/"ippp`OeE      ^5 L`ႅҼEsW͉^5Oi޽嵩S5P:{wQS.ۮ˼k(=:ў_m@5=nܸpz^"59b[ ϝoH`dA2j(u>+ v_O@@@@@ /@Ԁ/z5ᄈ d[!^cӦMҷO/@n[zfTo9]܏_ȝn:ޫZʖ+/֭=#O.~Wn˴ש[W/^,+V̨Tl|tۏ^m>}t)ǀd[&^7'-\H]m&{ƍei35&%aÆkt@@@@@B{XdEg->`0ڱCG9kf=j(e-8nAp;lX=c֭RVmuՕU+Wu=7y'_~ˆ Y| <8Y׮]g9ҽ{R`q+f駟km;G ge\wpJ=z      |Ȁ >H: /^TfcwqD֭e޼y3f̐N%#7\wy2a k7}d5k;~saOW]u؞K6ݪ{/v-uZn_?KV/k?uuI&!J?J߾}eڴi<9erdyҢEH1`@݃}> `ot0{7j,K2؃oü߲EKEr"}@@@@@ %@b-p d=c^m|CfwΑqX?yHY0޳z򺛅nvɥg׍7 CsE\;(zw}^7ޡcH ^e˖ /@N%7     d$@=#&2!%Kك ѣGé~F(g >sO5{4j(H+I7r!PU5tP Rmݬ칟~noTѱe>#X       P؋֓@@@@@@@JR`       dey񧪻gzz5:â[DAQA%?nhT A!""BDMavfeU3=3=53~gK}{yB$@@@@@@@f Ycy[        ^O       0KHB@@@@@@h z4@@@@@@@Y*@}X       @{Hד!      Rt@@@@@@@+@, @@@@@@@` `;       ^di       T,ݱ-@@@@@@@ `o'KC@@@@@@$gm!      W{{=Y       , >Kw,o @@@@@@@$@@@@@@@f Ycy[        ^O       0KHB@@@@@@h z4@@@@@@@Y*@}X J[Phn#     LHDy@J- vmaXoɯ R:6@@@@@R `/a@f"P;YL{31e@@@@@{N>2 @Y%_3\HW]?N{j_f@@@@@؞$ط6B.GO6쓠0@@@@@$@}JLL I`O[O$ۊ     @Hk5 mH `     @ `Ff@[ύgӏ`.@@@@@@`$ا+ TbυI D@@@@@$Kk0@ L,Y6     LWtŘ@{ܶ^)^?9jKF@@@@@@( R6@`/  Y6     LWtŘ@;؋-՝u}l       ^]Æ!T@ Uu%yDL]@@@@@n %BG緗O       HO@:A`G-u`=6"     PN/l VLHOOu` VfE@@@@@Hw}}Eb5Eh#     4HO@/4|x4|j%h#     tHOW@J/P(毯~}l       ^]Æ!T ޜf'T @@@@@'@}z^L ݟo|{f m80     l^} Ё;='Vw(     @IHdG VTOwvok[KB@@@@@ U7t@MOo6eʱ6zn|w.@@@@@@`Ho!K@(@~D? ޷,˞6Gėlg9     t Yl* *UO\oAzJ?>/;سm@@@@@ 1= @w[;ō$K@@@@@@J+@ C;׽J2     .@Ko/%+`A@@@@@@i `#t[}ӝ {mD@@@@@$˹_*@`/̊     @ `" 0&$ۋD{j<">F@@@@@i `&#_ '+hzh<">KF@@@@@ `#^ZQb=5__O$K@@@@@@J+@ C@93NB     LO@t?6Vp`I@@@@@ؼ 0@w{Otp{P6@@@@@`/Ɏ`3@'PT=TO_fڷ"     ]%@v7o'=lʰ#cm0]"     `zC P2x@oY=m$/bs@@@@@ T@ TX+޸]x`"S!     F$7"a @ ;[G{+      03@c@r T=^WF]?Şcr9@@@@@r `/a@f  J3?GY@@@@@@ HS@f@  ]     [ e#@0 `{Gkn\@@@@@( @mzg'ts{ۘY     ]'@v9o`,쭹v@@@@@V$ط,Ea֬zK^k>0~m +F@@@@@ ޑF؜@~D|s"^v]$7g8@@@@@ش M0@CdIO @@@@@ )11 @' L=my~b< Nړl+      ^ A`;#/{Y     ]*@Kw6@@@@@ `/a@f*0#Hg       0]cz@ 4qz{nx՚/a@@@@@@T$K;@vDx&|~4|^.wg       0]cz@ 4`/Tw׋I~     V{iw  0S%؛w{W%gוh3ue>@@@@@]{? 0 Z^JW<^˃h#      >-.&F ﷰf;׹ ۈ     @9HsU [!0!^׹}+X@@@@@ E@` LHxD|      >M0&G(@NWyyD|      >]1G(@zjI~     V{iw  0S|{sf{S.@@@@@ y15 @v:my5<6      ya, @ 4`D[ܡl2     % ^f OZzR=ݩ;ڽ^oE, @@@@@J{Wn, O{6=ٔaG+^a»D@@@@@ ,@dx߲|/{H_      A$;hg ST=Wrq)>5DB@@@@@HoD@Nw V@@@@@@`$g, z6~=~=sl      ^!@ ZWg~2<(      @` :쓿-쓻0@@@@@,@}FL aO:ݰ      Pel @*ϮO1 @@@@@N{r0 0"Y$[s$g"     Ho+Y YL{|`@V     )@#w 9ErIoΎq      iO+ {pC^~^֎![7֏!ѱãVc6^'ljuJ0GRR,O9J>>d8_ U !ͯI._j^\ndJiͤNݬUfj^,nT@T+Uz[=gs}g=smns@߀ҿvEnl{x(N СGO$'AaPG GVXm> ?dV]e5fcA)G<wzw>I͇+abe0#IDAT~oh3x%uэܯR =i cXf r' "Qzz"v6U*Gz+9_<߬gw.z뙻UvJ>2gQ.(@J*P[6#V[kZ}-~_t0Fq.3x c:[B?|Pjq-D5KLhf&{_p5>g,=ǺAW1.VX9Vky20`6z.;[n,z˪ގ•  %xd-_9d^o^nVZYm {f#cxF=z=&<8x//54#a?i ZdUrsH_7sz;.W}60}hK-^4~f@W%G<9~ˊo;WeV/{<>O"UzWeWUiL4Q=wUͣ{+5SQ5JUȣbZX?;y"~]}c,P;xNk7m&N:印]-Pm6fln_? zJtU1wFF)Qr#nUevs"[?Y௲B߿(ogʼ;P}U×؞u݈p]6zRZf̣?( ΢z5E&qm%sHWSx(b9i>]4Y׻/%~aN7;)߻b쿟9>P=OUn@*{Ym7ܽn{`=:7)(VEѭMsH|N8*6t~O3HT?|/O?}-kB{y[Y`Wv÷/҇"߭/*tQ9JՑޑ*]T͞4O>}TZ keiX\|s]*_OdV*?!y\rϿ}'ُOCv[Zs@9"ġ/0Hnco{&{8y+?Wܑ/"GsF:h4=%\tLl|GOXFKIߚY4fnʟ|]x.z=z{?ű  -8VomW #zzN "dC]jR,_G4⊢#.R,i?bXH#vIYBRM˟56PO?wӭwAQӶ@U=ѵyv6#~^/p!h8ۑlnW_9ӹx]sa+4c_1*p|OVNcsǗ]w?^4{AfnJ!IPݛ|WRF ckc7K+(Jr|;q<]4.6hx7@h\XMII_yԤ@(7VH=y~xw^@f.0w_=uV["<zD`#(B x4\XfhF}De||53_Yϰo*cv7۵^kccɱ͜9sN+~[K뮋֦Gm/Y7GTn{}w=of(? CRTJ!CԙI3BJxkaݻ4rbdbA*L=E7N,:{ډO7r];_fM}6jͥWV!>笉GiqT1F1RF #SKO;S򁮾 ƽ-6oR^SOJR}w^r/Ty;?ˋ iGo$nڈ {uL1~JE8-"(ѭiӭPL[?4i Jl+՝h}{?#ᅮJ 05O loظ?>t„C7)(MRnr}IP#Bqa)awC=pKls1\h+$#o}>l[r=#܆ŋ@$?G}K^7a}'x) 96w~ܾ;F!]8IGDҌe&h;7/g[;ةomM'׏ ۿmoتUYZ*"y]Q>yムz\qE9 hiLUn\0m OUt :ox؋#> ֹ1ad* ^6rm+~8k~oHql)цxFIJtnM$WK[|'y@`2'U[6|m\ }U1L%W#JR,9HN42ӹH"򎴆FG1&'u__2wf}},6'?i]v=v}Mkm쳏]xvqMk>M?5k4Sb_l}jUiX`xtܮ2qΈBqV6:Cop]ةN{AvY{`W.ebpE-} SJ\/XjrKbLui />ȩɊMG=-6brWL]?9o)/& )JQjG!J%)(Vo,?qtHm`W{Փ^i乾&hخ{R^:jz4 [7rwl_E4dBPԝYޝ/O{G1m:ĒjۖLJ7#uѵ8|3~%nk)MP*sB9~N{ !ojw*FgM:_񴿜%ϟ}=izM̫t..ޭbkKUTs0@k-o|+ϴYh}CO?,K ~q|^ >v5A ??~o=j`%PGF%QE6_t'\Q3<^o??Cw=w鷷Ƽ('D=TF*)&]8o|X#4g,5jb:-9a?t@D_ClޡﰞMxEX`;l?\`7!J"B" i\Q̢Kj;.+NK(b ?w`4YZdO O֏j~.90@^h~ҥK[\{;1d]gu{?9ϱ .7с@徵-z_W{ T^;h.ZO0*vQR\\NҴY))x[وYR\1jzD߿-Zw)a8Q6:X6C5 t ]z ^UDXz?"Θ4) C66x(0[ke7ct݅_O d?d_za+3x衇좋.s9gu}GOeu￿qq'/>M7ԘSN7Ё ~po~ hMӸP#f5草NZ&矖f֏?oO!^g[OUgg6`_^赟;Wޕ\!z[*RLbFU^ 2/.ѸL|PXS _Sl;hǼ1:hרr6g.P\nϐ)"(TԢ.PԼRETR9i'}{870(:hr㯺`ć:8 / @7֞qVH"HR,Bs<@(&M1/4iƹ)SY??2;9v^qdtx%?۲e˶8… N??FmyNi@cDE0fMD+тr9׸԰~)3:zlZm@` ϵڵ@"k!qISJziV# &i?pZf욢6Zۥi_>G9ˊ(3o4]Z;ͷ;s3t 0U+VӞ4;'娣qᄏ=϶~h|v}5kXxq$_W=OS93K/1㏷}g>1;[~ )#?-MsJ̤ӤL1&.iT2S~4>z홎z-}/2`WTQywЪtUb\·16*Eh=Ub}16fcʟ39tI)O8)&`d0;/_/g $}-F\c6)z4Fxw3bfH݊Yy[Xf_(0Vg&?yK^gs?5B+xлޠԊ#E' L'D-gbDZ}~}pS֟5-_Lhjox;(B 017ٮ gN8O|;nI'=C]zz꩓>}vuM=y}0;o8Gɳ5)y?qr4/JS9ֱ _#/$fp~g68[.oGN)v>5~ǡ( Ye]>:֏?寽 y7q{hh{Q@;]CKϳ*>|iX*|GѯpEQ؄ch_֟Ip4EncGD-ܧ2Xʟ|ڼǝQX: ihϷY&2!6T*p< m߾ٌ@7 cU#X1ׯ+MZq;.D|S4.kk& +-֏?寸RZ3=p?&xK_ﶱ e/ux|!\u=j_j܅~wO:'ll]vh^hg};﷿/h&tˆq]e^yB ɿ776[aSQ'?s?{KH@-a)cq;租w^)\]F LՠT+;PU3V<5m1Ǐ#B҅紊X\B‹6שBQM{~{$X^DKGķW?f0~7TaL?5=WxCL:}ZQ̚ڗӧQFP]n֟Hk ʟ'Q[S>3w|FS5jծxiO϶+WJVΟ?ߎ;8[hьgG?u _Ƽfl?Zu,}lh49>q/ojp ? ?O{bP6sͱ_ouɤH[oc9 =HtmFFFӟ}##6|+.sWwr-fQ|NNOw v敿o=D-+m._8GiEYvi)^_󏔿ߋ}OjKPc^J`W?9~xQgsO|UNj jTM% N"bb"ukA/-ihX/ʓSPf|=gٻ${bhO '؛JsnZ隽~׍~Gzָ[R $Uw(HLMOf́r>HOkX80KGdF7Sl˗/yovTgts̉,=lrqxߏxBqsϻ#if2@SѨ*&']x[ˊۺ.Kʳk4Oas-x;ϒz6ݽ~W6[jU,W_{l_~-Yd~.~]wľtvatƠ#8"? ttB{r"$QQ%D#O='l.sE ?4][dQd,ґ:,IIr.kJ,X \5>إ]iW>Y/3~)'ĥ8ddX~5xk.?;bG%v c\r t!5C7  fS͊1Q{*3ϧvq'\q>}\z̪eXǟ6\\|az\< SVoǝaL}6M׿/؋^6-t?gXT|d}vk)?4C#\yg=3Oy/Li ~{mL}^җ6NO U,)RJ?<^=iN+3Mc=`Q\MˈsSLX,;.3-Ei=EBZVTRyivQrq[iR%ؿr^ꕒ" ӋV bT^ŧ' o s&4_c9y@nbˈ!.b[eTԒ? L@tW_ A \TOB u /Z/1΍E HbzD ^RQԚ}I| ?PDlFa%<~qttsύGje4{G\>wR ]q ^xq- (&^PҌ?bx NE(piֿi>͓Ya>.Fݬa?/:d/tLN?68:wIJ$xJuQAף|3 .`]Z ~%Jѝp]r%߀^/N;7%6#u ;@GGSq%:՗4r"/4!2^x{ճH4 }*. ;R%R S,'{<ʪz|E ب}X\gv?|lT4W)e:xyӷQuϛ"R,-S"kд 2Zvz=z}OW55<>F(64m6:.kGqQ^OOnO/l/=Z0-n{ h?(_; [/e ,KǼMR`/E婨UWgZ WJ>Np^F˜8x&/H/ɿ]ImVO"D+ukYR|yNgIgbyT#W4|d1Mj5glƇ0ޯl,VY~2b v};SyO8>-XW,ZRGI+KiLַ1ӁW(qz&],?Sx14)0ѿ?˫^UniNKwl%:F&ul- Uk.Um^_[\Э_wzdGp_ itzա/hHj$=o4`#q.i)ޓ->SS_Q_2_$(&Azy/;c?꣣fc7bu] m/x[YQH׮ooыor^{yg'tR~\3<3ۊC7=GwͿ;#&ﭟqvYg~;ۿ^!:YF?k 荳%{O\ل9U]z|:_:Z)^HqCKbo'zvi[S1/8Rc[qpVl_p-1IV @uʭZnO u|xV}h(^bs:+.P|PҀtrg/yR֤5BcIG_ Emd-ފzQ$ߗoNeZlQ;oQDx5˿Wz/:lh vZ+o}_y#}<@t@lfy^AB Uq+h\]%.il5bVE5%#g s"ej"٠;F0}SLC"X/46GKӧm_7 6?K4r^\d+?/Z/:Ƣӏ'Z0` 3G{k(M (?ߖ/_ސ{7w\cX;:9J6O'te˖#~CiS`A;A7#HCH}Qy11ӨY1O,uGӸR}s͛k~eDM5u#(qI5>(R}49i\R|49aB-7bG0*ȘCC5HݏMn;eoS[?SQQo;c]*Vo#GЗƆ bdQj\QG5cHJh4ggu`mU)Pߔ֐XZs9J@)i\Z^>4y@ei}zźXǿY&Z ,-Ïl8,G[>͓h|9Q]~KU(˟ڰzȿ]bKfx{6vj*yk?zv:jW\q\gy'rxL#}.\75ϛ7/ί)q%oyrQno*;s˚א4Xü0$ѳb=ہ[]bb CbXhG몲4|Er6t}&(] )_+Vٸ~;:qGvs브B=[xDM Wv=4`#=ưvt|/.Kk~򗿴SN9뮘Dg?Y;"inge?mRHTrԛb[?޸R\GR_4l>[ۺ=T_cOJ5\kk6gDl7-hX2G;񚮹} 1*e.ccX7l֍rΖ8^GH/^h_:qʦ,O7_˯Z+UQև[ʏZs.Qi|-/j"ԚRѦ*j{Y/զt;"tÏW:q}/y/ӎ|UL 3GK%-ިSQ2tC]dKjTN>Qy;U ъYD$1wj֡FC--3 ><էѫ }z.FMJUKW&/VHDz~;qfCc66X|ǟ&̍hO؄>~ZSLKя~txbcwN1Uw1o˧>HZjrl'|rF9眸} t?ǭ2ϩ+y] %:\Ce~sm}/_SIǂC7Z#ZIM!ZNԼ>QԼտUoL} Ggd #k=QF?XD4.~ø'${pRDţ@IDAT}^U>i^! kEʂTYPuqQT\?kC"₢XPaiXUQ)$w}MIf̠3N-s} ^owuXx UU_Uwذ:զJrgoզ-U6~m5a+#v`8l([`1ɨBEW'c϶tTՠaPư٪Q٥ T 0ds{f]VnXY>;G(kَܲrWj8a'IW<%TD4}۟{̨ݹ"~j}[#.@׺Tɷy["u?zZ(fMC5ZU 5۳H.6Q_%!n=8e_&(O>>2h [3=v)ɹy@ F_GTzy90*&Z[[UCMr®%kU:wTcDȊbTs,'o̾:jMȇR.ꉙп+`>^ڬ}f8f]y=Tp2ʦga8O,4銯Z͎sQBC .B;`?u{=jcN75!OPM9XJw"n 90AyH{ r]+ --__?&pMx!Xj`gklݤc䅆h(?bx u>%9]Ů|u~#u,Ԍڪ:~6axH)1X۸g}0QAW?dq^ӏLEB>uɈ$GmYkV?cmBW?0  EH .9 }@4-ү#"]rA7.[ﳎ5̸Ct@SCEot 5R|fհQO*T bt>*6*@ewJS~Erqȇ"B#7vZ[s!:QsCþ{,#@ #$-ῦigQG@EhmmvkQ0롦^W_lgDqmmmn~Ŋ{j|;/0fs߷K1xjmU+и BX.! TG)I: e&Q!)JQ6OyFhV~#V1km~ Nzڄ~@bj |ߴwbvqG}=jc_w ( 0N9kk=xyG9]Q q z0+:̹0mMWB?/(9P/ (F`y^+ݪɟI>Y!ΐ}<[E[KGg #$7b12An?ɮz>3ˋ~WDUVe fi+telTӦɍl릭1 ~bMLJv❜8`STꘘ9w.f?Qgyv<,P_ 2% -V5@TD=Y̽O7 ؆@[cC@m_'5dr1_+%^ƨ+5T[z?, BN:M^SUN uH؆_o ͈|?;e4$H4;l%=/ nAZ]?dۼIc3:5p 7;N=y^kv5>3`ttt/K;SgR괸~F64P@˭?u%?=Xd2|PǤLvUb#ol ^SxQLъ[R>.*_AgǦKu<4H?kkNѤy AANsf4s(9YxglCC+Rl]v1>Ң6>~ ( y݇s- /_!n(i'?3Ϥq V[ԃ& =NX!3\ ''0]>EMP\{(Y׆Ⱦj|4H>V v@B@|{Q]̼( -xc6JڥrVו#ALY.qJtrd`zj {eŲ\|EIª<# %G-Y %V;=W64'Ա[G]a ؆Ak?w|?vA:5b>ɺZVtm ;L ËǸ/L~anBՌ+S_M͒J.-7={lq,taG.ϧÓ=۸|BVwX:< ,P% 1+Sre pDwPUTk5{~h>k_s9f ?JiwkVOj{EUt>1;OW0ˆ@ިYew u!&< p^@tde0"%#ڽz4~+Sx"?ʼ HN~z4cK>KC=_d8瞳.bgcz2$@$'9 3٤OB Z`MW\a>[{ԍ\ wڑyeC]?8^Q?lcD7N,lQ?]Zv&ދy O)%ZX;?WOF-+4of< \ :oIcg;2e,_[oWjqڮDi19Cąt'mmSLc;*xֹse;MV;Tn%vR#]P>wi/:OT|VR^+lB 7<y"mR"X†@s;ﰷ~l,r~j@ ɐ r'.?O6A6>ym|J]*b}dgY_ "TV; SH% ]@BV70Q/O|$||H}@^Pz%%#7c<$t4jg^G+MZ ӱSO!??Rsr|YG!C&E0#8.6qk|1d)40d;}>j|u|ѧоt|=t-xG_&=͞2ָk6BSxz,"&'R*Fp#eIy1@bc"SX  _JLj]i=W μě=Ї1 90jqzao,|&?c2-\ DpQċc*" -hSؤ~˪pcXPi̥^jgyf"쨣|+zZ |៽Öވd, k?}YR+5!HE m;~FS#IyaK'oIDyI@WKO]F}ś|<׬\bԘϗQ[ǐF-ihO/__rױ῿ٻEP vه1 ,q]hR褺Ejk噟نG.ƜIa{7mMQ?uf|HG*ԃqfYfPV}!)emxfn`Tw7CaE'Q'ek۬um~wr9 !r>7EO}ի^z);w?餓zG@Mں/GCc#rfG=cG@*|Rft,- y^'|OI> 6%(HN^ZmڴQ8أϭrWŕjBF'y%O”?OSg;͚ 7%wy+"{pSL!9Q(:[Y/()"?%ky]!&]`g5ugOhiXZ6>tNjF@FAzN)Ljj@>H@ذ2rnQ*sO.xh#1|dU6::lG߉CFIe=s* Z?ˇ~v.~h@. GWOHh[30 y1S#c}F (gc=vɯa^M!OtZ G](2Lt.}/K6j v)<ǁ8؇6UX=#w~ZKKKN;4= IHj}k~YRFܻ %]\ rc!SWkv8a2~/)X3DFο(f'1FC{;ʉ.K9Ua 1"|`C@q&e74 /߅#L_{=v7n֣-*F_N +sbL1|YͺIjuVF%etT29P?~q Ѯ}ڞ 7Hti];Ip~r4Ԕ!?CK;%4.ZЫ eЂsѺy[SLbI2 I -B˸h#:[=@<@nb ܃m}# 45|+N}򓟴2w/X9{OH_b-7\@N,ÅOieI_N;XuNٖY PL#Or=MnlNqIIXƈ1f(I4л<( s64P@qպlL܃")4`E jT'ִAF'SlKnNbY#R־cXy i8#ۑ}'uꩧڥ^jcƌ6Gy=P{'+sγs=> XO+vz~b"lGDեFW}ؘhlǼ4')R䅴e:īv'pFпۦ]_Ou-Zd+V8@Y|V #29>_=yMIcmѮJ3gΖ5 ҖX\,Gҟɱ)_4nl& % QJy#1_gNM;ÚiGCa{2L"2ӄ|E?elZ-a='û)<̐JϼOrdB.GJw5QdY䭸=ox5|+Е$;@ޗz22ɟNO}0]ApCa|E#~gO!N2EeK9Rh`{TtCzTh![ ,\t'!l0iրڼUXY\ȯoMJ좬 "h ]YRs;=:օW,ë5(:5&,ч$:UxMV4c;"5~]wܸ~%رc{ "٧m#}x=Qҁ) / g ENW[./1a;7])ͩ@!οD$f) ^ұА8lm#;*C|wJ bm}w;f͚ǿy uks3@*6{b Ø]׹XY te- Z6nm3ak#Ѯ;iyob1=J+$}}:qy wٗO>Caߒ5 Dϕ 'u' lNZ>I},KٌZ^mF7ohrʯǙօ5oM֟ -^[muMu#'FF.۞յp* .G}TN l:[Vse cR""FUӦY6[#Lֽy lLSM"(GV="cNq؇|F|cֱya?bc@_h{}} /fΜ94Bߴ~-%k.#35#fm3.%ǦB P?p G$2%l޹DXͤz.sB Be@FwumLO 6Dc7 No]Vۄ/\HaBC |j{ӧoiH:uڟ?Rpތ1A N-U^o)b豣G(#ϤCHo :s<~*H҄|j)O s㯥Xq.BLk܆y T }D[u ,,^2V<&Jmv< ΏOړSޙ٦o^SdlBNNǡy`P2=!#2GuC GߢU{jaJ8k:#6=9Sxɯ͑ tw ߌ[8܎Tqؠmz.2qB+w_*&M*gB K`j<ӧ%W65'>C4$ƺ-nȶlB kmҁ1M-Rۼo=ΊC~KtK{ζv[kkO9bZѨv[y[kcSe8ӏ*c!žz5!)\ ?u5gxh]/I8gѢE[\N0@;>ѵyYk $>ba\4 j>q,>kș9/QR:8# #9u#ǁ9QYUB?Ca |sy}%yA}DuuvZ-_K1iX\}ԤiBGr c^n6IL(=@t *chTΗjI_0Qzޟ}y2 [ٞZHȧ{U C/=fc؄8 (gNsKוݣikA|PtS (8@0ëRg5 S (UEȸ@o$2tߖ["v}pΎurN#SJe'jyΌ+4;JXUί1c(J6eaȸ2솛QhвS?6"_~14@W4Y-O6>rii`B |3-X2F&7hФ2{?¢ٻ8k2 4Q~+Q]WmPC~[ # mI'Jldr4fXoSmlF;8;<-m'֭[gwyvarx}xK_oqmQmWµPE~p%7c  u{sY6k)_DKpfS6D8ZVXW+'; aN _s쒈7UzFiw^UDžz#^k?kbܫg̑m @?vվdG:%܌~ElhWj0ЙC"4eJEM<?X?/YK@cֵnÀ%:ClGFH-}{v'1-sε{l 8x؝DJQU# Mޅ7c t>y)jUsr=.ITRD9)ʇCa||}C+>1@' G|]p^D찦aY`|_+M"f/]=ͦa[r~$K.v+b]#衁5;:<<6`щNI1(|`gV;ۅK'i/{B92.!lkPB\L(yх|:E0tL2?WHk[70B&b^}TX``p_Byk<8(Mi`βpO+c"PA=nP=nd^BO[E LEܢ#*_!?v6/~κb% 4=鈶y/P}h`hx뭷>1_"SL׿~&8钻쁧+(Vl*'hP Y5Ѷ6Vo5w~ysGUBĆ?hˢ2Cⓩx>g[nC~?op[buFA@I1uÿp Z>N7!_`w) *' qOR<շ=8USy2G^΃?bG`2@V'1 St%]ꃆsX@@CA5k쉕O)(3j ,54@[,O,ʎPI)4) 4q8.nxK|l[Kc=fHҬ~rU7[J?6m)1&yKB) F_a(E/!;q04:[:eEt@ L gH 6u7{;Fz$I'd7nPܯ~+{(j xfEkZ]HELLe5mgSB5ȏt1ӻDB4$e$>`JJ9V^oaK {瓋( r)uLĮmSn+bBCI]vqF魔쳏u][HB{Ð}>y Z\&w_n(Xc 4sMW}׼k\A-dx)?XJ=v-;,_cU_q{lC~?o0[_6q:7ù?o'T(N,93zHe="D?;oV_]W 齘G%6фvNЩ&ϧllIde$v7;"U_?f/(#r `cA ek^Uvqߴic(RhO пvI4?}vQǹh|Тr, ,wk卙ﯳ#=O)#Փld\~}vxt!?MN afBewrM:nVP.oG>b>hERSSc ,wqd(2bhkU8Qȥ@~O/Thn]?o7IKҡ2f9|8'fLx xA9>C*UC>4"U+߰ᯫce'(C>5։S~]n"~W{ނ#o/icƌ)"3z4|ur/0Aø330tu9{m?K}sN~|3&%7))g<8x$ 5leyv:ߦ׊mJ K7: a~y6e|7liZ}A91BS| SJ;RaU3w׍~oegHwE/z_`WQNwxc]Lû3%! naa[В0_>2ؽٮ |!ID^~Q?5&3:т5kbc ?*3}W9xe(Rfc)ZB yV߆пy  \? sl+/5v>O|š+V[u]g|ګZwW4Gakiͧ@)ma!"6HAEUu _8C D'ՉOhoC V)*G@d_п+::J5 !|ҥ_t)44ܾ/-RB2sߓ+%3CeTUY Բ:zv~FP#k:u АQ~#!a-- O-<S0j)__}>v{/v_{I0FTO*T٩*<N. Еw U(`r"r~A t^΅͒O4Y&ysI᱒.G0-[:hC~?OĨ15@m\jx]fRc<ȍ s1ǹ|Ss=`RD.>g,sOkmㆍ DZ}EGJ+9#0ݡ! c 9 @yĹt0z2ƖT-7Cѐm`;C~_ M/?lEިOb0^>vl§ߗB[D>Tz^fw}w<^SGc3/s#%_RN1ն۶A$*y=o$#x4^N.PQ/< ~o%s+ WPY=Z Ca߃O mnC 'c(AE8o笢i82CӇo?}x~ G'T?VLlΤ휜vsb1 jGCӥ1s>(uG╶~<,.>pՓz]?O„4;r#CLh7 T,BK'{Xe >smXp?:L!J#1vqMC ^)hNΊG,rs_EOn%^p^:LȖ>,п[1ٚl3ڭ}x8s1v3nфa~n3?Ǎף?d~׻e?8>L jOO0?fi`Onu\=ݕbt7B>q#%T<À@q |bqTqu6wSt‡4\`Ý7r?W}ݝs3P/?&+!ʵ-?O3RǏҘ&/_}ߵ|䖠^E͞]u']4ۺ w^zKBŚKbvMD~D_'c,SG$=&,#M]N!* ϮyΞ_ëwKbآu̍'D;y8RhO xܭ&'B"@e^f#䛜9*@/9@IDAT2-WcMI,HxccJd҅?duT]qrRDCa_ۚ6k_ 1;枒x?x{+hΜ9vg?~_駟n=PySSuQV[[TEaTk`UևQcXJ8*ecjMmFh"!+< zՓ!/FdT $` }#^;v49vgˁ1`x'@O j½HqcO6#6oY V'|⛺:ܘiTjk=b_Q=D iFBcRVٌnxw>->%b E%/{Y7;\ R0Eϯ|t&fb_y ;pm|_i7<|t %cXB滐 >*5~7S85h]٬D :6ܹDw)0..Ni1d 0/ fzߒ5Kmɺ !a3 qM9p{߫N+#Mٿ|z@6,5{ؘ]ձA87M36mr)/|G[o_|tM$8|*Hmfyk (R p(j'-:>-fʹc?\!@}Ko%DLx] l _8rϝOBȧBnδ?bX J ^¶4 .5Z)|I1oqWF ` vio} ^|z+I[DE}箅).a?c*6D f 5vNe[Ok&| }?ÿ"dI4C[HRIIH4X_vR`6>nQWMuV33̲>z~9M*fב0"k!͢ufCPE[&C)?"!,}}D ſjuz%=Gnh`;S2er!;ivs&|^{lѢE=V)'#65}ZCON3?b,)]SfW>iR$ :A/9G Ju|^]gNBa%@q;:?o9Rd 6r尌|h`oꪊ^QY8}Xal7nA >ɽZ-bnl 6I:kqFZ8B$h 3@!+Ίx%N!Ⱥ ִSQY@)(;z?AK4([g2o6C;.}zu-%=}v6iLuK&pJ`W;tvd\\(Vݟ`p3-7ɜ?8otBt1/K-jaߪͶhT])kr9r9r-ß }j"&4Ilt,Z@X߹ֶ.NtH Q \#Hl!E ,UQ0q})zdXdʹ>+7Xo+ۀ.Z* fu/iik /ϟgl1sLwG_oOA?Iq?Wso .I!?'?('}~_s<-Zk_cMϊHwz|-oy}߈'_v~y-IA[Rsf) %a7qGq kAh  +5G<#|X"p +ֵ%X`Ois#}09pYS^Y ~ϹO'Cw$T>CF|jZ׎jmB#'%3OK)=KΞ||"\uE'y9AE[>q"|!|IP g}i%aAɚֵpS˜<ML rkI>{b]|=JTHB}i`ݽR3@`es$Li]y^/3^5O^74܃b嫑;ez}F y99ID4Kl2\9;8M欝O`aߺ؊'\?I@&;o<gm@(&S؍(QwI4J Jo$;D 7@ yT<^ϧQH'VujAR,(0FIvY%yub<#^r!?kA ֲ`G/PݴeDgk."=BNq6^ѽ>رkZ׷c{='|0bcdrvlXЉݼ7ʖ&ݧ&(p~*DT^w WW(̇|_Q0ǰ~֮⾘ixj/}!댕ZZZ 6;mmȌ* /Or1tO{h$j m=5z M k %mؘx60Y`I E}s#6$ PUbIoMK-xv TUjOV&5pi&7rxv8^zKYxZPIL)Vm8╬!NX`S7Fy_4j 9]>š D]>{󴝒4J)Uп'k 6tG?NO?'IyÔ#.fu@g>8^MϞ05wεO@ %HpB~Wu%P `G_&ǖ`Uuitk`տnO,TEs"K OP3~@vXsm5YeT>1T?A?bI:H^P*m27_ǦWa-xL#7d(I&#nt;G|73;uuu/u; _<::z!Vqb—C7iq rc(aE%ޞxIfzĢ'|Fߐ/%'ِ#-6qsG_"v&Ouõg|pR0&.ϓTDAyn|bAN9uQ'Gğ.TIq:ͭz7 O1l:FMVȇ^B0ɰK#_W[m|!bQ=*ɉwa_~^˛Jxm^GmsBwfy,:H*@Dz_TP]F٪4Q?;覧Qv~cE>OzIe֓T>*6X})/˒yqڸ:SQW8拿KSTm㌊^p~omll}8&PQb E>ߢŎγ={p#U߂S5i)aDv{i"#6>T]6gH[S?͖]r JW$;9Tz* mԝON1b79V6j{iZҦ<tXKv:800cCa _k{=߲QDϰ SBÑ[Oŵ05殷Yƥi|d[rCb-/ COz=}$Jqy. y^={}#ɓ-΋ېw۠09㯳ݟ`wlQDc7ƭl¾ձBu8%\{s[)?N-9vm7466Z}}}9YCN.kIS'_%Ft^jNFbUA'=gA{Ulb$dI'y$qNl: M!.Agu֦/&\Dcֳl5U 4ao~o.z|ӟ⡢!2NG|{vzF Q,":({0VٞOzW*| {j,^G''Fldi\ceI֟LIãF⟐.UAfj)?\!_`j+6>8s%.LAV׭ M˵xK]vvon@NP-)tC/&A$K6KdHa_[g_=lP>v]s7#64_0|t]k<:6.ء &IKtH6, ?fbGÞ4_*_"#8N9ORIo=KT].+㟐.^:V<>W8&w6J\pTMߋQǟlJ EQt"(<us`C2bCǔc-Ofl"G`Va6aB_/P˪N]]HLh`hōw]vev-R>~5k$7~i -mnqONP*i.O%/s1f/n2>5ɔJZ%ZA&g~3Ctl57Q4~QzaCa Z;Ef3^]r@eW>nA4 'r4[\b Sh}) 0ſ#MisECcOfE+ЄocJ9cѣn]*n`?ЬXa)yѤE xMŇ ? -?~㟈ؖ0iMqwEa@؈Oo߱k?я*0:5pۊ-)V@$A?W0|R|=5v\?sAܛ{Gh@2k_]RO2VJD{'x^!~''C R-2Q>*4QvLgȇb`ez=l|M`>}73Gj~O!6@h`(4ktK*]ոk1 ?9x[UMM@a קٲ*1qHaϐD~|*Wc鵴Hw~ O?0;=0ijI/c~QGmVC[n. S|6k^_' p݃ Y;?Pg rLTbBZ#0dm[=5R}c7U:eR3K\ןB~G %_GG~qcן:D 1מh;@gT]vpOT4Ƃ.,n53<mܡ2 iB}P8/9.*Ϯ??&S.܄'\`hd?rD\g?:!vŶ/ khhTՋ<_[}umOcyDW =>sUw$2 P)__&zI~gϼI o!f KBି kڄnL8]h 4Xkз&(K 4#++0R 1fP[߂@U'zv|(/YP,䍆 l/a7<7'#׺Ǝ7B@v|^gtY?Z|";48sxO(esX-<IrsJ;B"$[#[Yyߐ_O?!r]ƍ;?aQ;ZՊ:B8?z&<r^u]v= {j;px:GnOuɺYŔN?ҸC:_VPH ]X`|`?O ~rb|T'6}jrԽP{/JBw״^ہ-ј! 8​Mf;Ϊ+s Jwl@OXM&?'6Ӄ[%@* ٰ`wHexM,E BCs.1NO/'&/<\;ӱ*ƠgT^Wr9 bP@fc!_&O 0::{zFDʚ\ @fcMc4}LN?tK/:< [lC+gP` ;pO1+A6xzV[Q@"oƞw;c4Gt_XHGzU<-?Bc&=RȇJCevm؟à q *sS.\QPvLm{.<]- X`o4pE :LɨԹ*^ý^32$-wjwEBcLKgL@|ޓ= 6-CkN#6?% E XۀB}kZDkr 0hkWF牂mcq̌F,j-[Uԧ#_UE*b_Qnȣs% 膥-T__w"Gbzx &]S@h`h4aG82p5b󘪬fPCm1K%߰q>[)\ KL:5arI$7ޝho-̳4!?Gp5 e};gTa}M Fo?;묳`^[lc[NIj  =(Eთ0Y3s,X&̅y?0}@|ğXY{I؇4*|x"Xɪ㏟fO6җYsؓ@E|q^_[e 4 G|8ݓҊ4ώ.XnA F]rϙY;{webR8XbwZKhj<1 y4O?!tr-WmuxR p"B g+gmh@X`ܔt +i'X`^2r!RWWlIõyif`ձ] LBX>dO 9W֨/Q4r$Pwm|1-bB㏘郂7"HnPtn؅z׀$g]D ,j]Ϳ81PB񒟢[ht?5 ;!2v YѲvG}ѨEt>iɊ~:Ӟsl8#O`|X[z3@}*VUZA?WSlBPhs?>Î_ ;^O7FOQWze6"؏8}1,#8D~ 9yM zB~?ϱ H6AXkmop Bxos}򓟴:h\H+ιe?WQ΁kE:PR3;EtmRm!MipQ]$,r ̝TfԬЮ%U?x[%Rf __c5.;=bk@ 4bMWېހ4"D->Ȋ\D:= Y$g7ojt(_cw[m DK=|*8f s2wFKzED ɯ1Gq0t0`GS9q:kR]Ãؐ<4c1w(U,AOSH؆ȈdRIEݼCa z<`? 1.56ۙ DϿM7 ͊䠂# S b.<TYKjC iva!ZyZir^.L!Ec71&dsBɧ{#0h/=m.>WNF"?RhoV֭q_ئ5snk^߷I) mQtFRIE@hddL[[ CA~hj0haH$M,;IJ&si%"9k{x+ˇ!e=kZ{=ϳ/Z38;5¾Š< ޏԇYxa_/lN,ag_{;/&soF &G'z=,@# ^8 -qdLBx#]$^ iԨqϑCRmNKI(b{xV']1Gfpu'R$<Z~W۵߅c//m&3.HEgz7݋+2<#?5ϡ8"+nqKJt? !Q˖Nµ<|(Ň&(vw|z,ֿW'O *RiF,ol[`Kc04F]>u[ʿf٩Zá" mtj@c8׼'3ƿɗ0iÚ1MSY?F [4tx'l |^Nn)\V?E{l^Imе-O?QTlIUADC?9Y (;嶖/|ֿ0'χQ-ia꫌MIv|lZiF`;cqg@) '#&\S5*VlpW$Q ^'ԙvr̿DO]o[0aw)7݋:ȶE>%7E0 @c&Eϊe8G v0Xdc&ܗoX6~֓Z5zH}㸢0-8,l)J/};oϵ2O~S',gH-LmC ew'.r4kvZXpf4O')|8oSA+-84k_ӫpxen48O_fk/"ɯN?~ 7o(>zyy{rZkzEUvi/ r 9pOE. )C̚(E|3RLiɼoĽʍ_O_cXY?Hw}PoF`59L[9}/+|(.۴>-"Yz4u5vM0j=pZ_"mbgVh9pBC1 ug:6uj ^9`[6ȘϱKz=|84HG~-R ‰c :pAU@юQ%7kT},M. ,oIh8 TboN;o se1ݲc0<鯎,:l74ɹ$77xqyi& D{6I,QRۼ >AA_%?)% WrF{dԟ4 _ =Zq6?N0C.d ^`/{4@zJ`vµ>4_CCS߈(6%(YqmUJO8}1g+:tMT$׳Pτ87֏ֿ04YmKzELh)9h#p,>>w/,~n6=>9,OG-$g*K0q.91Y[>5:6eooSN{b_@@# φ_ICl+"H{T l͒[v&dd*O/ZyJb*84pob*m#m+ o>Qg2nW/Ь ϘؿgI76VdŤ@lj( 㚈ڲ|^}^SGjSwܑ_ɛG_hQrt\טƿ$ӹV;`w6-a0L,22z_vK[_?! vGF!IcƮ(+O=sDG^tJ=YCA3zqrQ]ۖyA4dt,6`A2LO'bk!pOdLqCFT΅hۣv94,bqE)0:h"v=16'iZ<1NVohxDa` .k,B;}biM##Z`'bLN*De֒pc|Jy/m? qRtx&](CX77^x02xc[lrfbk&e;p'q/1R"ᰢ%v*:̣i `+WU/fv3?Yv_KKCcPݿ40~5?#FO N#Rn|>AsF`+xq58x;ץD:{7kļ^Dt l#+^J]E!PbQ0mf>.tgQ~^]y;DR=ܷ7@#^EoN9)bj|m$\c 6Þ#zE<ԑf@clV'2$h?r16xL}oߵ//maeHhV-kc'=vb ;7DH!E+I1QS$s$#ViDi\ШֿQo]neA# /kT YFanxOևX/ʧNLzl򷾦W&]rf-z3<0=NEf$;9oֿ;([&[o:m:q7Dž{,vX@M"> .ӻj(v ]gKVePypt>*OȲgʇפo (je&%*Zξ6;O4v:k{4*8Wď1+', R_!@_۴^P u?\<[0oq" %_.Bq9jc ֿ1E-g}d/2&bTeo D 3?5N)!c3z{|D>LoG<3N*>/m'hK/[ ҅o^{3ϕlg0d; /J?rn`7be\?|#r^PQpxÈ3:b(G 5ڝO9 k8c)?sjVrwB WcaKFv^`N!'tr ox=,9LHpI eT7}V|K3W$OE21mS^R(B9 TjNj=kΆaK"-}aM#3O| 1,odP{mg#P8$?,MοLܒ7o"4pR?,"E$e"ru$K7؟2EoFX">>~ -lGPTZoAw/F6RsGTk=ut7g/~'1Rl,}CԔ9/|ܴFɡ}o#B?.6HTW2kf0:o4ƨ1Z((Y<:D'}ُC=H? ZFB1d'x%2<4+MR|\oʻ V(i~3_S#%Qȡ[$T ߩ G>E"@2eo[6j#$Va <59\ ޚ3[qh[䰌Ν|r[' :@IDAT~oF`Ub"V1~0b _*ڨ[B"j_<@SO=qKk>?$W71 e T2DI\MZ1Tb]7NXC] Sm WpKH 8"F{/8H{'O#II1TT?3PF޴|0i'qN~-c_ڿ52>{#c]'f O 1ى V⠞`ǃucRy2/ͼaYQte`5 Nԏ;LyFŇ񗾕WoO~vF^`7 w Q/Mnyx'KyrIotFP gz޷7yN+_q)#ѿ3Z1ŨE-ӵ2WeiWA?Z~ڹ2-mmݧB솮7@#"!^ 77Hg9vϡDA'->ԓEyl!TM+t&kgl>Rz9eZ~' Ȳw7l8ưI\ c5ү7$i!`{C>/U=-y-fg{+&hd" H1gZ"2ZMN=Aݙq`1^-os/{AO _ Vgv;gݒT/NRc0OX޸2($;#u'U퓨Mb]alF4qTtuVr}r"vf #7NA R!?|"S#o 1&s(]Gn:bnowUtD!'KM1PCHBxr=$@CUߵY}OVyyyM#4@ ^aC'&r̿*娜ua -$#_h"Ȋ&7,lV pOԂo#O?ז1,#c,Mq(Ux+go[ή^|{H[hزgG"xc133]H@Iwx=_f9XIibr'I~'NP@i7%{̯sJƿo+1l(v_4ص OӟXݙF`3j.rl"O߬S5B>nTbr\jVKsN<1kF|i;1ɕח1|+-o_U,L5կ/Xz4+@| "OqV*Ǟ9SM7q-oF{U-?KؿF#_a{}E<'bq28pa`0mզFu- gr`IO !͊: u槺&4w̾ Vt;'mS^f lLIOOhunsƷyĤMF`+x'sbZ>2E;ު*fYL lm0?r]9r) )5"5l/37 vVuLuI:4 Fmֻr߭~EtÓYLu%;hXWZ 1k+{|XlP Ez__P~ <:EՊ/{ R𓇀NT DPD!~}nIO c(q\7NDl[~6;q]2TeLz@IZ 44 ֫zs/`N@#"DƷSD GD!UM9CE,rʱ$O3crz_{_'@1N)xB'ȸœdGS2 n]xIOˎqc17ÝhV}>'ㆈ?,4<peWīO9A^&[E:q>B8,KWi?/oFV67!+Cm vբV5ElǑYᅢm$ %;0Vh ?Z.ZYtGGCO18m"Fɱ =na7+R/ &GLk:w,e6mI9M.vf4 v#ԛFX|5)dt W8tfYkGYpWqZ2rnwh45%G5ۖ_6\QS}[0 /٧Tr d]&=' 7*8bz_QWFG06:W_OL.Pd"Ft_.k3Ny;iaHg= ޻+!~MIx՞JtsPҙҴٲBD;ؚau\_ 1)-&#BҔ[_oSK߅c'2ψagFX GN,`?_+p*=^E59XRmKt#4mux̛FpS#^v O淨l?󑚃^|5[v톛)R?TBP'0%!ժSpH$7u9u.$+<[~w}wV,1Ώ>FhV7?T3bLQ.JD}` /oQ{<XtDїq5?1qco[>d+^M`Þ=zi\ۛFhV  "*88DA6 ?N }^4N1pTйwlNyUƃxG?Z[~wcW/kȰ]z=Fek^x6zY_'eat@vprRvnz?DHkÔc/"hg2TgzW8R #%vlH SV_0ЃőFմhv{˶W۟~66${{p!_o0z !Kŝxǧ&'&wQSQUR}Ңm5{014 p9t4w(7-i:%!ƿkΞ|;m+vW?Pz{YF`5yBI~L{8vGl#^ W8_ '_|;q˯o\z3ޒ|<&Tmò7_]JpAI;4e),HTec09qm>Z];v w:Q8##Q*uAWuF v0 "pcoJDY *P?hs*d{h3jBlt.BTBҬhLO,ij;Wħၡ=ccd.v.̖b=]##Z?=) #d%䋀WAGvW*BƮo o ;! Q/6/֓?sCmεƿ 3ok&we#Vmo^Ϣ}~2s~O7oWՇ;J#bD]5F~$d}?Cta!`28[~R!]e6lẈ7VDpun^E\軶75Rw҈e>(;ժ.hAn|GWP8s2IMSr_Z~'1޽V;{myG\7 3)tliF`o/kGaq{_-/vfAyh=a /4<f6й.ڃ3J3FՈ'։ОIk.9 N?a`N@#* #%c̠*i}AJy HKe{D9x:]0J5[nW_5he` D4n:Q|߭_n(G4f" [|%P+I}]w*hN8>#ʧX(ެT+yEZ˷sh[xb)~ľw+MAn՛mpлO$o! _ wwm{b hae蟞`s]4 Dാ+cPPh6Y~͙aȡE/?_zs9IwHS)(rB"3Z3m _'\J_oF#p|] 9Π럢 (OEn9=U$(uj%s"/bP _$ ЫEty`C5qc'䖰lԆ+ 3z4+A'؉'x%(NPc PY;_I0q,4t P?C<',ų [.wIc0ƿǶ8H+eCп i}t寔 xt#g oN佽Q#Dr^?'{+ F!iFQU}0LѯFE '_)ȳST]7'F g+⟋>mF`x]d'=OP*)hT4_Yh=XEq;H!16)*c#DáaJm⑜Z`hS ]Q]w8`emeC g{]uj!8wfP"XSFa> ~@҃FTlGXQid~^ZX)w+&7[~a8qol[P%o` wb/'?9s(N?byCQ0Yb[o6RΕWF족CǸk4}XVvBr]GLe/\ֿwa{ weg)Wp:m!Swlzz#AUjAT'~͕́h8 L U)ZcCԈLO@?1 wna=mo LaxM#4@|JnJ_cj,ÞMGᭇ4" <4**!Pfӄd}s#5C=UhK{LO_]:~".iWfm9>jo N@#2/SGUGxP?Triql'ZReg?Oͻ}T쩧)TXPlˏxT\&aM-[ߋz0SOe#M K;_F2Huw2?d&g v>=. 0jz`Ĺ4jרxfOIfIoqJ"h Z&Zx*o~/#;m_.?ɲvF fHXVڮt;7O:c]$ruU .N?Q^QMQ}fO`ֿEC-a"%y'/l]47G'9~h63`8on=a&& Oc8^KTC_+x&oǘ>1&TGg{e?l߅czC]\`~]vjU!+O W;É1GU&S-mA\S2^ES 9I0Eƿz^y}\c JlN\`BDR,VEnǡ@w@ mGѩqb Y1O9xDKJ*w˹i2jf0h8ޖ:;o_HsW+64[!@Z; Uv͍>+<*萯LbtM8u0({^?{osR!dLdf#`*W+ovV* eMӭj}mFCa'hqo5z+BFX;~J";u"/wqy"<|XMƼJ\r9>ы"tTee6}?O-Tƿ"uԻ9Xb_&epe6WG7!2.F Y' 7*8Wćx'pn>$?N]@c([szᤕ?o5+7>;{HC.-?1sMoֿW|y-IO۲K^7_"2{ Q*0hN`&.QՆ,Ac~L٪9sY-?0jшTR'W-kgOɨ0Ejw};5@#N?W+И;?(! 9\hFB7c& 7 v9S+bI l[+̿\QѵOW/k#|" z4A`|=pbjnS0>xO2cm fv3Z5.b Ӣ1S3gB,ƿ3[ r1 >tgv"޿ kQy#sWƶΡʻ2cFYH񃋆4/ⵎMy $}> iƿ29en6tUvW/smC$?^`N[!泏[L/G-hDDIZ>"]#9 _ 7z\WIydD!/b"77xj>vWi!poX2>G$Yi}P[DhuO@vMXlѫS\H(B]̷|ƿ5߅4CWԄZz7@#*|)X&Zw2/b*;D#lM.$3?HS4/1.cMsٯ֟P7cז0{7c߲A͌}AzֳG'wCt)߭QT:pAU@v*Y^pgGhed~vim*떖u`/Ómcag6G \o<&yD{6IUwwr='hShBWe-r;;)}`v)fYWIsūEz" ![:WWR~30:AsFhV'4ItuA$$ϿLdíY>DD1-9.DE͊#O8}1gq,WeP?²z&I-͗{[ /2)nLp#c,U7؅YFX,OGR{J+#5>P1ǘCt3d,(A+^3ןx1}ԦI\ވ ƿ۰la/x(1찕/:'ص^wᷪ*uTO5UpHO{'J Q3_e-SE6q^b>>-oSXdQ`'NWa6ıCXӟW. ?936u?|ԙF`|N@(^W|Q ܎K@quD%,3+56>%'1hM:'I|?-GRZ0k' sbf~E|y7*8}4-oqu/ζrqO?O>hQbW45P v{, d@&$*#[OuE.[kZ'1Ea[?:G'8a`Кc% ʖ߮ݼ|_ L /ރ0Ÿq`ԆU.@G!i 5Oxʼnyȗ'&b(54FWQe,'i֦{B]]<~i1hL!V~@hV-f-1 kIT vJ;I{#>(5%6Le_s1kKcKg]adT߹KJB$yN\` voOe"9AP:A[4LqK:c<@(e5UwMX|Zh<~5?#N`'m|J&y\;5[!Ƴ L7ع.U$)|#^o?' 63<AV1pq xzwMF%QDj'ŏ<!Zeb0Ccr,ǚ-_Xp΄j[Kq}봮- ;i< ~{F󬢳 7ON?\Oڥ'o/[Oiy6]S&ob^)ώ iGUgs hg_{坥xW滎>սmF`+=a޺ Օw#pu\ (i?̆&_U *$AT|%'[Rc<ww=w>c~3,[+{47؉ jxH?mDe u3ccK{7 N=1S*Fc./Q;HkD.$ j' Vh#927#ÆӖ){E?ŏGOA[us/fpaQGSdGm8aDɑX<)*'~GDLt4Oh'Θ?sj7~jطgup[Ο]:7pvxK?8Oy&'~5So3H^`K6bqv'أ/9>QF}_TdYBy62-e`Е)/vϢB9 Tj ΆaiQgeؿ *214O4j88O-E^+# UsD5o8ӏAO}q('"6 !bfs.1? ˸~xqJ?εZr/'9F`U(p{47 M D#?`7;0SR+O|1c֪S*)KAYs:kL]m`.٨10?ΡP/}a=1Cҏ ǔ ڠ yoA$ƨ1혁UՖôXU}ǓK%NN5 6io}{Q~wX;Nvܪ%;ÿyO?|_?\Zi}}BНe?֫R6Y`J)KMWYP59IF`#"KhTv`oE[}ݦ0Y/IwQ[$hÕ`yH` jor}hX߭,K&*5v8b -^A'`uׁKl.v]8en Y}qμM97Rϝ|[/o_'Sm{4AWO7E |$'|75ReEv`Ws\U)N58&yG7^@IDAT>S9 ?O@oO{np~8?_9:@ǫO~ӹwz=goFu]˯oݽ[nbxR/XR\gDEӴ#v\bNSEYhCN9j?W BDyW‚t3~cu`?Lj2tM#47G?1UJyc *n;|8B E-M:\"1Wb>Y")Zу<0V8 /Ю[c}@ɧ]9GͯfTۡ= vS#`8bL g򵑚Tnw+^7u6n_mFqYG?=go?Дnfkl]a@%a1U˜H.zH?o @oEynuziTA:_7GkU7Jc( TAKtkn5 tqXoN%}ߺ+ 5ۙ ,,<[~pOp=t >* IUNŴ1/Yg^޷o'^}71PxӭߪpƤ7"~dN7APػЛF`o>x45#QL {D%=R%y k}\` O fX#G\,1eʀ+Y_x(Ԗ?:G"7:D9ݢ_)w^Ϟ vNrpcT_F`E1G|Q&z]Yrnc!}OOwE"p]ڬ5JyHen4JG0oZ`W@y}`_[|^?+?cE30"F`5{*Xc\R%9pbݯ0 82y4ϱ8&0 !4A1Ɵyl bdn#?ˇog'\TgMbȁusnSTm{g ⏾;X>Ap3 88>p\˾1q*w+(/(s݆͡>B 3>Q5q >( G6Ս-D LQ{='>Wafɫh w9rf,HևK:}|º%OI"zQ=)l0Uejz3_:lتj/{<8sQ^};\*˟-D.dw2[ի9fdF}G$eއ#χ l&iXI{Rt놊ռfݘh]^o\!yΡVMt[+չ׹ W4!M#/?D<|P`C) tCz,NTE<_br?ЩNW%"g/&ΎedE"j0T\Z`_]~𫿦|x?| sb7T3_eoU `8{C~/U=mƇܾkx졻E,5?DECNB>9Cժ/r pShuwfKpz ywᵁ iDܙ4:Gi;/_pzϿI<u0A}''t&4{Ҏ[`Li/ʓ-(p'X޸r3(,[=히6p1KEC2=#S:Vu ԣo/pqy|Re&Wmʜtis7^M,ݦ/+my|v4mЦ:]?o/W.G`ac\DHF`+E\Oiu-5xRtnowUj]xo624ljURyN20nՍCt3˿ͯA̱VO]ƚdF]lBpybͥH{>>??o8"pOPւo#`E;3g$lgt~|ؓ|(a=T4.Zb-5S9Oħr_5A[;ݣ/=Ұ+hزѼxth;ЫS)&!xҝ6"^OF)KZ]TFNljcGaWS)$C[ z|OC/<" /~rE]T*YZ,~z{$z^X0|o?.">uv_4+BzKg6E{\SOk_K`GPOq~JK v 9G12XB?Lo݉IoWǼ?^UoC>ګo מR4TsGYAٍG>K#)@}a^+/+궨}Wo+?gn{sx&pW"`}#G50i#8~o)Nh".SAsؙ %8XM?=}Ҡ ď&;@3s2׺d#?o ^{j^`ow]8WcKR,\}2W N@#27?+j8՗>M Y}p/u່nX$KWU\+4+M}T[+KBTs5^׾/5*fY­mLO7f6\f3#I-?ڣ'؇֘՘ .Ddp$qM.cOoG^X&g\#rey%rgK:Ou#8B|v~-"R+U> 9,Nrwڛ0\ݤ%C{tD9dzS͍ ^9[qqN8֟Qcw07I ӓ_T(~e?o9G>:|^W5[ynR='Dܪ;;f.c4/@wnkHJش|#E?IǙ"dIge}γv̋ǖ"~3D'w?6.O?NI6 YFa]ÝU7@#|S]Q+9r *g頂)hv,S(1u0\Ɨ4RK>񄺞`WtS1o̿O {9&sKohѯ~^57N~Kz}IX)kXٸ:L|7]z4дPMgL.ۨޢq"+y =UKb΢%o;uV"fPm>5bPN6-?6@#;nkRdƤ%QV,z$N|\QY:?s'0?(U`0v|N0_O}YOu˿ny}`,%u"~{3K'"Y9|mC?^hV8ƍa] O_ת5.G1A*W 4QYCwd#Z?LF+?֫{&ÿ~Oݢd?~0-& ƅj=Vo'3rܶ׾go?9xG_xu ʒg7mh3\&E>;O ^_3Wd5Pư2{RMVaՆׁԷ2ۃD>f e!ߋ/bNlj bZ-/^J#BU=aa6_:y|^~3ZX}w{]ÝZ}p- 3dl/OymS/\9ke,v+S{% (}=fG'"FH=ZӵdlL{x0{l6J(?Jct-Zp_7so[ ;<]?hVIQ_|"os}!^=u~Obo5ũ/uh'> Ąn9(pS&fZ6ðȡ3e:Up,$~HƷq9ؚaN;%LGD)7k'\Y#lI; sO]8v_-8iFCFhV- 8~/{'z{H`od1HC ~ІFxk-yL(j_ӊr of#wjͦp+@G$Ϳ\6p|8÷CGW/ki>SZqOx;ڦ3]T9HYJ@Hpg&bmh1`6HTe 7 T,zSШQ nv}?WXr,q6I}ju׭c|x~}(t97{RwxdY焇 / =m#Gj櫄}=S#9|=RD _h6/~E;0iQbuEz 1H ѝwMpP8Q~4э>h`v!yʢG]zi,lvFoʖxv*QKg~[O}Vj{)a Y o]x/~xE<~%7mыu=4@# X`Eiryyl>G7ةōzh:T tS^`f>e'aɵ߬/p. _g錸qYWr.\MqY[wݷgx={un~) dS2/ s$;3Ͽu܈ ?|+qgoG|).=cwUe ϴwR~˟t"ld6@ԁ_={1@VNL]us#F&r敊bWjrZ}P'EAx/w)ΓOLqZX4@ӗ3職|/}޳=K]<;ǹ_|/`؝6~i}7?Uzl7npSjŝxǧ&tIHϏҘ,4w`Ͷ)r'_UҟZ[ЯoQYuk C'e7ԭ/`b !w$Iwbw%_eIo p ">!qBޛyTgɶ$E, a `I Lb'\wR-;ؠgGq+O y6|G!q˿ /`wxZ@E`J3-O:fUAy9|5@%ۅP~ S2Պc:_ޔX27¤V\˵\j˕)ECN=p$TW.]睞eEWbr4Ӭ6b]Ey;s#uPF-</eTAγN:J曓֞E0Nx飲ntvaJRVX\Y3~ 3հA2yo XnAޝ.ƮgMOopDGZo;~ oLP 1r@~Lm;"+Z^xM`?yj9jL>xxpS4;V8Ye/vi%%zK˜dJj8"GAÌi!.3$)qY`_ff1x RH Egs~A@E`R7FL]1Aq D;ќ Jd1E;ic,&X M,'OqD|c O{o;__8y)!neDGI7h CWo ;¡)%@Q_хAE:'x SaNMøt//ԠJC@y!l|o-6.wb`g'5Pɿ`S!AK9?wO~f U?664^ҶgY:ǰ.=nj(H֏Qӵ8"c7VxnD8)0kbP.$S:J,ulЫ__Cug/^&D7ʵD+ߞ~12wPQ._b_5eSG?{468G2 y*^*!`5P-g>H}鬳Κ⦴yD1Vk<ĻF_V A q_O~fpW6cˠ"{oesN))]o]~6W@;?2d8.`NO5AY_O0Op7 "P|_ҳ_~o>&]쇠/(*az֭3]+s^4}\ ǹinS1LUXʢxhSs[/NkyD^!oq1o-O,DW15hp)m;d䟺@OB˥{N<l^ Q60FZK+~)'m]. حXz|;|Q"z g?hi&lkE"02xPt-[^2?|;͞0C]E8e]YwDc#iH۳n(igD8~-;;_6Q "(ĈSPQF9ޮ;k[``1o; _`N3n1n@rN/zDRl̽l޴)]4b >O[߿eg8eSrQ=G3 JS!{]1yVO@YܤH 'E6XW$.N?u)py?tGF<8xXQj~`k~hKou;ov>u34'[~棤|]~FF\2bi.mD&f,J/YKV\b[%z #!ҟlo±|B񟇗޼XGD ?Cw>bq\?o_H\>m z~:r̓|ɴM|nӛ6oޜD&&Yv0g1 JXPX`_KOT ~'h *4|lVұ~mX3hZ?a{=KC ~dw:_:A+pݹ R c{9w䬁@E`f"п5˦`GFH1M A_;b*7<:&_#;QA`G#&vjY6Y|_kic)ʅw~}M7GhJ@@ ,o¯gw`WxZlj36M-\ߠ_+^ ssGAJlʵ TVrXYʥeUe2k=q{ۧ gыv;"ހ?!$]~ /"7)`Uf>ث~IW_9]̝޹f5ͱz67 $D* t=@ n;D4L>Rm78(Da"{ԬW\Sy_qD|oD>,{_pdd!t<ܶͺrt47q8Ͽ,_U*3νRSG7nr>G;@i4!Z`^j6QZ a dz@Ιf:*Nr6GtƻZʼ]Tvn16Gs58"~:zm:-e H~oo=ԺXGmx,%gjfGf7oLꪧPl`jKyΓ͈\=s4e _ i$.̫ya(>ʅYI~"ygVSN+$_~Ҋt=/cF;W=i?s{^Qu*u~`4]xX?@᝸L,o{&զ;%.W}^+@Ly{ra]2,ߥ7)}Hzի:RC^B/~UͅhԎt?r6.\hE/؏# Q)̘S1[Y:bՏ>42\į8UUż|C" 3Ӝ^ohޝ_dW 18r47+E~Ej"0xCqFP~F;]MO[g=?6Fc ip%TGЪeFׇ7-=n[r?qOO'n 1ˉ_Do'KbTf&c.}{8c^Gh=Pl#/tWt]}p')-tqϭ/~қy  ?R?Еgmf.8ikI7[꿅;۾=OSW-Y4j|5G׾"T줴?rC!D˿(&iG*` .S=CX2"g7SKkAE:O$r{:iB8?MǢtee9-;ˍi(Lׅ0%>oH-֘=oŤ`^_%7CDg_xѣfd-g"Gċ~骫# D7q1"w+}.'T7,;9Bk篪7_ÙC /H:pşLɋvJn2xVYޜ4o`dͳgon傊DZ2:Ӆ͉=Log*W8 3Otv:}׍2?u;}tOM^Cӿ\)2Uf2v#L])wӮY6 %]* aihc ".6A+-Y]X1KMAZB*J^a dzEk+ @h ;mUC2X2d+2_h]Y='җ? 4@16 ~'^( 7c{ vʟEpp.-{`#^ v`wFO.r' Qk -VΙIۣ0_ݨE/QJAơ.X`p% ?|M&xwqKbS97~[MNxPj4ϴhzD_ h@GW%,CFF@<Dh>[Ϩ~!n XBfo Lpv9oe iǷ0EQٰ@ri0[; | jw_egD?O?ʥivlWPq- 4>g'{䇙G˛1_L0֏̺YGMt1<Ա1!ӑk7MЋ 7<N dRn,Y~1"> z%iS 98]K+-an?\MzDŷ~-oyK(k[d!nh uz?~C^=LJŋ> Y^*) ]MD4v !??)H4;x$CU9~L^Xe+F~:Z3`Ede*> c€fӇ!%!W`ʿJg6Ø*@)6H ?,>ٹ3HemV{9A yh#"}Z̹@\ 6bT |DsBFi<~UOóRZu/43p/;Uaήܿ?CYGmK>%Q:G^*3%8qjDX>\z͛7c\y.vDZ;5 8j+ԯ;eXd.IpQJV>3l8Q$W\bto)b6#❧HPpgkIE nsp%?):u r`=/~ x=.|Av[y,7Ũ=^9ӭ~dž#h#]to |ףz.`W]؏E/ 1%.uGw^Oq DIЕ^o&.Ww}7LLJ?;q/{68othPe3I4Һ"eъI?C:m!y9(+.).Fs~`#nA`oq? ɿ^_ ΜEj"0stD|؍j5e)|ctPp@4,% ƍa1X. .I?h\y}(ٖAAvm!*MCN:RuZ??qZ 4Əbw,ME8>'zXz<;Io>۷iSʕ:ozj_SbF&BdF6G 6LCb#gt Md[Tmz7ä~mJ#hM <ʛ~EjI;J;=F;GP+4?1ٸ_Pd1"ɽHdį]`R|HE&P).JfTgʰk!P}}&T@n(.7~ -]t*r \Q a1?]OY߀ >/j6|XùKvOt'7tS[#t c#w3-m)kMa7|s^NJ&+?GnژzGخ.*!`hhACGlNJ-8s̓JȅtfTKCaϸS>nW^?nhS< 8/p=ûCWOˆ-D_YP71AFUM,n:dxP]E%v*ydo~(qSr=v55l;"zT>]zVTVdiZHc {.\>Ac$Rh`tFwEX=%?ԝLe;/T і`{sD|V}qK&?u8/m/BR7XTf,ǁP; S=Gg?4G g'JΞߺ*F9+GE?&!wc8LmBH;Q m.*{7 vɕ'5đ ekԤ"nO~-R} & :g /ٷi` `L2 +D0&%k([wG*A%Ȓf -+@.L ct8͜&ՙ]ޝ^yWa0 U 瞃{g$QeſoX_ sB廾Su{I/Ļ)}|b)'tRz'Y;>fD@IDATeˮ6zH?޳gvZڽ`%lG$qNQ䉼Cش"l_Ž럏owVDxx0v?R?C 08D yō}{ ފ@E`"'!c$Z6ѾC?ٮ`s gAd~(&b}&i@】ƔɈ1v_TWxV- -´BO?q# l8Op>UgGLX@8{!/[ǁ16@P`2T&`vۄCE4Y}apSd8;f ec&[_[P`"u?\;iobmZos5m %UǖW.sN<=!j7-LT+A$y㛶;H#d:17qD KFE3O_-wNZ Ǖzqw1 J( QK T.բh Bﳊشo38 Ja_#AGDn֍O~iƍ Tx#5 $g+Eꉴz?6Zw[^S䈋{GWO8/j`)L,$JS' qD<~!#xvg"-*d>F<a-\9 V +PPZ ^z/X䟢I,`ςV=Ij4zjqcٟ}ͦI ; Mw[j&'pS:X`Js# mT~LڠG$w8B-c*P:N~%%]4woqR_h-eV;at5EBcv>,>[Ѱ8Li%,F[O\S?eӭR/0##y5;)eig{-ۑkO-h|=82O!cU$MDX`>5T~;M|RTa:8TTt5褴nDp8܉mPko|U^$bsS,c4P`$k@EtS8&ofxZ=<xf[CzvwQc?4mqnwn/b>/m'pΨpWv_>1"0r{i:Vu|ٮ/_z!Ii1q ËZ2X|ҙ$:,֯CNS)s` cl6]i]%Ys U2Psl &_Wk}p.F@)Z&Ҝ(+@4N|Cڟq-[ҪUZ=K0Fz6:J!K|tkA00Q*X %M8}6g '"/υzN'ޟ` a\ v%W'|&0Ag}a MAzdF=}g}$4z{(ƶQQNy/:t$͢d-Y[zF֥ "/ f(".~06_?"bi)`bLÈ`bTM;l\w8_TFX_B}Klw~i^~˪dOIN!Θޟo;qzVGE%!`h; bӕ)oZhҤ܀4912LWq (](ZaWW*,p$-b?t50ev?}M}#CG*]۟LFc zD S^gsqv~rL* /#gDkRV1m58N c_̘uaUoOڴiӄ`o_dI_a|ÝCF:#X?.m6'޸ ci<|H20NtMFc-ƃ֎2S=iN_|LuA/ wxo:# BZ'%LgBGq.SϢT=hMm4gX:i+AMdswi4?Slܒv-bkP$4µE\Y"q>7- H売?<RnD_l[VY?qO~aJDUػmxGܶ ]>'2u9)Ϧ( {=X`_U*3%i^wk(<ɿ iF}Ӧ>r6!9M6))ݯD[sR<.ӰsO?,buĻ#1,0mGX4}-(0h(J[`gr?11Mf;߫S?k/M:oIl;6 .?ߑܹç?,2~-71俩Šu;/etλ$8Ȍx)7m.?`'K B/A?kDX8`+D$c#֟ϝWB/ :tPzXlGsnW1۞<9A.B;c.:pn@ׄK={&~KcG/yxsU@w1eյiPo_^;ZMi{-blyf,ZhHγ]#&S~ZM~+\T2Ѳ-! ]^O,;G#{ҡYW vJx_ OmWC"0_ e_ᛱ~vcn9BF ne[+nɺѼʜ4onv޿@&=O̥}JyҐe 们nViVWM}(Ko7+}pvI7t{q̿b]w^* l|M|ִԲ]ٛ뮛x.ݦ`OibB4Z9ͅFB۹A YeרyUXEEÏ֟0kdߌ/7G"-v3OD1? "fx͙e~0|Q& G<74X4(a$Z?s/Idu|٥wO~G^x;M]go;ǣ?0F3\7OVNԶ'P1bzK~D e>''4هh7e~YmHDG!m@4,۷LGʵCtHqS# D?xnkE`#I}qĸsJc}%@3MqЬ(uc]`]zXh:F<>"ZM1vFk@r&;z,6eTwȃkND_iޙg8W8ޛZNn{vm۽&OJOxGvzd:}o6 hruE q] Ӊ bƦFIY#zwwG, Ig %;mЛCۄeIZbr{ӞTX 5CQw`~7?7 e_ſoGOc7hC<>\ b]uٸ<>.oA2ÏW2 P}ox^>I!]E*?#^>Fl/hf_|7(Տzȕ6)3?Z|J@۹O |X䟼!yŒo_u{Xz}$6O7L|'=DQh`u折Z?`G_Yq9&m9]w]AlM;yf}~5s7}c:y s-l.;u DdqYY#]hIIAsp3|L4L I%UЅi$T#ICZxØH&~ {n9av;\v)UF,R&43P .1̽0wQ,%,x[X9NDɢì5!R+b"&[8mr yw8%yV?Wa,ΫDe vi⛴1#ՠҚxtgya M(1[`נ>",qDž?W/ܨ#>3}Kߵ}g 1.PBn|Ϛ:7;o 8&`I/z^28]@gu֘0CI!|Ջ~iLP>ʏoy?E{HǐʠHj-H/t]\ EZ}Ak7eDAN01j:Ja'؋OoGjS^" `?N73f.2F{gL`]n ޒIڣ.: * ZoJɗ2rB$n4Pwr[SAuuO`YvnPY1cYp['lo`o?"^`d 1oO {NMo["-?~7՞¶`;._z$6_P,x?x5=?r<z1B*!f(yEn`^odFpf Ύ_qc*i.!Ken`?Kt@ ? s4SL`7fb<2cgXb):j4g?+q_o$JWaH\DK>蟦2Gvcb߀r:UD[wljjWն=83`MGě2OG#H[ٚlV2`^^l0(Rx}vL%YYW87 ~{'Ҝ&` dbi:D:I^ èfZGHU8_ƶEr}X;%̥dŇ]AQeGST@YҥNjx>D"^_O/wD~" MBX43ZD-lV9g=65 lj@Wϣm̏Q$RB)J~.+iJcYLiZ?iG'~[Xvv,W'ȋG)g I3һ,E[Hw9/EOcj}RU uPڜT@Y+#na\xDPSƷU\aKtPt؝WοpIO oi*^PC/1yNG96R茾vԠeI+O8 ;澌MILׂEyXe뙓N_0qR_Z׶E<|4xx(;|w{?߂\1YoMwnVx%SIx:vN=xLO.h`7v q\Pv/yǔK].SkK(G\2]tᇂqX 7'쌟 amkpm_AE'A6ϓFWlIkXZfvƒ#ǿ_ gDWw q\`ߍOt4B)A|u_JƆåwN3ǞUf-QH&%SjؐjoQpp*FH1?{#]9H`~C`l5F2Vg/z ]JRI?e[qO[f C-q[8"/ ᶄ&.}҃-jK;oO%ߏf w']IQA?V8eI5"7`'@Ȏ|$&c'3Me)Ehe%Cxc>e #a~3Xf_t귤_m7h8/}7g' dr<L>w2+?oW%`أMɔE#]867.M# UD{Zg V+Mਨc,%Ή~ -.M\uig ڕFR1Lmr|p82RDcUO({rg%$QcY9a dQX?|Gc{@>&)MWYky SzOD}ch0 ],pqm9f6Ů0ȳjժBRڹ`oٽ',5nmJw:3-Mq?mzS(J?:͝@mR0kRJ2cbT1"O<"f].q.%CM';}.Ecnִ p8v6؈@Li~B_Ydgi6{J:D+ mbb"騔\y撶xyMl( ZO4u(ܜt٧BeIYa2#u$ItDtMa6ҫ)ףo}皴E;{ 靸q&pBE6HnUԣBCpA۵?pzG܎?Gve瑏,o!GAP( m$x\/W 9i-C7cyܥv.977Ryʔ0Y 3GZƓ8NOפ}@ݩ4wHEDLGڞmw,?M ?:X} GȿӍvoixYo 㜌ɢ]^(usޠ)j'ZD*bpooNю]Xk(K`DRК(/KPa&KGj:m;^m%æQ˃?Gqof?z=a`gv_֙"b^ y8" pF%cb:sn1'Pa礓:"^;XzŪHyʷju)Sb.W$˛]Zſt__vo켓 0Ȥ$Y7 $ nT?z|G] Ҹ$DeFP>SC<3P*~hȊHW>Z߿X`?HG>`ߟOxqD|BrFEi ["gw,ĝ\4z? jgu)]ƒ!qP'C\ =8j|\hym= Y/! %vaK;ag9#w,kK|fHZ?\Wa+p9Ar=#Ga/C)"6MGҝ[ ?3_΢ $F\?*"N2r֏β#/4)SQ /[ pÅc0ӑPNZg/CakWY~U٤bRZbsW-}%~qAz?` ƊTyrN|k,U#Q. X`YbPth@GH)`/&.ٚp1| BWxv_~i; "Y*H ~ 1MFtK=}ܾ3 q#]N' ˆ;r423HNC`N7{@zI77݋x^0{y"&+[VuDcȨ&_\xa 0mV3a}Z+Ed< !KuGrQ{ `]s{ .s?؉h{am`!f e,\eS\(|/aL6h*_xGVeKcFS3*腷@yKsǿ;7?g`o@`ͿDtfh-6ǎJ^wΩGltѢ)O'w⽎Fx\&%ں;MBbMYWM+Nvh m.#.OT;9Xo> kH;س;}c@yn}`-xh!|R?dVnd/MY*븃]"( Y;D3%i/~0(Ua h]gq\Q?ߏtiyKMg-Y9Yc0'wWӭeJ+GOy\Qq졨M#o>˝KD#ɭ$%t(ʎ?됪CRkA^X_#N?I?X]0.`σ }/_lAIg-\Eיq&b/2EAN/ 'Xnd=V\ǹHd6 vZA)FlXi(F= i(K#񿊦jO7+Np.䌼ǑΉ /-XQFXTQq rfp+V<0}`G۰a^ALDBQɫ19FY˹̈́AAP扨q*S,JCHiHcy>eMt3 Q/xD[g5o7*xD{˶2+I ٥džS^^yy\,/[]V,{Tjw:+/iݵK}6 Z w}!G3)|0Iڴ./ʉiMW+ EdftxEwyMt1vi!yN{l屲Jr2#?$5UnsL%Sy~Vs Y/c LQ-G#?I}qD:f:G}F#S:"Fk09wa2tDQ#\?Ѣ7ҵ?>ꮯR j`Ua1HPCiN:CS稦K1os*!./&e;)d`'yLkd?f'pD< n-W' N܎#)ɿtARJ8;):tJ( xY"wpb99|I+]ޗQf?gFB|l R9H1W$Np770E q^Ki'z#߲.V3)pM@22D~2[xD) I,x;F%e*ДT{526#1wtgtL|P.gJc Ȧc3wR{=`'iE/9dS()xh9T/,'DAF{v-,GsE/3ovyo*x~_|;)G,ᥐ.橗@E`9&k1"%5DOlwo˪ߵ[2u(R8)YsV$9鵫OETA4?dcɂXlϵHV 'ZD:Uߊ+N7ؽۚPOzwòŝ9}ßF:pkpRBcM(&;0iOy`Lu}m;Ҝ{ĔsѴZ G#_EPNE iF[5x(jßU40&X˳O|ْ3_ւX|ztu ;OĎjELHK#2 E[FƉm}C2FYITh="m4]v('>t;p|K LoJqW='\U"} a=z d8M~G7xD±n`0/wWObbϠø5ޝ|M>Ϥ $gqF+{ty);Q6GC/ yC'~Daa}#~5|Zʈ&EXT.GCMBH AGċzbQv_$]?rVppB*j.,;+6rNg>!?) D{(U*3@'PuC@abZYN$=9͊w^&qwnhPb2hzܴ{N'J{FR!X68yl@<r+8T&Eo3JQ̺)* %v+`K ËnGOi/.ݥ_R]E"0^.An,Õc jl/HK7m:ow%j=Yc!_႘hx{9v:Q|3bq\т2Ekws^>8Gn]1ph0>6ߞbIt튴<sGDCg?{?pNB$Yu;/N\] TǑ󑬆SZ|yѯ,KmsXHk 2F.43J*=r,ώae:_4AڰMx#Lj=utkLzfϳ侮l xS<"4^g^;<tD`غukڱcGߟ.\c7y ڵkӼy:歑@^`GqwfaRmF rxyʕ+GНhn,\be7/j4#ˢ=cKCf#G4|s*Y zh~Ƴ2OBn`vAzY0sdo:Ⴎov o??o?/V^`J%ɱBv G &{LQZQ&1'mtbG7vnx"BHU#Fa24_ll晸qV6 +3h~ZM_ Q?9-ˊ"FьK%} ]ֺzʸ`R/m;ՎME`(hRE~Xpׂ s '~a={nGZK ;(?@C8E vFd7@Ţ)d PmE1rhѱl+ˈ[n7:Hv =SUo>;OEtMX]tg1v?њ=1 h--u-mh)80# ׯ[=dA"I dQT `P*KM ɊF^V;P"J,_y?e7:C9O$\)=7(hk;2>gH=+|g"P,ǯWhR/Om4T{&]7;֣5oѢhe hXX 6uFeF2X j' s+L.ԫ{4o# ү6 %glhoG9D)RRnPkE`#!a0ic.w=,t/\#`TT?<=m{xwl,}'t|W4=hTTœ_-x*{& `SyD<o0b#nD@IDAT+oç#!_ K;؅ITf0?iEU21 617mڈMQ^mwqh팖/6S6/a)M*.ԅ3-F1/oJ4;,4l7r[7OY$\#3-{Hz;%/]қn5E-R Z'oon}Q 2jY~/ rC#Zi;yڀP0tx/;iXmo&jZj$VDj_X u闰nN\oݞ{͵ 3I.&V1?e ,JIrUu9*3xdv*ZjvǴN)I&P7oN]w݄ޞbʚwBS ٳSO_=S5p9xҩ#YK3; .ʢn,#jeM8"@p2 Mq_ϥw9,S#.FpD{,^+-~q Dis.e\miaF:ٓӬ`bOai޾n\ x[`Gys5SAMI/cT B$_EM+O[n RX&;$Pg6nkɐ #gr9UZ޿L-S[_^3E1t߆#+ RvQ/DIػO3[Jo܋<"c>]6 p4tC,⌖~5s҂}(c>_1Sų B|A ^FoeI B!m;Ÿ8ҩ/q7?2d;j2f,RF\_#wrh=Op7 "P죴-Ti {{zu[&wWنdan@5/xaL=<4F4ȋ3Tj(47eG*JnͮEdUᅱGğ` %OsG G{?xKYv#ҽ`R=w߀tcw mT(0{`71ʰ,JsL6M%*{K'VM6`6i?Ylw:BM~&єf] =CTv#ׯox q5dS8#ⱃ}* ?ɺ3Ѳh9~P?lL2؏~ryeu?;؅8 00LnF|"xkxD2G'&7/?osHԥg EoX$)ESF.?i)ƭ CJ(4xP[OZs%[3I{PDeWg2_?o PgcYo?"DY>kLE`&!iN- 4vo¯za=Z뮋RKל*Vʖdr6@h9K}Eg4bl:gEfufy^5Z~B7WZk8k`7؅kſ˟`'v47)6rJ#e DDW*3/ұJaN -OюffOahS0LFXcNukD)cl@cvac8Bh8U148ӕ)k_ qsO#S(լGy[7رd|*ce8)%OLFkwJ;gv^O^z`"NU-[,ʑ82&=O2ž0ͪ*#-/->di,EynGzê2H2@nڹJ`A9Λn)8kKruu`W{gS;9=>S>q!]{AGUoE`!`n|+Qzһrw 7ib:Z;w`Wh0 <-6 e *~Tr*D,SvN)tBQnpFguB8c]^/pGsmgQ/:?Iׇ!|WzpvsqJNe"ڰK"6E_qI!2 L UJozK`NE *fnhDBcG zaz]k.kNv.7)|e;gLVBQ%td9惻Y` C((-˜*l'.a^aF?o;g~>v}}Bw7{sgD _~G vϲvGӌ5-E-%yg/tb&~:R?dXTRƅ(\#dMt:wȄN JUff ;\W磬Q~.yfʤ7RMo`}+tY`]W? /h{i"gʚ!5~ CPk#\vL>ٱvTTVJ ݕVh`k;䅦 82DhU* _J$Ș áP6sUV#C_0h L 1<` _%ʳ:">l :h vKVnbT?Qi%C {E`<=0ar_X/7ح: a?6A'Qw7HJa @!JYQ`,*|'u aO{o/}Q|1?Ʃgx8/~%ȈOAX\mlFgWE֟ݷvdBt W8~Ng #]d{|=j,F.A +̲l/,ICDZCN SXy-70D'(쿌 __/^T6o|::ZqΔ|_-b_i#+O]w򍲰^><7ݥd'WrP%qa22sl?Wosc.3Ub\q-L'-"SzS\i,@ '&Mt?5 v5&V{&]#\_S6y{^Uu~ߑ=Ke¶~a7a^Ks.(Cy<2bϲʼn澃W`3yVd`&&S_3nuV=thKZ->7y송/e+;;KrݱȻ?@ 5v(;Y׷h ,ep#XuDI3YnS55#{G.9 4K/CO#CmK<g $reU Dh;^o,Cks@"4G~yS^ǵ}k񞀩&2oS ZqeRՁFE/w٣]꯰3ƱHNp~ ǰ2,NC]M]M 9q? nG[&8yB#=cz\\Tnԉ1IHI#6<GY?OU?h%.[z$8k.Sx9 7SĂ̝d(ڲ[f2m$8ѻ%N-1~m*MmC‹ldQW(KGv@v#mw1=^(G2DQR^mdJ?(#R 5S &=(=Jx$W8FR+_$yp`}uR%+;uwUodzc]k?\o~.FSόٞF}{7zF%#NL쩻(Kwҹáa˭[{,]}\,?&HTOS9ٝ[=ϣ1?[`7ĉkFxf8+ X O x Y/?/ND ]# ?~臾"XVS-ȶB1Jtn! ,|PtJ;t>q:̅pħa.'oT ڏ|P;ا#⫴f>50|ٿ q¹BC呿wl`9wѮۛˎP E$`O%,ɠz9+#?xon-q]ycfɞPE#xV?;wp:7?8"s?W6^=A| >/ UWTn?Ʀ#5CYf۸cKam;s'Pu`dqq7mEDD˺J0O*Y;b'íZNP6aZuo~ ;v(!7n緼gx )O9~CEo-˿ 9K~>MKj4#6V!:=ml7)?"9ƲEMn0fyhr3+u"A;zE 5U"-y a4#p^/Cc|T}^$6?0t[ns|1IU?jd,odބb!F[6~s5$trJ!.K?_x:i'tD|q H$#|" %<}oE 0`|Ƅ1{R5z)흰?NL _IceCTf${׮anWs?w츎[_,v7 +\co4ٿ]? ڿ G10vD&=t[`L+"ըOUF5i*aع]Ǖ)#u l.AaQjg Uh8HkVqc,u'TNf|ʸowLw>_"⮛57 ww|lZGO>Ga,BGIVVD`vFXky:T1 5!HAWl9V+~'cd e!CRH lwaÖ@*P4\K?llA7(Jn`?ydV$yXFXO 7Sݭal۬qCi􃸰8єJa$1[9 ;̹. OZHs6΋um>#sD T|Oj:j|Hh@AD-.}i!p﷞e.Ic;#B ,w74ÙN5'քb:2xQXOL!co};bw wz2=#v_{3˿RDM5(tx}P8Ĝl5PTw1URf$vo)? p(?'"F`sT@#TKhKB SO`VӀolM+??= 3RϨg_|v_h\{#-wBh#G;2s>:YCel֔Hs}=@#<=odC$itp;I}GkQN'EW52t]]/ UpP (?J)Rǔ-Of_\P`QӝڮG G܍{PFX{ܫI$t"*ߝ=E$L+)UWgp݊8,( np m#%fr< I#x"kkA ˪>ֵ+{ v'7k6K?#e@*[)" ۔64b`}?a[! 2z1OwqhfqrIu*\QsF6!l1UpjW >=|'ps_i>)#Pȋ)HMeDj=`TH-IE av[D//iPcJEy"}GD*{Dpa7xܦզ2ƭb>| |sþCﬗڸ4h;^moۑsO3w+߅߁:">5݉[!Y-i{hn%% 0*=U 8zEocrȓ:OINҏP) i:'Iiqv? ' ׼V E0 wpa?#9?аٺ$p˂Cǒ$L<GB,y]%#}D A`#)GK#?|NNv>QN8Hvp]ǦSIM\O&ytJf\7j'XRIf;1e=Mx<vA`G~X;/o,=# v5]]߿_U*LjFEԢ=ův@#,ބI#N 8;1I6.Ҵ/EWۺM<1 r1}-YO=w]?Gb:ۚ}ן#w_| Ğoxz. LJu_9/S)n/?[>1+GgP!od_ɚДSpc7]ug~ןv\}鍟<&!'=,ˮnYMS9D7?= sx䉮K<v[ׯ=G}m5Go2qctDjY8 [wl}"]߹CՕ=E+CzIRRt>a<+cYkhٜ+k1`Dub~uE}},~*4#$xx /KFXG}Mh8N"bMU}AI cr;$tY"<ⳒsŴ6D dJByEK͏"๚.>[_5C??<}d[Je(XW&u`7}i!pرjt .#o3ї mU04d.;QZWƋ [gRwvt->X'J7Vkn~V?%JsqO _~y9լT]#;+\ ` )%/bk82XZn@ߨ4bSE=&[OfS(9GW67];Ooyϰ] t 77"ۙ!GyqxQv_nUV-ef5[g3ݗFhGEZHL/U?kO I?H?{Ib6mxB3Bqx*q 6Nc8zkZboCGox-)J{d\pģgacEGU=Nͥ]v*\ _rrD7"s_FXEoN))c#ll #/X 6twI2X% `i2Q*(cYf亐 4 3:?)~I _p-w KOx,eaY=i?8!H_F`A!z?9]taĕ5Vuk'ڰ1 6QS<,G|%b1ԘUc7m =bCo҃\|Sw>8'~n{QDmT'&kHYDOSZ`oWgKu@п%szɖw5rr1IM(㷲옏H0Ƞ?]\ 4^8“q]"tmi@ke7!3U8t*oV_~rןPuX7ECB]nt}7gM@#<#PE}FYGf5ߺǹGLTȠ rJ#~?J$m& 5˧S+VcpG sj#rRO$oeY;+ +_ G4/SDD7vs^}sF˙0ܸh pDG{.eKEfW&b#WP. ^:_EHFa,Kx;[TL8_F}6ODBv727ǻ0?ӈ`_#h-+W~-4k 3?5J)z-l}EvzXQfaTiز?6Aģv-B7Wo^5ۮ>=z4E>UV>-__o"G>9V-a܎=wg#CV 5CIe5熿{% pJCD8Kaf5a50q>O1F_y7k^jOay6sI[湖,FoxW_{)\- ?th5B vGa9o#Fwi7//^ bKfyzrJ<_ܒ)`n|(`-Nmeg3ћ7q='v~ bQ)FW8!ׯ솥/@#mh f`gvkSqNYAO|q~6kC`!?qQ6"\F_+_aoCU_j*wv-wwbc?h:톸m޿thD#ⳇm.ildl vV1^4'J~J & )?B9ޓ.5z0tzJcS;ص.@&dz/v/6_s_O=̮o+nB~dUD>[="-t1ȞFڸ%saπlk AzF#(8sJ5`9ʠ"M-a#^)X$S&wXiۼAy@.M8Qv7s ş1:͕ǿWGߴc8[;$_ǿG˂Fv> +\0HkE(xÈ2;Ni7 '`)o߾ DՁ3u|nj#A dg~ȯVd3O8w_I^˟  송/@#~,U*GdV5; m /]$m١oP}]9$JDl ._Bx!$iiIWJG pX޵?˙V}]idxww,;tl!t·#Fh=oW??}D9E_!w$lБ(rѵح(hk&Y&s%.lr;@oRk#RQ"y phkjI/U5W g ;6/ 7vZEFX`;;FS6)a(.)!~Mʂ 4dqxax$%MCӬoHJ9Z{ \Ͻxb ?_ax^p0u 䘮/FI3Y17z*]F.VF`EQPcImv v/EsFcqRVJeU k5RH6z>(? ;;o}]7y +avwxϚkXbYYѯ }Op K ]k?p *NngoGk#,g'JbϤ<)t Xvu95?Bnb̺|vAqVM2B&zY97i>˧D]"rȖ,ʵZEA#Y9/zy/S+4|J?-*וzmY?#W=3fWZm~v@#,X`/ 7]VIN0HAh.@1 iYעЛ0o"'l+ߵ 쉐 @rxy@IDAT#RǮC| knof,??֓'tOZ_z2?u":f'o$+*˄)me׎7#Kʌ@KB 7Ju'2 UWݬ(Q02i^go6'hBWHi]Q_AWq ۆ; Uꋏ0{?ۼ89Oh@=5l8:'olnD (EO$͓:*A:zP~ Рd]x,LDr]/}D|IDF`7اO7z+lXj;nRr(kNJY`g%-ScrDb37|`#nLEcLJ%/~Ϯᵷ\gXyٞ}?>=L{]@6L: G}tgo<ʩ{t-sD h`+t@Ҋr, BiMptODU([)Xhό~J=u\qm?5Mm_7敷k[}쾛 wU9fixS_?4ֳ_?j̺w_<"rUx1U2sh5Di`wg2_|VޢQ$D?-]㮩 k27h⹾)FhPF9"̟N&\D2'FrͿwwT`ǭV' )DoK#4@ Byl`̿H'1LxdM]^;$œ(ϭ`@K0ԍg5e=+Z҃'YOK wxj߲r,.Gþ4bv)[xP-Iu~a~B:,l rZD40_̏pFuh4Ϳrv!,Q~d[}b}aС^gDP\@n|Z㷲T>JQa{i*M5,3= OD7Cc<\|5^5W [2lݴUk-Woppc' GcxagRMͿ7.])KEA]OiF`-x{IDCN {"3aC.1ݱ|<^ӗ諜 L*zW5ƿ۟uD"`{#,#{D[ kQZĐ(\H" çI)F9S W^sdd4vtLVnZ:"9\{NK\x@i4B.}}3Mڎ%f [, w߾c0\nХlΗefYOnʣYs m?F~I *@{cx[Gģb!65إ IlTʿkQYk4T8.Sz$Q@2T*32fv"#қ1d<+7OͿMfV 鹂۟w Lܸ4@#W4'΍ /T2>"~J$ hЋ~cz"p^˝\Q> Q-"q&pL\x%6ƿ۟qߋj߶Dm@h]Lq2#;a "rN:l;ݖ)A|rIFxEdƒ<*2Ku %em_*]{«+#bnoqe 1+qXIx20QfDP;ļs3Q/| gԚO;lJَ ѳ*p# 7#ocD([Ċ 忰QB?nM`WuX@1BiWyy'Lk2 YUꞏ0G9ΩȘn?M&Zfc|=ϲnE+z(:_  5xrmXWYC7aau$O|M8R'IBݡքsbuviEFXwj['1+I/[i,N҈Gz;z $5v Ki7OOT*1hQh249u[.ZVfD5V-[՚nTKѰ28;̲1RFbipTt*T%4HT72,іkTL_Ros?с-EPHgDkF`"_J(tO̊Mݱ5 Vl%Yz;zSQ݉ee٥Cl%t/*y&n&GuDrCd7h!ı]#4 AȞvl*(qS ̋/fr4fSm(+,بt?<S&,ƕxs ~Kħr8"Y?2# ˪2 :+8&(DPUo`OyPlˊ0>:_ Eʾ #ŷvpYJy&B>C* ƿ_ɅcҞRKʧ'Yzpd# 7Z#LEbɓFhX ں}{a!{SX'!bedr H{& o()-ǁj"hj`E(z!e+ng?P*%:";6"x^) lX"0\ޔG3ݘ5#B喇޻tS| S9-z%8M~JدOɭF'&CοmvؗFX^`wXrlE׀Ӝ&śIz.a`whf+C-%WDc|eDa0ςÝ2(et@c% y; ]d4n|*HMhJ6 nDHȮA;]sⓓ_ii)yY<5#(SŪYBzS/ woBi O4@#<=?²U<,,\QĐ(?![ H ;eIVe.#=h瓔19"Y cજȿ&o&}o 7rcǥ\1d豕3>Iߙ 91 aLwhK3jAlg:xʡ+R~ O$ag4.D^)x)ga *s!쥸4@}&i( Wވu#?b~LcK=˳sA0B;y5'=i03ϣ gWd4$CW)K2ÊYw`.fdo\ŀkN+65ҕ˼U@%e߾ giD?*LE0XhHl] eoǡdW#!gư/@#<F_"A -~چam'BΗFV2Pt'uvHŸw\\=m?d9ޞj4 B>ҟ'U0Mwӕ\ul탖h17f9.ң䈎S'jwb6-)x&;B>Er.XF`avsI'=4 AJ~}m,JpVr57j4Ned$aj"{d"hg4nte5 L!eOwuU0V쫗+a<,hvc'[c<`k%];sM=-Bt2 PӦ1rQ}mF`L;رG0dmC'TqNߜy2b44'ˎp^4rG1_$ie饹-&ƟR_G?迅Puf7Eqa'cE\wv `)%oT@Ndpfc!S7t"BE,g%櫈RuwoJ n 4Cyp,I-ǐB4kS+Oh#ԐGjTPy{ȅ"۠YŧQig|t,wxgw^c?,Y)Sg +w[h{sT "?j: %ajכl0.)3t"$qN9QͿx}R]I^ J|0tF`1:gLVږVmwIMQPZ6WpU ~?0hۄMYѳ7V+ȟe QC.yG좝-Eb{0Pp5BQA]I U(7\(SE$8'ŀier\tWe5ƿ۟sw@;KW##%76#ԃx__ޓ;EZ?'R짻O&\ķR¡`GKxY>d#)Nng"gʚ"'2"Pk#4 @ 5V8h qH ; `})n:w. MEe1qd<Ƽi yqٚB%0,^OlhS@hq. vC7\Me<~.D5K`"Zj?Y XaoT;bLO#^#^/JuXe~?lqm\/cw _%8rX$JWCBc!TI}9sNgHt]39 (]RqsLy(Z%i8źdż2Hm(\-O;RF񗌭&>">[#9Okm$ |J a(?ۯr"L)܆y`w6pL:OY/!V/G/l ޺Z_aFXG. )]-lb`,eÚMi+]sarw$vE}*Pc:G9Q8ͿLEh&&]@}ngۇsl\0h]N>B r7fb;Y׷hes+)GKU4+,9CdXљTSQ9͘!>i?pՔ Mm^`/pB;"S\٢ ȐY™2֮. &WJ,)rW8WD9 ɮxY>yxJI2k?  "21 Ձh$.Q,m=s#8NCI,T&S+&ҊJp07w;xOR=@Ά~fFXC. 8SFmQLq4lwiبdS?0."Ǎ іQ q>VZP('Ř:s3$3dzn}؀I&sI0w v@#(8">ƀt|7Xnhn̉f,Og'z"\mT\O-e(7S ?aGo\~u\t\%p?1YݺC-Ӂ {##̕2DQ^Dϕ~QFj2'cB*^ns?[8:"?cK#4k+{"8ISwqt]e#`Qp˭[lNV\a`K.S=4ano_J&Zc:6$ƿߪ/F$aKRCB'D'(K/5bޑնB?OdP⦻vK'hvXM( IE\.ʄU?ҎG.'6P غ0)w%sgxTWc.&*%;G4 @Nj8'8؛gVC`O%,1G١C4r7`2w͚y'{d?Jw4zh[c=lV-s=1_^ v\)Ҁ45-+ η#%FZJ j)@)40˺Jc)97%vgٷV?w+YE-%.45@#x'V!u FFz*L Q.E#X3cY[ee"7}{l<6m^L?nK4Ѧ 󔿣^ Z($hi-s)^`K#,;?|tNPPtlgX`{ğEڭ^#W1 E.cٯSs5!3=[nK,"oY%"l!c Q:>}>":gK;T~bN6ED0w+EJLѤ@gvoߩ tGNPx&"#”8 pJ Ϳ7G G8P #iEqoA6oMb# /vf,rl4^VodfO9"6SRd bBt넦*6*$=HGėKOATC2As㞇7@#WHLO±6>fZI4Ȇw|8!8N3 \ԤWVBKG.}mFo[II-0B킌+8zEocrȓ05P !I\4u"O<(lϠuooiwَh1$% G;'dY|`Gė&{#,#{إVR> n` F:e?6E8ROMХ0l\7j'4b2Ȣy,O=Kmal{j w$\߿_%I,IiZo%o{H_FXw85TG`JR~Pj-;Iwۨ~ȅu 9ZW0 Njx,ǥVnk&T?!3Rs~`'ߑ` 2BY35*E v{R&KB:`P]:Q(I2ߏQPq\|o?;EI4IIR8PU}mG)-ǗDC)kdX`+ٵ۷Ni(r% +f ÷N԰^<ƒ~rgɚ_Jn?v{i-h'== #͆IAGϫl7K$ux6͟\TFbM|#SAВME{"puF//y+I{%g{_FXw}~Ϩ4Q#)b#h] ~V Iջу˶'/A>g_q^b=׭na4ƿ۟<ǟLZFo1Ws?)~12|EtZGm,ν;Ca%%C&A$᝷솖CySg%[B=HYlf=%$w8]xB;Ԛ$gK2G}mGo2V?ɫ (1\laغc{ϴVH"LxTnM |BϽ ?sQS44Kn;Gᝄ4G".d5H L_F`1_8>"bʖp 6i6Fα`@| s:)9 hvp@TpW;f1?vȓKWO qXU#O A`7}i!pk6qCN0tjoWJ{9+q&vYo-9)hGY<&gG띻7jI{vC_92Yi5/X|:\`g;?Mǿ.*߮oȬq)#   7=;/@#,#:"q.~0ef-G$U]eيAd]Blq28V51!qU5n"/7W#oi\#ti"?pt!.-ߜ`7;_XJjc| #nJg0㜎u'gAn&{)mJ)Qy"M-a#RCxf}6H[m6/8H#s#3k$'? ͊?s ş1"Mj3E|}N;W+HLo!a\"]5[}tVb((.&?/!Pv4J,|J`|+\0I.I& '˨P$ Xt_1Ef8r={;sLu<(NJ(nzw0;Q"Xg־G v@#(X`?VUЃaC),(EYi>˧-X]"H8JŒfp^4q&sc4ߍZq//F C˫0?cE(۶ Үh@, lKJ \X`! =\bE)a sH`b{xoIW-|Еe4n!uGG~I Pg Ur'W-#I-R_TzPQov)tQW`\h BGPoYSd̻R-7ƿ_twʞ,no|+>@#x{#),&X0/Xp2>nRocYsrA({eVc?%2 LRy~?Tf5B ng8V(,{džn4 B (vN/At16‚ wrN',y+\oI>F`y@IDAT5[ 9`FQnȵOԽO4 A >h -i3egorMW6I鰴?D&'5g6P4oֈSHuwf/3Læk]=;=ãn#G$`|HNI1ҰLIbF`;鞈V VTfeОz& p4_mZcyD<Yl _)H7]#,=4Ļխ.|pmׄ YmQHms}SєrDZ!>M&\D2qP6rki|慨[ORx߰aїFh@fCMQLEJQkZ`߉GND!M2^0YG(s+!Вn6i@>t%@Kz$Ko9i.D8"#+n[@h@,K`+ַsI%)Gw?˾ }igOlY6Jp} T|1?Yŏ=GͿrv!HZBS4B"g==}3L!@WP^&"b{ " ~*M ґjCyUZI4H2%gn߳>$3N#:s]^g>ZP+|z[tH w^}Z0BtřHD`1k] و!~p[ p DylZVOi`N<1j|ZX$޺\տv2c_Vs4?No_{EP@>ʆ|E|%@"l{x} "I_or-H yqm\;"` 0mפּU٤&= 9Ϳq죍zl*'bob"szp.M[", 7#@?n5hs5]}է"䈂|q7|)?S=.)6˂k_7kPص=}0Jy}Z`]| cv ?It}E<'bpLJR=^`9FdCG#9Nxl&pj]MԌi?W3?]'{\UL6< )_(B <&b#|Qve>?ޠ^y 5-Z X\;|XtՖ%%L!gD vu?W&6<<$@"l{wk.@+^:f'yb9Fx5ꋂ8*(Ft`ȸ$via-<\߄>_wmv* >D Xt+9 ]D.D,1@ xE14eL\R[#&V~CxƽNO3Kd○7ŕwt/֟ qoK=mO 'eo2~cy&V2j9>Exm.1BUP~Q|;f ܱ#OzF-'wo3j|E|D Xt v -" lɼB4 ɪ vĂ\8Nie5(e0dV@!8n~qKӤ?;7+:P[",XE^-ب80؏^t,kkq2)\Fk%?GB?0

|

  • ѩ7SZpP\3zP⪨?i?֋m[[``/XA z@hsh rM]<.LxM~=U0K+N2%_oVx߿6A"VU]G>9=i8OГGȿ|IP=; x)RؕD`) v"G? ԑOB+xH3;ݽƒ W#컕c4afk`4@ U&Ζ7O,nVb㑱G|6>H%@`ײB=r>#pRLyb<N8rT94:[6WƷX2̯p5e:-Ǥ*-gD^jn ГڟtM~b#7t&pyӧD`i؉6JR۠hL:GT&d=ށd֐=$}-IE1\7҉C??^O/"^5톗"$#7cibAuiǏevl*$UUb)D; zuxDS-jmVZ+Y'ț}IX"w.?=sKD`IXo?TGcPG1kc5ulD䁦gǃ abbjdpkg%um/QėppI=z{83 >H%@4-*eCB̩@ML}"GFdoo'$Q_uX;)dd#$H"o}OkSi[O-xE|/OcLq@Oبs%o~3:;89) '~"z*ROS#NS4;1RuT7HmI t1%S96H3(i_h$<.~=]U`]"$O=@[Q*asJ+ y"uGs9[%V֯=QCPt 5޲?I={w/ xV< AD H+| q;H1NWzg;X?̘ga\MAG 7.hK>&&´go+4AiP_C6}:`o1H/[-Q3y8!rgmTQD$5sXÑz!<$TDm#͕lpD7GΔlOZ>o{Q?1L&d*k g?`7aσ'/W_ZP/2r@T9|* F}8;o>"˦2AޛvMIOܝ^]E6Xw:|#|\ICo2mR?-H~ib#E 21Oּ٪WQ6M봍S"7ն YL+t7Z/e[0p=9r?OD` Ek?a; pc=U#6rN<"LVKl`baZ݈4[w^ާ*Xw~E|. klls:"l,|UAD X|xe4q,b%bk(~}wE=m~Ni?^57hm?GJXsRS+bMR g3쏜_F </] Grfrth=&{k(q`rP=J9:SPj9]J@Jyku) Lsb# Bw?+CpW%#3P0]M\"H`XF;JUFlC!W8wJª&b7k*nޕ$](6UtPhxH =oc/_\Mc'q[% ᏍoFrJ7N^c|T0. _gUZ$xDs5ЈI?gܓ &YD`I߯~1I\1QO DǴ> W.8sSW˦X5)wu#Ì8qiZ:}[;6B/bF P뿪el#nFjٶ%Ec#eZո2`0Fz5wǀl\vyI|P9wjњp|% Z"iB^V_ w&uDًoL{32Z"[1n"<6>-HfM(0=o)cL; >aej@[Pă2סu)a{W+Ʀj`NiXα_Koli?񯱭:D/`|pW1rD X=ts >?.Z̦rf3|T&m9U{uܭQ[،ejBH5Z!T?VBzx5']?o3$"#p~4}|08hC/$~7zjd[?1"g gZ0r}GuBP[$<:N;?8%=>_{~KyU?_|] ǼG6D5˒/ 'd'v. gvUVeʸA>]}i_߽»QZD_v*C#?JD`GL43ΨWT\XB zEl}|ˡG/C 4!lOGGvPEղmK253N ծSAN@ =~ݞb<oFYm̡] M|dhа9]6 9 w*M#LV~.>4GkѡgD Xtv}ʬ&=%c$DG0'FFgaz6.vuSʞ^._22dk z\t! Ax6_֭ sKA`Pf'{?q5F/CMOF*xh!OnͿt 2XeOC̢p&>iߘ$ ԏʘ*rPrK%Bezу̿ZNp g[XRCA(w4.*R'N}n, +Jy-Eڰ*iwqZzmi5c.2S:ĉ2,JbJM_`nSCeD X?evb@x8ErXp|WkI@<|T)GՈU\XShkH/5UwBg'aЧ&uC@/i/M6LoFަ} Bo9g2H(5:2Oz3ʁ}ҿ ẁP%`?w#y!Sn^uyÊ* ]@LGUXE1WP iw)},aSPrdEg$#㳏w4HnHA",p /qH8H]1zxZE*Xp\#ŵ56G+G {6e'_EH-z#옹 (1]"$K<5gȢm> 'g4P}&Y#mqI#h-9pbm^vKLP|8y!=TfiҾpN݉ܧM7ŗ fpU+1;2%@"$|oC715^ DxA N'Eы;cNBnvq,ȣi!m9vȢh9Iym(oq6Kz*7ؿx?V ]q}BO~e+SV'G3CUzE^QOd3U&i (imyFO9K4K?!~U|7._vW$X9 ɪ FV?]sZd&HB`?=}* \:U:W<\d"^UUAD{r &Ęf)Fw|.ª7U*Ŀ ĜR;d;Ҹ`_]Fה?>3$"O)I)EuBn#E%Jx} _雅1⢒5G]RAԡGe,A*eMIUs(#Lo-j? }vA sX~eA%'(9 ~ rKD`iD}}HKEA)@fT PC:UQ+Ө%zڬ!dU?n⟴7LoF5,潘<d\j|w ˶-7؟gݓ퐺`C!@ T~fM=} `onlۥ9uVS9%.sDU> ! B˨JSoe .YoS3-Z`w"izMTOD`OO,SO`ge%w~-rtv}5,+URi¥5.xQi;! T,uA ۧM5dpœ̓eZnF߁b>@In@", ۟2gO:aO\J/Q痁an)}0Q=E]umk;l0"Qk"΃* Ϳ8^BMAO}H1`ϛ' /vM9 n>H%@_ɲs_|V8#)Ϳ_Zr_6Q:SxWu5ւzmoB%i>>3\uq-eڧ3i?@ne"?ozz|YO>C?:MO/-?.;k:N  ,c4J9s 3UUuDJ1@W~eT]A"Yw-F*id{"NDMzDkOۨT`T|W<7ׯX_BD Xtvc:?չ7P^vcUǯ(m!:M"#M-`8҃vS uQͧ#}y3'$U]>#O٨'[", 쎝3<*%&|ˡ \CN _p^'Ty$#J\˨2VZHWF&]y9҆F '$uNCe3¿٩2u? >7q}wJGn@", O{#NpACHCa.:uCAhKIS-u 4GexE7$l lVEYf?7k{g>W#<2a5+gdm['}?]~Mu::d1VhXttӽ>!#38@6yh캃ԅrPOhOYBoO-"-W,:*lZulyǏ6D Hݟ{Z>%G;eKUVaW 'IF",ꤣ3IXU:j5n"e(-t_D?CNF2mW~> TǿEٌ'C+-/r%!i?Qfm"/I=]b;/Q }}vx^#E NB.Ua NM"፼c鍘Dю-nFԿM-bL Ϳ2ua^ aMe{f.H@e}ǑB7!~GpSZ`gHX#Ժ޴҃6n5P Zg!/m|v$Jm=c9gW S ]&3=檮ާQ=NĺuF13MGgq_EP&f~MK$ȿS㍢?]Λ|IWdYK|o]9X1Y܄DYNnyh rΦ˪ $l<]4@g -r˝ŔBua[*i m6_G?د5m'(as$"#?Y&^qBoK1BК'G?OVn^Q`oy7pv?#@K-9}HAIQmjBTx{IU`g?ʔ`2 CMzYS˺}D H2s UO\)8/~Z'R%5r9evŨR=D!^w^;X.}׎^-W;xm5[zԴ s3Z19qi͹`(ޒ6D`xSv˞? N{ *p7EtftColM]DvM~ } f}[kBxOB'53ЉXx9g\؂>'e,#6!~)6d9u<k˶-s?[/įX'*- V ‰ 9{;"Dغls;hF j;CCn@;)'}O_S݀S"Ph yp:d?ɞy }MӐD Hݟ2j锃R ]F&ɯ4.J6TW~z'=z{On"}ڤ: 0pl[o?vԫ}K|x0 gY=41HEG`>L_MbCcsː }VXm#-9.D j?p7bΤ\8]غnwĂZB=l2 @awű]\o2yף̓}f(c6rKArō<]0~_\!!uzeڸ9|D 5kY;xnz؅dI?Xżđod]BSi?Q/sN+snv:7]/د˷^iLbZQ1Pqdk3*VJ93Uvl|wBpv#A!-u:"OvqZN)X|m>Gco!;|cCs0mw N>سk(}"$/L~wIG '$1E+CqE EM6:v'n@6BVCWcM5?J8Omمofbo>{d!5 m8}5*1HEG`_A_%_S"np Q/jyrXCh}FiDO͛G #(<>-y?DbǢy,&z<iڦt}*?}/ߑo'ؿu]ynpaO>6>2?"D Hٿ\$~J5R?"֯oPx`(ɵǺB}9(2 eb%ǂ_Oy>0Yn ^̍g m{ m[_o|I`_+8_Qvn "O3ʚѵ CIs~m!cպ$F S!ZYC%Gݴg;Sqm **E_w8O')/'@"/_pJ=SUk-G!u5F ɵ6:2ghڄW)ثOyL=Iҫ?dcJ@XϿq"7/*6޿<$@"_/_}԰!!ttyyyz\9Ix%Iڦͥ}]e&0NfD?c[{Kh'J?8_;wטcpʛ`[?Ƥrx_{2c%@"o׷?,dX#,-TN\WVBޮN#؟{ʺ4-H%AEoBnr\1يx~}LR֔MkWzޫ'^1X?Kzz>^h@OogZ tЇCoމr-zr+8V4<@yǗ?}wUsXWgO~'1)y zsu'M2{ޠͲjzoV[Yu!ɡgVq66h`߶}ʷv+'QG,HHr96>BT =(/S["$L|KAm55뇴>lƄ .94@_S-=Gb8QrWNگ/am/Gƿ}Z`5\K*s#x*'>6w@",{_e'>Gtsd)Pg8pA:2i*nVmUt8OWk@lXBsE&GWAR$=0ٲȼKm=aRKZGc"$o+C_!b c{jg˩ו֏RE(DZ4$z|,XbHO)3[wk _=F;ݷ\/?\>xG ~Y;!J4~|ӦO\{|ټ8:Psl{wFF%mg'yj9?Fy}|D;°=N2/w˞{nՉ^4{tyw| r$"#pו׿_Z PNCZyGsΞ-ed-j`ZtUIߢ*H̤*v5y6Րe*,Њi?pJc"B7gLZMH/h8zʓ˪s_ŹOD` 7|z]jOKG0f2t e͎="" kο(:WX [½3~,ʼn-^LY:\KSi8ô$0[ Gy#(+UD Xw}zO^w䫼ɯqr†[uvzF'U_ԇlhG4d~E)gGU?ğW5ޕ̟ڱܸ}ag>%e5mV^ T|ے/+Sqɻ=~ښ#tE!nɿq![P|3η$ӝo+y~YqʏtTD"$Oy0"p^)rQT_^n`X>㴘Qa$-9]G1QuLXfݲ y\C?O!b~#_PƤ"S8M]smݵ3ԖEۄsyjlF}sm6w@",o?}DbQ(ul[5Z>q]W8v<y b ,;O<3*Ig'o6Yf'O<6XU6[\;ehyLD`ϕ/&= _j7iuAuj+WsVӛI=;; ~Hv+ZGekm/vi?g8ƨ~ <2wnSW}o1f%!ٯp3D HO^+oR&} OS)5PVOW>\?SR9m\ܫ|ro?\סiЏ&ſ޸Y^?dKgݿ<zːZ˷\Q^_ @7(f\'SnB@IDAT:` \[NhѵUI/;?˨FGB ɂ|B ?fnC[.ӥ>5P m)q{oGO~.]"$ԎK˞/ |Si-Dq@h"<'C[x D:E5ڻAR\7Z?]_UW-Rl}j=V2;HF_&ğޔqtڛו 4S@",2S_Qv>1qGb0TkC]h5rѽwIĹϷ:5\cTgi'RvµUJPvJj?+{i_p_DwW;͖KD̬џ 44_czX \ rKD`Iʵ|u?6#F%_rNw>\*w&_/pq4-R1Ǣ0,(͐C87jᜧkmELZiTcTO_]8x>ou!1& @L{TsƮj9K}){~THva]pyex`Djm#qrf\th 饾1ķTy\u>'3v T+%ʉ&]|[U$2$!0;קY[Ռr eN)Ǒ=Nib@"Vo/Ѵ-d z}B;V|<ᮃuJq^}@0:6H`:|sG[<\= 3sKD`-;?9tv>jDX)w cF7J5xnmE|\\OgžC~o>0S&vLv\[PMLKDJ!6@BIVlJ9uelH~^ i\9jR J2uT G65h7F:ti?BcdPlYj<4]ݲ,\ǫ{>ʿo觵tD$K9nrÉALpx9%f4G:l20N^J8fRHiЖ⡞*)J$AݖssٲurIv8Wr1g=UUD Xvϕ_%_7b" xS¶]*FCX/p3zwkuH8(U]0̵{Mx*b/P 2g  =7uD"$KKeꊯ)DQAԠ]#}/ >!:nsInG-S'0VˆD˜_88(΋l+EeK-3ߺL\]s?zf?B%\p: zPU=ۚYϲCMVVeOV+,߫*u.Uۦ?_叁pQ_ROU G<$@"4ķ?B0"bV/|x "@MbSX%!SseR6֡Kք^knrE|*c4˸t2Lo(3ń[ށ2r# ~8@",{_2O_w3׫?׆U9)v9ԧzena[s؞/- Y.,?ҏMSsNcN{*\M_R_0hVD9'/; v?s=n["$K*.q`O/Z< _yܨ_Fj\]-[n@&;ՖڐvTҧ\%'~~תcߴC._埰9pD d0J^}/SD XZ|ek(#vZO;'[Ⱥ$.eˡ KDqLlsz<*swDQOkxZz%j|3n @)i?`MOK/DF UŇ;d5/|nYǑ-H%Em|MyՇLlصԅ}ehH"27tׂx&j4m~c#?<7W7Y8<4'oݯ?=e, Wl~UJf@Le{jFþ~RO`[>o/OݴXtALq6քO55'TENΉ][ d_W{m>7>H%B`z%e^ÞNFy  k'hJ026RV |׊ēȡ3L{)a ޱ -ܜC_[T;]O5MU-pl^[6\D H +*&-$j216k*j≱RO; )O:+][C-K"^PmlPӠ1:i Rv Q ؗ.69#JJNO׉>;v.nOM:Uf+25FStpTDT&D X|ʶ?U߷׳t/ iV{*1"?֯/CgN3oes7Dr\S!+<{`RB6/GWZ(t[^5,3w1,ћ,rKD`)P&'k…O/9 &S+b2zu!)5Xr }Ai 0UmPgVEZNƧ 7ed;,}q&ctk0pPח= Vݖe_饟. VL ǛQ+{9rȐHRˀzP",*yv6q:p;ܪZTt[Սi?;<Ƨ&Uۮ3? E߻~e&D XJ KÄ+ЅE? 2e0r%Pr3S캙p$iW˝FCqc^z%e>-ۈTFOofzoU#zϚ<&@"zo/~)BYc  &px3; h?cVYq[cmGBاmGIZSZOL5~7z+e+͟`u0ϖ߷@D X~/_fm5)mC$"-ȓ+FZg:"t؅ҲfF S6^t3unL\=-a7>5].ny!V}kXݲ-%.o;=뿛ڋ u@QS ”$yr=@?TǑϨsB8R9adOƀ͍#MmQЫ4RTkA3OFǿolݿUB8'\;΃Ϲ߳3]"$K_j  *,dTTY{"ldPY7UoGhvZr8:tT?ubgjGlI 9_U.]NtKkWbuԮ9Q5c0>+b'?|wֽ]4_O?,Ⱥ۲-_*}%OY|vyES*}w?٤}CGSGg?2s^;P? ߼Ge[`1=?Yvտ$cWd4l\oWEj2P"UHW9ZBac:;8[{ζ{P6'~Er1 U*&J.c+חw>ubI-HE`-ʌC;2휏A_(NF'Г`-#? s 8NbٱK[DL#u[{9mo):VqrⲚ䎩2vqDj$JȆ2CHsKD`P?Qfone%1!w@o%.DZ^cG^s?pU?rqU-CoejcV8>g/|"P y23Zyh)n4c6vטD H.oO&dآ/f PBX/W(gn?gX_T:$CnOi犊Ŀu Wo[9nӱqEPߴvEo>ܼ2mOu (u')e[W1B{ofUMU\+)W ܂vvRoVQ_s';-]21Q$ r{)D H 靗=_xq£٧4[XBN<Ceű#. 8vL(s&w84Z:~nٴgÿi-o<30elHx8N(息+cGo743$w+ze{Ek'\#fP‘?Gts,C#DVH]㟞S"!kqN^fOu'#I Ї1_@tR v?Q?zsА["$ˊ%(?g_?pt !o(qdx:2WBiDG:$xCr2{7UNH]+Z5%?3@jGkfҴg+SS3vI6ř#^rS6T-sjY~/_7@4`HpLqlW+o8c8qzIBC Ф^2vjnH}ni8vY O{qqg37q]u`Wm"G< z,DT6\~ةOxB%@"*{ՄUsbMgeΎ7Z1TF7+؁sF"(RP_L:O䨳8? M,O)3>޿t%@"pT+ft cϦ"G OhvY#WTUhlDA5BnbeTvn;hNtIO)}fݵX%Q/g3]"$G_׿ۗ9₶nsBR9WBolh9^m8r :J;X3Է'D 7 ͫ7֟Uvڼ[8? ,Ɇ:Gy@CD>[gݭQs:Ki-妽'!X42Ecໟ[{Σ$["$ˏč,xc( o\nNZ{?Nz$3ne0˯XI[ JcH>cW}i_lj&aM"*iM0M)D3mi 6Ӥ\Ç{RBGD 8 ?ȝ_?s6#>@ncsdnW\m}FwD}\$VjaTyuӾLM7@ ,#NHk/a]"$Gww\X"ƈXυ"P'_q*iǏ*' o̅XrM"/JB[7q42;(57NXI˅&c*']m-;FC=/OLggˎ[s>A׻@:(Si ִN^r̪rTA6TB{(/["`rmٯABst˧}o[ ;ooxa(jA+cm?eT%-HD(;lOFx }?SvM֡xG\ޘ61*T`S#{ _n@"%f''2u[uQa  xM =N*nr1'r!'5& U4$D]tW?n/q12'w7eKM棃ΉSy1zK)zrn@"-&Gg˖=~@,ւv{ <8pviU٬(2諑 aF2QQ5-q'!ei|l>%keׁrֽxUo\8z(ټ~E=T!-;{._|R1Xkj+ax%cdꤘ4F5մv`PoOkvlgqݱmݷܸptLʘ`&b Q^*.OGzUJD( 0w_sv_9MgE<WXʨه~FBø )mA LֺDn#=UfM6UMݡM.'C-7o\sRVʊ~չKDh"po_SGB[޲# Gu|ُB:v݈5oJ"BV#*mm )խܹ*@uHݵlZf}S|  LM Niٲ)Oan@"U/,eՕ f 9Oݴ qE~$_%w!\k?^AaT\1Kȇ4^5Sg?F߹+X\ߧ8h!e{>r8߫aGswTǧO/nY&#IlثI>ِ [R_ů=c6 n7Fua'ӿ >+]U~PqO\oV+F?7ZxV9Cuu\6kk>fՆOzSY9)c"$Gz'V۷CoG⏄|ZdE)o@O+ws2l\4O:kb萴O&|jӒO?.Ƒ [vOr1aZ$o<`űe߮qK$@"p4(;3e.xʗɷyEy0O#l>  x|TIm lVĻ$?\lSIPh1*Yei_$oFOOmѼKG߀1Y4LHT>p{e`4߾cr$GWce8R|t pɛXonMÁ*JTןND8;p~aڨ!2 [ax-|'8\yZIӿ 7.,̃Mze>~k?dv=5WLH6 u tݠWJcIzP0<${8AjmMM1݉ZjWYsQi [ Ѵ$z8zz=s^q_A(FtD8;/}ˣH-Hč.*iFy]:~98z;0ho *#cZd2nIJU%D=Ѧ}K1.<$v5DMsZli?q;wz'&v|*Axj'x1GeiPhŚ{u<؉R!UֺjӺ~SS[{|1):ns1ق+JzPS-~c/)WmZZ VJVp]#68rSݙ:濅KF]c1CdnTKS#{N ;ZOS:H0TO=:-O?3ED lI kw\"B&"wαg?}+C%@"p`z=Okw> g_GӘe3/)fH=ZҞ[9jV;qD\9f&fʸ4aY+7TԨ$ !<sA@1d-H&躾/)_.nuE vPH<2˨j6⋚t( S8Ó_<ܠ)d{ 7 ZA=FMBDf+]Wf'èę % uU.g"_ֿ敪`n@"7A7|\|p^gؚS!rP95eݪ^Q[w :xXX;zm?Z+GT$bJ/I;?YٲLNsӉ>\ q l1"}BۺymsS6y, Pvf4EǮuȺhy$܇e*i0r |Ȳƿ,&\QJ^+wunޱ$.ڬZ\@_[~ַ/NnS-GBpmHSlLo{bJd !p-;%wQؽÕ ripx7ׯ6LH#rAs?c*>R~_oVNW>wy.:dllyqRs^ܴe*kx8 6G^8ȵ߯ ?L׫-Ӵj2k&) c8iʤ1rNn c=+A׻WHϹ|<"Om.HJkf<l%S|Z.|_o;6֩mh/d]_!RjFB௟s% .J;ɖg=/^s؊ #0b'Sܠ `A[pq { 5sm/btL %m,#1A=L!|x6M '7_wwt3֊ ZRRacgRe=``=%1~070X?e[әL@}@=9ڸ>Z> x3ۈ~6R6raǯ?>|^70XߍkչG_VȾ_!U~U聈m\M=U)@ʖdK~7HᡜW7%^ {s]-=묷m0l^z4{nd R#\ gZ&)!^e՛#¼׬ֆCf fqWAH^t\Hrm?y7h NL~|QY4;$^Q9Կ#vκ̺nEثiQ3>Xw6%xo&`K@}9whnB^j`J)2i_;9mtj %DT,,Ѽ1#J#f wx֩e<Sse\«l2&; ؊rF#K6=fr1ヿ8]% $qk>G1ٓ`z lM9Nذ30Hi koQvFW퓱 i#2BT~**又yw|`-?6U!ER].E8.Q%T'Jq _߉iEOiq]UV7p>y~jnjMv%[<8rLL`M*lXѲ0jadhDK,[MHhK馝m-.A-ÿPj?o1/f-N¹+5"WHi\>8oZV.>u-m$R{ĉxo&`K@bbgMwF'H((>O(._5C1jr2#x DC0LԧYΖzzZO\x~+w=ɗ2sza僗 >?7ÑΠ=aGMm{I2%N֚U}#gLL`IytoyWlq98M8_1a$> XtjeO`}$&Z jLN"x<79 TE d.H|) \S3ӉݳTrYі׌{^0 -v"֍߉ƹcRy%m 51NŁ?'^"Nz1Aq#jx{L #n0q-I;0>c|n=w:(E*6 INÊ|En:V<GäR zS)d.P gɵG$G%J%XU sáڇOծy.ם 4!L-;],#Z1q֟aRj?LL`ű-1!϶_ib>#{de|F^W c~ 26<#y-tǣYy}̽Od⺴5 7Eg04t(!(Ma<]A:Rrbn~̇)? 5Z>T8_!n֜(JzV>v:Pgx]dE]: m}w&`&|㊟?p jvk.trg>]Ֆ~~oOɛd Վ!̿BPrH02kWL ȃHHG1W\<1WO0ju@ ab5؋_b/-]~Wz1K[%^j?:]x̵"]OX8x;֌t@9̽wtAq.Y`' ~x}Ьs^!ȀbF @?l:.n[?,\Ȼn8A3,|01׿^o0i&`˂+EQͣZH[\>XTt`n81zo&`ː_mIDATw/f?saNoA PU%R@`wr7"ΜwA,DSj>4Y =kO}RLw&`˟O`ȋ!,ʡ"5$bő]~`7wE3~tƓ(˸!/vp_e8aiD|јi2YOW*)"jV"WYS_||'#WMS`c5q#5dQE˝x_N͛ ,cp(:Ъ_yS2M':f՝eUt=R)ҝ`r_땆Cl(U7v3bT;U3X31 6BP}= JNrқh[H KJSz#J#flz0:\wo>LL`9o_Czw0'=BQ|ðW?0"#_`9Pؕy"<:SMpoKvGbr01yD3F?rfF5}IsU)88)Ê9H0dJїOn_KV ?\Ҋ=³S2LV?33UPpѨ8J`p?.D4BAI)HXLW(LR Ù7?{>qo/ @1Dž{#nw4] >?(WA)yj%.5Q1Sn)<7׿_ZxOs~lKdwTw:j0\lqdINwvU8Pb*%i\i {8Ɠ4?!Ƒͮ+Ha51*q?M;LL`%1u{3r'H_7Q%7`.!FQZ@[RW7q|JAI |f76Wo: `s߹8v߽RiB^Q J恎/04B/jE?OouKN׿ZVǪ7q>Qj>ޙ J&o?kz.l#$S;MΥ#]|8^dQ Qd4l|z *άjK\gf/ wh|xN!/0*708x{1{c':^gQPps 'M8ӂ)?Z'Iozս囿[Ink|/_׭00@Ӊ?4]j"m'\ a]T ,jTO'"g\eü9/fDfL*^??˵ѥ~^E,(oDe_?QH(a.JohOw:yI;1\]۲Z`ٲ)}{㚭ţV*ػzFgLLU +H7#ޅMSBļ҉(1i 6l7uje}8yǼ:Npbmf40@wU1uyuUUON=Q?4$4A6q:7ܭ;_(L`#NS_6#ML$t]yG+&Srr""EHX0&伌rɥrN͓ch li!r\g5B :dMvֿ3OUhxBrLbWݲ3ӗť7lMMB֩Kl)!9raW̤u2W˗3K׿= ߞ{fzZY۲\`'^_hlڊFaW1d2pSl#^1H3E+E/A2 `1<`2JͿة橶U6Ll={т=L-s|w?[4[ȵ萢5x 1(M4oXBHj<y(WMIk@d\wj' 1tƘsb)Of700P\rSKWm;,tA~_)=8P&` yFs'Vi|Rfppֿ׍=x#Z1e.rŅW~.>ygc@Ҁ抆+kcz[8")2?0~&PyriY O՜RXo[?.{ڳ٧=#ƇL Cߝ>7~,s;Jo0U nEb+MI_S2] W`5ʚB?1rsb=/LL`b*z[+#C`QEIcB#$EްsU S#0]&.|N?*B.?iTZ6 ~#&QΆm \|7nwq=5&T༃ |I2GlKYbןC#X70Ks^|G.>eW?UH);ijy m4obYR6^?2F{ñNJY`nʵ_1P Lnu 20vy H x&)j.V~|]<?984~-o&`&`@gFon'%+10&y@mQ @Q')U!a(چob<rz [}ug{30毸2fWe,ćduI~HzΠibW+ƃL!-S2s+Ï{l'wݟ&`&pO 4bˮ9;YIA?Σs#3h%U f^t;_3[Nеcy1q1ymE._ifq-?KoQ\+c?''&X&i 9d9!H2+Vl.ʻ&Azʒ.iLy25wD_ՎS6?)wZi&`&p ZezIt~G"$=g/ eQ"4s/ dF0v aH陗68\~"fK h=URa&`&p `ژs{5ћղz@ ޟ()4ʹMEg 7v4 eוL1p.ETf򓙈gnpKFRp74:N=4FSNhyޛ { Wܼ#{xӖ [cv>]W;ɢeCd7pEjЃ}{QP %.7fտV~x)N;,N;r킴Ϫ+z}_ߴz5qMq㎛]7 Gh2lik4k 7 k4y%?a媤护?1Ws/<^ `h8cwlqiqʆ?v П+N:bnA<$Ec t7;W"w8)8UmVc/ø.|C86W3!?d #ПDꫣsѻpCgqCQ:^'Q  "Ijf+/E0LiW{-UK7>h s)1|xޅӛ Hx5t{\vӎΩ?RZh/QR@4z}hSRw,ys7ן\~p6_V]'?pMc7G];vZ`_ mq[c>=Mos';31=73٘Rg;sx\tqQۉn.d4{,W;R58& XZQ5x:(4S8x {䩜/\9>hKQPR rnJطڪ#íhF]sq|=cX5*֎5cc81_}X?LL<*uvKgnfyH-?R?&kF[;DaZ5}^jA@ŘI2}}hmэH{00Go۶mݭ.;vF=t.c!?|Koz0.t ASH\H`Y+ xѯ&J|+ #![P*bDZ S $ DTD3TJidžxdM.WV33 yYG&ĮbH 6bˇ8ayy C778bSCŹёj}F(1\!TQ'A=w@欑 L)**OsYjBgM0!b*P  fU$dGHqm f aA*~,-SJ"NWU nY<ٸȁ\UX@/)Sƪq 7LDV. RŏGJ bTq1xB 0 R., .jd>A" R @!Ԫ. S9Z@"@.-WzKFw56؏:D5^%1L 'q#367{D՞NxHF ܚ$*~K3x!3n|geV7yfMvW JB 8|?SIcEQo룊5c3[b iv;5vk.`xp =Voqxr \OE%e]c@0Uq>vdT%,`/`pļnn(#c~-`_uQ{طn_uqp 3xriJ+xhe ́5pO Ab@Hap=K0,+lN48΃KO'xz[Ї  !t@lg a"H!)H:92#d#R@!gvB^#Q DQ32Q&,t2Z*݁65}b 1Kcbl,K21)6 +*Zk>D3pDOg56?_=`Jp&8q,B)pN["hH'zݘB&N'."%"%{I$1əG!qIRjeR'=YlAv#Sbr1||GѡR|(1>ee e3rIR~j6u.@=IK[CCJ[cHcFn34>hi:i54嚋5jռ7FRiŴ:q}{-p-_kVVem[mD"Ju(:v:l,j:7tzu#ucttn=Lg+ۤw\[t}}3$So/ߩߦcg0 `A!CΐckpuÏC̆,0wFCFeF}4f/3n2g85bIPCyCˆz5u23niYlqnsC@lͻ,"G,3 ,F.qcijn)hfgeohUl5՚iiºպ&fMm[-Vh;;{dvMv9Ewhj:9k/9NNBjΨys00aanh\ ]] 79xx#lFX6/]9fdȖݜxnnWiݛ_r%nMG|VϞ^R./tL}f,s7;{A>>>{|ulhͣYq6u37wXpjZ>e9Y;X/\Aޱ}3GĐ5!CBBC{<¦ 'G/ 18u1^cf9&aS4% cO8yTY;s{oqaolku/\>v%ʩE_kx捴77ʽv;sӹWy~8 <=zXSgړʧO랹=;u/$/K}ug\O+׋6{QoZ{c{{mNLo'ҧώ[D|۟/JO 643[@ {RTªR<hs}ݰBn>!M-Lw7V=$P`{TK`] ;eXIfMM*>F(iNxfASCIIScreenshot4 pHYs%%IR$iTXtXML:com.adobe.xmp 1926 Screenshot 358 3~iDOT(]@IDATxUӓ3$ %*$u ]sD07*f0Ϸ*""  J$[]53=0L7ڥ­[UvsoI@@@@@@@RV B`8e-      8ü@@@@@@@ 07C@@@@@@ @@@@@@@R\p`.@@@@@@ 0k@@@@@@Hq)~<@@@@@@@0@@@@@@@  @@@@@@@ü@@@@@@@ 07C@@@@@@ @@@@@@@R\p`.@@@@@@ 0k@@@@@@Hq)~<@@@@@@@0@@@@@@@  @@ <ϓ]X$6mHFFFЍ7ʼy9fffs'!    bSr9  6mUDZ=˗K:u*O}}3z 6N>doAv3teV^]|I:ͿJ*W_ٽaB@@@@ o@40.5,bya7#8WF%]tKWϞ=?5@*={%ֺZ %̜s9KFFF\S{C4*;;ٺ(~ffԤ\=cDIW?rWkaCʐ!C\Y2g/BٲysPkSL-+غstSP2f'HfffP{ Z|y,ڏ>HN)/snw޲iF%++ڵk]5[UΝoB2;vLP9C[e ,딙){CYV,.oFPMӴҷ~[N:تD3eni&lݺu}-k]I|pO 4v ɓ'Ku9F{pctٳ_;@`v=E_&Lw=r0駟Ύ෕+eiɔc#k^hw|p rU    @ Z 4׃ ;x-ij;h`8,Y^mrfFwmy|co<]6m̸uc?>k`8ܮy׳.N?|%ߺ.Ųf5v-'t\A5(\СCD .X7ĚY]5kp= o֬Ys>C:vX|sԌ2wuW?,L8ѫQzx^>`=k=̬{Duy}D.a=]Yf>5\l/3'be5?XHЍɓ Ke6m<X}fsuv @@@@T&@0A0ӂ6>lZ@x jS^: /M -l6Vf"'VZVZ:#v'W<f\=~5\A}d֮;+Tw1m lS40|QG9sӌ4>k6rXI'WN[jw}^]knnn\ 0l]im zUtx]vy2+mu{-Zx.vVǢ?-o`;|93!    *t%2! hư\{z9^KHa9#F1==M4U1|M6mf&&DEݺiӦUeqem<^98Сw7Yӧ?ޭqnkk֬Zj=v@4+Z4(VtME&C-WTٍ{ܨQp{љ-[<F0>EE5e˖~WUt➢]CǏ1ܡC{sXy\D'xm1m𻵻z.c ֧r&;W/<+{1Gyg%ip_~T}'Hy{}ME#da {=r-7'vuem!/̈́    @JJ@@ ]Ik63)ktpeK’As 7D\pu\t;/6?SnOy}}qeJ0l0?V]tfvLwn Y*Zq7mץǶc m.ݱt[D+5kĕ)›o]0q4H͜94+1(;U9evv:9=뎝Œasռ鬳 z&@@@@REa֔ @M0cXD'$1ˑ]4o7nXFN|7.^82f cJJ}8bV &;e;/@/ɿtw'lN:Iʕ]J|ٱC`]jy .zҫүo?]uhLcьc@Mp궜Nү_?93Eǘ&v3h`~X7D3{ˮvAv5+5k׆] \fhx%d5    %@`8g @am]4cX'ej*ϊմA-:hsikz.5aưfTn]鎦 cYoO-@;aDze氌&m2t=w H4]s\" evcWѬe?]]0a?*+VH8eX?#[oʴӥ #Rz5+Ep.1Vvh7kWiO9y`{Ö9ne zޖA\v5jpǴpdݼcFvW2wv@@@@ 0<3E@g!8cغ>R,mƮbCתv?u#|h&hKin[-T999w֕[WK.۞h5k>xp},iΏ?e8[eɂzڵs@תU+CG4G};)~]I/ՀxpU8we 'qwY˖IݷjX/NOv[nm] 'LeҤ2ublҬ|Lj f6jXjx0ׁvL?k4Ә1c4x+ZZ5Yn]L+*2ӿyWGh`z.B"    @ Ni# {,k*Rg 7hxy9V zrˣ>Z☽a@PWˉ1e kՎu[ROX|ױk-teȑ#z\p+1G=nK4cßVߋ/( HṰ þ11]Fq8oJ/ц<.Ӳvvl'Zڥ,+矓{L`yꫯՄI&`p]c [rLJ۷7c s+ҡ}6mZX܂{twqFɢRf ֌agВ@@@@ 0+@@qç.z:,cغ|ɲ?,Y\/' 2q:SNi0bDsf w.kWn,x[RW O(fm |0έ=P3Z̙K1|QGc)1Vժ,돛l;3-^XK݋K[)}YgokIO&[gc8ql6{r7=~ - yR^hnwrc ^R@@@@ t@&@z!(:pW]Kt4cr PZ>u]54Z^bL_3fmOsǷ{" *eyV7x#<~ffŮWח4j`bnf=R[9e1s*Usڵ= pJ+,v!x*WҺ*yn;v[XT97n8\̜{9hٞfnJ|5kqeqnj+]pa    I)&L  O=/_3`f X.Цm?[o5Xقw g+]IǷγp4YqX܎g;#n[uaώgϞa,a;D iϚ^3w}7Ӏ}"ލ7х|c Y;#c(    ,# {'?GxT^]iެh7bynf.GhW~g^袼֡3;Av07|#fΔƍVEٺmƷ=#Evwcw1ϕrO6/Z|me{b9gO9snf)"6 ʪUDoڵkmZQLdh0;kذr:ưnkkt:q_|EpoݺU*Uo-]&kWRr]k+Ϟ=[4-k֬uIOO;Nh7VtZ$͍)[]GH*eܭ[&O,=phvh=̬^Zv*~mJ7o.N:ŎVjOvGrqk][e ߂~a\X{zVq'j 'nfJi-{UW<Ur 7h;hh`ʢE)BѣG՚1.Ze@@@@Qp25@r{ǻ ֻZ|AnuWyG-a7K6mD{ežr%j6Ν 5cXn>Xe>b.Y谝e._tEҬY`𹬁aݱ^|0úGp ˥N:blY#G~x  p#1^,nnիWٸq}Үe !Rk(m۶-k7;1hOW\q92X+qu^#Fėc @@@@* }{89@W3j׻gׯtRM&c~ +V,w+ee1AXmڴfUO>eoܮyG,+"yꩧO2EsӀU;tѝu)r8a =}*҅323kG"Gq~rڵke„ yءHĢ₽fZR~'W6[oӦ+c+;P*G@@@@H Iq8I@|Ա|5scg}VׯWʕ+.ӬW̬L>mz\V.w}E#Ҫu+s\%1 HnҴd NcٳgXº]bl:w.|I2@@@@@ 0<3E@2 XW\qIŲt-ku㏇E;VZ ``!n/K.nehV?)n,lAߒ?y6AWҶo8dcǺE8x~`[2ig@@@@Qp25@v(e n W`iD>sܹv[hhBm&6%KJ*>ݺuO?-z.83s7:<غ+ju[Ʋe)[ɓȮ]f~iٲl޼ٍ'l畝 aUF>h裏mf,2?O5X00[md&@@@@H^{8s@؎evaD d)]i?3^s=7]@@ni޼̟?߭2V6̙#;Xkd_u LߝsD~F uͣ>{ow8,:cs9npQ@@@@H>w8c@(@lƫe ybcnتlO>)[}5ȃ=YfXyMn8t63c бDPGhwA9(duYnqŊEk#eʰ@@@@Gp+@ `]%[6Y0ճ`Ҡ[s=GWl5k8v:1c4+r-=Yl`/Ҹ뮻n%m;笳W^ cxҮ]p[@3#>,1leN:@@@@Kpr/@J)p套^ȯ6-p*zՌaM%KׯX7pe86ӦukNʒ_-Zjm dԨQu?~܎BDz%~a&+i %)HG+V1,ҽ{h7Ŋ@@@@Dp(N@&pwȰaNu-±O~ V^1l~~4jH.]v/SNn޲u9PSOn}e eZʃ>XY ulv^z9sq`pa s sp2c G4cL4)3    $$i2 X_ W^2~|ג 7 DWGdŋIe]IGdΜKѕsrv%A0Yi@@@@H^{8s@؎ƍAvZWjرҷooٳOׂq رL1rdzl޳>;,^>ߧOo7pR$xF@@@@ 5 }*@@ =#~zm߾X7###AIլYCu` ר^C-[&+WNXmmO?L%~&2q+U=̝;WڵkH˥J*aQ;\ Isg+'Gy|:x     @ N{# @),kedi{ѣv\tv9?I-.o`mk4iDj֬!3gΒVz.,hƲ[j% v:+ҢEbϟ/y6]p3ĕVMr#2wi۶m = 4um>,1H~ܮuOdgge@@@@HIr8M@9 <\q55';Gz-;&mZ};E3vnj#yɟ~*5jAO=y2]CiẒf^}U߿"tΫ֠o+WԩSU=-[29Gů-;]&y 6nD&~szzz`'kYfwܨQ#w^ 5S8--m'kd7@@@@@ 0+@@@@@@Hq)~<@@@@@@@0@@@@@@@  @@@@@@@ü@@@@@@@ 07C@@@@@@ @@@@@@@R\p`.@@@@@@ 0k@@@@@@Hq)~<@@@@@@@0@@@@@@@  @@@@@@@ü@@@@@@@ 07C@@@@@@ @@@@@@@R\p`.@@@@@@ 0k@@@@@@Hq)~<@@@@@@@0@@` D"izdOEϺ2     Pד@@R D". Rag    6@@.w#c|D@@@@2.E@@(J:Z<u!    N0/@@` ]IsC7"    Ssy  PqXÌ1\qg    @2 Nǹ# @R K4O^#    @ 0\1 g {{M@@@@ +ȍ4@@` 3 @@@@}w5GB@"qGG{GWqH,     @.F*A@.1,xe=@@@@@@@]%2cm]M    # (1lBW{pl@@@@RWp[ @* [Mѡ <"    @ ._OjC@J- axУ4RQ@@@@ @` XE@S+ ,l<u!    N0/@@` D4c8B?{VpX@@@@R^pb.@*@aưH3LWnq^    $= $@z-r    T`pj  H^W.l=K2     P@@ c #åգ    EpY( @ؕtΈƆ .GaB@@@@@p 3  ŒaB |@@@@{]@@B ~ ҕt 3   SpA|IDAT Ԥ.@@ .0lGnOe(    Zp( @8p4l1b._djC@@@@'@`  pDtlaMd a@@@@Hq)~<@$0H    )@`<5 @(@1,1ae(    Zp( @$ 2 1!    /@`W  Œ *A`x     @ N! @DҴi/Hv=J{{ڜ    $$i2  SN{U     P W;  ^#t%#cxyp    FûC! z2 @@@@@< &u! e(J:2@Q@@@@@tKD)@@a2˝ @@@@@@ 2@@@|`Xߘy0@@@@ 07C@+.Q8:Ұ>y^=a @@@@Vp:N@]d?    #@`8yg )&c8n2    @ 0\An {@Z$"hO&@`x{p    ûCc   3E" AIV!    Oco@@`\pLx.xdG@@@@@ D*C@v@ьa;$]Ix    ^(@`x/\2 T 4a}@@@@@| '! HKh_     {.s  P!a J:@@@@SpyjR  Pta'2R@@@@J-@`TD@W c8H1c /2!     0 @CA`8":&2    \ T\ Y$xF@@@@ 0\ԅ A 02R@@@@J-@`TDO`ö2Yn,UVo^-6ƭeKVmۤ˗hl6i{[h8[*W28ih*dP>X}hNׯz65:_HݔIkHZZD3$C3%3-K*eT*UZfԪZKjW%usI i&Wc轍k^+- O`[I 6"ަeeȶRuH&+zx[o8O:cwXνqk*ƻ`ڭwԍ~;VD ؎:Ei&{r܌Zխ ;uqV>')KK+JSL}ʐHZ%JɨKZV-d#iUHzՆ^N^< %o|)XD-o+׈>W7nٴYmyھj鳽WtC3L 7m˴ i]g AS36']6_פobvݻڮytm3l%ҳ%R=GFMɨ]["F %ySz&-%keoeɪ"w*-y9@lkb|~AiٿlʘR7Y{Z:W}c?o*pKѕCw'==ͽD$#]+묔Ҥ>Tΐj3VN%[ԫYYɖK @`E^ [%_Wfs4 T@D>Y>ه`}oSܼm~x$-+Z_mz`1(c+8~f__;9ҡ~{V/&T)^Of> yɶS%ot)X;[h B[Q-pŶam DD:qͣ h'Z:׉{؃NZ\zQ0A4QͿ<"(X+ygi_Iެ^~Vkq zgpO]i=@":o7(D /w(eFǻc *o $YKfW{Ui:}_d?ΰ*UHժUtAku0:uɧ&S~X!毒E+7Yퟵڽ?a ;ͮԧL۠7ɮp>*SMjWÚՒHuz*dB6{z@ %f,)oLY2e_7n_d|N/ܚg | ؂}uUCَ2>+r៮('>A?f*;Oz_1Nt= OVM-?!~/ZTY;hKR[W`ϡ]NƵ-Z "̵VNRWޞ8lڝR4HncBR h{7cl|-ɛ:M{Y\MM\h NS?9r(UN;E2:WL{\zJƏ/k׮ۢwبQ#ڵmV׿O?]Ν[ /~(5_&j=n.s D'Yu{w(Y`e/K"{k{A緧jA[FߺuYlMjL[k9U YzڋiСCe̘1ߗxU?0`@el/, rYחSJ &%˂5{|?(}q?VKc_@RpR6NvV(Y*c]w;2s_@v㤫o]gŒ+]c>/D#3{bpV':m(mii ;gK=t>V$o\Ós/ȣw,m"ZQl(Uwp=O>R$F[=y&(*wa?%o7)>FM ڿ cʽ+Օ=F_[+iy eڞt?W9:>XEO?@zEy`;C$3<#z%=\r%:5]d*С8.C q.ۊbqgf/Z-#He_-ei?}FZ]kquvv]T?^o\K?I-rp< Լ\@~ s^_6BN\-  [i݇?my/>]}$O_LA2W~2V b7 -_vMEon\бgm]7εfuowNhY"D{`9I&\w˄M^M/&6cm{im5-x{6kmepm-ϵ *bL7" %=M?KhLV? .]؁Yxq"''G>#ԩS-c9F~S_|!~xr(@{yy_8ϪP_Hz`~mKEqwyaҾ @REpIR^`ƕ2|_e]G}[8imG2 ۷oJ.`zc;ӿmVr[ϛdߪcoGQ_Kmku>{slb%(\ߤϺckWhאv5*G@ 02 ATXf>.Yae2OWhss̬^VT'6ILܲ~s5WΖu5m?ee_ҕ߿"Mj6cv 'Wh)\ܮ_?_6~ul͵r~΅`~eܫ`?m7tйj]w+츖I(%$k_n4/eGB _(7!+~s5~gں{Qoſt%,ؠۭn>xͪ⯱G㧖ƾu_Jz&=6l ?,6ew}rKzǂ#4[[n{'X lyIjxsN ,W.{KYvSJ֎~TgMλ{¶4!q *hPɋus@ 5 }*@ Y ?To۠W/m.:p]l}`sA_7E`[)l.G rK9wPop)韓-zi\=vsdÌ`5{.gaYؼjAMX}tE[M..S?YMrLG>DYlC9D4hP([D o\ɽ.)][+lRomԢ~ DwtU輿pƺ: ` vr㛞0<#9ْsϝ@Dr6mtMl1־i&' .@i_yzJ.b7oG[[]JCZZ|KY9kmHuӷS[[posg>kݡnrիfc:aM ^P<#$$>e _7YžPqq} NCۢ܇>բs͞yWqҾ PqJc&5ka {-gY>.pӮ/wo4mٿ1)%WDu@=>A7Zj߇7x^V=YTXO!EeY=+>p{;{޽{ѣNü $/7v5~9_k  +l]4i}׽ .[jKMY?6ܢ=J㧜$xT{g sxg\m69wqۮjyGKO]Z^٭:mMmEwM&YipKHzd/v@ 0GMe>G4}pcd]A3A?xG0Oe>[_/\5VM~IbI`{>ڭϘg'2w1p ۘ¹S.o }ak\ZB]v[L.l] |!rXkWjl[] İHW#ٝ`aU_k׮u]ZVeTvm2e4o޼<۫1s^6Ӭt͞51ퟮmaLm74k9V㧴Dfk|H"uu/v^`ҤI.0l?iҤ5\i̘1?Irss.$>ce̙. ٺ>ꨣ䭷ޒ5kZ,[ILV F{/XF?Z6~ki-5 e_d O}:5ȋWteᘿEf@dԸ @IDAT fEy_흦ADFDA.wg2cG4&&&&~2'f7 q @QA44M]:{ޤo}_9zSu꜑).HD`V!0>9^~~|o'6c+ؑ0-NѲxޢ2ot~Y0693(4z挎JN3"?ҧ\k.FQ+bzF#cT>TZDˎN9##~ݾt' 6Կ)Nɉ2>lR6mX6lk3X\ =Azpb9c;Z:Bh+זuߒ~ՌC'CxIcb1S/s_a\ #UrC.tn>J9JLTwQ r9{ @X:v\;8[1i͡.h ֠mhaG~}|Y|ʻs\r%Wu=o-\pAY`An 05>Q7 كEߊHBop…eDm02o~)ĵcej}HxM=[R;c]_?!M]9 :Y.QÄ%ЋB[ :O ^KٲLnTF6m)S6wG(Wo[[H%ӥ{˾2{-˟r)ܹsw[mV'oe.rs=|(-*z׻//C`B\Kr㿭TYɶWPW3⼅F¹sʂce2&^ ƌ(?aQZ1L; rGVؚ\r۵O24\( U3"E#jBx<5v,'eÖq(m HfYۈxՄ6tևNDzD H:?D Hf#OyfL-z]0cml/Cj,_],Ȇa6\#rȕK*Wi1Bt&/|` S9:L\lo^Ÿʺ{7Sƙ!E:۫RӌxF>I{/)8DK0`ᘽTc|˦[>] s] gAkS`jB=T3_fZh1(1Nybֺ`wFH\6O?\+ݶ"7]G-YŸ͚d8 }0hSuZl~+W&.~xf͚Oz1ysʁk=qڸk] S6\%LPFTSӜI s߿}ŌaG+"D6øNȧeÉ`Uo$y؎\p#5G\ֿw=6l(֕=1w2%kn\`u^XJOPw[: Y>묳ʷm8ʻWq)OyJz#O_寮nZd?Mf#cz%~\3ٔ]HQr+`_eK=G"B**KֿAL{o)\2q&R x4fTQ0l&T_>>F D H\ԖNE_| 8n:D/Ω{A,.>І#%u 0kSim(dv*̓-ȱaz*G6. ܥB 4 Q}c绞eGoӚ)]t-3|*H9_{sy@̓_YYwu j}攱E@sb<4(&U+e,*j#dL=߻.QJegb~&6m LR4U4M!ZoX--K2gcɔ!"s9{﵄ŋSO= O{B4m_W+_ѼWWXy_@F:zf_FaGW,/#Ƕ4bo_ł5cWe<ܸʰ&RgcƿjR[~6nKgԚ{ʔܪpN!ڋ]eH!Q~g;6- O0]^^׹c9k<ϟ[N.gf`e9`A9p7 Q{nB $\[(yKWEɶӛW0Cʎg!8m*Јh>NlR4Jv pJ$@"0@6[^t" 3עMwt3:s09kw%j.~cbKf{qCNJmYBOBǵxWr6PXٹ^dXno`f zuߏ۲:T,ZQ~uZoKrǔ?>"Z:^@[GrxYhJwxהnf,'a 4Y0Z-WOb&ܶ#:W'u ցQgB.p*Zغvk.pδe A)cKPg {5)y{\]gs-K,١H%wj/O~wX ~"־2~7B}BbŜK˜-S,<.i;|}] SjUG uHw9ZTn/83pÁC2u^Kc^"h9<4?\^jx#,V*$u MYdTo3Ch֜s,)<:v}Y4K_rwN7Bݜ]ӿ7?!cw0nrUeMg*l蠚3-dJgJ pF'վͶk,zنE ];Ӷ]J]qf(I"X}Еy^~ su֩ʕ+W\QxUj=C`T*Ʈzb _`9(#!nMUNwuƟ^X{Gq臭T￷񯳻>Js}a.4\?{\}W7~=J y7QΑ~~Kö5/Ryz[eGV7W~яz֭[jor饗O](^/[W? V!x C#X /e˲}[qU9+T E !qq568VFg7w?[4_p(DU.WO7ī,\2~%4M]`/W|}Sxmyk49%9SkH?RQf_ ˽|sXFt̓ofîя~T~gzQGU;[o-/yKW_{ =)yv7n߰[x:\](7e#H6tD=ih^f*eCkc|{C6|tU|jS뫽oi?Sq<<0~ӟ6K\1dpuݥr#.ƣ.[^$ҔH1籇ţuf0J:b"tL^\'䎻~a4o_74h{'\?CV<$@"0@5V^j" /k&”ˌ Gzf.cGl= H[_(?>|q2s7gdNMYD…q5&JQWM1O*S."ʵFjyJM!gyUmV>Sedlh<+{׻U^׵.7ʓ21})OySE\wcIjvxC;ilxư-6ڙhE|gNu\%mƟ`[gvdooDsce8>7D˔0:ASӖU?Ѓ =3Z}#,I `㳟r%RG>RN<1@ [{R{ $"؜rap(dτҢU9)祚W~KC`W7UK x,\ yK]aBn4[z?k4WRv+RnF]Uk0du^)5&Bw}<^|og).r/zի<_}9ʦM8U[r[/2 S5dC)镓=>w/2uTR+~;-*G\1Tw "SwuՎ.4o~cwSOÇ@[c/=~r.|jN :}.P( $i͸8qvfOmx:W~VTs B.Ҳj6 GRXE/=}ҡօ<$@" 0<W$C}[AՔ,QJc#8iG>;+l° gdD&& V0HeqG$ yu-"8e2I߼eB/й]ӎzjy_+H7Sth!5g ݐᦋ;.1Uew^0P_fO6_qy&Y8,%GP'AHkYO;nkKaۑC^=7(n'y{^ꪫQzTЇ>];)6-}oyk_[vOO7݃!R6_r9ҘxL{s5\=x"Yi(#!<[lѿv%z-?ŐȃZ6[͢kh[>o7 tBӳ˗op{,(w}5?X¤8LhDc)sK×F6I2 M\X?1ywf p+K663U)g,AʜC%V.h74V#ĩiM0>~V1@Ale6hWQ'Yc~tY:O^0s>0$=/gѣۇ;NQ/NJ'cEUfR@9-c&.E]Nn,wܷ٭~wY|§X$@"0`S^e" 1oY_^^.WSrL^!Yw^|&k ej~AL?;&lą1dЅhE 3V$Q1#YkT¤&[skmsk[>5w/;I˘=D}c8\ۄB`rr/ O`.|X?#]9$1FB3DeDUNթ<_C[T!@'L-n }ЭJ3<7, 1Qn7[Vy3Y;SO-GGk?PyKbxLJn/ǎ>(b Nn9`A~IxgKң Gn5u.wc[c=ǹ]V z C\q'}!Qc,N3sNg lÿYp]*o߾ο@\/S˒GD Hf?0<(0H%# Alxiԭ&}{`FWbJ[zM6!^呃@d2!|Z,Hhßiͺz5DK?HHyP;Xq~\rJVPmhd4U//\1)s]!w2&R-@*du$H J͖WXlZ:O~WĚ1OC`OoF]kV'>uՍeP04KF+Jzݸ{^ܭ Ɵji)OjbET:Xp}_j `HՎ[o).50?nVn?[}6TK^C_byы^T֬YS*2ܲb\T=cp9O:bhگ*w>g$ga3p^e4߾v~dm ^{=مէG1Hُ@. 6+L!G|߃-=gDvWoD2V>sUΫ:n l^kB.6@2el0[[p>t?nڮmCg{Zyɖnh(/=!3SDrgʆoq05ړ6ma1)cMaL^aoV f1wOhn%xq 0V7ghߺfKߪmחyz!ݎؓ 6__)_>Z;Wxq ޻ fL~QOqڭ9zQF_{A [/H(|iO_%G^ґO(^f5.C81,]3:~ #(s{CoF?qHU#9,4SD}zפtT=RYo0ӷܻ[/)ijի~䓟dys*bvٷ!F^E?,ʱ쵄e0 f8lh>f+ܕm:/@x8h]6D;ߞ^ӓ$@"0ȅ>yu@"@_\U-i-nc 1 re=T$h۶ayxbMgeP-EL](%ob\ :G?ߥEf}m`5:,5W݆ [˭T'Y$@"0ȅFy@"0(7ʝ e&V8'̽կ.eYdIy^W^ӟg__K/ $s)D5KgT%2GZ4ŭ,T"$~0<7o(7PzroKD rax)/1H~UMP?{e`է;2w\Gd3_mfG:9(LY/MS^*5"ZOrDf A-Zrks\\XCgµPȲ 3lXeMp'oūK=U]peˆ Pmc}1 Ҩ2)X-.npgax]wKF/+?͸< |;ד{妛nzP#8,[̯~+^}Ԛ{b:jxi[H`ix=nװ5sOYj{Ez)kJq#_Ҍt{O}9C|!^YZɼuO1$ǐܹ:pd> `xX i1_ȹ$Qrd:'*Dʼ%}Vm<%@"vraxP^_" =/?//oZTܮ-蛅Qﻎα/NMueHtY)9Uu%t>cȘhՙewR.b􇙘`?>5^nK;.4 =CK/)}IN qmR%:M̅B}zO~yiW7:0?VQN(,aL6ׄxB4#zQޅ\C~hx3/oZeodli))<@Y~cə>9rG}Mt{{ԺRߤ JuB)s;NV剮̫L:8.AăKMdDby(\W!B 7ZyvK-o7D.>ˇ>o 2oʒ!!|8n~'}!Wa#)uԍ?]{JJ T?g;IH'k>Z,8%d{ҿ%/iև<$@"~raxQ^a" 9_,0tL^[YX"FYLL2ͩᵳ0֪'2Acb X $\*NWNX *wW;? EOsfԴ)e~٥Ll<#ma،ͩ-|{aaz2Hũw_5z%dǧ<#UEԊ%g?5צ;7=]Pe΢?\<$=~aڠWv+f%;8=|Â%\*0a2^/JSj1ǟCŎ,uNw#>U7ake²3qn'>yg|&K.)<#[1Mb8#/cUeue<}਩[0f*`|)Uė`uY`1\{vK/+_D HY@. & LaG>«|;_lA۶š:adaH f|]!cMLp AlaD;dlJ}m*2SQ/;Rz꛹ 95@>X0Fϼ"k1dy,~l- ka`mUdyrvVv[9eVj ^zurM uob1NAw JW^"'e?ZfEU=~G`3c%-kҿ9c#=Sy%@" 0<ט$C>Bo6lYb%ac+\99Lfxc;ez2cY <10BF'0,qJ 4S0i 2?JN^ŧv߉>ZK_ HiOWqs)A6t|J;~#hp9E-;Ctgl"cHsy]/`0°Wюc"0 D.sPYN0u``̸IeD:JД@UP*-l&e'֕4=hFV\f57 tf c}3<=xiV=߼LL0( D6k\KG.3O•5o϶𨴎Wk?`#C0r͔Wyo_'?̘25, 5 tt@" 0<ט$C3/~+Ԉ;э;av[xᗧðcXj귂$asO1ҝkRHd5p?YnXo BB°LZd?x+*_M-Ԏag#NQ #ʹhdY[y^TWiNrv: %bDGt?4osSmg5?^WA`YϪD I;/NZfdo Ҭ@IDATdlCĸo-00*O7nK,U*!BUrs,b18|OzxkcW|֚;Ul2{=$?񍗨N<Ɛ7c*S{xV&Ǝq,nÿQcR߮aDF?\ӧ{Hݽ\VGH$@ Ly@"0}B5 [M0`Lbe` C 3tH\ )۴A?/)"Ã*J Hhss$YA+΀GW) O1ëg;OU* W,בW#5V*zI'DYգt,ALeC?dYW5Us"0}9X Mw=F1`&s28ɘ6~cY[vMNCF0ÖG8f  ޕˮ̅^oP8#ẎgJ>wG\C)g TײrNyUg?hJ_ׇX@^JjO?ڷ? J$@"04R^b" 7gd%Ȯ2c@][d$ٰf"̵F}gLN;-䱊zr <ȌT~TYj5۹9t\1R0=81 Jo"0XSMUc&0| {O3.V ήC#僋Pu,Z|GG/RkAf'Lt8I;=W57r72uLOpK7*/Ng!>!~u/^,(܌,(-tU#_1[1Lۻeݾ?{9D HY@. & LaG ö¨ L~T^ LJ!gP<2ט\&WwWej Q*2ΊLgD)BTc1W&dzojdC wU4^M:e"p0#Gy?x!k8Ӻ̤s~}~xc-Z1O?\Ã.fT QnfO&4 5OM_r\?|osǝ/ͅXy֜A&@xRew$'8v? X9=Dc-2rҚZ^U瞬V Ԙj]J-K .{4c`9x./hrbeT)b̗P94gK1fl`5_s= ?2];<&@"04R^b" 7^-!6 6ͺA76֨'r|.Y~WOX#E8tbCO S^L 3Usv|֫,Eh ׂUaH C:p?z=F i=A`gT@6y  Î;"͛,\4GRQwoz&Ws"v\q΅a< k7S: = CQ .J 1r3?,y(*iH>K٣ƣ1`uS0Y|)NɅM\yQh :?jr|:B۩էp?_s^%m*P*k<$@"0 R^c" 5s=fSa1jO#,03fѱZA4\IS΂8\[ ?jk W ut?\_ώa)G'/E. }O5}4 3*R)tF=:-X1K 1~OyBӖM_r9YU/._x? o}n 2y ֜A*1ia:`2vƑmOD*24z,oÍ۬ K\ϪdÇa)ʮWI o !cA)f=t7ʶD" ff$oѫfjm?&w D  rax0)2HƸY 'nnufWjLUPpj2uyN9@D~[y 9":t6_o6L`^w6D3v(0cF'eZDv- pZa+Ez"$gy}}j*'t@Nk!&KݫܿZ70oc3w'+ퟯ6 1lݦv'>ʛ#NԎa3YOH\rFY#%#;!g:|< D Ι4[ӎaZS 1vF0 FؙmppGT~DZzJzWf}sav8y}L>t{+ 6~kl+c_w\ifTPڑ8'oTα{1m-w/dBfp^%{j쇲=몖)ω@ ,- Ja2;2lO2TxD}c>\S6$ ͦq>}H2G~=۫,D/Qi'8q}cxw1l. !7^">t Y:aŞa'Mo_z^Tbk:E*PU_"\Y?xX W?x6_%MD H\VkLFl92<,220,ڎahVE >'nk쏊(S-F &桫s-\N\?^%sikWIcf&[?fr~n&Xwuij 1w: 1bk WK+yM&5'Xkj^u|Knud=U 8"J S5׸"L!!SeÇ;00 7_a0nmJZ;͇ڹKǝWK3dOBͩ`w,$E& gÄW]wԲ+/iڑD``8JqTgg7cX%l͓>r#;s+?U?d6T_s=nsNOws8KD rax)/1HX`0WI{KLp1U9OayaV1"dU>rpA]?T_ǍhN/4ffMxKӽbr} @h&G-׫A-!b6Q]Fb̕BzQ<!ư[^o; pSy ~ԙ#,Dz+.8OUu_%mw(r@)NRGŵX>跓*VUNmI_}.)az̸nrG<ّrYz?;wGh1 @" 0<ט$Ce8S/ sXP{ŠlkF56G"'uFoBLмLA]6զ%`[\W10ke ٭)hU<(0Ǟ:S᮳' Xr XD̨*8&\;0puBMh.81LcJ£5i\:Xd'd7ܮWIs֜,Lq^Tұ:z9R枨o O|"5q-Ɵj8ro@׌Oq7kA$>yzq@Jn8S!Hn*՞rGsǪĉ濎m͊*3گ:`l?nƿ\Js6cH8nzpmJu<'@"0ȅYDy@"0}smar cLMZf k>L0_gf xTdc,*D دZGF%Dx(0jV6b_H#о1}<=ګΐ$8Ĥ͂1lLΤ~=^$D u*WIVE],2uBWBp]Ǭ_ X]JȳB! :V*kcUn;Q;koN`\Y{CZԭ6"bndR~\i_!G|Ss)616 WIc Jϫ_M(Ӷ'@" 0<ט$C1vh24_\YdQNYmaE۶5 +O#d'5zZD*w5 tsƬP0MYUedMӞ" #\ST{yw%?:GhXeb#HSSeъRNDGw.y$ n55]MJgYD]zZ;oߟnÌABȳ4_%5}z|~נ9k:m_U7GrWǟUr鴯 8ƿӈUz\_/ o؅UTeS"08pzyC/TGN_O֫=Sƨ`Ӫ_yō_\s/JQeA2~! Ʌ [SG0Owmqfa;/Fٍ|cX5n?~CRM O|cmL;gtԈWIȂk>C1^0g,=\dWWnÿΧbV결¬gs]J=*@" 0<ט$C;mtɀ|2A#1|)'}t:39|H 6 ,p1Q<Ϋ|L"!+Ym˳竤̸0?mqL l)fz7=,X>Oނg?b^ljx(SYK,ۚ"]7 >uHIGiao [3va. K kҫ*ʉt^QGưnBT$C?:'RCnwy)eɇ^FFrcvUmKx-2w < ']z62CR\0*ArE}ҦSZ!ox4& 9&7ixgaxwmg1HD`# óD`xۋ1$U c81b2a <0C'ؐ99GX:ržQi@u|_!՝J/gBy #[Eb. 9Mºah표E+*n+t= +gb8OѫOݼFV $ץʅPgG~x܎*"_?c~i-= $K07p溪ې ޛ{ư/Ža9g#j8qi~ң`1kjmlQ59YY;ih>F 1, *iQ OtG.c+Y&O~paTDǙݮa(ը,"CHQ/*fwGЃeW嫤 Ub;*1T}ct2pd#|b025]ĶLbؤ# $P נdc*h<&@"0ȅFy@"0Ďa[W=ˡMZ 늅QOh/@ܛDQ }~cal%6)i/"7nAT䟒\ΧtT~\2&J؛oֿ-|ra?y9tR]*_Yu,sW4xlZFL6H# DqdǃKt_N\X^> X.mOM7^̮:-Rw$!a= AHcX7`30$Ȍ3/3`sϙM27 v&s 1(2`$PݺާsUj]UjZNU]U! ;q~ 욍f2Z[oa3N\5th3 #;L]D~e4>1J{QB9yt]b/R'tPTf`6cdԳ7`z}iކԫg`(WDԦ0..s s s s)8 MLkhUkǃͶ@:Gecfr LoNܘ`L2mfc+JeDt\X b&K҄iVW:mI=5KQSgqiFڵW?J{+f*6.F| ݑ6^M“}&ol+¡gs }0d (BdNj %3kqTLgT-(0ҫJuGSTZ 53DJGGwϬOif6%Mwx=M8JPGEס4k ө4HmHx?s%Bdth '2DfJbEHUD|V*c֥9gGuWEYE8ޡB[亿H(i?`0ǤQBvƁUcX:AmW}uj+0t-…G9__ԿޙݬcƮ7r0 < t39/}S|GU1kbtUkVJaۺ_x-}ӳ/PX:;PdKb!U\ 0Ld999Ȇh\́́怎] F&Fڂ}Zrr,!ɕG˫AyLܸ9l( 3ڰ)?P-arDs̃u2gϚ>t]ǝgR]xĈaal)ܳ3폿xIh`v0Y #\@@ݙw Wib^.KDHT ^۰*mh6{a9*M[fdnxUe10Z{7t<ÊGsMj; Oڗ]3TI"*`"kS-@:o@z+dptDZBP⍨cɮ8DīЫNv>L?tʼn7,sƿ],ǿ*Ϡogu3ATticxd壤\850DFAMȣٟ[xbHb2>q8tT?O LKwBZp1S'_C#zb?^٣AN^nq922220ܰM+99FX Id`Ni\|?h?ev)2 E Q{ģ<_-_SAc;Ə̇"时M<]ڻүqYz뼷HN~YmJƣB擎Iۭ#s5,S1J39N (MZR3v, 2n&98JzGlWBVԬ,Ϭo\S}Uc" _W*{BKF> pϖi߻9|ڻkYC 1LMF)ņ ֪Y0#uƬOB718~T Ѱ,42SNaacRX %|# ^f`>na'7mVߟ@,;/h2pph.ը(W q*?A0 x}7Z> t7{q\cT$sMAz3\_ C:˯h^Eex@ x;hOO?Ih8HRuĿIF?b1\Lddd4<a(W0s s9p((_36x+KJpEїarȑyY{ D'&*N 9cr0 {ۜtͻ.OCd&sE5rWC7V߼bf0|(?'AgkQ3PLc8! +huR%zPcҎaRŲ Ì,m~3_:㟉x4%z Uªq_SE=߃;)K#w !_99 v B1<;6U ?ʩ%mH :c +xP0xG2T.z1_ၗwv ,ф[?X3(| i]x1uYF(/ 7.G@3q`v 8M V0_Z^PQW#l9Ш83_dDj V˦W@V)90 H| :FXYgXx[ Wx*/M+4 rf8#P1<@`r0s s s9r.aY~[UX|*` ;&gyh]3/C{dn 2.~4uBi8 ԋһ]bIoU=;Ҷww}ґL :秣:(Re|GEZ<ߴg_ICoé0 |t&^dXxo:ʏ=?|aRR'e5SpTB+Yf%{9R!U (| Ma?zX.= 0 OOzx993}8J 'k{;<QRχ|s8aQJzHʑȁlnVuxCq༛a.p{&&rצ,ZDφ D/ Mq58f o 02oloJ#A[ĿeWʇH/~qX6}ǟ/:pQМQvy9?Yc~A=;ȏf(i1j!g G' ژ؋r *!u(i?<*Kj&_l\KB ,b#!B_FYbeqI~pv {=}ѷ':*Nye*L)`ϥC{_O/7ypHB~7 ^Q4Ҳg1E wFja6L2- GP+δ5oh hO?v w Wx 'l;]n&~Vu ;{ù(MgO.a%HKLcZR7sMXo)ad%~Sv.D#7=Gr_0LI(c"M1,]R:R+OCoi}McZf2>ƵGEA}0H (Hf>49 Eáފ;(Z52cl0F?r|ǰl&QԭRe,pԿg0ޠdL'*hJ(dj~E]/%dBhy\RQԡXn< /͞9@g#ŠF_;a\vį@IDAT Ke.4J<ے{yW7Y--Sv v5Xw#s s s)8 ML5>(&PH+/9䘂ɺ9'c$ z7 Qg14ޙ09nD5?>cONf%ղ%_O[?dK((g0y39N.xNy>r={믿>]{ia Q)dXORR%b0Rһ̆u`^Z"4G@!>%aeAŤ<z㟵i&> ßVZ~XDT?J޼ 9*s`t鑎]~}ts3H NB*=J;$75Y߀Yc#1']i&R:zٽ.ˊ0(;/^f/}i_#%*1\3c?OuJŽQ P'SL˱a&MbCX8ө#Sa'~\aE^T̢ Lxe)TS[!+g("!i̓a:[/džo;(i/Wc׽ (|2Ш'߃;WG?b6 S/vڕ͛qy?]-⎪sc8Ɵ΢C:w siӢv^凊K @,Ahk326_QlFϣg(iׂ՘>asI?iohPG9Zpwf ́Qs tlgg'ƱWeav*:>:Ƚ_n<tGK,/G*~/пUT- p͈^QkN]:u(=]OLy]1,,ȣ-Ͼo? Κ_o.ɉDznGIMedd4aZ)1s s9p-mQify@+0lNxzLLUX6b8ױOn&' ,K8σz?3ҿ>"=cNcJehnN(H>nl;~/1GI!4c{g>oU)CPt9猹F` jQEHLW\qŔa'Rym4/:xh{*ʢJdQO2/Re\g:S Hc=덿w fe{0(chfOnE䯇@>Yރ?3jcN3?ȯPŻnޔVęNg*C (UԿ;0 %Y;(-H??be4L?*k?s`Lo{cGaH(t.53-D6"eU,~3ƴ/bN =9ڲ_N"~OC_qdnݩK]A|~Ot*Sߎ>zv g@@@@sz] _\́́́Vn&Q2*J h6r%W|0BJMάHM8{@ Te~ffX%ߋ>p3ՙ.4\754(ir0]Δa@*u%)X&vȓX /E7}[>իO=;UG 爝;o$)*Y7V/}2LF#.re[6X3Ƨqn,d`#1 aɞ́́́@6 7xed>λyИd*TppAw|rrC4!,hV b%~3 E-qjs8X>"GU#>'?]C'WV봰sx A ?pߴ/1LE=߃!,ɋ: ץ!kp0d׿ n6복Mڵkw7 wxq1}uNP5QୌxZH`X24蒻LzrN1 'pSPESC\-:ZXcXnqp~p_oTGgð$??Ɂ4FbQ뜓dεXހ&b岼 V-/ɋq$Ac)T@#3ǟzf((/OǍ,yJ⟃;w [ekxx`ִ+qt6xOn+ ?zC%GW wtv#'#aiH&6^ 61\l47DS+_=2a(ƼYϮ'a^ p>ܛؤ_ebc$" i.l&nJw h`dp7NZ@1At1ԣts&b dIGIT[fsDSB-phWФM0ȇ7',Z _ GC/) Nw,|{~>wY)?m[CJpGh|;1 ԧ>~2\Ĥ+(eX?t'?IЦvтT켸9ba窽o Zh8J僿!ӇNRYa@FNv%] ;GUg#L5nXU?.S[nGIE/jtlQ{sh%J/_{mZGqNa)4 ɆW:Rʎg+cX|U-g+8_F"d!j(dJh}۶mK'xbc<ʌ\'Ӓ%KF1y;/Hׯa.zGBoIa2$̫8< ]3eeFHJ~)zppsnibն ax4GˆRo( c& ;OcX|bŸл!cWOz$U<0N8|k0/ eFg3+_ _cgm\wP[0"MQ otcY#.[K=WUZ~}FjoV$w 磤%cy|sKlp6n$KH;MA~/\X[(2dkHzA?SNʐ*߹v :JcG7C*p(=Ēg"٪M)12 oUVYQju?똫pp(i8ԏ;{q0mY>1<#P6 E/1Ѕ{v8;Ͻ"P]Z3mbVƪVneFgcW; F`BʔAؖzU>/T92 Hv Hp.96&;oy$l;cG'?AE 1r;8h E>qa/%##?2i(U؉T/>R1S_w m^tߓ4>1)7!>TNyd/Gh# {4G䣤C;s s s9 ÍF-΁ݲ H;,͜YYÜ!څ4Xg-?wFB5<yfD F]rߞ~։gUCKJRzD#c/?~65Ԥ׋qEj3zvޝ7Zpcv S L8&v k sjE>\0FDI$GdxCquͻLy(3rVi7=O;HTz~ŢE9~woGI˟|4%ll|gzGlXY1F'~o j:rq?&x]uK02cü7N dHZ'oߋЋGNX\wwHK WeWzR =߽;=g~#_Bר=(9̨1l j$TTe%4"xRNƯ7(;a GLv CfB*h8J~JV-l4B!/]pnJ^ 7%We-YIR We40>-zD0 C ScXߡ䏆aWi(FDc7Hw&X"BSʍEs`󔆁b%.ϱ{>ͮtqԨVEbO6H>*X餓SR9^ H0lᔖ±690 W66~q4Wt /X4 &jӑۿ;G#P;`9aၱe˔G88īp42_ ) o^kzB}'Yգ*i1dbYc˚>UYL`zahe+jSd%;0̪|ޗ|5/bIF%L/ca NG1'y.9'do/?{>ELshݧN_ KThcaYQN)75:%o*2va?b׆5 L.d-a 0]c Q?(?T&XI\*`VHe!>:X1u߶~HAY3հE~OܚaǰD.+Gd0 :n1&T<#뿊EpTUz]nRW˂ pf708zqy7 3ӓW0B05tJcF,ym-DW̽h' Y`vK٭EcóRtG%W-I?-J_C1s~Ql?qEB)3OtrW}ә{_r6 ˫'YD^fP**oZiǮ}/Dzݺ Mlmjoꃟ;G#@1r_MW&nb@@@q@ab`*Ü B9-ᄃӖ;ώ/B>Ml01 's3H4kAxG\X+?1M/yGszv:mtT<2+6]h<ռMAp2<lTƙ~|n>QȰ#Gg9I&{8ZȠGQ˵@Qzi?a001Dž/ DLSa8䩐Rd̅_9PH9j n-i2yg&w߶v muʼn@2|`#ܿඛ L'pJ>|rlq(?C1L3)P5{5BT`QLQ_7-[0X*O (O,` O VWWyEvs/0QJhScp.8Wr7ƿLr8$>p4,F/0v WIԻ_֤"ϣCcN( :Jڏ&w6&  j/ڔbߖB y5ҏҍu_m-ˌ !) b#пJ83j;j teJ*dm?/ٴ @0&{ %=Pr8s s sa9 4bo: 9I9Jbơa.lq҅Lccm'vv[(a"&VV^<9١f(%&"FpLn0=6跧:)?-Axґ:%V2?qW/@DvcX dPWo+8 aH%q~]rCx|ͫ l? —Aǜv߽FAV4v١ܸv,a;*R^Y-1ʓJQyh( h%~:zCSW ʣA/ve>%t$NնHq(o^%m!+}36TG0p$nVqV̵Jue¬czR^'1=v04(đ R~xKJ>PZ f1ʢdC1DV,>UZNLt0(¦@BLpMDb@(O źF?{֜tQǧqI OLy d ?'?㏻7<R[p4Y&/Vg$)Js"_ $ˤ;9_ ?8FA)Je Hcec {5;;hr؅4 Dqpz;ɸsWzov(i?]h[HKE Lg0DMQEfzr10|ut/0F 4~#X$D #{6hS1F#J?e.eLjڀq ڵ'?gեo1i|ts%t'>dɒY&LLI(UΣxd˸qpDOjidOnAA[c#8O0Ϲ4gaQ|KK??PB^N ϊf#[L;v8<7>;ORKUJQ&<999Ȇ&h\́́7(bfjs} % 0&gat$NO +Y [Cj$dϦ?oQ'c,_ ;?|Gof?Ro!_qYytR~Og>Ϧ;v|7ءuof3pC.B!zlMQzKqe:{ùԊ+ԫ̔;(i82ߍ^D H/B\|Rg4 %C%nQJYR遼?K϶}֦|F衎.%2ρt,uEohGccGccXڐ8~Gu.\Vzce}*e+sjlj24N09`DԄOXq,A 2 M[sޔ~M`' c֦>̽%ڿ~6,_MO7!fKʣ .?Á =CiΝi…SOMg}6ʶSnBDEEDސ.ܽv߽VQo̙V_.lP?́0! T [<܂D7|(w)G}"/J;%פ'>?ncS֥?v|gm߃;08JԱ`#G]Iͅ0Ǚ^{L<^ ï0@MexHgmtwJjPCYFm"4у)u <נ;.^~s/ ֥"ù83Q}3S95ԔoWWcקŋ>3 yz?p&40jj$G*'*&5*H)m{'Q>: sGVܞ(ԧfjx?UUQ)шx PvSΊ^X 6mpU%jPH'ʸ%H2 dgF,% LJಞJ*[b}Zq1p}M}~gXVߖUc-?XlBsԨ9PX4e 0J ̈́|tu0/]cwÖW*N]!qGaÇ4Vc$*^S0nlD`ABQO] )uI{Q;IȃJw.FښDpow [leaɮj1RgWq|tSq&6Y" e8J=FQ{0a4%#RWrGmUt z65"O'4capg eDq!ͳX5-]se+ﯶ}Kά&G+}I93n1(>'l;QҒlAw Sj]^-5cXڭg/7:CRr=U6c^Q!.!JInlB2Z*?uSn{~?Ng-:̀aXu q0w 3EgO5yhȆacupI^y啉,^<>p`عGISWd<سG'P#q#/ƖO2dz1Exr],N "+0;gcǰ Jދ̖o|MRp-ܐw 88ݝ8:4_BM8ZorkF]R3B'd:)D0>Az`l+Y tt_Uz߭;/yҚanjвH17Zwyg393q8ЗF,Y]uPOh䏼|N".s s s s)8 MĹ`IiN4ۦh Jta4`&&p`RZm X߀ErE0M+ʜbR,&V)CXqW,cƟ>׃3-כ[(h_+<'{GY36f8Ps: DJƅ4ͻ&jaC f/>Z!&\U#y:Dʣr-ߏ/IAݲY\=:j1ռ!a$?  ?AX|ǰ*?ǁv /NQ+k/Gd:Jô9Z!L aOeP9g}58s,uƼq5΋/Ԏ3t/J?JZI%~;׎QQ;)UٍcJwׅqMec1`^?@Dqqc5K70ˠRgF:tB^xa| F) >4 u4Q GjPHw0:M% [{Qahdp3Rc@@Ks@w ri^X dž)a8&=embJ̯We/hlaפA~0"v)#Y1eT&->͎ P(߹.u`|Boa00'ҒcF@,.TJM-bԤ5dUң廓w # *}3|+Jo7NJAHi% 8B[|z⟵a4Z(U?ߋ&Ri2ŁBdžx;;`dpTeyrt#WcrQSͷ'}21WvzG+3  ] #ư-ZaU4Bভ+_mdI+?d;Ad#C1&g ; ƱWXc}@QCW(i~LsNGt dAw_oN/#<qz<Q7Òhdp3Rc@@Ks[.ErBL>tlS95}- &ژMJbX$+Q#0;%Rr kJ~#׋O:*Mh_Ge+!Ko~Krꍿ혫RQc`q;閦mHڧcjXߘc|n1Z@ э ruu* IgY+hf?V? Ѻi[VV,(2/bqVN)a}'ab/*tA] ѯ"hG#ı|4ٜ8PcQDZu,jT% @V?p&.6^((M` 6|LLE!}|nסL?>J&2220M+99>Ȟ{/f}Z1ɇwV, U+#89l9v crAG@(qǽ;}dL,փ4M7ҳOm:rΑQtG9TG-;FB,(yXH똒 uZ7b4} [Z:q W3֋P Hm Ǟ`.1L9!A=g-ax! C8ax*O7wG Ȇ!1G4Z̟7/utXq!<0 P1R4X!E\ u A[.LsΆaH:_LkQ'9b.teddd4a))W2s s9@pjliĭYv Y9qcn8NPȽXR2*xZhx*%XI0DES?XKD^Oϧ]vӖ,Oe+x}Yԟz6.WaU~{I_OQ{CU51ZZڪU/s }0dTG &~LZ8:ZDOqQ&`xh^g-zQ7a[ilm"> ֹX1dQm0@Da_Ig;G"K=_ߥ`2/t0c oю]^6ɗCxGώӟ顿;I=F369φkH}}ݔXw Qiv_?*Whe1Ū+!+'0gX#cQ0g}y4 Jd[~k#Os}8J:̖,ڻ9yn \SGUU'0 3}&,pLݨ.1Ԁ8e 3r .fhV|ѠylV@ͣof5=l/A1F? Z>JŁӯ]/AW &QVxbPB|>;=пO PLKqǰv G٨gp'a. Óݙǥ]zR77>7-iG#צc\@.s s s s9 Í:no:ЉI&6Z$999ŧaыM痽2XmYЮS!Ҕk*qlP$aǥu98^y%}{}?Lta vuܙ^ -A};3?V1J]3p5ҏo4ڱȦKhR{:q 9.> BbR۪>F:*XgV+kHTo_z &y0zk7Pg @!z oXD.AAi0ߣ=V@~D9?φaHHv1pR Ua iWYdC@/Ɵ^^ 0h G} E#42 5,``# 0zś5?cHܴZ-x7P(9 21:M.t?A0 S^d8T⩏:bc>EU&˯hìHϚl|;q452}p t_{ڢ+g`yĔ6`}&R_@ eJo7Q&ahdp4Rb@@ks<% YpFAGr*cCiŒ0SmF_!Ge1*DIJD VX  W#?t[ߣ* @x4޶g{zuߝzz{ҜiA炴~tq?+e%#ٶ{G}!< m /$qmƾhpaH!xݴ$TR%zP.y?)*e7VPx{oe2u?GI-Îqo:p1pp}̴_aHG!!,x;mBTTl(ziLR*^bC9ΰr+VBRҙ/CR1+sEV)&YEDSS7_ŽV%QY12(#ߎ_x6n.s8 ;MM-Pĩ b 8yՇJѨ43}`õ/Wz(S[M Կb%0|"dx^qcx2?gN[sQ r?zbg Oԋz󟻰`4y=($*9"s s sa9 4boa[iVMuZT #3M ]Bx^-؝HM8dgkxK@.*:DҠF:#gkgFӟMi;hF;`A _{(ilH{;ɏ욉YXd`3u40|K4gn?6BrTs`z~P4~㠂ˎFw? )N/H#lij Ш2 s".k/}0߃``K0Aą3 |xVWDN1OZ+^ !z % .s s s98 N-́n^g2M\l2~9 %82o69 09uPrnja w6Ѱc"ӀsVW̏c\j=K (k,Eb5@tֿN1u0#?y>JZʏ&w imH BuP_01a'ʳOjgmMQu^nr%x,Ȱ@6%E}FazY|Ĕ4H+޵Y 'w Fcii4cpECY̌ð9B$b :XMƿa1X55m|CfxEaG-x;pt;6^fOq0y׊-45Gc\Ȯ8p:oD,/W/;u}0IYRۘ~UR>V~`(PG9h0FN%~1S} ݏ7}w O+:?ևO+G̾_!P?4_;O?Ҽ X22220998am-qDY4b8<1,# 5Ӕ(-g TZ<xbGlFw1#_L<29#?ts!j0J_c_lH[cbp'<K˾@sQA6}1 FڱGI» P-ce¬jU}Ccr4c>ڎQF(j4ȶZZXEEj!=\Rs7L;? FR1=fo@sw KԟzJ'&!+OCBP,qƴd<|K=HxLrDNXWZLE2`5&9}Dw a_yJW#1}`+Ķ0G^.ܐ~;J}M17ͦ@{ Ñ.ʞ1@b ]E\Դ^=B&kذ ˀWk Xn< ϰ?c%dпKϨ)'7HFo;I;lKy(LGIGedd4a9)2s s9 ðS6X'\$C:DNrLdBXC HVU4^MՊI2| ,Iux?͙Z>lPCâ& L8_€ H'R7 +.l\Zv7;kBOchcM7䣤k%22220ܸmk99\XEf\qhbAXDðF8QM|AD4B408✎~QOFEEDp~sDQ>How\:nޱعǤI܉c;;Ń}}W^{wzq׋iJǣWfQ豵vǰ #\Z0 6gsa SA|5Ek)uF&|BAs1QH2G=t:oa)# Xό;G#l|ǰB~4^aX bҍޫW$Ɯf~_+0ԧP6*e7:AH_0C(>|[7;Z'u '?z22 C'=p!kg,[iG-1+-ME˸|lҳ-PԟH٩u5>ىb,3/֐]_cS8Jڄ䏲w d999Ȇh\́́v sr sBƑ5WnsQll1ó P\W/ ̇0',Z p¯YBa4А mJdF?yLW3jCJpGh|;1Α]paBQQ AK-^讥TA`wX!ߦ[†s k2C[_JAv2~#Z{'%?>Jɮ8;%R+c5o9Ha z1v*L7Dwis/(~h LuXgG]2M1< c.TQRQR|z`AðC"cLqlU `i8`U|:^Z~<N?Ұӑe;7oVoÒ6aih|dpQa@@s|@R9׼lXE5wҎ&y&tjb>a6icLఫbBG@MXSHA<8a `e,]c8RP+J 䣤Ke_csa]P\W,vBu0LUjNϼ5|` \+ < b(_ 0<eðR~4cXu=g>FWzv4@ԞtE 8#n84O"GF$˶?7onQ&ulg ?¼cF~5tǰs!fAGIN?poG[),1v帷(?{oQz߻tB6d I:$((GDE(( #qeH0"$f'! !tr}ުuo{ϩ孪szV:A 06v>GGk Y?X*oR\@0?4wOLX9$@"ȅE8yi@"4x1lead1n|K6 exC9m) e *!kІ]̈́QJi"3ܔ'Jo 竤9]0_-̋r\7ɭ;;NkpL Pq#٢DXD "B&H#an g4~. B~!/~)zZ.M\v{3cTqcՠɐza11LCՋ~miYVЉ[ռ'?^% C'A`k?lD#<8vW^)^-321\9G4U"tka=$?k*i+ڿ*̱G|J<%@"ra$7E60x͝wqWW0cNIzi 10z䏝~I1Dl0&"\GK YDZ_-1G Yϣ?>Y\'O=}h.3Dl\e- QYda Zev1PN$!JԚG&Dk@G}5ث0ldq)Ϗ0O?6Uҏˣ2nxY_{ NI|[>@"\E3E&(#8T2<fJ,A\mǰ 4I"-<7q-b _G#–IWQ>E@, ˄ASЫ%b#B\giAUUP^rP/~D~GC|cٺ]_eJRƲ+.8Oi^WIi=>^ǿ:*K[,:݂GDX4o.0]|LP1Z8}B2Jj|6^-},]fQX z8]a4|jbIok5ɪ9 ގ%6o`aЉ0\;QD XoD uح)CBqYhϰ04Kk [$[kdB! WIe8 śʲ.u_RL1A{-V=<(7(:&8%)]!6fØqnooU"O@uC,"ƹzqs;`xgqa?z yx7']S HQ>!'?ώS??w G7c"$}@ Jy@"0xaXo0p=F%[/h\ YOeyS>6:b QS/o~. GfU@$pOz90qUxQ3jNÿmaR~lP)K v#G(jxXPQE#+R w)q%CY?^%} ǿPHo/xBfr**>=+SaN]U\i7}g!NƿQ6@Oq' UҧŦ|4]%]wS!+/d~47zZOh3ͬ^lB*/(qQQm񟩱B.~ 7dE }S1Bӫf뎎?t|tt<&@"ra$ ~[nVW=PcKCF& /0Ɨ}b> v5Cζw[VtE!p$G-QYL.pӿ~嫤]~:2c˄_y^%-gYE[[>{1*rh˒䖿+O:~vE:Dv~32~ y<#>_%MH'11//JC0ۤ19Ty"\A(2R?X2q*ED=f#-[sN=ۜ Gu / [^HNJòC9d9|Îj+'ܨGV񋻬;'?87w W$@ȅ4R^b"6J/,6SX2Ĕ.XkY#\m4,?g z0r =Wn%7 ߺ]kҾ韭\I]}mK=JڻzRV}ۣ<&Vm].Q7yTkea*$?9SurײYthA}cwpCf}JkW oO8-h%axN9N*=:zsӡ*P;<FS~q}YQܪ'?[U%@D<;^GN_Ы=Ug avtR|ԓxSgSܸ~FMz~^ _|#nߛ-lzD H70'.H1l K;|.zrO:Տ'uj6O|: aD ~Xq^8v=dlƊ"t'vQxU~?vG>0l `p(v=0ӥɿWItȰ`$CH@\?vx$KTUe\FWaGSxǍ0@o U.׫+?nTu>]L]lh_ˑI.Pٚz=~*Uk0K> ;y0:x.nú`ws?dJt@ua3qQ#B?V@v/O} c@aXz82% rZ˅ f?;OEНUQyHDpZ)1HFv g/1e& Ǵc8Gӹ6|TP2f+R!X8[vLp,2aH%D 0Bg<{n'6)-|4 o :>3 D=8c/b^ljx(S^Ɓ3Dt[1T#7ya?f=kxLKB Oyu@"xۋ106M;#錅ǺFY'KX%fJuY.Iꫣ°cTj4fc~ii8 S ~# Wl ཀྵmzD: /XdWyə('0"leu.fŠ1G[^Iî|Yl`)W#7ǎ79_%= *iu2NggyaLt?`c !C͇ tE x9U?ʿeuƿYO NIÛs0͝.H^ ýhD e^W#/ma}bqƗl;bfK \(#ƑNy0B,K^ʥZZd\d?Bߦ15@+_*i@J|ApPZ3xyz Xru 𥗢=FFqp'^eʎ5$<8$#u\5FuƉ'W}Yh?{m(I]ra^g°z.r4_‡pƤq^s 5٢,SR`sv\Nr.^G hm` KD 0܋fʋLQF:E)͓am)MlYfθT!3p#7bh_q;a#\Fcbm\F33)ڲLɝ@ @61Xq#[n66.\<ˢ+X'”Q'wLp"5Ǚp(X:qLayFgoUҸy<&=AJaֽ~Xv0xK Jgow175Pxǿ3^Ŏ#)a\ot3~tOf=[U(~!p1lCۍt}X, E{mQd#(G 7J!/2gWV?@/~ώaMErq΅a7(b@IDATpD 0܋fʋLQF>5`"mg^,-c|)Spc1"b\? VGȹL&dj;I-:,Yj4o j?&PaJvW>Em3Y:a;H3*9m5y{V"ܼ:7\oxŽC/yHD X"nD X|1lNF'l~F3FθDFfe1'YMu!ߣO ,8^,TΘ&G۴cd"oɅas͏Z4}KyrJr:F|MW>V/Ma {-6c2fRZ nA}Q uh_w_=4|\<U,9yM?b!)~3*ǬJƟ IdMu6:EZ.#Ƽĸ D_ Y{iFvV}km67a:C!p>"Cņpk+Xq*(r- O-bi]  >Tϋ9%zd̵bf3'o\ )s=fZ]LP1ސD Hz@. "D`~(=[g4ƒh_ \s2 g㍅bf͘bd㲪GHa@0 1⛸DRS\G- GZ? ˭o:W5 k0 b믉vnM<)z8S/; C1F_'C"0wjσ, T?jKz} 7a4DlXumf`̸Mge-i8t*:l&Po0d֬XWAG_eK{4>㩂h<&=BX p~+BA 6Jw $` iV2~EPK.%~_cd3Ut çMa<$@"raט$# zBw6q^#xDw螛V%g\4&KΆ:Zw,y귂56q}/C%eEc/R^c"4/#3<`[l YXPE]]5a\|0cTѲ-Y>.HDp)/1HFG&ef] 6ָT.Yq~W~aG0 "z3%*ۖ!"!J]g[(^\V\ ~\?R-;U;? huV<$}27z.XeqpNDUJhmhk6?2$O-ߐ\ߨZG黵e+͆Y 2ږ)ajpuBZ34V_]p``Sx|3s3t)_?:Ct@Vn*oU<%xI)ӻ6x NwX1BqBPUU I(.EދJO:ckv.bDY`U1<6L>%X|Me~nY,bFsLiaX[َ?n2Ɯ`߮@YV+X^V>w6%u+:mKyY?;RK\Ʒl./lD GνZyG2QKX&Ig v% qsl/qS^:DmL.vhL널Gr}'ӿMkWyND X_~_f^^"$+ʃ`[FvW[4F0z'nKA_L-hmj[EڨF eHTuc0فZ^ E=dql_s];0}@H>s^K=>2w+u:K[jLJNQlfJڻ٪p=]J3]%w얣\\|`F4Đ<겘Y?dpunX7vU R3&D<,5EBB|s.ݎ1,ɧ>X.9t~m{(-nDO`provE! Gٻ>J7}Fz _|vJW8@QWqw^ ă'I)I:_񃲨?Hz zj):Hqxֿ?43W ia޴At@"$}@ Jy@"0ܻ~%M .QLk}'S+G&z`ahѱZ(J敎Q9)ORWUï6Y?xGf[ک4GWK=ܾ{^DZ<$|Tn6aMWOpv"p^? G]VA_"usF-(p)3 ^?ɏc/ݴ|D7~{UIEvhi݁`DOyR_nG"Ɵ+HozJ\,( q^xd[zt~ iaoNI?l|V'@%rv>;e4qRf}˪ee-j"A"QRf)sc9n 7{h?WW\?:֎ϲ0\u 4Pk]uMx,@"$\^mW$#k{}c]Dʼ6fd\vjEaUǘc^ uD-1`"lʓeHd:qH"KZ /mx"C~S/>Us,n2]d%*H'XK+cx|JOx1}}a!b:Pΰk!IKݫܿjf,/x`Gg;sZ5ÝO XpqYsջ.{_}എgRys.'5kzIO[Ly\oZ?"gI92wt~PSҿRֽ]nQWO> œZ[֭:S`]Nc]'| |~*q*[y _q./?4S>}}@.=oCyϏ<5~D H90(//HFxeOI[s!g&0l\i )x`M~Kc\dYloYh݇ص~;VH~W7#D`q"pחG>=Wů'd8lF- /A9X1^ӾzpTՊP]J~)[:cg=lY9`9FO Yt~B1ӆbExtcG1!6j&ĈVc.1/;({Pm{R7]xuyͳ~ I,z2ƴ`0/>CqmC,2vLjCD/†/)q.BMC] R?\]5fBCfYc?4ӿ3_PV] yNzwrO=>ƘrFV}xMN5`eJ_gpWeYy^ .;Ջ~miYu2GwTJOjrĂ[9#Fcň2;(7fi?^=۪2)G>tmǯXK :Ɗ, hcW']Eg}6SP=}^xG|? eh_XY-9~+O=B?}yߦ+.$PKܶzDyY|vS&a)' /1Qo+"ߠҐ5*"bZ^BྲL4DƗ\\3ϥ%@"\A#%&h#pǎ;k}m'W3/VD H@. :D`/}X5UFrL^!e񖦳m-:dyLLԴ  3uq6]>q̯W)`J$X>A|8;S+کmNhU95ԳMyy_iyLzCח,K U!*#*zLծavp:D'lABbsqb?'JaN)/ +x#jU:l~?spPCmߪtzM<'B^; + -7e%S9é8Y8vz#;ĤklR?3A}C8e<=/ Y/;w4~cߚڲT<%C7=P,pxFX9gʲuv ëRs\G()Jx#Hy+rEʠJeaɬ?HnN̠cA/<ۙĦKD  0ܓLF`]/L+^k88?.C[\&kأu_J;XdE8TqBO9HLȑbD; u!/~gf];?秾Uzp{/}OYcoXWbgN2v8nicXȴ Ɣ ?A#Řnl, FZDH&WWi; db_ZZh+럣 O/< x~ 83n*ȫML~t~q1nqB1ѲEJp8Vg~SY=xs՘4t԰nv֛6ڵyLz>}9oêRq9[OLLj|1N?I]&cjS9iy ꡧvjN&@"`f[\-;[fgզ0m^t Er }ה9-@"$@ Ny@"wWӘ;q(._[xސ$5Xf$﶐F]KL|g)'z)#Qyk eK[5B㎧_s3˛ !Dg ef_Z߃Px;,5š5&B`L/62q>dz8j1W״)9y:^KE^?EhJX0ߘ #{f!ڐƧyfUzSUVm{ .-{2 ?5y,!yc֕ s !1JNסXAzJl8ǩ\E.;<\/T欿X2g5ź!2mkYj)/?[7a@Xj2ʓ Aa ~t R$s*QGH$dzPt>_ϋ-{ڜDצӿox}URt@"$}B Zy@"077|ͺG&²әЮ=*Wz ֵWf#]~v^FƙK`SN {MQvQB2Ñ^0"Zf|Y_}Nhc=O~yo)k$}B`v M Ff I%ybT\59O[,18VVgq:?ZWC*Uy6hEP2 *g eVڟhco,r2mY ]A|+=S>=^)M(|\ǟ-< ) ʓ NJ L@eǩx,fw,sj5^m_5uD¿o+SW^^o.O@,?ZJkH_6-yUٺ~z1܄UN4e#%a%wdRCAQYXo{<`۹*[P߯k9t@"$B {\y@"0?#=Ȭk+ 1"=`'+7vse^m[Ӱd5 l:Ì "k OY2JDP6W1;wPVֹyլE)vso~ۻj\>"PZO zUWsEDd蛜Z EhW*ԨעjB(SG}׺KpqL^Vq?{pLܖjӠo|e HKHlp>_FU18$O{NߴJzdxp&y͐|9TE;R/Cd.&H)9\Ĭq?#eC;b&D{M{n[AН<&=Fޝxv8ҷpM=e <Otw-8z[CX7E.Jy5!xbzOordS\- ߻#+|')5NEm%@"3rag $'dy'FT#kpm,X([לQNa?H[@V u"07"WX_6Pq~UZCU!@heN?+lAAz ^N-'Sx_)L{"D:m.Sg\Mt@8?/vi|Y\[S7x3E;&:LsбaXrT#gYzMp;5Vs\YLd࿰sgvuQouֿ5o|]Yg<'G[,{Mwg?@go^]X¶za_H~?-Wt%QɓGvPD /`YMk$@"#raG$K;F%l4/b\ N>geb|ycDRA֘e}P`)TjaU0"G^||Kc?0W~>ю*Oe/_+\Km#)s{>ۨz3sBn|DYnedD .w©\,'Hy#G$v+.)1֌ֈ_ʴ)p~? 6:Azf0 2_E*]"02}O% Ï{ ^C[[&9I=c4#ew< tD ;6َU'뇱C7-70YBQ0|ıO{JYDlD`xůeKSf;nX5U۲LM2 H!Ћ"+׽H¯_39UZ{pk".?3jKv>0]0jIvކ_Yc"$@ȅ5Y^p":7'{]e«l70~lI}gqoBO/WnӽW:w%ۙo ps 2\FwXlTߋZ쨬 9-ҫ:pzNc 8kfXo/OU$Kzoxי$B."=pzw'{xj"ܗE"+Qn2^ # :u7Ex\ʠhVvMv87@Η3j%Z#Ok]h1V\ebӜD`Tsed,ꦂέqLc7y,@ Eoq>.j `z_^ʸB8o=.;JhGt:6Qz]Hc"0:v_ ބCyHgSO;91o(Ĺ'zˣ*M2<\E 9X/5 Auf`?>wY"4/]Ƞ9o+{N6qev1ҌCO4~R?VL$@"Sra $;_'?UjJזbaPߎq%̬US+ˊe25>%cpRkZky 6$O}(8*)H7:V1&ʺrjP\2wc0Zj%T?mu6 EeԱ;+="ˡ#!Xo`N|r5tzD+>_+^=]"0̫ī`@s Jw;KtڋH.İSTѫLt.'W'ԣ8]=Ufw2Y鑑J(C1T<_0EGbǟ_j9-P,̈W| mxr6ґ_Aܒae_0H"stW?Y=LKʯƲxѯ1;YPEcWz0g0wŹ.|%ClF<:₨2LG'GhkYbURW]V]rpjG~G?`Tfg˘Ʊ zMuaz,:C pYtY9(/U8W uNJrlQDO{T=ߨ;PQ$'?G6e岉|j\eR|:8V'.:]jWIZّUǁ02KH$JS!&ׄRh3h@V 6+gw8tڈ|Q8p*pwWɑHD H"qkKD XtHw?[/K 2fl agh1jN1YlL?u;HW₞T5c?YkyHFݷ7A_НÙ-vWhW~M6U>lz-(>W ,{䚲jϕ ,fl7y-u]b*{S>CUMU̼.0[l8"kז5o{S"BD`i!p˽}gCzM{uxgD)EQivgݪ\vƦeyND 90O/o؛#y%f o\>خͭLL?=+CE %8b˩lbThQ!ڬE7sp(y sז#Os26=^g^Ǥ:߳ǝUc/ :Rt'J!/΃xҕ[Q&g7E事'2i$Cr~S vACCBJcсƬʳ~&"r@]Z/g;«~IN$G6~Ì#t2J_ql:jRNpv ^T.9w5@"$@. f]%A/o{V:Y6ؘ@ 1c"vO +x)I9#a^*[|Bdd_ֿx?g}wyy_6C"ח{S(mʏ.*#4o+!QCA^t:,e[D 8A2w%7]|^y\c,K!S 8lf.{˲>-I$u012ƟbAY):a?4G[H":kQ 9"hP<2ueʲ(ckcyNo{ho-{-<XcOX?(!1ŜajAG8#J3}iʕl.ϼpKy֓uyHD XZjD Xb>P}oy`Wʃ]-)+góefN3:|BzXai cgHcM$Dv,v8]~5Cᨤ!_(6k"RÔvLLjDY6LSe䊲br|ה+֕Vo)\YwN9o9eHC[%_,-sTW?\ozwYٯ]o*å_lܜ.iteJmd%9_r,&kIL)3&gۄqqU \/QS1֚dDJZ&Ɩelj6)Qg226퓇D E`aҽe^{HcgYس- .eH)3Έwʘvo4bDZ S $ DTD3TJidžxdM.WV33 yYG&ĮbH 6bˇ8ayy C778bSCŹёj}F(1\!TQ'A=w@欑 L)**OsYjBgM0!b*P  fU$dGHqm f aA*~,-SJ"NWU nY<ٸȁ\UX@/)Sƪq 7LDV. RŏGJ bTq1xB 0 R., .jd>A" R @!Ԫ. S9Z@"@.-WzKFw56؏:D5^%1L 'q#367{D՞NxHF ܚ$*~K3x!3n|geV7yfMvW JB 8|?SIcEQo룊5c3[b iv;5vk.`xp =Voqxr \OE%e]c@0Uq>vdT%,`/`pļnn(#c~-`_uQ{طn_uqp 3xriJ+xhe ́5pO Ab@Hap=K0,+lN48΃KO'xz[Ї  !t@lg a"H!)H:92#d#R@!gvB^#Q DQ32Q&,t2Z*݁65}b 1Kcbl,K21)6 +*Zk>D3pDOg56?_=`Jp&8q,B)pN["hH'zݘB&N'."%"%{I$1əG!qIRjeR'=YlAv#Sbr1||GѡR|(1>ee e3rIR~j6u.@=IK[CCJ[cHcFn34>hi:i54嚋5jռ7FRiŴ:q}{-p-_kVVem[mD"Ju(:v:l,j:7tzu#ucttn=Lg+ۤw\[t}}3$So/ߩߦcg0 `A!CΐckpuÏC̆,0wFCFeF}4f/3n2g85bIPCyCˆz5u23niYlqnsC@lͻ,"G,3 ,F.qcijn)hfgeohUl5՚iiºպ&fMm[-Vh;;{dvMv9Ewhj:9k/9NNBjΨys00aanh\ ]] 79xx#lFX6/]9fdȖݜxnnWiݛ_r%nMG|VϞ^R./tL}f,s7;{A>>>{|ulhͣYq6u37wXpjZ>e9Y;X/\Aޱ}3GĐ5!CBBC{<¦ 'G/ 18u1^cf9&aS4% cO8yTY;s{oqaolku/\>v%ʩE_kx捴77ʽv;sӹWy~8 <=zXSgړʧO랹=;u/$/K}ug\O+׋6{QoZ{c{{mNLo'ҧώ[D|۟/JO 643[@ {RTªR<hs}ݰBn>!M-Lw7V=$P`{TK`] ;eXIfMM*>F(iNxؠrASCIIScreenshotpu1 pHYs%%IR$iTXtXML:com.adobe.xmp 2008 Screenshot 1138 ]LiDOT9(99&9.@IDATxU;$I&@%'EA"V5F@] ,V5VEDHPQ0"w﫮qW/=[|       y `Ӈ       8|@@@@@@@@{HdA@@@@@@@;@@@@@@@2 Y@@@@@@@ w@@@@@@@ gD@@@@@@@@@@@@@@@  @@@@@@@|@@@@@@@@{HdA@@@@@@@;@@@@@@@2 Y@@@@@@@ w@@@@@@@ gD@@@@@@@@@@@@@@@  @@@@@@@|@@@@@@@@{HdA@Ə/[l`s9RZHW_}%<)#9իK~WI7     @) ^(Aԩ#ZcXh4mk<{lرc͚5 FҸ@@@@@@ `/O~#֭+k׮ڵ`;i=KeAN@@@@@(KӣS3gJ%'G#iZh!~a11B 3uh]g >@:t$H4m֔'     %]{Ib(0cҵK`MmѲ̛7.!73ؓ%4>K'1     PG(￯]#kٲFҸ@ ԭSW֭[Fsك= F"     3J@xx] ^2@@@@@@]7#ݺj\ 7ߺu,[L+믥aÆҵ!#oذAV^-k׮5kָժUSzuiڴTR% ~/e~=jHmf͚+UiUX>{|WXٞooϡX+WtVYV-׾}VX-t}۴>_}GN{/.]3~tAR|fwh @@@@@$@M3V'xB^7299C?|'![`}v.n,^䵋#Fȴi$GxI g@qdĉ1}}䨣UL̙adv  ,x@lfKglժ 0@;#:Jʕ+ȖE e@.۵䘯'ߘ_xA>??u=@9cd}M7T s9ޗ?=9. Jm߾]9y_;v]7}eoY4i@@@@@@ ,$ X8*GLt{y,nn;Wm &ӼV^ j`+vWʖ-} hys/1c4j#ڿxDZ;~UիW-_.YcîV!E t6o6裏b֟H{vif͚5jrʃ<6mwqw_B׀elѢEAvb߇QFvکsA٘+:uD9w_ҕ0aBn7q<_JYgӗWU2}۶m/<0DAn篳c#FHYwD^uj;睪L4]7oHG_ 80f߭lyEMU )֭[Gj?<~w@@@@@ 0]K8\f2ī@Mab۩?{Kr,͛7łOIݺue.n?l)ϿL9bMr׸{0+4w||AMֱ+Ltȷ+7pCٳgKN+7A|N}Y9묳߅]N[v%Uc=jkoI1L!ߪe8ת1vXy)rI)O3W-O>cb[p     l%{t[oU~x%ojl<–^n O]> 3c`E2me[n>w"n}Bn9y //s68ް΄Pz᮹sVE]6e]> ^~PӖ%{xٷo}-_|E{ϙ3G_qpt3ggJc=ܲ~-oݞ~z'xoK.[o`u"B}YƔ9r\uU'^&xRK([lЕ-enRmBi~u]3s\{Nڄ~_1Ypa$_ nS -m/7U5>LlFlK.Dڶmy(d츱t@@@@@J-N t۾v{.w2{,ya(TgY.ݮT،>Hּ+W][N>  ZP횫kM3;lصZ6F~C=j-X[63~]f͔~N]6CC=T:v(mt-ZHÆ eE~9otиqcϷIwһwo^u?b{9Lyuנzݦ:s{&˗/}7ޑ# uj yy晢ŻxaAY z>]{AX>W_Po„ϒ{fe9ݴiS|l3ez7jh⋭`_3B5vR}IxtU:ƿ `0qD7~W`+uՈOw\ߺV\osAc]_*K"${_n=Z+ɑ2~lt`졖Ԃ >3RW0ܹԮ; _Vd?/n__~E7ב`ɧ߿ݫUc~lJ 򶒁^ؤї"{dɒ<+y{     Dr@ h0_>\gfM kYաA'|ƽxݶEkc mٲ%e;K. ٨qؗ_~LD۫{]v׵bŊ#׶繟Ԡtf{5k`3R&ſD#V'TE\ѣϏٞ˱z/B[n 6um߯O1 JU/W/k'򅖉~ {mƯ"tYYS^?1]^5'n~eX*#Ȟ/,N4o3ޮ߾}:XJ^E=~wo a{ q:m/cVn?cWγ/֎.͟臍)ޗ;ϲD@@@@(2 P7wKqVzAP2A:8fqF^}AY> Y`/ckiWϞks@lͳ|mݦD~?ypyCMj_gGw {} &uXPz}MΊ^y~[֙ANtWW<3+י)}7w8<믿>et:k/0)wWm<~A;#2]ɉ]tEi-&s}^?-ȟ ٶG~@@@@@@5(2 \.e2oHZ^~,96m=^N4\銥M2icVYG2p:I޽䵩sDR%KΊgv:j(4hP$^(:;_ h7^Zd?HtDrg "96mL#=CtVqV>}gw3RJUqK_wܑ_*V_+G>hxIyuڵkCeD4.6NJ+QFspRz^ 7o}@9ciMWH*H~ȑGWEXիW5ki>@:tN.~$ͿY{ IgKˌ38|j[tK- "vyg٤m?AtiժU<9} F3N|_٭O["g     Y{q~: *0C],1*k-[g2{AI!..AJZ΂+5xjSmp1&{^^ BVgϞ],h\J os]и 妛FȮX}G~Vo1BE ]vRU`g ClI`娣9[rQ/'tRw~Μ9Ҷmۤ O>eV~WƯ]#zȌ     P|gAO(56K.2oHZ^z<5@,WH^*ݛ? `ʔ\;.0`@ڶ{i6 sr):>AI7,~|߾'ԳgO:ujR^K6m?GܶLrr޹ʩ*YEy ezHvn^zf3͢&M%Kr|٠N:nH}/]엲suĉ^x{ʕC1{ʙ)+ 6{/oӺ UR6o%?sV_KZ$%\rIv'|"mڴ 9I k':Uʁ     P2F(D|7nKȑZz*:x˖-~ӭ/̓bo-'Ovscrx1./ruɰa 47]vXb.,t7yWRvG^F 9#CqR[Fw`ߨˌ'n,]^]Y&Do-ŋXb3NڲnW2閈|Wn)[6GoG4ۿ#݋)t=j쑸]3[裏KI@vΝ]{s g.~aohėþsy tGVxGl./?x[jժI3IرJE}o@@@@@d `/ύ^#P=us #m-ux VgzK'ugM\r3/|-mU -?66~81w^;9ӂ%ZmSO=5ȓI8k駟.{Ob5ا75t펝;a=snm?lȲp{~ζ*ɽU`ˏ_i%>`O}_jP8ae{s?4FGyg}ow.C?/23z-޺uk9CY.ݺE*VQ`Ьi%[tđ㖌<9V|* ۶&񪮄fo5N_(a/0۷U&^PQ!    ?J`=CG+ ͝.cvLz!zւ.[L~yG/T¼~re?%9v<ݻw<'\M=\v:}Z~9g5);֩+'֗_~L?λtR) v]"~.: 7%#~۷]}ǎ~~_FÁmt/ [ <^ׯ_ WTۯ A&m3yt{za^USN{9k}WXes_l9]E9#R|8rt KZ=q?C9}7~I [6h(˗/OʛiD|}[^@@@@@(Ksk? -ڲ.?w^/?NtK7矃ؙEg攑ku3Yn1({~Ǐ渠k.[Ͳ5jAt5w?5<^b:`wG"ك=~Aj}zќ2X"^go(^[8aӭV^niOyA_ .^Xƌ#L͛7oNT/>BlGxxyn//E-o/:Qvmꫯ7BmO>3$UQ:#3=,9     PgF(0몁 "=v'~@bosjgӿuZκ/L o<65]FցvX%k n/*|ͮʬJl܇ R^?o_di`_v `od_د}Ι3GڶmI _XPyZ>qvt~^[#,\O>mo\? OnF?e_/C܇;v `? j#i«*߿aÆsיX">G~R{3ح-WN^={nk@@@@@"@<(@I%mfjh짟IZqJ,gے5jԐm۶k]~^Zyxy>ؿ /Ls`miQ$x6={E;=_;e:L]=퓻xM^e˖IF`{]Fi_d}eضï.%=/ZH6mmY믥SNbyoņmllV`Ȧa !۷x֦w?L^}ZRU.#șg[6~;4c ҥK-lݡl?gTG8$ЦM>?zW>KĻ^ ڷ lh[ 7H3ÁY]vw} M2իW'%=Z.:sOٰaC<t]֨}AWg۞aKOD|>*5c<^HdN>{7Gyݰ.`ewe?GP7o\gsrWˈ#EA :vo 3Jwt%?v|heʔ9s>8 ]<#{?v^|O|3É݃ZKWo5     %G{yV#Q@ hhR>l^cf?-f)>6%md}^ڵ˝/"uO>4)Xۀ^tv>d KG۶|@~rdӦM=9 `OdѽŸq3iޙ{8z` K4`U7n:D`'t<ēg?ꨣdd^ f_veA|j(_2D|BVvРA7% W^vCI[-~W0kipB?)fןr).=^;?ӓK֭]P_Ɩ}S`oݪǻ# ԗ+VʞQZNe欙j⥟.@@@@@J.YˁٳlKk?v^v8SsD|VuXf Fn˺.=-8}ƧOGO'8wߤb| 4P7-[*U[5,:k֬17k,e^?qsuW^Ӏ5ϭ[;DSgYy33;v S%e@@@@@d(R xϲeʦ jluN;%}e]csItRuaÆ% '+(ˉ&/}ѧO\=/8? ԩSc5WUڴin\gku%, `g}'Ԯ~?\r*1 }|饗#Fy]o!Crrʸ?]=iӒ[xI%lܴ1׿5.k̙)oCO7h})?ϥK.t+Z_vSO> 7t>o޼xDw֩}%&@@@@@Dw(Z^R}c*UT[ܖK,D$M5.:s6ȓ-K/yٽ ]tr9H͚5li[ܖ9OxۯI:ޣLuwK/@;>.}iCD\==Qʉ4nX8 9ӥaÆ~Ӗ _O??裢/Eɑ~kf{D`|/uuASB؞]@.ĭ8X~rcw9'~W_Ӧwy'.qoþG}KߟTc3ϔC} >l9w|ԨQjӀ{e}mۃݯ.;u)?KۮrW  6ou9ﹲ?m5n[]yTiղeީS'їiǦ:="!    %N{{dt!`/Bl FAV*7o's ?6iWEDƏ' 3WYo)ۿzZkɶ_}͹voZ`&K5袇v/>8 lywi)RdP{-$Ժ*U$kՒ=cQiuMCuM7$W]uUU=ؗ-[&5 ^XF`K3 I&dɒDVќ\7=%e:݃= EAf ] $cƌ $/ԬUS_L&?v#{j2Mm۶n۾ݻwٺ'zߟ} RbE&ﴱP{p/TS~=N߂`ۓ=]a/u믲d>KԼ_t{Y K/\TgE|4=ؗΚgk=E]{ƂdD@@@@LB@:ن^P 9`QVO8H}~G7-:}tlبa</=p@뮻B)Aڴ$tZt{ϴ3<r'kl:l^h[oM }z37F%e^`_zF9``Oc?^W:=^N-ZvʬO8Dy٧#?1D.ԝag^rԨQ0=ţr]mҗ#,DgyE2k]vba{ tj2nuՠAdIM\>II~7ݔF>3iժUJ]"^+ٲ:O]U1zU=dF@@@@(F9@?DSN(O 3y.$1];enxYLN {+9rdLߎK}%]u;vaha=i=ܬ;K`<>==أvUO^խ}?t㏤jc˧]^K/Tl-D|?v[o_%;t<kÖ_pA&#y~C=$Bѭ 8l{=z8+}-%0 ?~{A޹Sg݃}UAp@@@@(؋{ bA+WʪիdՊUR|9-hoo^lt裏4Kt"v-[6]bn/=^իݧ 3ϝy}۴i#իW/v/ZKZ)V_Y^ϺP$ܶm|M%+VuF }t2E%[{7oq/oӜOÆ ݞUTIQ$@@@@@N{YR       @) ^.CC@@@@@@(:EgIM       X{)~ @@@@@@@%5!      b24@@@@@@@ ^tԄ       P@@@@@@@N{YR       @) ^.CC@@@@@@(:EgIM       X{)~ @@@@@@@%5!      b24@@@@@@@ ^tԄ       P@@@)tU@IDAT@@@@N{YR       @) ^.CC@@@@@@(:EgIM       X{)~ @@@@@@@%5!      b24@@@@@@@ ^tԄ       P@@@@@@@N{YR       @) ^.CC@@@@@@(:EgIM       X{)~ @@@@@@@%5!      b24@@@@@@@ ^tԄ       P@,cKb99"~ f\uU[@@@@@?HK  $F4;|pk#i\      @̍R ;A.6qݛ.1nu2lذbW:     @I ^}F@ K9:| ]/C M$@@@@@V{bG@ \3%%KӇE@@@@@J4 n`u:%⓵HA@@@@@ {ٛQ@b)u.uױ{|Xt @@@@@D `/N# ,`T`<8A@@@@@ Hq@ \R-[&_|QԫWO֭>˗/_҆o7Yp[駟nR75k[GQdb_ʚ5kd5.իWf͚Iƍ Ռ`wK{3PF@@@@@ *@= P*VX!?kv,YD֬], 6/ޮ v_{U]7     d$@=#&2!%S`˖-2rHml ‚ mOLeʔ+'NU%vYf̜Ѽys?~$- ͽ|HzH8HZ?\.R2eJۚzUV#FE]\reqC˖-]ڄ 䢋/ʿC2i$g}"/ڵk's 'eq#gupeȊ      TD?#ğ1Խi~:;y|/#lj;rb\xqv ㏥m۶9RrEf7'j@{o2UWoOSt&}'*Uo0`{^.hڴo3}n{OD>۵o/s>Ы ]u      `̉\ @x娣. .Q~0 2IL~i"pOV`]vumG{]W83ݒ5      ȁ(/B[~)oƧ2یc9F89f͚nO>-7ԓO~v"PnΖN?Ͳ~q6k&6 qSJϞ=Is۳Ksnk/ֵ7͒qtywܺy0~>vĽgnȘ1cdРAk ϿmCVZt͚5h"ygGjo ^T~^V׊+"}iҤD?Rv"p     i Po.usiS-j__|vJ;O>D8?S6c9c] 8U_yYQ66EM25m`Zjիlٲ)^]vmtyW+YF GӧOr~-n{o޼EbAVc?.'t53i*_K[E˕w3{ۗI*'bׯ_ivWngMicsԝ:oVuïsA      `Ϙ @2dr-V\Y^z%7{:r#ͅ/bW wQn xt);N:#"i]\{n&.o=eQ%nA?yd7K?r#ŪUܞ ,oa/|)K{g3իWO{99蠃im>i2D9ӖoKF/ݧ-o9@@@@@@ oH  @ش[iԨa0 uJg0;l:믿yB+aiӦ+㳧5-I;p(E`"M"ӹniPqa~)6mR:~t^oeC}=r秬_">q31~ u8∿ʔ)S@bCf~~ 33''      `O @ Ç2k, [Zv-Ad#^ \>[KOoq^ tʟ]6[nOSe׭cҦM|"C9Bl6ApZ;N,x9y7Č?o6Bof`>^믗C[       ȁݧ<>wޒ>?s4k-nK:ڶm+qUW]%7tS$-ō7ޤx foӥ/첔EfϞ-;v YLy5~ʕ ҳ95oֵvd׎,ZH6mTUxL?@2koU,/@@@@@(BQ(_|y歸SEB INsqNe挙)뮻tK K`>#/N?wFQlYY/ ԪUO|1BjMGL{c^/M0pwPjvM6Egza8HuV>#D؃=?5#     ̭ȉ[[Vt"^rJiذڸL2u֔7JڵeYƹ;dgz={W_}5wGo@xw? / yqP:hy8`?>H7:ʬY_B29;w.{:'{7n,K.MS"lQw;E @@@@@ `/ @b pN?]]= qbK۳vy&g!7oufnWZ-uMYcɓ'Go9[nqp<8l3O9Y]wU~a^XB}-lA>$_0_ iuwϚW|0PƏ+n#<f9MQzcjeY">i"     (;uv[ݍ\Ο+X^4#9s.y94ލѾ}{,;S_^*UOo.w)JAn<2E(SS5e˖%e ߼keeV v߰akK>Sg?CA'֭:u^WZUgl6k /";vl+Bn֤`{_{-Zj)E#izO?Iʕ#0pww#G#3pKĻ^>dxۃN݃?lï.Ær      PX< P v*~?4k C?gɑoă\'s̑vڹTx f:l̙zzueOU믿Zjߦ 'L?~뿍#|3i `1VFDmڹ?KcxS@@@@@@h# gy6LׯEScvcmm!X߷|{i%zRZx ?lV… 7|Rk׮z}! Ru8*T {Zy駥Mh0_k3hPOv?]<ț6e˗My7Y">9      ^8?J#B`.>^dY܂ګNu]r4?@mf͚E򥺨Y_^og~)۷oH`%uι_#Ggk}Y3w.o/{ap      P4؋ƑZ@?U{ . ҇ٳ#i͋uI}]N}o˝L+WFf|;3jV>%39y>HnM.Hy1ݑ& `?5jK/"ippp`OeE      ^5 L`ႅҼEsW͉^5Oi޽嵩S5P:{wQS.ۮ˼k(=:ў_m@5=nܸpz^"59b[ ϝoH`dA2j(u>+ v_O@@@@@ /@Ԁ/z5ᄈ d[!^cӦMҷO/@n[zfTo9]܏_ȝn:ޫZʖ+/֭=#O.~Wn˴ש[W/^,+V̨Tl|tۏ^m>}t)ǀd[&^7'-\H]m&{ƍei35&%aÆkt@@@@@B{XdEg->`0ڱCG9kf=j(e-8nAp;lX=c֭RVmuՕU+Wu=7y'_~ˆ Y| <8Y׮]g9ҽ{R`q+f駟km;G ge\wpJ=z      |Ȁ >H: /^TfcwqD֭e޼y3f̐N%#7\wy2a k7}d5k;~saOW]u؞K6ݪ{/v-uZn_?KV/k?uuI&!J?J߾}eڴi<9erdyҢEH1`@݃}> `ot0{7j,K2؃oü߲EKEr"}@@@@@ %@b-p d=c^m|CfwΑqX?yHY0޳z򺛅nvɥg׍7 CsE\;(zw}^7ޡcH ^e˖ /@N%7     d$@=#&2!%Kك ѣGé~F(g >sO5{4j(H+I7r!PU5tP Rmݬ칟~noTѱe>#X       P؋֓@@@@@@@JR`       %Uu{=+0 \1`4b07Dܷq(AAT4$5j 1aaw^t̼uתo{=nA`r `\@ @ @ @Ӕiza9-@ @ @ @\8''A @ @ @4%}^XN  @ @ @&Im @ @ @ 0M `ӂ @ @ @ %}ryR @ @ @ LS8ا @ @ @ @`r `\@ @ @ @Ӕiza9-@ @ @ @\8''A @ @ @4%}^XN  @ @ @&Im @ @ @ 0M `ӂ @ @ @ %}ryR @ @ @ LS8ا @ @ @ @`r `\@ @ @ @Ӕiza9-@ @ @ @\8''A @ @ @4%}^XN  @ @ @&Im @ @ @ 0M `ӂ jfn6Kd7!@ @ @F@h`fzpw @ @ @M{G_&Bo7۽mf7'”2 @ @ }&$2E|p\յd @ @ @]I @`5@!  @ @ 1>&Ld D`ˌ8اҕX!@ @ @E{g]&hoW|}S @ @ @K ` iC5}o,UOc`/\B @ @ 0^8K j˼W8;q @ @ %c/ @%0.[@ @ @Kx:@`kh&!@ @ @(8;rp0 0/S×zy` @ @ @x `/1C@`G7כu8@@ @ @@ޱ 溇jŻ.G;SO+ @ @ @N{K@`h"^r(Ql!@ @ @`.2CT  vzs7ا!@ @ @I{g^ v{!>y}R @ @ pw#0^N/5k0E|! @ @ q>N`d 'P5/G[@ @ @Kx:@&zZZ__O8;q @ @ %c/ @%P`ooq @ @ @`|p!@` >;5k<$ @ @ @&}|H )Hz~ש2 @ @ @C` a@TOoF75DM @ @ t]u9Y@AvM2^>w @ @ '}R t2EOGVeOv8@ @ @"} ],FVwǺO/z4K#r@#1K|OlLp!@ @ @8;Jp 0ijz#¼>i @ @ upw%!L`if'{! @ @ @`gR/ 61E|Wl&mH @ @ LI8اe!@`[57sۦ5qoi @ @ l!(jQ(P @ @ @`Lp  @`*{:2c<t%9V@ @ @@gY׃ I 0``T@ @ @R8ػs3zM[/{#7  @ @ #? t^b 'P9Z~{i>s5;D8@@ @ @:  Lp9^`/$B @ @ 0^8K 7f~q{_> @ @ бpw @``oZJ9@ @ @@Cڧ/5w7J[@ @ @ 0.8Dž 0l>E\ p9F@ @ @@gޙׅ  0gOu` @ @ t=]/ 0p G{L_ @ @ @`p!@ {ͧoQ3E|! @ @ >^b 'Pɱ>|  @ @ @c `KÁAD 7[[nv-* @ @ @En@o{9f56,l!@ @ @ `6R!@` `wGu*>/( @ @ @8;Bp 0y굺;ӛirxM6{1y Q @ @ @]E{W]nN@wݽd=ż @ @ @` `q@FLwA2E|], @ @ 0`BC ݱ˹^(cH.@ @ @ } $D@T'P`o?v!@ @ @F@lu7QwS=v`+A @ @:ξ> L@8r+Xfg  @ @ @A;@ӎ@觅}t.B @ @ }8طψ 0l{S7Sl8\@ @ @:N L0oOf* @ @ t]w9a@ӟ@8uk>?g@ @ @Yp, @@LUo7 w0 @ @ @S)y8h@2E|}\MbG @ @ @['}lH )J"~>  @ @ @cD&@JF}*]I @ @ Ypwh @`{8}7'0U@ @ @.6 L^^1 …- @ @ @%}@OV1 {%/@ @ @X8;p` 0QM_^H @ @ @`p!@ Txm^ooFk? @ @ ".@A yN25|7  @ @ #? t< |zs_\ @ @ t,{i80@(9[o{Vr3EDR @ @ pwp!)%{ @ @ q"3 LOﯰa7y}*\A @ @ Йpwu @`p{7w+E!@ @ @]O{׋ L?#^S"l!@ @ @'Fv@|^yjrL_H @ @ @`p!@ kr/@ @ @X8;p` 0Q V{ !@ @ @Gx[^Yq#K"[@ @ @ m8ط͇T@77jx oO !C @ @: LzNz^o~ӿlL^C@ @ @@WU j`woz:a)col1o|w0,!@ @ @q8w!5@@(S~d]tLaÁ @ @ L!8اP!@`ljuwtrW/+J  @ @ -`  0 7ϣa@ @ @&@Q:@ݽMy{y7;qt @ @ &G@ <9\ "~@)@ @ @@ @#>i`  @ @ l3" L19; @ @ N!S@Fﯷ>>"쓆 @ @ @]G{]rN'vfvqOB @ @v;,Bn#Sķ{Y=3mf ;ΘksY l/zBXA`q)E9F=_iU\c66E~=î=Ke [c7Tlw)CJe_'HL*[JN##_2j<)W!5Pߧ)_[?p\HF VY['zطد k3ۃ3zf.ZߞVGj3Aa @Jj ~ٽ+l{j5׬z[o榍.1tq3Fv?zplN2#:*Ӿ]RJ& U/'ml*=t eV"%X#[jΏy@[`;r#~6Ý,*bpҿ}W8 M8@ƺmxR\sن[mx-m$u ɮs)#ՙxD95|C%!EvZlsًwbsAo}Y JMp6xRZz5nņoua? ZkLEIDLD LI):ד|iEbC1//Qeʟ-!ی%K##I, K !5VUZc.h6K U4"":4ăpĽUIdm,97wv\;|yv osO{m2'GN3We7~WrV7+V\^(po &N`P{6p/rWQ0b8%aXH /I6+CD*#=!E2Q_Njj/V׳^{#m ONJ`cٲev5_nCCeƌg>oH?w~/p5M}+_JS{,+n]eխ{W #3$Y%ZQcd(5DR|Az&CHoe=*)ɷHWgs;JH,S?}cNմq6`,OPY#{i꙾d&bR_ 4>ș2ȓ=^/0K͗:>$MQ;hhO\ $ܬw7G<+}6p7iӝ e[?9c:VlS9=5ʓo*!$$iM{l3<O#Ie pGJdMi!A(?dP,l(%Ca/v~$A?\==twR\h b F^ʅeXbON2`C\ޭŋmΜ9`?:7mdx3{ވN:$]@`[m2dݹ60)P4p,lҲeF87MwyvʟbO}}mMCkc_?keצB2B҅}^=j咧9xS=;`R]^v=c@nRet=g/peH9CL6Z8GBܮ"d~o57rsBz 7R}[,2/-Ox@ZnVHÿ[o:oo3 ,F#tʦo~ CEZ†iNvENe$[DHc'JLi)-!@. ~lsf?D$ ! uY/|n;ځh\pp *̚ӟmo5kT׾5;蠃^@> $?8l_-v7klqexݻA:[c9d3ڧ]n]/؊ +#[z @%G Pn!-RB׵Tnd˵MQO^dW#shq%RR!DI@yX!Y~"ל=[{OÏI@`ѥʰ^ MM]M7pڦ?gYƑRp@ΛnqXmvת&cGFl|jT͖QA '?6bx0RCA ]Yvړ=|1_{~In.C?\})t{\-8:wA@,8fy?2ű |aT(I5"ECZ<ƲS"sċb*6o`UKʖU?i+}Gis_j=聬 04[oK.)w^}/~c&Z{kg}v8;x@Gw}J->[ q#6Ɇg/FvfG äR^GnEU_#Ch4n M{l=񞠋բIy72EF%HGYRs>!ϳzoջ@`g{[#q8ܩAs6x˗lxF.21+ucp9Ka%Èna$&lԴR&? }滱pN_m8d} `&amK/9Ce1(N!۶?<9FŲb Sjn}BR?q_Oy6딓|I݊5&H{|3|du=gTciC38#d^~ ]}U=y1]}AN`[>xCF-o6Nc\G*)F-+kmi>L:\}ٚe79}+'ɱBqK-tWd.(-?ăbW+h)@<ȟKVa{jo{vys@`Ѓ^jӀhlXf| Ɇ0ƃGeI͛4@\jUIxH,GTmIfwȟ:M1޷gs.Yb @7hy}m3n--$b(#$n6i_Ɲ9MQ>?u#=V_LV/M/˿-ܲ ,SO==\ m2't}_n>MO.y7qt7Wn3?[WHLIVV!ZbiEɩx]ϓʤS5&{(r>%'/P9l-S~-?~mXPC?Z{R[SƤRL]WzD(\K(ק\k[gP]$Gͱ3{=ذN$JvR?V3 v"{~j!o7m0$|%N<)JHH$$2eTQsMα9GyLLl!L[\VH1nOvKX*i>V9c(KhͲٕ#D*:=~KS/>9 eJrҥWc}mƱPX XGM74jc=^Wi{キ_}߭Ѿa{nwqG=xp?mT_l7|sv'[V{ԣUn.{ok7 @!#"?1~n?=% i)'drNe<>%{cv?oGSh/]U}\}}%E04\=GR8i;‘ 0t`BH=J6HbG[L!)B`˥}:;.iLfD?+Ǒm3/x :BFRB5fHa,!q/G %Y`|``dJ3}m!$n!LCu D:Ai+# cȴvb?n$JhT(yU׏v!Y"[l!KbCymsN bzի+_ʈg>?^}zsαjԬGyyv)=v=wq_rD7#^]~k–/p{D<OL&I>zǫRdf+ڇ# oxQwYYݎukx_|.p䋤;Y U `_`!䫤 #d~+_2L>ϛ;7.=};?|). 2Wx`bVT5ퟺIq)^6M6;&="rϥ:h_?g&flQg䎥^!0vrj-#l"_`㒖$oYlUapX5R5v Ƅ}9<.Ұ ).Wڇ?_rךhm_X:VMo:Z[p,j_r~뭷OO~p-/Ї>4Mz9آ]C@fćy}g~~?ٱ#ڇ?'{w'?`{3ۼv~G:؇}릟dQ!SԯbRXc[dQ~̧IϩBu2 WZ*[׭(QAڛtїXM6Q]qI7"~qw}}mwCeFȮ(gJMH {CLƌU(^OIʣUi?!)@(TG<1o~Q1L=R.O{zv\Y9w\;lѢE>n N3.>|_?1׌mGUeaPTDlYmEY0uzxiʖ- 7#D{t)HB` ]w=;sDnM?e``>я>[|ۿ[g>csl]~׎("Nwn4=_}7%Dmm[5dx=J E;ڴipiѓٿc?"#qzQV`+αty謤2xR?Y+9d 4_IK-:9ʐx0X1/Q [{ӣqv{@iս+kJh~Gagݵz[2)Rud${&?6lh1\|/- =JOBG&wy;C`͖-[fg϶s=׮p3f7KO=T;C&\ saOnNc(~~Ce|ȚaHQQjeL۪+lj\&j*U*> ;x6MoO=iL~饗k_Z[jUԫٟ}K_?|z;i^xd~ñ/mҥUxN(V Lws[s[6IdddpcS>'d[+&oSi[BoœE'>loOB:sqvM ]* `V %/CUv:ŹlaK<u~my%!A5C#eZ}2 h_KOZV{OwZd" ʒ,jNFpkvƫNG%.m~hɜ~ rJhϢ2K9m&ʏ4ϟƺ[GQQK;g_ų@`4wx3Lwu ORN~֞MRT3U ?Ig=)#vf̧׼2u=h#p%|[fM;sL+x#ŦoC(eErBC|[.`_bWJ.r ij OQ&7E|JuS"6Rs:"&ڒc mK%PC`Bf G>Gu. VUIki{ #l \ix7f"Hz1M%#*Yk*ket G&yכo:3?I(6Cٯ#d2߬fѻYA`{4`}g^=>'x9ZupXdPH쏈T>Q *do*2@VER~ _SqшL>ޏ6s^bǒlذ!q.kjγ?[WG?Y}/.پd袋L߀g^Mv%W'a&l9g% O#ӓ!YDIonױwJ}K$[IhZEH{`̒T`?pJ %4L: 1'ҕu C4kߗuFS\cU7~ŤMIҾYZt#q/R9)o~*VP,D"3MKL-R.wZ5@vXΐ XӿKiQ׷_xwY߱L׌uзfr~9cys&{r޿=zۡf͚eGoͿE/o1{gq5}; w??s]'뿋kSݟ]I؍B:fIjLC+3 fԭz=nx>D_=hd7Ľ$:G[Nztɞ!DV:EXEq<*;*dKJ\'FM_4FC\$eiM#ISk߇YtvM7]3V&ޕOǧϏأ-Qێp/[s?ϰ{ E=>zƺITW5l7sg̱3ڜ6oJjMPk?)= ]EX2)obILF8Q:ONMl[7>rGsٞd\A}79k6O=?@,!ɐ*\Kn%je)e-K6[WZchݖEuK0Q\i9e>E* En A|wf3GT6SKj!*c/"⛈JQu)s8R{7mo!Z:ן%z,Vak׮~׼+)Owg?>ءj*Khy~kv]e=_[vG5oJme)bZglϛg6g9>:=ӕ TllDSSy,|ɓM1a_i|%J=)]ʟ=7ÿo7zXlF<~e^x%U'͛c >ugŲt99֟'۲e*xs 'Tq'r(o_9fٹ[9A$l;+lכa$H{k(ǟLKq͙gg왽6^fj%4k(Z]ƣH}ت)|N*Yu@QU0A- OoؼLm1 Cnt`NF$i>T7m^k/g[xw2oо7ڍ+nXF_SՁ,ҲEr$3۞s|J1&CQVL֪CtQ%t.H`Miu^үֹhߙK&pw߰ {m:[i_7$~͢ߨm\F2 /8CZb%Oeʢ3,t5떾) /ڃn?FzH&򕍋\`]gl#?Eϒ[ξK_poˁh5yʕ1Mꨉ)SU~1|={vƛ_ۢ4GO{ ^{R<ۢcC<.r(˚+&E+(g;\h=iׁnD>lȜV\hU#[#/Uv&%ztI/JāҾY`tߑŚìU6`1]I/_{ztG؂I7u.&7_mVQ]SUdǏ?蠃n_=n"za#vx??ܶ2~ %WdUd hۦ<(( QIl3lo6zz1RTRū"=+$lX;IGh葴/xt 3 Cb}Z?Wl`R?ы_b)nw>o_k LX,uXs\xT$/EEbZKXj))6\b oAF=&})MUuh_!ߺ\i:+R9x\֑Fڇ o`xЖ_nnZy1Fg?t:wt~9]=|GV(Z2KZPIbVVL'%Y J{T|Ǜ>af$zSYUZTڨdx|ҧ+}$]=ERjjג҉ȒJb̆7cXuXʉ.6g.9fM;c0VQᎍ;=5_ol-_ܮ-hYoU@lŶ/xL!+cr!7,9_V1!Aբ:{ZXמcm\׷%WH+[˛ԴiEޭɈR'E\NCv;[j>|ָw>U^wQߔ)/"PرY/8)iu])4sΝT.jժr!v'Ƿ5U#G`k|'wƟz^!pKOJzf~ }z񯌩ahHvCjJ(bTOh^+Mk_x/iI8m^]vd*u=teגtuڨ2ȞAvٮ1("rq)A5-'*r7ls=r~A(N}';܅[:RNb=U$T QGrwg)$ {t&LG_r2gZ6i+; LKf鐓nWՠԣެ f7߿IR/uI^<69^U j@h­}_7%F)-))נ͜3=Oyw A-_K~Ox>Uꩩ(Eǜo=8VMγ}vw!!b{gvQG٢E⛣#2 65e#ru_w}Moizl7ښW..*@M/uZ-%RZhlSV\z8j]fGVSQ|Y 0W$X;%YJmک.2_ :GǙ{?m)Sɺg_ewj9/{_@THKڴT|rIiI+y]˨TGJ3i͞d71H8#FLd"ZEޔQyKKKRpCcjWG>:B~y?΁%7f؆S>^ȼDJ}$hzd{G_-픺!,O~ڵr~>ھ/[n;[nQP7-?v5Ϩ^r'WCM Y>鮖áZXdxN)JۧOd*/vdK6$l2Glhg4'_ҁ㈂鰫:Xh]+6Ú7ݏtue"7_wo[x?Ǭv9GkS=9ω錖N%00԰sdn2%bB(9HTbIƟ?5''{EOy)B5z乴DoS)msYlzi*qx%eKte>e]7G/<i7?? w[_k(+ A E\ #8b4z EEVx%t-v(G0V?t ]Ծ7m/)OSNV[a-[L%2-zFe SՃZԉ;R`/z o~V+!@8%M%%K=>M76$cm^VeEVl%n-9"Xa.ݖ^oȮҟL9R~TOzѾSdJTӈu&|5]XCA;9G:ɾ^ulu)/_nG[, '`\pI | 7I9Mw9$f}ᓟ @+fO b'2hCeO 2ʣ**5FQݲY|WAZ(e5P }V~ ۢ r:P(.bMQZn"E')^RںZ):D@IDAT{7kܞzp~OK2X 좓'@`7G/nΣ -4l'[CvdxX\/S.ˋSeJ\ٞߓ램48Ӵ>iN92ti+wjum!ѪҿD7N.{өyt6EWWmB_L- _K>VD-rk\o+^5 }W7tS_~e k1V>p -+l)-|2[_+O"gȯ4[]MSJ1Mˉ^"66פ|ikM/pa{ٴ. '{kC=J;w2+Ds_k-¿ZE@?q{^&ϟox3(ooMtO5$BŽ_Ra9U$"GQ "B;ȧw,e CDWEk*Jqk|jw+36[O]r[UlO8Vo[4F:C=u}!yWE5o]>}a7.kST\?{.Jev)[zL@*t5ƧxW.׾/~|"G_i9K4"JPtߨ|:ڧ$]](w^O2 ubE(eWG<%c#IYj%5om7}g4e> }J9]բZS*12?2xW9eKiKR@RӚ[l54(,:XrlzZ[?hb?ޖN'P~p%qM^~䀀勬PeIͥ8~6zlBM bQ2 1.re&꒡YHKMV #zK۔Φ_r\lbǣuz}zq!nq C?bPw߲Kj{wߚyҔ.w2!M(3y;psR_B8?I)E9Ni/yMiGU% h)U|}T Uh4ml߉,e~c:k@W_h(} W_e~ Z*= $=Y'c#Ǘo>m*";=:a$#?y#WWyݹx(v>?OKE'+'u=9z<+b%\i@Eo%/_Uk/{M0 J@@^j_}z# d$!ӓY(4"R|Y)k?j==a <2\ 6BCds#qݫ:ʡh<7[QҾ@?v :Oѕ#Icc >q#S!|߰g=Y[ԾdmxH#b<:]7S0$=DƘ63zv}Xnua+j%_[Y:^(U_5Tlgt|Lh_\)zk U68^:MOůy=ʾ[]`g߻iʯ zXn_#,}TZ9KkxUzP6iY1%T\zHn҇mF>ە'R6:ڇDezaMi_K~7ßd?4/KeK%Zz}lՐ lY6xwݖ`+I+_~,cv+f3쵞=I'E&cf'[j$zTAI<)q8?ގUsĦ3 laH/ɛv5{+.OG<3y晦Ǘ/_>⼞';N{c&K.'< vmrV; 2ug\TtY 2Ҏ WKIG^z+c4^g[[Uq%zUչΙGH2eN@ XPL*RТR+jCEq" Z"BA$f}kssZ|Z묽RyL6dg?cnLY۸#OFO8׽~}~tlƶFaSiA-nH7yc{w? /kLX/5Wb2Uu @K-Aq)q0Ίuh$ -r)pls I7wa8f'y1?{ Nø-ӈu-6Y t>5hZ%!<)sxmFbigсfjFGc DYֶ4`Vbr =XMTha!ŋF ۟p7)&رj LxUL"C @JfAi^2^["#Л9:-W&ѓ:dj==nkVtv<1iHR,! &-ݪ~&1U:Zߣ E< 01C^R|vaϿ?omsӬW~418#m/| iԩFSCN8!=c5ݹ~ .> \{[Ra(OَWi"ujd+24ƫ}u`̖|Mԃ09%&q./}>ceMhԓ?Su'Ih#ƹ\no@` h-AWk1,0x%7g7lEl`r#ÏpMsS hK̰tB=>H?eaLRa߳D:EBH"c2ӄ:כ{vSZohhYm'9Nq4n |]{~'9CAV*]HRq=q{-UqLl[PyI~~]vvȉx1N'  VۓIߓȲ-ϟs@`X>U,LT ~_x{~s}n a[ *j(Ri۩ 7YH,8b[N .sP䂸÷NJ&]4e)0C1J4 %~49(,^ϸH0QqYj%2:*wb\`KӴi"GCi;zxAy@# 0pi61a% GDi| SCM(  :dM0 ?ulM?d,v2}3] h}}IzkZhю<]* {܆RX)wŹYSG9E*ӶX@㜢-gB??2f6ͽOll滏L6d>q[`oos9lukVҕq4׆8R',;M^4sWtjhE)tШM?q*rz2҂ƼO?>[ᙴjӳOک͕^zfz!gѺ#"M(\;Hc}Xl[qyڲ_-E f1z41שƿ72>{x2Sa&I^T!;5!?:6tMn028f?u[SL#MP>ٝ}_r>}zT|kŊU_|qlʴc8/ XgTEX;K ;픚_@ :jݛVL*c})/q&c4gvѲ._Okd[9\Z`o?97M7O@`lښַK.$-\pl5_7<\~wwyNcrtLxe~[~ު2a2z39ȱ4֦"P-B?8S%}&=|tO5~*H҄|"SBR'$ƹg{e/?_f6qY`ՑSgoQ,4^ZЪYWso6+=w/8'8?-á yi17o.Zrgzuzře !?m÷;˒eƖtYW#!'g ".P_Rl@?7S"/p+. W/"RPdF|{ ^8슻(ILj1cCP45 qM·=C~m^HBdKlO(t<י.h쿷99GD"'MozSw=tDwDzڼJ| [[+͑tu^ԻS)7Ї/˧cҮqV@`7a,_1jn$?%d6e!Lr0>z6Z п{ž~q;Mfδo5і_b8r .| oH|r^9kAPE`6Fxi|wuPx?WEC5QC~+S<:rhiiL]|Bjk)9ޗu֩NeDɹhO=)N?p~0|}5dxcǼB30;0wC~7[=vfʴ\sQND:xHpP\Hs6!DF^|/*C)YBhd8D-i4ZRS]lK9)1Z-z)̪䚶(L^^ôP(}]GGcΊxcA9bb  IKX&1]8yzŪaszh 4=LmE\s5M뮻'|2c?i6xA}},c\Ra1i4Tb$v%6Lrٍ(XXl3 Cl1W#b'ZlJYfS m>t{4qY`mO7=z+ `8eD^>y->H(#Ak#7a%sGO|B ChfߣϭH:6eͰ9.wKrlI9Pȍ$^|͑r'S7@cL: [)t״JˠvowjU;Lv >3FN(mfbk7]f??,?omAœEIM5C`<otGkCTNx6Ҷo(uX̀-X (0hædT!|MO/ه-"3p3 5xyB /V֦_y,vv,!?/%o#wӖۿ9hoj;4|#F@`#o}+uYbkŋ#<}gYWs'+ND!]˫E 34ve]$=$b"#&Z\ĥV#VX$Q!߮??8CK7J\ݏo"Fhn`Ӑ^n3{ӣk>"iNK-~1ғN@`(4 XbXW*"A`#uox66XlUyg5b:T$4hL-3By+Βվ-Eȑc؆&[;=%ϣC>PB!Be2{cwoBW[tDK?MN_דOUw3y:GʦK/l@` @]?l2Ӽկ!2 /E Rv6A2f/о`֔Nlo[a=Nq>wDX-3"֎W<YBh:ߓk7gm5d12?fSufA[vU]訞M{볦̴vCNmtx G9-v? > r8IB> A_cCZo9e TgkknMW-G G@f L=@[NsÓXTj` 7:55NA[P?De2AcCuc,#Ph 蟇}g[OڶfFbL;U _Cc[[;&csN[n?iz_4DaR#uoL z؀ vRrsۑZ7}iC?6y?*b zPwo<#/~$!ؼ`;~ov.;CB7?utW?AOX$.wv6߭3vпMQdtLT왜ؾ`X6裠H%j]TSXi@Swّ \P3ЌS^z׵]9’c9 PoZm-z[6ǏqxdP0&a#FkYUQ Tf@DPop׻#uݏy?vȧzww↛HB _Wҟy7ߜNZEf zt%7_ a:GBfsR죜qƟ+Z$&%6ODwY!?:pͲ'ejZl!|qiތ6߸1_`{oʉ?< !t;Ra5$'oN CW{{ :xu$Rs#/^.쒮ħu'yMs&1XLk?|Dd,,g% 6AECcsj^_8B PMr4w7!>+Sǔ?YG <'RпλMF/נq !ߧ&t)Q'?Ie,PL]=ν?<[Aq8a!5ҽWH?DZT;WR}sC߬!#B>1 5#;[x0 1dOꜧ;"-c|ox}O-LވlŠpXGm iZԴpr>`CW%Tvr"Ni9?Ѡ{:S ra <  CCÑR>t54B ¢V{+?s D4zG  й鞋鞐̧!2tG9ߒ0hiLmt7lb5= {.XIo#vY~5!?mbTa6E5htEH=x]0oغi4,<4MN;tW;~ .H||4 "_|q'?:::jX,Y$]q頃↍`:~vkO5\;#0͡! 5< ]|4/8·yP?Ճ1|jjōNvw_&} sO" e}6v̏Uj}呬}u衇n-`Aen]+b$K ,)@ژ}.D%gdEoN1Z.cѨ~fkPgBr 吟:P E_wҖn!MqweQ戊ϼtEExd|~W$71?sQ}O|Yi9{g *Xd*{t 4u#(W?;DcO!(y[~놊Aɲ\*v5fuw#~+ #PZ*_<)Ui˃BG:Ë]It"&|g} o!2(&.Y>xUT"ɴz2![}X_=׵+umo_ؽi'v06~f?ϧOޯ N2moK>(>t}ݵ'gΜYDliӥbOw؀/}9X`G٩i=XD2=|r=}\:(@HX97YFiݏ=z7m2=3IG62]$cl7.*n3L'R+>Oi!~>y5޸Ija@XQ |bq4[[\Ӄ9d?Khܒ/k1f\%TVŲ5ں;f;Ǥ#)m&2Ƭ>"zpz+1Mlrc~]Wo,\OgWvDn [): w@qhΕ޳]eN~%Ɩ^vdG5&ʧSC`+ nhdn6ٞtZ9rW9YfZg@`Pj3~"$R 0ۖKںhf<',\@ ̾[4)5jPKzs WZJiP)v9*:7tͶYgV8u?Nm =ܓ7xk'_eM}=Kw_ Yҿ˿SN9%57ז(Lj6iB1(, jr%1Dv_+b D0,UO21C^Js+-H@ ;4,^;v49vv_SOիac-; 4G݋tSGiڹE@`xs9GMK nL4)J_a=D !:)҂Ymig^[>>%1Iʢq!EeOLd_G_`Dx|+]ꌧBA$L 2pl?ԣ=k]S. +L_j\PZw?-Mݹ:>:?wF;S:sӧ?~mU|M^{mz O>#5$|ZnH/{jƮ5DQl—Җn <~Rܒ끖] E S-5ݳ0 {-JREpւ l _8rOYa??_3+Sʕfa_sGaw^A6NwM]]]'>/})͙3- 2kK K<1&@sy覌7:oZZ4gc(1`c7sSdhCIEW+6ޣD?o綦mc0=9|C'|oolyl!<P&y<T6Eiyrc~;y2gR:N5Ze-v u,{!+^# Ł018Yy^Wl^\ိ%RM&U\hg }M;=!P-ny@~YF>5׾^Ǥ,\;xXal7n0I ϸ#4B!6zQEPdcs<84LMJM,+1?s{cvv'"ݰ-v&M=O+mSNzo> pc[>w +hv{#͙:9W% k8ܮ==Z0\2 v7}1NC'o~/!&Rb'_ߊ?onk{z|T7Q#m>a;_.:&&FlE@.5Yz_5Q 6uA| ocq"9- چss[SS̨)71-\j`k1г|RTDM:,I?^׵O?י .`x@?J?i!pWK.$ .Ln:_tUW˗ҥKZ*.8uKT麟/(yhs0zj(1u:ל#P$(PޞPdGI2Jη?_{6 bר?zS׊ {Iɸb#/K.#ۏu9"7 _j<`9k݇A`I9#y$$XJ?Z0=͛&Z55f?(Nވh $5c,Լ C Sp7znږV'_lq=</ƿNw>} Ru :E|j,zxΞiNJ3I2d /ꇣCQR9AD[>q"|?!6tlL+V6 'KN1W22#}.Kw_lAk)P"E C`M]F?$BiJVl܇QP?ensjlkr¼+;t1wG>Nյg£fjt "pqە?|q{#Ej={[OXoo,m,湇]iP?sg>[s|@I }'6W7wigjxf7`Uc}J$]Ge]a kTc|<,87?T蟬f׻aCztE>l&3ƶ K?ly4&W>5һt5b7oM_|qp"MN+8y|gz1 r'ٷw+8t駧x- 9w~A{=WBu$l4xz^"@/';v,#?L$2elêD! /";"SK]Сп/mܔyTcO KA]CO3Vڶm[u]tQzы^dׇ%2 ?mioיy ]p=ɱڸ8SD<)4}J&5EA6:O5jUK)+ZPAS"sdL(4)O6UkuUd~t \b:x8Run`Ldӣa\soJFo#cOz6ן˥5{U!pX)]^!`G_&MciBc5c"c7^A9#b ˅|xWWidh'm[1"?/*1F஻J_?|+^.tI't+B@R9/bz_[ӃOW$GEeP2yEf1(a7E%<33C 2L?OhmPr  ay[wr1sPQ&S.ӷ?*i; Lk g+x pϓ:O}S[_4+ 輌QhsH?PnlNUyF_ @|oĬ7C>`C`]۰x}O"w[c'8b3( #69sK #!ᶷͿfꎒPaV,(K{,'.u AV3,)W;̬*r hdVdV޴u ^_tmBR8 z\R&2rKZz*gDFIG7=Owi,rxzReIcWȵ,Y- 3Вп_֭iR6si`/{|@`{8ӵ^[}{S85LiyZj#ۣ>S>+Mkmh !#_-vi)jĎ%hq Yp/=TR ' s>ѕyކ>HQ`p {<3]?ю[szGZqNȌ iY{˜ʹ aSk3CcЧ^r lmo06/4A-<TSn&?m!? bPC_GWGz #~Fa hƂӾ"M 0g7/ikG} PA`/ޜzC-SLXˉi.jewjM ͼ%?SmB$:Y~83-~$ &:I?uCh>4_O=2Z.qؿfVf\ 7mڤx ]zxr=[rBҁ()S UdXwS3+w_%Nt^p]7)ఀDZqMzh؄ŌIF{g&̿.Yȉ\z=^Q̿?o4::R}d3en|;ͶyEi@`tww׽u?qћ>}LPIsKzjf PXp#9A؃Yhې9'bVfU`?鐇#62:4$̡l'2b;i-YB~a CFn]'I3rl˼qKcG}{ZuM@Jf c(FVק&Ie<\nn>Xv.;;_IZs쮻 ~v0ӱphpA$C~o[ӝB1N&/Oac=U%TzlvigM 0\uDnm:GF`íoL[W[P?%:<,B-l_0B#8{W vy\]ן\owA`R#nTjnEEm@}9)yN׻ 0,_v4؛ZxG \K*^F#YU3c6? r Yq.3_Z! !пayzC^q4`cq/~iF>l#HwҢE%!|};}^Q.IczSy=BR:d'SCeXd2/ٙ43Cl'#4(=|\pW;dἕE>c~*Ϫ}֑п;x{YƋ6E#㈆F#֮)醏KqKc~w8=w Kݠ숊Ud逅ԤyIN̲Z=C':>S~B b?UHW|Ùvt*I-}ak9cl[n")ӷ  Ol^-x@XR;&{0jP8"PN1 'mu%JXO֌4XMxSwU1Αe|/?~!06ls|Hdп![&MqMD uvʫrE@ [Ť@n#SRZ_ Q5YL@_i{99&oX"iwzq~^<@Ae"+1ԴPlҼOI>!?6o{쏯 ܶO3>jL61~f,}8&@`)gލΌ)֊ʓjIG?3 P׈շ밖I[/I|U\7jЫg {])жqxxm|+J[6Ur0y*lJO^,tg4)x>ՃI/G*(ؓa,1lVH#vmp!]ycXYɅYcIW̽fNO;3~`5D+ /-H:`ɩs | kM@%2\ 7>n!&g|1 %!1R"QX&7zU33;ovR e0-+ؿ,WF<-iǿh->R1Dg0fAbq,y_kxrP!/7]c& í7N𻬌 Kwqzm+_QN .IڈOZdgU&lNl k^j !멭]e9XU><jߐ_#n< }c{=O 9j/MڜnkT3^1_`?[gmjEf,ϛ r6]B;xg,I0"7g=G[HQ<#YK<$\vgh$CI3.^:п: wLN6)ͭ[GG1 @ U>}vKT&"\ r&kd;咽bV"1*ͱ! zŪ& L.n _'5ȸ!/JWC>ʠ"?p![VJMScF @`Lx`E\pkА'z١*`t8x!-s4 e"8[$G+1ĒR'nCݍ'QbK/Җc dpy/| #&&ິ3(G:hc8fE;lރFK5757Yj< ϒhcb4=a®;$lK/-] )RC3Zj*[]687uNJ,ip'bCڜ~y l4 W` 9tX$RnCxVZ )-]ו_0Aoo7EBi&Ꮐ tճ/L@|ޓ= 6-Z8?f4Ѯ^y߭4a0H}=)_) u7Yb^l gވ5>OlSLA̢вzQ^j@*Z^W{7~E=2&je"jՌh[VmOeiٿ)FnlM_kcOMc82p5bRӒPCs1K%߰jq>[D.pO&lbLoFқpѫX$bw_#LhK@M|LopoB2МfTD @`lXc\,09 1, #N؄W3|67(OUPy?Sd#ʄ'rS4ϖ"IH\O%SwB?սn{\'3`sa˂,d@@`4t*]tQ/:{챣a}&0lj\6gDc~]Lc+|o_Fl@ 5ChqfE{qdC"p؇Ś !ZA'69n@eXzpI2\3y=NEg5c"?RXc2fijjc08s2Bx o71@AӒE v#4G.S|YGU}l3RJzM'9ސ$`S+h#ɲg7SؿOVAP m*kS^W9&5o>q@ C? HJC.?BNJM+sW"E)NOV\ 'cE(e)CD7wh2@{bd~=nYy*wL< O0?/h8q0X`Z@`X}qBw'lч\VyZHc []]FZcMnxJ,rc\Yn9hC~kR? X1dw]=.#~c,MEz"|xƑ K?#kU:"<#] gb%l/p4y#qq7a?LI*>;{vw?O&db6w@B˟se ~1Z: $e3Q]!o8њ}ʉ*A:G;[M"t^Mw!'4QMBL?o([ݰl˰aެIGy{vU-:Az"~ӫ,hAAxmY\T) X`NnW"s[FA=.~gcS"(x|#gNO4!`4X C*3:{Ŏ\Q@ cXvt7 8l"XۜP|St6;Q?  bIWv8Q6?I*!a=.M]waE6 VAX0;R9=XkG7/pS p…/V,s3w8_DA} bycE-*A_;.kd2!?]RſnfiUU;k!G"ƇOD0+5fOv3NȘ)V#G!(Jn>CO/ܗ6.m: JL HT 2_:ڂ;_a&iNz;:o>!MB?o{ﮧ2:<_=_OUlG%}QEEz#W^/QP^y6*~M%;(|PؓJ> !>ɳпc|}$OӤ}f4'bcNC<`F9PQ_HBRX`/?fQ{4tԺ/Z@vLHlG%wTS^Dw98sQ48u?O(s>G I7g?&x"bŊ{?_/kSLT{C/j9؆pDGjj4phbǘ]nX#pZp:T);n_ id,ڿnStD[`?O` 'Gerh̉c2GtR:dTrzDGfl+^ 1DbCQ$ޒ% T T[ߎe{h0ʡ6Ku\SL 0Z`@KB|0QAWگ S>5S12^b=jڢV, ЄA_N6盟DW$g _ ۋ|%k\:7Z ^)L]kZ'_,gcccF@X(dP|_%Yj^z5Er1~:?&>3fx8gTbMP qCS˽0)$FҀmZ*:ϿZ<]uG6(\`/+0R!x'}g'1CJJf?Wl\_Qxja/.jc\C>` T4H蟬-.'% v0!$pN'رX9d\QcR}* vW(&+@S2 )-f## e6rCd owN:& BbG0X`@ ^~"(Q9FX ~͢.χbtcOc7Գj֓aF^qr#.~Ġ ߎ;v6P8p /D 9897tB>Q]2 Iv~y!?@/С|"X1/L? .>;ZOaq?`Olפuol5 pP#%3Q=Xvhu(Ay+`ٴSA6*]NXcLjKǼbC2j,Y=H_ O}?+@ 춨nz!ɲ3`ge)h^!5o[ܡHҡqZm-S77{ r? D(PL cYz?`4u޹-[oKH6_rP 1A``>#x-(—Ѽt1؝&PkGkCv` 2$ޮ5y0EKUyP-T ?]jF'nMŤ/Q;DŽltc&D=nNsy(䋉(5yy|]в?y9 Alѷ,zc^֗4Q?5f!?9tFk˞J&pϛc(WXf"w7ب o[|ay%gESg) k۷gDj˷ ֟?Mi0{ixq<.5Ǟ oQ2A Vky72T,+9,aLtϿVAc'#fk0~al 9/#y|BqB)Dv_] K2%Td4Sx]@&CΈ! 4ؠtRv$(s.n`gTx%{/D1JUt}Ϳ .anDYS?Yh Ů4Wjr ߼me=;OԌ gjJ X_ɣtA%FqQ?G s V7 r5"|BcS%Tпn|]Sۙv},gFHؤ\L9R 07 MkT窣@$)tפ*+@vz xmz:{y*ao9XcO| k|afv*m MJ?+oV@ 0ZN {반F`s%[Ej9g 7_[K! o($Ʒj H$ _i34_ײvU4L,ըi v&@ 0F%C~l8vF,ȑ.&>ZAb1Ckyi'1;]j52ːmz>D3i6mVR7_ppA9i (艘2T鐅KZa_y9;?;9]pVo"ƩG7 `ޤFӞ v3&~Bjs"@xE݃ [4eH?7C + 6)jpV䝥QqT*(K,5?Degya|02l2"^FؿWmrlDjj9]b/{OTpX'؋p(*K႕e܂SB\@ȅ"plȏun9߁g|ᠸ9 a2m}f^o{ Wė7Y#džC=P#֌'uy@=.9Cg\W|0&ʏ{9x3&aN5?4#UC`G;: l?`/Ow``wg@ xz*?% BrZ $M=_[A>1brx;&Ry3MG>!?~O& C[5|iCx^'<ƀ!}A|EcNEA?V8+`#;7 vMg~$'B ċ205] OC?aCy:[O[EgˮiQX` w?i"~~Pj?Dҵ=ʐMSMqWBCbXqvLITGu?l_+AܯzXmWZq!<]B~/׉Wg+}eW`\l "Ϳ)ND" ` AG[%edz4\`+I]F6ǂ pD`(Äh> X4cE@9t9 ;~ZYlHÓbckna4q߀ /;_2CE* <?ta9?#]P#(C*It!jC~_п߲g vV<:G07"; 5 P6`t#8,ݔQqQQ*c.9gFVhrsU{ױelfпo[Ulv[׻-F M Z`gЁ? )yG7g?!*ZCH` r:j/Z@JruJ0QCdX=}Zeʲ?&mBFfbGG+Ya{+Ő>^o6{[IՅ߂ׂO,vP{C}z]k=as,Լõ#uvXF[wL/U)u%>Oi ZIp |E<-~>L#v8t7Bћ ,Q/\ى5&lD4Pd &Ԉпxٹiu}쿯N@f=Ax'B"!Ў'؋@Ω[hОJv1N٥MU" 8L]bu1$D{2o?3_/NFVL=&+d1,˃ENE(0{]-O3'&'Ne+HTlF̛$-+y@L16z:W~O}y$'#SU+\B>q C?"m 4g+;皢:2@dn^Le1r@ nz_=2` Ee(!6 _W}y,ɒ% v ؒ_i3ib^1mW5kV'!!+tڬZ]3 4-6 db~!ǐ bvp+w4SHD4 ܕxg `|I)" 6i= ( 4Wʵ.cTg[oupPc#(4c Q77[P>sw+T:&bq' B {7إ|?;?Z #tk}Dxmk}Yc/zx)tMNS}}DdLY `!_2Zԓn/qed)Tc+B7/Ea o0qG[LW|)%sWN v (tHz)w{VهU; ci`ðZ4VȰcu%"(zS( eqw&l97 #dK|9nU{!'#qTayϫ°\!PL wN6AFzot< ߾]>䉈|z?oz_%2ع A>daGŮvg/$$js.x7 B`Zl-Ql`o.@IDAT;FKI,D;2쏫/ #>Ov ;}?SdH Oo`Mc &E֟(HaY_ww7 ,NOB e@Hg+7=D]Y)H(Z5Ŷ}W3{s*t.6o8n?E!p*AGH]fAPIf,4]{>Q9M5UJ"YWZ/v:S4E*W,Gģip[9᠌L.s_Jܴu}ę0#WOm=\N}g ],ˌ1Qq _'t0 8=i}0 "~_0ǮpWONFw0G2 {eMz蓳U <\_g>@dluCH?u J.@LFmJhEmj7&pAiZQ|"tM ԌX'{ȝOVҢT&Y9R ECRoמBT"\ǐH$x\,,vRh)ƈo-ݶHQ2YoktDI[p Y/{j.rG_}Qpp3cb_lb-k` GL8r/cRw^(@!PL׿*-՘/=!srnvk*COr[ҥrl7eD}MUN_'?Tݹ-E1ͷ B Wj['1+y6t?zIEF<ҵ-L+ɴ?6$Rǚn'TTT](״"6;' #_/ |@cY̍G/U,vsDNZjIg?52@Wly\b$]ZHDX(؉Jue~U8jnSi]qD<\]#Pr^ftDo9.b39{k|b+~#7ÅE`?p"B2/ɫ8 ?t8Цu %C6d $HC#Jnq}y(Jy]꡾}CU0.NTICduD+@<@!0xmǦb/fD?Zhi2BƬl>7lDDGm܆B< LkusoKUO+h|T')I;3G֍ x@ eUދcR4`F']xGvzoqͥ;Q7JﵗN3eh9;.A'"ccfX,^ЧltiчeoBs'#ZY1H->%Z@r-h_3yO">/M,x;hVՒok{"XBWa]HCi7U lL#?bOcK=kj0*B;j\j>%Ƽ,5)?p{TB_5L$gVxDn+ѹ:VySS"g^֟~eN>pm8 xQe`ep ?R'* 2_#B@N1)j(8/GG4WNX@?-[VvdlT2@bH-h?:cSnVPDddo#Vh!Ąt\]}s:G f4X<==gU;m?`2x Tӥ K6na;95ΰs!|L(axC93_&s]7Vo 쒳ʿ0Ybh oػ.!,ߴ`l#(Iܠ\$tҩfI6b:l-pcwc"{+74_|^m,T'*vH c1i/`\!PA;Pz ?tvśӎ0P? @Q^~EOROlg/5{Oy?Uo~+;Gdg\όjqVC& TX xKh"en. hn97_cRT緢 );Rp%9h1 ,U?!\/(;.۵s!O&RjZHPA7~F,W,f(j}P*G -dzʺH`0R7΍ 5cAFUrlMQB(a;ߛNRbK/<6EA2ַ(;bȏ%Ek$ HT?4~ax[p W8!M&/4?Ep3ݮzS![â #Q?ܿH}%2bwvG@sAXma$UO(i ˑ?"nR]M6H¿Or 5;O)0x/X׷OhD{!0Bۮ NqaHIf5Cc@|=W@1a-‡%bH4KŴUe}oǝ!u- B` >wl[RAͦFpaЄk#b\|t$`+/4-;[Eq+H!1.~)"cZ# Kq#>CoJ%(.%n17Ub^ \!PL v!3: aBaoV0b$08e?2*Ux`_T9j|1YVoW1*BWC Y,w7?Y~CKCmK|+grK"ɩ0ucJ##RF3^c) GAŽ"~@)RL&YRI:eQG[r*Om(Y+i#v[wl+X\d;EX7n93PLn zo*1z1I~Քqc{~ɑ_#}Cb\Ro}ݰ`K8Sp۹;@] B{wwt hc)?k6= GnӜKϳS(D9Se>jSdi1 >ܪv9φS:b'ށBߡ]SO<qc69tD|}=k!PLiGQ(43]̬TSQ1r-p)&wk{Xh򟬦 ߻⎈% 0FZJ []o0s!҈> FkF}b'l9ъn Eo$UCqr?ĮLqL*w4T$*^X;62;% q^vldC,6fJeaK/+ol;$(ŏLr}'DWE_}w$@⑴I@kB9#ӍןWG׀ (0*VPm&8j6;d_rE$oyPJjnQcXe$uTA!ӱI0gcKdcf0{Xm`t K/ '7 pod oc,[裚音/,K?/#K g$rL&ɼt[`m81j1%"Qe\9Pxb+ z ]4¢@|JpKUqc,sk#O'9P@npު/[*R@"c+v[](xEk4-c_N1dEay&qcm_uD<=b~_/A8NɷRk/l"/G~ed< L_5^-;1WGK"M_Pf*R] B`:>!'Wi`Ohy"%4ɽ=rs֍uH!ilaٱjvqp8Rx +o .jXm:a84r۴S(Q# @V`:)eHexmq)?)NVv!"?ICzcoX(9ӧf`/nr_'@o[_Ҵ{]z-p.0[z'۴ec@\< ͆ELQGjX/\_<ﶛֳd`ѐ#H, {^bh 5cȿu0_-XBX~XTO$o^pn<2ӝoGH>&3OK=zFbS{WF}L<K>bZ]U?HٝCޚI,lkbX>R4ꝟy\3+f)l-$Uj7PH{a򱸤8WmO2B^g`"]b¿d/?, b&aeLF}]:N/٠6^dŲBL?E_QZX`7,^#G*B!"^wg^e ߅FQSp;Ƭ/,N'!v;qX ˲$8ܔŪg |ݖx{pR*Hlƭ|'a3Aҍ*7'QӱGZ~AB74"{i,7w:.@!PL:"9ao::Bwv[6ўRkBwj<!ϻ,I]c&:莫]o/E_?eWEwM^ˏ mgo*<&h)յ^h}f悰,jCaHQE}쏨?j]Vli)v(~A/;YeA?\7^?fCkYu沶۾r)>9k{،zTG,4p#=jT^۟eQ6>QS=璪eugu;ygwmMk7vg9{nݾ}Sǻo>ijg9ȟv(wTcGGS_ {d3A+#ŧ=I7/(ouV|K3`Wd2X”`▕Rkî(¿ɉ߾=BȐӔ^3M>vtxנql6I K RNHL==۬lP4s@vGq,]F_pb?$"Edy)cZ|/|'ir@!PL/w|N.~ va?mȈ[3"D?j̘IGRW߉_adB%o64*{?voP1* $526hzCQ]o22(xrګi+-ô,A|NdK9 k.ey=;sFCZO|Ǿ}wB`[G* er;A; jCTXtUO&P ExD;: u$Z8*'"a  KĮQc GDSdV7iʸ~ʠ<̪?pnn#a\XF0ؘ6&1nĿnfv_pD^Nit?Rj{TbV1TV(T[uk/4^Y:m_鲱IN7]>;]3nnZ7nY_F/V촽El1w9da7ؑr@!0-|D< ;#[GȚF` mśm^y2ZӍӆ!2j^,T_O"b}guga ?xh{zP@/F|ʿ?b>ۈSK.w~ubSd_7Z_C9`7#PBqv#m(8n,A*M,[_uP< |MxÈ2?.W_3sFWu֭a`70у(w=bI'{Է,XǑL,zs%nWOm{g]Gv1]^_<{bb/R3"IaaIڰuC7TI?HyJ"\O+< ~SI#߃@GYl_ݿ͜a3|6p5/\Kvt= 6J#x?Cr3\lh}tG2C@!La4ahm{#6HbaZحLВ;ЇB+q9N&v? 2r>Q/ m6£)h'7[ss@.Ϸ??T>PR+fwcER-~v\!PL v@7?‚i[3o$&)yWd_si8pNSeG8u$YirCjozw]0qOZ@Oo}귟ǻ}u*۹twzx`7ۏ*`m0P+,vLoEa9l]2@a&B=i ]M8F Swv?v=gkKR8^S:)dl1WEr|{IvxU{45<8w!?Ƥ.GE Șm~qw.<?H>ES*QPn&\\΋Au9m`7&xߑuqPͅ=7/.ld^{GrTݢ5?TcQ4?>= _}{N.MGdΫ#A\!PL m0c!:p(4ѫgɹuY>mEd{֊%:FR+#S!'mR|pl@rӪ#_Q-ðWQ`ym[/7J#q%8] c yx<0 O#r ukU?@3]w ׽Gu58<›-ݣ>՞>4"૟n%eWFA XY][$# +!0.w}Ty@;SYHayq;Jj}Jv`qvC?"%<Ѣꚙgc9[JG$CxV%u/06\T{@70ile洃}jSoVvP[mbcA7 ]] B`Jx>IɺH߀Le$j!طoA[$L-:%)V'5Zl/&˩=\rlBힱO==sPD,z?볖km /pdͿ#^@ >i[¶7;8} ,)KA[|C\0&JCfrLi[wyN yG 9v}=}hDHuo׻ЮjӎCdpb{W;GK35!_dc1mg;DW2rHD %HY@OerԳ֎K UQt7n)=v) 5?f>}s chӍ#-~n]3|??hXʿ -]">y/ 7,@^18!XB`Gn. L㥰mKK v t0G>a8u'&Ҿ_G:Z=#~_{/w3 vYIkH|_D+Ըgh22'GHGlGďSmO#?'FjrּgBgK B` ݑ cbV#O?~BoNhDt}rرUv #Sw8uH&Pyx5HfNF/?i{%٪y?]:"yk+I y_I7[G#K8R$\yȭ#GBW+\qz/unA2]sfwuǠnX "u^ ]"^NܐGg%=Ŭ?o˦4\$v&"Fyk:4eiy&HKYBi|Cxu?UW6YE(]@E;9C+xF;Y 5#<go "@IDATzEԂEou#BQ=7!pb 4P( P>>MQFH$5zוVqݏ^JR~{FzByk^0{]D4N>_۫ ɩBKkoMQmtikQO! A{<SL [+O :QM\I RBhVXLJkp3MTB봃;z "5QO' ?I"]VD>;՟Oe* W?vATEB[0=ǝD+ B`*^`  {npb ]!_ihï |ӋFkyJE4GYDr#Ҋ 3{[Xe L䉈|z)y/Ռ/m i'>vk|,.#bZsA]=d}P嫿_p"w ޫK~c"_}"RBum+]SlDbnv K/P k,>2l<^Iۄ{+Ǵ*)Xuq+sΨVUK.7Fp\_?/;;ݿKjW=[ks{/TGt!a#G1ץعҾ} 33 >LضoÂw0u˄sQ=1xKRD taR@@ {x^vcnH∎Ot?Da vk׬udd-EhOU6e(N(r1t @!0;jk\x cҒ_V,2N~t\QY*?5րqk \OOt}vq`/W޻;% scI)!P,7?Rwa,4{b|dtU#[o?<-+@}#hv@hmPfۆMGu![^y]h"`+2j EV8q[f[ =Sس۩()h'{eBS mEW]Ǘu^]5#"t&nNc!wu?֟4yNws]mb~4pk!q_t'ڠfמBTCiv$Xd-@?G?!1%5sB`1n[( QxX)}謺e8 8jTXwU7sw-O5SiG ve oO90LM;xL4g:w4+ B`{k}( 5R>#:>S[F}ݕے74oʯdt+ [<zLJ+DDd|~@9U h{UJka#7Y`E0nݹ_jψ4"a|-P( pرrb/͖p3]{ B9?)a6)jjrM+(gs1fpK(0څ~(' ӒX△ow]'>jxjSTk?~5]ϖJ?㐼H@|+w.%[RHCS xZmPV )Kͭ}/{{)x߿O}3ݗe+^Ћ~D} QHY;A8r?GL04ر䟚 /3:".W,?݉4EsVjGo ~) YuŸl ?t" mKaV9Yz }P! ѝE CwEYCU7@k ĠNzJ4aWd]F%E!tMDeQ=Y\N'(V__MSV/$Y#Vz+<@!P,7{wE6B1Ͳϐ_J9SL\ #Ye4T 1X@zT'm[IȭkĵGnH9zGfhhrX,7oH=8"Y? 8BW^;>غ@!0 X`Q0Fv1mK vd\nX1PfXa@q :3#ן)?8T쫵#>Nt`Pw~53ۧkciw4EVe59unXםims^tY/'9_Z2\/mYo7bj|B~EiT5!s]q 쯺$A a;61vpK R|Em3|+}#*uY(V.@E+/F}Jrۺ_". ӂH ћގEmve7tg;kH~YwЁhK?}1.r?N!/?P] u5Q\X GonHwN[|~%{Q-l8FfOg=QPDq*]*OQUv䗻5g05Z ؟Q| C;y|nV7`€.!kp#[IX"-7CZSAuD|!WQUk5EVp]xwMwEX=`oXz| wjYbǝzZlĪy3tD|`< mG˃?8?p>'2WGX6"|h/RZ!vZ?-Nza s'se7_ ¬dkA)&JQ>i1.7'8u֝ˠXK]EMKĵЊ'a-˃7o˶v?𒋺M' #~6vydO==Dc?1?xh-7X0l>䁧@t.~#zF}vF>Lib3/Q9j^ !b%*.~&ַ?ww~l:0jMvo6o-ׯGcO=3-Zُ~Gܱ7؏C$ k=!t?}LF-nN=H`R!I &G>lz#DcPe FZ)PD]MVA=(zcOVik  Ot_d| Uh~]qwFd] B|. ̂f䱕2>A=2,O76ͨ LQutnIªAIv;"~?=}h_U?` PB.:;Kd2Gg mbCxC%9UHo'~u+ p;oqGJ 1􏕒Ԑ g$1L#?FoEz8(wgyM F"Q)1 didJQG%?-_7i*?ԯޭuZ| ~Y?13 vWz@-[f-`$yhαдSvʧR5,c7&yO[*mŠ@tMى8_"#?G dY}$) ߾j\ӈ gN@FPjv?]KmXꚮ+a'ݦ{aty~i_v_ywۈ"l"qQB`1¸=Wr)w{=ҪϾ{O{ ^ݏpD<}>c!z4.tbk3݆Kδw5ˆ2Pt'Bul"GĻy dR o/9n߃tRyGKL _;\!p#w~y~yH`eE\ a%E6 :ntE^봌[1t$A!aWîrN^ėdź<'^6Elea}@/u~OʧGt  gm{Ĥqkb .kX ˯T`yMq^.CǜaN>5ۤ=ʰ=CŮӻەgo_1 _|r'Tõ/@!ϿhoڿGe٘2 J,$ D"w+GM،Jc\ݛ"=mAzGRBQwwyߩ \ oz"/zziU~s6mf þ[3nX:!9b?fr[LWG׾UQ7W+"aɧ>=8nj8<2_VvsD|57ۊaЋp?ɼ ./g}vwpv{[ww/| )E/'^9ĀQ#ʶb27Di+oBݣӂiܓ~e)/V"ˉM%ڪ_ tk#;*JoG$.dT&R??}h=Jj׼ -%'-z9 [__/\O3y_?58rgj=[!p:#p9vF2)3ׯ&=ϊ9/%LǢ?,~Is#"V;"!)(n"5^<"\Wڼ?E.rqϼUJv ;>mc=v?Z`?_HAH+?M&FW e`b }]HI G8ϩLWT9bK~\rcMb.9"Y@gGY3[L2g^Tc!cSnV!E9Wv᯶7+30Т|폺&7=Go~ &\#>6`s/):" ?۟~~ԧ>巨`-T8J~Ǭ"˅؟vK.VU}`O0"^&ܸ}*_v JI @@!wVr^UTQs~Q㘪K>S 1fGЍvZ˱Oho#` $OACz_u?owz3K ЗPGA$)~utҩ*1'KOܶ\"y QDe״EVWni*;V$?]?{=(Z`/ L:]Ѥc_:;X*W3̽<䓒M[V.>Oxl=-#>r Ĺs CAk^9yM_C:QAQ~>ʿfN 3M UPwnP\FtD|38l|uw]߂8N[o>F V_O}`gw4'}^ oM3RlFr-~9$lW8,tQV-dTBE.aWW_XZ s <&V*y^Q~#Lz,Iw˗~_˺-lwil:/tv̍"6' D ?Fz'6,ߪG _B?n&^w]?G>/}Bww/bުfty=Su~ pդHc|%~hT9q)=!O#Vxa͌YH{ePsP2?XW M?v}k|¿o,ܟB$K3T 6_}},o/Ng`c_E`ދ[hOua`#GHIa]H{ZJ myvߨ\[ i3Nrcf0J!YHIk%w?]?v`hZapeR, 1ݹ9yr3Xg|@!pZ"ptLͽ崝{vc`:Ȃy*#XK/<^Hf]o(<QHܡc iV> vo{#O57ȋWlex7jhgQtWmBMiA&Cݒ8!ǻ>/|*)98LYZ70]#BnʝQfHݖh*g <ԧ"r@>VywtUC` o|u7ISgv}zLGDu|_jgw?σ;.$t1o|frTuǻo1bm-#c VG}sJ@EhBV[O÷:騰?*5%H\t-϶c;؃<0rQЌgՐ,hKQP8YҨs=QѲxymӟKnS{;Nh=N`^k!p#1Oޅ(Oם/ >wIm3h/:?Iׇϛvy'(ٻ#墊Z5. Zl5 'x^TΕ_> /2nt 3{_0?sw*c?2 R $]/\t[-Ե8}Xh{[|:. v βuS2 ۖÃ6\;ͳ?Ҳ!LV ~?0hۄuBK8 Ҳ@[ش\M{ p/oW`׷TOM Oڞ?~k~PjSwKZ+n:rs}];QЦeC .ֽo:4 ڝԱ?QgqFw7wozӛ2n'oQ鶣ۯ/c&~~H߱do(J$tDA,접 #,vDF]YFa Vc^w7bA )kNo㗐?tDHbB8v`OG%Ⱦܙg7tS0"yXwy^⬬NT-.Id;N䅦Eq2 VCbZ]R"aEF8*bG|_  [3|_;"D7-YyX-"LP^x{- ri@z`~ر?m*}=NmtV6.${0fBk.voF??¬(z~?qٹDg?~/ vA݇a[vhiΧ{6wozQÿz_pxҬvcSP#~(oܫF;?v-A#)?3"o`mad\LcTl"rdf ?' >R*.w+ QtT<3Owx+`">CȾ r~o`_fyN :{JaaqBetYhT;z. zKF?;䇺'z(3 =eQ:̠q❍Nk~I˷QyV[k} =l/qavAѤ)J+_MoV_/wF\] BF`AX753B3雽;;V?~^2ױ~cѫ[6vqB}G|࣍#[_ \@F^d%~tfTKCaϸ38P&V\uxB7{o +ACi`wu{0ȿɟadGěkE`#<"~|#C[Ҷ[+f;9pQ;SXwc6@D6ػq=ԛ}hcdȗ8Ӊ؎za6{I!ǰAB 2̝_P* Ѷc{sD|&f#B_ၣȿ?G)?16!%5E 8~/>s/pD)6C㠜G f{rOݕ=*F950RCB8q_i8LaF;Q m.*{7+ vɕvyizh膲5jRtgv|oE*WO_߱?l0Qq俤+ן'.1UtP\l& Y4ɕ-Yiʵ

    Ϥo>X&1F9[`!K zX+ ]?U_W!pt饫呂}lA{駟NdGď}l- GmG/uzvk&ڌ!xڞ{(ad=%A?cp?"O n0yeb /^||]Gm)Z `/gB9@@'(R!QP"PIiX!btp:wG(O+\*"7YX`߰d6I8`1eRʈ;;rUFxNRTԠ%¡'IZ<ğ"#GqD?\y8GI4  셼ToE`"0Ay=ݟ;}60tMF#YsAy@̸L[P` H1?mエ uiN3/wcC8"~Gbp73se+իγ=! G͹' `ov0g"N7?2_.;׳Qgw5{5#)JƯݴE']@CDظ^% ( jюuwaژ ̥vPys||CSt_I8:1.zWt߷NDnmo^U@s!`u'>6ol]A7)v-5p'#%%ՋS艹0;-[PB#.o7?k뻦C\ 5t)NGS,$JS' qD<{!Dž& XŰ"2+|g+hZ+>zV\#8"-5JbXg"Mg)u{jFOR*$ng7[7݌]Q/$Ӱf-t\?LJ>sZwd6*$6;ιF^&Nh#m4g- _p/G/*Āvl峆a,|9v|AŒ`.SZny>c*P:N~%%]4wo}Jp}S?U`tT@ Hhl;ii5Z63?|͂}Xh<_?qMOiX[TTWgyD((yM;3lL.Wj@ۢq#{돕o[?%Zd{:)h7g|4:gSM{#vSh}"R>7ʔf/_.#xGd\H4ûGQ{F3 4B_0岎Zy OxBs04~KݕO?kETgw?~= ?;Sȶz: ay~g&{ϽR6xjwv2d[s~:s= E`sigrFT_vkX65ҫʮ2lƽE+,^o3-~!]?4d k6i4q6fӕ:~c܄{XJW<=Ng;ؿ(^3pD|8% Nȡe""P,Y$ b2!4NG|PĽ2Km۶z>a).(~7,P^ Z AͿ4di:|y͢t7"4&JTaM8}6g!Fljh:stI-K=X`'vmJO vCx6t0|@~D^+1OAm}$`[#4~f;7S.7 flnl0UU*터?+.BB,J6ie/gd] `ˊbB cs#"+/lH+C`F ;اh7ٸqH엞JFߺyKixp?-- @Ù=$?eWLeNyD<#QeeBta`p3:/ÈKivK< "Hy#B; `bVͿgaeH1ʓAU5os \PTR@J`8z'Nc,!Hz3Vs'~'>UWo~a}})_`t%/Y݇6]C7W(ʜHC/YRķSȿ9=Cm<.M[loIL*: <$c)ηٜ̬*c<|F20NtHj6!֞Z㩧?KP#4Ow[`'ٟĘ&}:o~&c2?-G?8 T?,?a-8ԏqs;ɷy&ѣP؍x)7m?؈oN}izB%_B/A?kDd[a$"Y4L;.ѵ|E=is U᳔Q'NH?Dz :xڏ6qc>+o~>A̳'hQ˅_PypE砀ޢ[7<5&#K^j`LnuiyZi-ߏ'VS^X/[s;D6ǿ-_h4$ Yly)V?-&OS.*mOcl [RONJ< IGNN'?P@vSʛ~siW]"0Xd1엣y7 /߳y* 0_'a-m67Z,luytz~TIfs)haH4Z2zX6P et gude4~H`O3vp\+{l5_Hϋ^*ًx l|M|ִԲ]ٛ[nx6|ͻO?4V1jif,vMClf>5j^U,t+/K x1Lo=>VIߧo9aCKyC!F;?gMÏl6νI;MUW0>OD1? "fx%e~0y|Rxj62 x4 㦼 $$Z?W^~bM|di`[[I<=I;X?zn@IDAT.CO'TKzDuק~*]*v=>u#橧J^zX3$?8 Cy<''4ه o2BZ?^dv,: W,qC6ށNiXo;[F4k/%bGoq_{i' O!R:N'8=< .$CyA$$@S%Gc==y8 W 2OWvg\0I\] #&#v^+MR$u3=&Ɲ?^Zd{ iZǎf5VGpR k>B;1xHh3Z49g9/ClW_sZ/ޟιbsPˉ`,WV;k7;?M+QP>>2vzb:}o6 hruE q] [ 9:~i1O_MF 77)XrA<"} RAKw>7 ˒z<=\.`aj@!t;aj…鶟:{3PJ{<{؟nCц^.tOiub\\`v<>.oAv^9!0*#-ZɊ[(C9v>|BԋT~F0 }Xyr_Z_Q0(bSr%E8{ ҳvp'`?ooH07|Xz}OIm m?nN6S1zFz2Oעe2tA:F.1/;oI` xCWmՐsƢEPeo{?| J?mbLHj~rroh4ɳ̣0H/]<N'ї^عwDކCR5F[(B% Zu]寂r$_Jcpf Ȏ_E'r@d*;'1g`kq?ʟJWn eu K,ǾJ{Dzd \l'9*lәȿɟ<ſEߡ˨߱k9UG"^ShGM/kb:1+U]CEwPgY+ːr/{U`zYb2b~TavtD<%8qfxX?Vl^/x}vL%YY+!P_];I?3:䟼i5xL ~z$v[FdB)KBp|3F*_|cG^So; ˄++cq|0Γ< 2*7Q≓9օ"%Zſ> É2sQ3w?*Cg15?u-E0}uNXjs."{.!˾# ~K@hſ^u_=.8Wv]v ۀT Sq[ߠ*:sFIX"/2AV(AJH gM*ezk7oG1SaD'Rq; co59PD}ch0 ],pqm9x"ի IH{OC\tg?Cohg,Css ' vs#.俎Eq2xƽ=-(-k*3x-l ݶEMhD/ `8s~#2_JDהm#>rkӊ eN{)@wvC \"Vfw] #LKO۱x8\c?F[p Hg a`}\/W `k$!;ES͍0{j!LeRXf/$tx_tOk/7ȵ;g1=9;VQΨ"rӇIS!<_BAM' ?_ M c?zR'wF[88'd y2YV1XЛeCZ_7Iڔ;;:2׺a̦S4) Fdj-Q^`~`9b'#NeBݢ]]Dl+1]g4dWe&_]^Ӹ1Vff8+uظ9Z>#WJLn̘'X'A51{ 򲏲Oxnϴ"s"\&bP7ߏ;d vR?R91LThV׻,ΝHbeXfݨBTiU[J ILSUl W_}X`Q&;9 ÷?^C|VP.Ǔ6–xwY}]4z?. .7Ãԑ ]E]:Uk·DK} Jxa )b *"NnSw~tOb@R^oխ[*f7rxCq^EhɼU*M&je ݴhxf6ZePY޶Z !>睓^eqī+/~EZv2+SɡL>;tP#JO~pD|hU<-ʬ~]Ա ,KAth@I5"_T3O0v(-q.S&79Ǘ;.{`Nk,2,˱Ő2A. 3#;Xhz %0xm,֔( vѰ0@ VJΙ>FkiU$L{ǻe_tTN{/"mk9@;epſ?_\x&&<E/:Y ̄ ٗ(A,}~x/YC"Y?51"r/3Aaev"p/Bq7w"P7D'w}YG|0WlYtu̿D|ӳ|/^l,OL#aUʖƌHnb6o -6~\#<}zEKD&D=5W\q}Ό C-t=oõ#I 69,nkmzǺ<`p@.2PAqy?ʳYc{vo'P̹v-DOt,*:d/sDtzLnF3]q*ϔyE TwId^},J?pKUIW-2]tըc59Ը&Ldv5l?YHCi;{Q?Q?"IL3u:05s' mJ3eQ*QyIj ؘq]DY,XQ v`T ]$Kk!t-ܱ> vAa2gT!.ʕ-\QdQ c&b,22EANz2s^P]~X?g 溹+_;(ĭpnӄ`hՍG 2vT?3`7G.#Dq( [p" [w!;/]Cq0Yxxr@|m1 By5ư.ք+ zŋ$_8.b:SϹD $`+pӐ ԱLGinu‹p߱y/yD[37؏txD?dVϞcrƐ?y$ʳso m($_ V@yL!#H QJXi/bk e!⣔Gxqp3zxVjzɨOQ: IJWjPߨe.o) wvWf<610v?@1xГH9G 숡<6^`0os*7Cpz9$vrU,߂#n06# 쇴^,M?`n?A.(4nD|DzsU~Q$ qs./ʉQ.? ܊ ߨ{F|l Fa9H1W$Np77y͚ew{!k:/D|WXgj?E0ɃVFȏzXF'?#IOsGdLEɜ1{uL|wuyܧx ߐUOY{:{ v=G'3l!L`^ͺksz#=Fq*]"P%bլc^Ux@Z qtگ`MbٚtѢe'42nMJIjOFIgJ߱%r2^v IiwO/J0vsO籝dfGqNƎ_U#l_<)sn*̕?vOP; y섪@E`=6k1*%5DO?lwn ߵ[2uQsT?.z e5 :IXe^s" ze0C6u d=XqE/64eNPe]]]|pQogޝ =[vyBGGr:vkp3wpݝIhEess};9ӈ }4C/ г[</yTT^޲CVO:".HHP2+՗`Z~p 1Į {AHwHdž+ge V?cB̕V*:"u!QT)݅YR?q}g,z:Zj!vְFgO9Y8l,QM)>dIЃXLE sg^nM=o!^*,hj.U[nMn*~KGߩ^DQ=A 2q'e#cx`"PybZ2lܱQ$;O?tgu1`g\ߡZ&DHEEv [,l(䎅!58Ws<`2~Gė;+s=D=![(L80'K8Gx;؃+E`ҥimé(>jh{k5:˭M Q&oa6:Zg6LydUIGs˖M7ZHSh:q6g $^@+eQUv A-0g2)YH`_G <~DŽ#!5wSi6".-e.LW<75pptZDc 31_7S@74~&#^:)iد't~FbseyQ1$zdž<9'ҍA'|{ʥMVu/WJq~tʹ*K)m:?/[Bm qsn2[2(J,GBHOiu%%smi|-`Ma,~ 2*EZ Y5Z?7RhiӏG38utR#_tO6qU_:i&񃗞etu s;wL>hw… u&_n]:s:歑@^`Gqڨ(02DbG9< ?bFKZ@_ Q?9-+ #_{O̿/{֟?[޺=` 'vɿ$c|v=H=\}@E`"`?,o i#d,P`78~il\%LPZݦH]^a3-?) 氲GA@:z/)KO7t~щEuK= NT<">G:zY44QqQ~b^?V< : N*F,^;=݀`Q7WeyH/cD|A>SF0?!LPoبh*UYlJUMBV4?ق'Z4[ʍ~[?eKo%G *?QҢ˧F?R _/,"0{X_Q Y(.aģ!h߃T{2;֣ZBCH>?ZU^Ҁ ^|UƜkTf,`Ed{cʤ/Fu{KtyW},_:;ξdS` ;eɿ]^J7C"0 Psa0ic.Gy=,t]#`TT?<~n~K2 w[ь'rl&9-[63|s>vEGGhybh!۫f%Lo5dp^Yz4"3F1/oJD,.?oaIZ2XG; 9Ie1GJ1Tli_m?[d ؖ‰du'_K_{P `(ondK(s o[%.캦܀^"e@Xb͎ξ.XQNZ: w# )JYAv%FnN:WqgQ~,5gn}`n&櫟Mv0#j&V 3~F4jo9ghU*%&E<ӲdZFԍXߺuk[&(Dע]f櫅bON+hēN%(EF\Z)_Y \e/v uaitZ?)G`2 G7l{{^ۏv Йw%PD{E"0v/67-6Up)AnqS=9ͺ v9ȡTSX=[S;3\TP'9&kwZXkFD?]nW34ℵII_~ d ~#0Cp\:7K9 F<"^?$X2,uc^A`LimU 7^ÎYh!MXdQA1==IG(~gRc6 t/OzOL$:y!lkNh?^hAgiuqw t;u։96n>pQg^q;<ß5 Wͥ9roWdhZ?'))77Zj9 7x.DZş[Xmd$P\b:bAa‚X>] 6xYARרqIt&^W7ֿqźDZ/@koPڱiǟ{_brLm3k_^?pWipD<s"ƹ:Y]V*%K#G6%>&G93>om,%v|M7֣x4ĆhL;2f,l;L7(3z'-Xo2w|k4gT|=??^Foe /[ퟰm1'g/wzx*w}'pw?卲?Kݭz*ً@>F9@}LUƀO'ܺmjw}m:a:H̓R}ysԋ(IN\JV(,.'T*bgQg"gU_5Kn;ւ?? ;`L2EiN>RB.M6a6i?qEõmd: B٬iղrQ0Uv#Oׯo_@!1tWgE<‚v_1?D3#fjO|O{<V&~1ՃcZZGr eEur%g6;BTIT| XիF"t"D.||V!O :>3W_Zc2}Oozƨe-G?=J#BFUf&!Ǝ-t/G>p0^zZo;eIq29v Xॾa3^}bibW9#ML-"#Ye~Qlo 渒.\+v'N'&LPD{E"0rt`(vp4XoosG~2Ra i{ׯ%팘Vaz8Bh<"ZLqv1J?)/f 7q5F G>xGş̡7 ?[2N';=.Gě\kE`#i͍!sMt/Gl=J`I>A")GZVTLaG_# \?4pʿWG'/Ϳ~wo8QSQ?,*d(F}! B)KW>[*4SDX6 |Z|bԌPr14AAJqz*DXFSv.^#w"3;yCO#,8GnrРXGt<~o~SM N"aSzV0_X㈵8] J9341;iee8A$'2Ըg۷de,4lxTԢ-j˕Ce0v s`O} * /߸=KұH c4d7h}@o0%77rȋ(~ЇKg+81-< ȿ=?{cQoٌ8rD㨔D<,뛧ÍGqITT[wpi)BXqD<F1aag kAz͛ d<8˥,/?7ر >ī!6p; ا׭I{%d]L+9cQ=JC3w\O%7G#wϹoՃj*" .U:'ue9uaS)GAX"dP:]]0hA#"WMӸ*C/l&ϖZsO^&=I )}rM_~n?㷦}KhSv2Ϥxt]b"(a`ƒ ϑU*`hr< ~Q:)"RO^E[{9uC5*Q)sQoeU?&gBW*~R^XS`:‰09y( a{ſRs!F@g9Q@ 6,ENwL;7r[-ܒVi9`W5SPX++2 Hm41܋y3 ƢU DŽ,Uz)1N:=y])D:z>~'% . {^\3#^[),$Xg4FQ_`"\օ,OK;'v6S&BI) _N4f:`qL}ctq; eX @0N!+5#6\vVwX)-[6zwu`fÚlFy*SI`9yw[w`;؅.H~v|}&zM:c5-#&}Tf?aWO]ߎoOT=C#[$;7ر]Ń3 ΠFu˯F.VCHR1zAF.+e) ͯ,`VҕEw1бt$UK_kMLo!tJ[_wb}aqDˈd@CCF>ecV{̣yק cv˞n>v{½44a`;B,ATKG~|OQGE'!݃!TWrS67oNv[ Pk&Π4.q6i64_a=..vD1NTUq<&->UMN{s.D|s'dbW?ɫ,%+ C}pq*]]XOfC1(,dPq~]0KE`V#t Nwa4[wQ;'<71cFdĿ OE4%}?.J5FH\>3ށEtGsHc]0H'N}&՟}'Y _??MW߁VU<[xmJG⢧?hp̉_@bKKa}vCOg9y/p RNva0ritS?uoo'ҵ?zR5m#~3ҿ?bF<1bU?6\ߴh:W߹Ei*)'S~& VY=C@馛^T  8a0' G::xI .Y 󄪋Yfe#W"b۫sT*q zF㝒QGo;8B~s#'o\O<7!|ɏz+s =ޡC*NY=" TWx ?=y/@u'p&ލ1'h6FL|9>C=LAso2zOi cm~!yN^/T m(w#ΊC;=FއἴɿIw%_wgĪ"0k mˏK 7xSTmA@m~ }MEi+9e bZ #NW6N2lEt͚~gv8q}N:7~gG7TG{?tS?CǞOXK=Q?ϽOb;](FSΒ(h6&%k8_wG*A@plb/nY3sL(LI|⡔yݘ.Bv氁0 xfg܃( #$7/ٜ.;wGJwBPi_}9K>+" ¨p *9a`%?g^$tc&eI6F'ofy-?DŊ4 :"ޡխ o`_X]~]@@(PWB';oCe@E"0G(_bs&#ݰ>,(FҘ2aK P7a4@XbTKBDJ<_7WAl-֯w>" W2q9#?'qD|8&ƒLX@gzT4aƄ0tuWϢ%6]lԹћa$?lDaa 1 WQ4 rZx;_V|̣^1plGhIU>$e7$kW'7DF!ǣ'&&.Z`s&"t|~L#t[`z6JYlIWQ\Te -^-Ik2 EDظ^FNLP Hc)xdӚh <Œ N\L;쥯K?r:1}_1A~ nqfߛ~y ׌Y?fǷs1Ik/*RQwG@E`8~PI8jp(36+BOE{$Obˏ 8LRQzL۝e$#ac0ܾ4勔SGpD;*pw?`?hR>K;سUOE"0:5!7U8F&>3dk ˇ#^V>xL6 Z,&FJO }#8"Mh?+3D}oK,"PiR^ 2zb30N\q͢lsYjY.̫HLDj E.+h? #[>ϯ84팎yGҞ#3+g:vOf{ƒ"u4U 5MDjx~HFD;%TYFN2Xv%0y:bQدx"d(U&sXZ7yw/x" @ կؗ?pڹow⢻=qK+.zEzݪJ/[3?wgZ?D7~o]w0D wFµɿEFFokE"0RRP;iI S)@:9)V o9UrIR'ЏBfXk~5_ߕO=$:0}++qډ#U|bή=I#GQg;cqǑѥ˲-mT"p`wi7_nAHS$P>vtOEkFR9̛ e0)eU\?U̿ %rQݦ۶LۨA*OV0`oQ:32# v9v"]N;Zl(߲U]E"P"6#t} R$ЯDk(XeVؗAw1 ??QtSьgAi?=_w\|Gy ';z-IOx{MӪ_}*07I`u fc} `WU&*A) Q/$ФާoZK"+gdGK%BBsԅfJJuۘnNG{x?*Z(9NjS{T] 7.W 6޸Vq?V;K:E| c#:|ݞ썟?DmzU=:N#|^H4xGgyn<7ik4~kג珿>"f{)s;v<֌3708)q5u,D$r{˿Am- D@tR>DlSqsjf7e&#Vdlv2uEG7B7{ _zfK"XM"Tc#4k@-=FJugs%oW΂)cR O&|B'T\QeŽA\<Aq_,4- ~NÒ ?3ݐ_h[NU\ :뺌mPH@4kBhK>SMbM$GJ v[X%>ǀ&->QSj>L'?~I=)3XNY]&go=@/Lkܛ n^X /h_-cgA^.Ō'ۘ>:\ʁ >Ԣ KP&nc'"170qȟa& 3-2lj],=doz@ ^W3VR;V麥 y;_x?˺}}XR`߉Gb.~7WxGF`xM[ij>O5 u534#w8OIJ[.UX2pC Gkʻ/V]]gqw*X9*\< ʱVUa+Z?Lz Aщ՜7_~cGۈ|˟O7#;~Y?cRg~x#k{E|;;GxjFLkm-ӓ*f(}7طnor_ v3Oe4^-9OcB ݜKLіpn.[Og#C6 %7ksnXQ0w2 ^©8 f+ tŤjNv>1+kN#f/e[mw%J+ =ej%S+ts43dOi}']'N?͠S@#Yfzr?B:@-ė܃͊ZZpYKEJ^N%Q0xq}r/J)e|Mô x9Z'}N`-Bϟ=%㾖>ΪF=GJ}M~_`7,}h obƤYKZ.;9Dh5(vg;=UelM,KP řlw_+oVEG-慄`O˷)x&ZﭓIk4 tvCޡV:4n"or6?S@7|;fkbwO8ϷQ!J)ȟ( ka1Nqp!$gCZ vFVCxvߥ͇ի^J^;q#}Af v ?q/V(E TO]<~mj|Sash}a-(dgTΦ0bܑ9 4WEE}}O7J/"UclK>IGF` xx,~GdĢؑB2M'Bqm3</O$;-㯨n]P޼[ߧ-91`\.lL߽xd:}69_;=s_Mh_ ?R>ӏ>~br'}6bH׬NXFNPNG vcUO{ y;*l ɡ("P&0<wH\֝2[ ӧ~Ǧ} >;W p.Hd;5'6ӓ藦tmfHk'|mG`;=n4k@է/>69z>Mf2(G .cGǰT411G"Y&QUK[ U~ X?r燔+Gŗo7\FFD!OOǾh\ؑ_%wۡ-?l}lF` ; =3b呁A\)?Hb QǏd7)}Ol/ kEA7{{;C# VOQ f+JG?xC*~# ?MA˙6w?9s܁\}?{`^p;_`]o:3+f~NLʬ-_Ŵo-_F`e%1Ps%홎 vOW,5|f'lCRznPoD@1H^B32k3ȊM{>H߄3ÌݙZ:_jzeboP48Y\I}7{Z}F`c=><{T2LaLM8 ژ'R|Fn\jc⟞`syX촬dc#M.c7yToL qy$u *^t_7qvվ7? v͢{zx4kB vlT|elacD/ϢF?gȶKD~.$ Q Zd|+zU]6I.0Nhud[Υz a$ff!z;Fiפ谛tl!'4a w<^V w"/huwM?/Yvr\Ou_n+Մ!Qz7/~"kEOҫ*I 05B> ߠ vʨ? n]:QC[|1-ԺU3lWwOyxo~dvUe#5\Ȝ^{;iM֞ӯ|yj7h?uF[[EǽLXiWۅQ@7Wh#*^>?dd}?ql-aafGIy?P aU'RɍsZ>kopME4K׏xʳa56`c|㊶SIEB-*FrhJ]co:}}~uY}A[y圍ߞ^Ι&7*7~?][[^A2FOT:4."Va|)^nG+>+$?es7(]x@&3ˇ%-$|j _סj7_BϚGFX"^v ^]M,A#BGcBGɛ(?"Q;$ŃʁVCĵ!|v*ȤJoi)n7lO؎[WKaKư@#2.cVl; >NyN<{-dly{48_)!Rc쐘lɌ(k+_lqÌx9Ň^4&e矸/Yovy&+XP?g;s~x}cJQ'*V?-UgrCWf`y+|Uf:ve^YS|BocГrwWg@X +[-"4}lG-ofOC\ws*YuUC'|;nHtϴ+[|к?._ERW\g<SGPp1~g:WdɅ+Q}=Վl჏Y3Fozn"S縞橓ū\7jbjT׭'Ϟr܆CB&~WJFX`/2lG>t3xY*>-q3Q(Cf#ù._fqxLv}|3`.$WM({gܑ?&ꮏ>Fhր?նU={ZOB캂YjKUZ#@IDAT8iCNJΔT@4#@4mq@ 䌯5y:z?&3(B动6sjO:uہ]|ێV(󡧾FX i_1W|.cržF.#-NJ 6 nFa[ZSD D-_ei siIsY"~_ iϷ '4n3tYJê<,%k2@GgUcT^aL#'d܎JQPB˔eo_.ewc?Jm EDX|e8t2;6pM0LV"0O1UWgOu0lˆ41:_!e݈;:v0/WQuEIL`->p۲W[iEInDN9m}=O O*&]ypf>7n#S-,q)'S>?/acld>ӞX ;\#bTq:tğKFI*lZq]0:4ni4 g(ZCծ)=44@ǵE|q;`C?] "#"<t{usX_Œ"$GrFW[~|ƟVﭓ4vh*p?t`7}h vs#PljM/ yR<=sC0{5|UsUD0΂ޜR |n7`o2a AG&؟'1AhƏV?J.6R#]ot! a:}4c$nfۗAhAd$G׎,׃ SŬΔٰBWT`z [6~L[9 VhF൧Ϣ:_6Xy,[C&؏ܡr⤠>NQ?eE6xcWZu%ÙKwCYMâ IF`= vq!fL%ltJ啟 v%23c!ܧ>C;,&Ll.䑩|_[3d`n7ozRR+ݹF a4@|)~,cdǂ" ߃h2t3yx%Dl|H+Ћ!(iS:sN{13o3_ף`S&q74M^6a^- =0ތ^ X@p\9jffa`b212| g . k/ I㟇m܀iN'E<#_΢_o>4#m0؟2~A||7Zص=Ӂp2O/MU.Bq:S6Ow/_dOOoI/nPΟyS}GgWc:4y_dg%٣%CU> 6nu:R}]M[wc20Ʀ= R΅XɱZAk-=?C]#ʷapYYԭZdop#_&ةYJ6ڈ<ߟlKz=>ps#6>X<Ktd$ sG,Mɳc';/.'qe`vi_#r.1 >g#S4&+8W}8`lX4Y^ӵ?-m'}nF`xE+dz3q% @#2>y)5_1;,S1;!/"2/0Vj4#jB ݊aw5€^q3T^prKv/x\E eO~vb"!G0ZWEB4,+Z]OYǎ|EѮ^v5|KlUX-yI*Own+ɜ΅t} ߩ|}o m=45" vܳ9{b`.Qt_B쇵o!;AxdžYJ!-w\A˪f+?_ߍ߅( Yfp(g6D#49}3y 7A 찑a鶇m1 iK_)s8 ߊS/=L8]' 1=-񧡨%tOm0N-' >5z`xl0r◚u^ ?D9x@[3!>y~Ӟ<6?,+-!5)uPH-Uo)ftgr/ ]Nu`.ZK]DVlxbk`B[EFGN9j+?Q7o&p]'lglQgP`b,h? ]q]emi!pa'Va (1)ryE)? vhF``|&#n.9iPI,nP"eF?]ᓹTeVnof輪gI!Uq7\nZh]]`lmvNIo9۠å4~^.ەc&U bxy&~6*Bx<Ȳ|{-aK2ƿ3Iפw`@#.^ v< @Sd(s-BQ^fre(cHC _èi :/t>̖/-ŭ۟Z؀nXE+"C<Fhրw@~.0lҊ #%"{Ne̎Q1}l,P񗍷Woir*Wqji!quK{=sh[ _WS>Q3\^>VM 7i0"-~{Rcr2yE48x`q cb0b?=Ӿc1QH+JWEŠ 66 U:ˎ=؊7Jwܠ2tg/ `@#XN_l/n`þ2ɆeȮ 0*φ4 ap!n훐A@&?|x |N6U[y7u UC3n_G6EźŎ- ,Pp5RHIݘ9 ?1nSeո@^|j5rj?VގϴpS`-s/4~sP|Q{xwou'u-?αoSO\_(%>tl{ 4<HF`xU+meo+T'G~:qSal b0~ 3|ROɊ|t\Y+2s] ] "[Sz~/u-[GN 8)yE.#`g>g ,xP z.fq֪vlf 2Uq*} 5'a4v=3pS*/r[S[[Ao'G,pŘUg`KwC #|X.bQoN##+ٕ_5G/LI:z-g%ac}'bU&8>xhv|}%Oct(Y6To˓vpz=%8wxU:BJ>]eUtH ˛-i]E`JsgO`eFEΝ* 8&2 *80z%e4W^r\PE(/򼭴731(X6c3Ԥ2dynE]KWx|N{04B-cpddwVcBfaE*b|01E.&k')' |U-gډ7w1pEOշ@#6>882Β?gc_G:;`r/Z BLl̝inlo%_QLtݵm_Ϸ終0 㰀45-1\o5 $t|.t1n^hOeA܄k\!PPq:7YUGV?w $[чRS?EuhF` v.mq C~y@!NFEFMGp){b̼RU!'}{l6m\y iӦ ԿgތRmSMDu܈>6@#=-eWO #X8*ƴ o!u|PO.~sH~\32sU+noiL0fb:42Fx^-cv(vݣ3?.*qivfNAdB2[5L},|-c; 9=1oÚQVKHdb8kamW&<4ҢF\|m3fF!+RroVg{*Goݸ|Y[(UV@#^{M9jkkcخv÷Hl9$PTdNEMye`-O{]\XG5zUF`M71rᏐ⿐mR墺]b9geTp5Hb1^s'KUGq}mFhvskX8NJU_c,A|Q0cG? Ϭg/c&Ukz{(OWʳ2! ߍH "ۆ{aGʇ옩@#&`_쏄SϿa0e8#c>~ -vr<}ԅ1|4柔"&UDa1mi\nU 4h#~Q[CiEUS[%[ v% |Ȉi:-cY!D$۶W ͳ嗢z!h/00lӆIcYmU=ŷJGRZ[>6n#7mdvtط1m@OE&رosq)W#HP'ʴ:&Q؟FooiwՎh1Cw\ؑQ2v,9-%s#s'XQV2>t7O\? 8(D9{>8>Erχ+)˸ "_^[_L&Lg}XB@ϚpwIq^YO;VEQinzF_FXgO%p ?fhI!0qP\ˣL?Wb $ }@u?/ס1bZ~o+`WzvgP5G?,oO|efDA&`gKgWȋB윱W{Rb L7&ҹռDJHR%3gv-wl`Gqx%G&*-c45/vlJl?ĝس;0r#TLГH>̒F'^: WoO(YoGҹ۟z;O6#7+۟5 1B)B4+T? Ր&A@#= /OF;mM×p"t5nXCh=˜~  vчFXi}SM4 QٮUU -Ì vʰ^JC)oE%e^U:&ҖznZRP׿^f6u G[- _z N$J PXq;0"x|# !AS/2Fh"d7`?T"3;o噹~O[$>QBm ݇FhvW~L,m|d}`'I_|}tl` LX3 /$ܠI|סf k7yw vtuoQl7igP@#yȀHug?#`pT|C"xkX _1Y/.2pol:/ s8 fhZ~? -[NU(#:SA:oGFX}Fd]yU2٦ayJXOb PQGf3%OW~zPf%LƳib@ϊwKTG=x̥| _MہqɢA :o?\GK9xzF%nc'"oU1M?1 scݴȄ'oW-;oaۮGb.R{LPF`xM[ijo -[)#.Z\X=Z~5r2O8c'ycW.HXMc:[ , K)I_軺 @zzgۇFhց9m~׀EV\5>Y&u< T`) l!w ,BEb $l+pIb-?8$Ua0{Gѧ5z"~cF``/A5:n?cNe ÆI n[{g8 #vK]& k|㇤2K^ʇ-8\̜hiړO?Pqp kvڛoW/-c@#"~y(^ٰabdeۤ܆6`c?\y^ ~j^H?cI+ 47R,1o=[DjC;ƫC# oȗ@ !"t3\; mL|݋4u\ OeV"IA>Za(U~խJ>}DܛfEDv_ ;5R>@H/~_!}} `Jʃ4<%Vc0bnA*KC2Գv dn a\G%eop=;$.NP- Xn;տg#IG`7 }h5 SW;&Mfl0E6Nv朴):p䀎K- ݖa1hcbr QgG,fb+aAh<]]8saG?|>}6>6@#ΝWGA@\?ql,A9?ׂnA;?7c?f*/85nTm)%:?-E<`_K kDf0Jbf%K.3Yl13;AkC,CWP3>mgәtrFеU0 ƿmwP`b~Ӿ(mݘhւkO=VLoǃéP&xetޘ'1EuV.zM;K,sY2`e%rC>LOіwC׿gY2)t ?"^8thu!_T=چqASZQ c1}OKlDq>.œfjT/"hrZ~Fo7b*W>C_QJs:tD:4z?=?˧IvIqp\́ voa4J ݹ!H??Crin:#ѿŵ?:JOQ [l'> v,PٲiHUtȇcÌH~*X5n]ud5,íUwY4[~o S;uF[ H[uq ~PGF`W 2G?2X r`Y1b*?k0o3Urqv'o>^,j#Bxl?"u+L.`)k3W#|aU]v?=Shք'1> a^|[rq6APIǏ (S|9ZV_< ЉXW!Bs]{W_`珨k d%ƿ۟cv^K1vo/^Њ}GG:S"pS#|}a98[f.3}{*od |,\̜AQ.ވKfޝ׫ 5tӿ紂}ѿAqdzᖛ`gx, o?-R3r8klLY!Ɣhqs)@8؈:gLWE˄2|{Z~㯶o7tmo=/Dmܢ[;`uh5 V 28-BZvK>h)w G|jBFn7(]x@ C%-$|.U-?6GBϚGFX">nC{ L*GcBGɛ(?"Q;$E|TV[pTtKCJ U-I wcxvߺZz.CE|c#L+lGQyN<{-dl\eRs(pE&qu2?by'lٍ/} ?U.\i;K9kBpw5-Ze+glV6NLHnj4lCw,ɛ*uJqD|;4 q* Hn?oo]DF'/iF`7ӏճ\6|VαG'hb[qRA&>ʿ5rENʾ4$_[y[~EC۬ d3[X4k@܉$^MW[#_18p1. l)?S9&q)1ʂ_WKY2SNƿߍ vW_rA(v?Ot؟LFlM`Rؑ!h}Q7qp:oEY8&5̬jWѠJn?ӿSZ誢4#˝(ҥRH\^>s#6>x=E+ܕUr,T\NMDZXı1[Ga\lZRP\д-m$-N+՜?2htg >5@#{\`_}xG 5waʯQ[/E뀞5d$ Ƕ \\yH^ srhkw΍6={S`߮Z;. Fu̗2!WaƘm݅{p$?PR Mx|j.qD1s-l.D~W͜| ß1Y_M_ѿ^7إ+,*y1|s ۄv/@hvB.E@ępwΦΖ;/DJ_`WF&Rb?e_S(e,dCsG"B.aT&>Mo27{)v:*Qܻz;@th5!ʉOX(\8[z g_8o?~\G} Q"&,R~ gOHb,/Y 2HDx 2w]|A+طs l嵞7c4AO> N ح8-p3<="#2OǐQ>Ì2?@ijĕ+gB߰ ƿ_%Gg+s3W+7Nj7?oc*bPV(7Hҵam:tlD0d?T:yj66HvBx9]F*ç%A,?ieT!bwWg@X +[ŷ,Kc{F}"\f$j0ND-aȯe>˧!'c(_UTh?tS:q py-:o/fc@# vL_bı W2Pѷbr vyNR=|tVß Ә|WJu#W>* ϖoP?TdwS+yuߨ"V΍;th![82<S?٣On=rlg0O5܊'tS+s~ xCZ~拌 ƾlagzo  `c;+؅ 9Y.8=^U>oVM`ჹYl(kwN-Y:@k_ҵx5) 5tN;ytT#w $O饔ɮ"P:4:`}apְw9tHN֋Pmo{f[WU\TULWZ]\*G$-5v` Ai "AL1?J?rG >6@#=q+=;gJ`tr\+:88'LQ} dcpG_ WxpYsAҁ|)rvH?'d|!,OڴMcl olo34YR╇Ed B3(16p)Sur;,j5'saT7ҍC?wlO+َzqj /{E C#4`OG8dltOy8~26e"$[yrn62>HRE9ߢsC1W2#°*Poѿ"~'YP=`4Z8w;]01|ܘ(:1>?Rƨ)}Tվ2b9*BX*Y`gh5 CU~}2!"TʑpG7ɒˁ}mr?x:[)$$# 3qHj[ʆRFh?߮c lSpޣ \Y;Z'pdvld$2F(^]嘮@%v~u|21aH؈SϨR9t#%EIrer|)U7i}sc׿gNoOOtZ+@IDAToNhFէ[X8/G)T( pyĺ[T'01dRo{t(?e7Ȩn[fuKwݼt6]Font-՝]'Ph]GǵE|ۺs@,O\ _[[6f0i.&>n&XzRΖ; gzƿ_|տN| ;-BȆzWX4'@a'Gy$8<=O EN |k`Ұ#Eͅdp7g.--۟4?/LMȔW zEXnMC߮,&}M ?W`G+e%'{ʠ8vQ_ a|<=Ͷ/.Vai:-|-k]Cϥu-?Ԫ*_`uhGէS,M:)X,P(il°fJm?NA')P #kᕎ]]h9וWgŋx7A v`EO>a?`?L248$6oz72f2thŀ +nu [1V*?vhu"l;(XF[ (_> ߾V'aq&6(LfE>QoW\etP>)Wy6d2!N/,G~\^TL+JK\(z|emZ~Oz!5{w̛hy>Uz㽂աhփ7O|"\?y< % /:kng#dy\Ty)ZUz}=3TDxZI$w^S.#qkm?]}ߚuv+CLOC*o#ʟT7-}O1jL0XRGyFy6`7DuL^xiDsQ,dBiLH-AZ~Ƥ/NPw-ԙhyֵyVKGƓo @#`߳!Ef3#?vKqr.c0yvDp!ٷ W>;e.~bB/LGWbFJFgNqXn_77۪At۹e{Nhq?`hր1 z9-^|&(Q( Er+5b?GJfMS, "Bj |JU=ɸmu۱1]G!ݽA5m'^7X#4#Lr'kl0ةC"&Y0d2"+n`3n7 Z]4>hFW|b+?zY?~6(K*'I8vC>3=XYϱTZeIxAnE>s}-_߭‡j:-w *6}5@#켵pgRXŗߨ[v>m_Ka v Iv<5r4o+OBD)Vno.}t马7/6;elS^>w8.y*\;]9v fB쟘zU޼R*yV5.:[~ nh?d'g/KTZ ~ FX <ƛo 5Vcf_ ƀml/"ub/4ѯ0W%Yp hVG_07ϋkaìs\A/:{}lF` ?Gtʙ<[$Kbª‡~۽Ӿ}5i"0Y?x'ENґE|zU^X12b%&t?Kt "? I|n߿O O.\b ˕̀ΓVFD2ܪ\i4UOG / N!4_EC9;+,hHm ޅS_m5U_=?)SDզ~'2jڡh]G~L]ϖB5sPGqF]W@{!1zbj{쿣 O kĸj$Y~r8|3Q-*zWՏA Ғtߕ?DfӾ;_t>4@#}ǧs Iob0b?=ӾoGI쏌%O1jrL1alpG4B#0O*(M΍,@xQm? R {JC#4kAw_^-,^,:._c⃇?x*LDzdryA\AsIxbMG=; AQ-ĖVo]7ؿOmG#ѻ;ϟ'tjXd[*=d0fP}n|VQOdƘ*Cw :(imz.#V.R7KwC1_+]{K.WY3@zpo_T@#?:MoW{W_.NGY,l"!҅NDW073l b |ðVɖLjMY9uۢҥ7}'-'L mF`wx~bxu1ſ(#D-RM'dIJ}c>˧oE!]?TvQ6CbZRief b1$@]fGbC6U _T͹1կURNY듽AT&_WFFhփ_ 7(31;LEU*R<̞ޭ9fLaCfVey4*\Dh`ތAZ~?4nտKqnoz/Me|3? 7-/z  WiC "6fꔙMy99LU9juB~CoIdG H;#,GQL?8/euk vv[~ yd}]Gu}UVŒ{-SB  I @ j $t`J 19M5!8PB1!WYV3diW֮$JN939̽1H݌?|' ۂ;_.@Οgֳ Q5C8XhBqACl(5h0p{k3"6! @hVC'bg/"5(>En*cEr "ý!!X*af8t](} I f(P圏%O>~#g6vp; d ՙl"xD)A~W&Lf%dFA'ɉ^ 8)Bԟ/G9z" IJO۵k~=-H>8=߾piD l~tlcùO)Bi_[v[< ^Ed"\ ŕz*J|VPE?(d=ݼuj L `NFX\IXhϔqcm {bpeHA`?6ghVJNP*:&PE]x9!ױDk'Pu &*.(p\5O^kdV¡<ԏ;Ov5k+hXk_8~sh#C"$3n0pLD\Ag zY9buA. 'Z8 ? M֩ <#Yl?Iԅ?n3)~`g1}~jbpGqZ9=Y 3 R[7GnŌL&YDGO9 "莏tdBAӱXf5l8˼ F*WIe;EkAM oI7'm|EWLu,=.G͐$nG`ӭ>'G.bD*yȐff~{qw@Uxd $(gg^6 фʊgЏS)F&cŶRCD'c46g`wTe&0?u`O @"0C; k]A铘r u7#)d q'!h8Vyz]'P`Z:'~[ . cLvS1fŔ_¶ŋm?#C"$3z-GLZf=XxNntI> PPެC;=D };jq&:Ǚ"1&RJw_B@dۑ[UNkyK{;{f|̯|o9*~8XTY '=PdMIKN{8P)Pm8@ޗM->q K0 wYΟ8'5߻ct2h}Vh[QyKSD<'@"[61t7Vي- lwS&Z&EEc5dRm!^EU>_kԟx,"=;~ Cf? B=-3+Nރmޣ?[s"$ /x;?_7^/g ΓO.Oqs(cysRզ;>PsE7%"-ԟg7''؋DŽl0:\OMSX"${vǺA {n3Uo]x?b,6˧[Đ+<"wc} ~#b .[\!;l h li2ՄPwl3xAܠOcãCv`O',D2K K yND`"0?-7M8(p5IP&7Lzs =;fpJgt,e[,W=IqJo"y3ũ# hniq</ fEӋ{|]C>X,-9Hݎ7߂v9D44HIͿZ_cWuQ4KPf\}fRt-7ҎXVs PP@`7*& `[А]w) BoF1l`ː$3s/Ob+C>II)8Aua +ʬshB K*6:W(Ƚ#HWP>_69kR^FV8o?4opd̮cI$͔$!CC틯{Ru5UtFt7ٵk&~g T<3U dTmf,::{Dtw f{~&)dC-uu4px|-Y9t:Ɓ?toinY+- > ݦ?'yLD`7#gt(+{zS#Ŕ$nG`k렯)DxF`C)(Vxlϙ#YuFS&)+u/Ꮫ\Z?e.${v7ҺN=ZM.dnM'gQCVtx,Ȑ$ pG~lmU5{*PBk)#cfvXSWį‡܇$G` o_R6x4NB`裬}\ D(Ey_d:e-Eg=q6d>cVw<:VOFh/nxJmJ'he =&ӎKCjd$L OƵ;7{qpdb !s󬿷 v?`kDV ?,o?`I~xYOxS|7mV apnk&y$a:t^-N8f+~[5g0o޻짷Yb@i]ylM"}ma?`'Ή==TL| qbE&$փ(wG*.1KD@p?_ފ c[0nF6٪N.Y=FyJD`"0+䴪O)I/(i^<8s aY΄.''Ogt6K:Ŀmf6S󊥙폭20?t ޹T{p(h$3[ic?)(a+_$ SS}VǑGX[qG̹9\`)n*Y&YŒ)B5*6e'YC~D?mc7aW& ,f G?oX-C"$39뚻+S&@[}3 02HٲslnJ3£=<[x x Ggrl]q Һo_N^X;ğ)̂6ia˨|/`rCE5ߩN>>xo9~t-w褄)`>tw-]yIdQۋ,[Kf%?' lD M;#9#_B[KX/?߮ 67Җ¤}O?APXeyOyHD`&зHpIkL2(GP;/fT̀jPڊ2Pj2:iiԧj0/2_&O=c'7zMu351Uvl[-1ω@"v ۝C[q`Bӧ#KvĒyt~*4(ƋuN"^NoyI V*SDO2wlUkDgEB=7w?欜g|c |7.>s0~S{-ߎCPulkwFe\Bj8?ZԆt=e]T}_0$~on^cwmvN4EwsB|O+;c"$>l÷}q>W?f#Oqɳ9asڌ RģIfk3D[$gB5 JS5~)ӵu en]?zO8۳$ CWc^_*Az@~E6vAֶt8P (G92pK8'8K$T_:^a1I'L56~]ya#}?/ڬO9g 2$@"03X5c*߅kR_+73ZУ"U뿝^=x|7$Zrux^#e^O?竚weL0dw2Lh˜הs}ˑ9{a7?ڥW}AVV qOBGvC5H=/, ![(c7 Yd'!Z:h"',h@MA#s;C,w;mMR|c/z<'@"[S6bY6% (ץ"H7ЙY'^O.U+w%` 068}(sPm./C(F7[}h܍ ) /JipanvbZv$L 0KlӟuNAn?Rm_8_#?PKY!vx!猅m26 a[fxfkl後&R?Q ğ=,ߎoO'P^9 H HaD%#Yߋ_X$nG߽.uh~H4ƹ#k2, Pt>`~yՑ?4҈_J8u[J 0,k:ʯr(KMB&wAw`-j yu^81{Kb4^}8&u`30/YkpjulmavFZwtxH̪zS2"lՑRL==[amW}3jJ+g֙D Hv/#xz}o) vo$@‡@ȣBͺ\r IuD'OnIݤyDWP5照?dv'7$cnV9}WD Hv7|z}I |BiĘXaˑY[Dz#}y~40LP'ujjSP@Y)9rѦ+ԟ/{&#"ߙ\eM+9r6ނl2s_*<4C"$3~|^_?H)Q" jXowW4(- >hpض7J?ux="_l>dSq_w=>UI7?d{Y 3UWػx 91:HǮ|%ÃQM+z'+ΐw@u *x'_*!;lx=q:[Q<7q",ߍkoiٿlN{=GeHD`#0~l˕oG$gl^T |<rNJ3/v9?;1+1Ϊ0z8W~xGJԟG1ka㧲?>MAsT6Aﰎ<'@"6w54(~ܰ'Uqpj=}V;O{p[4?nhSN@=;T be͖ԟgczglv$*k I^`g_f!-S<'@"Εw/SS }%TY_W|–<:PD|mWTfoPԐ9B )gۑP-4"k> kWy#$* IDT SMojbҐ碗dP3Lom_O2lmrC>!<?Zlck0UPYlK,!H݌mr>}'QULq8ل{(^ v YV*,#6ejO:4+i4e('?gok7tIJ;?Qk67?l NihD _61G (^>iwh~4]r.i^V8Scmb(c #$˃P)n4 7O3|_waS]'BdfD^+ifut32$@"0#jz{G\HIw@~I$ Nu=*/X݃|%N0$(E!<7bOJ7Wbˌ?#Q^,?%K;?oSu!X>ہQK>Gۃ\XFd7 _y~xW8%~l U?Ʒ tX˗hm(D[egr[.ƴΝijr+×Tu!e|OxO5-ʠZpPEg]l {Hd4H݇@cdmjP[)72ŐGz8g)691 &I(dL:(z5ռ9I-&IDaGwݦi ˬ >D !6ں?y)Ap DG'ǼHv|4EW\'.M`*ӣ\sy R?H\5ɜ 4RV 0$!\pG/D-5HZp٥־0]%)Hf5#e=aW߶_d_j d,?OvKmEKS3y v^3>vGO+ Vow (Rv"(E'f[>oSޟpIzpŸ$.~ tmϻixݲ]7찯9efHD`h!pq==.1Pgt'VHw IcvZ{7VY6,<c~5Y8V|r'pM~^.:ZBOM6aؿ,cu$@"XgЃ*9 \O|9%DAQq(84vԑ?Ck:(QxE͈)PU$J:(úx \'mZ~PV`toNԗln-kh"$lp5 CVDA|!p$wl̎9h׏X@Ʊ1hZ\kb`K/$/т* =m_poapnoOe2Ն 2<x]FGM[{Z8S͖-N %25ۢc;9curb;IwZ1a9]f2`]~[Y4RcF@ 6c7ߋn [(CȎ[t}ϏZyJD`fmbF !m9NdhK6]Sy]#hCnmIRk|*bJT|9L(io 9i{}+H"$3WWAրqO.=cԖ.ڡZO,TӸ[ =Rĝ5q<ȯW?E% ːgMyu_M\aǟ`]D Hf Pi#'K`".i&prOcЧB{:Ah&9\?Ҭ!(̪- ܩ?GO@_7]mgt Û o`K>UYy ҤM~H308Gaό2jRmNw9&LBVMɓE;MǩbTOr/b=}s]+(V\Pԟg klCcxb_e7<%@"03 ]6z׷ 5p%pqt_ A`n݋D*^2*.Y%6NU4" !|5f`yo(#~ҩ?o9BûMu(€ȺQ-/2ؿf=eqFD )ww}| w3mctk%V9։y. 7ְ^% $9t/RK+6y]s1&ЉCelo2Ѫu? 6sZM2@"ovގ޹ A9tN"`$(A6N8dʊlTcgqV0uLslʼn ++7з]feyUKR7#~$cmZWjnnwC흧?D7Y`ꊯE 쟺(CSB1eX%-?$é$4$%lr2Os0p&;]ֺsSJ?ƺS?&@"FYW9H<O}==Dq;qzmG̞~S؍2$@"0c 񊋈q (& H,ҫXq]YzhYRmx ı\L/ ]43D8ON?B+EP)afQGH'CQlĺWZAiD Hf~Ͷ\xi?OR:/UqphA.SP8=>"ͳ# uGxFMS|e<o `,Oi_ncW_K#Ho"{G眳_e=O*D Q>vτw_"$rmUf @j50 9zW6!ۈׂh' 4$); |%ulwm~?ZIM1-xءlfs_-\n?ȒlXso‡B4Cf|*;^;FqTc~'~=BOpkK'o}ݪbD bzԟ{_ŗqtZ >;i ND !??[C<4IN-h爑j5#kh(hۡLsf!i3TQ\5Bnҩ.V_g+W1gralӵ܇j T,4ω@"7&xFsp Ld|pb̬#i։U.vƫM?6%ˈ? ;C)lK%(K*w ('G7"`ٯ@IDAT[e[iSBLBpD Q~jџHҁɃ!<EeK9x՘Mc,eEP!o1u%~`;l GCU(iSϾ7JG2j+ Oh2ħf.gv)^v oc|̟0Ѹسpoh88%ގ8E|l/?)@㣐e4(/˕QwHKXUE'ʼU.2jj~2W_Gh?>YoUNԺjj'@"QSQo!xR1񟓺Btm=5^ T$(lA< dN6.m09\rUYRwpv3O\FqVeyrF1awZ| ohh"$q[g-F8=#x$cf+o#cGm|-;[}LӾgKReB QE369-?_e;[lb``eKoȐ$ #0VS[66|_xfJ܃$˞L\s6c"I V?66T+<ԪЬkk^.1K(nSim!l];Z`wW~'Xgߊ5aV6_}jљ!@k!ͨMOVZN^rupGj:X0^Y7hmCs箻[EYCUhFOFGe~k9{ˌ$@"0l߳l|ծ$E][$ď\)g Y)vLDCq+NR@#v/xSS?_%kH?oްؠ cdWֿOD HfM/*@W> g _tleOS􍬠u4C:Lx9L*3T/;]}F͛8mG:n}eT } ^/?y\.%]I("IL-[l?X43vW:1̟Q} HFF ᙭lvqnG,D,1ALD3G;q3ڞݹn[3B$8OS3SyHD`mdC ~' <Ϗ"/ +Yy"sn:uzvsxk'Ԯ>cSnqoՌ69dmj^el- )oQ-uٛ#P Ml߳EsK yND`ܗl'\Wqdv.v J%V;k.;(tS_\oILi^< [$c%ğ]'@Z&_㎻f9/<oȐ$,!` G1išE孨H,cGЇfGXEڏ(QsL^q#g0*b`7f[>sY]UJţ_ !'7,5Gd:<ʈ e+LGU8}Ex%D Hfvy*᫤XpnNH|/ +bȫSaAɱ)K&J ڤ:Pɨ_V;Qv RY1D3Fhx|&P?A_$hЏ>> LF$y{0J<cg[H^qj GƐ=xGg ^JO~5_'Qf~ؿBwTH{fm鹗64F bp8WtVBAkg IȰ~JYw:(_6\t̯& Ig BvƵ$SWYdUnoohJ`쿿g}Y]NX?C"$3@6O1jDpPڹ_)8y d+O'z[ ;?z *<+.pRTSj[?yeuB<'1WQRⰚ 6>4.x^mvQF}7:h 6˥DEvDc?\ ,R?q6yXuMlV>7eE m.Ks"$3'f(t[p d1Gx8Qmێ>pܘϼh#8˛"bSZ_A7g>㡤\+HXJKЙ}$nuݦ\ln[_v/Y>;?~aMT ∪gˤӢWBf{w.ys#hpzV6Zcu$ kQUbWizy,'JUN?Zlnpln^2c`1ʈ*[+?y׺1HYB`hy6z7'/bU[*brzfp׳ڻ/;3":BѶyF-IrgW'KR??ޖ5^_7+l5w= ndyLD`rm]b%݈cLGpTE$wq%ʰ|0\a A ?V)Vډg ?W״P_}`o^)[߮Sls^.@"&{UZ?Sc 8NMVHw\?,U"y ׀xҤ ?)c ;*77F SFX톻6Ђbs>Olm#~3>#aoUb:'N3,iu:x.Vzo*[Q-}Al@DڌloYrtb]DUX R|N? l]zm)0 #dӳ[$!HYCj4=p֢>jr x8dkڬN m *uRKP)Z+JmDM,<-{<. w˦?$cs}6S)r"iwņ&Mv#>l{n723$㿾6(h]C|9YC7p:&OtK\4"dyeՆ_AOXMF7iL'- ?zƯOA -N QBD Hfn`g| ֋(T@ "Y vqZ s'0F"Әk< T*jv)qmjnԟg 6uf@6+NS_ljc_kn IbwLq2K0gG-8RIs8J{J2[ *niS:rބ̤~&"'QԟgmpmTٌHFYȁyӼdlJt}>L @":oY+8}J.\3##AoXY$XU2#-orW zS `ˮ?J*q'X&~N?Z1)*;ŻdnlF!H=Ɨ7?  85(Ѻ|ϳcG,*؊_+}zP#mr$gBܭ@J9DU<ڊEO)񏾲Xc&as&1L;-O~Dm!H=/x׀9Snk  !Bv1Ue߆g#]BXG8L'dxK-[b?Hw9!QP_ $StttKlz@6޼$t%yR5kv<{|ݽ^C؉ro%Řhz='A&C"$Њ |I^.0zXv]\P 2:s.'s-mx y#H11J?!CRԉU\NT Y''X`hol`7en44Iةl6s;uuyyLD` 0oٖ_u&[P}~0\ 2յUlA:,#ѱy-JdV'ծje:?ֿg5BE6S_^D |g;|\X10\3 B }rvآ^J(p-DM#U$K &C_V4*=Z\_SUO4abj#v#,+, Q­L΅61ǜ!H=@cl6V_6\T}X"-ua 6 C }b|V_\PR._(Npݥ*qY_?_}jkyQDVLA3m[Z @")'l=@w{Av<|Y3l#l{~Ȱ`.m :e?t12^,Ғ~lR?ݻin_%{e՜%dKEK7Kw7wS|iυY`G5b#擵b`Mʈ2yiJD!,975C:Hn,t"{Ӭ19r|a@/O"^9Kt ;6qs] .dd4 7VQN_͢%@"s6|'?}8IXM&8g('^"_vxؚjr>y*C"${/}Ŷ'q rVq&%qlƪ@zŪDp|~>7ҹ).ɹMIL#SoGVOUՁuF1[y> fIԟobn}`@`DDphWzLV̐$Eb5ZH &‡ɿi7Q܆7ɕGM3"dt;=cD 5a"Ҿv8VW98zװuc laTzlR(($Я6r `CKHoRy )x" ڣnnO`^[c-fGMZ N;cOuš!H./\#=k0PE)(V7N-;j|t?5'c`jXU|F&b 2Y_!|t3eSmv˚Ͷq,?`m4%mQM;N=ڣ=N'<׮_sC&hZD p):t;j׉;V](7t`̔k'f/'K! z6 ®]قoR5Qrp}I2!H=75cw08:?̩8b/lf3`:Yl~5&ZQIHA]#;R^iԟOO71:a#\:?a,aw# 8e̐$^Mgkc^.*  GX *= D| \,f <0͙!̜_|e7 G8KGS&%yjQptBI(6o\gh.t' C!3$@" @vǮ+Wmt|}CqE^sl^oz3UjkY Yk#ŤG(Ā&)?2K3oИ\]@P nklG.~ͣU]hA?Gb*5因(E!YyVhf,h]Z$+U[m+^I\ė?ɎLT)%~1mga[?/I': cm&Kus#TR9aJ~ysO~XUC"${ ۦ A?[̴'nW 'Q /mZOu\dB԰o!"Ml%NKggN:=-ٲ"']t/ 8b q{)[C F??# (WG6R!ω@"5o6"'-OKFgE"N8 v!pPZ |h?Ber(~$'W 8>|bUR_f}5Fmλ?}@ xT!-Ә0B8S"${ݹ^+l ON9+hG7!9sEYc%hO.5 J?e_ם > vbn 9aovA[?+oo(o gj'2ߛ {tS>werem9)=Iud8O+։EcN-E օ;ـZۗ^ڶhmL @'fkAFj}l[7L?9߾p ;qq?gK~ ZQD H:oN?Vݲ˽%MDž/1SYM)1f^߇qzÀ>B,*|Th(祩^M!y6S?qK'Ƿ~JK*K*1Sw-{g̐$^ş/aMW:ofr}Bk_r5;\6CyUI5V\\hr9KbO(aj 4<+6R_n׬9p'(C gx,-Ab}gz_|!D HF;7ǿs=. LN=ZFFbG>txi]n?c=h GZVG++2PlS_-j" ^8|0mmr⿯?n߳aVtiX &dxzW<87ǰi?n\wK8@S0IJY%Ǥ&vSDۢ6w.te!Љ!4!S/`&J\?:,0z6uH{KRW:-~xmPWFd6|e.y%gHD`/D11f[UVIe6.3v7 +pHUͼöyIR ȓb6p0 hѯf ޠ"B;L- d?!U]~~_-c{kx蒋/Q[,,Ѻ1kCFAeRڹS⿗?^Q[y6 l3'o=ؑyZߨ1Ad ӯ}nLAr {|H1p-s_Ml8$wPqѵw49]s}6ك;-5Q%JOٮeo'՜OԟKON1!" js]]V׿\_%~3fi}vȼ3$@""01x ]<04ÿщV [.KWmSuHr϶۹މ[CɅZ'נrbQ2[rx(IP${Kc \yw-:,6[~ƉH$^؆{ 8#詑HW 2$@"W#p!{dC|*6b;'gzHrkV<%r8jO:uwbm]!TP/^ȕ,G礒Sw0.47YPGP mmnaz:{ ~ڡ{W+6 ɏnﭸ]_;!k֢VX8D%Eg|.gBD KjoYO[QL$m'5W40IwׄAQ$]cy(H cI80~{PF>?NTOF>RY54O΂~3^72.4~<0x!>Z!l_&;G+s"${5h[|Q Mv0\Cn $q䆼2T/Rkb<' G;p,Gp*%'%~ Gջz_r'("L.'u_iGӳc{ۭsc)Hm~jNȫ-y߲" gHTU-P:Jw6;v'h;^h`9 >, `ֆzhS/WCp=c W_%vXC_ަ`M\zMw$py5_;ǹx;xB}|ڸ>WR}}iVJ{οG=R%@" 9n[7>&sLWC2N1O7D۬@K[K iKrZurHoHFlE|F0 S\KqG *jHz`/S"'9̴yˬYϤ)fHD`B?>~pXOߊ%@ L_<$;㴣^N|.7|gtx1~'`1T)s&yRވTť.'f|nyLD`C`ȝ_m E6-'Gs/wHT'H)f J@{z7<&@""C`#zyܧ"bTXID[>d I .d,rSVi\2MïA|5Nz4s+KOs"$5+nqNoYa F`z"!$+xW7X ZiO|y9P)C"$\yeWso­1_k)Ѓ=9_z(v?OOͤ=;Vm(.yW\`MvK<9K)HRHE -Ce EF<+J?z[? s1w|~g/C"$4-C=6B5> 't?H1h IYNs4|SmYh n Tԟ+׹o[`[[C1Hiۊ| EL$,gLe݅KiHCv?Hu(I&c޶g26!?߮_\ID`G/aw-y(8% zhp0ˢHJ$u&EJ0[ofx&ʘ7ǽrHMq}g7nv4CęΏL:EET5A|q9ɰ |qO4uv9vAXҲ{`g?timD h_GX02*0G -rƚ:ca3`,+\ uqSOKt_}H]0 )_OW>~D x` 1яп\,o ")Jho#B",? *NFFl n%.e?k}2$@"A<佗_kJb+(#Fu_rYߋAj P8ĺ~&w?yx-hLfvd|21csSN\|U NOxCƲpLjC)Sk" qKx^EB{)1H#+/pDjT ȉ%@@#8E䋉(XM?iJ*,g;?GKÆz1/#_D H }6O=73rCBdէz9-k%ENSq?em&'`;P+zLlD x " v-D؆QW'<-FxpDf)O{ʝ?tyʉvc-#ǽ~8^qOW\h!WqP@};=Uj#*TM$\9AN ]'T:'+$ͮ:He9#Ud$H"ch׾llxI4#s'gd)1NP ^GumyJ] Eڤ ,n۳{ҹֹ43yLDO6|klތOn h,HX RVPL=- IP7n_)K-Ek3 ۿ%C"$d=/^iC?acyh(t 󹖲x ۙ?oLŞ1ƥl%S?yaN{N>PV/ vz]\ 'Iv]n×~.5  wI8XL}m?N.g߻/+hd0o"XG>>ӈ(a-Pԟg=df{1Qn  koEvúã+$]KZN 3uhV&+ÕSdSt;XXQ,jg_Cjt[|ۯS,ω@"7]g+.R\@Pg˨R],G<>F\bדFD`Q$u,?vюCD ؏M\cW޲9 ݸL4| 7Z;/O+REs޹qw=<舔TٱDˎE:A;4hāڢE-_?/-`%C4AtmL)W[")[Dɒs3{.i%˳wggfgvywf<{ibuBR'we]R*oxr_#KS؍x\߼\#jWn^^i o"܏c)GR#W*v^^{ |=jiޯ\G?Kqn+yTZBt5Io7IWǻ?\#zUe1] Ju -Foz-(` ]8w\y 傾-*%**ChTq봇޹ݦO dioł$ճQV_J{b, *o͈Vä .U2J辫OdGh>x DZٟUZN-7 Y6'ϿeKح2W/K237@Xs?-u߼2lكR'1;4 gd,~8qOr P~BI  IDATn2gy'ǻ~$LX @`rqVgG/H9?ߖj}loH'nd/aQtzA_8D 1jk?x;$O򯲀 +F$HKuI疟H*d r_R+^nPg D}DI7r#xI"qޞ½?Ђ; O?b: @X@PCy?O˧47: ($hGxkK{^o axBbFlbFof@ҲguN{/Iiz{x2y9 5acVc+b CA _l#{,Zcĵ<_~/x2|E*5ǣf*m'ԨHW C@_H@gOZ CRzڣ[vl:s S'VwnB]-ƫcQѕJb!;ʻkO*ֻo  |!y= B |UQְPi_- zu&z34-s$ +h?۩e~|BTgG /$/Wo˿ׇ22~?DkaUM<iESr:oIgϳ^yp,h{;r3dfV{ii2iK@mP0]zƼtHArgܽx MT}% %IV(skmu@.,@ _RkvYaC+?TvpžCR?MXܐomyTzd lGK/-i`O>:6OޕrޟxblU!YiAL sѽCxVBrgxZ/e;2|=ÿA_&;䛽ևJqRB(KjR~M rEH{TsHDn|aQ,b MVYʜ}@h*b b?'[Z#l/~tl|D2kӢX@6^{CJinΟnVOMhsmP4LQB[Wi4}xu?chRZHw#1<fN4?'eJ-+jũK<$ҿ5p!@ Vx쌼:z^ǦNO|P .d2 DaIP h]Œ'7[vk;=]wɮ5UivK[0c>225&͜ɑf%ƒ[4Ul#/aWI/bV:<;;C fp.?lvy]ҿa P̻Ry[}C.V;"hEoXq nFi㕽?6?VۦNX\W>S/J{tGҫߐS Bm)Hwt#)OvtPՆG\{@Rw}Q:%Dca.YXk7+wɊұmV s_t)6 |v}@u332_KW?Kh C5IE;FTM :$\c5qϨnDk3oU{zVͫͫ䏷oio9VL_ 'i8{Q.\(?ӿ+r0+We8':_\!票)R,?4K_;铲tǪ5Sԡ4Ķ^K5N0kSM==%OW]!쩄읙'4*G1!I㨿FȾ*Wb4wy Iz @J`nnNrVD  6&P(_6/7 M @ZبHYdΝ-sM\ @%066&RY;\pC м̨˯CSOɁ8#n '@ ɓ{YF8- ,><<,)708=F @̨/eȐLOMSHcGe޽ȯ ``o˥A |u#2>>=˲ekAN#!@hD2~vB$U-ӈ7s @`IuF!5OW)=6m$dL|Yؿ,1C <99u*ڃ=ݒ1{|. &lJ%;:jOZG{~. д|W^^xA9"SSS~-.ֽo>oڻݸ'q g@ pi6zecn  4;Q{}Y m6 {IoKboK!@h1bQN/Lo2<| J$1@ f'`sNLXukhag1@hww'ӺUVMnfԞv/\? @NǏC '}S ՝f{iygCXFؗ&IA 47u :̸l؞Τeû%5r -;'OIT ˪qtGeOpNۖ. p{ XO'NC֞-6H-8 \0/Iҁ @hzquk`Sͥ氭Mקw @h6##21>?$4{lNO_NX DTFDoF45c?TwOOP8!Lz(., d @zuxXkb{]V9Kk۳;[JkkM +{]^/ǃvR>{P>UӑQ{] @^CݨZ<'p_3({F_eI2 @M" حY"%nmո^\Ά @MCwkZչPn6N #խDžz:퓿_jcjK&0/3P @h>֛kI^]Zdž/YN/%Tzܤl.3 @- ra6UN"m" k^D{ҋ-  @F#GtN`R_?q]pBuq|Y$>b}``ulI @IĤWī z[^d؃ @Q ٳb6c8a?} @E9~߇0*k%j$,sJ܊6zj;Ɂjr %}yy @@H"k[B%m5]tRĥ^f5hbXC zG l2T}dR{`S )=Շ|Nsjt9veW~;K}ٳ X>ؗ%)A 4!1uV<>\iѕհv]I;WZz7N&5:, 40Qz'5N78K럾^Fi[˩AWjAy7F t՝:D;N.˔lR3!LfcM~9 @y u.Ғ]UC-.} _)&u* @h\wN:)b>e޶T럔z3{@ *nGi$/s [ ;"ORfx:0 oU҄ @h 2>>c $jHCzX2_aJz)6' @hOzzőZ٢zgΝ  @`IfdǼRj{5ӭ;x]ktLѣ'QB~K( @@HOj#}>Z]J*m/kWbIsYd @ CGz kvs'Nrv  @x{Cخ-,;ٯiHkZZMܹsN[ :o[R @h`չl;?;ӽm:j17ijN  жFt -& |u?}[tԞm˒  @`idiWquuf!7<3EIP @IDAT dU}_ FffHW5H4* heUT@`T€9FdD Ae MKW6]w_=SU]"zu7UA@@ ~Zn_ZpJRR CJ'+LlBGam2}SK˲eda@@9j-Xŕsj4vb[[IKiyg,X`N# @o <ˆjRN8m׸ꚨ%Zc1D?BC)e  =+vZY|4=MYbvl.L)9~=NP}W,YgD@X-lXޝE7lKܴeH5E{/`Kػa@@VtuZߜַb.Gu-kUL|xck̞t{7gWtM@'`_]etJK,(,"{7#! PzHe6scFP79+4?j=#<"iMx`@[ػ%q@@Lv4ek_ؘ{R{Ogn ̦w(vЍuk[E2b(|" @W|yl]r[Ѳe˵/]> p}J%`RWb+b7XK`}\⚰1] f  0z6G7?Ӌb5xkKi Üm=Y]h"@@@.{}K9nfng0YA1  ę!+_Ki_/Tnl/SMyWҭn `4A@8k9}cî:᫖5n=Gk/0k&ޭuA8}Ss=Ź;{ӥ/e2@3<#^Z6`ek^K2nm.SimN$@TupjJ63x08)Ypٸq̛7/b@Ww  ̕A`Wx 0|M>FOv GuλwgŲd }{  WY+L}v'?#K.̅W@H@mpIξO5·uyMzXt|Ygˊ+UL -ݒ8  ]W߮}Pr95kn>îhnMxpӳ۹UTmA}wib_F{$@:!SOkKοFhřNlˏ/N[ @qU*u*an/&X"f#]D?h FtO{9  @x@7'3R{86=ԅvn.Fn_q.lkMâIb:O/"Y p}o=?+tXYx1N\ @BeddDJ咫zr_(qy_b-ClڴIy{nMT)߳=\(7<ػ-@@"o]*wO_܃Yã듞E56qgjOQ8ޥBvu*^*}=Nn   vPޙ2Vl;/Nt?c   \r__t jf2ZgyF&HlhjMKu]Βk)(@ @@{.uwdevqPY6'7f_چ;nMثĎb͢E I;봼(ӚG|.,cu&@j Τv,jp}tԍ< oܸUzOoÚ `1G@@3mWGoޚjgJבcFlXϥoW: h'UNczO[ῗJ,#d@v^cv~Ӣ<}##va/=  @ XpݚtIec=VG/;VA^$t:kY={n _g@Ww! tCgkݖpfufaUPMbW[fܾB=eUU4 lez57Z_Х>,%KƇe@SU溫01 5'WB&d &|;Eh>1+s%q@@:"`\4^yf,6v-YLJweۧiۏkv25aLC>dLx9tZX,H ^੧;u+2KGJ5Z":W,ei'H3F@\z>/a+]B*z苄"v{ yxϕK 5?oWDž V|h*Twߜ#" tHW[.|(</- ?O sA@@zQP,곡>FP|܍z5ƀ $QP1ne{Ug8Oy'sF@u{TAR??jp}6;fiQ >W@@\>&h,m:q{`  v;V8#V3Wti鲈p;>ꨣܘ@@ iZMԖe*My'iE@->s}DBBLs ,>4Dp}$>\       o~!xfbl6/f~ wkC@@@@@@` erR3mp~:; ]r \:15>s      4 ębv .s@z 3!@} n3      @e9)Mjp QzKjLF 03(Ns      D222"R7 _g%Cp΅ >x+F@@@@@`k~\/U%-m*d5Nå;!       0 >>I׭]WHwW#N2׋Ţ`*.[@@@@@@z^3k+( NZ"      h kg\ued\(g@w# $GԔ>ajbߔMNu4'N;픜L@@+6ViUyf@@Bp\.+QvmQ,=̚y \i@w  @$P~dv?{VGO\nm  4bA;i-Ps] XpcGᇵuW^&r@$s K@@@ ASӏp@@ EB-X}Ҏ坄XN@qp\@zo~Z&B_Api7@@`@en[.siD}>;e# ű^/:t_X\ LLLuL{(fjtTql^}X  0@}}v{fT5=+-NFQp +hIǿ8/U'+r@8sT/Zk5~k*>m\)@`7J@@A>IG0EfĻGPy³> AZ@31}7+ZiU!g7Auko3dˈgAvؼ@@`|ej0etyZ`? .@>^6(ٍr@B6^u^]⧪d#L̜ @@`Mmk"M]~Zgw.]W@@\yG/,kӪӏkB_jp:p~O\>ׇ [b5  3hJX8m4<58\) &^( qk{Cg>s= },0>>.###R*\€c|@{: \̭@@nZPvqOztz}.! @ {qU\Zpj?vXp] \rd5-!ڳF%Ͷ@`s7:@@@@@@zP,|,R3cqAukzP @@@@@@^5 ?99N'mv:kXfAuA1 >;7      @Ze}A[A0&p#mط͏o#      ˤ 4ުu\ "@}@n4      \ rR*"jRu.dH&B dg@m @@@@@@ >KqLҠz>gB6lbS@@@@@@)P\fkrd*ZRW*LV3G5Ȟr,^{b.@@@@@@ u(^?4](zh8@@@@@@&CI>>-s=7g)s}?\K@@d Wzq`=l6ʪU2~)hC@@ ƊKXjY]i0i[d $L:l'DM'7<+t@>OFohf[CCClbhvI@@ 5X-=mMj`<ەY$@@@ cbOs{=;I3 @ꛅҴ"Ɋ׳۱&@m@@ DeXo0ծ)Mp3   v7D-ZN@ erR3m?~:XE,Np=h0F;ػQ@@ 2-.V֓ɔj-[s N@h+դd*z0)r4߬@:#gK(MT׺U8s@@&SKM(n>N{n%  cZAo+B׭/Nb@,`[j#j[HP`g@ `7GC@abO7j'kekV;M;>@@ !]|c圩2xs9e@ ȈJ!k!w`ܶ.CpQs @@^>K[m"<ɻh $  `Yc c&@舀5 ?b}ʺqhUZo}&u\ob  Mm  5{=Z->j\==@@\8>7SZsߪ3Lyg:B# >>I_{~]zZ/Q喹n/٘Nsd@@l z,nOvJij  @H_}מxc]4 Iy\mvz4 Km\u`@`-@@@@@@])kO.^U244D\ I"     $U NsEj-^ s=a^ ws@@@@@@K {<Mozf {.p      }'2k\u4]?dM$,@g̭D@@@@@@E H&Av]\_@@@@@@D`bbBrę![ݍLSLl&+FG%ysPز-      33KxЯz͂\u@@@@@@@":K\엑b(dg@ C@@@@@H@mp|8?U's=1F ؓq8K@@.Xhr}ȭ*JvVBܘ@@ iVo+A'[w< L\/V܇GdGufV^   @O3p*u}8mP= r8_N@ZkzVjk`{cg87f{@V`||\FFFT.I*Gi4 ?6\x'q  pj֫yZӱek%47@حt\2Ns'G1B@ )Jj*F%m ޿G!  @`OM y֧^ 4> l|Kga@@  E_q 7@6 _j@_[ij{-խYx l" Q&  @ cEK^^v{u ¼Ki0Mvnp@@ѕw? TDC-?a^(?D [𓓓Pzzz \0@'q  (-]#I\Gҧa[=L*L# @ƴIG] 4 \wte:c-@=G@hzã/oW׫"L!tI?  @ƴٚIM냱dv+ZlVlT8; >@@ cc)_M-$r :Je=VM0BkLF X/@=+@@h@PT&Re{h vtHv tUwRPcV\+=`m`  w}tJ\   Y*  @g\L5˦?i2c I(VqŜP֩/bO, Ij5 _ ~嵨n!jٳ<=] ep  л6lЇa{,)}ZݠwZhQu@@ lܸl]s-?/u1 MF>-s=7U2sI\       @Qkw)m׮3Hl :d2׽\      Xp=I\-ǻ_elVVP= rE      #,d&-C=[4>ׇb$@&ׂ      0+f7Rql&l6^\      &&&$fАgSF\נe@@@@@@@6#gK5m5_3&qH@@@@@@F\sRQl~ 2dA`0}*@@@@@@jeddDJ\ojf :f4vǹ^@@i~_u[JGLIEG)7r!  @/ Xy6)-X]?Ly'0FOk~\/~.~*u jp>oB`g*v  }/P+JZ#YVZg-0˔r@@?Ɗcs4ҏVa;U!8\dY܋я`bQl̀+@}p=W  P nzx~Nkճ~71 (Zӵ ةL) e|  o\kzmv>[F3R[2s(x'  @ݠꃵ5J>epd@@ aVk<.`P„XN@`FM?<{LG>jTft6B C@ 6o[}vW4o^6Dw@)^(bLvޢ 4 fBp\.w(F;zv@@ .f“ lv[pO@*`MħZqoFew1<}'s -,~#Ó60Zj2s}z' 0s  McD^Jgե׾_g&sMe  ☖o4}=B ?wp79G@>~Yq-vDz !   @kp=O> gd@@ ű1}PK8.8Ԕ($s qp\@z+vs?uc&@(,B@Lft#֣.?A糓>\5 !P+o!W[h"?7W Ąk.\?y%ج?ʪQfǵ#foU  %`Q,7˷GmmFUS҂dt W @? tZr~l@`R)Яz{Ǭn sF40,F@<5Ƈ]v٥~;@@Ԗw*B@X7D;u* $Hup)^E/#"@ `ߜ@@@@@@!P\9?U'sIآ-      @/ Te=M W5&r jCCC|y       Ȉ%IUR^nPl5̂4 4#LT@@@@@@zJgHTgjLVF f-@f"@}&Jl      SfK eAuk(2Cz [ؘE `!     ׭YIwJy5^{a 0[+@}k@@@@@@`Ze}ACP=  -طE"     tMe2}A)[k-^' 0 @+      \.'RY\s!K=LUE2  ; طU# mT*%*<<Ⱦf.@K`wSLETj@$>KqL:%l>gB6 0c3bC@@~(}r`(u憇C@>(o(-rwOB)P\f᫿]~R_ӥ-d>Al"F ޛB@B@}yZ|  6 Vrep>b C>n{GuY \a!@@@/\>e\ >1  Iv;(*M6rÔwx9g@z!ez]jU&} 1 NM  hp ?=T@4# 0cV EHU τGzB>n?^:؋Y̞գ7ud{->@C;n@@'`}[cym^W``@#Q)wc/6($r @? Xp~rӳyX'fYY5JC5!@`i  ̽@a.i0y]i[d`w(|  @Zޱbj?j{Pj?ؓĻ9#!3GYIc7[_eJ3s} ބ @  $_Isځ[E.9k@A{՛?w/FVYGOL׳ gc  &md7  &-C-˦0er9@@ il@+/`Oڝ|@ LLLH>I\8xwp_XP}ttTTL @w# $G d[XsZ]'S)nvOL'r\r.3E@j|yb)^,#5\n[L" Y8s\rG_ټeWEBn`2@@HT|6к.Ne6f@@(`e?%;I3 L\K\wC^?8[_&#B:f@ػ1@@@@@@eddDJ\U.D1w\$@`:D@@@@@Y>Keep5qDo\&* @wC!     .#\) ]WH>ښ-sX, A7@`ϝ=GF@@@@@Jy\m|z>s>oEW@@@@@@>h kg\ue>R@ ؓz8o@@@@@@ !!^.|SfkvQ,=y \i@ >3@@@@@@V;"?}7Eӛ/;sن% 0p     ZGnMᆭ}ig}o|lMg`ӦMxvL^{%zիdac$dn 6h~ɦ2כHX="@Gn  0CgSTn# PIB͛W9I 6/K[G?n#]vt^җ??ɑG1p8^.k \]Ǣ?Ev[#넘A c7A@;bqLn$\*" \.7w'ɑ@@m(۾lc>XSe@~{宻{O~R9y ^U߳{9w\ ۱mކ=CN>d9pl g(fBH[w6UfG ޳C@@X( Cص8]iAvݾ3@%;Z/*r:$A6 ]V/M7$ofO}Srg{U8{/믗;v1*gJ@Wf^7^ 1  @4]Cَn},nUZgO#" @{BAtZǛ N [NnF'=6~6AVvMN:$'>!6;H@zS,";_FE0 3 ,@  U_l9L"]?]- @(;!ݗ|?wڈήhnͺ|Oa]\~ri6m$.뮋Zl|ߔ<0^` ׫.` @= wsD@芀)I\ݺ\7uVE\>ו   @\yGw5V?a;gV[׿g}v]mvZ@IDATJ:q_%y^7~Ê/| bA0`= :ό^}'m jCCC@-@@%PsO) W㴍j8  nBa(ވ]c a`o7=C`gn y3|yen~'ʎ;(_Wmyn/ /9#;SnԔe~5w9wdM |o?ܭadѢE2o{3 j𥆫>nOxcqAukz 쉸M$  @7 cEzh=k6euYC6TR><܍  @cᎴk^C-?vzvV X[n?uߵuj_Vnfw\R.yG[ni}cԻm]򕯸f×O9 /~X %`uk~rr]x5|^JT'^ua '@=y3F@o1(4>aw[˖u -  Y;nC[zT)G-G(,['@`emж_~ַ l?w[Ml"~\|M6|FVXtؿ~G?*]tnah~I# ]c1$Y{     wv|?)w+ [;Xg1y/k֬ۅ?,G `O|@@@@@Z@߸qc]'?Il`O=򕯔絋]'dɒ%n#<"*7xc5wi}0T*֤H&B dg@.@=wG@@@@ {Nn9c|MG} hwq.˷e_\uUqa_`Keҥn]w%e,n['Hzsݺ Ҡz>gƖ  I"     @ XfA$:K\̛7-nUV6nY+;=qv{}[L T3-^&Sђ=h^{>jٳ={m طV@@@@@耀뮻eW\qzꩲ{.׾r-DzWr}@5%O]^x3+P\z](z@]@@@@@/3uN;M<|j`O>ٝ5 _ns9G>… nC=$|^\G1+aqJ\ߏ>c;}wK @@@@@$ LMM=ܣMlWNߚ?OɊ+dݺuu;餓ĂwdllL,~.{݂oxg?Z!Q`Nrtd{ >@O@@@@@؜/}{?if`뮻N֬Yrg/-۞z.r/2~fYY5JCL &@(׃     9+WmWJ/_.7t]֭{ ^ ]t럽ncfNghQw: 0nuɾYxs}hz+!!@`{ɕ  lO>t2|'!  D+(eaN.Zس٬boe޼yrȅ^(|;gw f7R/HXpv@~ wC@@8Vw~u27ss|  I()GЉu*qvwY` V+_>9W3'erR3m?~:MbVXPz` @}2׈  0#b*tNS)#o{Moz~-aa,s/Mjp _{&.ҖHP`g@I m@@`bAk n26j5#@(25^+L,)#0KoQ>=Ӵ^+^!W^yzMY|qR)SNea \&  BjuWdtmْ-@@7}0>/4L 0gy\Mjosϕ}ݷi= -`X륲^=6Gb{-˷~:}7[Gk@@` 5{U+X-Vh\==žX G]fJ#'?ÔwzrVtH`=\uUdw}.w#\z2σ?-׺>W#neZ6f@Uy@@I}-nCZkܴ}CG  (VѨI\ _ '8e%{\kzmv%>EԣQXj]:} @@TUIZgLU$m:CU3@@ YVyk@@ B+h8)d"O/&rZUկ~\~rAz|Bp\.oi G!:y \`!O!YO&&   ZLi(~(T6䠗  Xs kYgJ:ahdžA/;#uv7O/| =:ڂ;"?s-d`0``@@@@@Ah tIreɋ^9;~XpxK_z뷴@ҧioU~\?.f(@}Pl     @? BݲտկW_2ן~iywi's=flV yK_ rglu73 [/iLVVY2 4 `o6a      #0Wv _wur7jruE~߸lz5ʢE䪫eUgJu~kx1 اa     /07׾5nӍK^K/|a㪺Onlvr衇emuAzS,5s=_FŢX@`z۰@@@@@7)W??=bmG uֹcX@SN.8뮻,;faf/v޼yxkv2>׫.Sy2׃c@`طl     Yg%/"O=뿖O|r!9򗿔/\nv;F?M#<"/dÆ kƧ~QGeo;^zY/7B8LƝ[p}T\W hr3@@@@@#p'ʕ+ KiK1rW5O]n.~5 ߎ2k}H.袎dgeddDJ咤*) W49ER ,|, 0#3bb#@@@@@K;~,N>Ybx裏c.rqlj׏9:c5\#,e>s}Dʥ kBQ=haTluS@(@}Dl  0(VR[)}?kyZ0 Yxp  gWq,bj'D;f@>7 t:`']vX>^׾5 Ă{9{Ok> b;IW/5խxk*OU"٬׵Yx3 lbk@@>()=o TJr}! @? ]y-iWdJ/U'7g " r[a{]`~a6v^~ޭt;wC^5N|K_k6Θ;Hk\Wa=@@ gk&5Y+.>Nsx.@ vTOruZhg(ԁk6t` ]?SϗL&ٱq'&&KߥRYjRu·э)3/ bAv@m m~|@@Eץ5WVXe: 2s)  +|^!Vz?>h\ t:~%W_-s:v~ [3z)\+ҐҠzFFGGuƬG   `>-CJ5˦?YC@@ űq7:O{˿KK;qvbm_}N:$E/zQXqث,|o_m{y*zdNplNr.@@`:|.%i{._iI @z]70V晊J=|/Cm]_k׮wK^W… 峙>=\Yr7 8`6ܪlڴI|A9S;pe]Γ{nzຝwaTIVd׳0C{;  @_ gp.i>tF6iIj   DjQp.E&xw9gf.p˝wY+B>-׿ue͚5nGq׽ugg팿N򕯸&7lwˇ>!9cIz!C5z]B6[~:!f@ `o%{B@HU8[zZۆr>n|/hN@N(D?P8$\@t:e[& o}[K/Kvŷ\._,~E/CJ!snϪ3 u' ae  Ixᇵ:_)bJm-e$^ wl2q´k?w s='Gy򗿌o޼yb{e21)&V^.co?[.kߵuOf/ ؿQ?'il&Ud(; vm'e     5~=șg)tAO}JN:餶\q䪫ri.n?yk5vr'>s}DUйø}VB,C%@]@@@@@&O9唸5p]wqqals`N=8{Z[cdY͇kѸ{6 I 1e     hft{mdG?*k֬t:-׊;vmUuִ}>I\!aZwf&-NpݓtC{79     s,vkG?|K_5oߖN8Ava9Pz5 4ްe\@ @ @@@@@h`+|nm; v p[VQG5mˆ 4\"[2wyi'oY.Rgye|rK_R>xe9)MQYڪ2) Χn%3  Q^v     @o tMv?q,o~]wUN>dd555嚭_b?pa# =e]xʕ+.uֹoz.n}61>>(Tú >,D!@@@@@@9h O?]s϶?,~_ t_|rGeoڴIl{4Gi`'?I׏zCx\_>l݂ \^(|+evJOM[#zUگ=P]메d5NJL# ]o     ?;k:r.\r\}b6r'ʩ*K,ŋe[,7gu ӟ\. _BWW.}ƍbVJ,PmL.yի^2m>>IAXʯF6^,  s#@}n9*     ]`?f۝^{1wXSwd_r9e=p+n}m< G?^,+}}Mo&׮]ߚ;y ,}\kzmv>Ez<3sWo+$@}n6  ybsn*:/25ecHҥK6#" =*`(m,,]GB$ ^Zsn}k*y{s=f?\tE}M۶7((O<,[Lw_;#8Bw,Wpx]M4cuv92GWP] \0  tű]DY=Bk/M # =-` ͔cESS{:89H+WtͺOws}~baM[쭆#5yM|I~ ÒfՌ׏=vD~X\̺hzYE~u\oa  0Rc# eti]sE+Ų4nUWDr@@dǴ|T *PI,H.݂zu]3 }z0r5я~T96^纅mFӦ@zN{N@@`\\OiM?9 1F@ EB-N(DWQS;"<ٷt=OZofگw|;rW\18Ar[iϟ[J =q8 @@^(jFUihh=si]+B|>{*nΙs@@F8V}٣Mo*"@9dƍ ?~W*9蠃M g?.aƿBdeh4o?Pzl@@fˈb龾mbڌV>tjc  $Cw_ܪ '8K`l3/w]Bz  @ `;  ̙Ij=-˚wUZgl@}nF@m CVIkIU6Buh@vmgM:C=^==d 6LϒLBbp @0KlN:@^,!`،,šlclkh;T]fzd-3^uVU>gxFGwKl;?_ǖTq}-|9> ߶ %u W@ 0V'sYW5^c`Cs L$5A( Lr*@2.v,YD8R>޽['k^yS" ,(噉@ѸϮ<&0\Op!> B@ "oBu_|-&Yff @HƩ$vw?k.FޙZ-[W_-7eM2cE]j?AF>s;z{JJ ¯w\@ha[pi @3KξFݔ ]jg1M)O?0Z @SD{au=*Uy?? ygS  0}{ɇZͰ~)\ os9!+׷o.֭}3ٗt )Vۏ> 03 !@ @ @ٿu]'.t\r%򲗽̍zԣRa[u280A=qhhdRղx @ ``ogB @ @f=11C3sΕ f߹^nی)m[xej  F@ @ @Zm[;wuܤ^nFuE2! Z@ @ @N0f+݀ntdTO.@޾ώ+ @ @ @` kes=j>5=C0c\EsiK @ @ t;vȚ5kd``PoD]Ciza>ٰaڛ~~\= @ @ @3@`l4ZQz\?T &0Ƀ2!@ @ @81-|am{+1! 7yz__MWW#{\8B>H @ @ N!P6]Ez)߮Ը~=2Bڟ @Jj80Nzj~CwG*8 ?{f}{ؑ' 5^.3/TU߭o  ۷˺ud` 7fY> @`> 2@f#۶]7Hmm ns}`P[ 7%G55C=0Ϟg͝B YEVoڴɕiwPQms 8JoJ2Zn_^)Tҽ9>$Wry @` s&[^/&̤cWSVN;Bm;*f_{-~=r}ƍ}Z/!@e ``oGÅA /{tU݀d ʒ+OŠNIJj2[DUO? cNΌb"K-Wh  @z.v.B4seKerVOӥF@`q}\/n omq/XKsPp@0C &ݤRU]~hwDVܞL|i!om5XԲcmCjr @SL ;TQ)E= œ^K坕;STNa,r} 륿:/!@ ``o%B ;[յ[Wu#QQk6wB`>3K4&`b7{Xn24aM뎃 @L`}.wtDt?K,+حg1CSD tw;sgTq}+s6 rgy!@@U]7ݴvm u55=MsWĸiK7L00}Vw݌֥W{Xq@ 07=u'(p:n}ռ{}/CSC\NsVXOR}q\f1 s @`W(AaRR;\{|f|7y Rfim?֤Njc5W @owݭK_kc2$3}ϒ%KX>mO!$V߹.{`Xތ q >@ M7eL U5,nHϬUzV7Kz=fy MjU+yQ @`f7ݤbjduK**LSQyg^陙@H 3׶wb}:oW0|ø^0i @Xn]ݤuv#+dJסE+^L5]5ѝ"P~ҥJLp!@9۶ڕُdS-,[T/g{ ;vȚ5k$[OMuԯѵܰ~j@ ``Y @`.͛7.SD㸺zM=Ҕ.n9WEKjՌ趺TSxVkUS8A "0<<,o9]T|{4ݭwc@ d+qZ Є&P @Lٻݾ^TùmvUus/hmjwu}{RMuaU{eFXw&@  ';*n=˞Bg2[ ,&ܸIo7}|$@'}w@ C _nfd( iMWR^ٶf:UU]6ےjKVΝE8A &0bIu[ɞI ?/$<BޙJ{Q(KsבǤ0\? d 0 ``ۇ @.wuN/] m3\}1)V[R"K)wlCB bU*n;&3ϲebˁ rƆ_GW:?ob̸^߹_ / @9 ͹ @ Сl&}=[_ޥ:U>7ԊnFQ1iX>{{Ufm􊾋t5"^mAڋsfi‹GdwժUk%9 ۷˺ud`p0~`T>gW[ތl R 0#!@@XuV2yT.ڗ^J騎+3rX @h&k-r?KY"Oˀ+@[^!ӡG/u߰^jZ!/^@ ``?<R!@:lf]եbU[~$zs뺦Q]`X4-+Wd5W ~@N(wn|nc;؏M ͱ?ծ*Oq@`2㲤G/̓nFu\@~4 @ 1|w놩-~VwU¶+(vWwebrq@ !`]*&<ɼd6c,Y"X:7Ǖ@Pf\mw<{Z$S'X)z" @BP  @@w.p.WWųzM]:brWn꒕+(s-e%@N4c?u]VOUYz[}@f+uF~u8 $z # b @OoU].vU4n1V:;j{7j\B 5/]TW{w@LkϮeo1׏FYבw:pWhWr}Z٩\~_m; 0OƇx@8؏y!@:@Zw:R׌fjzPE]KY.Z}{\1@@wlbTtrDOU`zE҃A[@{رcYFFYv?@IDATM"}}}a1#; @x``?z @h{۶m]vNFJ]}qLYcJKK7d^_m @@غmU.ӨFvl2ww8!nh۷owd+׏+jT׫[; ! @ *M7J>[κ|gs JEVH{{{Cg@ا*UB fiDz빲&_u^ω @] 7vkq,eo-tE/ޞv5@f\_f Oyn5 g}ܰH )&}R @@غme&U-XU:R,]3 @HVwck[s߽|y; tr}n 3Zm ? *ڋ7wC)Ie @L t^Wۺd{R}NEyz;?b 0 seLwV+wm ?vu 8A3a/GZ_M̸^D@~)@ QnvTŜVG^XQO ^}@wLڱPCebŊ ;N(;vڵkeN]nG? hFu&< 00O3` @h/###rӦMSn ozJ%(Y^ϒ @9}=fJ,߭g*m^X@H [>8~3-5w3{WX^dK @mHWuݥb7ōu5R9\m4d@]b#ufh_l,pL3[fةu?lV Ĵ<}}a/!@Mt~@ #0<<,oj"+Wsݽp @wn{Rv=&Yތqؾ}[Nq=7m8ܥzS>DB>i @ lۺMv))r @xڣ2ݭg9i4m;vBl ߽? qwOdE    3ÙV @ڌV,+W]m\@;6orժU^hb@0Sΰd]+!_[=VoܸWOP @H ``?RR @unv1"+X5=7 @-l;sh f\_+׋ە[zgVx\ YL,~: @ ت.;z{{T@ Цwqhcj?+ˆlK=@@{'.  M1r -qP= C+RذHF}]ԟP5;rq\;>Rnkz<*gzE2oT"w/YHN;UwR=#s9 T8;O6n(fd * d.@f5&cDPeTcXV*2V#r8w[UKu#k~t->_O:_ jڝU@-Oq萌ݱCFUF.c?)]t1_]|fL⮞~ )c4Q\6`x3w\@@޲  @!#ߔC/i 6Ydm&mvB3êr [gyL#;Pf ˢI]V)Mi8}wb=Cһms@8FEr;7U3*DElc>^Iy?TOāBOМ6OxAd c8h'BWU̯Da5ϴxCc<];:L#]L@WUس'j8qĥ`.?AL1cZI>5Qnדg&h3h}EeEfb8pO:T~_zL؃ȷn'p|u[xs9 @D{;=- '0r`DvgJ̴ʤGֻ뙛T1j=PוVOXC2o["5-?pZ-g~nL&шLL^r}V17>=+ ,EOqEY^K\^6i?מ3_dޟqs ̸nܹq(CLgFu .  ĸ^@Z;enqe)pE' bWG8۾krmVVj JjSf~: 2WIuYidBQ~ur?Sa(h%ɒK<.?*49& ,XQIEb>O=Z&lO 9!WB _ܚc;b9>_eu96j8 0m\OI{L ME Gg(8Ocb$X',s"]]68 0|ڵS߹4oOL1OƇx@h'iq }GoU\%vovI7d)aZdWM+cTJerc;cl2hҲxD2׮Jiaxq w#N9vM7% F}x.7g#$q\#A_IKU:KE=A{eћ(33;d͚5200Lh "}}}a1#; @ ``oǵC pV9I MlcS6vVckrYRX]+)+7FjtH]ޤMô#/fo*?'!JFIkw_I3\ ^cr 1]T|x 4W=h,|UUI8 p\o\VIux"  mH@ZoV*1]A̫[[yWˆjj=sqPj}j/*-dgOSJ<:CsSñ?&~ 3 8 }S]g^?LvI |?溣OZEjB.ݘ?DGP7IE^Y оrd*)+{)f% ^{eٰ%\mm"Zf6<+KV @N{?A %0rp[v"8%lJ6%EszBTFD{TPHXfG{ս?6b5ӾSOO;7e?,&ȁk?"C_>Q cBYbU->GZ}Kbkv%d 5bcWD~JM1]Y蠋@ٸn^v5iZMׯZVN#@hcq $ m ~AQ5 X.krE)*Nhn*dWkWAk VkCկa}Õ?qdyWXE^'@VVMs,\L=4cMti"cj G;FO2awh?OE}^R&pwڵkr=Hi&/>K;E@!@c``Gɍ@ 0|J0s};NU7)ӅZX=_ScJLayܞnu?[ٞ ?5S<>92H#!wWFJCOE7~ qKTz8M^Mø~$A@{Ϗ @` m#Po=py3WHs:*l]mtMܩRWPX,JiNڇ*KO[{=!}$\ %ƨbFn87&+! @,?&ޘДFC~I&XiE9941yϹT_s@`f\_f y=y gfZMnX @D{=Ln '02t5!VZ*uS"?CQJaɵ ^ dK㨉0E2a]y19$0ß7o 3 '0/_ 'a$?&˜4r;f2%+K]BE&Xy50(~f y_14 oKB]~w9N(+;^>Ys'޹ߟ"q!@G{=Rn "0VhucYN6BfAtcgvTʦ)uUQ{^_C]s2wt;C*j"sNj"tZ ^5RW+եK,{<Ss.wi%ϙʦ3L,3>&~MW3CVw~39m~}d5=xlϫؘ!Vga ;dڵs@B%Jej5 < 0w#!@8z w˫elIF!(rE5Vi]?:U|2L礪(h#ezIzt/?u<۷˺ud` C_.ci}כ!f !s 9^%uPuS[EeɵWMSA-/jW6heޣ9{rd5XWv'Qȑ-_̼_bZErX~$Zܙ$K)v?p8??y4tQ8":3fPM7J\WoVx[*{_<#m,#B˃|65aa҂:QQc; Wc嫞~,|_ɜ PjD[H)E[,_Hs)cfB-S;LivT 03Vg}2㿑Cu|_]iCXG5=OS,_Uq|Pwd7{7tzG˛&˦ꞅdL&0~dvQQީUTl4Y8lzMQs$Yt+rbρa%FG)E'˂>_ ?CTtuԔ_AwnGn>;쇡փГqyoy:@0SN+vGm퓉F)r}ƍ=eŅ &g^!@yw/ݚ')Je/:)Hhxs-kB`2|~UvRճT?*2ȸ*&C8ZXp24mQ-Jek lYuv)A~w[& .TVC -"]w|;ٝZZ;6Ϝ9s|\yB#2f;16,U3ϣ'7i3؜uCBDxQxdWA.c\nG?-/>iJHߤɟHϜFkuzq[xG6B|>Nt_;  bg!@ WMWr#LoNՂI`y]"+2' *jlGP`lіfAV37=O8.R`KC21-{l0^Agޔ&nV"044$7tؘX܉:׿D5OH`_(|OgE 'N3A_W勤j" &Jd_8[KC(@ HBkOcЗ&hN}6{X>f?@!`q/x_A1uiq]'o6_<`+߰^; @8r؏9!@Tzz{TT2v<QV(+B^ Z/MݕJxnjZgɠEXE,S~ڇlS>m d[8x& ÏJɟ: sE.)8v嗻q /#҅pv냃=d=$l5! q}+34x @`v>?w@㷩4Lb2%kDfؕnaBWls]*U25"BrO*PU?!kZBx|D([C(ڇ0E\8ڡ oU[ꩮ+/6nbeD8N`Ϟ=n\g׾&###3=IO׾;;2o޼ɲ"p!y_0شg /.Un0'z?:CZ6o)_. ^fj,rQZAl?V?vMn+sy ]F񡽦_XT+a006j/|+OB\NsR';qWxH I|5 @6ݢ1q|QQ]eN7{93a)ʂ'KLe5`U8Y]I )I}f VB៫a~1IG$C?xw:ߵ|YÅ+_W~z>Z{&ߕs6Mߺu~퓮zrXiysiO{zC <;T CgS )ha2DԳgp]·u;#  dHrUrcb &_cxdR!-2MqQ~4㿫&'CnmO \/s=T=U(+! @H.i Ncޛ\MAl|VR=Ԡ*ꬪ=eꏋYΔ~=c]І&bS+C#b3/@ʼ@,y݅l2K!CqĘt4Ķύgeƍr7 GZO?]l5W^y,\#nڴI?e˖-V[<)=O=ܼ$>Sfc\D`-_WgBA!FC5$TXVrǯICY5o@?C߿WxKqVU5h']^>qviWq}p0ߌv߰rmǃ" @L @f1-%\\PXU_f|3+ X>*o9=ٓ,g蔢KR,E=EvVgriϢ2Oޔ-DN'ͫ,r.+bZRt)PT(Y?r0{}wC5ے~K_6͞qrH<$ ϙ3'e+w}؟m1\M]8ܣ(=WH i'o{ ?s uF+yI~̹ ^&̣y+rϢK<W@8RN,<%x$O^?7C|_|uOg4K\Il>iWxړ;d͚5\. |>!WtZ֞7UCiK >"ULѐW8D̓kUqh B^æjzeߙ)%RU^֙T}rWΝ}m3VbS=榸N׬L^X}wN}},1},: Y,)mD׿͛7gW-x#ĶhO<1YCyo5\#7xO;4y_/W]uCUC:.{۟H]}2ُK=*DdTTZLs/~,|KrGr-!e<>59O=8>{[)#7~[ḵꩧ)Y#m#uV^a}.e[2B 0'B YC`l E_*dv!袂2)LAK!t-+t:Du{#?~~ /ũ}470]W׾9fd @9 ͹ @, 0ehǸMvBW *lʾbÕRAZ)[%{>C=*!˫=fX(-Y WUńB#*H*)F~x3)):roMnbmP7.o|{ߓ}CrguEoo[_crMozX)"W\q`8 0S>?b'7 m:g4C#A g˂i?GMvv!1y[(R?c'_>jDye?yNah\nì\/r@ِ@@ ~yS%Rfn!yD6U%JJyRn.ZI.XCH!#]Ucg;:Y s";>J^IG.7vvi|}=Gm7mڔ]xZ%Kȟ,X<7H뭷訮Ǽy/_r%)NWVFKڤ~y ٝ(a1d>1^4\xy"g-ϟCC@@ & ;aSҢƏ'+u?:9}eQl ȍz[߱>ޗboKf\}[4@@kρ @` 4 +Pl9i̵C5 h/jװ%yG[]] ppeES]YCL_$jjBƉE6@UEE/iN!NW2V{ūRҵ@_5Lv'ķgO}J/Ν;?o\y=-?m&G{・*.\(oxoa]@SLqhT\zC 5a SfEcףzVEtiiOK $&ė>O_jo|YJi{f9{5+sޥR\G`n:+i9&77 I``  t6[eߦ XS;U0}ERZ>K u=sog -&I[xƬQ|e_@J\m4=h?)덖A93ds!dzک?Ot@T@azF>}bIעYӺ+_[n%Ю.^ߜ5j0p?MxŕyK:|"φM濅z]{Ӧ2W=40#LXU?8%O+߇6}ƿ']>>h-a:FcݾiZ_MoX/Zm| LB$` @ 콪P(j՟r/[e:LE*݋3朐NJdG!4 薝R^KR5fm'cSdtN:4CԪIe}'ДGnف“)8y@ӚR;oeBJ,}fsni%??WU;k}&k׮=yr饗f9toCoԷlْUcvi꯲x<NeOTimҥum>SZɞCumzUSRY0TW^CVU)bY|pnٙX7g ԃ'R:l8e*w7+iػ_\GsX3vG3m" ^2Jq[@-+ a=>LDj55r@ p09+rB AvuS[&&7ZgS&6fxX^w/8W^q1ecR7l<_%7ݰ©| wH)KnY<Ɔ_ƪM߾M/};<HUoܦ۫y*-v-CַU>O=ܓ]^ \veYxv[[wΪիW{[Oӳx<N^obV69hvǜ/>?Lmpٽdd7X:W[i[!{=O},z?+M -0m ^}cgv!&øBgF @:Ls!̂nζOM9r⥱LPbj+قT1-d ZBƥKˁQ3.KJ@cSNYz.SCo?:>s}G1C~e?J.Z*~ϮV?ϔn/}I7V[u֖㨝8:amҙK:Q\X?&?8G LĘjR+3O.-9ĸ)B,=Qx\ۆG?)_1G'l7{^nr1g@@{Ϗ @ <ݫM̸ɯINv*uդd/Ѵpgjf/'HNIWPjZ);_u$$G@IDATRpiiߡ{n?z{6|N[,E|-5ۢ^{キtV-۟'xQvJ 癿/:FAmόu 9)vyj_&W{_7|[l2+ ȩ/VGpy{ АZm'#D< @H ``?RR @c4=(ިv(>;^T!)&=3R Td\n\,rIAʴG-d9&o5y\$K-"IB\j+vH<>:[:[0"}}}a7U" @s``gɝ@ pn}RWlbٕOPVKS摚gQql*QZ[%$%Jpc] =RƸ/OڲӸ6?[8א?]*G>m&4dV{4$5 W5Fr<+ ⏂xL.6YdOe|9_ ĸNF /\y(b<_W(e1Œ?Y4D8G6K u8k;N}v@rHF>Y~#)@@Ca@@g۲7g&;:G5t5W0{\%*.E?˄Zz\y*dPkǡdc#(^c'69d8iJ}zva4n[3Hu2H%?m2a9& \%0re[t[A\+v a6-q:u8WY_ OPGmk!lgݧoEyudS4l8 \g" t( `-@&'0k2tUaR=\!ԃuR"La6ueu?ɲqD霧Z^e_ly`ȥaRTx7.VbDMj${ex}QX0M'BwQFyo ɰ0G\:l]zlٲEu;W+R.RM~_wHƲ8 yի^%x+dY<L'~]|CAF~6fwnlYOEo?z+?9 HOiߟ`+T'gy5 w=L*Ә3z,|K̢,qqS(RS:+XA%Hy@ڎtS\ p;IzzUTEF992 E,=)Lv:/43 ,˼Sv(#gh2^ZW$FOفh7ȮCTgzj2N:%[KosՁ|=rSA~o og<yq>[ٶm[%Kx[W\qE)N*!>l'9f^8JEi\* ^kЫ^qѸB 9{/> !W*E0za 2o/ӌ|Xpz6!+l˞%Mezmo?ᙚPz 00O9R* @ ;ep'b9((UQ+.,VQ{1WvyC懼mSuxqIR,C̘⣛=2ϸ))2/pB|df3 &*[ *pzomqa̧ʼǼ!T̔믗kF6o,3d8O#r}n 3Nsköf @` ``T@@{+eWwУٴGVW5G0YT1 #ݧ] cGTvhZJjHrS,Tȗ̵-@ ##r;z&>aClzxs:/'THi&zֳ޽~. }WRÜ'<^oB<P뫉ka@~|( @@О(Wa)Ui˒LdI /ݧ<.7. q1IQcpҬb8 |R x!@.ا,B в}2?H*5_eg7&<걋.T\9 A'2!UtLd 1^OC[ͳhOhjH3i=~`>dp -lVkٲOL6[e֭2::y'|+,X "pXi\c?ӏ$8SRlp3YR@&~:DsB&K=!q)@PǼƿ5i)ճΒ#8\_v ygM,&$EHQQI;$ 3":38~ .f`ToOesAnθ.2H4I0tsNz{o\qᬳ 7|sxR>p)c9&̟??Jvm@† uuG {.2,'E"@ DxQaR-)€)0m0E$&>fI³_zy cLt19NSF+ZcSP("Fk'XOwXGcFTjठ 6~ 4O>,"@b6S{b4®FA;:!ۃNڎ]3tψ'=I>r)#=_@TKc2fgy&eUC$13ka,<$Сj%ĵHo(*m4cձ6?3fO0/?vC=yO袋(7d΍{l8蠃1^DE7O}*s=?A^~;:Ƹ(lڴIkC=~q=?m}`Lw}]%>~8`|Nx0q%4G7w*(d7jRW~5tY(!<6 eOMk_dr>M$@zH%6m_7dh;=[#_Is.:( DL4O,"@*0P(РRc[ AN=l^79{B ѼKŧfYѧUBI55D#gƘ߈o8♦M?Vu;9K6>mg>O;#]aُ8*|?)\{!K. 'xbxK_:'}ᮻ6CCC>߈5kVѾ$K)-=ўBJS$lB7_OyJ@J8,,#!^J)DĨ fbyK>pƆ!:MtD!gٔlz0isSmPD,]O)e%[@q 6Kɫ`XhD"@!@D"@@"q0ê)-UW@y$BBSj4 ӠPs|'vVnUj-󘨮PNl!ef@I?F:ǟ  ?q>b0 !qzh-ًi`WpqM7|3W3J;E( _zz5|=a\?a6[n% w~/`i˗Iz[ Q~Oxtx38 5jĤ!05auu?.nɑjxP:X۰މ)]}e?@LY9 HjjAy’gdRS|sxf|oБ`ټ'8|a0$dpڵkt%ZKv1wtO ø~OG`"@Zh`ZY: D"0l|yy1bXr,c&h3TJ&T0ԆɄ0O ݳT ҹ28Jj L ,UV˯ PeWcXdjdi6F 7cX F2,d|to7+6m$ٯJ;Nf?[TM\//"tIj\Yϝ o[8~Dwqp1c\Noo﷟s9aݺuz5_-#駟>h=?f#p_{L;C ,Zq Ssк5q+\[ RI 7*pcT5,*Y'o;caWkc '?DY40;\-y:;7øoƉ1D"@&'qG DL9ŒՉRfAe'NrkXhgD>W.0:>K FWA5u?{Leې_{=o 7b^,_p8'NZ_e ?.t) #Ft ߌt͐uqkgp_jWןxu#39Z~*00=$W^7zhxWz}m}@ 7;e(FvC`H #b`cvfF;O܈g5q}ogjgD^YXՃ \bvx79]޿ŘÒ$jxOja-۱ (>̘\8h?sWR'&zP"D"0> DG`ʗIG(EI Q̫$Ć>,rN\蟠q\gjJY+AuhB*:͘`ğ/Nn'<֫0%hG#an;9.]G #; \rIXjp%:Nqo}kx;-Z4Z kӦMz3 ?Sy0S WծO~ߘ[ .p)IC2 ?|gXƹ$H6Y8*y͓N6 cqU01╜m !?yϭ5at}Vue5J=a`p04"@  쓁2 D"@ +Ő``Pj4jIx.;{逈#rD#i+i*~EUo>~l^=McXx:y˟0^tL?OHHAܭJQYQrsD{ ¯~Qw;L5*]www8{0oZ4E![|y~T;NӵK[1 6ڻdSc@CdӪӹ'9Id]gYοu}5uaB\y37c TǨ*ooXF"@hh`o`5 DC T"%RÎfYI;bzQD^:XUJ.ӂ)YxLTU z?RLz|P.Xt<1Q|D;/|_~} ~,;ϛaL Ž?tʺ|#u O1M\"Y#cNyLG,`Zpp:|0%vƘ9%iw( Q^,Ĝ "0Q[.|_֯_vqGU3 {Dې/ %l:V$ut7 4^bĽ/PT&*Bd6o4@-NQ`g'{5kUE&d1=aSg"@hWh`oמa D C@R4W.z@F{Dt ЕYZ}w6W:#W$YMΌ~iEYck<%8W7Lq-ի5,\NѸ'D"yy}"@ [NBx" Y>˃$F'CZfThWV#Q=~&5YHX~ccFE)jJb7cNq7W~xCG&G}4|; z׻߮vacX8'opg+"zm|gK8?*:G'`9k^gƨ8W9\OD, iߓ6+t f'ױ(pT;'$ Dt4w\D"@"~E5#(ĩ./;̘vDzEP dfԌ,;#M kY0iFz.1SMJ:IgFPє/lo3w,F >O?pַjKxի^*O~p'_W) .rJ h-/Y{@c ;1Zha_!W oZHs/ōSgZP1OѰNјc*[5x#"RYy|6ГKusMABכC& DB,V"@:7EDQxuuJS+dqE<\(˞$cYg{'u)j$VLl?S!\xU+*VLl?S!\xUK+]&Iuϟ).eԊʥ.:ϔD2^UjEJIRtagJ"K*ri$)3%¥WZQe]g_7RaE*K?I [6+Wwz}97l2]/YaV+bX~$u# lՒE"ZirլV݊dLbl?S!\xUK+]&Iuϟ).eԊʥ.:ϔD2^UjEJIRtagJ"K*ri$)3%¥WZQe]g{RƫJ\Z2I=l~LIp)UVT.t$EVdOwqGXxqXf-@EV#miTa…nP# A Dt$4wdD"@ ~eo܉|SY2P::$)KPZs@ƴ(}ܜF&noDjOHyG^5Ij"Y>Z5|l`N:C?G&6Z*|Cׯ_|[ޢhEUuPƣ"؟l#+Q ߿|rlrTj2cVx x5z6uQ}!oD"@:;Xa"@ D`K7M; TzC5V5pVZHtK~=&\R>|IMTH8- UҕZ$X~սlZ+>p8?p"xuMH9b2UWcD 0 w\/7f iUO\hspfƓh \U[@yKݷ2`GtgH>Ve{oϝm:0(%mo+1_GNGxtD"@@#@{ O D?n%*L4 Y¸6Q(^:H1,6Q:gd MeUZdU2Ml!TV,۬+[ j*69a_p&l Si`{ç?pyOqᇇ3<3E/ڒf1"pdBV)T775a-31[|NO*j`'sux"eYcWMeI;uKgf&:(lmWėuc8ּ"#S1D Dt,4wlױD"@E'UBV1FY(*JJaNe@ELDx^bF4τ>;hW\:ꨭNfXUeUEI.bC-HUK.u/Bu!N!bqa.5eLdوqزF`϶zE Di Ө3"@ D`llXѫ"{#jG设(Ԟ.YB٬'T-ov߀xͲ)|Ҫ6#+R2 y5q&?Y> Ov_/-^?",W&Y[}w /yKYglԲn.<#In޼ya {GĈVg?>M6??{nx_x${0{ waA-a?Ǐ%^Q8'G/W쿆kiP}zOB~xJՁŦN ҸnhI D`!@R6"@WCeS uP%};\QJEr\U%c LQh @"jҍAdMTl|2~$=Z)5KۀuApv>;{;#l tD`xG5\N;j*-iv GqDZ| {so6u {p駇\gϞ??zEu}˫Bu u-nj@QIo|=L!(o޹d)^Z v $&tI_ qf{rR ` %}aMnk1 v/^֮]]L 'b\¢E.N"@F>:M!D"@Ɔֲ* 'ɮaц?q"aKQfl1{\UF9Z,JxDNIP6O\¹)&O1Մǿmim-:7Iٌj.3!"e}sjFN;찃bG?_:|C W_}uqCѼ9g1; 7©;s8#ÿۿ?O}렱b/{YpKms?f]mV-mq{*O_PX?DAlUjH^~u\5 +_3ץ-j&@ D"0 }t"@ Db`=Bb&hn0#{biҕQ+Q"qqWVxU9bHLyXbKP^8'`ӥlP&:oB!d))JUD UE>`w7k\jlo3 kxnH*0GR/Xy?͟f\7 Kz{zz( D ӫ?"@ D` lX+c(D-*I tzzZIT&9}IVM\s4^i"Ȫsp^5 "DjĬΩs%:-9Yu%Y/8#af|xL4k_Zx׻x~_]w5`;3[uG> hѢOOO|K_Rs̙aܹo?OMq$?Zx.n7xa\_Gb?K Z1MSE_%PWHU]`DUTa?4~:0 wqGXdIXZN

    ;#D"@=ג@yZ?\W&3Q*?UF y C^:7ES L,&R#4M1T2 YHa]voYfa@?~ t`73 ga eMh]vD{˲eQ VJ*M2bQ |Cա2?J&o@@Gm%)' 9P2i1`m.n4{:v\>KYGkqzrS3D DLKh`F"@ !'U@I?H*&ASiUI65zgw ((ebhDXK1fĿM϶56ȧ#X'I*!i]%E& q. Z9(sO5 N#u) n@0zx 9O.;3G)f#߉[fݷ |j1M~xf^zDpaBOOO D"0}}-[F D@OO*+Ga+ZU $N7NhdLAE"ʷ@GS&Bo(CRfqlGUf`2N+dm:e1GlAG&q_ś1ZTٸu{~k8?07 g}vp!4fHN[!`WK_;[]!j {yE< 0LܰR<1ta8-c1]YG7aF-:rUVU֬q\XHz3x#D"0}w1H Do- וUB >,2TaYBB37,,zn!R ʪL!hbxEd%9G"%p,p-Ed%9G"%pp-Ed%9Gi\pc6{dL8z+Vַ=1G!kpwq]< 'sӟ4|s K.ͣH!nLtC.Xd#;! $hl[D-D 6p {!hbxEd%9G"%p,p-Ed%9G"%pp-Ed%AOX.)2wt"k*6hwjꊪ?`驋3L DLsh`"@ lIդ8z &ș*V S4Ia!,*h*5brcDW<:[˷T2rTݱ|7GnD.Lykx2  FN%p+F* wOl0{o=kַ.𲗽̣)uIQӰ=ޛwGvd7,۵Z␙pS2aDžJqЉ)(Dzj]G[Ё ɀw<x?~f[!/K('؛}6 @ߌb\_m[TkM7ި';٬2 D"29 D"yo-6O*/ʻn% x,!TR)fUPN1y WhMӗJJܢ3Ӻfgy&, "6 vszi`sc#Cnߜ>[o5~Nh3<3vm裏8Ncuч)]V+Ѡ dL0 g "^7=G pYq! D0::adq:mÚ0 .L+;K, [kke"^O뀂"@6 l׳D"@]UYtMQ(ՀF| /9+cQP^paʢzƉTH}5륨 W3јV=4'11dmYiSdU]hhB@#o~󛡧'qC-j}w/8lڴ)wq| !޲TM7[@ȆC79`܄t*A Z vsBƀxy8h?XFZ*\~>r:Y?R w/>{q}5$"$rlR"Vø~O'hH"@ؖ}[}"@6^ I D" AOG1D9P*Cݔ(Yz9^>c*a@9ҹdNLF D0X>2~ei_vXca"x7򕯄+2]Vkvu0j\?{4U*n_ Od5/TC%-O.{.pGq͕l8c5X*W^q9]T])M`""@AL( D" ~e芠.*eZtNHDpj_ "д/I,odXs6%*:IJD:Qf_@!b`Y8' RM6 vȄ"2YOo2e8uDȂPo^t#ʕ+߮5n^{?.?̘1ZŪ=ۜ'6GV/__ !l^%Cݲ1cZ\WoyoMpIVO*nb޿ĿB`2nH]d:2"?rwqGXxquS5Ŗ+ vkf4= {`D"@#@c D6C@J;]UT5\QF7쥃<&$BGUR9T|.%<32uSuw_cXCB\q*^.~ů*'H9_2Y!8%RXw9s< pu!JhU)+s : w=X 7nZe;;j w-Yװxa#uqUO?|e繏H/dd*gg#31mMdXB$Nk֠9Uy8.w)p0@ DD"@G'UznQ0JW6k*ѨH4SSQQ{P#CYxNLZ- +PA,7!Y>)9r\[8q404S3O:"@ uj`7#me,]iIV<%M{װz7Oi0U񍐽NXQ/m%1T堢Rэ0 Eb3FHKJN'}qq BC}oQ"@ D@F D"@ Muh|GXY jDӢmܐ ,<,'ϲY,=FuL#/c' t?$guç#:mDZ3X!Izj\ V%VW龁x]+{˵=Fu_R2'sϭNn1ua@04{|=7c Mvآf$xr=BD"@GD"@tD T"SRŎfEI;czQDWī02-t71Zɺ[f7O8SJg3uyHM#. G 'uRal-'Ȋ?>DvAY縦u1OCi.m8* raASS.)kqi:;!(GƿN{e\_g]v-|s}ѢED"@h -!"@l\'נ TWHD;*aDXҊDcDEdTUPUksox48|/G#*DbI`(+U۬:"fH"?+?tnqO6Duɾ߼? ƴ"sj[DGP>~39c'W(T!?}}tfuЩքrMyhժU7YF׿ ̀t8kKL"D"@Z#@{klC DLS̐&*N8ꅨZU<9VxMP4qܱ (xf)Q;1KmX+K\#PiBĿ`LOGQF4!#JƄ^,Ơ9}iԐ D0#k[}ﺸP-|/84BtB፩Pq/:ءJ!/mvbihoްv衺Ow qYo === "@ D)47L"@ D`:#`wE5(9Ѻ@F{Dt0PY]偔.cDȈ$MΌ~iE,?i59էiGǟ"?qR&jlb`L)I"@k8G|?m&"[Ԋ&[yMYV_ntO%DҳovfKApJ EovfK/+ q"{I 2 -0˂."?N^u-Zo83#==b\k"@ D`>V(G DL v(䟨v>"Wƻ_^iS4CZx1:St"iRX%Xxy\$rVO,4SLxy4OIOO۸Wց̙n$Xl _d!Mr-:[)N;lfL96^_TM L=3$&&qGE֛C vXFGmS$~Z!  D"0^h`/b'D"@:TDHQ#t}Z iRѢM1uTqL.'"jز',?Y1W?ǟӨqmތmYc)\  DyA8?*[D &?xFF:h?Fe={b>t#K񉈛,>ߓҝN~~_R>Fueڡ<4AGzzxrU!D"qq] "@ [}AWĩ([̘YJzEP dթqWjF&5h #[=]%3%s5Z!d%_S$Njmo3v,f V.J-eOVsXa=3c"(+x}}NCraԸ)_iB&EIxhC |NW%IQ ԡDZq*))0( k|6]\_$ou+6I519GBOM!"@4,"@ (VHev]~r]Zo"RUeOK1=l~̓muªU½p={;}=}q^{sO=^{[x oW"}sYը(K~Qg{8Gy) ,ʾ1jST&ERxlNjf2~$u# l!-1irEVdLbl?S!\xUK+]&Iuϟ).eԊʥ.:ϔD2^UjE[.xw˾W=aw Oc{W{$dl͐QC1_#PV9E6?$ U\ZiϸQg{8/yUҒSZQl$)3%¥WZQe[-$/{,?(.'㎰xfZT9mw !,\0p jdWa> D"$I$D"@@g#~eo<㘴EPOu i3$u4IY&, &gZ>3њDM BRuV8p?\ŦGMZUKٙ{=˯/7xc9@\-3Ψ]w5ׄsL uoɈ<  C;?. DmO@xIua{!u?$n? `GjÀ~W{H8k8@GGcf̐QdŁJ\Qz&hH¹`5peqM7?{8/n_kuf]gag3&D"@>:>%D"@!{4TՒ荠=3ő(?nitšHO-Gq)MZܦ_8~ŕWF.(i\EF¸Jv]0?Wc_{g̘eVs3HN?ePB緿Z0Jwoc4 V7rPޅXI!!hZuZH`"M5ETPx:J*6Q:glI7V9kU4ͳtSYaNd@=3| =h6gZz%#!2Cx3;WBD*,j(WďuJrXxB|"@ Ę7zTI777 vY&љg>裏fc*vneBƸiU;*NE9LŔ2W:|o3zF?=!3=o'ح$~_J"DLjAۋ`_4be>[Nj%Kd$JOe?q2稑*꧝zjX{]ERL wPПY@D?a}#U92وq X#0$|3UWOXdI~}u|"@ [ط"̊"@ 6U]=D[3P(xR{4 \lRe#Lb`PYNQ}Q!ih7:OGV<1ejL:d,[Z m1G|*"f}eY\̷VNOyJxgY Ocg-JmmK__}=Q M DL!ad~ ][Ӑw>F[xr#8[?JM>Lkۣ䇐3e\?Կ\k4Z{DNOqYlpB׵ D"@64omD D"_g@Q[UJ@e"$ g1HX DFu. ݫ+ l@|cV1)5K[{nx{x MG]"=q)K`AyB٦b0 ?{vx3_(1KD5NDԤ.ٮ߀uATGD\tldCsWQ."@u}˫LB} >m-j]i%Bg|LPDĈ֞K5`@"jҍAo9p௼7ӝa1w/Қ&3n.i ÷d={ޞ^)kx =t)kx<| l`q}aڵ c3DhUUnaOOzO"@ DlEh`ߊ`2+"@ D3 ZMPNv rF ])U(rP¥(纟"@9~E=VD8Ӱ&m>ϭsSMSW}H+A'WuD]#_H'ٲ]r,.58"˘{pЁ@s]s O%˷QnXtTɖI|:h]E7Ķ95ƪ,崪-]75eZZGGw™c 9Ʊ~,:@-l8*g}!T'NVU[?d'{Zթ| imiVf|i_E G D-F-"@ z1Ca aFak NvK/!FUdbXteN" ~$=]VLJP&\,'(67&g ?Jf]y-|QK!ѳG===2"@ [ ["@ 8BN5@bV(N`ARCtc4*WM {'›p%T:$2 ]{{ß6m k׬ >`o$swW^yeXڿwNX: Oת*ѩUU>KC)KtD6BOuM?ĵaߍ5߃yc4*-{,tK%2 &Sv}^{Wlo}RڴƬtE +4#! ~ՕW/Qt{qYuNޖhb g8a`;’%Krr81w0tD"@Hh`Ht7 D"ЖkiiakWТ̑\u#!I0{`Mz, U|i3, dU/Xcdf;YHOJ59:|W-9veH!B@8CÉ'^Q}/1~kZ֬^pɗ/ ๓nT \f!g͜⊰ev.=t?柹.Y;[q D@O^kX`Kk0]bBm2I[.}JP"%(MƁ b#?:UW]ejWDLibdu1>OiaQ֯_e}WX-?FW//Lq?k֬p쏖/;| M̆fkRQ֓ e-oc.okT4@ǿ\a04&!"@ [ط2̎"@hjfIo\dMJWA'>@\}[HCVвu!r"@f*U(+d킱? ?w9JltHLbK[8I'G^TL$χ~X h.!7_>s/~G^TPά_h nC_b0_׷LǏp$q9\_d@֊(~UpaBOOOA"@  .&D"@?nʠkġ@)o" M5j"{@4emTe䲸&oMQlVFM7?{!upys%=ᅫR+׺vaҥ}hSq4ޕ=?vk}+c&ٍAsf :"@@;!`WKtݪ.h|-]%_ZJZDx?(s;"J{Eb )J[fYTm|\pon'A'$!s jD"kӞmtC.g^t u7T{}r4ޖ~uc:6 oXnl\e#qAK27xzL'hJZ !jk=d^\ kK{ӟNGx)3Vk#F$Y!O~2nYOC{Aџ'?quU?Vo6W>߶Z>~tc+c\0{ŸZ3Ҷ:b8~7tD"@lh`lY D"0o-H檼6%NB/VSۃ*=*h(~EEh e"I J*EgEN[eD'MrID % l> ΪU~f61Ukb``~~xh6c4)n#{n`\Dt8;}Ӧ#a̙z{ްンch_'_yw* [ i@Z | 5y'-J-Nk&,Qꇼ±jgDo)?B|VlL-pgfu),= %ȏ ?Otθؓ-_ksMD6K}so5TX1݊I#aka\_dIq-U}[CBГb D"05>5T"@ D` oWWU5j0gEV޿DFv*1N TؐKqk2YE 2&'\ZGTPb@Xf +Vv2 o\r).1֮b]g?N:XĿ g'!.DoD 񯟎p8B4C*H?9'D` 7.~ꤓO 3N/Uw;3l9d 4iމm-бq&_3'7 )P+`KZ?f?u:ZE=oE-9Y Ԅh;.|_Z"d׈qsēN,ELZ `p4XUJ:Sֺ"(ƚi˞`Xhև"@ DL4O,"@R6U8e1Ni#!HcAIh* iƉVnUj'-HR[zy8c*eyMý`JXz|׿~ȣ!rю_B9HOZ=8+]]I+iZ#zJzh * Ssxv8[ "^gvF}oY-Uz WƗaT]4h)-#TX%=\fo%M3Jq "; _ 0vWIUV1LBoo~gҲ"?/jvCGbY.m{J)G7g#A7vڍk׮xr}@S"@0h`0h1 D"ЮUPucXTr,c&(UT0٩ BɷW2 Rp28dgC\a;#X;s(Y_&׊#V{_'ʆ2A,qw?pD*KWcXdjdi)fԵ9 $E&=?鈱#Pkq+^:E'D` .rElǫj30cKOK%aM ]Ry0)7yre?6֓뮻Nf*QzCFG/˵Q6>KY[:ymurCl,j*lZ Yq7yjIgԔH"@ D`}gqD"@#P^풨R8 q.X^6Lis!-@+xSiV 4j-ThXTeLbupAW=O~sEj56һQ1҃+>T6V>nz]Gda]O: b3@:{<EZ~=7ͥ_.T Wu7z`7rQ\_vtd BEԏ lg:'W {AҔP2O26[GGʁ[4wVI}z0_ݏQt_0d?u:E%W5k֤1a,zē .D"@@ @{tA DLtCzJRDSpՏΉD€rȥsf)TAu(9g7H]?Y EVwۣ2ƛp{ lƖYr-*nRo9t(˷BU#ZWEEA?_Ǧo,47 Q2@G#` >bLFI'v:UqFjpdD~$kY%xgmD^Җ'뫠o[ۭT0:OU['ݑ?k?@t8(SrKx~lCEkC,Y8atJi#&o׾R_+NЏHkHi\0 D":"@ rJ&eV')Ta'!Q``J&)Ҭ"ʶE"M)$&D0µ"eXOx䑇+T2/$]jUTOS} 7} '. sx@!boٶ԰kl`gnſq!h4iN`я "<)O =$v͚WYtx%cϙ`h?9}>ؤzZU#:񪟇i0#??Pę1 Qg)Fx== ?p*Jؠq3{whS-JW`JF#DÇ?aK\:T$]tQ1R,bhV%MRU^,J̘-dr1G7 P&*?Fs;/e2ozSe D"0>"@ DoGNCylקf5 ZȩMTKB쥃NX׌'x-!$]勑?fyqNW܊?/e*N.Y2]G"\s+:=oԦЭ gŵ)#Rܹt@IDATk\L9>xU'ZN.fd"#/Nns vł"0]ȯOo0Ov67;rY4Y~_w%5v㸴??FK֛GVK0Gy|%Yr+zatbaHr)G}?o?X?GdksWΟ^xvmuai[Gl%~$B|8Oŵ< DvEv֋"@0pRUuX91UrIP}EER42LoؕP5Ä"4%Us}dҊnQX@be 9/~ ZkYPҡV?>oJ![EMp7tS8XRy cO$x/PhWYS $]x ?)q& O+(|i@37׳'"$! VUQro~HUTBeSۏ[QWSIBWɢ(.5AuA D@DH9sfyf.Ϝ9y晜yg|gp;yuʎѾVu.X^@(!ҠI*4,;* +V?ΏP.*P@`ExѪ}*|Z&a~pG(c;1UTndWAnk{kG7h="3aEc?ْ;Em' _Wx g9#8#07pGpv4l$SCn' < JiEMv~45:i 4MVP/[U"#/+YG@(1sQmv }wk fF߮%B]2>_~{E^ %gò-}p6ꈑ]+[zG`"؇Ӈt.U8eH9xQ.H>oq>Й -Q ׿?H˝D:a~tI}hYF_D,Y/}GG7[ :wrqPIT5|z=GpGi| 8#8@کEjQGfQPHvhULPWXl\"_=>XNK96S!dS*xے?iO:IdP1xKO ‰o%VOn3gr _??Q)KVӝNxKgole#Y9HCArk9V@Br+rVrov+#\Wb"BKW|FoVG~=pRc9p Qf"$|֖LLHz|m_;Is g/QbA+qɟh98#8@" =0^,GpG=6.10aCˎ83BXx jE"Q iU|pIWͭ+ %OVk&RKz}L2 `py;ςهX ?QXXBO6 ;Sv0x͟WGhZGJYZE}@?G` X`@J}7}#GԻ}Ԕ]K/4̚5b`(~8Hy I77?i7ᒮZJ'?_g[ ~GvGΏnmVԕ$KǴy~T/nP }󵙤1/C]tDǘ Jq~LrG_W2pmIKO!!טxpGpz_`ݶ9#8(! iHd1$3aA 1,ӌ$>5dɒT#f>|;#p{ꈑؽwO10POXr@>">נoתFP"B qȲPKM>6 +pDjaOO;ZcSկG(E3d_s[G5?m[n)GP;U& h"nlvuy9&`םG_WRs&>pvXaI GpGpz_`9#8 w| /3(aE{qGmLMW]Aә(R")D~kؘѯ=ɿJ2?ΕvKh+ްaC]رQ󝗅7MRN¬+Dk>sU䷆L}Xk,lG`#|@ÍW#38#lv9csk.GM,\5{O?ɏSi%"1/]4Q d) 46oHT UzF*["HN7.?h$v Cx{N̯~3'q-JLL-o|x坱W&H{UQƄ6ٔ)Xh?KߴMGǯ7G&9?{u1mDþWm^{?^9ĭ/; ̏~ntrm2?#zwZȹe~T(: Ͽ|nH*R|ҭ;Gˉ^H>3V,Ċ'y,w!ܲKڢ꾸n8#8 _`OeuGpwҨӹ#'1P:o}JUi!0X L4FuUK%MGu:=}}=2MQ>+B <Fw]?~׾&:/ulgzGpG`! ż#8#b3F9=.^\nh.3^I^(C&2iY(M/) R^UU^8v&JٌTcDR.s6giϴ;\%l {GxO:X#xG=+_rb GBu5z2rxP2_w7U~,scYF/uÿ2&8QOI2k0oB╴62)|?#QUQGv@FP.QeY'SvMGJZr JpJ-:*k:Wң)S™g.b.U#AGIc1 f&el58Cvk)_> aZoߟ~G!ڲV*6 K. Xu-4=gxcG|̏"[Ҿ!p} G.Bիa&e=_{m?Oؒ_~eg,i^ =×eYdg؝#8#8_`evGpmB`-'Ŏ/S ͌l޴QA(O-i&b&QT ; DE]֫ B#mNh7c9(I7Rl]ᢋ/J^T{bXfM{EJk!4򔧄ZP,<%,^ZdbGA' n%8;دUjZV lw2 7@@0 +o{*l@B[(9ug~ UlHYj:Mtɥ yt|[UCAI@P w9TDFHTN~WҚߟoG/2'ze"ƹo_̏2?JSHYUz-<'v0իas]PFFk#xj+p3WG .wqo6Vßf>\oAGpGl7/#8#lک&:5 74}E٣lDaaEQ,킓IlJPΆ3ha'^%#R2s#櫬s9PY4}F^FK2).K"1Fbg,ڷPFَ>";N}ucCԠAzI}D`W$#P@ e[87W~A:ɳľ ھdpl? gf͒xmuحcZ97Rf73h5#><.nu櫴1FVO~c~dm^@+?6[:wOMյxS~A">(ٛ߁aeGpGl6/#8#l ]w"%YU&h\#ⱩjBg꼕)4AF䩁Nd$]3ea.R/k %R%#n{Gëq:m5`^{NKr-V.P9zy3w 5BwMKZ#qb=) Q&JLhs{QC΀ ğܪF?3ˎ#7$(SZ(Ͱ1"CGnʸND { Oy~+]2[ӊ gɫLVdz3V̲.<",C\b'BVhs/ݗ#{2x`NXZk"ʔ1W}.?(5iq =8Gߧ[2pAG<{ze>e!`vt)HZs&HͣRGaڭ`nm34cvdk\Yj?1V@\d>ʕ+ٳKUGpGm:/#8#l-ܩJRi,CBz|3)u"j"i8!S`V/cHa[%2at , އ>׾6SebW%2' q"Jmi |~(~o o7O|CvE G M-BX&BYwa1W]uUSw*zDImG;5I[KfBg1)L8Vw_?ףE#\X!fVŨX"|!vzHr>LUE2ط# 4W 49]/EDI^,̏Xʱ="36}_Ed0=0?Vz+~+J)n߿[o];{˵[ۇQ&]'u=">5)uܹ~v9̞=TqpGpq/;#8 ab+zb,R$Ȁ\E7u`< G,dUn-('ns]>:"Ċe#:XwK/ ZWROwZ1jeJM O{}G,vJDӞCFT3z d(t59<bdN"ü>)R <z##Ș-B? tg)DU3냒2B.Q/*X  Sx^сo,yKk] ,["me&|]ՙ&ԉYeQNc Bq^gYT3Ě"B1?ܹ;8#END#LB*c><6]w/ ec[Y@5?O{0?e.n.qzŤ#a߿u ^Hw{-cnΧZae]fϞ]%#8#C|}6pGp v@ gʅImPa UtI۟%=(7fM,HDVBhwbw3N!ÓVG!o ~{T3N;6mz4&{cx`p^XƬTPV=[`/DB;x\t_)zG4G;2- PRE KOE:{;S4B7i24$.Di_dESzU lyx2W7,W7@~޿pN?]~WoKk z0;8'"CN)ػ  o\EqPP\pa%d~D %*eו0]X瘰%gz[8#8l]R nܥŝ]`45Tx0]44{GFؐ$z|z1; KN5k~#v5kqLzv,=-\Ě>[+owaڴiۈ^xV7q詧O}EeIs}I<"ޒ%zjG Ov5?KHJ߈-FlIJk}\k!G/YmH6s1 gqVXOyEŽL9w4s>[ݪX`oPl 2ўuoþqI׭ EmGWv _@0S1?j]Cb~B9 챼D^;9?jq]jM+G]t3_:pfr#8#8 _`PqGp  *MWMa0B:4,*N 3QiZLMH\Q,IBK:A.f:G80%)mer@xwqa]0V;/R֟wvqb<?\ GK_@"?`.#8#1ǍUwGp٩*-EfAڏITH`O1VsI\k<6ðծJ;o_>я*V!y1-c_c^pne#U\jPJctQ]1] F*9w}sWb݆*) 6iNG!i*6uŁƅup7x ]{Q$6vh/[~pǁ8y..I1:h%/1fcvcePbZQq}*̏%9N@Vh$IZ1nGu,̏#"bNd1X-/A"\B{GpGs|;WpGGl,0p: H'iPҰ'I$>c]hDeL)!Ʊӟt8ScQ3EaE],SbLaƌ7k+dš5kCpd.n׿ 8Pݑ:pX>bM&4lp&>qձxg1;֛#[QEKXVz5W߸e-=sd$z?. _| V1 k׮R\Ώ(: FN:K jKIN9tNgAYYka!",4FZO.KCȀO#8#1ǍUwGpkOV=`ؖ MMN"k[HDEb3@gJQTvaV3Œ#t͚~3 M~馛2RB*Gᩇ<5+TGu=\8ӟV*t# wRɳ*hN6j1u(oOF "v8t&^ֆy G J)(3F(2ϒ4), ]z AJmHH66V%W18dBJB#s]L\(GƲ$K|՛+e Jmu"4%]T*6tC?aq2;#d̏n9fjժ0ẅE0Tl膨*ƯR’Re, Dŝ#8#;=8#!S5i)O Z0Z`’ 'OhH& i~%@ZV S'$Y ~_⚢ilz'?SO+tr9}wgS _bcKc 8ה IO;Mʾ`i^ju8Lv6beDQ,E(7$Әw?DžTI.aWPoMGWp;*g7vepYgUYAkG^Lþ<(iԍ& ۧ:2&>\ lKS).ǥ 8%>Up+C0}s; ߈{k~e>׾X ) N HV3gΡSa]ֈX`o6B[ʟ#8# 7MuGpC`ܵ,xb~ j<0 rzΏ(NE=\)խo Ι]rTK"A-Mho UIJbh rO1Kң-9tǾ^5GpGO>mx#8#hn,fћLicQQlRhܨ9"e]%d ̟_vC ͢#[ߊX'4x;nxQG P/~!n'b&n!Qڸ{FReZ|}pB3Mmbԭ3(TGA/WG -be,#0︼7/ˮ1c}8 Ώߥ4ۑ(:l邹b1%|ZZX`ߚdL\9e&[@&ʅwu)EUӜª ׎|[֨]̏:zh~X(nl8/_kB挙{KW3Vaa͉Hž"Ij|EIye%x9vE UJ[dp~DGpGs|;WpGG6(h䢱4hԞ h\HeIGtKV5ߜ&5$A/A _K:)Y7n܈N 7Bd/.GdFg>󙉿=wg=Ya͚5)]> GR&.wN &;E,?UKF%C{4ςbWM$ +bQ8/?;b{M.±/:J_ÎbaQxwnN8ÅTYS_ .G d$oSjfJf!zTǂhFj^16s&HwNIGמu9N…30;M0aܢ.~@0ɨ.c|H?3Ŵ7C>_ ,aΒt:ΏVb~nyO>;8Ť7ߌQmҢh7-q~T$cH_2(_dqOVs}tR׋F%8+AP͂|-N;?` O5&pGpCͽƎ#8@#P⠩&;&?CcD>kRRfܬfG/ np~{8蠃£>f%G/Qܷ?p8nbly;+w 4tx衇\~0E78n\UU1Z_KkvkRdQT*X`6?J,h8MqAG{#b^~{F)G`" wBc]/ <` l1 .Qr_ a1n7xtxjiJG~bAtUi-8;nOzғ#1B4}o\ ۪#<=ذ|9Wwȉ>\ϏG?̞^c2788-+J*[p2~x=N*#Wle5A͗,ROI,2홿feHYxm2:#8@# ^{GpG/؀#V d Q`S;6fiq= MnH;LgH,NC^S:|ӟJ-$`(e>*v(PQY6< "7kwWG`#<<_<.v7AݪĹ.Ntd,8hոlT.Or+FՐ<;e!DQY?N?Y> (zJf!0/`2HD@p`;p.<]?P?O,Y+!L~_^ Xj鄟Xe0:g 3RΙH%1Q:FE%AdaTCtufXAspGp>Eڎ#8@?# wGwxǧЈz0&q1 <ӝ:oehdm~TM^g*ǪSw>`~U0ϺS7>D[$ZWGUPj+pg}Cyk,g_R4%\͟湐ҥ)@e^*fxijT;K?eɼT<">[Re)Be~r,jq!Ph3@0Y%poXnyTOjΏrLcaaug)xF_UʳfNj{HK|AѠD]p#8#7wGpT œa˜$a5(-Z-Oj?p@IDATӰo~!F3|&ҍ Ji̲B;*o>7F7N8p=@aF$sO ?`W &X ^wv5RK3f/..䋱 1#BYeD|h80 ?ǵGHcGV.) q/;Z(!q2A 4p e Jp@`,"a1g:7? 0!6Iano,HhUBw"CB+O7Z\JSEVi9="2,3G'U!,TB7Éi~T'BadX雾9 ~~GF ZɌuns0,{+)/,c' JQGBdZUr%{v~t.~l9P-OGpGo|k8#%lSCn' -ƫKQvFA P`P.0"Ϸ-R͔h( ^k '$/\?cO+fQ.tre]|)=5Fe@Ԁ#P-eG%kч 4U{:b￾]}+ ttG`ݪqeu 7G0ޙ->X0qL ep2?UQ ȢfF_(m;7Y弳Y9}󣗝m?O$ ydKa.aٲeᨣ*5FD/X0,^Ht-Iz-WU^e4T"YlfG7Dm￾ȑG~bOGpGo|k8#%ij4V- hKC])Z auD(3b'LȦU(4j̈H! ?x)fz>8ܒf*M_p̝ujWs W?=C(k 'o >+e0.E| ?ӎ]ʉIxET[3mp# z45 SDkQYZg mܭvtr8M}Pb 7&?#J`~D)LB)sp7\qEe~ _0b<ڵa',ۑ+ |>yi~pm+3 KiIVa~48"ٟQ醩3Fw~EHѤ? ?GpGn#8#Зl\>cPaBAIGxƠA $(V.EI8  iU|$QK0ZU9-OiTluU(%] 4Jܚ=/~6wnGX z >dUw>#\e~ [GyNc[2ϒn(.\0,Z;.#P?*^)(>˟WGA*hPCp@i ], I7Ct,AnTbA2?zƍ3,)LkBmv!ٟYׄx_h * &硇 x+Ga_zŪꄟo]}k3'4-%ݡ.A !/ȌTc1&DsGpG~jm#8#d1$+95d14I4 S4X#%DkEZ],6]cCL|椔^ȟFO?=hkySO ӧOO Wx@t?5 7.n)nF!Jyb> #PuV[TrIۿ?6%'[ӝn9LX)Gpz.7"c[sYuT3W`a|?"<#͏RKu2hr<UG?ET_|8՘mI;馯QsM8##_`&AKIM x 0$IpGp>Fꎀ#8@" w|#Zh=JV$`wtшG޴yQEi:JH 6fkOg7+pi4>1!zphf5Mxbxӟf=a'w}wcsMXsךpwK/߃C2IDž~;o!|&8)^pO =_ͪY3h(YWܸq ]u-P/?a6sL 7*#8cͱ NGUi0g{/_=׫?c Hw?߽~ #5ǒ v̏ѬYa c߾P;Ú5ݎ1?{$۽Hnɧ#K/- -eqDamG( ]Muˏn#8#8/_{GpGwӎ6IX;ی#|i(c"8fx҅OA.WBjO:,Y Ez> ,~G?cx&5c=kmF9u@Ra F Eu tkR0rcGqxҗ+=cș\hhHj.#Ls֜Ê;F5~ ˄iUwFq@%;5嘌BrX.>o%csGgX;p<ʢN8nb΃:?b荿}ɫ]i~Ć &_m;i)1a<[迾0cƌdE+ a>z.(;뿪1?JVSr {t+ZwGpGomz#8#пp*X;2`-\S *O iQOffH[xrYNR]OmRQ M/eTӲ4;~g?:p&cq6gDx%Z9rLeLڻ{'>NzI45B4ryjqf[=:9PN'^[ݬfe7ػjzLDDd_>0!x2wpE@GKox0V*P#,ΐݪGLIQGI&i)/皩R[:J7V|( LKy9LBQɶyG\d{RܚՆ-iՊ2Zu2UjtO=#\{ꯚV_cXS?+ DU@gmz1B'Op~3q)>ӣ+ۂ O싣DTa8"^6fe*c?in5{ܹ^cy;/:`D\1R|8#+Ue( 藇Cƿ|D<G>p@G5KnI3^hr#G\w:̏!\uUnv'[:#&?eYΏ.#sO5u÷SxGt\#իW'ob]052rmg)Q%f# sGpGm{#8#зj_ZpD3dfEfcܕctS"PV8ժ^nfY`dae2 GHϡtA#)S¼y)w>a-tyIw&" %Rŀwky)PgpmkQ қбu?">HG7XݪŔ[ (%XPh8!6u|Wt^wG_K\ܲ&9SWޮSv 9/|_ #Ȭi%(8Bj|+;)F7,)qՒl8_xf#.N8#8@" }^qGpG8Ȃ6тF`FǦ!*by+$݌aNmnSuI:ivnsDxӛ~_emcA5ƈqkv}zVx8kVXtuU7?A2K$BU'pBԧ>x4jy}d`_,wך|i@+GSqDHX#po6#8;{&'G!D'ypL|fk7wٹH "n h@r;S+533gy''t3ٜXfLut_mO4j<8!VvbT@Eq1h~+|v@%2':+o|3\ׇ%K6>zlq]iO?}cg RyBᱥoc~t=~|6춟a~(Es Gs3|޼yqжdcqD5ŔeƸcoV;D!E9O13葾}'h1_u 9IZ#8#'ޟvGpAPwXd[>MUp\QL!i8VN*(L"IDtFhpLs"x{š5kš; po~ݸsr6m{'=ICiӧ [RwDĔ / ~5i{S-6-cTpS‰h,~1Nt8.CK O5XgOvgFq#8=ځ|87pqò_fv)SŒ wHgQ[&h(U[i{ wuWmsoo.t΅5-pAC9$=}oP +v w%?~^H|#GHDO#xD0wD CЬ?DŽ-yה.l68#8/W{{mGpGl]b8;ܸK;6h$#j@à']44{ fĪE5!e */ȚG/Sk0e  x r) _|jiN;p5HvAk%4hZ$(?噲ujEt_8b?X`KRuqe8@? \]:́D9Ukvܵ#5#g|ϿͦExRx+^ZTlB̏/{M2իqa2 K2ԉONNhAGpGp_`:#8! *XW-a0Bqd.bF[X0\156}""TsEx$)ԢA/H>)W^yev8昿 4,#ŒPIҦuȁ\`LGc'D IWhRlRP3_vpýYuo$Q8#0pjZC{&?Pw-awg̏>#I p>KLR6?iStS)ի>iO?#D *ƣO瘰%/˿ pGp~F#8@"a0 Eraҭg+B4[ִɦEVC]b)/JZ:YMNE3[ZgX`D.OCqr?Jy{ŗ\xDGaϽl+ . -RjcMAKq4ѩ$J}(9w҅bnop?`/y|RN"#8=VM*gdt2bǿ}pD|~x_ aQҢjrr?XAK/pŜm x3ʕ+ž{Y5 ],q#:[>;؍3-EIB'񂿡E_K됫TVHH~d#8#{7WpGWs0DfZh؟A#4Hɰ$!S筬Vbf ]L 1\.M֤P;bWmZ3tu[VW=qIkfʽmYT~"b]\`cA`ե_b_~ԙ &a]4#] 1c k\@_ }˵HVD/JlAU*Eo~G *m&7Q@z5Vŋ o{Ê+  JW$vIFuP`'˜U?j~YL/1ȉ@qLq86;؋#8#+ޯ-vGp٩-EgڏIԒAMJGA'ݘNJW D5[TQyla]:"hv _l Z#<vyؚ@ښE^t㍉l(^2l$+SGёSovM|IE>C'o=&jƅ"#%0ƁY80'hbqJt̮Cb̲,JL+*+z>hi b~t#G?]w]x򓟬iz/X 4$kÑl@K;ZsGpG>^}GpGj+4\+$1?$`XѱE2҆)KPR:c# &k)@w\LyTlcm\6@F8@tL i8#8G76ɇ TU`!C߿Vэ#{IIG˛GpGs|;WpGGeԼ3sA}e "؄QhI<49}k(Vt*EUS]YKUL<šD*)0b8V@E1ww GSl1U =2Trüͺ-UIRfCS-QYew]T*6t6 {j|*0b8V@E1qАI_ XJW' Cd&?t%?fYX`o6"#8#tGprײXJ AͰ4GA$΢`P (1P,@Z4DR"'7I y*b8@O vi69˰(Hi9Q:!LFDrf.2Ѱ,/8lt#8#lQ%Hlf&Ie]M|p?%o.i ŵ#%+Җ"0ʠ,K\K:)Y5<Ka۸hyǭO G-ԅ+_`c{#3}(7H`!\3'!ܝqPcFZLbue}a_ B |)vM`} "<| xd`Q]!,8#8#w{5WpGp(h& clDC3b#F4 )Ob5޵RՕ%!k04X3%T="gctGW."Y)E'\#}k3IaN:#0psMd q hE^eR9Y-bcRw L ,Zjw^~g3/j!ƄN:#8#G{5WpGpxX:&+eq}&英-8x/KiBZ+ 3lN1XrY1:+f #J;13m(ǿ1_nOt3 J?"PpGp>Eڎ#8@?#Għ0$#B2MwlF](L c6.[0R6S)u`x?}U[|p?z,},|cr#1ܭ7&W7'At—B,uRQ` (G Zk?ҦD hdR d+$' TzI48rZ*:.:95[?SJY+v(PQON̆G8Q8.T5#8cVi'9p`,[OɘbZŋQ(e] "6Tv_ w]{x@X[,nEThuэM hM:1sR9#8#{_7WpGOvu}I-\0:gS筤r)4*B!ϚefX䏙g`a~k jg+RocPa2Ö@W +A]b]RC)V32\ҕ@2k(z" OVF.J)U5=ǫ# 7d"#vuG &?sdbd&D&c19(%r <]SPϿFku|y3GKXa%:Ƅ{pGp@#8#P" i,d }\xaf$pY2kYYtΎ(T,`420IAx pXBOq'ϡ x'e,JMXY&#8c㐕2Ilo=-9y43""A ~1 @DY&Ɇ& &x’ 1,F,IY@&|BUu}(L-MWթSU_WUwťϗ7ر?jVbC`U]a 儇goE}J7N ` 4{rpDɕ*u/}˖$%SEu' e^2b5yUV_kW^ytư`$< jY9b+NփT(ħ R@hF J$%M'փlDjK'mѿ`,Ѝe @ &{/>@h* vu%k]d| +>Y:DW?ol E={RY*BS= YJ2u4+Kk{{X%~f;^?٠-'ӂ7ta@`Xl9d9_(iZ4HZ_z]Ӹ?^B7roC~MkkN~X @@ )CN@TU72ԁ9:>>0/UZ(ST^;MZz5qu"K#;Սgdc;Da 0L v|q*y,M)+gjf7? zaW{b~!y D l ,Zkezk}@g# @@ CH`'/:O67Y"Zh&.v'!%rZJu}R暶"VYVA]FT $'(vU|Q@j&2v(x?UoI:&u>`B l0o[푴jn$e}=-bl:W>o[:VS-I2%ىĄ.W쿂IbVSWqƟ}":ꅐ oM @=K B K~]KM$ӽ.~rݤ|x*g_sb_ߋ8yXBXj#.[Nh]RZ*ٽ"IZ.ZbErv8=,D˪VXmz+Ni}."岪*Vj[^$gSrH$ijٽ"IZ.ZbErvxy'zVmqDcz&BK?/ǠkledX9r7G&2{Y&{[>kVnb^$SrH$ijٽ"IZ.ZbErv8=,D˪VXmz+Ni}."岪*Vj[^$gSrH$ijٽ"IZ.ZbErv8=,D˪VXmz_GRW9b=x=$@@ ϩCJ`y76ıl'GY"rpQ*XqxV%Lѧ-)Ԧ$!hs񲴯nŸ a z:^Ռ;EDtĉX(V)Y—u*D*JZ+Nqm+DWW7}HWp|"~ `q @@ݽ]Ra567p[6zJ|K Xj$s,-z+} yuz-9Ek~A_:zռgߕ9sRI'}D?ꎨLdOpEWnTBueW:/E^"L><-:XkoQ@^mKJ{gq ^ۧ־7QOįvoRT"{)@f_IK'Uv}&^ZSMO~&Jk.lhKor?x@@sޜk͙B  8xN_!AZtPO.Yl7[[lV',p"{5ZW1Y ʮ+iT%~?xժ@(uK fhy5+i>#+/Q@`(n۸cvObrE;jHo\L3uᕬ@to6v}{O=YLv_7ēx ^kݻW- @hu9Y@sOgz=*9ͣ)r/*S¢Xɽ풦:}qŖ>ȬпʔmmDZWM+nR ,9#=+IsXl#aW5;ΞZd lN,m"kFBl\ґM&8Cm`$&%a98'rG{e2irKkꜰ/Ǻkd<~}HG@@޴+B vo-hַͮ8܉, 5'@xKQl{ɉZJjݺZli۷3eՎ:%)Q#@`H6 dҷYig=LQ7ح`a_uUVc[C7'O:'j_(4q@ $,7js N"uikaRQRw[,ϊTıJtsY^ՕB+bs-S^i[6 B&2L9Uz^ϹɩJV72v]?n@}ݾlU 0mUkXVw-}DHzi,?R{%7,Ví*rKtsN*InZQ$艔af9a_5oH)}0GJo> = @h0|9u@@S 8xqsGYIH:-Ej>LqI jK,QX)Tд^?a8Ĝ> +E*MrpOס"DD2}J; |tz}!ÝO:?>! VM+lOu&7b_ǮߡdÞʹ,QX)Tj4!ǬGaWRi5>rku}ƿwqX`71@K^{ X^yiݯoku[(*mLUʎ%#&)?(waLՅ}x״KMR$$Z+DØ Tm_udTEBOi%:T]Vy2/!f%ozo lxC vc5`3:fӚ.DX"ʿ\ϲ3/0>$\aZʨ V˭՘ʧpԴQWZrEBJt&sInүZA `Ӈ 4@zWv6 -}-Dzݶb"% opH,3z{09,+LTͤ(6-/j.旊ڠ}'?0_7̜{ ՌyNh[0Al@`'lފƓX]$n&`"#R\a-'>\;w]yuUXcA &`Ws 4j%s9u.u w%I>,)BYmZN^WRkB܄ھj/4*a^;^ ȌX0@&քnw753Y1E:7% 0t- vщKlZF1-,zNͪtOV=ujbM9D:ƨ*fKZR,%Ԅnw%-dVjIXVRde]~W3p=,9n6ra @X`o!@$CTmu{er':[&B$$O*zͳօ4yT.ObղH ڷ̔~T'mUݩdʡ}tJ㼓oBvWezK$!! p|"^5?4mfCZ3u#ybZ;Y!aWf( OJq̤{NNJdٟ2}~&^ݰA `= 4vYHkef}^A$.hM"ۃN% ןxhGT,ɡ)D7+u޳OvPL+h*E?3O]ǿ{sgF!'[v7nv[eYX3FL ױYPm]T3CQOzY*"G Dkwȳd;őV:Rue]%T@r?C]H1xK `W 48Ҧ x(M&><6rT4TrLy1Rq9[8j[TO~OhX#{JZVEPAd>SWHP>mX`lǿ;:u,A=PDghTyd|C''>L('( ʎoDcA}M'r'l}#kr쒱+c5:6Yc%@H^tN t3?8t:XoiלGє3%'L4Z4)g{U[-&P-UV2]iHb7,/_}ǿS>oGrt?8%tTy_f>]4#G1%׹ѓ^bYYS}+e|p6_7>4ǦOs@ `מ3 4Y gpG|ZFG@EmE$3XJ -?KԉdL*eJ%gL֣֫*nZZh|"u;a*gex_炮 qNd>X< B[ВELXj9Lf|flL'0"GɺRuH!Ww^(*ƿvH/[a?g)v @X`o!@ %0Շl<{꘭J6Iv[- \/S?/dQVVnu7`o֥-0d c+kjҾH8Rb#CHn]$<t^X0D+sD[J7ad2l/Zb@`Xl=;+6ɍM+ |Q=?z,_usu'ϑŴ)}fɨiEш6Vg8iltS?ݹ9Y`eeP;(>LN_n @@ CH`{˻#SP-%("ب;7>,`+8m!]o1n6'Md3QOt)1uWVKUu)ja?EVp=BC ݻG<~thz$@H^tN t3_T.uO&(DIԼLwkΒ#]e KIܼk#asL!kU%(GjVZTYs_9le+{[ezg&t>)#tJ:9[c򛤵 I l; k9q .Ǧvdخ_|ORmt'6M|Y#sk^Αk8>m{1nY\e^*+SM3;öG˜`m 6~SV;@ d,7s cd}c}]y3ߗ K\KMtzHV׈)A2-JkN%ھ,c,5z*Rםf4,b<24NVeU  }NZ2YO nOv6t̒,)(+ͲT8x;۶m;UW3u4 dho6}U@MF_~N L;ayɯ vԺ;́$X$ep. DyP)d*ͬHQo?:^EQs]3fL^dJO1љ,?2nk.ZǿuIA۟й{H/>$S,X,1]d2k쭎/ln?-NI }LȂDTLR,uPܙ*EED7ׄ4>M;lSE @X`o!@%ߟ:sWprY~H_fxu(3U5º\knKKDaV3VT),+EW 'ʎQG R4E%@+7O?5K]kn%ot݃( 0<8N[:u:Z^|moC>0r[jɼYVL>),ESu*QE?ׁbvUv3i0z[ `1B f`ם 47DzxL%&M+.WfYadi[ᘵh~L\QuӃ%->֣|ϴr/W:r@`? ;/|*ru)^n oY1j|p{7a@`HlsyM ¶I>lY!iT?@+fco_*RSN_7_x_AӅ??ra?`@L_|N T참'y9<|ŋVyQ*y_Y{gO'=œS^+\+L[I.jkWZ߭2]i_+BQ3]G:..'uЋp66 !/ ˗]!w6u%bE%qwѣIWRjOj _)1QyA/<|l6Xa >β @${#/;' @h6]y~Xcʛ=.[]T7IlpBX{adoGw%KN/'%_VmQq[=QzH99HrPB"8,{aw_ctt`05K(C}F9C ̼a-zђcP1?o=V304CտcjƿMhnDŽgF @D]lN 'W-qOhm:9m6]Eotْ$at}]CK&7;֗NJ1M٫eĜ#ЗGưo j97=[_ rQ4>0XޒK 0 f^ۡ̍kOI|(Y7s1%Qnes71}ʈB\N%Wԛ#+DAtư~“F#ɑioбrp K+Gӂcֽ' @If^w h{ڰpͿ#X)icCw7wMd)-ͪ?8fUhv9'<{*sb)tr.gGdo(u9 W~tZ- uZ9$RמM[ S3A-nA+u0~ƒlӓJC$*J(QO^JKfn_fE[u[kaikW;>w N{] v @X`o!@ %Go KWk}#rPgf%Owyq8Q';Yb<+yEtl}l@h~oχKt_?<:o0u?+'Q@7?]oz[%S=TX23RD3uS%bJ??L>```ؘatZ D΢E>gvއ$]Kl'zYu, @@C iCL`w_|6"PWlRo{t̅Pxꐒ|ZS$!Qܼ"[Zn^B&I6U}jt>>VoaUo>.LA9 3<펴jn6:߳c٢(S(vs&-0uKD'9 ^:Ir_MZhhߝO=-w+Ni}."岊z+-^/{)aE$\VZJm׋Rv @X`o!@ %pYa q,@m 9Cɍ#5WZBU焴qկ-2%d>RңK_R׀?/;aoz8IyfSNH 9a#a|(_rשL-~ֽ5R-wkY?+?ήguUbcO=P|zia߿W7땶aG=i @qX`o%!@Xa_+ {{k, &sU+!^{dXw2^K'9+G }/ɐd*BרRq-X3){ĖLeR:TYry3BgrAY]f  RvZ=e @f'okdҲ4yTn)aO;1Nuʍ_"%_䚙R)ǿcVax΋O. $IhF-^u0@을 `מ3 4Kîo=O|Ikd)w(uL$qs"\TwDGd326%"|喊E๥K^0д耪b[X~&K/+¿ҁfY-_{D0X0^ j2mWd֬ v.-ZK0pǁ=q;ǯ*Za;F9:@ `W 4@gq&|QHTgP bKYU>F6zZM9V,}3Ugy3=XGteVkyZj򓬨$GXwf ;y^te2]D j(:awfhou 0 :[.3Nj$:?оaVM>Z>mNITrkf^h+84e|tMGO_O<7o*%Q@ L,7s GŒp:%Pc8[**7-,0}?cEUda%|J9b߈K=v}? UIYjj+Z[{lMXsR3[O~l"6n}ӦĔn;q1M>u8I{kgJjC9`` l-7_&Gƻuh/3h_:?96#_hcX` @ {33g @@]yAX#s1HܣuM Qn'Io=6L|r^z>;-SY)ωl',WsI? #G Ise O.Gjѽ;򜍽5ag?qnf۟|qkF܅ [2l"WIذ9ψuumIs|En9L.V-E2"7 s5ӵ=a{ߑ @X`o!@%0{[•_hַqoU\ 4'ZlV85ɉXf'\;:?^\շmcE/ꯑ),K9>Š.MKo?'tvdǿiIj kyE"G@`~ϭ +9n欴٢ga6B#wkp[ C _~c3u}sC~?ӗ1 @ T,7s X0{[#dӥƶ.e.[uTWr[>  qw\DE/RrErPL2 u}cV!SDT]-Z$ $P7 ̿=/aZ\zamkc@`h}̰@`y!Lf;^{"͍2ߵ[a>Z릣2?_0H_ʦu Ew>k*4LCVgvw [c)}DPX׿0G[ @@ CJ`YX_pPbzrT V,uF0:0~WUn\s(Jtyh~l0T4 g2Jf* qhLoꯄ"Wǒw?(ƿwnw1]vҏ.;^<7_Χ_Фk_Xd>.bN^I.jeUnvϟV.+S릃XƿlѻEC `Ӈ 4@w9|_)G&;GKј ..m||.,f&}Y?ݑ6E&gM׭0~ k{e}W2d(߃gl sG D pٟ/wKE 4 M; @vUao;{C?*;{z[dHZt^{d![pP3ӦUbii+N*c}sVu:(گ\iYyӽ܀?0-ٰAf;^a?,125lHi]оͭP} ~dYUu~J4*>+ ۟,׶}{pR @X`o| @~0{ٻ~[]R]y5=S乧9*[lvt6('?ޜXц\sMڇ["hPs[_!篃FR:'0y{]S6@CL`c {>Q9B%T+ q, =us|#ÚOX4w7}l5tdӟN}b9C F`ї 4 Lkq<%:(ZJ錄>k~KRĚ-Ptj{ȬԒb)x&t}Pҭx@fKk%5CI*fK)vfv3Dl97dӱ?}dq@CG`'yWl=btmYf u4%l ~_-<_d]kB7Ρ[%pJ-)JjB7;n T̖2+XJ,^+ n$CX\1,!J/]=N~|!@o) @I`7/uIDv#JR nod1=9)ܾM9UYē,%)_.럙u%B%D%SǬ?FqMyvyzc'tLٶUQmݠv>dy&p#]@)ok_\?[% o _sެkJ"/ 2W;ۇn?%_п @ t@M`w_~6/; ]rDԩl #8uN@TuÚ>-zS]h2SRZ:cۗt:lW*Ig(M|#~5:_X.o=6Lܿ@fvF—gӞ s͂"o뢺DCo~c=Y="iGp!v7Sp]m*C]ϋWwdXg4TQjCBxH~ s D @"  4~&~徾,J&><m GJ.ԩ> ab,$K|oZ%W(y~x(/[uM*'+*˸ |ge(HYQ[OřԻe$.CP"{+_{\@L`KÎn`SBt,?Ma_7y;֭TWL?_4"{q:? (1?!lxv z!z{= @ ' > @!Ο˛;duM+oIS<Ӳwu־uq]4Z6m(Ʊ?fZv(ؿ>ҨᝯyCX淼4έId%DgaG @ NO @~}~%$%&z3J-QUqu5. t+cydXsjE˜'BKERCrQ{eb բy=OօhB@7{gQknˮ# tt_sׄO 뭧|6Z7&uh25lUSvc}AxEVu" Q.Fj"cby~]Ruh6>u裿nE݇/}pћB ( 4@vǩ;ksF#:&: hK._9y#jui)9)"V֢t-XߓKoB}(Xiǐ>2 d_EX{hA`q)l{mf !_jSDBm40[2{Jԧ0S\ch540EeIOKԗ]u{z~M-՛B7 G u:p}a?`EGv(]dqn4r3x7m CklL+c @(^ @@s ,ݔ)ϩzcKP޷gʦ/i՞ퟜ׿c ɉu]Zu*zIl_!)ӄ%RBڇ۪RIzc+4D0log W|HV[>s2V]eO*KlDtf޿ ;y2PM^M2})eG.ŧYaⱏJUmƚ}~1Ž0f__75{-gylZ_ӿ/]y$Қ-cqy{U @N:R 4@w9𩡳*[|>Q7էnP_ǔ:Wt;9D"RfGɣ^$q^`EiC9G"o;B֪JdQ:-R5#/q$cAc3:M׻IsܮTf9Q;dցlRGoO&=#= p XX ۞йvLr2bi\Sm͋96ga4LJ5zjeXɸ`%J-kª=W Uuך%*ڇtĪǞaA%UɢcxN#*!g?Y(ڔ oL7;'{6Mqǽ,{@ k8H@ dj;}3*y%Qu4]f贲/ʗV6ОؼD];ޒ\ۗ6,I ,),J.u緄1,nHWwHPrӅ=v^PP" @"0 |4iYOG}>+m:_&L䦈<|ӈ?.}KBذ>v:-IPݤQᕴ\YS+5)N?ktgvoz{X ㈑Qdqh퟾,L<ޡC @ `@ {.zEX]qJ*.)uP5U`J.Sז,5zHXsח"v'0YP⹒tO,(j(#bb)T|↶뒕XEmM{.~s3r9l>)s8ǹ-`lA_[b-`2x+ҏ/O6ЦM=4:w/IlYL6Nf#ad0g/ cWz FK}FEDEXz㚮Jx(2JxXwd޶D!0󼗄̛Ѣh@h*v雯&]wk0rUaiw$YR%?w\} _.Ѷс1It<. 0z;F@ Ї }  @0{{٬>*wJ'4ElS0(MwPkDJV ~HȚۧbUjX(QFM&Suo 9(vF}#a/f]? \X՗C,53DzEkqܲEq ^?{@ =D?\bUeْ}b4;A?EmbSMh|#ȭo**( xH&۟˿*~pΗBwqqUa)<YxLK橧ʿ'  @`/X`  @h(n'K"'X6B'Tk)UQfw% vH/qr{1Ylt?DM%I~-Lq=jO R?#,^saXW֋jgW c8o_{=.[< @wy9̼ea*uк-iRmyE)')nOekv?j)-ݰC~:S&t.IXaG? D.qqc?md [oSў^ֿˆE6@ &u3B Xݰ{柝9.sIf_i^]qVH5bieM]̏eWyER52ZSGadPykSh[5&o~LI|R27BcR݈#mLָqKVK'a Au>(:S|I'Y! 0TC_>!86ǰƗe,ɿd? ҜCXK%K-m ;, ٫gx[a^ohB8( ,Ƿk^/󭞞Po/=ifD1uv+E,ê*OXeۙZFehR97n C{;kCk)L6Ah =g7̝y=96PxMnx>\X%iiJk@Ǟ+Զt}C wM0Xc@ j, 4g[tFO~^eXQCIDATom:"PǘlSl:L"!4,v|¿'gJ2.zމtUdxUy\*lk׭+{$}h:&|RX/dP" @* JPA t0{ag UDz9ln_7s$r;݋lxqiZX*S-6Ӿa₅F#_7v.P@eX ! ft7\ >mETDӣϿ{~~&GӳӾ,4OKo'W8FFtHA # 4 s?/V* ]=.d'S"uUҲin wH:E%L# %/@*)^2/㑨-_ӊTO w|v6@& Ȯw7>ظb?jTw_ڇymnHlaG>7Ae@ X`WbC x W}!^,[[-L8 N`|O|2t%0j*\$LmC' 7|裡s͵f[!jè"[tA3.tꦍUG [ЊԦТW%բ}kWa_?~JPl @76ol@@ t;Ka/"t~`_XT1.9Rs'\ʪ#C~513ߖ*-&ns/Gfbn as>[";jd}b lS-lXUw0M z}[i\koa┓Ck|F;@ 7[j @:a/?:/Lg `hB1TkQ_f_{t?[z[7zcO B@ X` S? @]W+f]-:~e}[K4s2V'Y=ʺIJU,K\+{~[зFh_p93E'? aad-9Z !/K_b{vus՞Qt',Zn1Hoך7(׈F}9]#J^W$j䟗|ڇڛ77L>a.GYf@  y @? \~',8tn_uϢ&VOv_&v́ncݼ.<|LCL;S6)~,מF7N;~=}{`l 0d{E |<4Swڂ{cDM"x"6N^XW[wLOZZQm} Gc) wZ&@  y @vCgaqCw²龼g!,͊^,g8C)9^r DQNkTGG:M>'Fd0NM!'GYϿe 0aK/4,vGW|4&^&6{eˬBt/a4oI+mgcx=eɉ0rۆ;>G9:[|]/ @,ͥ@ @@E]>%ЙFmY ݥ[^g|vM΢8埄-'K|Y*'{\)ոH}I^Ӓpߩ9hWjoEz+HuRF5n)&ឤ^L}V"[-mPpLoR"k%k}h"6ġad";z;@8t˿U\s|R~[gFlBwv6tȿ9yYZ -nGley}H J#%.1K&/{8rb.U7[o-[~B&9 CgfՕ-W^J\-]PgΑ0!vϔ>0([.Yڛ6C[ƍx!@ y]8*@ @ @ @2,p @ @ @ @`8 >ׅ @ @ @ !#] @ @ @ y]8*@ @ @ @2,p @ @ @ @`8 >ׅ @ @ @ !#] @ @ @ y]8*@ @ @ @2,p @ @ @ @`8 >ׅ @ @ @ !#] @ @ @ y]8*@ @ @ @2,p @ @ @ @`8 >ׅ @ @ @ !#] @ @ @ y]8*@ @ @ @2,p @ @ @ @`8 >ׅ @ @ @ !#] @ @ @ y]8*@ @ @ @2,p @ @ @ @`8 >ׅ @ @ @ !#] @ @ @*(k'IENDB`seirsplus-1.1.0/images/BasicSEIRS_compartments_quarantine_padded.png000066400000000000000000005524601375244156600257210ustar00rootroot00000000000000PNG  IHDR' HiCCPICC ProfileHWXS[R!RBo"U *! $YTp- ]Qt-{Y{_,(+6Tޤ}sϙ3){D'.ƅ1ƥ2H.p'bc#:@׏Ut$ >bDZ S $ DTD3TJidžxdM.WV33 yYG&ĮbH 6bˇ8ayy C778bSCŹёj}F(1\!TQ'A=w@欑 L)**OsYjBgM0!b*P  fU$dGHqm f aA*~,-SJ"NWU nY<ٸȁ\UX@/)Sƪq 7LDV. RŏGJ bTq1xB 0 R., .jd>A" R @!Ԫ. S9Z@"@.-WzKFw56؏:D5^%1L 'q#367{D՞NxHF ܚ$*~K3x!3n|geV7yfMvW JB 8|?SIcEQo룊5c3[b iv;5vk.`xp =Voqxr \OE%e]c@0Uq>vdT%,`/`pļnn(#c~-`_uQ{طn_uqp 3xriJ+xhe ́5pO Ab@Hap=K0,+lN48΃KO'xz[Ї  !t@lg a"H!)H:92#d#R@!gvB^#Q DQ32Q&,t2Z*݁65}b 1Kcbl,K21)6 +*Zk>D3pDOg56?_=`Jp&8q,B)pN["hH'zݘB&N'."%"%{I$1əG!qIRjeR'=YlAv#Sbr1||GѡR|(1>ee e3rIR~j6u.@=IK[CCJ[cHcFn34>hi:i54嚋5jռ7FRiŴ:q}{-p-_kVVem[mD"Ju(:v:l,j:7tzu#ucttn=Lg+ۤw\[t}}3$So/ߩߦcg0 `A!CΐckpuÏC̆,0wFCFeF}4f/3n2g85bIPCyCˆz5u23niYlqnsC@lͻ,"G,3 ,F.qcijn)hfgeohUl5՚iiºպ&fMm[-Vh;;{dvMv9Ewhj:9k/9NNBjΨys00aanh\ ]] 79xx#lFX6/]9fdȖݜxnnWiݛ_r%nMG|VϞ^R./tL}f,s7;{A>>>{|ulhͣYq6u37wXpjZ>e9Y;X/\Aޱ}3GĐ5!CBBC{<¦ 'G/ 18u1^cf9&aS4% cO8yTY;s{oqaolku/\>v%ʩE_kx捴77ʽv;sӹWy~8 <=zXSgړʧO랹=;u/$/K}ug\O+׋6{QoZ{c{{mNLo'ҧώ[D|۟/JO 643[@ {RTªR<hs}ݰBn>!M-Lw7V=$P`{TK`] ;eXIfMM*>F(iNxASCIIScreenshot J pHYs%%IR$iTXtXML:com.adobe.xmp 1926 Screenshot 712 f;CiDOTd(dd3es@IDATxgrDHS""MAg Ɔ(`ŮbK^+EP"E)Ε?;;sw{p}'aw;;}y'$L       )+!0זC@@@@@@a^       @ N !      y       ).@`8/0      5             @`       Ssz       a^       @ N !      y       ).@`8/0      5             @`       Ssz  z_N,Hv$##Je3331W@@@@H1)vA9@H} 6H͚5E"zȒ%KAU'M$={tܢy ;wn>^@@@@T 0jWA@o<3d׮]墋.*^*6m5j 'J^=i޼̛7/<~f@@@@@` ƴ @{.s 'xU96n(999g ^~p2p-    l*@A`؎$Ur:͛79$->Ԯ]T~#GC_k @@@@vgMK T ]62׆A@@@@J Tq[.rw64*~8<@@@@@w  @2 {r饗C?$ m̙#iiira%(((yz?_~E,X HDvuWi֬k.>Yn:6m777Wڷo/{챇gwWHΝ+U_6l(-[tXJ\h|Wos<.;)Sp͛7VZI^^^Z}qyYƝg֭cU=ϓٳg; JݺuQFνA[`K]5jHN*~k׮/2{6&!    P>&@j4eeg{ T./7=;p;!z;,^ػ= FIvzzYOnq0 ?uVZ^Z<|4p]pކ )[oԨQ^fMcV{K.vmzlpx>}׿gQ>+3`O6m.׮}2^}U_~.ی^ckiӦޱM:5(̍O>dWfŊ޹ٙsrrK.ijkÄ    @ 12! P40!5,b0:yOƎ+sJW޽? 5@*{"kVrʘ9''O<Э; ?|7h?v'[~wu٬l޲z14GlH7@.`M|+kCs[g-6n j v]exn JƷo&L̠ adɒRY}b[,;Yᵎ-|r۷5?[ܙĭ'J^zs5}eÆɧJVV u lC k̚5+߂6dv줙X)3+S8ջZWYrYב?^xʫ-K*iwߑ‚B.wSJ-zlK.nk k^z|W2~GC\ bӤIgϞx37x1:cYxW3oܸk@`&>pw>\f>c}YlLk`8ܮ1vz_\φ.9iP;3ݐ־ \rejv3=[N4sAkPT#FD-xguVa5;[k<ԕ{ާ>ތ3JkǼ~E3uܹT aǨqen豉OO n{Gyuj뮻 6g h!-{KpKm a{iTY{M,D/%z⤉ײ}vޯT6|ftuv @@@@T&@f:qR`O?u iA?lZ@ jSoF:SO=M -lՠ}Wf"'VZ^z:#'Wy59n[p~:uJ80z:ujO֡x_{.t`{ f;C9fYú92vM6qJ.|wٹY&Hա¼yGt_PL|^zjʳu_nru:cכ3    "P+! M@3.ӎI'(/BB 4iY7dc=&&DEݺ)Sܚvڸv?^9hĈ ,O{=[d@ǶnᲯsE5(Yu57 ճ;Dz;̝Ge]bׇ>ZTr8p(iKpﭷ"W_suzbWPv?d}Y_3!    <@@PҚ Ռpb^\2:X^nn^i?%w:3,n-n#}zyv-U&6c8Qvx6mcV.t1Gckj;-yk)ݣL    ) M8cXD/&${ KiH;enC 7|㲎y{UYfqɌaǰt=k2޺hF3,)5Rլ`-yzJIs<GevEjԨRH͎>FW'(mEr駗Y^D,5h"iԨQXCΣd_-;uѳԌlwX?9#G}Ky|a16:Jz9uUʺw5_Jf [VOaa;g>|XMxXq0YrϞ=ݢo-P{dƍ8~rWn8@@@@HIs8P@*O kN^PA?S8TtgsO䫯:|pfetFc\,64he?sxJ= rAقs?݁XG$++ OܿI֭cw5cXn%mcdž[4kmZ`xqCI᠝a[?uTY/>?;uJʀp6vI3E36Y=rFFdȀOǴ.5ٹM%?=uA47odWG^jUX> 7n n,c s[ovꪫ(j@@@@Kpr]/@JZV3iưN)j[aU 0}[tutz;0ݧs 35#զ H6V΂_}],h>P6mФM6pzZ=z.0<\]C qWBE2=s4kOjvmLa`؏ҥK2^y啗eR #Rv-袋Dp.3Vvho֡]1 wqr]w-e [mq[qy&f"2/ dשSifMYތ] |-Wo~FxLֲ{ clJmL˓5kĝ %}}JyѢEq-|Q#Kg ǂ]eZƮ,ةӡ^z~pmœd z衮 R>䖇3/ҀxpM8we ˛o鲖-o@.톷vpۺ2& J\&N$'!.l{!kf͚<&:!{g?~OuEkժ%Ww۴᫽RYa3{έc`(D,"   $$p6 GH/2+wp&[^c9Fk'{w}e޳7 jZyA=;?whpxoucZܓ}Qy^s:e̘1a=.c8:g=>nK4cVO?- JṰ þcXv1AnVf}6̙3W?Uue;0mp_׆.dYO<-nO>&5-Zs|zaK+Gyd}K3v7wE:u$SL [pg.ݬY3_Όq1lc8d@@@@  '5 @@\'ʋ/!mυ &, 䡿=䂌t[`Sɓ'i0bDrrf wPO,x[P (fe~~uqk֌֙3g%Æ s>C]ֱT=kԪ,72eZ`fe$ .p N)"/%=, T[:aÉw^Ζ)lӭ*W_}I^b9E}m`(i,'ws 0E*6"   $ @wmEO1\k`ג?]9.\AvW-n`uϚe-/^nn^ryؾf̖ڞhřgڷyԨ"Mw򲲳<{kK/hs{ ˚ь\50\V1^3][99{ g͚egpkmeoZW믇˚ooE5Hs駟iv3fx~ W ^͛n3ptA>NTu    $&0! @u ef <.\]v~PM^{m:;-"-UN۷ΰp4YqXڳ` 7-BlSNqEgmnmݻwpH`؎5Q`8xڳfk殷뮻mᶲf?_:th诙fyM0!l#QvώꪸK.zvXXgJ:vS~`oec    &@`8ٮNj @%<~Nfmڴ)3e k >8ӂ:t£O SF e=fY>'|۠Y9A:0tD5n{ ?dzvQ^P3;!a07|#3OyG잴  (,:k݃ރX߭nl|>cX_wuaYX[O-)rID|rꫲj*uԩUG>h0;kQr zanh羥C~}e,yfk- uiQ#Gt%KE_}h ZV\"&Gq0^i4wO>@th),*tUuZ]]΀^/>N<]Zj9/Nv8SC{3#AGn\u֕zKqG: F;6n{ǰ|Gnf l9.0< kfQYZ@/qֵ)_-k{hVl+ʽ~rk溠z~6jeAZbւ\|<أq\K)-W^yK{oڬ̟?T+t(i7n[îeXF@@@@  'U@Qny\uk]wun~[zWy+a7KvD{/e>2ty ٹ-a1f T2cح |PE40s9Gc`𹢁a][O? TΌa#Q`8GdiРA>[V1cGu^-\oafLw [ڵ}cg֯_/vt(n9AH?J7D3*_tYvի4X[ujn \7(tPnq~pOiӦ?mO1L`8@@@@Up^9@*.`CG[\wbmb p%' }G͛l+[WPP 6mriii_"F A@@@@/@`_#@~? 5uA51&+.@{1DŽmޓ~uV~W_IrYvO޽z֭+/gϖ>_|Em03#K~|]YF222dÆ r'ʿo we=PO^x3&X+qu^ѣGǗc @@@@*}y88@~_3j׺ve0`tRL"o,]mʒqヰ۲eK;Y㫞 ~>ұ]zrZy7]p<`]s$b_q^xA3E/_&?+kΕO,_|#    $ᤸL$ l@aatY>~?.7nٲerkVn}fVL25.+믗oYiӶ9 $hB~@\?CݻwX†iS]Տ=t,_\.Bynse4[vЍa |OתUK|A93by P{<=W_yU=RruS&LP +@@@@@ y 'ϵH@@6,^{yұcG,]˼-ked*?aQM6.5ؼ~cg>3֭[e.6k+?CbY-k_l;W4JVZ W{,@[oEqၮ{ĉ?@@@@HFx8f@تM43X\Ok׮[oҪU+… %'''ܧGkecf*SiÆٰ7[nX,e~ĭxꩧO7>km3{̙3ǭ2V6fΜ)vWkdv_l(j8 2$- o}'G~}ʢ3v?N;-.2    '@`8G xLoQ޿6EtX`>*[CkV_vrwEV\)dްqTcNv6mtI"A:td }O9YOyW4Wb_duk׹`o!6T'|R}{Ίz-K\yrw_nsÇlAa 1^zG}THkՒֺʟ1==S ?3w)_qP)$xF@@@@ 5 u,@@ -"_zرX7###AIՌ3dS,^XjԨ/\rfCK}~ ?9[;Clj,S=̚5K:t%KHNNNX^f3+PO>`xa{     @ Nk# @9,kuֲpBi{ʸqdOdA/rO(Y,\ߤM$shB֭#ӧϐ6w}K4cYmڴ_~sE{9iժUs̑~g:,yժuk#2kLi߾} O< 2 m[:cߖ]'-Y     $Bq  m|RP ׼<ӧttkNj皱;~x),(@'콷LcS=W_ 7ׇʚyeRXXXе;Vƿ-[&'O6mXwҤIR^j+1ܯ/m۶ucD_ne6r)ry      P W! @%L0AN _~kD4FlNd벉m[>H7on8r 'hsY{lq`y-8<|W>5m*}l2=|P6w(4cئ>~7Aư>roybP8 C@@@@ @`:\e@1! CI<#    @e LMB@* 6~.$0\@"    @   @ -F=+@@@@@ 慀 $ 0&2wŠY@@@@R\p_`N@d( <#    @e LMB@* d KLxp)     0\n* "'.Y1W^ *+6W~zTY6{/?_B),^h[l7<o {:[JF'-M ~-aYYO7fFgKDꦴHsD"!)iY-99R+3Wլ'sIüFҴviYeX"zm/zZ?*}ƒ+_#Ek anZ&B6)ܠ(^&}>Vg S܋.[a 6zymQInESl'XX^8Q'7qŭUN}oDsֿziizFijOIIϖHFMW[ҲI$kIDk6Z{vVB,]+HтRxx˵]Rkpz ͗}-UUO5C}ԹӾLhfOnuqt:c{n1u]j-`վjjUӵϲfdJ$;KDJvHQD&͚Jƞ-%@`X /\%~[/ k6ʲ5e|Y@6ɦ.6_ @VEPgc&Q]3Go (c;ؾ-EWכbۗNzzHIFV癝Ҥ>ȐZ52^^4SCխ!-JFNM˄ P{R!@RA`2uՒ^?Y "H,h_UžRb)nKyί6v_m*X ڏ84v 7W:5(M/BŒo!>Ud寖e`T)Z&~@[ ~V\t\Gk 'Z:׉{؃NZoW.=wwɨw._ @w ^#S)_J4 bYR-:L}UbΠNfy}'ߠeEQ𿍎wTNkD2G:u.$Rϯҫ8L?H͚5+tAku0m?X*S,w|?m{oa ;ͮԧL۠7ηx>}|k{ԓmH vb{2!Mpu/Eo_Nq/m~Im ُ\nM;} / \lA̾:UCډfijkF;˱mw!`SWGI)痤P~֯X:ӀHj9  ׸5]a?>VWU,ˆKUAv[@ieH):ʂ:?}7ioXF>s>>ԧhkMm*_סNr,9'']L.?#<"ZJ/[}جY3޽o^,'(fr_s5rgou? TL~M4W&~D[_iO~:J}u%G;W`NN[~p}ylO鮕Ql/HWrjҭt{{QHjo}*`BHFM4s5=@ApB Vm[Ml_6n_@x#. 6ZW}`=x:N-{(`o&> teǥ2Kݝ ъLpU\s?t>`mrcF82WyհoxA6lxY)oam~/u}TM3+bGװZ.럭KKt/;8Xh1AէXv@AA1BƏ/}GC?2hР2؆g}V Ⲏ7n,'O&Mlq6VL o}/s_o뿢š0Go+߸b/4J#$᤼l4Tw(\*cp72~s?/@㤫o]gŒ+]|_Ff2'ϝ(mwmmi' %N:)X5K6{ai!Ks۬VJ.G2t`+fU~7x.^OQd>_2׃gB~'C f}c9Ԡ 2ܧR]icUB?F0kk\iGsGۋ~k}u1}⟾Rs9w;;B$c=&/bZʒ[B{MVFÇ7t\wu%J__!|5_{~Kk_6&q׫(~fR߹E@zr1eu]< Լ@~ q3__v4_[/-oV/%~0- (~?_P/}}$O׿?.8edڡ#AKpHg\9j/7nhأv Y3pl}?eF]"Z#0X}E~I^gU2! gdó㵋1vwp}6Z||9~зrD>39KcE oct}V}ԇ-iAc~mK%qO{_w/9rj/"&@T 0*W@X~v{7lfE*tLi[ҾhF)t r;:6ci?97h#Z~g~%mLPGL;V۴T͸Q W[OajWK}t}Ί,~׍墻Zu~6㟥m+.GQ 7'[UϬ{]bEKJ7j_gmܓ{_m}) ]hJ]g{m]YGwW]Mwޮ Vwk.yf֭L6mٿڵsb[aoe2sLw 6< Ջ[?l0[3|GرcaÆqeX+7ʕOO-WulD;Luў_k)w}`-Pl5e+]Ywzlr>~߷yspgiXxDH)s)9Hey+$K-fJ틙pns2ˊF[/p&?r~QCmteu~7РåEkӎVޕumoµsdM^ֹod,ث?a*OMt.(n{ꢿZW݊.k2 h?dd*=Ksɚo¥Ϻ@E]?lKja7| _nUwأ@埱kuIo¿{cq_Z`jV}J*~UZy@H éq9 Hao~'!kY,l'|9w_ᄚ Jv]"A0-)l.GoۏrQ7̕}iw.1J᪙n^Ѻ=wpA}=iywZݡ~Vm{ Td֒"va#`Yn~a\p"-[r&MTd7ʖ(9K\wY[+RϗoԢ~DwtU輿pƺ: ` vrMy_\ɻF찷"S% L2Ez!6mr{_|[}Æ rUWC=guQ"<{nކ:''-Pq/箐Bn,(e}uAjO` nRkJ]3SYhK@  '@ ,S򷮑5OGξW`[J侔{-Z}s]-:g_ɯ)wU_'Rw r+keג;UZiΕ+̳t}.2\,Ek?{4ٿ0!%WDPl ]ޠC]F0`El ?5|ts8D߳u-.0qD?iѢ#py˟'Yfłć~L>e!0Շr+RnVK+71UWh:熝[ZkBE.S߿Ays8, q Erɷ:%N׾ٳf߻,k_lrt)XEPͪ)YiR##K2_KOLj [k' 3λ2N7-Pr&=O*~9h. */Ѻl3\[}ս}Gc6.Tol"RPT(hl 7.]쏭@`۵-nmkĮ4kS< LQ+/Z/SUE Oaokfj E3?Y窰I[hkOZ0uǣ;^ko,m .-kκ}>9_W71uItZuڵ+lGc3ju t„ bYn55J.rQFeUY- e_4(r׷`a-Z]g-cǎ5k s9uRXPWgXy[}gҝ+4L&گ[ȶ/i~Ֆ)~v tnzN;./\m5V>O>6[7L>;t7׬*|9uj(B@DZD@LnlQswJwGcľ6ě_Z8!"؀CZRPEu}ϻ*j:gNwgְ^Gv]lQurT<9U6m,NB.'h@ "' N\yN=׿|t@"$D@n]'@"0nu9:Tg_t 8!SnV9|y WHN z X \[4qЏL Ҧ~Rn(4tw=e8wkAb,_QZ t~)/./?%Qy<(0z՜.t˭+o}M=n:Qu ); fK5s5hIaV+Wk/Vk 5НP]ů>T[\cnM!G 2,46Elkb_<ZPs{iw-4ۜ^|e;I ʱۅY|iI<9#q{\yޠ2J#}S6^J$L0}1qNY^ʡBڰ"C\ˑsbF:-:I*4H1/ۑvF5G\?8S7uʎUB[* )_DI"t %"'U:ٿ)_Bva0Y?d;lo~29ѯykʪUZ+,sꅏt?6v忔6}׍Pq{23~Hބ^9br!s4V0,NCGw8㖞Kit!8$NkV6hp 5|s׍\1п: Cf@?1qNc`1WQc%D ƴdQ} }9M RD? ۾Q5lخw.lg,j,zҟYD1{|+_)^xa{-XuY}ӞVkisҗT^Wnz=Y7_}*&B PԆ_-ѶZF]1&p1 -hv~럢Iڱm_dSO ǎ5zcj±^(/EFۄB׋]e⤜='3ggoNgضv[ٮU<)X#z%|L,~7`xk_[w;+تUzUYh1)wK/KE=O3dď׽L~s+a S&/.93;]V.C>W1Rm[=SXoJ@;\|;utW9yo<0l^ji\t+0n7dp'yr8J:? >V /?1)+W,/$:_-W~? RQ<; cP;2>*)JIʿ"4vEJNS FON| upTrkm*;v[LUf_N{忿ZyJD 91ܷMFRy{F:Z8\щ$9 ?h;|(:mJm0<)TUC#6+.'HKAXR`2s_jÝ9l;th?sPLz w;Kc0:#u5e-]l^8,:u1Kgt<u~?2Qmo`Zi)FM?csmГg뷗o[ʙ jV$eHc!.;I}TnŊ媫V{ʓ}ۗV6*A'!?d':zy;RmX81%emOOޒ٣0?%V[ɭ\ߘ gS*_/)CZsE!GwiU//?Իx^_qÏʯzQ0__u`BHՊc.(.jntRw*Ȯ` p68Qqp0*Bzxٜl_X ocMj/=\pQ.<$@" Wy&#>+ktwbu Ht̡G%?&ZN[;"Ȫ9}hޠ;v5SCcp{#hwo_(M6 2`EQUTtӍ'pjʉcz;2{Hm{+o3}DeGmmI,da\m#sL]wTʿv{#zSLr=Ã+pR(>吳ߧu*, ~ p7ݷ+O=·*:js3?i?WNσ@@v+_՝[%OlBıچ4ۮnLzG=IkG:-$.tn"]>BZ"K*S_fj ʤ&Ia])PA6܎?/ߡorl+Pyiw9;ED H )D q~(FZ ZyF|[MqNK۠< щlF uj魢^DiK'ƭ"!ӧaH~vʺ-\]G>\ VԵ>ZE`Ío)wEBcشک{ʵ\7-ܦWl3Y24UKDGt2kOU4^9c:osbþX~GB/_ˑ`~/.^{?q+>餓'{[e?}6o+M_rurءGNOCk/Y&nF){0?j_U$Y?VujSinUC7*o:UzN'?IOwo^ז/|}ڐiuqh`v9a٢S$ٜt-u_g! #vϿMɠc:IDwܝQ˽_7.`Y)O8ѿ˗myHDGp +o5HF[7e}PVd{iۼ'ybj675{S.1>f8c0tua|o)c &3_# ɩwLT-656݋,PM 1<ܷcIi¼&u6o =Ę{\z`&%:/0Ua9=W"kgƴ]4ܼC ]$?7ߵſiwE?d/~'!N#wpsX^׷}կ'?ev&KySR>۟Ժ}hKK VT'Iͫ [wakgڟ?r"3: 2(]pBJ#Ŏ(XciSS׿Yv$'adZexY(9֌g?|ӟN^Ї>TN;-w q aƭߺʽw.P<FQV8á ̓,[Ym2k¿Jn8x<{rTؓã`wcmO-̉ yLD 91܋bʛLQG c|0buo@Zk%>V:dyy18V{c`-IjNV_P׵uߪH'tv_ξ/*n1Du7]X* PGpoM]8݀DER=b &ݴ!ue-oRp0ns&V7,w4O\"qs`$GMi(2wU䯗_ɍ˶R+L ?o)Q&Gt@?X/Kg]6o줬>f1[ {plo.8O|Ǐ>?B[NVZwp߽GVIdNGE(#75P7;>>cKiJWH߅ܓo.s}=-mbK /7z־Y*5##6.$4ĵ=u 5^"J62[;_O-jCv46'% N?ڶD H~ (D q/I֫<1Pl\(wKc#8LhE<++a> 92"fo zY85ύ}E29#OꐣN<ԯpRw}l l+]޻'N)M+ZHu|t=\lҲmՕ/* 9V>629ە_q~n?&+!Kg#Ieda0)멕/9ȹ.¼-MŸr|2*ucP se i}˂'y3ys['z#Y>xsu+|rB+V_W??Vls7Ge˧L[``\/ˆ2zFE<ׅ*1=Q%SBh"EjW~ ҉P1Oo9Wu_/Z7ce\js/|z9M@'4=@^lY׾V,Yr2w7O]#s#tF\q,eVɟv08^Y\XC 2Na]!!בt#M߻lղaJg2p)nWc^x$@"rbw$#şoW'5o+XhklkP'%<%9b%m4#%ihث;s ڍ:4q{N,wm 3ا}{D-./xAG>]3,sj38cf= p+C~mgT-O_mG,->PJڟρ>FS+7[695x1#V@No~tGx OTbuG=,8MZ0/ٳg?70"ڞsY/(adSБjŰ>j+iS͠nPCU&o8D:#^(~E]cnw t9.TVݷ%ۋ=zKFD H^ ý(D eߺ̝45>h;TGu{c!Ϋ|)3 ; lg5к ~:!Zm}:" X#aҾ^5߭eNx*9w/:wQh:WkNB`jr/EÊaف0@p$qs]x:)Q ̇,;R <h)_Akzo:J)CFK~?ulwk؃d_ɭw{bbSNRP6/PT֐')oNKE߿ik;Q.tN~e|h%@"rb$#MwRUtަFSSCxʲSxiekr0y7ȉh=T0G.ȏ!4YL'.H`a?%yUQ:"4]n9'gӁ"0\OE=d; eu>AZyd4U._>׊nC;͜uq)\HlOLdp&K=~ټzK^RC;[xg@IDATO ;tb[گŖݬZc[Ļ{ض7uK./5:XQOawF'4yr gVxWMKT?촡 j:ru/znwͷD_bP-wC}烆?Y~yްoASw譝o=ğnQ~}^sN91]||D /D q.g1A+o2V!_;i5: :B3׫-]7R˅hi̬s|wffj<$*?a_oeö ?ry OMmePۀ4Oe*ʂ wq^bJ ǜ„/T3wv 2 < 1Ny e܈z.pLZ&wYQMņoމo(sl,#87__*][v7pCY0W ro d.jkS??;B'n|ku|ڟ*'[sMr~Pq+v١c|cxϨ}/+<x0+/oMi0 ܉r#BQQ?Wbŕ8DL"NixxSp0#7:ٕ)OO(ZS #c"$G 'g| &#77||1kOkj٢7(:Z _2I9Fym[:kfp#6@LmUDm;{$$ɥ\ 4>5Pߺz?_+x\ID .D x /q^S{ Z<<ꈩ~!G#,B'B}Z mKex`H&$ڥRJ&E3[_ ^ 93(ɥXeKwԿ!TYʸ6+o|px!>p{ eˏ>kc lQhRx&+vN!ND#oW/ 1BmBgCW]%uZ]!{ a>oOxçwWO>M7o ~&>eÃG`;l*S)UX|Eutu$m؈'R +YB#ߐF9|:,#?O\*;~jo3^AG[o-sNaxŊooI'h ojxDҎ| SͨF`@hf 7ER^:WB_A.rqy1)mrk-k69~I*]$@"lrbxfO]"< x~|ktZ;>0uҴթyPf­ɏptBBlĥuS=vx%w}4ʝ.v?yR_Hn5ro9; SD)omWξŝL`tmkbx, C]^Hvf E骿 c]U.ymiBRWt߾yGٺv+SfqvYp;"mwmdg?Y/[v2lٲʘxNrg~O] 1Xo-۾J6\#aʱKlj][dTJvjF;XԓȪ tdrZd5,nA!p!/G }>f`7{!47k_Y_][7V6c#ʃ<=/>Cޙte•1fFʻ JSw_|˭(;o5mVz~<O_$[AD Hf>91<(0HF7\k_[;oVtc?,APGWz7FC`pL]6uEʂe$a-=c f tRoY_{T{NcQqnǗ?REpW$12זu_vl`:xÜ'Y~1<3q"^ʔ8qfHj1 vD׮ u;?:o2Uܻ-,c7~!Oʁsjk^]E׿/}iW_9:O}_U=1AēO|uQ]^2y7,$hr"?T,7qc!ߵ-ͷgV&ii&8 &[s.. o o겵r2'?,w9m>/zыG>+zի^Uؾ?݃C{/7O:l-ͮS +m:6i#jPP(Nۇr)CvPׄcf_oűy퓻NO"$F 'gv%_ԯ=Š A7uw eļ贩âż^˧6,cg9z{wALԭ" $տNfs7mX;*V 쏫tgQӁ"ِUeO`FΚx%bҹelJܳwB}HHuuKSzyAnAwlQ6R N^'-1f>,:;=zO{ Ɵ]w]Yvm(~߅X{kmsi{c"pLx|J]NacY?yQCߪD9SpF#C;e2/ :\slY?AE`͚5_b;wny[ZT,E[41'F "F;9mӜ=&?8mo(aJ B[)_myoNJUw 0[ݾ67yLD /D u^_*wg}LZjnv.#WΚKP$й)w u]fo%NokL y%¹7ߘN[gLn)߸[k^쏸 ~{tӀZ>F{%ej*\g`ix1hV U(|bWNVM2RE0i H7:‡Ħjnn77kQs>y+^{mʕ+ŋ__(߷'Z?~{_2 3U۶ﰰ?͛GCǮyi$^:NaL&[$!&l'RtLV,Gvq&y7~`7߼L~=Vf-_Vv)< w=я._WˑGy0T=,d^+?ZI D9nJ yX/("xIfBLLǕj=yڟSU3y |W@/I\7tWl^n^;zrKD 91܃B[LF%{egýzȘU~:XLNdG#N,gVx sݩ#)k=<i'2)[6Y1U+=m[51Me /DyS;pi9Ok庥sN O!c?k ly;R/%VuROqLVN(8y eK9H# E*t/4/31-n=ܥ+Tt@[Va{{キr-H}qǕKz闿πAXsOL"4x )_+Oj9)gnSFo".np̈t^tnimzXu"Ime/K>r,#Fd袋裏KO]޼zn]@&C]- KԱz\x+蛶<ߔKd% ߤ;' ;Q[ nB5Ґ by鏗}t]gS]7J]{E?J`"կ.@7(shWt eI[%8ٻ >rqX?MZ۝@!V sQu5/OB8x]~E;/pS?` f\ߦI-]D Hz@N D`xB٬oOƣ2ƠX@{Y#OX#!6 h;'Nq8S3UHW$7YW\/||0 &uj!/e~٥lXe:sl}M thlȘ qO(/N-/d [+);ħ<#)zjѩ_g|gưK}` r7+C"y ʎN4$?+̺%8d|ÄU\mb Il8!wgbZ;qdgr&Wެ%B޽O}tgȫiG;(O|˝wg>OEiW03oeÖmtMb(Xv9L(_uai1G 744uƴSy=roke XSyR d:iLjP-bdcfa':McO:@趺OY?Byx9@>@[>y<`쯌)Ͻbқ|c= j}ezFl0n[TdtLkm ]87M?H>5O{?tݭ6_J$@" rbŔ7$s>mj34Δ7utSɳb)1++[;L1#i^X'0uӯj#ᡱ@hŊZmA.c":m-MLҕSgăUB zy\Z?:"H ѹ*nél$bزc+d+>ZųďY}ϞG`78f ]Tqd;4&ø92 |y;J+)m H6RI>ࢮuo!\85]KdİWfҊiC"}sbrX XJ0TU``xJge%i8x;xA U5a^D11 izQ>nK_le+ibnOX^ c~S.<<B.ysmc}_^os{"eZ1< W6#`зQ\3ep)m $l|RD0:QI˪S11L0=,_91 DD -w$H"˞6oM=JݨY ,rE|EH_h+qʚGيOv@I@qWİtgÎ0"o2mXMG|qd0vX\[IW\bBv9)!u7ײuGLDfwFRgߴjs>+9 YPz:1l7w}ک1(v۴urj7~OTHJ<¤ki=QA9T:J|O-.jy2qZ1ܵ?Me0ڟn⭵ M s3 kg"dsOv˴BOp,C`٣JF?j_w++){?_jD D H@N 2;LGE,zfOU;Y11|Jt䌉[j ]U[FtgXEZtDTcW&ǣo3H#Mwj+i EfMp0G׻y?^)cUٖc/=`϶ooǑdg`` N".Q7+mf: =i/A}O8'b79O+L?+we Ii+\&ȃ0BeșKksI.rpxNH-SW,U?,j՚`K /z48``Lx./hrbeT)b̗}x/WUKb2WIOWLzu3x 2E;# b8c"$=@ '{PHy@"0xb؏ؚzSWtZ]qN=C r˜Ta͊`&)j/[Eġ ޚH2,bMĽǥFo% C6p>vFCRZ J s+quC ̉TvPEyQ8m JS\*XgRwOP!`^qݜ8 mҚS#[Inȉa[wz.E, ՛|cy2i1xQF_\:Ncc X6tnG=|L#7wl%=T;Zr[If6_P#n<%Eojq\d/4  jV4Ã!1y*LEվ3]RV XŒ;V+)TB p#Fi{57<ݰ8>m=T wHoVV.WÞU 36)+Hx_'ˮ3fM-provq8F_q݇di&Jф59c ! ;_#sZ@o +ko%^"q`f뾫yZ A5W =>1,,%@"rbw$#34ip> T MӖa$UYk1[Đ)İ/7~F$9#嫝CFV 0lʗ0XLs]D:nzX{')tƐ= [>WAk|cdù{x4 @@Wb%u.- wH\RǾC/rωasz2T%auNajceSg#IڟRDZiV99_n 86p>%JIjoA?Jzn 1[#YͿg>vIP)ڃw8oP̲eŎbml7MgvIHkoV0{?l'W SD 91܏rʻLF+\Ձ. ):dqP9o%ͪfhkzd8.b蔐Og:HB+Q <\5NM`f64#cG!'ƱU__C38uN3:oZK(_nAJGa6U<dH9iŰr7ZrF^#pucoNUӋ"GhQ Z1]V3'JZM1w1[aW.&/׸Y0_DēU|Jl#W[8SÖe:WiB_K82~*b3?/1U$@"0ȉ_Dy@"0\íkđ;mXΠZuPxQө>Ji#=ָ5tF3TsHQieKVpzO|cNڟc􌹕EY /XfqWG]f꟯aw5z?yC&{n#!1\Z<+__wMT_pPF͚sbXu!]aq%2qYčHceWtO`JOIsrekK!oVv yQ/[IP7+J: X+kS7k5'm͎/owNB?d/1ף]!N'ڤ#rcqq+Il%E {?,wOL`D Hf291%^a?77קǚ+G3Wʋ:cu%qxOƩ?pk[I0J֏<%@"rb$3/.:RlsE~dhE,1LLQzq+F !ۿ*;z9\1 \tH: [UDYy-Jz_F}sb3=.NBuz7=R^uh[!ΦP+ugsa_;2Gv;ɠz1bg?rR17ީLԛݵR֡_9kİ&+,1|16k{hPڿÕ4Χ/ }VBiֳ`"ڿfB_ͥ~;m؜n>!7Z|i(&訯^+,M q8?sr> _gt9#Re%CC^b4;K>@"E1M&(#pV \<zd\TǢvx v;duT}kTa'H좨"x\c+i=uO^=Jn%&7$6wM>N /0V;29:U^,ExR! pN_!`W׸NA7=V % YN?Uu"0o s M&4O  O|Jz!+Ӆ>rm͇%$YKNk ޙVQĺ]noW ˾[P[q^+9 >%e4C).W OAX'w 1Lǵ ڶbXO7oȭkS"$3ew$#3.Vҵ.oӭ҉K#ъ-Fl{ȉ8r I`:$7wS[dr ?+Wl;Tz]/lV@1-գ0_rbxǁ0z*&(x9_>W;4 Nig)9wz>F5!r݃MRi?J9qJaڗ}ٙYkŰ0VѨdkiڟMƓeNE`#]hy,Uǎ(腏SQݸRoä^fyNzu+qP9Պa9Uoyz'_phCtǢpBկk=Sݭ` n7G 0SD H =(D mW ӾǓSGĸA[msйAڇsg.HUc@R萠8NpM-z=QEPȴK#nvbrpq%:G鐞2bb{o+e2m%-tٲ$vP7W470:cЧ^S)JRƴ+.8Om?z+:KOY}/uJt}o' T_~ڤjsͥpOOpJe\.ӵ4dZu[CKo}v}{xC\9]a5^" <]-\ǽ~CcGk67&4'D 91܇R{LFM Pg+Ջp'٬*>u٩ĺ :l4F 7E";s &:N_:#WѳIpqMƦ7] nSpZ<>Z4gy@#译113|:P%dJg`Nd$qKD@da0)u%JC.0MwhbXe/4?sayLz`+Jc1O59}_lWs9O<ՅhG݈z cK /w) ؘGmƹwGk.)o%^b[>F]1 'HRlkVƐWoGQXJّ2yCƤ%R0}şct@"G9]&#au4v=N۩Ouw,j9A6 X?:'bY9wUP؎/7Y'6`_{Q "sb=c:S᮳ Xr ‹ cǹmb|8Ru@M`9BKKh G\qܑF-%U>m%Y7*@z{5n`*g>M&4(UX ig1!Nڿ!95xQO8g+?bIn%MUI3N3cݪ +ghn$m?qlH6bWMXӕ 그mܥvv1\[I.!H> }(D i."wr W}] e&r?}q3|-: 5^9(u^2\%HRD4ư [20 <0Qjs;`)@\َjف0@0Z1lLN/c g>ffrHY|Q]|xЃoDŮofbXϱ/#Gc"õZi]"|iŰخ@ÃAMgkBRz5(P1SwQßazJV< pN6oW{=\OͲTR'!N~iՑC^%O@ tc9r~fcR0.HDp/)o2HFV s^RlRB@wjlŲ=YIZ@Η/e5K<Λ 8)A·8tA~䄿vdq7P=E%ePMqC_M7—jJ2VVC82j5du1_ V ,WLkr7q\-vyXn%87x+iV#/`*l3qf4 wB'wi;»mZPdLHXP}u.r(õ!R?_rb>!K41B*usw_j+6 Ud&crmd$y/ pZEtq1{]c|N7ɦ?h{o>D73'<&@"0ȉ_Fy@"0\psst ӇsWge-;E3:l\9QK| y r߭E׫-au @;UVMW֊j{?L{ɉaPb@&t s=q*[=2 )1.™E;L8W>d*0:Q%VcL#;*}9+]"֜Z acUwKIL hXڕ(0Tn*|ڟFȒs['Nb&OØ &x%(< /ѷenSΣM8lg>fNiElj`#n扈'SzO}c~*ɶ{Mu7Uw?LJd%@" rbŔ7$VҭUԦ&w4JZ8wq oF滯[VD&p [ChRnv'kWYxsQ6U6OOQ\ #[k| YB#ߐwڿFhT~X_9xSX>#tP!Ã6yw0 ͤpWGikWKz\ S 8׼?H&P׊CG_{97\za6=@"$3w$b0:QzC姪1Ζ{TԹGj:np6cA&} ^W?\}ˠ)7aqo 8D$[O_&zyW|v9F,? i=&Y YRW+o cxМt}B`kS9rlRthaP-hB]OfJS'Z:D.m:K[0GM6Bfo \.v=[XcYrM '96ٵK=/Xm%Z k:a8 r+o"TCԦ]O%yw{Y1?'ъ5(O@"xrbxQ`":vKSp;I3S˽,cZ1|Disݩ.Ǔ8!:~ЁAEHYBֻkvv$u(Nt'L{WVfvoJ+s0PLj6$nzXW1li"Ҙ نYWr,'J;][neд!(K҅ZOJ_2;uPr5ư>o Ty,5Ms=1i8Sj:HtزtO ?R?SM2ZӷR#W 3+g;b8pcx%d0l+["HJmI="Ղ3WfƢ3m GUH7`}(hyPծ6.S?9=ǟm/.f9:c ~+D  91ܗLEֶuƱuJY)8;GE uI^!˿it55Hl w/?&U{?W7Zio`wk:/ϠaňBy  ?pujra=!$&L#rn8uM&ngJ|`wq p&9\WmA; M 6,y-S:TpRyWyYy̙ GVaL&[$qZkFt\~a;B bP.t?×VgVҼ2>m.FV҇w/ɐ.;Qq67*rSbne ?o?\^ܳ_'7s0.H> }(D i.uCS?M==u@!D]ݘV{{F A!#Rs\4MSRՅ~|C\#!]جdy|XܱlڶlTVݿl{xS7i ^[I.Lǡ<91<ȆWqcxs4X1L@9FkO\ MҴXGZ2d(NKIm8bbkuyQIĸIzb';=Ikbc$ƹ 6 0@[[ڟcF[;5fYY̠4cdPvk[""ڛ10Rtpu;3ׁ#.b/bUw wz.*;kt$Z~{2 Y,a蹲`2e'_d@ǟt0";ɒǿMnYx;ߖZHQ0]пG;bwS#Mn&w #D?%]_CŁs/`6@rtk<(>2(Ӗ A?;V/g|}B y6F^.aJ݌T,6Kd~׷y*}+o5QזqAPT6LV@s\$J6/yJ-`+ʋ[ϗdXLL%iދ =Nv1~ ey7q,K?8/6L~qlȎʚV'ѡđ>?ImKl.JJ%tro_uGoPLfq,s |"%Dtۃ|,8{jl{]-VmWȟr/d-ƿ[5~o1z򊯼usB aп{axcN?kAǯ*1&CgZ}P3 dCFtǬ7OJ$/|KEòqbdFa5`b\C)Ԃ< e^$pWySgcx7;G#i=VͿ?wYqv^VW90d`p\4)>2Ƈ4J;Wa/?" ~ Kydk79MĚZ.(t1 A M+!\ _y7Ee}淚w=8HҰ}Ŀ;1,M%d1<^rjrrr`p9P Ã6f\c%3c? Y-|F_J䐑y[LLDǻ'BwhITz C]Ŀ`ޢW_V>__O:^C:pJ{>n}ુa|nˡ >t ?)iL&LX跜BuNJ1Q6دwxJ5+l32Zw,yj=>O׿O`,?:1?O?/\p!'O,?eO?ѣgJ{6|lY:aO0ٲDQjNM9=ǁw=*z=JrTQҹ8Z8~T0< ~Eo:{lV'臶T f{wV ocW8%/;+U%Sv ȷ.x;چR'&LĖh |ҁkǎ~ߵUGIOC`Xc؂RC0+)Yy2]?5l 5'Xr0bO5@kǭR=BV/f}18Le@GIOǯiy?<@%@js`>hy!Z5"0Ԯ;Du'rB;#j)h[4*|._k.?ÛVaZ25Dp'*0^t0B}hbfȤ35SBvIwԣ'W9P9P90lZʁʁ.R DE3ܞ\J9{1C,Āfn8Ҽ؀##qe@ s(Vc#uO9W+*ɳT˴;O=<)?% /=?y/pmI~M{J[crc2 GIQGߔ&zfv 6fA iLGI[䨼t=9^܆e O% WtxfI(in6N<:LF0?u\~;u.1<up<1ҳG wNZ p96LV\菀`HO`B[sC&x<9?H(:J:x6(H nv {l>ӮbZpͯaPݰq%M(^tWzN@N9@Xf}0,6b'z *xk|0 c8) ND]U?3սAA&5a^VI.^J+Ȯw|o\?]}}KaX}WTTT 8axVrr`9p R5>4 HyKL`1\ffl)v6\&-1w{ҼttSBoM Yq#J?aJe뿜e*1l]?,:Ҋտ >KOe<A} 9!{+6;sG!@%l[YϕadB':և:R PU_zo|`C͟F?cXaW$k߷-}~j*M'+~v݋/>>Ϯ[҃=MaJ/vy1\GUTT ax8کֲrr`9`ð1X;OI5+όᑹ&ٺ h%$" |޻!uq%\oғl!ޒoQ'uFw(idnr]UM0c58S Q"6;ztǧ骫ޓa~YBGBC'I?ΆaGe4ECxgiTs-H(.30 +bEX/Ar[);(\JѯƎ[ *|20'Sw W?dfʁ;vK%K+~tI쨚=e,cN9sp|n#r C{*F ?<^U86n &Fdxo6Ν`(:J:kAљ'>ީF~h♴23)O+O$[:6VW9p(:vllLث2zcpпS92ȞI.*T\Z6PY I}Q2̨kyrnӿtɂcmZp^)%'o)M|տ̚ocl7pXvQҭT_@@`s}j**migi @kN0X1QpeWdj#dA9eɿBn'>?s9uGr2:{bץo>cJ?ek1\b&*b!] Gns.RӛտJ\pLuPԱc+՝YO߹ j'?CM}<={{?5VNKi6F~֮1%oYW4н[╋`z׫fuiȠEeĨZ:beGJQ^FgK/K1k(ҟ)ocٙn,.p,N*B>-^pplH;/>RktǰJc DOJh?>n^|[{-tr`=E:0c%Mœ2 ?3Yh$SBT_3u2}=vӇKW蔆) >J(RTd٣ˢGCa&y6 GD:u<28ED5ҫ\&Mt~% L ka+/_9P9P90AnZʁʁ.R 5sɓRs̳WqR&geL(F Q.H+|.E-Ϫ~2W׽5z+$2Oi= kNZ1Nv 3G}H0 /!>ptA1dٟM7pC^С TZ _,{t}ㅨ|x.Bh Uk;Xs3/H]Zm^ҿ@^:Uz_spcxCiP m2E)[:ml!&e5R}מ)?O jq$eIQJӛǭɅA㼜xY_sʠ_;^w GemjSzv]i'QңIͺcdW49P>tՒ%犣N{ǰ5xLM>k6u,'it*ݙחGrQT@3k_o\_ul/\i2a]~o8?yo0A<+?ao ; HNGIupGrrr`9P @z ,t1ޯpt3䣤*72oCr/ c5*? ;~=]+Phv^\y9bpj3ύтZj%F]Q>}!ΏhURu{Qs^NGI7?iQmz䙌E\E&p55QGIssѱM!,w9nLƋdpiJy;ЌFx䵎lΒ_Pf]-g5e3D9ڦLK?ӡc u]uӁo1_VM\KO;G=2i!v;L8Q<1ǁ$+U)%hZۃ7P.'H(z%'e` `b_CrN@j}*x qpLiE;2:k^%o}oW8L?(Mcx:|;W@@pj+*Fhpڏw2ِ[E^Dj\j>Ga1i!=yZSb(( QX<]}?3 g|#"0*CT19^"ף[M#SO=5ܵ3yiUVM3`|KM%켸2mذa ,zGRlh?&0 O^С; ^xsDC5 |~_p1dǎ}~hfe!x"}=4Fn 0=OcإeE&dSq9kgt= φӑ+ٛs9%7>j!EŗTx~ n|<1vIک{laM(ϯ uw GIԙ7 Y8PtlC!%sGFk,ri7\CB@(yR.Gc臹8b]<`Z:ѡav Zҷ NUk~,OGIޤ,h;-WL(P]@@@@syj** Xw {N'e125֔YZ3* a;ʄO@ʑW8z"`Yb^^x - ԯnҟ~}O<@ M3Q_;;LC"tp=Jx8N l7AR$D__.|*?/,tRY: #xu92>kyQ}[;%Cȁ>~3'Cf#=ݛgޠ!_(䯬Vpx]r% _A9>iQBztM75yꩧ᎛.%:b% 2ӐjYέ:JzGV4r09&z-c]V/G8p8;aXyIvѫb™;)НA:J;[pu빧 =YS^y7 Ts :Sq]CN#Ƶi7~t"SY0(t%_!B\wb'_K_+Jwm?IԻl㿽?s=J:KI}UTT >axְۨrr`9p:J4'䏙/=KIGI@0RneG1̹Ō(.qD|yIG1& Oxݻcdx{0ߓڃ&ɢ)pۃTx۸c,T DʓتE x@FfDjE&&NΩ>!?Kk*p7~K] lE0U5\;h, zO m7I!Ǟ)l#Ϫe?ly,=9K`|g;ހ{ޓdNpP|Oj$ǧto{R ʞ$Y3>x{0ߓڃ&ɢ)pۃ!c@Dzxw,Fr0c2>]P0wU1l};T2D9Zg*zRaKWwOʢvxT#ÿ'пq6IsKۿ"b㍑y6r@3yNbsA=`, w=I'$,NX^+ӆCǵ(㊈Gu劓*lutOao=?:%3[jN> V?(+`Ew͎aZJn[ؗtoONo:4`nж.~77>W}sòlT`O]@s̡aHf9a5GIŹ>aX9O1ae3F8Oȫ4Np~@|~<ʴ3Kt˖]!5/W9 ޞ~UGPPAܠO;&|n/$fNώa/('҅1)ag/i/5P~E\IɠTe@|pa/Q贎 "brKV(isвjmieC0 (2\ϫWG UKVw P*e{$ 4"cG>60o;@p'? g-}m﹬wNio Q]q a|ࣤ[SgpV?B="yTޥ /xPTHC[Ga E2 /%ltQrTor0"ZݦS^v HEa9ՈضmJտUg vQHegq|?ɯ\k}2QVh|$(2)]FҬ^cjԘwz2W:IUD@t-J9~"%ᄑoǞVo]ӑ?xrLJa8 N}UTT <axVrr`9P >nY䅧4:kY*BDEad bc4GQp*-J8+"W)G cޜ-8ENoSC&i&-&|{֯/wKG6&|.XI/I; 9P~'*a Bݘ<ďws/vlТxA#S#)0}lr_kuI!\h,Ȅe1OOAr?o VGuhGm2 Nji+%3i#1<.Ar 9 âa*C4 's4x Y:㼙oqJ-KrMEV9{q{t/K0̕\v$?|X(*:4{UIC1L/ӞKR3t׿(?F"ץ+ `ϡڲa8@IDATqno9x#}-DD.~'zmƍ{u_8ތv+:CG%|%NF QJ. NTuD!Mr +ȦS7pCI}:_3'Y zjsV+=cw/};=Sǜ~ӑ?XWw [rrr`(8P CL5cSb~Ր̴ VX77Ĝ+2K6` b1Cc2GK32V't9P&)/9?uҙKTlB7]YHc2?M_ƈ dvDl0 \ȶ U ir2ÑrBI $K4娴0UMEwEŏ,,|!(p DBѿ0\RcᙅO;#T[BH m'Sv?oӼdz:tL`Px&%~?I{7ǒ4<&Y·u4䏟FC B|u@w2SXQgxdI{I'.zKQnE; Y qD㯨Ԭ{C7RCbƧ͸%7 "߆aB;N>4Ist Q!uxC.Ott>Jv` N!EJXQҸ&^0&җ#tǴ$SBZ2!_ BMĿoKF1Y%׏4Gc87!0\~n'|FFQAJ?>*-vΆL݇7"T@:%i'`˳G+tH| ǜ]">tuفbsՎ2xJ38Jʷui` ֍~$M+~c2rTl7=3oq|*6L!mw@@sj**F\6OZ_ >&1y3;?%ʻ 4ahJ|ϐޡʨI_`qzWtZ:W-XJ7d?QGn3ۇi-jp@ᖉ7?H^zitswkPaw^g>^N聇پ}{ZlPy'#h#'~^L:Jb==kyH6E+1,PbހZO:^c}sDV7~Y˛3 cxv rx[Ō.}s3b cv/BǓ;vHKz Շ,O}_ xpi!w֣Cxrrr`8P CH́KQ4-fT1fl*'kFa'oQ:;7W&G. GVCn$GySbr ~c:j^#qLq #Ƿ>;2O[tp䯤ty{t@}y#HzG2^ ڡOҢE+GMfJ :K/̶b?M$/B+fY@e|?ZGIg pWѨ,HG7 %S>Y>iiBdK1<%=GI]7+i>2=G?ݙ.RߕSq`2CMXtt ¥,v {ϛ?d?2_w 7Ek,QvT6?K˦L2rrIO*ca;)9x?vǰy:71̢$Ow0ӞyzXQ Hu3SO=?ȝu_}2-:pƱgðY+Qoܝ* bt ru7`3'G)E[]G~7<5Q_1_|×GI\}΄K_W׿m۶bŊtg?_we3)wP5PW4aDw]qwM/GrwK'4X}Y@B,-Yg1hPCpP/~i?*v ZѥƙiܜA^L'rcP}V̀S5B|HcҒ%e!\9= aSΕQӚ>7АgчxoզJww+./x缬?hAf?;RGIb"!+F̏}տpy'qo;xT+Z?m '%ʁʁʁʁ@5 vUT<8ÞюEyLIҤ#tԩ1$hU0|ʈ{oTgGHzewT_N1(+.N?E[!ք6t֯,Pi-~q V?Îʁipe:/ *^#PvV`po@ Rr8QAё̀;F dϸe sWGw ( ܾ}g(˪nhFga8jQ͔f7BXX AOwÑ*.cfT9:J~МD85jDǫdcC(Bp6V*Hկqx(;!J}ݧnF \r;#ߡ|䭮r`(+)- ;n8ι:6a,% |{):JZ=G=Gu;̻?ѕwrWvvᔍwWR;/{c{t` F̏}0$ z>ԅ2~cF=1OGztxT7Q`@sÞtyW*i_z5+(scٙvTfb,PI31/㛴 sg.b#o\B1?ռ:ʁʁʁʁ@5 E3JVT2.aT iLÑ|#b"&rL 5byn5o#  _S,746?dkL5.}lċ*΀+Nm0\7cBe+GI9%BYB1̨@s\) ikGj((v;6RQmI/cɪ^ )z~!j}$O4@.04g~ Mש<:E*'Ow h^v +2>1l7! `U}Ό/1ѥ׿%@F&zϔ߫̓eRzQHR ʎS,"w;3hrJ|3m 3zcn(;C΢CK4(}tӭ9>c1v5ghmA|pC&mMb`]f81qKi eSer@Mô[^XcE__EgzQ292ӤOtɦxf?{ * WWW]^A7?>&$ð|sKnzAR#@YPz'爝W |u:餓,p|Q *PjоǸcXiR7Φݬ˥j`b .tw(iT}jDlv ֏7Z-]e[ċR[,cQ6 >&ðOɸ٦3dlaI9Z~v_<┇4> 3=_&UVfvyݧuut0x@A?lV=6.`p⊡TdMy<}KdzgxۗK[: 3Ɣow?/}O#c8KH}UTT >axְۨrr`9po0cBM>|lQ9+$H0W!'e82G̒TKB`Pe+-3Vǯ>=󠟫GҔS|IyŬ5H+ߛ杠;z>~G14!&юa5#sߘcX|n1ZHg \*GII~uwYk0 ڨ|JSg"@ys&"/*>>B?e}_;9J^~\c_7 )ãә/>>|1s yxG>ϸտ>>"1<֣W@@sj+*Fc8Ojţ{QΨ_ s>1Gʻ]Dkʔ5&-J1L$j96&7<RWצY@=\i*.Sz`C τkxu:nq.w3l9>ooy_.;J Ó8JzQ{ðuc蓲UT˘>5'"\uP8֧am8 qBcP,G]}_% 'p0<5g%SP b60Z,[4-^"cŕGᩐo7KіZIȂ5kQzpi|܈4^(FF)1v1fG z<mi2 w1q1Lڈ$Qnu1P.0ܕ?Lؒ%ұW{ڧS0 Kϊo |)$=uƖX)wQ5aGhG8JwhC^>+f;wko MGIg%X(@v5?K!^:UЉy~v:QhH&J ֿ]Ŏ oTHÿ0:ѫ:sOBJ茿%n?Q͏1QHLu3Rյcm=LL8akn<ʤM߸_տQBh`̼_;cySTI aeqUJh썧4GIg*cx[b0!pg*P+?Cw;T DѾ\@`x5 gʁʁʁ!@5 A#*VT6|tj}-hٺYWf^}T7>GޚoO;L-LǖV׼'쏲P0BGz4>bh> ܝenr8(ogs;#%7xk5=iūuts]I@ X:>m T[ 2Ʌ"\w gO6 3E?o1ߩ;EB{X8v B(S+ tVlt}>%3 ˖4ʉt8_J2J*|JY LES׎׿&h4Џ䣤?td0G8vf,w 7C٦'7*kc8ZREeP_u֝´+J8ţR\@֔yHC?z l|B_'F1]0|I/dzRM:c1|4OL8}o1g~ >HTjD@@r@1lk***F1YLcCh36zr&j|Wm R!Ñ= n)V$bx7jVzQG(q1%6GGL/;_trҳg;ѴG:ӱ_zT)%mѨ!/R?}7r^c+u|WZ)"T- 3ެ?髡"s9#aUKJ^ /)~gp>򭋟:LW ߢ("R;YdocG?ڪCP2zJ2SU 8JC_O7Éxµkv@؆6 ]oP"϶Vt) Yѿ ޻KIa S_v/Q2|>G~ ̰ީ-!@js`>hyI֕Tu$V-O_FlSðqhX70*(7v åQd/`^ :/: OAO"]?5y.~~]u7DF8͋ ;Q҈GuCjfe\|ݥ1)%/s5\hD{YWq?8R&8`Lݼ>"|lLH~\'0=qtcltyN':T4e: y:Qx}6]K7XJ;cI?oapdQ6c(8a׆m 4 ) G'5XN<<#W [{ O% 7^c<%M}AaYj;KLKC+iͻ7KcQ.1<up#13$xLGIcES1r3'-a8<*%j0y Bq" lӆtMN <`x塥b%@GI9(ax7;=6b Ŵw_S8pa9:J:__ڲѿsJ^w Z6Cge 겭||?YM(~5jDw6sOqR?1/@,Kͧ;W={?M?qw !1HkߒU_΁jy\"ð 700]r46jI]aney+PZrȑ2,,q{ K9:_<qk~. >gOtc~T9'uÑ6`6cX|`1r23x^`lxjGAQ1,QYè(?ZDq.1 8?GS;=i :J:U kp&09~c-HŲ_pz+1l]?N!E}bhθcJvGc *L*9 JL`_aӯJgRTcXO|jQnn=qR5s8GIo[,r ׿0Lop_3Af_]>!:}Oa)嵅&roġ/dGw 0\p},a!_>rٹ3-Cr_90vvY߳sW8]~IA0b#Qb#g]Ӥw(hNY%!c4-ElĢ"{'!O.k ,zQF72eI}Q2\ݬ;srzk^1YJGw* ?cGIJd UTT .axpۦ֬rr9K[;6͞qyY$ 1aӛ•^w[>ͳf>yY$3GQ ~lҋ0I -HN_EQ\3LdwSFDZn >*u4}2ka"_CjFUm\|ݥL ȍq7 9ͼg:3 ə'fH1D81|.K&R{-_ SVpJ< 8+!'ɟ]/\^ Qx_ZBz1 i!(ūIז H/=otAЍ1'? ]׋_(/`yo?iP ݞSml%M&egU#s3Љp8:6fǭɅQ8f 82,__5٬;L!%Mn81l i=y@>Fם!hs>Pvz;/lRpqylϜ8&WEa9!7oOGI1M$N1LWW9P9P90hZʁʁw 3YL3!cdӄ6y9J]gxpj2a0)!L)[ YBQ$p6$6'us`ooX ~ |.!1!@tꆀcB $ȭTUՋQA0gXt]}@aF91x:t{W.03^⃝?~hGM(_o*pǰej%t³c8kBAO[k8b EShD`h"s] "{6k4;Pqt+5=<= MPP.'Ʊ.Pzb8` `k_oi +8Y)5\*&1lI9[iW9P9P90AoZʁʁ%1\VeylɭYŢZv r'tL P h9,&mN_-wdP&+!ar[<<Fw )ĽXnyT} Ø]R\WU,Hc2 ʊ%6tXWnE$kߢFy;MQ!iV2 OGjRvuC_*l}^19'-O;}:O+]^jS<ѓmbd'VbDC5l2 ࣜwnQҦ4GTߕCmeVMdv(-C֣Q9P9P90hZʁʁQ%1:M4bXċE1 $q% bTf-fLIRQ_.O0?܂r-Wj#ipGI>dRvcp`ƋF?t+]4ëw>*bJ`ɰN XPTt=TC1RՑ2_Yr`88w SWqYa`AvZ׎aƖHk޲.}[zߒtu:;̢  L@FQAEg~FH%$&餓w:}~}}߿{;I_usjW9_U}?u|^82F-,BsD+J:†a4]Ўa\!4pJwDis@T;En* rYP(3pF`'dl[1qӯ.0Fah@#OUYSz;BKR%L S7PDiAE1eloSӮ S!7 +dO0ˎ{OxW_WI  o 4Nѩ_3*xyZ<)!2&qLD>(Dd+.y >fLBsQ{d}Z3vX%;< P1eDwscX|;bo᫥=0%TxESY`!]9fV.ؑzǮ_(i_Zv=tcwJs ǑqaNO"@_o/i37Eɹ%f? 7=ި6׍1Ϋ_“0FkHD#`Ü_Wǃ_ FR"VJQ|o@kP,zeN\<ً$DƂJ-EG H ]Q`Q\Wך{czc85@ BjyM`&U.ʈKTEU|q%sd=NmyY8Y/$ǯUo ˱p6򛲬OFUҙpiWGOiqAn1T3>Pf1|X *T::J*Fc%G <_f`Inh_Cw 9x4ɪE1V&4OȎAQ|ō?4݃8 >Ac:a j*CsUĴkm4 6*{dDD0r+\!E݂0 x_='#PZ$PQ!T8l=؈GȖW"Q_>X18ILwseR2 |WHZxU@W'?0[?ϻY'#P*i\n w2]y0H_J 3>L(r@[7gur%~‡>>#`ꀀ uh%_0] Px(n(V7Ju5e5t0u K $ %ETN ]2jww> > _yP m౧0bJ" _\A,34-U4L ja|4|`,bZ"uL?Ң~#MKUJr(*97@`å/%˜`p\'/7)GeYĕrF̽e4rHלQ? Jp\JCŮfsWpüGyAk-T?yQHY 1b#=Y 9PQUv(:;s,n7lep:!p0 W< DC畄+Iӎ\ƿ )92J9x? 4ȿa):ť~ a#?)}@+oy FGo#_0]?P0 o\l9^6%-'W2̟_˒nj$vD4:Q9 @n)Qn]_;s8Pc`Ga@-_DiZCGl qKw3͂)n݋]neq-oph8DB˾egj˸L.n@sW*_0#n*0oO Hj\\9g]JCEig9LFNpP.] *Ɵ-sa5B+ӝ 4#'C(TF.\{+QhTVJr< J?W7Ѷl^?Ż*i"cg6 ע|Ft3/[JZSIUSm*[rCa%1KopEnFMAwKVTE)~{$_'e/Tb/7K?o+׿Ư.cF`ˍ3ܸbA^-dˏ*i82IB4!"R oY2'WT'?CL.h*k߹fwWIs]a/& DTJf7+G$ay9S ՘r(elc,G5Ouڹ?ON?y6 1 2 SzIjp~}c{y(' p s\(RD0U .an]8Cώ!TyxPΞ*:H z*9QCdUpK5D\ߟn7Dx;zI%k0Ft66 wvꌀ8Ўa)`T"p,L_MS 9b2WUT '%TL*F Ǫ1=rwXҫ"dd®;_vEho*e!?WaC#ѱ]8d⫤s:ɰ yHeP4䲿䠼R[UyY$)RrZyo fEވW!pۣ߆.] y'UHۃE c )pcr%ّH؋%QԊ¿;wUelxl&#pǰ.*#A̠bI4;τLDmx:WJ38-9P:?b(RLTbL2L(YDT.#xak{ث7U>t>b ř |aڢq${9i=ӘWq"\(C^CP~[3e(iQrD"~~.6 s UJ̉d=#LCb9x19ؒOE&*2S_yYhsjDjTPTyPƒ^0(.zqh˞ww ,j9WF .6:§Z!p_ *b>^%+Ez0NxR4𠍸t+t_Y[G-y^’WJZ];9쌀0@z.F@mu8qbǢt6 J-l`~RD擽A8egWtQaN;ٔ9_9? h܃?t_o s8u>[vi\!,yb=C0b@!֌ql?'l6\"+bt23 ֙ 5I4q_aE8*.R`Pez?A8[]w?qhk:q7\]08yNYD<<sRq|\B)9b0+~5t)GNf,O/OUn7Vc* 쌀0F0\fE#0h6i9-e ٲEg#D RB٣¢Z$33-ʠR`L*%DIR]X <]kwWp`c#&{ B+XlExB)t ,\/! , c-,.EW\)2aO̞ĺE‚j+d?w c(7VOc0-0F0\V5#UyC(ڂ TZ쨳!D*G˫9=HJd,bAC(aD2J_ʰ:f@Cquw ( K=q7b,a9flE0g v^_+ya+/d jBp<̙*wUҥ|2| .-;țH|02,`7/d@`,Z柚p)"0 FbWX:av? UҭQc_}8_E'W.y᫤X bV^o"RFŴѢV(PYڞ@"մ_6O=|cpŝWyAg0 Ý.*#` ~JAdRɸ;!8g٢-Q@vV ,)0(p 4ye8@woR): M&v݉1|Ǿ5f|||#Fx-sѰ3?KiRī%ct3 r\|%$e!o׍0aiND-`뒈]OE;qnbW3A`1\%bKqh?߲@q_sVgI9XSə|Qid򸩩Lk'"v1O ?yVVڶώ6;v5C༷}=} :>fyy. ý)_H:?b"A'r&OXƚY E7%daLǯpjC1|];x#PlA#n~S?/-Jzi ȟ8{YJ^ p*7j%6-TPhy̦zkYRFŒNʌRTG]^YQpo=x ha"fWtYЗ7ѹy0SiGU_. ,@6yR,GH8s c1GY"0haʚu5@mxρEnqj#61(A߲dLb0fܦ-it g%/`blJdзTǪUv\tu|鮿ÇTc4FF/JL$$dwIsJ '9`H4’6\;@U lAPlU;*1qPPoy2 qO&'<:"o !;#`@-a4FxON-61]W3reEg`+hr&K`,4efy)",ƫ8ϗ 8^YIem`,p 6$T3ݽvd +>Ϯag:74'U5x;xMih__;v, P@f^ DTdVr.Gbׂ 9ALƐR+s>z >דzlXv5B`O,L Ί8W$#璱 K>T$)ƿf~QYl4 ̫.7MOuaF__/g`0 fT"sDG]|Hpȴ%WWHϲ_!E+f$x"R9ׯkUD,Q4b?w#rSq7t^̛3F `p ɗh@w#s4ќ̊CPboeĀp⥊dqybƢ `B,<1\&cb`苑ww?0[@}st:[ntq(Z╓A!ТiJ4|U^Z E0 sĂy2/T'E_%9œgfQ(8_q|CP 4!V9c8]1%П&Z~sӼ!nG#P#.zil }aDxɑ:9qFy'ΉS|0,Ʉ*FR)qZU= ?=:ӟ0FJF#`ݫokQiԅޕzY Otۚ&,%/:3ҙ说z,P#qXD,s5߳+l? 4_}t>[֛W\V'M[49./ Gp,̱7:Qf_^˩dSf%{+()KލѶlM.^> %ǣkn |Kq3o\JsZx%C9ZO>2 x`y+YNPY6P$3 f\1.ٺh8]Hs |45B4:F;t0šK(&z9'O(NT33R6!STsUN*S'orQPU3]5"T' k?{7Hyw G{h|l6#g%߉vd/*+YZIg0#_˺\4p8#Be@/OT`)Go#^*DZ~f#2p3?/vFbIm/\0 s Ӹ<\Ů&,rJ /p e;@_wlk`Pw(/?`Ɨbډ9,ǝw`Yg0X#k|lX2AqxFe4Ke9tUKB_soВih8G  i(.F' ~ld0&y^$ gŇ8De"K -9iɵ/2β\?|VFfMKE#`:;|Ft9Wm2n7ĤX3orB8ieŷ_藒&,ƔFcT fH5;fHp)CE?6PDds]?ŷb}lXwLſU7t:۾49EZ^0xLt'-}pkǰvC("x14 ́a:dSEyg,1q%zLU-.HbA)Si:JzF|A#P6Rsv?+" bpLS}|&2"_}eYHőy˭dXF Nxk`RKe>A_?<uj|<_̑4>[ݯ=F.{)mމqQQs*^$i6p(+:?e<CpjFdJ둤jLw>pt8j}L3F `p ɗh@w#Ͽ>mܙԭJ&,9?}iѯ4*j|O FN]5PhЫR/_=EQ T$A'}뾏֦kIsϼ!pʔ6kyZBfZ8 c._(4G,+Փ4B\Jy)YYCو18~aS3n_4~M^yEjn 6 -YLH#b9aVәx1 $Mͬ1Y&H@$|Yx ~\蕇L߬.p7wdZ]0Ft8uwe0݋7OaWx6BGZBP7yJ-'rLJDD3~fV gCyqt>_sǚc0 à]|ȢWFviry9 WjHU͖kH)=t8chPQ,sn9:+[kU^^xcʃ_}o0{=w gea3.6NO|Hlj+~=5`Kʆ:;xa;9g`q_rgF;OjG.>Jx}G_XΎCyчlbÜY)J~- \ ʱU~GF~syaEy}L$B$CE'a='?~#P6#i0hSRchHKnGR?9i J9.矚2 .Q* aF7h8Y;ڽ Vkpls_w @-xoNgĐ1^8glӗJ)Dg xHyYfJ_(.uKSS38Wkr-}Ǝ{i-zC[3u30FaWh@#ޑVZa eL9N}B(jqN婬_y% Rp k+B<I!9/)='DT6%)4_7mOm|Dmxt҇^tU9>F`moJ[V"3Qq-k!zv 7bϲ,{ >Ԃ,ݕ$U_@f$x` I6N ѻo}Vqǐhg7x?8<8RdScFXO7)_;a˙A>K23G㤀d9|eN%o+P|]O۷9s̏}8nG#P#~/z|+"}ԣGi{\c"ʉy D98S < WY gq w3Rs\_GOي6qw'}6FGo _0ݏUFxy"ح9kڬԷ":brP!2yqU9|yCcj8 3R,o?%j[ܵۻ1%rɻtt&;|Gݶ] .WY¸ ́axLsGWF.u.!ffA%AuGe6x&~JL'/x^^q> (6\m&2rBF 8)N<.̜ !2&]0U9x$NJZNay52"!g]p3M㜿/E;wWxiOޛOF>拏.&aEI g3a44Wf1Z&;X:52W2Du874ۯI!Eo>^=w|?ga7\Nag05@4/FXC7&9G @`?WfTڪ13(Oe/9B_뢘(%FEH*CI#vK>dcɗ>}4NcO~E<A|1JWv>qJ#oֆ‰2H;c1%Rg?2s'FE_]?]Ď4mQ/Ng@-~G $昺01w{Yz,ŁaU7𳗧[>#P} "JHk `Z28-a;qsW_X,SX2LnFX|8]Ć5c^~_<!;#`6 ס|Ft53˯ӴZX6oxN:f%1U0FōQBVTb*;T82] B>1`ri΍; + r֫ιNF`Cפݏ~*[R6bc7/[Бi 0cDnPe~-s,P.Y/d\◩S|As2w[}m]n ~4tkI/B>Z Oݟ,$' |Qˎ͎3cI}KH,ϼ1elUe@rY3.|J*|2j9'a}sDOz2Mߠ{PMUi^Wg#P i.tL9;Z0k0?oFۘi('2F6h/&ҵ xw,2 wu%kFr/;%EB#`ꀀ uh%_0]pC ڗE#c3sN L&EySb ,vE沙2|˓tN*EIAzƇӎqh?.s;@#0X,UJVu48w@;z3+@WD0rcmΧQB{ԟ ׫LtY_@cibtm=cԡ? 2I`藮O?Q\.q0@>vZLNSN1Md`J4_TDc* ke2ģ,]3?x0Mi%SwW}n\qpq'oLΟӧNeS $⿈`|_C˥Eoԟ U\i6A}x40߻^yVw[3F `p ɗh@w#b}׿CTn<-KZZ(] A ڽ*ŰMcv1pzb}*F`*7-}y"DXv/w?;}GEgkg:/)v4aqd9pk@HF&"(bU.եwBU]ܽv:~'Reeg{Җ߿<#D$IrՁgf"ņ3_-_x\*25oQ3>v$! qs5}g_ퟍeˊۿ| /[;OF>#>~kq:9SxΉsع+xћl'c#e3j 8U5w8C.Jۤhy'UF#0m+4F6-ⵯ]Ry.T0(UTI ,4,> ;S eA)$-vYP9r\"0W}QP/12 Z7A lctGzh#l^utu;#PƷxyTXR0N ywƉH4XAc+ w2\YnS[^ $\gKWj;Gc3_?%nSwM/%4-7.01(9/sy$GYJ*aW "!8.ƟM]ڱ#M¶35D`~#M\%45k).Z341~e@fWF dr|;9we!`# u*rڹ17IDAT\WN{ƒӜO"/wDb!SZ8{Z:np)"Kpa?2$S u~v?ģ8T U2MQ>h8嘏7ҙU!Woewm?3|a>#`@ak4Fȷ?kqi`[ =ћN_p*zeSjuPւˍ%0ƅ$e.ՓZN ]Ąk?uqvC>cgj{NkMz;FTG,v . ,qԴ%Dn`+2X j D֨+ªP?C.E6۵ i8sWO?[3 uqdB3gFZ!$ -gNep /Q?˧AHQ_ o6'&эخjY2gI2>:"k/ܾ3Ko$Nٴ9:p%z!0zӿ|8W>|1,N 5d\`эsO`CH7f8UpUce|ysq?_&Va*窚WK_}2CwJg8QwU|ſ=yCil&ˁ4ϥ^($Fq qD1o_wš̓Y"%FiJ~߮:ԖѴrv5'Ր=p-;J#`6 ף|Ft9v_k/V[=#aj`<߀vSSv k$q/|Ҷctxb*0?a, rJc*#\?SjE*~׀>f} Sy Yĵ.$]d0s0m>v k],d#wrZ\J9.XB,FZtHC{Y,Jgu2 մ{X,Ԫ/UzҬ}echnݖ6cqb޾85&b/!$ɘtԜI1T1F>a#}U(ź_xv 7}?LWmƆ6*oZI=##U m O*8`cIg.}XI:Hю_eql;̉+!:?Yg6s`ɐL4[sNbr*X5MLCf`R^(]7"pvӻ.K0FNJ#`˿iѝr!#YҔ<)&pjdp$0xE%Osxڙ'(3+E&Jn)Bu`N?鱴ut[|-c/Jw}0uC`]L뾭N—;,J}i`7"Nǜ{{s_V-p:Y^g%Q%h0~/L4m4IZz?ixvFl}{ĭL1%Y%IS3SIkL2H``,(1R*Y>O4cLUE:sуo|ܲE=MFdW-M Ei߭&7BSS\@tyDi z,e3S72̊eF鼠_8?Νk-xMnNvM~E^Z#`ꄀ uj-_0]3k=rQ,4+=*^r$'-YN_ %<4*g* rR)% !JJ=* R ߮.ݱ.ٶt'hc>Mju{@x[qǕ 2 nx2wf qɇ-Q]-H#WQ8?ZU4ZiɈ& U\^E0ǷO \i~Vd7׋im525eE'q@߂c++ezH(S,bYbIdr0p@|:2Sxt2uj_+ϳѧuS[>.:}!%x֐DB ˜(>CT)).<X;\E9dG_u4ZSjI9Ԁl|8Q ӏ5);#`6 ת|Ft;ዿ۲JTܫfܘC$<, T9&Sh[Q@p FYbY_,].*Šd|p*kum߹^6+sj9} !geh8 xVWq*nDž0 _g{C0c)y jkP5M!,~~3] +̿Um;ilxn£٠_c4DJ"뿝&{s!EU=_p"w3cSc(1 g+ |ȗmU"1R9A 2DOnؐOS #U҄cnf=G#PKY?_%=~?epN=a4o ŒqɅ's| _2< ACXsK T){j_ q:[>H/~zvF#PlG;*8B[o`GqS* CUxƢ;T.g%dE;_}"tT%K)Ùũ|)x?w ?)\a>6,gCɷp1#@m_sSڹ}.. :;?_0ψHepqD9J ɫ֢(**?Rrޖw Jb%IV>SKѯKߋĥ5 |HޣJ9̐O*?%jd4ȵA~(9ji9rH(~va!O_OQ[GEj͎oƻޞ.yAIZ;p1P]ɐ'?G/̛͚&]=tva_H+ kc/\vmJ¿$*7xѥl05B5/#\tf6K u4\eo;sIm*@)A! mL: MJD%TreE|O%SQ?>5)]mޟ؎lU>=g?ci/#Pw;ir˽]|gE\c7 "r6Ņ2y,i'<<#oΘ )op?MN1|Sxj7 {"?<.0 ɞ74?W>@ MoIcޏN~Dg_M^CFI.I8+őeIrwZ_yTG+Vi8eDVy\?G$yo7l?u!ŠS! ~ӟf&^Nݤ[*LGטy>9/Je|XF_S+[U|Mp6XhKB߼c,M|Ejvglg05D6/FrVkhOJb[.h/ ⦊h/0)k㪓E% \? F:kdsSc߉b)f:SS."pzr`L`p0,KE#" Q)\dH=x*raVҊkկ"b<.U4¼RvNV-!/ lf>FZذcSZWi?Z8Sӕ&~淅7y.9|wGAHIr!-ƟrDYCFYuEb,Ե[ͻ|wFC>Vl%l/^7>?u0Fkd`#`K^Yܪ8!Hm3v~ILC %=}i4k`fEaȥ<9~RJX;ٔ\B Dz9*֤Z>Y(wJ[FM;7cC lv6b4`bpHC@JW.{uIt_v?)K3c05. .m fix gZoj 05B5\ȵKG|4;aPi,i9^G=OX1l0 G@O io`:v\7i8y#18bW1a3wVj̞zH^("\6.y5%簬5A \.>#҅aٖ;v[Ssㆄ'9Z 'L6=a* ]i_;#Е ~#R0xnǏR %xi Ϛ>fL듬 O? c/3 K )aϜZsML[v©~DV،mOl7\zJzNU`0Dz.G;?H{ RSʋ1U/qr,`j<Ҵ47P vɧ>t”i,ԴHR<ŸPWY\2Zw.Y* #~Z.v4_(u4NL6aX51v2:Qe~Tꁄ”I+KPF7# $/ٛ JQr_F^ͧ`JEn) 2Z0ԟ .G:f?rFV"2*G;EAǟ^jI(HOB&xɳӓzgQ ;#ЍLbwߖ{C*~Dp.+㪚j) gpLixmCJi}wr|1ͬEqqnn{>ZJR%U%*ʅ9H|x2 ԃy^=5.]\Bpο>3?As,!N5& |xtxu44ЛX/M}^cq⨣%C839 ue  N슏A82&GZ7?Ī` ?x 汣civǛnJ1T E  p"ǼK+G쌀0F0\߶#߹>W;6bfᱴ &@gL֥ e@Jh8nPh>dRg#0 6F8;6,^S$[ `(r'_@[]0?+ F` ^5=s&NHp??Sg0'Y6%3R$b`ovЖ3 !wvF#Polwꍀrxz FE+;i>T>&_F]OAc 32dP0ɺ~LI$?!|2݉GҎ7mbX4{ ,3 #3/)ŊvQ ɸ ji[Y!{9'Z雞_;Dz&y,m+Sھ]zO8ǖo\-ǿ睠$__v"Lq)]W?sz~ V )#B_' F6)li\p6#r\  +8ɬCB10=?kMdwܞU&g"X^ « 1"5dDq)E>F]fe雑I꛽+{Ċ{Ӷw'5aᦃ1!~Λ aA̳'e"_;]'@ x=HfCa:7?]{?֥QcRF5}D\bΡrb UK6etĻ?ɷM2<|>h^v4R`qzi?&,%jCBgXN)r߬3Ơwɞow"oo{}B= Cx5{HéړKB*RU[ s?9iƻߙ87;=oAm :F&IldFBN9ѳſEVg ~ /=~NųذvF#E0E[1FlNO}m\觺u0}~%hhdqVB#<\}+\mB3YP20 muh_ZꥯJ}FyLMG&>l|a"ɗ?+Wȩ| ݿ;8S(鴔 3Ni-9P/X:zS Nz=?vFf3_J?s8{HwmF0V'z<3K܁sa!,L#e Jït۫{_} }h_PdyNoq(V%ٯuXBy Sv)őh\tKOIy)sh40݅ ՞#``gZ>)W"9.\veei<Pb|HP_2Hx׏%JF8# ߐ3|4F@Ll7~/Rs4"1upgrBDHHG bJ)n=̳Щ1:]0{"0qӎk?s!}b?c+F f,0"4p)01;ÿ팀?wc_\ÜG$#F+{fͼcLFQHrG ?sgVs`0݉ ٮ+#`7.i֕èQ devaQIap\q(y,3ʁ`)z0\:cg-IY_Ʋ3F)=42 ~r"V2?F~(b rY ,f9j<9#KsC>6 4Ҹ.8(c t\`ՑćUW *=% ]燅cɒ4~5 \60 wNOG4PsS5Q&pcPxFNI/>h>#`@#`p7o#;,OpM=MLa\RŲX !XFY!K,9&ges1Аj 5BigFoOtQr>#phʿOco#cZl@e x s721Ͷ)$"]0~Ô7y+R pM|4Fo#/ݞ0 WXQWR1_JMxcGl,BdWSή?#x*~v^_sisAy vF6[>-[NO$`kr?| Ͱ#9 AHЃzdyjŶ3߿ >np:y颓:?z0F!`pZk7 clGzdci'mkݛ[ҶΉiX_s o$jH\Zj2 !?ɲ&E!fRHcZ\Qs=,9+uT qx|$>MOC}Ҵ!|gYfұ3M>6 z!<[LoMM͝kSscvzۙSԜM$. v NG~WL !$q BŠ!v^;8FyjrTGEXc$R/ EL驧scQ[zGNN=}3|4FYE`j+yī'[lI c)48xw2`1SJ=`>(ONL[#!3NoҤ QT0;yü|;0a12#̙%ǤƉ'(^` ٖ[#ܰ#m>oM[wNcidvkY!|P#'ɥLq DrPBim:>׏u~5`# 4cZ_?2Ϝ3?N=jҞ 0Fah0F#`0F#`0F#`xz0sn#`0F#`0F#`0F#`@#`p7/#`0F#`0F#`0F#aF#`0F#`0F#`0FGo"_0F#`!0>>tᚍ0G(੩400p"6FXfM?8t%/5#`xaYE#`0F#N>ߊ#P;z!]9vM 6Ff^Zk.r7qSWc9fw5F#ppl>8>N5F#`0G,cccNe /LG,q#`qw{ng@#2_ c-9դ=X/N7|sC3F#F-#`0FALV=)%N>f#`xn'Xz`8fE#`1lַI< \A ggo~s l0Fkak7b0F#`9][o9MϽ"%#`w olh6{ h~s!s0FҵֽmG-'HG}t0F"`p][m0F#`ESmvMM%%L;֞E]0FC?V|)'tRK>#`8 egu]oV(CUֆa]H7#0FnDnlUߓ0F#`xpڭyZC/1EaX-I}s4uV#`!naZe1zB8d0Fpg0 }[M4Ñ-0\{HF#U0U1F#`0O~8=r%ZgSͩ50Ca|[x%-,0h/9ciF# իh3o39vۚڶ'4ʕc9l0Fa7c0F#`wmIH 5Ճ4쵀QI]\ 00շ]xOMx?5>{qwqF =^}ͩ ~$c2`u6В(#`@"`c^r OʂCD;rr@9]@tEQ13qti,RvZdY.@@.ߤm?I&󐰯8efg \b^AN mu_뛫ᓊ"@MaD{(xp5`5 d6 @L gbi  slY~lJMߟ959Vj!+?z_P@ !g -a;7ܮX5p$!H84h(]MmF:pGTp/f!  0W04(\ Y )Meo@j3E/JvnH(E 6jk G~-A @ ~@IDAT \UȢB5Qg\GjQܑȨ,pƿ2n$EA4&QLBW=$$}sZ~vU'}9'A@@@d2D$R_4 %6-RS%KJ}}}Uq @>|NZUJDDkdR|س(_+Br֙4xu_U/9s 7gDۥ-܀1 )!0\B@@`\6m[Jzf˒-"Mӱ%dYhѸCa@Vo۶~3 x;c  PEWBV^r+} 7Y6Lٲ-[Ӌ@@ W]@@e]֥i=*5љ sôZVWW7Q@ [e _/1׿֮CZnXB ٘L#@U Ԭa  :2O?]֬YY *@`Bo,  X6o2$̔ɢQMeK7sMtᜇk.2͆Zdy ^@ Xu$ux_k?RS#˖-Zn;@6l rڹ3^պl]-Ќt'"@ R@@B`f[xVP̞E4ڐoJQ‡iV.ohO?Un"@ a׿Vi5@,("zVY(=vXwBiF8 0Óc[@@X-SmppТ>UXS^"~v 24)m"P-"K?@| kֳ;Q^ޫ]#P]9GwRa_Ch6>e͚5CJ0 @ {˕!  0Me֭,QYT-;i8{j5>b]`[n*0vD$T |tS$6ioo+BV\Zﰶ.׿u>6~X @% Ļ5!  -n$ڷ.B3~]:p53,--hRv :xZjCk55z%2~#(GzuN+XkL:::ka k"ѨlݲE?tY&@tÕ~>@@lڸQnۦ͗j(Ө؂OA_{q恚ni H$s8kx>} ;+^@omZ:zhѢR@6z%EK+j,/_|K_ guO?fDDqJ@@kv:-awS.+X i0A2/06@`D^]h g֠JDe钥RO,DHg '+HW2ZP8,KzKՌ@ UqH@@͛dpIi-j M&) #e~ kW@`}K_7r0y @9 AD<f%>7| ^yE?6a= %@`n'  ɤf [ &Y`ٚ5бD5&sO?=D}p555^! }ԿV7k ma7#տV/Gc@*A 5(b϶6iCP8{iF:a PUvs  MKa0l8P @`]~۠ ,."@UA™ {_xhY @ [˅!  0q՝.,:)["I3c 4K2}uYhZcyE@1 @@.{Jh$ꚕ6iӦUWL@__k?fO>g!@ twwˊ+7Oelx3 T*\:     P*a֧Onc6n/S<@(+eu8Y@@@@@RXktZUy! P$E0     }k *ѧp9  0>4     @zzzIDN! @5     r2  A@@`'M@@<zHRD"m/IȈx҉w\ PbտhDN8;SN@:(h­4=y@&%@`xR|l  @e t8pn3~2/BJH3UJnl.ĩ $Au5-¡c@'@`8 @@Ҡ kְ9^|y\#@gWװZqh9z8/@wwhX~62JQ@!@`xXE@@ZV[Q}BKTr^@ '`u*cÅ3g Pijnx Ԅ4Ź@: W}@@ا@%a-)Z0jtc% NmHkurc#6×} G'4S8=3< s5&R  gyew  T@jꕤ9i}tҠ 4%xA )R MI}#@I$|v8zi҄7i>0@(w@@R`OaNs:ɝo9o޼N('z*d_;r+>SXN, "C7!4j1F@ @@@@@k~mZ[[c*W@(s@@@@@M$@"Sa@@@@@JpKKjn&i><ׄ PKq~     @twwkPx3G֘6Aph@b .4A@@@@*X )oJ\1m>p. s Ip9   $yfIdTdt+ P6mʜwPZteb S Pjp|?ìFKq> &@`8׋  :WwD4 $Ϛ[޸| [S@`2_NcSdv˶ @,(,x<+K8EҦZ4S v1 c 0<$   Pm]p4>k\NP \/_`uW"-ſ')u GҧY @ Ϛ#!  P6]1UېVki@B !D" ξ@`B===$^Aa g.Le#@ "@` @@A }ƅaiJo,ge!`6 s.I"P%aqm>z5&V|h>,G@-@@(t`vAacD>N\Կ)^N?e~k9}*F hl~e )\1 A t3@@%yӦLsHi /! (6m5bCVk6,Zh-XO`m>QĈpMG\B@:Sgϑ@@@@@|t/Ǵ.ʉ"T᪺\,     0~ =Ap|nɸpF4=~W@@ͱ@@@@@2Hg '΄\A! " PKpJ     @)ADnӠp;Al@(Y%{k81@@N੧q9 @'0RDdܹ;{B#g gb4DV# PbKp:  N@f#ظNs@*Z3S<˩+sq 4K2JHB")Ƥ e!@`,n'  @q2A666.`@ ]C0;` %-+VޜCXH8h>:@Fp*N@@ t!IYZŻ Y_~Vk(@|)pXM3ۋsB@*@`8 @@ҠDJS Aʸ\qջ6MRJ ;(쎑UVXP~@@ @@(Gz>*a}\S%nr Pn֜ Učiο%@ oAEP'c1.y" 0dX  @ <,5 K% 'P*\: PuVeN8:8w P]===$x"/;.l="Tʽ\     0@Np)Έ0 @ .;#    HqT-,JCYG@ @@@@@ q ssS)@(p8G@@@@@ Ң} kPXc\62.@(A%xS8%@@@@@ ===$^ܣ) $@`&ׂ  @ݛT*6}zrf@/]D"2mڴ="@G'4SsyXttW  @ ;"  0՝"Q-h@8#sNqr7@p]ZEXghk>E ߧ]}sᠾ~ pq 8ü@@@`@g%|H3ӗaȳ@gg$'M#up!3OD܄|tuJ@ @@@a4كe5e/`@]㜡X`K*\ l>:G! ykmmUj^@@ W@@@gjTFm ZP቉ 0vL`8SZVRDU%.bm1h @Dph.@@tfL- hѦ"e@ MIg׿#d+Q---۫G!40B@ WR@@@WW+r)bc}HPbC&.`uial@twwkPx}/W/u1m>Ll@pF@@@@xLp\ÿK`­1m>p. s T*\&    T@&(65iʽ\ c 0<%     %*`AfIYY™nLv.[i! PEa      @r3`")ߘ4} ߜ=" Pq     P===$^Aa g.LU@ 0      Paqm>z5&V|h>,G@ Wz@@ڵke$%RYt d֮]7LeKNfl$|k6ZCИ)\A7KA@ On@@$uSY&@ #Щup}7R0@ lؠG75J"Qñ6iooq= @@z W@@U Gұf 7._>6@ȏs_mA  PCjt.6Ae|9u@ &@``@@t`kL7)mBP|(g$Ϯm}\ȷ S8]w\T8 #η:C@ Wj@@ȋ%Ìa}HSye' >\ưy_$cxlDҙ‰FX# @ gk0  NK3R7jE@B 4%Կ69B˳JS 'qH~O} wЧp   0TX  @ Ɣ9sT ^:Rq >Inkkvi&@@`tã۰@@@@0(<X©W-xW=#:7Y.[.gdݲh"k^}n} /+SxߊE@ ޟ@@B]"QpN WWK!UčM=V\uYX8Q?|6n ֯룖ezzzI lٖpƂ)@۱%  +Fɔ>O' JTM@d:;}]Z5ܸ:dnR\y/}iijVAAЇ>$.vrC=$f͒x@9˲p99aw M؜(  @U b{Bi%}0j@έeG?~gϞ}raG!'|~L&]w׮]rs̑rGل:קͿnM.\h HڼwVvpZi>:` y 0Dv  @ #ҞH*mDpjJPԿV%Y%zJ{EɃ>2z-  e [3}}}.0\ݛ"3nrpOțX&I~W^֗I]]|[ߒ}2"|tss$)  G0@@` Fˎ@@@@(_WG>"555F媫c=v\'`z׻6}clwk.YbzbK3Mg k‰^ vtnBh>zlB@ [#    PdRٓ6m 6n(gql޼m.={p wMHܱۜjUU;q  Pq(    _s_׮ᮮ.yի^U1'9<(gIvkIG{T*G@* 0\%7D@@`<[l՞|ӆ}iTRg7E-[VFn o{mX[[rYgɍ7(Nl Ho6톬L`棫M" PK&p   @WggSKjx>8qy*T@ή:w\Pi X@9C=Toy睗^!hCRJZc|t.L# @ ޘ#   PvXD, lÖ5Jrew/9a(?]_ -.{Ygo|C,5e]&_Wgq}3qjȅO>ZՖf@@(A@@(/ ۃ`G5[mycy]g@= p2=gy'<88w}wqezE9LP8l>7;G^p@Y.,E@@:WwYo4[0MIWۂG" "IVZfc?)-z4C# @ ޘ#   Pv]$aא?}IpJNPZ1\7Oyh`ꫯK.D w깙:td]rX.?{F@ %@@s11H$׭55[c.*CֿcSU&>#宻M#MMLavY:4J0F@ 0,Y2>`Yp l>:G6d*͇  P\h    w} s9rwN|}YnmL9 /O2w1mSB9Gf->oXLb  0?!#    PEׯSO=UѨ|naW?00 ֭믿^nvҥKC/~n={lիWݻݪ7r뭷ʜ9sN |tS$ñ6iooq= @@ 0u8Gwt|~o6@@N@@@@(Mֵ@e?WPOV\)_WZe 744/7b}Θ1ÝÉ'8 UpCO)߮І]T8 #.>E@|·"@@@v(JIDtHǑkʱع@ X<<! ._B>l3f͚q7n(~X?gq\uU׽n\mwk{ֺ@'?I7=p:S8t&c: '4Y+5#O,&@@ ]@@b.}̙>L3gccG*_`ֿv w)G}k2zHN:$D"}5A=غu;͛mo{z2cƌr\ۺpK{-SX?ө.?+  P&q  [ =Xn x40`s}nЇ|@nF9g?r)cvW_}\~bMT|rHe󽬻[VX!9?h>:@(er8M@@)vZ̈́!5_2d,QF_-]ZX @U ]^;R|?=\뮻!@>(zիľG|>袋[n/~ 9'l6m} D F~:kL얲  @I.I     0ukD"!tX'p˜OSOuᣎ:J~ܹsǼЂ`>3erUWeN>}hg΃MVX*f  @1 Cc     P_W峟;C9D~qm_^kp__|K_/.[?~;NuOAT8OR@JKpi@@@@ \s5O~__RdyA~_1eN%;;8­4r0F@  0\7K@@@6x,yO@Fmq{bӧO-Hl/v\q2o<~2~a9s#.S/]0/ "rH )\;@@`* O:D@@:: #An/_^g!/5pccc_WPW/Xsu֬Yr 'H}}ʟga, l vm-{d̙馦mY;SX o,.͓)-xE@ 0\YA@@ /;-0,էAD5(-@pV2&0\8s_!C{{ȯ~+ٴiӈ,@l]vwq=kV>̬I$|¶cz?Hߡh`@@J 0\wkC@@`)iv35l!dMP@ Xư$'c7d /e˖ɳ>+gqL>5%}I'$7|s޲})>-."l?|sBѥ @@`'o@@8]ك1ؔi@wl5%ݘiZ瞓rm\/\s,X gDg|2`VXʯ@`|s4@@&*חiʧȴir3 :8(fS++geӦM)O?]:蠼6.kIG{G^N@@R 0\wC@@@@q XPE,쇬L`EJa@p@@@@^!܎1DDkid A@ 0\]E@@@@b2q ) 0 U!@`*n3    @e dazW  0o"    @ XPYxVp&$24SKVrz  P@e  @2TJU?"mdqG~DR-cŬ/,'u6.sk4h4c Xl6HzO_+׾m;Zku 555n ")uI')\-@'@`xBG@@6m$[mՀC:NՅ\0؅-kO[uYf*=̟// 5.ȏn*3<ֿG7,ŋ e #MMLadȷ.)" @q Ǚ   PvZXzټ5)l[Vƅ.\po_u;VWTf /[T 1 }}}nzI֩pXMF,]"ߪD l>:G6d*͇  P]~s  F޶U-ޔD5kԷl.`lm66 @Xk1  G-axEF[nwk-"[xvU@N;~ }OXL (\KB@  !  P>kx#TjvpE)f>;֧p} 0@@ B@@C k7'3}>8$ !Kb -,@IDAT0F#`-7X_I uY;(ӷx)[faP8AaGmn'(\fwE@ 0<@@ػOx5NI.0akq!d&/LJ/55d Z  0^~Y~Yjh =4( 0(<np6( nYbogshA@$@`xLLB@@6m([m ZǮM!ylQ[lHGjj5['/@>޵~_la-[򂘰MVXKB@ /@`@@^AiHzM$E_ŋ L^`ƍM[nzA[l9{(-aAa>:QX>=   O̍@@8X[o} h4XjF'"ک,-|*ZV@`j-7 j;Jkh-tM st(#MMM' }@ή@@j W@@.`Y۶nuqa0VZ ϗG9|c LJܰM`NG-<)c6.=L!0:LPg )@`<g  @A|?봯am/ גL5  g:8,h,<HSJ!c@@`'M@@,͚5e6 ah l kGҷpeqJI`Zo %ݩYkU2ҝ\&+ 5(O%#  0G  @˺ke0 k–;lik_K+6s! P}Z`D"-S.ѻiW[ZZZOa }ᰑΐ)<^U#  0#J   Pu5kx5'A4,о-\uo..qFyrۓW)Yа@-ZTs[G${2s=C@%@`8_@@ ׬udppghxٲeR___AWɥ )`uڵk%JJJ[ohy8 G'4SX% Xtt}D@1SQ@@\nu9 T"T X Oj )mFa>-6L棛[$} dG 3{@@%@`x_:C@@|?vٲRWWW\: P\5Ζзpq9Z|)u`v™a;;;D@ F@@6iƚ -0F'TJydʑȳ@|t\C&l6*Vռ" Lph1  /`YM![%W'`Y) ӷp;  L+kIG{d  E 0\d    @5 XPEz{h7de 4]M@JAp)@@@@ ֠ G΄s, Hƴ2s`A@ ,@`@@@@jd 5rקpL&(   PE@    T@&(68iJp}  PKpn  #0 WIwܳ]R'/$#Ɂ=z"I%4K&HDe/cKD4&4`26٫vZέ+YEn"Us|SҋD=JTǩ։_^53DjgJvDȴr\ %Z7D@`R;7زU I=|qZ7`Zkݫ)ePFsvYlՇ_gZ]7n'ƭ!k6kK}S :)qVNt6MD"3=K(yo,hE %rld( 777K" wz9jmLv.[i" @ %! A``?^yP{X{3ntvoO-hOSj,`F,` (2:v |tpE&(53%;@) ={?K']U;b.+.HXOտ يtJԿaYpG?Lj?NN9Iꗜv;JO 7S}ҟ?Q}Oһo T\1  )xw2:Tp8}! <ǜ (L`eIcD.2ml[[. Ώ5{A@&+@`xl  P_?u=U@{ԩO9Cr7>F c ƶ 7o/~_kfB-H^ޒ[L 뒗#ܢ3LZN]]j.WGzՖ`+o/꒬׭5AA:㗬+dEi-vP l>:G6d*͇  @1 Sc! nyoHG' $ [sa3.@j%uAt[1ErmLۇ 3"]v"(ƈֿdQ榏;ƀ {]hAC[iwtXWzWʗ._16k{Z>H?`_w12J1GKqrϖeSV2{O8  ?b=  @e h{7_vO'g_{i]>t6>Ա &6c a1ƗѱFql73wj7Zf,zL[^5v@`?=ަ-FkVj]<7܇՟j[u5oonׅ~6WW+1N׳]@!ǖ61=oP`za6(DbC[(&#g!  w  0=GVY.`ql \]V[W˺=wmrjWG~m2O:]A݁Y)iFHnJ^\Rد}}\8SkԵ6]xtpG']7V|&m6m'xm_{12OK͡^סGgpC;:h>:  P"KFp  H|2I=  9uނ~MLfۋ :hEb|vf^A̾8~%G"NZ^l %0׿ɋ~VZkg׊1Տә:׿VG`UVޏ5 *^Us 9t+f`( S8]~^0K@@ On@@J_`?KVR};5NkA= 9<\Yud"v-OJ28~Gjt)@ x1+$k6 tNROeB:4鎯i}V/Ӷͻ蔛8Ȭ2WHqmgȣ@:S84wNPx K@@R 0\JwsA@(f %xQ(жܞu4{>FnpE| #3-XjFVTքx#VV^9FF5eR3{]U/0'd>)w']kWqԅ?S+h& $L0WZ%c7r~W+?z,9IWf@Nٗ}Oag   PKp^  yH}Jv>QI Œ1;B0m{AlЁ[>.s_7k06-l?VJ}aӮ 7TiseߐCݭjH>qI>hE~9r:׿^ *h-duְ.˻- g׵w?:wxu7W;d p\4kw&\D@JSpi @@ _A`v{ÐusA ?ꃹ:m0H4=J ?HuDjfJ$:Mf5:_ NZ7ϕY[dKO#-Vv5ϕ#KoLJ8sL-/%/="5|6/$<$o2/ZfwhDz7#Cj2ls;NG2d*LˤQ]]d :U2ʗN:"90=Dj>P91]di[:vvZfQF \z2[lufP'Ժ75q}Z:x^I|Q=/ɧ^epu/7Cߠ5Vۻƪ~lT2g5+yD La>GODm@@ 0<5@@H{6({#pE%{#jb7Z1ZwÛnR{W>?5xv>#^.wUf?ܢ:Kgr|0ȇ Hnx귲_hݿS4qA+ BiTGmL{e'M??}&\}a7rB& B8@R2=Ւݸ-W꿼jWW_m]+{_IjuZO dq2}⼎K[%kj7 Ac1@1  ᲸM$  D5Kx.k) g ӞkǚfŒ`EV -uX1xp\m%3sUq@]sUC9¸?v^3hN'kNnW^[n3k߄m7Xf<.݁3 Pj{d~.?0ةupV7FYcW)tYҌqV]'=0vnYbl]"Ρa@( eq8I@@Xƒ;M)=I Om-XdZxZvW5msh<\"\suMm`?'w<+]T0@n37u; #?տC^zjx#ok!󞲸Qݲg|d͛կ~%oB] *3]+7H}xN]*?18'QOgp9oy_]׶Ko fu:w,LkoMJE l>_ [6kLQb@@R 0\wB@@ײ{tV}plO8ݳi3_\L04]R'A7ѽpq&k%y_z}Ǯ/ť쮅Zf+So m0ӟ$;g}vX.8n*aܲU?"ZZ]Vi6ZZ%;63tmXXt7$ lF/0|K2_K^ Z]fGB[*((G`XPs: &c1Ac@(3ev8]@@ <'3pQ:/L2;~9xޥn`.waf驜} Y̆;Y?- qxi:,ȚnuYit"wǚMgoVDf5}ř+wy|+_{L6ӧOhzlNDٓޖI}}p{q '7 yk_+0Ca|v4r3úYG.!#33k&8,=.kF'ps âYҹRn{Hdϭɮwu0wksRN>ok@OO455i p(@(_{8s@@Qvs2_W"sAQrݼSe*-gUԝLPFakۚ^Vc/~J]Pv տ#-9_"Ƥ d =[i&@@ 0\ַG@*Qv\}iن> ᛒt%xO>kgPu6>svYfm$4º'rO?/~w$}fehD\~Dj]Q/5kֈ5'=o<9s|3gN:cؔo/| yf06m|_}rW/_yjNywJj ۰gXIڴg˾D<@Q~cMGN=%Z]jI#@@B Wȍ2@@kdh}`{6lE\:r#O$l~0|[{-K,ǩ&:}GCVgugK2+/yf IP}_ϐ~*|{T??k0|x3Jp5Cv@TÕzg.@@Jv =LYQߔ=n>駅*,@\e> nS}z6 cAvfgI0 ZitwP?ߒ'ns'f5f| 3ݡA:H* ĚF,Gd2)v|ܬm<mwۓIO}P 2ɬ`YO_nQvAih]EKzzzI>(ӕ#@p3  @[Ʌ  .y,izX`XG.{šԬ׷KA./⠔-ͬ Hz+WX1W&x_֯eZpAɝ.~w}qr7ùTEKjps.1odoٟUm^ԾX_-Ɨ_EnHH#I Q/EAIS. @y@% E* TbAP@@!EbyRQEjHi !O3w~lw|ܙ9s}lޜ'?MM'jaF?^kFo IaE68j'Ҵiǩ@!py {?F993S ovʕεk5ӈbNz„?߾),($t?p}Kn3wVż[Y+ z5'GܒtZ b5BYBM&J7KTsҒ9lѼPcyfS>nKAUhV5l~2 pu/.z_3ϤM6٤j'pxԤs=;85jTe@}׽+·mh}I4mgpP-Y8a/i)j7[Ia5$Mh@6m    g 0g_-:   ]G+^y踝ڴc~5BvA\  'o1'QHHQ1!I^蕺~H)ԥrΝE>~i&GFD ß^-iF]w-^X} 1 g[7ͺ|C_1>8:x44]>?;ֿW^ v?$z'9;j 9 zs>z_m.%6ydv'@%p}?oBZ16:_Ѭ[|:õ|t3*8>K^ܙDn L7AQa?N+_|UAC+w{7u_uSO=:(3fLUT^x:S{7|ƏOwh}ۡUD7{)tqe—khqGѐy֘wQ//|w?_uU?; ?¨R03;.2u M'@@@@@ O<@@@@z1叞Aw*-l-Ao(hp(lkbPeE%UĹHfS4k?(rUA'm=~Jb`^̛Eo>qlc \4#߉%s=G<͜9yЇ>D^{-m;g[nN?tvۍz߯q|[?\>\-O~ Ӳa9!~jǃVC ` 恰 4M )^RxSWO^RF[cF\mGQi˱T_^߄t8݌s< +}Z?{)>~'(Hv}:y _ p b    0_0   =]wNvu_1h:pK*oBc^3i P/I䠝dr_ |u!>Q猉7M5Igh'i𓄠*?*ȏ7usM b >蠃UV)a;HD{F|afȥTJP/)X:~ }?dҔZꮿ& e':LI    o0o^5:    }?J5Wn0e۞juogT;t\(GUDRi+ArR~-oΡ|UvȆ?Of aXN'xWU;vlzéy|nUH1"T;n2=HV6h"ݿο*-/W5]~C2N03 7׏q}ty .WA@@@z,ԲrQ0{[|_X 5|:jKS=y5&9h251D9/#2 =5+^@t <~ o~լ=F+}&᧟~;8=-PU;3g.y`yuW #S=:(J,;6.6MOW_ iAWm#iԯޏs(hΰfkk ꚻE| cznӺ\trXN<6l3g>C<7R7~f?+u5N']u^Gkk;ՍXrqGɄ_c #Z}omᖭzbT}KF눲7y|}t%7y \]    П0ܟ6    }Yf(nNz o ۵jM("{R\vI}t%hQCӻdUځl1؏O:.dI'aIf4&hst׋eCSjۤ\a:*(!rd Xޕֵ{-cb)^&PHxDn@O߲ ûkY/tE[[n/^&wܑ i9)X9,]W^ߞ=Pg}h֣^l=oroMxjH ),m/6]<tݏlk'[y ˬNI;iv߿wiT5jG 1؋SOѻ7L)|_^.2~J~mlfPE:!(`W] a$%!߃OL\j3gqD\qQ. ?JGALMwjEؿOskTY C[[o~wmk瞫u'[V]<@rzRQNmJEva6:;5+u=-'ֿ>N_lP޵(@GP1x5>G8Ӧh@@@@0    gȉa ipA3cq& g_m~w-9Xz:4Up>K %e%5fKZP,.EL"{ğY7͘+Rc,X@ ӟ#9+a1?vi'xi̘14 Q'|$FV|XN%Nb\򗿤+WcɲZP|\{pL՚Rm Ϙe,$'cPTٵ6d}5wN {{ɝՎZoCq}<@@@@a@@@@z% n$}a锦nW6ʙq$tj*fzYςҒ lOðǟ|q@@N'Ia9!H{7]|ŴF3װێz!=1|]wO0U?Ѹ1\1 p28o?O$99OwO [bw?a\}׸/|Q%u?!?K eOGoJڍ¥'9\ҁdHN`Ɍ l.o]0zk/iT0i*jrM.<-L;}1@weΙ \ʒ{'-1d5wẅ^Jituש1wРAne]F>-Znfw}i.fӚ"khXUd?α54*>?'[(י6ƟQ3z7(0͕0@p?LBӦMS)     "t^Cy yae#q0L6fkEBuO9C@0F[@IDATbS*sPjwa*D=Y1{kv6l >d:˛ o>ЯkFM‡v~ZFdMx~[hjsy tuƺ7 ey:9&Uzfg_@Wc'6jO>I4w\6Lsh U@ @ dF7 jiP'FhGιy',a'۴H 2.u?3>_1 ߾g0dp~.te줓NnmݶFܿt衇:;wewzL] 5vk`BV5n}kkro}s'E|b'?'E;HYO2O _T@`nA@@@z0W6MyW j(([bkf@% \&8ݩ rԓ$(bb,QsPB8O>]L@%j._\ƿi0Z'^wr:3 %usF4Xz'oNWi1=FHLzqO<1\b`!WA@@@@`u0:     У ,1AW˻rEV]UNk3PdҤ{rrkk!jLk,p\rt5OL'u`Wsϥ^{N>d׾FFMH/?>9Cƍ'0o|-[Fm^M~ J:kj?[f׽ /aego6,ݏj9A`[Q^'gGY'gϞ?07od3AN>@{ 0^r    ,evL6XsF9I.qf`.:P65=rEbӍ^+#ԯp{1 KeD5Z%NQk WI;_~eG1cOgh֣[oUOzJxɒ%j曩,X@W^y[|^-+` Ѹ{3jðX82 y'c_ZOk(qXzSQ *ǟ;ojWr'OF( A@@@@`n7:di*i3:7 v)tڶG4fWI ֌YWdxjIJeʀb[5B\gc_cwSs=GO}: =I,F{エ[̙3OaÆѾF_|N .7޸_ Ԏ9)B愭5/s(A1A _qBOdqBuǣQx<';q}t    %p{!@# 5u?7c *![rŴ(N ^.DI6uϜ{ + bġ~NoTs]2 Jǟt '&Ov]x Ks W9R[~iZj*SŋxРAԛQ"ua+{b= $"qE_B ^Egi9q VǟC(<|?=8)l0 w G    ,ӚbD-?@a`MHU}׸!́L늧%bH]IbTOS[Wޤԟv2 U?(u81S|1Ub Nr[M'No ?]w]0`c6lObS qn3Xm1,ֿ޿Ns5]oAĪƟ4iT7_%O(MOq'    Gc@@@@^%m۪FZlg_Y囗*Yڼ1"nβ^4 kV6p2]/q%DP$iSQ f1M7F9`ev.ưc+U ~ΝWK{{jkkw㏧?$WR}jh, ('ek.^E9209 'INg1(&ctc"YBo$iS=zˏK[Z׎wcٴ˄]h\3 't; % nMp䦦[#a6ζ%XJ6eY;- fMlruMLRIyt\qo7XRx&LZ$?b!ъEt<5햌t< ܣ̟?v[:3iԨQh4i^+ݣō QVA;3lq[QfdWI‰1:Wǟio mXϘSҴi@@@@@0q,Q@7Nkfʛbec\u& n.7]*l'ۆIxԜzHˑ-OԟG*sR"4Z3v!?6D9gogw]3,co 8~[lѯO {ðqI%eqnWIcP#cd_WIXkkɂ' h|[~Mֱ sG 8"pgE    ]N@rb|~;R6\Ehnk|e'6ِh^3i׺nb&J ˋP濄OW3#:d C 455'L7t[rXo cb? ,h_w{̢_zCXFOX(e>T9N_μ'ttcN 7мs$jA@@@@@0I`Q,@VKu,ƜdvZS5֣'hJ[CGG 1Ø% /@]t=js=IkV/E6SN ےe_ 28k,⨝֌ j.cd=O[/r}K0iOQBu3.{9nt[yh0ALN,'ԟQ\PB8b O7'Erz1_31D'sU2'9b>l`cOsWIqk2lc褹Yu?omՌ?i cPzQN 4w._N.q}@@@@k05Q @k|3p83Q.f4 edҴK}I~i楙o}3v?%ɗj{zKx PkmE3O[0n 2$ސݜI-6FiM>ϤϿV$f!_E'2F:O>FF룅m\3Ƅ6/$ǚ$ /o W3hV+1$z}W-P~YyVREkeaj9Нoyw)7@-^U o.S9]ٳom "D`W>UՌcۑ={62aϧ/o>:}t<pn尐n=]c.9]OkzD. ~ScGnO;٬^~TҲq?U}Sh_]|ml y}=րKUkS{"L]I9Q3%Mw罊Q]:A5Ă3N@ ö&dMa=1e}>+> CMR 4}dH:s*{bl܅{T 9xbX荒]:jGVr'O+ѕ@    u`:֨ @@@@ 4͘5zM\!-z*7Z{UҾs!s;ӽr+l0aKuc)dKs/^:@˩㴞ra/U-p=OVnѭ;qƩfO뿷=5P[cJŽ?6 5m?ܩuk; ; anzq$4dbkAu()/|`XO:)%]-UAtwxYʈ-JU^/y]#{EjƟ=.w}4-'2t(;' Nftm1uC#n\q'5" 6[Obt8M.˞_{>~G+6S{l 2Fes?9Ӵ6ވ~tMs1Zy:fMbc0,y[ʌf*ig!`5y3A]|YI͜L6iz׷B_{#{MetYb&tb=Sk{1s&}ؚsbf2Qkh~)>ziWyKSN/EA@@@@ 0 (Kİw3t9XetbenNL\j3gqD\OQ. ^vۍyi-RMh)ޜ>|8m6z=CjW^WB|qZh1J۲^믿wioHM j>-hz*K, -" BUyMB.4Ѻβ>J5La2.3~k>4cW^zv}WzzǒPǏ5z>ϙ3yQȝ%>>RvQ. }6 WNwap16 G&Zt2;0:M-;mTwle֥-4qVe>=e27G nDϘ&_b},/ mtԗ: {"eytuG97;:GY(f59PQqgյL՚Rm Ϙe,4}B28Y3~zyZ { gg+<-bqKLr"4-2ͫ$uY( |\{pL՚$eʕO<>GE? _g%wu]{Ü$[7>b1oQqg2Y,jk8%&7?},p-ef!IYظr"r$'N {K`+=TJ>Z1     0_     >M|lq.4B5tur)8w jTH3Bm'v,[Ve'x2]ve颋.ɓ'X΀6SnṯKBQ}n?WPŦa{7qkV+Zgי>wc^M@rڃǿbb{:"tIte>Wp>_|tqǯVoV:I[6lx}7?iCZgm =g\MO ϟg-F2P 1`1 XSbgSNjx 2֊φPRvߔ4oxF0nJ;lw> $5Os߲Jlw?:Sg뭷~or-lW/2544s=nr0k_GGqDRy_ZSzNrj'︮qViW 5$|r7I~:kXeϾ1+.l 㰌ȏCZhTE3:hmpiizgf^m 1cix}?atu"s# [/r$=Osc&魞tR wo sYYWzi7 ϟ7"4|S$    = =U!    kJO k91l{Լ]-"b8AO bo{t9 };ꄤRXb2ms=TXժU馛 /`mjhi֬YviRƢE%Z01uuu(h_\s[Y.ڈ6'b+? 0 g#D#i!t1gɎrIrZSWqr*^8GdUᴢQ.h[zP EH&sq^hX-]!%Z%e,Em0+Y7l3zu3˩Y?s7e5ghL… ވ>,NWsmlVJOSwŵ5D8EVɹQxK_FarB" 5'`wp6x [5n85"|/_%se$z1yO˕jfC1JRD0 5W_WA%{wj'u]xtک*pJ#JWŜ/%I14O 2Jav;ҥKGvbh=X::Ɖxz;!O2y.Qsh 㶮?f}ziAk[쀗uY]Yr&?mކ1mS ֎q8hBqNZ>Qʡ'ﮮ C ~f!f'|xR Ӛڤkh*Ց.;qZCa8s. DL;}/zyM˕/ڃwF}5ďj5Ϗ=#P9=d}GVW9/Kt?oՙ>~\H1$רmcX h\9) mv\ϔShڴi@@@@z8{ B@@@@'`WI> x?/Ѯ6Uȭk{;˲kQ쁜8Fb*u$g \DoN {STyS]pgәg?~TQ7H_җJlzQ؞2EiT[;-J`5T X2u>ǟo9!ph}Ipb؁@j( &VRkСt1t7(&:9BfaT4S懭c1y2ʼn6qr+^ٛȏ8^6z[Z|x9csF2~$` dMZ|T X2u?/̫qB95=tQ?vC    = =q    C@j{4X VunffK86PɾzP4=oWV(Sd__@cƬgtJ/vesr2N(;vP"{yzm ,;~ipw_Ժ[Pɣzp H~NwrBҐ4d4iq$mk|6/^w+=Dri?o,-e>Sdi1c7|/۾fZ\ Mnbg;ŖKMR(,Z%fFNNJON uHtMo /Y/b)_iYݏ9A`~O5?Xli_(y~͐D8VjɈ=#bxٴ.uگB{-0  @@@@z1{CA@@@Θɶ5OvAX.g6 hB޶ 5iY~[t֙gn/dŋJb$]oя?kgK)#뮻KU71|jjFIܕ/S9a5߿R5 pM@ uu:.[Ԝ9rI 1|"'a܉YKCiMiB6K %"{ytYg*]"%,'s7 kX[oC=XKNB¨& 귫ɩIa&I^L^t<J Um Je)m;#}U#TO-I^;!W&-LyQi?a tӴbQ[o5=Ϊ};MgNkCZb6D-ͼ /f"9;?-|v4Q2S;p@=]~/߹*?)` s*0bbJO%\j,9 T*Ŕ$s5si1\! SxP"ϥ:@,RLII0WCXR(5UtsҜ9s4=A% V_!Jʎ\\NzϜ3 qezƟ8 // O'|@%Ok7ukyW fӽaң^]>3Zw0 p9\^ܣ,tA쩞&Q'YNWvӧK!'q&݉'H^z :K(|2տfO/WٺAY%}.&I|l2S4Ҍ"x{cMo9֕91\Xگ#WcŮKZ |iZ1XŸFX=!C('NkSӹ g_A1Yb2f uԿn,߬.>_rɥk(|I'{6>?aX9}_ 8'꿵7{ 'V5dHJ]& /`s 6x0 w@'WI놶붰ٗn楤a#2)q\ZGpΙn*8"Կ;џ̧$g-\ӟϗ=K/\۾'dg=ϛ*C+J0tn rDQ(:Z|TFOh$o 'Lv-s4uR'1JOTW 98CGc9N? ZİKWƿy|5668ZY!rʴj_-wqG_g|utYg"$ iYOSPG/dsz` ñyL8'/!=.e'%B@@@@aQ@@@1|x[?YkF==\.8gI9? 9lr\k.bgD^ގ.얖rLOȏXGHc>CwyW-"?;+R7ȥJ1hCGGQR<1zfA;ēkj@ ݈e.+g=qhu 6_\_2cicIWK ˴Ybʾ33M RSBQSseUQ%9/:W, }őWUl>5֠w]:#믿k~mI_y%S# Bu|R:ci+3-4'ױ#!O5 k7/Ɵ7CoՓwyg{Ҵi'RA@@@@7a7=@@@@ G ;mxX CβdyUcy(l'i< <(Lb洰Fb\я~dJ9h 4rmgwyeu]/O5ɉ6߰|a)a5e_cO!W* ά_NH'rWI/aCQ&(KBޕ bҪ+r<( L{vi|Bx*0,cL̳X(JZMym HR4Cz* ᎞GeG7ıϭϝTu>}o?>'׍BJ s^uC|s *4CT?V"JZxb8^uZo< @@@@Dg@@@@V]a.FqUg#4ˋX߷-kjD.Q^uΤSR$v:d."m{n6y&3ӴIDVPh^()'UW]U>~_/'g58r! 98 kMW%|j]'}nmG0uI5& 3Y; QDdO3%''=ت ^:ZsL,ԯ ct>1, :~IZAO=TNksڐBu":y}g^:Yo*O /ÜGǸq|4./ry5OXN1~@~E/İ]ھ{]p3Ӛ7-'9Xb%-j,>Ks ^!ѣs%t)r|E7ߤ9Q7/?;餓K.ɧqlnx(~C֫e6[U% !$D_"|Yc&Mo brbؖLb#ƻjf\(߶zC zjkDt?xWf=L.ϡO<.Ҭye00otzݏke%eN+p?$zv/WIX[#Q0 "     =    /4M"Okq|䩅õ|t3osat-3]] ԖX"nÃ^vi+6EK/{wI˗//[M7DrjX/oxoX:"8_d?_LJZ9 2 :s8h˖-#Fp2d+1Ca12{ _q2|J8u&V?-#RYj?>dtJ4nx%-3#Fћo./[M7Bg+G M+S?.WC=D.7xXY%]竤*\o'S* ǀ9q.U$S8О/'R c0 D@@@@@aPt@@@37, <ՌrK_&i4eܗ4f^[h?M_ V-NÏ>{%Vs>%:N8MifYyh6ٳgkᾝfCpRi|ˉsڝuǠ5;ݵ̯kt1 ˻8{X!|1kvB8 2"7d'wyܫ(>s%Y z}[ Pd}~ՠ|I@IDATEEO,G? '@WL"]Y-n)=9ZWW? !st ˷4,r2O3ͼ4^~b'cԮ3O[0}0 w@!'IMΫQ7 1T5b4ml/VLj\}}$K4|8#zʓSůjf iD\fU :%hiurRhc_JC@$p|OİAְje_ĎZi.h5WOJyl}J6s|v7wXotEoScc#X Xk-+iҤIx\s wqNxrRvpOӎbtYSN_ ¤2 mOX&$.fo`9X~=1j{]KK&ÉK8};TÌ >Y @W^u~g}VoX*iky'7i.ԺU _ ?5 w@@@@@apt@@@200iwm`جӚ(%mwgr-v)SIrpC9[P#8~j>r '|МYhU:сHWjeXO? 蕗^-ܒ-_f99=wO|׿r^o_$N;2߾V[˖)/er>//Ӭ ~?R0;b, 1g]o寍8}E:n'ưPo`oo>L` KIGnsvYRlk% n$yypNxDQy9i!R~99+ƀ=)Wq4v@迤biw-)C>`>c[q4KnUa)~e̊!Nbs6 ?(>4KܹX`!JbuBBifK3&#F!CgcƌjʖO G>IeܣZ;=O50)M6g;_>gR]{]kTr>򓟤Uﮊ>Z`!7.l[o5/'V)ƈ7廣¡پ#,F|-CkHTs'> xV=o/r/o W3ĂS̴@X|9}++5TE&b2||#4q4o޼ Q8,Qex ?vۉbİ]U*jz"9_ a` %Zmerx){e`3X'yu> aБ8lZbsftp?-,,]_:|CYDd3n<(M8˚HMYT 4^s]cHGO kZٕwi?{'PqbX    0^8    }@ J7ȰaOySخ4gWIq̐lH]cdrŔP)gf$)ǧw{o-K;VCq[_=HO^BM[)馺җB T֤iJg4Y[L_†jƟܩuVzb/W_f~}W_/믴ׯd{yMo-='y<ӵ?vaR/k/ Q/4¯:d?ꨣBMAAi-7CqO sJFF'@?#p?{.efN70;-lq:lsY!+AKmeIbz TU)Be_[nqj ?~<|h--X{Y7w-{ ŕ+uҤI?SS\%džc79sİ5%DLMEE1P-L0y_3CU;A/Ӛ<dn('*sS֝Fk4t)^)|KBAn*@ds^y6ΎcRmM--\}9;藷4RRL"5>zWIwh).TZ(y%;o:0\U0 '/A~B~MΘr:u~J_Jd`'[ڶIZ% Yy8WRB;?S{_EJ1)ޜ)"ȆZe8_[ !Oz,A:'ϑbo {r"C7/WƪƟUxo'a"߽{&^8F*ȏSO;.SYciZkQMm-\2K,OP7!]O>9֯ƍFI,`ϿEߗz_5م\hqەK1:/`ð:[a ;n@@@@ ˛F?A@@@hwo?NmΏ(o(-[e^Vemg1TZ&7?}ƒ8Z&Z/}FNPOͧe:YȵpEQ-/^g!+Jzfppd=K{^ɴ,GM*=n~%qL՚OH9f)8Չ~zy^N ~U8;[ASF_%mz>O򘯺K5b5,˚dfLB>o|# )%i,OcAG:& 3lp+A2fK^gXY\Z,W3?},p-ef!IYx*;#OXN81lh_`_>Ma>ζÅwMcK]\k Gɥx**^ȶӖ{Y-W_mh=`lR(ѣh= .#~g4d`BIhҥ1*Cߓ,}cKm;%sVVzrk}s>L!H|qn7:Uܴ޼Jl =<@@@@@apt@@@21fo oIMnӭ;B Í3LA%.dt4oF0fY+$r=ct9ge]Nk5i+ezaÆ~Gw}7-^$ovt]wѺ뮫fpˉeKqYƎ͟():y_NW3uN @a^ex޷Q}Ys]ԵFU4Lw߰c)3}ӥVx7sΡiӦ5Iu9 β,uowOϳ{J "!$`C++ *YEVXAy#,`bx\"b;ABLf2wGU:oN!sꫯNUGN[F-\vu~aΝ$Wcc>k^L?>:M-N7ùvq$@ 82 4@1l]a]U9'T(i[ܖ 1Y岪^TYxncR0v_]׿-UW}kEUVҬG}v \zall,|- .zRSO ۶o'tҬHw3aK_RXoQ[g,ԫm^]I׾8!6zrpO00tfK'\+^ _m7n$_zrQȭ8媫9z-Zzk kb񶷇݇t)1֫o\g쟿4}ES/xj۪RvZ.DϚ+i|}D;>|G-Np:^}εw:s r @1<L @@]ui[v ~gJ$.ּuw-rtkYB/GcXIkR-+ϪTf z/wu5}wZ]'tb8ē‰'N>eys~hǣZ / _ e'-[>#uN[./sIs 'ʕ^(jtԿ~cA x9JWQIH={ jg/q(8  @H*] @M%ky␋KY.# [VD$;⊶ZLnM..^NV&+-x]*ܖR{ *G'{ygڏiϭG7c|uroǙ+?[p}~ @hMe@BNHU 㛷3i'_FsG|9= s"Gzg'fj_#cWVI) )ے9#"I?=3^+vVKaEwEzc]'Uzre=~5+ufr=O~5^{FXtpeKqL0W⑚8'rG{v2i?==^ÕWDm8_?.?ܙL;CУo2U9ۙ+49x`\5 @`1?p|NKlN: }VK!/mYϪaL} kfz1<{†B%cv9J:ui VX-$Ma{Ww{n?V @ 81 4cXj+zo XWeXS',Ϸ[3/a[$ I^-񴒞]je:Iz^u-SQk/:|w ] yt?y!q駇5khg_Bv^?qv hr攓h;}vkS$Pgy˖ʟ|n}WҺ? _ 3r D##+#q=ѾrBq @FpFB &>81?[N; UL0%K.9}fz%Ue u0%k]eerA`1zB,ԴSsʕ%H-#^j(=3dIUH_wWO.ǀ8 @@SnHO@ glKNL}fU-[-Sh&(uS9zSuaԴGI/diǷl1 ;J:jwLA̢[?^%j"!Q//yvnnܴÉ#! @@snXS@ 0&)úl vtL#]+WM_o̬gXFTC"ZL9}Ӿ]f1CQ VϭGo:;ŞI+[WPIQ}~ֿk=' @`1y}F!UUV;T%_s]͍矎z\$;6cX/uڋ 2%ԨݚY2ߏ@Τ(ai\_dn؏0T98gw@ 4F 3 @ 5m=89r+._=bZzф^Z.ϵ{M1z.\,csĚ+Wv) J/6oX@u}Pҝ_7Lwg(xnZ%;#^!S濄6,Ӷ~"&Є^p5U^Mۏ;\  b @|8! @h ][7 S9Vl %a[ͪqtw0XCP{wWy\Y┛ەNΓ?헤by6_7t1^!N9=z-FO`[4w[r-o?c_"h=r>FD@ $84  8;Jږ'p-Uy9߼hԝ %^>GUż\D8HU T MX9ܟ|O^v stmH,{iǰcڋWoay-zw_W]8:(iqBrzŎ @_z@E`Z9W=_-].M#=JW\#[նuMW%Uܭr1+]Wzނ柎9XLXCTmZa3onZ%U"gaz?|cX @@nڈ_@ 0ݚ+"z$G8't[Ł=O[Bd_pvi.㩢B=fѪ}2@u׺I+:eNnvD:myKd,27Q?k)GI\;S̎:Q@ 1ܘ @` Sw٪˷.!1)Žq ɺRuJ]gZ.bR-x.T]DK.ٵnӔ1oG0q! eMXBzkeǰ:fnjMߟqOi:_8?pz!@DpB A'v {?u/.aY2DŽ:ݚ)ZaH\VTu_H 0fd i_WspQq 1&:U_ E$I߭ ifs9"Y_aOSG (ik:_r#z$!@@pF>B <ۥ݈#;+v[R7oWEtbr9yU.&KN%庵%RBq(=#,]4DpڦGIsn̹ 0Hv1zKo-]91ljؿAGj~:7q\ @hMq @:}jǷl%e -Z"+Z_xĵDҰ0H{ID2dJ=rEXi:^5q-4,99Rz:a'1vQ:'9>M_q]~΍[(>IrĵDM/HH?uB柎9`mB @1<`Jw @@ 1E}];7kweݪ૤USj^/+ͺӾ:Zp-y&),I~e*e2pdkk̏3/87{Ȏa﮼i7rִw%[J{߿Tt+y~,cpOg^  @|8! @h 1wjFݜI)z:~Kj\ (XPK#EB->W[+s]R+`cA/Q]=rzoAv W]acN1Hf5\X9+NjVDCǙ/dv@ @` aS @a]֥a9$ ]. ʈzPW)R;2#)QXT),)E4ێa?gp1cl?Hٴm-ESXP*EؿalLʁ)kѢMaQI)*%=-9?μh( @R:@K1,Mh`2pܭ֒ݚ)UOא(VD}JBK9{Oh]> |ך-R:o!0 6ߥ?7b#ϾPTۏ)k1 @FpFB &0tRWǙֽ.۲}~;{قsS˸&+ϖ*"JOl;/,dC3 ;lU'A+ţmKvkboqBss?b|cXpA 49= @K`׵n4?#`uK~GINbYRj٩q Q(1ItII%! jo /dl|19 `wv2C}͚|c(i:+s,Wy%߽õa"@ 82t 4@r Y܉i]]CPmfKp,1׵cb>IKZ '鬺i_:9E->ɭm~n3B`Pǰߛ\z)mzM7tsHfL&iJgL?) +SHo: cXf׽%>Ov# @ A!cxPF~@ m[BG{|Yʢˬr-[Si!Uɮ]IEɟur/sbŞֻ^|j+JrӾ.WY- !ںeAOȀ B[^^Miƭ]Nl$ؿmU֑+FѢֻ^fb)t~ײʏ2B-?Nl8 @Ap#NB fݚұ"hήx*N[uB=Vs$ʊ\ gk{})r~о(x,s '4w|a|ֹz˒/ _}G9+mqGލcSN4)t,Z"vnmVw%% 9GdtXt.Y;!8#5V؈cgPIB 4&2} @ !0t|GZmq[q+t-}|yQ=oaSZ/ԥN{lϫ^*-t?':6$愍p q/w:Ll}_h 9K#O|zDb| =˽t9aHw9'L]tKmt=O|ڂ_dp  @` s @Y&=)Ρ"L ꆱ>)'I$A\N~[whDFIIP-WٕXV8=,&$-UVR"9W\D"IeUUԶxH=HrYj+-^/{)ayE$\VЙzA/9A"IOiUcfz O{¦Ocxx*߼$3Kz߿lޫl;i_ǬI$Qrْ?5v%sP4͹2#mih'@gpH~cVO].h-?ruhl`F22~CE0݃Χ\k:=! @CpcB '0 Bwj/-HwJu<ʡ٭f(i9;VOEӂhm\撗e:W07L~Ϳ*q 1 \ofOOWk:R7\ZOKSeN[zv> +æk*'q@ 4F 3 @ 0韑cL'E5zYWJ7dCkduu\VaZWY5:/h!Gߝ cLFS}Pgή֝nu8G$j`!W?+fZŪ*'ݶ{[uRڴoT[$Pߟd϶=k ?q @ 83  <ݟ3u]#X[UJl%47==`"y*B/GcX$5++rpKyy0C1B/G==pwK4F7u| eGg^fvҳ Whlp~B/GcX=ؿ?yX$@ye  †0l@  Ã7 4. }wIeiZ<~ha!Լ{B{eMMnȿUt*ǭEшejxQKCerǿ;auQ3Dnl7<8J?ɟ~YFNH֟ ^̿SNo\ @BpSF~B 鉛`Q XK+Ƴy, ЊBr򚼬9o)E^54R?8bo74~fXsΛ꓁9_fnlgkN:f`q]wşG;}×złt2x|@ 9GΌ @K^w|.ztQwyxY'Ś3_F~hsߞdErM2 Roē'9er6N-"]IsI2 a߿aϿck}C`@~CqdMW"s/)bTd[ o);τ4V<º?yO! @h l @[^1; ]>V:vwC~-~I~&" @h Mi @@`7~]aqJqҐ0lԴvZ"!}c +/$~sB @1p 7f( @|+*o1mw^/x}TƫfϺL[V_Et,onm#Vkajoq7ˈ3LQFo^VaX{ś'mbԤYg?]EE1uq\XĿ4LͿ/0zG  @ cL!@@SL;!GI2-JǕ0~?p֨mmz>'B,{w-wȉTwTUYNRQ j*ng:L~i!(f7A˟7jH75|a?|(!_A?*;:ac#);3ާ_,has ! @@1jQq=Ckd̚A!Н ;,w=0?k4cx-}x:JM Z*5&}PZ-g|S%7Z @BpCnB }sSAd txC~E+[Zr)uU^UV8<v嬓$bRK҉B[sG)7=|phiКwW{B`_ ۿkPKn I䢰WovWZdŖ;WWo >x+F_ kp|η7@ 4ᦍ8 @NW,5ǰ, e]BM7/uXeXvl ~RyYT|QX^>GVr2K%zY;C<_M%l8-]SyzRXu˫&"uWCVSy VW\k}zty[*Ji߿Ca% Ayʧ>9y @@cnPQ@ -Wa luߗK°gUk[V\#[9Ozi}r+xV-VPnb7/Ua2̿5g* rC``_'q{6{L2VX~"aT.z-߁*˿)&4{}Ê6C @ap 7l. @ta/.,%kĺ`ܖ\S'1^>ݡb{[fiu.㩢B=fі"8kUJ/ᑥteJQ/&ԮǗwr6&W kº'\ڲ[ H{Og3k'dʻ yDfmxƁ[ \{ lE-f/;&î2-e-mi;*_G~68!@ (85t 4/0ug[h,!M%%C~:߳  @M$cN!@a /.W%tU~~=RB?#>jp/`lVXw_fzSS2Ճо(?p߆Cx;$1>[yׅ甊!0p뿅y9sΎIPI[ bX\X]#mhCa߼# O6w|nt"oFup @@ ng@ 0ag1L컃[-H9;Htwꇽ,8NLIkS/D+pݢDZυl$)Bџ̅ ]N`9;>9eJ&N 7愰qG@^]a?cV߅vKoWA/zً k^)OAzA-mu?(xA2IDAT b*huO<)qV!@ 0p A@ LS-^,NzE焮!K~~X!;mIѐ­TY#Y]5q-QH,HttSZU,ʑZU*Cگ-A)|oMP̑Htt$)>Ua7 6uNA쯆JV/~?nQ|(IU9\5|aMf @ d8<  8[ž/HvEc:t-S]rRh[ki LC+AU:E }NJb)~/'RfHЂD`8x[S{ɠ cUsڒ9d.5֜ah Ks@SLaE/nƜf7$H챽Rb׭ /{vX BwtQJuKK[-u,(%zDCСpׄ}z_{ ?*ZՈEDS 1+!@ `80tBMaCh]*Bl!mDlbN;6mXFMY,Є^չ@`9UQE{SgZj_;&}S;&v::1bM!8:Cwr"t'L~Gab6\8Pg<CŭGH>a @ p8>> @huoΡmq#ioKM cEM-芳8K%K|jϏzҨ.n~3V؛?  %ϻ_:w0gSq$ Z7};&d_w9jBoz_ڗUy#45@l Bc\ @14 @h_4Q9>NS>I)[o U=ٝbuת[Õ]T("|5kwIҏmj_+c9NywO@ 1K4 @o-/-i;Mŕ\`HfZ\OjZu$/mDKN ɛ;~o <:w5aVWc éhX-[eb~?2~cnd3 6,c rـ;i_Aǫģ%ú{Eh !@ 8{ @hL8𭷇~x qYX$[X v:ݫУUN`z)t3Xq*q,!rYXys假tD NO۰=F@퟊ gqKpvDy*3αZ3*61v;~as/ aH@ IhȀ @h5oΫל Pꩈ\хtBXUGxĪSZ8Y]WˁaՏ0&O)[[ͷI b,SwTKxe3j;=Mfjp;7.?:~=d?raկ <6 @  @ !0m7:cNjo=|N;2{~N_uATXPSf[CY,QئiӾQw^sbX_ #?p>( }8Ӳ}aYݾҮnFUD GLn1'\~ Ghi?Wx(O+0\9.@ @`p /j @M ;oJ/#ǁz2$8,)i貸)QxyK ɷzYmL jhh0aċGpȩ\0/ U_?*QWD-<2\5QL aڰӼx__^sʋFuoF @X  @@tvfv~1LR] @h_.…ShX*Ӯ'Br@T׺o Ӧ}ëNC!6#cq  @w0vCa;H@pfrq$ vk'266מt_ռ>n ҥii<@z9G^.! @ p(@ <=afϷBW3;CW0t́К9$~i7%|fff`΄Όz`nq2];%bS:0ԁeL2T.;3D1wxrv$Jڗ2ݾ!Җnn W|4 5!ڣDŽU ^{צa!"#6Bg{wu w9$wZMMoOθ1[_:r#Be7ZZXfc%۟ vzH&4>Z#]" \ZkVfGlȿcC)'`.\ @X,8$@ @ @ @Xp /с @ @ @ ,ËEz @ @ @ ,Q8X @ @ @"I= @ @ @(Kt`x,@ @ @ @Eb@ @ @ @K%:0< @ @ @ "cxHR @ @ @ %J  @ @ @b1X$ @ @ @%cx @ @ @ @`^,@ @ @ @`1Dǂ @ @ @ Xp /I @ @ @ D ^cA @ @ @X,8$@ @ @ @Xp /с @ @ @ ,ËEz @ @ @ ,Q8X @ @ @MӏxQIENDB`seirsplus-1.1.0/images/BasicSEIRS_compartments_quarantine_ratetesting.png000066400000000000000000006311351375244156600270260ustar00rootroot00000000000000PNG  IHDR]A HiCCPICC ProfileHWXS[R!RBo"U *! $YTp- ]Qt-{Y{_,(+6Tޤ}sϙ3){D'.ƅ1ƥ2H.p'bc#:@׏Ut$ >bDZ S $ DTD3TJidžxdM.WV33 yYG&ĮbH 6bˇ8ayy C778bSCŹёj}F(1\!TQ'A=w@欑 L)**OsYjBgM0!b*P  fU$dGHqm f aA*~,-SJ"NWU nY<ٸȁ\UX@/)Sƪq 7LDV. RŏGJ bTq1xB 0 R., .jd>A" R @!Ԫ. S9Z@"@.-WzKFw56؏:D5^%1L 'q#367{D՞NxHF ܚ$*~K3x!3n|geV7yfMvW JB 8|?SIcEQo룊5c3[b iv;5vk.`xp =Voqxr \OE%e]c@0Uq>vdT%,`/`pļnn(#c~-`_uQ{طn_uqp 3xriJ+xhe ́5pO Ab@Hap=K0,+lN48΃KO'xz[Ї  !t@lg a"H!)H:92#d#R@!gvB^#Q DQ32Q&,t2Z*݁65}b 1Kcbl,K21)6 +*Zk>D3pDOg56?_=`Jp&8q,B)pN["hH'zݘB&N'."%"%{I$1əG!qIRjeR'=YlAv#Sbr1||GѡR|(1>ee e3rIR~j6u.@=IK[CCJ[cHcFn34>hi:i54嚋5jռ7FRiŴ:q}{-p-_kVVem[mD"Ju(:v:l,j:7tzu#ucttn=Lg+ۤw\[t}}3$So/ߩߦcg0 `A!CΐckpuÏC̆,0wFCFeF}4f/3n2g85bIPCyCˆz5u23niYlqnsC@lͻ,"G,3 ,F.qcijn)hfgeohUl5՚iiºպ&fMm[-Vh;;{dvMv9Ewhj:9k/9NNBjΨys00aanh\ ]] 79xx#lFX6/]9fdȖݜxnnWiݛ_r%nMG|VϞ^R./tL}f,s7;{A>>>{|ulhͣYq6u37wXpjZ>e9Y;X/\Aޱ}3GĐ5!CBBC{<¦ 'G/ 18u1^cf9&aS4% cO8yTY;s{oqaolku/\>v%ʩE_kx捴77ʽv;sӹWy~8 <=zXSgړʧO랹=;u/$/K}ug\O+׋6{QoZ{c{{mNLo'ҧώ[D|۟/JO 643[@ {RTªR<hs}ݰBn>!M-Lw7V=$P`{TK`] ;eXIfMM*>F(iNxASCIIScreenshoteN pHYs%%IR$iTXtXML:com.adobe.xmp 1306 Screenshot 752 eiDOTx(xxz"@IDATxUٿ߻-SB $$@HD D)~TGQ(E)RBU* B= Jz}33wݒdwd̜>ϙy  @ @ !4=B @ @N  @ @Xa+ @ @ F@ @ @` 40B2 @ @ @ @ &и @ @@h @ @VB #$@ @ @k @ @Xa+ @ @ F@ @ @` 40B2 @ @ @ @ &и @ @@hJC=$&L\.' kddQg-cƌ)SQ@ @@s#DxuL1ףG;*\ Gy2X>pz񈫠 g"QNk?._WWR%@ @@h\>nZ e2h fm/al*/qV7۷o_7nl^$Nv{_?'?sذa2j(Ywu'KV֭[8Y ĉeԩ6v暲Zk9g!^{MpiR 馛zK/^ݮ sv/~-rzɶn(lvoXYZ^v]iӦmfחEK-}@ @%'~H/Is5_{S^"0[W8NÓGy$c=Lpg}$k=ꨣgy[y{gb>ƱQa.zUC5=wށA)a#TwߴK/ԋQq5ҹc=&Rq-|}_T 甭Ki;&L:OUXN8ᄨo ?NTdTMݪ@]{fm_OVM**++1g]꠫N7~~d^7pC([|㪨qȞ951`;l2_!@ @Yֻ' b\V &:fˊwqG= aH{p:"V^ IlMlL:hM|EguVϻDR{^(M򳲪*+o^Ă_3=&5kV6t?a*]r%N-Xzwu^;Y|;Of-n17aiCihWO㥼9#FDkh^&2伓 ηv[ѼKYM5A0x'_2.4onڞAM?=Or=2uTQ.J2kl/acZGa6{sǥ ?snsty:vtERCm?kS|3O."O|mۯ_?Ò7|s'9N^sȣ\ epLd9ubݦu]o}W65]\ӄ^PO}gBcR~1Qe܋ze&|DꪫҼńl|WVc8BcW??rȑB/sQt5.~9T.c9}sѸhf}KI. @ tB;)?YУ15%4fW6k7k狵؊϶qs%/s46H,c=ʢƆf #w У1ZVo~󛨺AzdNpT<]E:`i]vt1q}I{(qIDz뭣)S,OV& tl+e])7}ق.4ן O>dAx[Ꙝ믿^,~ @ BcB L(iJh9]L _VðhѢ/KR%O!IF _guZT Cq5]}W0 7.6.W_h͹G}4mnz뭗YG>g|嗛ᘭ >|x,ݺu~xD V&֟oOݮ]'iӦmio馂2'9G "fle$& @ @MhN400t:ɧWSC> {4J4y:Cf"gцu16E{4uT*oXx@L#-;3C=xքW_=E>.bእp٠.4fο%œ aD UUU񻍏~;uufGiCwh* ['46mj.P'eX9[-,OmI~>MdF)ZA @(N%LrMhKSazD KмD\kZEc^^jGc腷IMnј$E?6`TAK=..\$-ئ=U; Š$=CFͦ]U cpH`&N3&CZF:6l̙@xvpKXV*p@hl(4*؞ͯnM6IhgBcv(7BcK @@&عۿC}*4 dMSBh#RwgxDdJlcl#-3gA"{)gE7|sd+[j)o @ #X ~%MF[\yٓKF!g~4lq^Tm^k!M,03_9=+e']w}ݾ5a9glܴrJA py*͹t贖At8cƌ讻vYti=l8tT giyĻ>?g_=4LnB N5C뮻>V~g $C-k0 r@ @E 4Wi=pdBISC髮@iP۬8f>萯 L-:m$L̺g-F72$:'GdG A˰LRh\o:Ω_PZ88fmfq~IvcwяԿ?87sxfI{4mR_hU7bzR7YgذaͺdխBc1?Bc& @ BuXC_CGhv h̞g8|p>\?[WnlY]w5_Q}7 oh=i:Gcfyc=6MozQcИȸ^{o}/6tӨ!7xcvZoC XGc_ "m.70>vej]v؄8pɜĉ' @ @ !KK4΋'ݺu:='aDI^|ʔ)+u?G؇8ɓE'^2lpQJ&k+"Ӧ~DC|E߳C>X2vX;cDeH](@cUHu1Xi9Vvۉo!һwoO3luO߾2w\yWE{=frO:߾rmA$7tSAx_{[,H׏ .%r '$AkD{y5)GC g͞%ۏ^&9YvWUg.$xCyQ?$OoN}b\pfg~{r-E{5VuxIB "O >|xhk0%*v) Ovt5kw#?P[5DѣlՖ7VϜhByd,4hM7$*ݪ*z(*\a3pZji獃 @ 4J QB#P0{ ukCXCזn0:?YT$9^_[8 -? M!毒Q4z4Z]j֠,K|qWr-a.K %՟18uHE/SM:9l=Sf& L8eu!]Gc裏֏["&/,69ECS@ @@`t%G /0dM\h++EBb);6:m:ZlʪT J.-0bs%r؊C IZyߒ"1IZs4&ϙ3'a&fD^lQ؇Q 9Q @ @B]0S @ @:6Ǝݾ @ @څBc`@ @ tl}9;@ @  vL! @ @;vrv @ @h킙B @ @ б 4v @ @ .3@ @ @c@hA @ @] 4 f  @ @@&رۗ @ @@@hl@ @ Mc/g@ @ v!.) @ @Bcn_ @ @B]0S @ @:6Ǝݾ @ @څBc`@ @ tl}9;@`9,^Xjkk=eEEte9r!  @ @s@h\B- ^{=w-9kA*@ @:7= P wШ  @ ЀBc$x@{)sD_ ? @ BcKI4LhGFAh4mΉB @@h\qt0١Ӈv\{ݵ 9@ @@@hl}U… _^xAeСfɰaҥK-Rn[?`ɒ%RWW'\Nʤ~jyWeĉ2o<ߨQd7.Wx ]YYF={<2}tx1cd(VNܾ?ڡ1's+JX: @ @ %И`.7ސںZ:we9]tLK.DN:駟.=nlDŽ5XCs~џ}9S\5qVw:F?n5V~_nV4yuYrzQG%W]u̘1CN8;dbWj:r7ˎ;a'|" JJV!&> @ @J`<n(<+r*1(o}6ϼgaTY;w]Abwd'?CYk Zo .PE3ވVmᕬ @ @E 4J*nRS1^61gsn5kw~<3-(Þg͞Gӟ%^Xvn[ф^z'|,=zH,l|wʩ:Gcc΄˭ǎ_yUD]_gɸhݺvU>|x&V>#&tM䥗^.x=h9GEh,J O@ @@!BA$ N[ހɟfÆ9{!CԩS}e$G-WO{ <\llz2'?r7&D2*Mb-Ćo\MI&XkU<-/йC--s9xv|io~mB0[8Wf͜U4{)ܭ=uaң($!@ @ 4/JĉeVVU<ݺukQo?q#W^yeAQ@ ;8 49-sC*SLW1q6 gϞ:Fx/9]+}EL(L {"ۂ3&\%__+!nJשڻ0S' ˕iVq%x"/ȑ;oI&/5S 4j$[mz ﵗh[{4ШCe1 @ 'X(167\60VRMOF;. a|ӧ0]=qWF0>\"7p4vnvw}SO#4ӻOoﭙg{4kݜ3qMƌ/ .cQ% @  4r%@ ؼwIU]HyuqE =M Ӱ"԰HEDQhä_԰W෾-y衇,ëxTxRo/qwta3I.]Coz'5 hsH=?sԡ{Th N~EXM/ZңΘ@ @@s#D8Vq_GY^/lr-rzk (} qqɕW\]&|'O,cF8ʈ#[Vd [/Cm6 g|iIemC @@g%Y[0^z%|-||<̜Y|=a[zРA<0G}TyoáCG}$.kFb}eg[ڜ-;7hf[:LY40ߣ1'n}O?]K~6{ȑ2g\=g?;9dpqdiq::8hd1[1wAM7ݔ @ @ 4/J~'vd4[ /LWiNNL&ڝ}I_WiR^xqi-Z|/N;͒x8~>{VkPw߭BpB/cw{ﵡywYgʹն[:t:(_|+c+9by? { @  4r @:uذi>3r9Oz-[B1mW}0Mވ~me_ISLբ8+uyO;dZ \h|}˳<ޭh#]fsY{}az*.m7`y駥i:Rι}hxR`YYG*|nƍ @ @Bc! PΝC㎢˃iظbhf.^Cge+OqrEJTbaixו~H]w8N~s/ϒi`>s=z!ߡvZO#?B|E؃ @ @ 4r!@2?^%+2nfbCC@\w 7ȡWasCeCo[y饗d֬Yu"7Z|{rRYYY,УчNGifB @JBc)u@":'Fh@ ̩@ @@%i!92++-( @ К[&yAHlD, !@ @I4ۍZCd g`48@ @JBcI7@(+SiQuŬHkGj @ @O>!6% MkQ9M$s@ @ڞBc3@ C v!@ @%LC Q\~4CK%3 @ @Bc! 6&ѨC:C @ځBc;@@ O %?IDs4 @ @(Mn%K 3`ƒmJ*@ @( X@ iQ'i?m @ #vl(B +S(ȌֈX^ @ #Xb Fu!Pҡ*2& O#4zR@ @u#Thdt;R(@ @@@hl{ƔdƼ'wY@ @(Ur%JDjC @! !%d鰥Gc2&7@ @ и2S&:11؉/N @: ӔJ@vt7"4FQK@ @@SC BTj"z9d@ @@@hl_ޔNO@hi 4v @  4vF PJLh ֩Ԇ @ PBc1*AmF{4&3j)[6M @ "^)p\ni.@ @@@h,6 PRre6V<8 @ "Rl5 &2ң[C @ 4hcH6N @ v )=3Ǻb0yA @JBc@HƜըmSX'F!@ @Bc'8}7tx~FSAy @ 2VJv@U>ifB @JBc)u@":'Fh@ ̩@ @@%i!92++-( @ К[&yAHlD, !@ @I4ۍZCd g`48@ @JBcI7@(+SiQuŬHkGj @ @O>!6% MkQ9M$s@ ͫ@IDAT@ڞBc3@ C v!@ @%LC Q\~4CK%3 @ @Bc! 6&ѨC:C @ځBc;@@ O %?IDs4 @ @(Mn%K 3`ƒmJ*@ @( J Kke價̅d/eQbeWGR[QOW*e؁wEn54b{]Yw>\|,O,2NYi 8녦OYrQ6eR~RU^Uҭ}պ}>C›%P??1tt3y].*u Kݢ%Z:K̐fD%],RDWK]MZ9n##;]5s~/u_Kd 3?f;wcϴoۑC.7gi"euUrU}z&eIYRcg Bj^0]j} u|*u3gJ4kDK݂j,Q{]]6Zmٺ繨..3NN|auc\Ҙ.?a'lԍoP~d_Nnɮg*.jw[w)6?)_!|!g4?e޼yiٳ6~g/9su^zIe^KFN~>_|LPf_"3\,sV˂5pi,U]:jmCݸ6RvlWmgޞ&m @h{Ǿ{LJ\u}̮Џ2VY.]Kҷ{ U%*CtkuV&X*%4ҧȤO^?]ޛ=Eo=1첷1gyZ}c6ۛ}3Ѣ%!z`3Hv5ƵeVj[D<5J_~e5km" К| zGzdo"PDjf,ճ^9/Kwe͞% mI4m̈́ UWe?|}|_6rIMy פߞG#R 跩uS[t*@,}y%~5{=GEB.Y`+C ~v6'hDf='` ҇o/rOοJ*GM7-67JˤIdizadۧaMr穲29SdԨQM%! ,Up䙷?Sf"bfS,EK`Mp#Vjm'?ܶ[Ͼ,JV|PoLF -[;@1@T,o+qŲ[%׿,dqRmJxh ~7D|vkXxXn=o-ѸvG̿fXc2f q%@ %pqk&K>Kg<=5mYW&^亗wv` 0!% qt]7I_d_.C4[ 6&P۲{dh*7_"c>[$֞`vk{-|4~tfC8oWY]Jn{.64 _]nv׿%ӧOYfT^A/nmAxj'N=T=hرr뭷ʐ!^pbDb3ūYn-#[JO u^]0d~iUWJ=)w{J#pكFҟr=^'xE~Zfuu֗aƍO?]oV&TbME2eRDE]>l9=no[yG˝w#g1Io,ٷE[.-)3\ߋ1@oa;}vΙ&}w2u_b5}/D}C'-]qH؄Xgfo`5d:a}i۟$ǪA K]z4mԢNW^9R;_7ɬt^`͞HljnǶ֬:?Jla.?q>OYuۘ3p @e޹h|5[eW$8D-xc/&𮫱< 0OͶa;CsCBrdÿrSuޜ|={{W^x >|?^J޽}>g6[f|F!8[ ?\^,[8  7tz'sH_&[0icn~K, nGC4r}#nv9df:-sOzo!V_miqǓ_ j/ڠl?C=/!-R~ch?\3lM)qGud*ș_=My|}Y%sY}ƭg>'^D6'1g&WAzl++Vx' Fٚ؆5~Pb3/wdRMo+uh~>!& TOzYuD 1ոfsWMZKi7W+!}`'s7(MXS~Cz{Tn]E6&`á?pm gq|;͉hƼy;wcL{}Ui[6d=Eex{I1u۝-(`-40u^j]8p/ڎ8ތ`_}Od6 XOGs#G[nEf?OeԨQ>7k)ӟ[V*Dz$>V?^Xμ،ܛjՀ{F59'U3[dvlq,8ƿ"'w3&k%MmTh|DEƋ\͠7]+i|RQ?Wʞhrco~ɍ8wX|{+wfv<F5V ~_ۗ㸕J`'Eo\S_4ۧ6eM^876] /xOĖgC3ͺ]!?ѩ sTVrűm'ӧO.W}vEE W$#'dyPlmY{^㜏⩳o ^Mr7(Z4˭B=J\oP~̣K?6h gbf>W^-*n>_99S6ƚ,wWQ-ge&:g, f)߉vdJ鯥b"`ۆjWܕW^)/dѢEZ̞y晭ggl餗di`h16ɳ\YAa?,fh qaS`C|ʇn]doΖ-6KHG>bݽ7 u^Cɏ~#1c';묳|a_<@y_*dM&<,9N3l23\l_Ԉ8N?$$FB{i,9U,z.<{3gN 7 Gn|;kf5|(9Qjvӿ_ ?F۰qfvWr]t&e]D?k!|vӆtmdm\8is3^q^r;s)ϗxZڜv-R` i{l^U.ݪ*>kWsEڏF5j6nnLq k; aM9ߤԐ$~b38gIC/ߞco.tF7=Mg;O*{ܓeƴZgu%l]]]' b vpq57x[R)7iuZ'g_?ScPҋΎ*~]Hң;Hm.B=ԋ־̟6_UfI?ųw]c rukwї*f5,1~iFa^?/-}=ځ^Nу~OgᆶmN~9wHl-֟W>܅2{R$ή? (rjԷ;N*jmB]#3n㯪OXwN0~`5_ۯf  ^wP+"Mk780w@>M培h| )5 VIe{l ҞVpTvڟ.ޛ=ƆV T^9}9_c7}0gb3]0<,N$Q pJyEilc YYT+W^K~VKzrZ iC9W.Yo9ӴiB >쳳Qo '\/v2;k.eVކfƒX]=7`dZd ׍<@o-0ap[`fwvѾp+NLWjOzn(^Aɇ=g#EM5BjKlLlt(I#8"߬A!eɓ}~HgÒh_eר.ɜEjW[M]8\N] ZUh<-2}w5N3l\N|,>DVۯk?{V5n χh&8PPB(%Xk7>PY>ZeoA~UxWh@>>^4Gn(}˪\ V.\;/-=ZQi E~RƆ6ʥW%_^VȚ3owh]mcgo%uB4BCn*_[jU18mxoa7vBc> 淿`&.r0g1Sقcǎg<`Lض.ߕG4dv2|=ˆgՌܲ>}l`9~ Jvz?&[ߵa唬J*cf_I׋MDjcr]X;[6{iCp7š {&ًJ^~e1ma7PmK*?R<W4Lp8ףJ^TU9-5kKM}i&דk\s4zE7cF&beڌ2{M77=n?t]UW?\$WIkCn!k/F$n e ?{M5i|8(E4zm;S~}?klڒBF$|D+V R &+5s^Yt_$+R{ ޕ*4Ï'\o[on81׽A̒;!K2U7n"_=""`Zlŋ{>6T뮓Z|muN8!6ȓO>kA6!0SU5]{'[k"3zJ>O1c0v!W?#4f|k{*:kzv UݍS=2W4U0ϱGq}ֶ,q/k@Fg~Goe6_xv:V9 BQ~Imp[g{s\fУѺĢ^>m |M. M~A}{s֌* eʬz5FZpYʎk ve${?[I~l2ɹOEkFXkIh{n,P˪~N@]`5,·vVTT>X$s^yOVyUW~?]W ~v[Z'Kf-՚7:S*3O`~W^z%ϤW^r뭷_Kr}#O>ģ<_]t{-INe$eY{X&/[#-Y|8<ݷog;+ƝÈQc?65מ-Jmln+F1KǪ?rL&92Ӣϯ!ӥ4X뤓N /N:f7MilcT49r`/e孯WXaɗ5mvMlH|hZ[ƺmDP~IrQM܂^ -dj˷k5NfOZ5i֋.d+:\V& _i>!&'n E8jX4)ʵ!Z,Ow6NϾcg{spomX*T/)sgW֕+_7 ląVn{ԣ31#f;nSsh=[Bj#iOF]%Xaͦ[Gs.%6.˽thn [|Lv`)_)obYڒȟRt&Uՙ{k AFLҊš5Q̠/iM[؊L0j14i5"E(U ECM֭~Z^Tu}Uyγ~9[nA_?"ЎZo{/RZN;r?=\ONB?vއKL}+a `m1HExq?LM2.7erTd\\"G|luL-\Ҳ6؈䏂6c# LyX+; OT>5 OxBy_N=.y}k~? ʧUV>wM2o,&[c"mfjF*3Օ残8+,*ɏ"뽧㇛dW7ܫgl}(f.Q}:d}2xmז_ n0 :7Rz2az]Z;S &21;TNs::IeΑpԣΫ2-oڮר| h|O=f叟۷plR7m̱j6?~_"]%+Q;KZ:58._Rn(AYlnrLZZB$dGMCNN[lt|i}b픡kxo-+)Ђ{V!q7yݙov}{ZE;S^2p@׽nhL^WϿb{cGEG=,8dUb'EOؖ9w^3N'W~dl[f}zX/k3;}{5_^&о5)W5xEy]-[5σ_\}ǿ|Q&<ʡ-UJ;jeCot/\K&$8C" (y\\6ЌI1nB%n&ܾu?DfAyc~_6p5+8A^m<\V2=2s)6o&2.0EN`\rBH՘ @4?BVwJ"Q+bBQ$ @F?z߱El7u7`E[re Moz7^"?pQ?V{ӟ^>Ϥ}v\.XO,&8s,\,z:7D.Ppoj}ȷD=Gl3-+< DL96U?'q8&+8:9N97WǴCC??]1˵^>40oůǯv׋`;nH[_Ռ]1`nX,Nq_vXz'ɯX=_ie&4{ʖ{պ` xQY}#ɽƝv\}Zg >#Z$`?4@vЇPG|+v;,VSXCDh_V#O%W8gW9M_Z"|ח]yx [+VV+Z/9,^8P5P*[mC*fv.~/FogB68qɡ3֛ *QMK1A_/ؐC&K=W 2A5r=4b^z^;!K%%qoq.,?~"gghFBߎJggկ~u xǬ1>iOf0l*ܾ/-e!cl.ʱ{wibK4qwIנ7AYGЃxZl*9ȩ5?56#]ecsAD"Nr׎D#y]p娣v=05=S[m;sbтrQ+"~t GaYV+8JF z4_3xrrS63us=5Oi}ԼP<; Hz:@\:,`Fn^O4۷(IsOQiw >K(ה<ԓg:0Ӭa)yP^v]m4udEQ&[o/޳@όZTgoaΦ11;+[5.?4CZO4Q&T3)% &!~kqd]-J~ȉ|ZTZGNxb&:JWWLxye␧,4g?ٮ Ѕ5yM)OyJ׶@}oxqܘB6<`]=∲ſ&b~=W:UVY> >փSlp9MBFT3o/3n k@qE _a[~LzJ[??/??kv=o/1?#1 'U#VUAޯ@C6jg {EbWD*S8 vbЂ׭ yz&+39P?{RcKX`5.;QDVu6A:1Ceq>-0SXp|/,z+jjN4&X@%ڷe# ~V5V8iZ5scܓMQRf3:ǥn& 7,x9)?)K/_mU=!x٭}c^Zvc |ӟ.ysw2L~,G}ױyrYgu">7*qe-zOrXVt+rvͷ"_O}ao: uȸgl'^x8d՚#xDiG^v]~Ņo?Hp,/,04O4~ _h +3Qv ˰5pdxyW fx&̯ba^U?uq11TNO}q͛& Ǝοⴣ'Wn'ZetMar}Y{`^Q J1@壚TõhJ$9ɫ#6Hml(,oGEҷ7m/,HUOL):c 3< 6)Ήl}{5e]יZjR V?T 1yV3\_0kw,d J˙iNӝwS,_ZrCF]C}ƭEŕW^ ʢWjb;W]x6mT;0=`<|9x4PwS ~ Te#O:J&MR,GݮC_Z{Ը(ǔzܞ^&K̈c8_2N;,ig~f̕W^YN>y|mzА?r^Q E>bЃGz`YWYY8ŘR1!XK+q @S{%Y!7+Q)߹[?eY6y>}z&vM|' Y6@C&-mdY7Z ({ns)GarݥhdeիW{[Ѐc)R>vMʋY,:`m(W;Ī#75*m)0)MeW;U0(X<5Ǜ✬s䏲l*_o@ B¢E峿L(xګ6T^ץH5maX0yaOY.D σ,TJ !A?8Iy"r(H:'Eh^c*KADžPۮǤ΀@c켕x  |[5@50M|v]5?js,xXHNein4sץ,]+|]0=p5Y9M.e-!BvQ&H) BR57 |/˟fv D#2~G~\~bŊ77|枈oyvxs*vIĻNǢPh2XlsNY_W.֩Yji816اteYT8ק|cD1_Ro`b(QWOʄ&ě_ \z饅//;,Y^s{j?O'QUc?SZԹvGY {(1L'O9#)8]^nD5<ϛ|tr{PQ?x>Dz.QR>OrZ#^h)p[$ĭYs6. WM.멀Q20NH"IrZFPUJe0e3E|6>~WP>x`o<㿖C(!jDJu0 QhLr1}_;B7,=M``Tj'x>(6sM]YIUuPM2,[HleVx߇X&'s,ܞj`o'7tEq/{چo4.wy¼.ۮg_^,]V=.,|`ll("|/]&X 񕰳>jEa4mtwח}X%`D.ʒӟQm۶??,; oWCSFN'o(zꗑqJGK'ie>om0- 5g8'KG>,i䏗-Zu@]mD7̓|۫^uLs렣yQ28Agk?SqID]89,?-SzcG&GĄ*iG7ozٲ} ePO^0< ̝hĊ۫wy-(ۿ/uÌշh颲x^K%J.R@9⼊CG -kɏhG25zuz^{vă?mWkSEv# DP837M:蠃ʅ^X~xdLLo/_ W4 V*~OGVײ#^%yTfBJV:muO?պO(Qgl5&{{;;w]"#rϞwoD?|c f@S5eE[G00*EDy KafYDZ.W#JT,WMh{7V4r?8H=q)&!j &1Ԫ?0@IDATlbR[۾ֲ Dul?%uXLq 3 eDD:GuA%v9UfQ 7t6OTVpenR7,B˒^X_]57<}o9@>fܾo{W;~0hek܄nx ǚUe3R/zsr2jȫ?xضHVTRe|._'=ٰpP!Ww3"~ܟ袋_¦^l Oegk妰'-vQ?קmB`{!L*G}e6(R)A")If##ƑgQ污yQCAj?ߴ-p~o 0$qEM?]O^1 S1шU!h)zwo/Q/4i/^1QXhi*`@$*ΓΪ+IAsS&G@5)7"Owm.;+q}A\ >[=<(7pKY(/z6.n//۷;K^򶷽Ph?b Ȳ`^㉡MF V5zpRFbjq{U\3 0"䏟woU YEMק v |2==]N;OOeҥҖQ,|iքD0f<%*e]|>wq]o|ú'y{^ ű[fWy7W- À'myя) W4]oX_58aH+88!KR$3~R^wm%, '5\jɀ>2?±ǖj|Vb#;? [y 89GG礷(a}&_Zzcp6P08u\`i0cˊw\̓:^kCfsКK769.3}JӿyPYL'2_+v8br0t]G!SA?>Q*9i61=ۧuESvJE \Q/{I^M4꣯-ߺ D%[Xx͸S\Y!;-I1 YN a(DdswL?66\t3@C<#@I .y#{N5m5/YW!?,3~1Y0%jqL4FTgkZ4!˷Q+?s &mLΕ=&24PqU rMS3eSK\0#%:G6Ϟk// B}{T葏|d93C=tʴL{;?ohBW,Y:e/2uST=|A9ĒIU,ٺA?*/씢ky6mlDb7lcѣ*+OQsWҟ`%_\ԧ̃OI#%s{'PvIk}<yʱS4 àIݵ!Z_H.Ѯ&oe u2t>~BD/|WCDWn2SWCHya+ \ V`f%+#̳S#JT$jr+|UK'XY]VjKSʗo> T'a+{{5c<68Dgw}'̎ d_'p l h?s?s~^x}WwV<64e?]vmd 3VEV׍U:pbx/Cә4D9/}0&OlA-2% ?䣳Νeח3 @@H"J[GVV{hnkWURtg?k~mUyg[7o:L@޵ZY&'_HU2EN&F=ɿ2R'8[.%%2o{sq=o;U3߱s\㚋!!O.}(۫Ɵ+m[j`[²{睡8;&K2+h2֭[WO$nܸѯLS$N:җ^s1Vf/4p_Vf6^Ã#U쳬BE?,-<]q~].y7 `inկ.`l|[ZVX_1NO;Jf.qL!46`YSvǹW~4 "#=JTӚN9wz LTw 6,$׃v{5yYwV-O|_vfӞx FD `9Q,S9˙39kbO-n?Ӄq+_)#7DžZov8"U#:{mpƩ/]+<RH[nχ|+e;׼ܜr1_UOz*͉\i/] ?.ԟ`"Juy_G)thJ6cia[$oa# &˧ރv{5xx5s`ÏWd.6(QS'1l 1AO<(Hy\UPV8 TbF&Z3Hk .1%ɿAA Qa/s?|9zB? a1jqH5&Ձ )^<]e:6M}T6gVe'}< M,-+~ni`4/.;_RmXDN֤Z.z4̘pĩ̬s Hv|C,T䧎`p]g&w*|I ,u<˖U vޏ1];\pO܏-}QO'ʶro5fJ9Ue&'b.$?sIŪq䪞eWe僻6]fʕ7oJĩ>Qoh ELDenjvgS5;Lxt!CI1hl5^g[S۰(i?ʒ,p}M)Սha/lPOL oiD\˞)k8iCr2M4=bTjEi1uW[T䏜mJ5N\",\\V vn) lz9Z|}WoɓNPHvYHb 3 SAiFs9v^?&wQ{w<"aJ+cInC#=N_}M1p6Z!#3OySM׾+Kh>Se.qljpjfKōO:fX8 & iעaS 6)cFK]2 7О mu.WޢFΫdra?Ds?«P5hi}.k?!?҉:KB҈M3#SV笛^NyǯJׂʠ.[a&$$#ՌY&~mW Ci̢M4V =6C Nh[0odrBXSu4aɹL}EeFa]A]bG1ӿ3}@I:O../jz>o,O|>>2&\&c#2=e3*7cA]~QX'DSx!7x9e< |M+UsI\|uҧ@RDذs w69εɱ|E kT8uRLƟK340bts|wÿǷ3Ѹֽ1oUv\ H^0 'I :&,P9Y]7㟨z名86"<B9΀N矪VChAȨY8VN4~J+( Y1`̹hT3yCSV^őWG+a.Ty3 ZEJoߪ܃z Ehua:mMF043 {-H.#xuZ)Ne(\ tѮ8y#.G&,Ww쀆+hiI4bt672'5 RdSyk RDx^j93{ѕFaZ䏥ױ1@NOX$ o՟lRmٲXa'ǵ]i2N+h;6$zV4/e ǘ7?d+#M*#]HD]9BtrcwuUnQWܠ;JH7| ARO8b"om xk#V*Q,ץs'?dΖ/Vo4HeE40R M4)XPpcN:2XztT4bׯ<5]3Xw.A~LrtuNl :uɗ6D;\'B:?G/?ҏfhN7\EXi6E1 +45i^6z,$ qWZwxLlXWxG׊jPIey<صEmP:Qghõ4#:h"zN.3 NJrLj2(|#I#|l%T^^/tѿ'g j!Bx)mE#M g[sC\hp׿iZHYh:r~…8m{%1 e\e[RCwU>>|C6P_}򹛧6@EK8540rCNc 0?iPI':ܞZbQ& Dk*D1Jy턔]2OnP8䏍Y7pNx,NM4FO'ix#5M7{7*IG JS1Lɷ{p B:yJ۪}!|M40>w&.u X$+X;=Á U$pT`dh I뇦DgjS~鰆7ظ ÂhAw̲+R|tzɺT,Q_XZЁútV4a;${扗o47\ l&- BkwpLFs.6N;^SflL7 p5y@&&?udXC,+yuBOuaH06hg<;\ʛ񍮰 ɓ\0gg8RPM$ۓgrd3E)JZ:ȍ05&;yLX ߢ򠀉Fji`5pmeZi΢e},n~V$̒=n ;{ryI5X]T0дW%ݘ皨F#x((tg@JğnP),7 VD~r5@ρy @֤ Օf;&T-W/| zi m3P0(Rl` Aݫ&C.plc5bph*WD7(ye\W#'@Ӳ)x<8[;䏛u{w0x Sƪv= 7clksx)0qfW2Wj{ 'FX7K{uL;NWS]^ 1??Z(t^ɀ=Q&x*\SpE]TXk7*eWUExVy3^h7<IW#H]=Wc>}SWm{s17Ң>|cc3m*6\qAiY]@`>lxZW4 L&; ʲ#$#(!-'dwi:oz?ͯL&k(m &ߚASrmzu0 RVyhi`4Ih4E!׼\>xq8fRht2]LGRy+eX) fI?ʚV( {ekEN?֊F@!XTgC.륑؎Mo W j ^}7Qm#aANV(oΡ]\@Y;GG.OU]G2&62Xxu6Rͣjcx:t$Ă^^]]&Ű%'1ȻߢM/ zuڬP|:^tGkv7ѼyQtVXdb|me䨦}+OMuUy&X0A*; +0ݭ2W;S:m>07'^n\6Vu!Mh4g&}:8f'h 56U;$XHwNiW_XdE Lyxjϫ K6pFR:ǿą$:- x\#(/C!x.1i6'S(tfJö3lMI Yi$i!3U6h{I)*7憫FcV$VTh$gi4(@n_n1!8gsz%q{&: 4mh!1 ؉gƾft4g3m0v R&OԊF.0C3lrg?ֿ;+;u*T'! ED/֭FFLsgqnNWʹi` /f0 b>S֌un险v]&_*B 7ܡϞXk| ׉gi`_njWgK9:Tc7%^؃%fOŎrɎ+3st \b~}U76\CDžM`464l='XqsK=W?bYɵIDʍ'& W*t7#{<%\JGY8ɗ. kE#}_OxLGO:ӛc9/r:I :M\G3ݘYu{RCǤxEܒ)%.L445}]تqꞿ eu{uCkn5P7J8dSFFCXn^N) ކ#\?k%Y;rq]@&śLL &GNz@937U[H֭Uolxqv5uc'l'{q{f>8%Y&.rV2)8dUboM'r}DckxNp&nIËRf0jwvˀyx"[O@=4j3 i4246gWy&m|/ 7lq47?S}0vɓNu qHR[ߤ1Qz`-QT_5bzoCK(45j]:00.}^ \jN4&v=mGe J|ߦʡ]1/aX98Q Ud>EUKLcnV5MQ@C5'/]=v 76jĮӘ7].* bF6}_Ϫ?߀ HU:qERGTW@IK+4VhFOmNs46wfG^rb"ܚQMbHu}Ѕ^;12cg\*6a 7Qz06 {;co4|p:y"O2ʙ1u楘|sԺco @:hR_K<ciN 87;(m0H6q,4gDnxL<4I5>7dio|T׵+7Rz>Oc8H6i+i V4 RR -B;R1e8a~8 h+P<9= TnD$rw4 2 r5/ܨ]W>?X_ +sÐ$^@62Wi0U_P:#oԮ J` x$@*jhVPu ׇUWΊFsrNlUy;PN ?_tfܓϭÈ0e(NI(ŹNEft_>g?^ߪB &}WmE0CNåLAA1bPLDE{kscYwOΜd骆`8tUR"ۏ[M>*Et,i\q``tt+ګӡ}SS}D>Հ_8`^Qo0K13@<$+8wer,rfxP0uRXy̥luNl?ʮ3<]? ګӡv= F`?T }d@,&Y(W;!=ǿՠl[Y{saGdI6UZ?JajBSW76 XL|F~Hh Ŵi>2ɏ=Jc7cej[iZ.ZoT%3zf KoQQ&?F]Wi#jB4p?ʮ8xP&\t󏉨6A9dg߸dl> $9:|" E1j¬ Pܽ3y'Pt/(xG`z*憫.9=ؗe5V.]v^5ٝY| ;36,jYMd!KIJ% GoUN /:hQ gg|*NMMut"I^̊E'jgRζB~x(GoH~{tY1M7Oӊ'ҁ\r ܵG;N7 ,+{z^90MW4h&T*DZ3G2(n͉9Y(Ź_q#ׂLpqӱf<#Vbp &:~H:C,sf8Ր(+CA9)BjL%Y>d܌&?_]1Ps\`i1ڊF0\0WR`UvI:?#!nEp=5,ӫAϱn9RLgZQ/(KY~kK_Nu&4ϮvK@#8ێM#O4AiG~uZI'k8٦5,J($u(@,Y%m816w,kңZjTW/}w ؑqzi{uZ&jd:m l.ɧΝU:f/:3$j sE<ɗPvv6BGw$E] 91`ּS8@m##>|Zb !G-#kb F 2ڑB&RߠWgq\HGb}c Wl_LSk;B4Jv+JwtjUR5 ɭle ;K}]x ٭W/05 8S++3ſ:|+ F-&_'SyV)R &AS>j[4S[CD.0Kk= fXLapcE4ݽ_*o3wD;ߪ恏:^)f!K;}!^p1Df0^h$ͤ:*Of0Ԛm߃圃; Ha0>zTK5zV;29Hc7jG< v::K ۫ӡ!N4b!*<|pf?hAH#h\3%JaH ^GWԮ^7wG9v՝;"SmYoMW4N](6hj[(W*Z8YNNb4EU, &/Q+I>đqTJ|)t\ϮOLDl|ye>&Ӑi4P{(ϟRW+vH9vFE 2{ڟKBM\ֺ Kf(u's5άtAgPDc&7q[+k7ЃO@  @WwV>!z\UtN |hH[ckQfQߘmt(h.&AWo4qSFce6l*:Gu]v9UΪѯxGuxp&-yu:0}\|_PڊFTHj]mITB=?Ƀ(R3#t z6mk;e3ZwnwH.WgL FYO$8xzѨ$8*erTQr#z lGM6J>\wXZyeM;ȉ_":'N75͜1 SDݪƁy9PQQ{UUaʤIMJhK\d8|%PV;X5?x} 8Gb_"TJcoUɂrѹmi,izy:a`` @tXګsGFcJ`5ӯFwrչ>ǿkq:.Is*ɏNd?MXZN@P}͟?!D#j kR6as,(>vnlSmS7=Φ` ax݄~Z(M }Q`H zk3ݐE4i6 b FA@_9Ǡv`l:̰e@*2555tSgGGPֹII]䏥p6P085y7]:= 7/ 7 >1uڋkKT.9kZG"@IDAT>tPgR%N@l/~9~: $ bp!v+<+ߧWm D[PDډuD8gi+nJQ,lsΨeXde T~ $'L?V_QNW]UEm3jAC;/7whǺb^:mɦi.IʿToN=%:]_z_ٔNh4ɗtI4^`F~ WΊYq֥xk9 |G~uÿ!W`ى2rJg%T2wu[*lI\|MJ$`\"?`MLv9 px7?Q?X:m fb +vx\;ӑyHwx&?xś7>D0ƳFh C()'q1o^6J~f)ye]yU o0Ze2U&XY]VjOWm`Gtx1Z [.:#n|a:hCSwW1+r*dDcf)K,Ǿ>^1m(aK:zrv8gZ%yK% ?h1 ;<><0vƕp`l<0WM?L顋ZNí3+J;qeQ'?*N;{N&ZX!eKA&+{|$ʨSehk&Ih4tu}s/^hX`xCv #V2@_Q΁juB9 B~,B) g0rkԡӰ|ce+˪e!Ue̮mj[6lڶ|}7[Ḃuu֮Ӡ% #fW8D{uZ:L4T{4߾K{g#'j.4(D%panu{QU֯r%M/͌mdE`w??\Q@mEcO;8'B]Fc &R(e'/c^YK;4Fhʓr usUvngEq8eɦs'oNWܨ@OzE)@ F+=ޯ|5;L|&!izckB1OG)'6,$#U%O5XRe;NE*YuL9ȓʉz|2:6˩No^Qxeg U C,Po4΂P\&jd߇|곈-y$.ӫX%:Dbkk-zJ\щZq=/8IeWE,\ok_:W~yUu2ٵ8V4CO-47ؤFbq q)zu:ήfy5ZU`lʖ<eÕL9iv:R&'eɏ?'E/,]}S_}Sڨzz:!r|6<Z;N~61̃WS,`3F?䘏1`0FzuHǒJ3?egHqYG(vjGutNө٧.;A۾Xc|۷[so];Rw{fܛ~ϫN?:Gǃ#7A>^F\ˉa4#x`:0ihIl>gDgtch?#r̪澃^zxzˮ_l vdv钯ü7~mM%v.h;Pvjz:TPc灆 }R6 W,dZYXoQs7\jHV,GrB/3_2yԯj mt ״z١~e獿\ʶhAz* 狸.8벾⚿i`d40bC>8WW5Ԇ+ѩ`벧!YP֝7hE3lH\X>Y`Q4<O<֝ltD~K5#ߔ%32D>2WrģZCC>m~XGjhD#uc/b-hCNsӇ|A&hdi C aj`vۘo:9R{dX2M4B퍝~ 95^a^/?܏ h`q x?埛~a*|?ݚhL /ʠQvhtq =?o+QDs;ΌWDx(Y!?ª>:jb9bi- RoU!c`=>ʶժ'NZ[Tur.n{ez5#Cƽw+Ӄ \AXh<^a5P't70ʩGi>Q ^u{[ؚ=ZCyj+9(#,T;.D@ڈss{?H籿+57]ۦ_7Y9m=%iyN@?W,y"Vh~wfEc9Zc kуPMc ).pwk2$cjTfЄd&BN^0Jr䚌dTo 'Kv]]>>Eg(4glt|owo>Jw#f0UdVJʊam+46^p5?*;&?SO8(ސ n\h\\S(.*d:y &ߘms;&߮{&ZI]n`O|1@jpNl= 5i`nV Nj cޘN߫II;"HY:LQMX@aIGdAmZx+uO/;sg04;7{kNi4t+S ALx: /y*EEa^!YǎrIw3śAQ[1ݘޙt VV4y3Y%;)ӳ9k7/u&v!>3]5h<KIxs?Ha!MD}zM0kt*+R\W q#*52rZE<ɵ/eq\9&/3GA_|k?+RUᑚlU>׀֊MF04D#~>tM=Q5|Q6 GȮrgI.ғkE俏|@_pi^#M\UD! >j~cѫӿtnví7kA GN: ys C(N&LeRืK[U_5tRsr<^3ILWZW~+_u1bUfou{uBGL:D< 55WƓ%1Zpyx~3LQM bc03@uSn'nۃlc4_ЗLg׹sRq0wn-n&5_AhƄL+Zy #F2Y =L9QNx # %-Զ)#tR[%g/V=b5K8Vi"uyʳRR:No`!?ߨszuܟˠ9dGwSo2Ji1W ж,iN2pLuZgcaX2(u0,] y#?ϙiSjzv9lryhC]O,KtZнwԕWEB$ڍBqw^>9o1A^)~K7M8jl>Ek&J,И\ҴGo$@3Aq,_v9_IZ~"\paW@zyH~ǿRiCq?+^Ab}u:!,/1~ѯNuT1jµk׊2k7:1SS3oUL*R{dZ M QEo%izDF6͹2 ҏozWkawuU(z﫴c]u(/ t ;^uVdꯛtK/E9&ڮ˚cZ/|c ǥB=0苉7~0u#:5fGGx׊%)G3 2( v]t@07ot-.w>4<|`?emi;{ΝF'Zȹ^]Q/íf'LfNJFO2ޖa7u9L4XHqp0ɲNaѩ$Z%ʫWu+2ѨIθV4aL4AOue0åߢx&? .K=>ͬua m+e\4b2 >mStFN"6&'QۢQL?ET _NXD/yFqP-Ra;@zB/Y+hCw+90O\uB_5;4r7U5%ji`|>yXzH,#4ժ/Yc ٰaa~ymN{Gc8M)=^u*aC 5O5lBKfT|ůn1^ i+]Dc4uo?nzi '~8/9K (-͎3clc_G2eMQ4FOifL%W#OYv I-{1^-Osa GhONklZ韏߽ei V,2y:i{lWDK/|A~_[æҀeae%et6y%4qQbNwT x6+C} s"'i"!j i[kn|sW)zyF<\qo7w@̰ dХ# [K*߽{w}oWtgѼl.fŊsm|T_: 48[Q,d|m,IXҬ:d=0.- f`ԑK?B_v\Hu-я7:?|Џ}wh8b(<%et44]  f.t(bU}]bFfP:Z9翾<(\=Ei)3ln@@YV^E9B6?8%~Vz+g4G>)&jxx?[@Uʆ;NO+6a/,"$Ht{ww!+04;٘ne0Z4ˇ-ȃx mg*jf ÙZ8u^[uZ`s@QG.o~9*6͎G4j1 m ?ƒlC>^~? C`t4g3([#[)&kuDR"~ E0l3~Qeؕ0/qݾYn0aB?3o{4}O4x_6/?ɭRML:SkRiN#EBg ^2\L,oln\b?7~z8%9?[=|F#/!^i G(KF“c;]iiW'Ol/zѧ>jc% -cIouzųtFc-o^DM~Mn;"c ̒&w5m śhz%ti*>eu}lΦبjh 56֒pƿ15 \*6Ɨe6NFq 93c>W#PhEH4 IQg4N)&sd+ -[i0@_aq86+}ooYhֹ:4nƓ N#?lŒ*m)ˆVUUyh|Ѹf@"[oIHqw`[64'3]oٵw?|=oD!H33_3c@BKLy  =`R)۱OS#jZ[ALꄙ3Ub pؕWqʜ3N8yan_W?;@?޼bpF'||kB?s)%$|R$ 0ј23Gޝwټ/n)W2Oz^|y?a22N%:1[|Y T!CK@:2unGVqEWMgTwFw2ɝD2"Ŀu%kCs(DL D&ۘhA<{[{08&Ct90 L\^-3(`o:?>si.1!erTGPvQQg~4^wJxaPu3™p௭6+r.alJOu[a\]+,Cd%_l۴kxc‘`_gXjx,X26z(u(Yw~06r!'VwTsY<kȘui muv8G?֬y1oNLQ)*awt봶N6kOIߩ0|ZLD+/c80G. }{ss NLGM,MʤrfCC`է/%TqrB"?>NikmKیCuk(ߣזk,@$*Urur6<Dt ׷?; q63ť1ujqV_}nYae[?m7|⢔np,s~$nvao8#/ vnB3ht~'9 m;KaiٵEr|GQ^-x'_"PǟE\H-{SjI+tʷiw[[&]DΦ頾sҜ#e0f/6Hf۲:˧=%q.'sLȿ+r%)WiE<]<.Uvvhd++^_[6ңeLQV|.4~h|g 6"a]sߟ#3LTB|X\[w<uTz%~'L-uXݨA ۬9u,"?:~K)Q^0R\12ns oKb`Zh/8]߮Aq4hזjަ{okc<\C'g$ȆR!0.e=q[``[oy87,U\=ͼnFip: ,A:CtLuE!¡~1S3Q xKANiGS^n=izT?K͉xNculg4f9qσL4N'AB[j N4ws`qa~D6{P# .9U:-;K C"̰ ?/|-TB^15Y1v5f>2n.茓ֵR"ߓ0~&zۛS{ͮ:=Gs<A J{x6 0x ?.y%'uVzhL;heAʄqDdɥ >g+"cR'/뢸Jzg@2†A&x̹'Vr^M8[GßAg4ky| 1]2w|t~;2t$'_72$a_>5YMe4 vuޔ#IUު!p k0^yU;K0'<Ә$> ~n;궊]t;[5wpY/Og*.޲YR8O$UIDq+yk_q8?%O??pd'B(-4ܓpdE%QJ!R$4Gk4`ƕw{NP"^gGN2xFPiOQ0XW/ǾYww4Fkۧ'b1i2߅vh/W~D [[٭S [ xaNmH.} mϻW[A  YW n./=v[صƟ 󤡑$Nc,ߔk4hlOM)O>- XA!"@ Tq_K>1ц}Ihdģ+_jR{y^EBn#Ŀh_DAV1\ӜtrH|nonv<^,G-MZ +J1oǸӏMOiw] DOHGMZ{VHA=#}fk@ |VpU$~"[GnM[x?3w[eK% #G. ^=?lnVۚvo>p<'"C$ӱvYGH剬+2ubLgu-ӝK ̢̈F02nzRa7n Ӗ_dR0Jhp(+[׍;2 {P*d*aSLg4‰^y[o7GgE٫(; "A{ߧ=?EUvn({~x|WζuʷݒlX7ɽ6kb6]#VpF#z?ƅ1%F1sq^ʺEj/Wx6Lh?^(OU=2>$۾]g42qVN{׍/o|!H&Y& qQw~=J{I`OZ28 E0ftnJ]a##?׿S8CU2'XSEY8c`D&ӆmҝsyjEHpv&Ymg '}D旝ެ C94oB"VK6^Y# ~)~!!}gz9:k*Tƣ}_OՓi}ާ[/QW%Kl2+խA#`gf=-կDQa'jz~M-^( ;cssS876%s6w-Pf/$.6oѭӥ@%n'l;hpXW$Tծ?^Ut0ODV՜՚ʰ_ "#Kv$EFB*01蠺yL8>xN(l爍%@ĭ 9[,]%\OK%W4J\Kuz3ޝ$eAw##>TQ52"[{cUB҄$~nkW`ซ rL4]R3!t$.B]͙xZD蠺ЀdFrԗ>^=јe˘60~\nc!ӌP0Xo7qƚIJ#xbwa|4NvYGíӜNV-DG5-n/E| vO,R{'v5oAIGPHm! XeدHTEl)~[eq:mAoEosO׭=߶ kARJfWjRwu(Qq5/4urW2шp +Gv{$\/ω++,46: %G̊ԉ:ѕb HMw&G% x͞[IdHXb(.AOj^6CKHs=g]lx9;6>[y.@;>ܦd\aVr_mu3[uM+ >I[4Hn2vٽgKpʘ,a-jcZtsM_5WGT^1 jm6QyӷACY>zpx6T~= LL@IDATxE{4u]h?_٩s`Mmkwoy!q4f `$/FKC )jc2=XZ] =%/x9U?SM=H6|IFA*RacBO;?O=Iazj+\&e*ha 08?,9D_iUjOOo/DȨEt%2ڦaF˯?Њ?^~4W1U..gF8_|짍*:WH?6OWA}!a{$EvEc'm@,ѶXhhiZ_uG;%=sފFZ+#ȭdۖ {)mi历hsG=i6_y7F!?r1`bRq"rfӿ*:WH?gζ*ʵ+袶ʵ~ [^[MX4vaxذQJp5q:aXcxWz_!^|̗$Ihh)?1F GsyNgg)X+rX} >S*RGB]-Fa*Ttܯv93ަ.WBLsD@$/|:{r$̵R&v7txdFO N:prȶ9]a [;IlʷkEc)=@ cy+PqpnZ$?TM`4H7ƾgH6;qV4Q5(BJ//uRRɄ+?ThˇАt Z(ҠPԣOn:y'՜qJhF$dշ_{XЏGlcXFP(rMAT?Q 6L1D^хSx Ѫ j/NTS:Eh<^S>VZ|lsf/g4Ƌ,l*02g"J*$9UfQx$/3 c ~gL#{58i'!#.6zhC5k0 G}uG3 I]JUXSbFY8Nx|i j FN;y(s2ق`Il"~EV8E7*=` ܡI٣:m"r'yq&Nƈ>6dG2c^;^otuGIn.%BGFb[d RxaQaǛ`,8:zN/l\e73¶/4&=pu 1(Ğ I7e03u+2Ծp4[1rJg$vko~3w>90!vh0Mwjҕvi1ǃ5׏Cun>Wv u Hi%HRCJ҃ۙfp'C(䊍*AkӏyzMggfAGVbvNT(2o~wY$&eodY~d YL?р9m۶%/yIsR/z~s|+_iV^ݦOCk.x"k2jg=ֹl[7O:mghHVitϢjπmZSy5(D٦Tӛv?7pQAQƿT[?Sg4lȞiCl| &SYEE`X};2 t¿cۣ0GM$ܾ580җԜV]8D aڪ3p9HQ9`WH~?Fŭ&\+֭jrROֶ&gQ)x_vMʗ$_AOxEOZL;r,A(~ossKץͦ*r6N6{@J"? eqhzI)o?87R\,RJ)G3i;vnc br1jBdfwX(#qgA.hÑ|'tv9+?2N[ni{XcL t.ܡXE2L| jCy0R^XT[ 4nϴ }}\1Xcϒ8 URVx tX_&~ Ny~O}~ÖrPgڻW_0@giɉ3J̴b^+_CrƟɟl/H,Թ (򗽼?SN9@ln//=?#eDˏё<_VgW""Ory~/p\'MRiy(*JR'q*9$~B((TQA7Gɓ¿䘗F0BTDvW?b0#}(pe0◇vC#>3>ۇ'Dˆ`b=h}hlXyߧP(#֭ <:yx(XkwxE4sd3g#[e=9Yj`~rwS/`@_$;L8L4FmvıS1kZ#ecai/ |olVa?Iڧ?88745lyk v!rcN]W}h$s6eҊƾ]nV Y4m2Botihc/+a4hɝnlA`bt> #x!v_n]h,=:M6.p= 6P 6Fl60sk9.9O+u:;~T}8}{ߓQpPK%7_Vga>iTt2fm]B:1Rflfh-h/e0˴uMKm}V4>SJCtOuz@R+$),. ͞ "fD,g47$:x:߶ 7lh 2m(ߟ\ 鵤&bg[**@]g_/ s?&fݓ^2ohU6}7@G6oqQ+33hY<_?kgOFA;]ZȢ0! 58GS϶|V`ݪ03Xgë`46$|JnHm#SSӊn~i\~//t'܈ "Oȇ|'#sxcxBpE͊Fo5"^9ER wjّı.z"*ХLCL&x)G28)HVI_r:ܶx$D\јF*P?7XXg>Kb:m8(`cEcTc;5ÅZ sHoذ؏6-f`/e0u;1Z@[qaqeUXn}u8ߋqcn`% HB!d?L"_ 27~pFH69@+WCםByU(b%GFA Li[QzB % ax)?7eac=͟}J'79U+m_[>\{5O O4QCp~#Q4\37Dc{ޗ0HZ %y@[7^.;Q |LkVR- A]PL3.\VIzv $"F ǏIj&V4x? MhG?]Htds;-N'I$CqE8ox lLUث&9$M0r\L0^@Ұ~' @IXlƿaQZrC5׫{U7yQ$Vmwm9yB,s_ípbp/@8K.iGsdz:?Ғ4Agd2M4:o;M:ď?4IT:}"pxރa/;&ܔ\`N?y+}v&7/|uQ5f{g׀/{lӦ;tFy,Y5bij˞LzEEuѡ)F0l5K-%-9*T -`<( GeN(h h9ii۬hd<_t,˖.k~.To7lh2rѥ@zHܤ[iR W >3l1?H'tFcق(W9N',D• b]|҂Oݮ̈`ֹ6 h|wI.B>mO;Qb0K{w7hlEpUNٲ ϥ^[lp^B\H ψD\g4e0'z̘ub=6 E[\1CHg0r ס?V4 GQЋ>.qXl33[sρg6cxY?4LF&ר+Ve\!Ž:%K0pRE/~Φ|+Kh+aM4~6M4fjurRM}ja7ݮ⿘mE>RL2h[ "=gzݎ !&8H6}it@z[-De)ޱjO4眺$ښ׮fM& = ҿY ߣ[t) sK6}74Ni5ؘ'oIwx+ZQܧNP!q_J[ˡ"j]b881^?_|Rrِ?~.Y`p.[ySHfB9lh ? ̰1Y5x`t iDWYqNzgp=4ۤ<,MVA`olv+r0yuk$@CMܡ3wm <-C\B= j@L[^f70nՕ}b_ c,aWæZ RC?9|Ii˼"M?#sCvk-0~&/{\?ڶg4~+6pLO#V,k~bIoե({.VN_W'@'ztFc+jۏ.l׬=Hu/TJ<[H)f%gx@F/}~mi ]`/{h^&4M79cNk~%?Gs]| ?\ښB`+%íӣ3KZ p~FI:/?ʜ6hea Bz(p3HB#_LJwyA+vtү&ح{BAt?I3X}nhA_>k ԏCXX-JFhȇD?Z+]4RX.ae G'b)_'OQM^]$:|_w4cEͺEyJ韏߭YLrKʍ4䯛48a4\pZu~5q4T;cc[huZG1CUB1UDlRDqݝ͵7o]Two`E4d %|*3$d?0`QMr=:s;]/B<_7Y<ߥ%m|{`'XPģax/6Sn=oN}Ë{%ԌUnfi`ǹSd⦭luEu2. u]=3<>[5RVɓb)4LPenO&4Gbj.'8Nx,T+W u-4:q.uI+^]la{ 3Nh )gאɒ\=:wᄏ9'P۽1A[;Jaz3R/q.XF,+m6)qh>g4N3Fyl` L ݡV4z[^Fv237~!DJqWOP1Nègo۶mAV0PmfLR ktObR)"ՌgMa=ZNSi*% R |Gh j`|l6lAKO\j>b|$7JiK<ӬhY4G "k)h`$<>© %*`+j0Ypo2 a(%b&Ks"@)UeAs qk~t{_fS~j/9b0/]:t4oe0Er ,JڒpLM(vj۬ZDcDSA@B¦k9 E͵:p/Ϩԅ~RʮmbJ0ѨߵTڮ~.R_t~KU} +/c*9p߅ ۈ>"Z/ہq1D#ebTLĩC2nX\3~) ewW[סCrh2p|$`qZ韏e0ȏMgI sptqf1UiWPbuU#.1uX`ʦ4bDa0Qu(lK, #0MFM1\ז$33B =P%?޼ǹ翾h7 k!șLƏуGb44T: 1V|`CmSH$)(]TE} tѤe:p h5[.з[m;OyLlԧ*1p9mݙߟݚhT#=pH)DJ•o/nqF?_ glSᕫ9Q:T!U5^(QoݸX} x$ɞjWvFKל`c+3{$Z!p w0b| }% ́%)h0AK?iՉ,_9aG0U `Pgx+L} O\et[1 (QI_Nˆ%n,E?t-uGUY혷kU.6w h.!:-h [}rh$$kuN:~޴zDLvUR.0;WJ@'l/p6Uo{۟M|w*)GDYȏ?'5Bx M#ֽSR'Jê8g0ldӜ{.dozW +:JXN^WW_[Wc N"<]We\F9ƹ1O]$Xx:1ču Di-.*]R(yj>M(@4hbb5Y6ԩ0ƿ~Zcۣ?ڂ+Vbk%E- ƿ|4<VzXo7xW4}~7 >hV4W9-ef$kz~fUMWT`UeqmxZx7I;Mgp)4ꁫ׳o۷>2x PɬNtq^Gv3 }a2+JVU!8Q2KQ~^ǏQ Le~.퍿i$xd~9.t~}G{wV4̈a&,)֖9&[ Y W%3[,hLq;#9V+Y:`elMekQ^'YNDH vJrj#JDߨia犊ht495G4͞7S OkIBt'yth\=_ͫf;H Xpc,EP*= Y.&HU<ʓPG#eRi2Mdy[A 2"փw5ǚv2O3ڎNӐ($hPe +͗1e0H}a@{m_a^Z+֔,X9C^kʩ5~j8+Eށt)Nj/;Fe0ICROO}JwV4~WTh kE#zuGBzW_[K:8+ /ňl&*&q?θ`\.`S[cmWCQF7 <GL4jEc1uX+0qdҏaߥ`b2IBF, K6D^ ʼn6{gT<ЋK#l;: FUPZD?W:e}"1UQYjUU Vr^4׌Й7p xK}Z" z?|;_;[C`3XJ%y(hO''??Uǻ]5h\ӥ ȭLG\dT[g??5{Xrѿr7UOWUKNSc 9nG&=^ujɀ=j8ljvl/?d\*P}#&ů-'MvtZMo@<&Xe`+8n m wvb<@N4#"Sā81&ånˠ5e|b #akCƧW gȇ'6QjLW#Ge}Ge0jiMM+ m"Vަ)a4Z8i:6 Ү\3O^%O)=¢2c__? /;T^ų)]_@w2o5 nN2o~5u5'3_vsb?NC_ᇼqɮhd4.;-"zF=I _w舳J;L.fT].L Wm{>sQC,.^I?Bg5ꬋtKcu4'ivϤ/x4wpk[lyקּ4кP`Q+r菜2Ntq+a%QqK4N;RO4 LêzD𻴼6O_ͦ_9IˎnEG]_n? 2f؇~D&:282:xѵ#,"]tI 6c%_~r1VIIbGnèX Vti:0 .vQUɪs| gPUoՊqo'=7D4?[N;dJ9+^KNO+6 ٖ1 .M 4 )F_8:6Öb]@zfvO[ ҺſLh:Mri-:I9¿bْ߶Yy2{moޫU{8[dY.o^3Ew5 a ~?NGCLAp6S3l4`lDe`讔`>]rR!4fo csO]lxڹ꣟ y,5^t+}מ]_f[ysпVmG…as+IsEDc˖!0U8`l z|+Q&GQEk'UY1T!םg7Ӭvԧ$X( [T]hŴז% "W/ J8lF7`0Z9 ܠ A~!^v6$Vk#-㢔:GI~VBWڀ,NNdXjx$͖LW3%Qjãn(5u봜(Q8T.l'yA p%\&- TJy*Zl9?Ɛx+#)e0)?mxWe%ed@5R`gYVw_$P*F6˕8G@H[k &Rf8cNh#>4.b\ @3ňM%8iS鐤>ڞkd_bݺUZhGǒƿ˔lmRix #Xʢ,i8 8?3wnN”orˊL`xJ4Tq&m;Z֎*e'HMrCbV#UuX]\%MϿ c" w|_2°2[r#qu[vm!\q4CD0")qrs"˄B07qVEf+:E*KS:=_x g)%{?i1p`8JR2#+{4tXg*Ȁ.Jb`E aK(nfW4(nDl$XífBԭ64y{+I3x[^CZsMurޭ+xE=Ԃw}E]Dc|:{s%.1S4r`B.C%&Xi[U:+z_ le5Oe#t3a6O7$[J ~LJ"̿mъFD%ڱQ4|o5өxOa+ v(Yc!2$i-@E(_Đgnh?sL -|䅰V4[qh Һ R+?Iѭӧvg46V] ;/VlIS ?KQ2<_\?䔿/6)〷NKm1I$fXiehD'p`\6p.M׶+OćW %).V4M!bE#iDdeB|F# sq2?aGd{Sp)^G( uAʌ9.ܩw?2P !HHNs$'_7Ư :MU#4+ϲar1czy$*`ҩ Ń()6:ݞW<$a SV4ZxR,J;Z[#bXW3( alx&Ҧā~ma0 /[4mV>o+M_ 9{Xah qmnv:_~n{!+ t ?OLӭH2K'ydV<.[[<KQ"IӔ k鲵( ;뮇o--m3(^6Zt 4QP ~Y<٪;s.GpF#1/IaGBe x[JܑlU '{@(}:zۧ4P0YI:.= >_߹.N%O%]t-5Sǁ{/ҊFQctk܈M{Z$@aKtBQra㻨E .Gηŀ?xj~hא=HFRB$cq5l/9~tGw.~)[s)mjMJXԂP@1%jT)@/Jmsa*B<(`$/FKr 1jc2B^絺 Jhg>o5=JCOӏS|I/0AAroڦτJ-#X|z: Sǁy?l&je='(Ԯh p|Xh^GW4nYjخտJGma{]g&YH0h )@Q*`-%r4|N+ѱ`{VWY>(dt _5q:ǡ1 +:gLCD⁰q2L4" qh+mcNm-cfcp챴p<ϥ\f&..pN9>/FMNGNX4h~kwKd_̵Mηtw .R>BQ)ZZ+ f. /շ t?mZ m^駽GӃ}zJݜswę Dͺu'2lHgЋZRM֦4QʂE;X@5 _7Hx]4U&H%i,)!#B/ݷP {aZ7]y1+̶BM}u݂2-6yo $}i}u:tJ]QE4җ9(2 "`B2R.8unUlSxyeDlW:8OqQ㬵FuD]u'tup~>{G;C i~Gc1( (`pދJU$w8W|y߅!Jg0!:3U t !h4bB:FƝ4]fcKtw3^i%Ÿ́q,2A7{$(#*'پ6pÅutC,kk _(0{W=n /;d>cb~?W"R*RSȵ_k#Z >Sp6`ZSԁ5ϯNSC Ѩjگ0e_i`D*] Upĺ-Nn7jU[mRme[4*iJ5OO9ӣ6wS )}pΑ'W-b`m'OKV80aQ-R$02]ש<1=TdC3hV ]U%6? <; Nc2FڗivCy_(Rbw~ea?FG8!EJUU#u_}W!8@cYN#!c.>N$08܌J(\Ξv-3s3)R﮴$dި;Ց)} Ƅ]u =; v"B&`";#@] i%7ΎNգ895'b}Jg) ȉlGʋڒy<*/}}(V+kxD@At;eS]mGyGe #P EdT"<<+Q2h[*_wRxc׭x5Aa+f(K>L f4Ѧ@7EG-؏sP@:\"TSdIΩ07J2Ho}*Rm>Nw%]&XBH{ 6\ ͠C>O+ChNí[!UF4 mׁ2Lt-X!eV81-h!UwXQ4И3mE<w4OVWwBcGa~myFF_gQͳ$L1Ϳ*3pei6ʵD_Og}O!DrM`ƶ(l(sUz[B?d=1Vd0# l <qr紫u P2d0 915`Rk l*64_-+P#"j010lEê/oNҢf0$d5c7- fC,7̳l:gJj7?LGT/s53zY4+jnBྋܛOeXMV>yzGiC:9ylCcxgvKGvTV+Vwm2GW.Ẃư\hl)B .8Qɿ[ԦeqCuީ5I'Ue ~v*?oFc%ǣ!?*Я;HaTw-2 m7QEֽo#GZ/T Z6HB?5(w qy,7mJh߻lWhȩ[R-j^ uj<\2ۧZkw6 "4@sFc\=ШGU['Ӧ : 4Jm?GK߬>Qf91zyݤr\kא?u>X5 }BsDίNNC༗"lnƣUc[s87QPlmFPT 9nn=Qʰ{p6:s1t|)VXm2aX4Ј#_F  oF)ٹxd4 X Rޥ+@2I, 2rdSG?ߠN\Ui~4 F r[#x > ߠ ]B_b(C@W5mu"00X =mdۃtzt7飳\ XUVo81!u%h֑2~ś3]TӤ،DGyw0CeU57gX|tM0xWR[;c;(SiwͳbZn8}m56WH'xygF#?K"XUCL׾~ F3eL>Qɶ1}%lhDĹQh;UxK/Nbeu|T9c4?v&#eÉ kyt:&b>h:H~ 2 &iX\pKYF&XV x_M %w}y9%5)ZfhWwzFϰN2sC-rF#@dD8Wǣ6u#?P`m r-Ae7SmYؗ,f=#&UE=uG$~C&&=- h>iNTAD 4’qof7xₓiST(d?ǹm¦$rNR\nfx/0xtZj<~%WF9ZK%Ư}  Rf8~%LlQi5QW&cf "v,|o`(:e5VˏCAD3M::ڈo1 b,>Fm¥1u - j:ƕhQۋUmōrvJ[J J=V91L&>Cfp¿ʿV7{99EtdmꐄItY%!oI,ݫ-V h}=m[B_r9x@#eGʹ6 tɈf4|jrm5U'A+i|" "NRatk3]wPgu;چ\l|rmږD``t뎀7]baxGlCW-mtɮ4EjI."-ߣ}SE?\G׿pkUl$?S(WN;O!ƩS%24zo;*ډ.D*V ߜ+9kV+tBJ,5:c!W +o:Z<`ۈ|-ۀBkF֫ EM61َX yI-^'Wߢw4VV+Lsԏ<4evǫkC=:qc>,JFN#4bÙ?Xha-%_H+grg!6N2 _>ґJUmL5WitAD`/VJaJHv  O}NYXM)UI5wB岭R%Gj|z 4jlA0OhlzW@02 u_ztT2bvC˝,#,Of}̌X"uNlz$ۏYEÄ5H8~A\h췩2<fxY~LZq01}#CeUn4k?lX.lk U&=A}G3l{5'S\z?cO>R3^Q~#- rI^H= f|%!<6]qu>d5f3@ F(VH)Xe#%l 8;B!Msת)v$S40pu;ұXErWZD`~P.jQ3y-x{i3 UgT-&,5Y(\ *!]e>~sC?3fGXq[!8M#[e矬R+WZsÐ$eQ x' #ݶV@leÂߺ!ԩ`T[)m`~ zG#j{˺*.Ѿ;O3Ub͟ 0jnĻ 0gk ƥTWdČqc@":iiq9ht Ec>4d<6}\(lrKs )ehۖ=1x'5-jµZo_6ųI_`Ң:<٧+.:D`Xq 4+G;>"\`q*p't\_ђh&=HҴ}Ug;;ݳO`e@%u#Yh`r1p\{`M`]ж?4Z@$naW+ۃ#!< W+'1_ך~0Ph ϿM]Z7;o؜qJ>3WwSY8Nhl7Q1:mLd=_4\1"1^ Mn nD(C#%-YddH6Au k(qf4GR fTˈ:3uTN]-mQwf&c8R=jMu~WZodxǚ:(lj#{<>÷{c{0"VԮ[PԝNP}kxXِ4*4u:"糟پ.gu_5=ɊjSQ>r )N=_h;P_EX*jOx&\\-mI&۔Epu3׍mU@ >g!:@o#(gh;c0<:siag F 7J;< MaȒZ"fFQ#lG_w4N|||8Ѽщo206]2)G{`@'_ >X`Zk+[Q7y_eɓ, j^Wj|%ixZOV P_?ssi:j|KZ.nmg,͡> 4;~LLq?۹_i"r8ތ$1z!ym#v%@(uZGAJf!dhD9:\|(>ު J(><6W[3 6Gb} ƶlDrj(Gfkug ]7f=lld5c^ԌH hגλG}dV"0 ܤW$\1Bg=։sR$啹_W|^^Si ģA빙_+Ug%,XPV8_Ohrh55-ʖ-De%M?Ѩ89ל(*v@ͿA/eMuu"%g58633;i8*Fڢj>}h|λ~lަI-aL1h72,G;h(PVKtp /qݴwP6v{rlx{u_B thQ'B1t:(6]3-'JヂC[#t3Mى*Ryj^5kNm8\#$U k+:l{EdDlKviA\\:Zԏ-)G<%?,`hr1p畹LwMMv?$@9Q6l*Ejl˔TnBlH̨cf lMݠ.3ui:D#KzC{^ѲufùM;qIwtwD<r1']c Tp3ٱ8oYUT+KMPJYp|oا}%e䖺eb1 ;8(]+܁|fy^s73}G/b\mmU$ áŠK{4VZFǗ]FA`ó_消&0:a9T.Ѓ2+fW*UYHP<⚔%ᵴsIpl _Oݠ7Ե(fp>~tEe&sټ}hBԡsx%_ù',6)9żWoBXlUApr-B:]U4֡65]EFPE哗G4A}hײaFvJU=Gi~By2$+#ӟ Iq!cvMs6@:tm|'&=xMUmRz^ikMV.^Q e"0`lsKٵ^wMej" 4r"¹1h0d[7Y(Z`>FmIW+ N2MU<틝h\e ^.\]?֙\$2~x~9R8W|t:FxDCJlReJo9Vz-boo_}<_ 2}MՍҠ7_nU+mD`+m4Yk*ġyxyޑl<kBW!fLJZ­$<qv^J2 :guߠ?5Wݹ]5G,,[փZKAO+뎪*@.zzD6&lg;pO8:ٵCsp$-Kj˼niGپ4ћ5>tА7~x"00l ܮx Y&טpv> 4߽|}2WZU{1Yˣ֜V/PĵHeؖ4k^-;Uo&ȜҪ+m/25Eay&RR\H6yחvqes'"4O[Z@*Mv>e^wmXc $%d^˱_W6iάiڃYSwNÅSolq[Q=\> 4?F}_զ1P`g˩O-K. 2A?v#{(Q^g4Dka0$.Ց ʷĐgC. O(XGQĚ;ydgɹH m릛uXv?* Iw`L ^ G?'t"/x,Ŋ iD#۷'ԫSr,k vo%2} 33z_/SDc =풥.c(˾OC(!L+q>dgǍcswD`_/>AEl^IAjA]Dg4g,[h2sw٭iIGY%ڧ|7gC̮Y 4Nv'e:/Q.AC`K~L^}8TމbtˊnoN=.?~mrix52(e c}_k3&ٲjGQ ;ҳ}Ia( 2o~q}Tq8r￶*MB3_OȣK&, o _{쮻<ǿ~51[QgGőDz_`LuaYrBOWS_\@oZWFW6/ ,QЪG&(3_%:R-ͅڂƨUݯl?giݰ/4uO*^ NB%o tPmFWa"+'Y.:xmUS&}neWrIWKh[9|F6ȴj)n-Q xRyُiاw}{m[g 'nբʐkH:Xt6HLD‹ 5Q. 6S޻*ݫlڦ;ˆ:B[uOAcYKr ;o{{y_;q$$IUܬaLc۱+Sɴҭ"gmSot5zZra4UfvhНE|REtYx \&wlQcҴTs`A+ȉLN 7sLmZڬVCp4$gFej?}lXEߡƠ.K Bos [XA;6g?W.(<̥uxW9AF3nZ"yu8T ekXm-:,eITyP^~G> 4,8|):iHY}xQ9eI|FAB`v-e˿ ,T\8DN7b`b;Pe֥+G Ku& Gڱ5p7r,}_e6\'m?&Ʃ&ƪшCSdGqivKgsCYQ.<>Fd8r-MȻR7/<gg_DGI:ǛWV['!8vK? mHGrŁ4Wڹ',x;2*2UflB>jzhMПv];0AFׇ7}DhD0z)}ӎ^޴AiqjvCɍWeebaZi0˜GpԺr][Cue))y4.˙5< Qq2nBػ+lr`-(@(9N[uJy3y @D`p+3H0l H6 (E̝D8.*H>>, H{)S=&Sv ktwF92Qe,2r (MMa˘W*' "](7tk]ʷk]ٮiEv2:*uQd}C1鲁3i UPi?㴲3r (ɿ/0?xՇ q&,_XNx(e)<_MUXԺЮep=l m:\J~پ@Wp{{7??ӑZp/=m>>4ƿ@CLsQ);S!;fs:LJZ,\F`xfcJަ4ôӓUmeL/:̒tMt*T}}OE`Zv}@{( .Uz͂(SSq'AՔ`pv,bBD_6G4mZd͟VM_w^ ٷH!ną'?ѡ#~+|s@*rʑK.eQxGWji6:;r9d\Qd-md\VZc~9ߧpȭ]E̴s݋_Y(RD``3e߸v e'KMI``|u<ܞ T抽URg U/p<Oo.[f?,kfח5Oh N]]dx>+eYgsLytޔ1G@ =ƮwTQ0u$ylvCjژe&L/ ?we段>\3ZSK7LOf\E:C>-tE.Ft+{o#Z@Aǝ"T%RFݫIj%gYپa!f3|ͺɞ<+®Ї ~v~s=*?#evfҜ"{; 3Y0C[6y_XjZލ=NSn4*h 8=yu.'"V%eSk2$T]#Im%D턗*?Z8 /wm*9Sfw_foZl kBw#C>收;;\?Io?ć"#Kc{dт|"0^x?z2(L0m7`oGĝvdރ4ĠQ"ӞI>rX6_jY𵍞?U=M*'/`y_{b:):;vmyKNt{բU#&wJF+ie|6-Ɍxl)6}Ef;d}upc˦]2(i/gE -L O[O~R2$/L"zwHmÿyEz$o^n%O@#Yޭ)Ʀ#ejBd5tga4UfnF}]zָ2qS^dHm{cWCͣX "4/+VO ž 7br<>w7X R=y>R;Wlx AKٴiκonV^|QY[ #;ﺮ5_6L"IK'|ٷF::娳N\ `X }(g`Llrmeö]}:??kY4& +}$s/_K}yUf;qU\bQjJ&:CiRUZvctr!G TJžmhK>`~r疯y|sxR4gkƧ<p̐ll/wʼn&QBƱŚ%#{"NJm;d7%ӂ:m,/vػ13Ì$m(%Q1]lfL@cov=؊u"0L=x^bcxxY60dwl]Zb ܛ!k +-^O vU;ܩh24?YTMݸWdcLٍc;]hʩ gBJH b<@B }>M+':,X#(Rߵ(<j,4P d0&BSwSS dv]&Znt |3JEN]ury3d]E"0,lϖ-_Es+o}ql`DCZPok YuBz-2>9[J8>S{EacZd L΅(z񟝚+êBK?OselieB!6>}3_nю\1eP|:6ZN>,[ZS>#77W *P{ZjfLTZ-1MFwu^e8۲z[ ]wӿHF4kӂ*p!pɛ?]GU )2O)z1r7cFƫ;ET6FG-G|ݩlߴc|e8ϜfkЕkKcoУӯq PFe10\ FO^yRY@wן?:PL"/,qJ "v8ZqǨkHtlmS(3N:*'9NuW_]+ig8Ž0( (|#C`3mjnsBIkݽ"l0i=zWz*D`_˖WuL|XwJ9zIee})?׸ӂ֍S;ri#fTV}{ŮxgM;LWgl)ٰ>:oʡwL<.D`X wЃo׸#7 Xh4d6ڇ_ZtZe6t@hm5yRh8^Ǩ-<@#EN-Dae \x(OEE֭VG[gԇ"m,y31ogDo@2$C_T7~Qmrq TVdD=Xd48V<" ɻniumv;?3i;TWY>ͽrKͿe/t\̡z#.>3r1elK*OM*7m['u!2U* -ˍǴP!W+T@/=( 7CDmPo].1d l,wT}ޏ?ݡ'i_tM>ŬѪ(u$xEW-ZY=X4Fݩy+ҭqZeUm]9 /9FLS`x53Z5^ ʪVHaΔonlر1psg&'*vMO{C9a#!:f6IjEV1+2h"EW" хeq5K]94cUћJ4h~qrDMJ%>HNm)1Ug߲ǿYflWT#~YׁF-7,|AuS|q *:&'ˎ,kcc:8/TXϾJ#Eek{^ (*粚^^پ`RPŸwV߾vLDcX?|3/m7t:cT0rlzrqʉkfp(1[N]K<gWjk=ڈ8å,<9eJ:J_|ɇmO1ي9?+SSe]Ee#t$5e=SıtČxW5R=\ 8׉2w=ENOXo6rC88 5}Zg?3D`H}퓷->;M}ӱ >J3\X7!dĿ4D⵶C6uCQjUǠdu5߶(wxݛv +5zooO>]ӓW>/8r+ZI8qRa\y  Ke`ݢ *xWqTVߝ\hDr0< x,-?rvLo/wl)vn, ΍Or;9lY*'?y˂2 sSe˿lzٌR0( 0kLȌ-+c Y `UM#[mOdMDGޝ^QQʚIR^*!C-f&ukp35>$sN5ۜg|]zRY]uu(s.0ćanv us#@vt Si+4jU9by[覾-$vSF E1hzeQƿ>wtgsruU;J6-( B?3Sm+6 X'^ F)㧝\x E`J3.O9`:'i]Rɑ -=;Tzw#M#x2뒘F}_Oh -fO.Wuoٯl05<M-;l*N=UN9;I>aӿ3]^KO63kf98;=VO kspcxEzcb/(czdot\vtl ;>)U].OPpuie짶XQ6v\wԸVL~#(aax8ǂIB 8^r4295em૬ϕ*zJF_"U\T:#Z fzcd\G{"ؤڀ?R|X6B+d4KZL ?1M+Q8|$8U+mgtJ,W0ؙQAr#=hotlIѥ'ZD`ڝl2cQb {MڴڶW۳\{AB) %^XFNUOl[kWcUyb*`N|ǍL>nוV2`1[mKїiB*Νn.3V*tk"yqH9Igk/7dIY7*n %en:!i-u`C8a*b5?:OG/+K4H> =U$.d|nUGN *rk\T/Mk^?mm )%ꎝAOx?H)}p)A^φϧ4h=;'g4&%/H}E=7JRi}}O9eA׉P]߼h P6CHdnkF" kj}\kq L_zo=QN!0}g˶~+: \^xT [D~†H2kٽru+롩N7?ǣ"D"0y͵e^"苋;ns{r:3P;wl?`\ʂc+C"T>_"Ɍ+ L1z:%])4E>@ ~O}WG@#[,?өsnpX!qe(a!Yk|\ع0*bt8 uV͈ىl}<)SDlí8(Ppw_6ɒ]Jn*ZHΈjjE=!eY//G? !HvC`O=Q%Ӌd3NU77qזRXwgY*]ӗoOp7MD \w\+ެ4sI [GUjdjkaE@u?~^yڹP tfM͚)xA-TcxՋlFI o۫4A{=PƤ^a xQzǟD ɻ>Zv|^͔VTߡns#w:xkYÿ(PouECΉ%z,9%9 %׉@`([H݃ϝk>WeU_V1xȐRjϻz__Aoa4l|{dt?l7o#þdTABٿ疧w`>H#3ͿVn+^i]}F c8?ev8owmG/)Ges|THG_|l쿡VUqh!lӫW^'σMt<$4x;> wxU )O}WSd)'祽oFNj,5=#d"X/?Wqş֓_LK :x llՅu0{T"p[kK~4eϊsQP9uxu?-drS5-;,ye'SD x2[̹_56Wui>1}"Se7U宩p~o40̌Q:<"5HH>=3?6F{妻6,*`1 ʏ#|mdäJgCX^^c=`~ ŝ|ivjf|/eQw$ۻ ;/N$#bklԶܚibE+!>s~Q,?}) )e"|GN_2;/֦ծMQ 缎E v"mUqO"> ҉?,Yed) @""?u{`h94=^LL.m0FLc y_"Ҳ}_sуK+8_)G_4ޛ˟˗n^UɴaTLqeح( QS辋"SBG> GyFdyψD 'f6Xv~ezVQӹ20z-n!?Uҍ5ִJ"/$|YeiPƎx>hN@`比We̵·/KB:rU@=r&qYT<[>g]OO=W@"/MRxױQ9ń|3rn@BQϵNs%ZiP-׌Z]B-W XՁ'*/G3['!^vS=_xuQQj(JBl+ Hku)zM6??u)g?<'U-U"O]Yv2嫪/D٣T7G8³s,Iu7/;RZ]8ۯ`@O+ O2qEYH"?&tnƭd u:bT18D7!뤂l_F . :,8L_X[_n-_ƽ=L?څꕻ3 _QEu4 pAhlGŻo,C3_\lZ`$8@"GK{D;R>Sc4=*l:9zttUuj38/_XǗ>#읶%C`z z2}ǩw&aʕpsnp1B|kzбT.|7R4g #cþL2콝LKn*;/2+eſ v;Q,Q 6tM|kd%l骄t_X;?Y,~gPH h|וS3rt[hv쫛pv?8V/پ9_<1^ r |hl 0xﺶܠ[ߦ2Py/ FN+3՛o7;>Ռ-M9% ?wrQgs: 6fH]z222eʴ :s=muO}(iEI1kϺ:Jl?4-#c˩eL/([Fƒ Cd eu7[ZvM:N/{=?%k͠b,( sNNho@胈Ȅ8S\2q޹!Hzff˿r_-^LNqkwx uo#PM{dE,CH9SV'<5ebqCjqwXf˝,wlݺ߱lعlݵY;ˎ靚 LJfff40ɿt]k `%l3~ɋU ْ)e(uܡUZ5ft.76׬I7NװoxQselt̜8>2^ϠEeقe¥eeUeGGql9q zi:=MrJNmw_/ۿNevgԶ2'MT qo()K Sa2Pxu``Tn#Y90LBVfIho)c+0boa#%>m Q/etcTt 2$!tks_fz2szRv'Ss3Ӛ(Yc ڬ5]CQĔ\ۅ+W%ϔmB% {+ۇ8Z|eBZ8QF,.eb2ze{ؚ2zeq'g[rbLkֻݻ|;˽[v &˖S왲K<`C&g+gWl0f> j@: ])OoO0NWˠO?Eی+"xϒce٢%e҉qSZVN:rCq?!=!D HD HD HD HD #d@"$@"$@"$@"$ pD HD HD HD H@4'@"$@"$@"$@"$@4YcHD HD HD HD зf˺u1hr M&@"L]/=Ǘ?*R]/gGb|ա}g*5av-519%@"xF;rXOj_qX#~Ni1ͩSΈQE̠A>דeU.W@"$ K`4FqdL~tz>שs @69] dHD`"033S*s>7<6}E'g!D BD HC?fN"^EF_' _zxţUJq`kT @"$Ѹ;{ ABnig^݋@?q^׺sŬ<Hf.^[\./wkp1wwzs9k/xAy׻޵{~ȁƇl*HDGw4*g^k=0G::Ji`ѳ_$@tHwdu%u1TD H( 4/ 1ϿyۣYs\]I?"r1P&.X"$wxDy0sq#gDk{GJ́Ƈ l'HDGw4wJ 3Ise8H0EÍQ%CNjevJ#[@" P:#w/-. FEF&S%]gҊ/U @"$Xk]BsnDkRk ΁ƃ$@"p(!/i3:̈]^lQT{87hWH[OIw$gX"$ :KUoQR77zc~umKȐ$@"p@YE!½t.,=3?-=9c-&@"Edv \rc9HzM. ڠiHD 8p_ݧ538Gsڃ=@e D H'_X>1>E{_ V_R2MρƇl-HDPFhۃΤ+o_9F!)uJCeU8~i+D H@ͣƿ},̬9uF7v+aR2$@"wqG袋m'\YkBhz}UTK{,^?3h<g@"$()?>}uzÇ<.U_!I%)(x"$@`RպI͘qkE_ HѶ{;!C"$򔧔o'C@ʏc=@r, D H1:=Lr/ H"uIUc:{$"Po󯻦"bn )@! m ܮWź}-0Ɏ_6q%@"F 6`c8>_Z Wg{*gV}}ys՘@4mnc0!p`DѠ槌}u4"H}:ȩó;0FZS)%:U3oƻ} Fʺ-{?Ai @IDAT \Egz7DTP<Ň" !" (az sC$ (n0QDٔUEKd`N꾽=KWԭ{ɹu:K)TB@?5dY)T %sI}f=}V k%귓b%d=*B@!QJMQޛl_<^j/!kJp*^NA{uצqwMܗ!/Wlo@3B@Yx0l`=d$xjSJmoהSkRZ1%>[zұTTE! :@vφm+?&lvb,>lc*| -^ w}v]Q2vA2ګw7b+_J8c;mg3B` `J)i+lmύtIOJ؅B2D/vMsR/9F ! :^"19TObdzVtbR! ;ӷ. XQ6M Fm?~rO^F@DcxB@!0gL)/$du+Et":)2+6kJUmBs`F;XT2whVWϿe:t"'/ n-߇rܦ[7U"g}[! f&4h>a_P&JZF1y/)F!nlŞu\B*ӫdbX^#}rO]uŋ[Ec3,rndkD4/ ! A-#V7> FD'U&Cl}mk{2z"!;SB@"` *9^RO#թx8 NŽsP! ƍ@d\mou 'x.ص78{a7ND4΂A ,ŭU8+*%H4aK⦇#'n aֱB3 U/tR]0kD=x&߅(䭕K|%*c! $qppMM-نti-:Xf͉YSAB`L)YHӓDTx֎[N8̮ǖ>k}4-E*F! :@Z<*DmM r(Wy{}B`dd\(^*kS${zz{{F8묳]wݕ._ p@k9D4B@6x^X#` ]6u"ӅiVdN%ZC2*̶7!  I0.ѶxTU<]&NξbĠ%*f:B@$#1/&5ij^C==aʕaɒ%[l,Cܦ?*tDDB@!0 8Z%%JE-F#1 327I}&B@tzE (Kx4`\~CR'tkO_]<:B@@.=(ml4^#W$cݍl\{W_*ۋh}H! f lH8H))@KitH<`{;gTB-$mtPv! @0['sB1^][(k?U/$ѡ\B@BJ2t5´Pz{{Ê+ܒP͖ŗpA56,@@D,B@!0K@)GqЎU2c*%%D!uv4aMC_ūB@! 寙3>>nhߒx19B^p ?}X`߆oBJ[! !࠹Ku!*Kwv}? 7p.AD4 B@2*h6 2|ksfFl)uI~kKkk:ГRi#( & \ sj؉B9rT>-q`z+y턀BS5IͰJt@Ej8(qC˜HdIcc: W!0'dlJ cK=j$d㮻>3mzMw;Ӎ'WJy:GEP{/evnV@:Mrh)L.B hP.}e:vjWrF?pߚYAHakW"*B@!ɸhѢi-&cKCG>6Q)qvz !  Ecҥ<îX:ah$bςի WJzƵU*amֺ#i}X[! PIzX sCL5{H= O?ۍ-s(WHE! ֭[b2Pɸb劰tZz# qz~! h(E+Fv[D@91Ҏ{7HibhFQE[jPai׭ؑKB@!=`,.Ihvؓ54r2Az&L7TTc2ZLF>mvTLp<_=]. B@!z4o[DB@!0&CZ+qDEJL&Kfsx2UŔ&Z@! &hl&37c4|z}u+SgHMF&S2}b?Z !]ԑQ<6K0wrn +D4vᏪWB@!E##6QF??OUnbNASy*`D6X:+QB@"@FcV ?lj_Lc@G_C ! f 5K8/gKNH"wshuW! T3kӫ4'0sKP'h,g\1-W욊B@tFu"})*ɸN*.ӭiYvi }N!U@2.^\-ªU,cכ ! @#htv6Yb Yx^naVw1h1zt&&uׄ2ݷx;Ys6 RoǴKqX#! @"Id{(TNZʢ`TEHN3Lj(ӫҺz@8Fdl$ ! *]zܥӴ5KڂZJ$cFQ8*<(e+i/qêcsv1[szxXpF{ %{\! ΢Q;L#N4N44ZMUʒEt,A]əZ>:# q`T-:cLwk1/F^Ѧf69 SRZ΄@,K\:N/!Ñ{`k rEoU ! f7֭ `"LA2\RfD4. ! n.d$&_^ס&.]N&ICB@!е`%JFkhDepK>RJmE 4_n"*Kxd9kSV@u:l"ܥ]l9i\lIP#Ρ'8~,=B@L,6XDeҎLDm:bzlOp%ZRI! @gE&ƈbT,Fcb!o2=Jzj7! fUܥ}fVXLt8yD4N;B@nEN]B;ХTJD+ uv4 Qn)\p"D{5_BH,J!/8w ,B^MB@ "ɸ8 tY\Fe?UW=Ʈ92B@!*-&2j!]Ǣ:E [3:Ů[ wuD7F! ڍH70v.Ov=2|-5w4D<! f5KAV.\v9)j#ªU+e8~.x]#Bd̩|NΉ]MM{,XUdhy}R#! hv'],#mQ#id2'zXX偎<B@LHƦ/ 2S"'Ƒ! x [G.]~xaLj(G\a=nlxY W]uU\|þGmrV-pK?K= 7!WJ32[)9X}B@]w,gہUȳYxobx Gy3d\-PIzX sDL6{H׽*?.VFy=+v"y֭[b2P0,XrEXd-T-ƩB@2Ȁ`won,>Areqҥ~vx6ɴguO{ygu,yqP.I+16Bњ%=m31F~14OJ"c/ޣT^! fXl9dۯ~ D8_9tkXq{3k֬o?p 7pξgp%\$ -{R2F(sOc-$LEBdE#Y 7K6WHFKw>+_FDYPB@LVկ3<3zũUq)^ 6ؠUyS$@4~{s9ptM -_Ԉ \)eb4*i0Լ[ݡz gg9!y턀I |_lўe- z׻«^њk/>poe/{Y8SSTw/C`!M&#,zT]r[ؘ'kKwEdzB[! f :"J4i*[2qժU裏} "ݎ.n\rI?J#$#nOySe(RhJo~W~ _J-x6lbŊ(`9N:+U+ElaVkV*Q:/] ̤ۢ[//fX/r5xlBǸpW~ F!gx˗{26yC:(Z^x+wqG\s9*bAu2.x%wZmҜytz_8ǨyWs߳rN^Ax7N:ɉDBu {キp<~(rx#k_pi2`zw+駟ً[7!lshlHv25 TA\[!R\ҌQrrwF!0Mԑ-&~K^BB#hTBKFܥd]K-1, -Lw}sLN[F dU>Ü@d o|[*bX,lHC&n((ѿ/a]w#6U&fs\=xxzK&q!hrݬKj7! dEOo $7?8w3lv9]hl`4yL {mB:]/!.5% ! hɸY2Ҿp^_@R`t:-hu! ڍ.l$.9oG?ݠ95~}_r*+RF׿Cxs:?]nӆ#hJ'FZQnbi%cTpL#{YFED`$9d'k׿w'$lM+]]=_jbgiiQt1l)sHhG#,g\-Wza!0w'v$W}RN1wK Yx^0%.֎Q.fRZ΄@/~x?֌.\8t3ш'ce'!E{HQ 8X'M([D,_vP :E]RbG*B@!I[f҅PGJRF3_7B`Uk:Ssܶ.]v[Bw2q峟lc=‚ Z7jTJP={L鴽Y$|L),N;hD!R",eZ=PұFKD.f-xҥN"nݺo~c9vEIXCp$fe$ey7Hqd;V.S| -k5oR> >(WzT!>X"j#[?^ۦ"f3 B@L>Gݵēz^.mzԣF /}K3 ?E׾p'_aM7 $ |U9_S[LXL"yhuՒkv`$#j}jo!y4;^IOzR?{1o=Iǰb4pkK/ԉFB5˜́E\# Rm!dԤ62I3;}XV Y[! @`xn운dt8:aD4 !01P! Qpfu?lc_*r)_Y!dshBؓ 7豀 npF&1jXwlGpV\ݱ7u:qKl J2W@}$\hZFE@LӸM mQ8\)ӟzjga<ۈFd4IjxO ~YG{?ɱd$ b 'Sؗ`IlK)rc=/0)KF6d6ܢ\yG:߾P+*ʕ8B@6"PKtMq[ $@@DB@,?tM{G)c%<)O*Us͒B"g}7lfBv׿>|{s(}Cu]j94pUȢBiǥjiڭ][ro! ـJKV^XyCO1r77!D#|ޱ6 /,tkH%XaX#2K,qz…#ZD# #246M.\pE El 5ɨL_BXн\]b4.UѤZ>~dcy_emB=N:p={_?Lzd^" 2YHLЇ>71YFo'r1h>V%YCo6u֊{{"5m y鮬./AVvB*Q&? ߿4si-P"h ɒqjH64|2S 笴K-k" pj0! :CWP} WC9dL+;E2+_r%NAPotTB! YX \#b`L\>l'*߸;`R m]z98޸rG?:Uu>L^QTJ,#qXb4e,iI;O *rɻ!aX$Lc bH7,O!ُ~#Cv{=Nȍgv!dƕW^D6pdžV!+,=ہ|/~ּE/ W]uU6XK-}V;Is6yjHj]vI'9Nnh]$ ! ځ'~1/"𛦚lbK@[ct BV !VPH~2C~HA8V7N&dpC ;7^PpP q+O}jI!M!"q+qsnMy7; *Ce˖ |!P)P6C8' /dρ7ꦅ*Ѽ슈Xt4\ZN,9G-ouc+V,`A?ߵhN= Oh yAl[6B@"޳K[2D *Qv+BOooXi*B`6# q6:z6!  lrzqdXD;7&1\G8B&̠Xv>Пk_W="AqD,% $ ]wݵIL/j*d2Ɗ+ifgF:ڤ f &f})oĜK5 E5kִ&>|-N`1|rfdr&:(ru W6,2}pK7MN$ȷ:,౞+DcuY\s̥(ӣϛnQ{+91tDE"ܥh'.hqi "j*Y n&dD ūŌ[ou;X0 1AJe[n%x v]^6XDbq^ZXzĄDɝOD#Z+i?qґcsv1[szEIql;!9:\3 4[L`ؿX,HĢ{ ٧q&1<ǸJRKGBq8*/ qqYܚ+Dc6,sw&Ǒ}[|n(}cMGN|,N'ݘ?GWED4΅_I([h@5 !!p1 7v'=IL7n] '> 'SI"cBFbasUKO0 jb*7tBfB4$ycZ5#}0D'Z㎵>h8Z#E1y)LtNkx\!F$X IBQ=q7d."wj,n': ӟx @ lb<$8o]s,9eE]i]GzXo`W.sYF[O@BMocұg3 DzZ%/?ͭ_D4rNC ,Պ 9x]{i#/ɒqod/j78~ =- ={02 U p E;[AVe'w"I-c['m!S6}x>N.]vgL.KC >lRe&WJ{dfD |3nVǴhF~Z4_XCWɈƁz&QƻLOi/8H$j_H9S)dLh?8~2=4X{@2E`| ;{ӞRk5&* KE JR"[A_WWv/R"Vx-mY ,8z7YB}tœjvv\XxS+ɴEao+E؟X`\&(X#"Cccz\,pfu%y7}N4F3A֚)9y``в5NF*˕XAm9fqghdqo2-#(O}S9YC4pܢ` 5dыg^,27p YνD\YP" a47-_җYѸ۷5D# T|s!Dz1G+| Y9oB!tIٸ.xoVM<=FdyQDO1. N؆<#{]^W@!0N2%~I&ODzK<>69sk̊,Ffqn-c-fr@IDAT37ŽxK}sl.5u00ѿ)〫 qRQ(/9~xߏyS9\^[8Ny_Tc#`,h5EcL-,FD! E_zfneAtIYdJ4BRDf.\JdYdf ЙY&,&4YdMkҬ 3UUQ4Q8X1~?px,r,w2ٛ^f7CynV=N裸Y\l͚5`9oo|(7xcG ?wE2پ8!L +ZaK15W;! &bS2dxeŠ\3,eGq/PwfNLo}I$cQb⊖ʷ!OomWd&[vŁh{l"DoJ ^_Q{H8JgCoCFL^/~˖ \q'Nvm}hI4Zܬ jUMh?J4b3K 3h3!m-Xvu׍Y 87 i-]  ,rLVEX5Q˪YSNq:tP+P a\&qW4F3F$!19&|C֬Y3{lU;ܦqEFM-8c}R !,cu=YihTB$Вie~'KanƇĢ|o hFpe]2Kd6hilR29drU sv(}L˵aAD! F@ ɘU.=xh?\hb2D#d(T)#VuMXfw!h<̛e$miƔZOam/! C۸W•ʼnO ?ڃB'2)|--+w]Pܦ[YGbы/xҖ<(EKFrhD!yD8nadYwLmzJeU^oʤATsxoTF=.e{! :dFdepvǿi\IE",-X,RjIfJjA>^~nedK_R_J3݃w<ϒ@tjKˑh`"'l\0Wn(]MwY^]>'92ٍqL׎m ;XBHƦ/9d smK㦳@@Dcwz !еLh"E/hS)X$Coi7pDg>S8X`rG{쮉Xał_de4[XVEr]QYZ F K /гLPGRj`<9::R3` SI3s!\u߬^bH.&Ŕzzr1ث!1&K4"W߰#װ',cN` Ϙ@,~ A8Yz?/rv4#wYw$=H! 5|Ia iyjv,yU68Z5%kS.˭#z"!Ɉ58H,XLG݅=6B ш֌96ф-`ǪJ7c2<]}vv G{,Q'hAln\xGFwDX%L!yͿsx R~ _ q]V3o{ܚpMŕST&79H4' 穞`x=uC:,`br79[vd%+vmzS~$ +$F#/|Ee1nj|G eAG{}~L*j# }]wMaGl%CQVԂt=)YFO]tT9_lᑒ\nggչZ' B`V"`R0W/U0*X@`YX|f )\f43%7K2A^~s GÝwmw`-@b5?.آCƛ{j{ː"?]E`a-3帮xNl,r)„[o>`,+3Ĥd,}$MZaς=Q2Az{?l8l}+$ӫ@kX\0i#ŏ,2,Yd^crBՋ !5%ӈۙ),1[0ܪ&>KZ W-dylg!nSsF;uc J⊑<7Vg\ ڐp9MaccL3\~_7Ûñ?쩋0>׽57lsq2! :%"̿Q[<8CVy}ߞ_+1AruBV"!b, b/y.X78ji,>[sSm+VLVjjX!#]^chV0lϬlkzLEr$,sD[pi,ϳX*BEI! f7HSt*wk>'܂% ʭm'zlnn)nX`Aٱ$4媱ύqMvKEbḼ:[xncd[^Z` y>lկϋe ֢{>}ՖF9}шQxrwRk٢%w/񌖼̷,DŁg}`\1}{[.Ե ,譅cXhIÞ:05kF(4WB9AyxW !0#;7gaK[\t%"gK CFbB6͕ 6F V; X@h1%  .lXY(v(W{^z+qd5M[Ӡ-*P0!mENp/,x!!J7zk @HZey;Ja҅k.lr26Yq(!Qywܱڎ(֬<#ђ,MDHRrBϬS795ֽUjt$@H$VX" rǩXdx;D.Y,^he㙎6B2ϓMe{q=RA?w4/wM6q9=-X2gť$.(cwl*<-f! +SI01x-[tU|'ahw v]07Olռ-F.F -&Qtj8*)&c ЫƑQ ,,L2K.bcA} ],QPp%úG?aXZov $#]G O8I[v13*_T4G{n, qõkv,k Yu#,nÍ$&uph] >{#.$,R %᎖!S.)6CD epK|*X8OK_ XA[! : ,`F  G,!(B,䱂\pIFd1BqaQ7>R7͢% }|*9J=J2Zl1= ,M Jc,J빆*\)lGN{l(^8V?ޒpBw NZr\. \X&@[Oo-p푟իW@LxAhMN= F&Ikk*ܟ|X0d!^$LpKDĪe$KD&`ie*>`?y'E!z)qkF'3=MGR\1 നdMkc!,,i ugAiBӄ}md D}ط[#Ӱ0׻,CuwIJ`1W}S"֜ms9wXx_˱ MS4ܾ3Hg;ri˰tkJ<q>c 4vչnKv{dx ,c8Ra,B3{opa홳ʒ}kƹ鉅F F\q1##Mk&|(]֌c6H|MfN,hH$pwb)Dfp`讻z#y㓔STP:^U$L_vvbuZ4՘TJi=r:݇VXrU9ҧrӱX9X}qvċt 2h$/V R8X'M(C>o= ,Tmrqx-%B2ӿ P qRbG*B`lKB_}c7nh ӪW, ] ZoEq?#^=ʁ(cD4_.@4BAٚb 4`"nvAaIFe`) ozӛ ˗H;]pkg&(׸L (Qp;YvTJaiM鴽Y$|L)\ɬ퇍hD:^)or(@!{ &}ȱN[$.%D#|vBkb_=vԷrY]!َ 0gC˚M⛔JCO f7H ." 3VoPG@B>4H0@X`H\V7}u>6@~6('֭hB@!/1CYY#dA1cm2QHQbEBB~'1츺~"*VLk,1qQ~{7iG|S[LXL\"yhuՒkv`$#j}jo!]rH\?,`ͷ#ş7dK/u+ENH6,!;e}F0GBctyImdzg>wB`+!m(xz`]*%{됊 LIyqeP7 IZa\Hm{b/^)YO&QrܥLSAO}:Rl+\u!E|-,2 Rd$KUW]+ո/i7}$cg}N\<Ȁρgve1pcE7sHSL'bA:տP%*(V\ٳ`u8mݐ)v\3\hXFEnD+BcD=X$`" D?3?Aw~|K?xA2mآQ Y-sѥ>DSc#ְ\#!02'39!#@{Ǣ.kXH 5E{Xu7O]$,_].Q\BTGDYEFMB@`"GN\IB|@oC~nyB&wLF+L<&dUj͉wj2I6g9V΋߭Nko|~/>p#Uf9^͜L^8Q ۉg}hRU"x\f4dtk;N`$a . !0@~_H}ko H! eA+V2Baމ»"|p&N# HĔڝA"G&Ҷeb7t(MHYO uBѿ ^" g )Sysڵ:1;pAb.O W5ruhaxqsL8()LɒqJ0s" KXCk@3hgU+ýګ6E,.~1{= a|e˖U]}h XCj>vX<<20xVzk[{g'K{#˛5pm8- ,&NOrKL8h;-HL`ȂE_$o̕ q"6:{a{z/( r#!ЈFDt.F bY.]EG<~4,IɅ_dąv~X4 ±U"tChB5KJf%l;_ݴ~V婪%Kt,EHd.!$8 qfqf:d{u;ӟtx+^1M$X.KDtvsRob; Uoݶ\&I𕪋 [Foʓ'%"l:n@`mq9A5^-ַ&<'cN馛VG>YeXl&TH]ڊM<.6Kdt@#" qDhtA!0~9+rDLȓO>9lsefM̰hE#J̢)VcJ)K}cSSOq,m@8,TKG=uqĺd2ґ(, {TXDdM{Lhr)#5 Hя~csU53*C٥K.(\Fa=a%RH!0""GFs&~cUd4UƏ@t}YN'[x․d00^R}RJkHv#puyg\EA" ݢE'c.E|4vp[ȉ'H *DE 2ȿ-o` x)x .5$.=h2'|.`qg j*X"ﭷB` PtYͲd@1W^~2hf2J7;,98h5[=r od_F! hkwnna7fX$")U 39;ZDy 2fXqLGe"n: Ez>8M#l{R,U&@t}oI }qU΄h}ss-U ! rj/aAkqzMMQQ#٘꼇zt&@[E=n̻'hD)_,%ttn T|! V/w\i[UB|GydӠ, d1t.Xn]tc2ֽ;$b2!!0&"DŽH B`!r/gOa# m֙Ifl}mtOf$\3! (o7 .7"֬Hu*UyG.!RE / ~x=: J X#,W?#)TK!PD@Dc  ! 0H @qkBMCMD -^kP]s+7a@`;)6B@"0Ti.ӝKF48j#/k]BZW"p:$#kZCpevءZH$j_,`Xw^)ɒ8T!  9шIAGlؓšev[֚z#G;w%\*mB$Y^ۚPz1cAl'!-EQp .*3N"@o}[[艤0lAN#$Ho=H{z,s,tI{! & B@!0?ӹKR0ltD\ ҬԠIYŒ5#Ĥdf'R!0`(\Zہ-QAW1F#3B֣$^LE`w79gQ=@2D/kX,w:`t"&InB@!`%Ji 1QDzA'3e턀D 4_ncUl\s7אߞu:R/ξ.nm.3VɸhѢ RL0:mF@DcpB@!T-yHaW,HĞ^2WJzƵUJuIGXⱶB@!1Ju\%춱$#LuςEdv,X0~yl{o @.6A#fG*d\rEXdHMT/8U! hh oCњ%>mQ }R}r! @p _]2'%k?y$K=L[^طQ!݀IY'|CJKsZ>vB79|c~sLЇ>pRhci?#%~_IhQ! &>C.tm ;&1ĕSn4lt[\ 偼vB@!1a0rMs9]RWM^“5ʥ{|t􈃶Ccxԣ?!qw;lB<ꨣpLJ˗>#5&5cq>^{3# (i*W2KUV>zFQ7{ !  U"g1P:Ͳjoi,˼j)8XlSZB@!&3L-E$GLm KHVkƒLo/F@}{_5Is@ƉXp K+VL:=[n.BU騫#vwi{o!YD4v_.s̔AjsVw+Yƾ*i=J',.w5=;.WD! :&d7͢QxyfCfn(*Uxx )jΞ%w1|w"5 w^x#}$Jj!_؎1'Lu$crLb1΅";B@D#,QDY*UuY?{_`WQ]e eE6A1 (C, DPPD熠 "&;<2@@ DTDd_dW}{g̝{LNo|NWQLY^QblZ<xR "@@yxcY/k>2mם2pͲOAOJEcO0ո~IA8v>rJS0귿vbTv}D8믗#GW_m{Hydx/>@12wr$Dh&"@0E@2s8F3/`St>kyaI,ev+H jKZ"@ʌ@G#ogԸFGHc${&p,ˬk' ?l˒_z%;X\__ߧyrkrQGa0X1{F~{GvaЁtP2Š{ObbK":_ Y-j8'd#D` q PfD"PE#:I5!Tu)S^ d:d `.ֺB`iV z="@@h,΅`&B0Tk_AcۖN?2Ӂ%]O~bKe\t`c9F:SLy2}{+`~g?k l6O˨Q N@,g}\'N9묳` +vZOeIKdy5FrJ@O0"@أQ3F`bf͈s!mt׬_$JFT&7z"@@5g@x~@Y=DrWa~,B+w-QipPd[aǖ?p;Lxa2},#ٳ>+xC=Ԭ%c+Jq#;5'X8[ZZE1J*l6E Ch(O_mRY5@j Ă~^g4/uڂiO`ZW2R%ck>yKF!@EAφ D`!`/]a 1H^^>kT( d~*!fO[JzkhAA"@@Vv(F`o1HBY%?P>FG[oOP/7tl毫}[ س+;?o=ܳdy6Lc?FFn:jdҤI%w8M=̿KcHX|"0P8u"@JevŪK0`T/n(k`$|G KNJk-"@(vV hʨ|SjDUa9%|`D|~>@#U4’pCBO{%4P} _ /w_KL!)nVyKh˥X-hX"@h!#Ju&LDBcN{SСB]%_C}F/+ DGfsfYoAhD1~RWF Go>Z%Xv̘1cO?^vuWb࣏>*oU]zk{o|<P."ˇ+vѦ@h4\xKCD` @EPy"@|T(ͺDTq2=7d4k i!P@h$a>"tD"PN:"LYC O ~ s|#ŋRj3>P/۞^W$%c_$ php  D U|]q1I҅Ih 5=B6QnSH%,uZ1#D!~<_v0b(dtMFa4縟-0F_G`DxC<%U^wһK,IF!^{̚50࠴,mm:"uk3v S:tKuOƹܓuA @IDATƍAe D0OBtEukGT3R-,L' ٱ (g1L e@Nô|;4&ƟRFP*s-t`c?:a3^J8K.ajym9uocL"W]uY3nV )#8"I므2cAXr"\%C * "@ "ЩqVX|n !s"Ub/aB9NQu2a~D"P 7n߫"R= OϡY;&]/#Wyll+"XHr<QJ%c"κ@yƙm0`Ѹ*u[kb@hNg t6IJKZ"@ʈNCCQw0;^L(F"SLz!OW@ [>`r-3ΐzRjx}˥[u͝l z>ҟߖ* tCʈeU"@@e!REb1afP+E,#p[Ԡhm&0o"@@,W6Cu"<\K]ց˷:<=ÕLâ=0Fs=WN;4ihhmhxt5z{Μ9lƈP8$_ o"@_f0#Lxzp@.M(r-DYC]Ӭ 9ۇF>"grҚ0tALKRB,T4W#DF,]b%_m:K* u .a]Xw26WţY7ꅎ"@ʊt俉:RJG$Gga ?,}"P5tuuɃ>(+Ww[ƌo-TCC쀯b~1 Fz9q mt_*h=Z@7j+gKk.!9Ix4 .hɧ!D Dg瞙)Sz(&b:l"^pO-@hh-̜ѽv/ozӛJG e@瞓gqלfШ[ٳeeS F(xs5=^ D Fydl3~ <"XvpÐpKKoC'da@r |9(Qw_---2gDƪ||("@ :MuZ5 \vg"5Mǚ[0?- Dn_ʭ;OOXsiP2[Z%)-ԚFf<'Ƈ9%c:Lr0r&].=˥s0B* D`E#Nj SkPk-9u,d??[f 5iCD"PcG(Sw#. xzdZ?z֮a@NXa/'9s)'D  _*"@6 (bJ3Jn)(L&)J3Enѽ!nihV0 D~q/b1㞲p؛B=:*#d{2/>\AK777ܹs:|\"0|q{>9 D#yӥpثq;YmIe'L0#~ 2e#P( tD"Ѩǽ#cfT u/Q,rxIriX2pAD"2;0UvTm#)^EŤ" ÿSI'oXJJ(1Q/tD"PVG]翏^-Ջj̵n Y.zҴ儺h̡H#*a{pqhpt>~P89"@zC{43C3k,L׫j 8>jpiPi-ֲ #Dr"Ecx;K-} ғk;! V@#%Gʂw\'p\FZZZhXO6*7=%DB{4;Njf͆#1-H4=u4XJFB)#D?(S`=nlY-ݐfE^5f:Cy y%U+g5q|/9h!*"@@ fb itWiO&iHNqm2CfE2i5azL*30H(J=nW#My3fIӿIӑc9v-CX"vZ;MQI xl,njjyU) |,"@}EtD"PevE ,]`}Ҟ]:CnXJg{3c֌Z-nh  D\_ZyBOHOO:Q>]cѬVkF#P+FztD*hooҳ5oɘ-P2rtU~> h X"@hѨ (A'Pz2)3\u7=7ꅎ"@ʊ@ǣzpfnFFf7? hԄFT/P28 %yT@ * DDi:T(EHOғ5-3JHA JL.#DF/VES^KnhN{omu! jGT dCKj{|"?P?8"@|[&CCMuN+}Z%\P0ftkFo8\@% "@@9?eqoeİZ9[yOe:w NWC.[e G~>tDjmm:"cd|ӥ/i=rOƪy|"OPO@"@L(E&Js~A|SI|/%`j >Eo"@@(%W?$^-է,sxv#nUL3g4t CW%/3fH[E. ..…Q"@rPј"@t$,թvYv AY8W-Մ4xP*Q S D,:KoŦ0T~?_UcLoḄ[“s|d_ Dӳ1\DKxvy3(_0o T4l"@*stBt NN%HW8"n"j_O+URӽLFS=)en-XS?U"@@v%)WVOúW>5kLn.O;߹eRv~~UAdӥ,n.xuu$st^ = @Ec0"@) >ƙu0`Ѹ*u=H=6fUYKZqQ:# JKZ(&tD2#EZè;AyVث1pkӯ8|WNR9 b2䑧+ t@\.ݪ˥1.|OQ_[[d{'4!DJժńI̷ۗ=}p-4jRjŨ!j& %["@(s`/^@w3n۝U 7?|131Xa/>Ə΂jkҖ3gN>1"@@P(L"Dቀ/h Mc&c\fUm?i@ތ7ތ:=]թ9Tl Ktxv0>5 xMG-G%c3T4*"@#h"K2eJ>1"@8ɓ+yDqLiӃ_ϟIQWvҵzt%\z^ DPWHG D"@ DB{2.X QD.A "@ D"@ҭa?-b&R)I,T4W#D"@ D"q$JF].mfMCuuuӥ7j&D@݀"@ D"@@"Jڪ˥c'r*||$"0P8i"@@"P5Iך{b)+йZ4Q|SÝnNv;6Ջߩ;R* ~fl1Oq>Z;ɢzc:-QVԾ ŮPkjկ3_FHMݨ4l"5#6QKfR;MFD"Pa:?t9)t-^,݋J"kڥ.Z"JkwwI z K*OX,fEf"m(N6dSF-57dzX#^~A5\;Byu=Rd(cDƍM'J擤n뭥v7IݛQ~ߐ@e"Z2N FGeKK3-^hY D^+K%eIʿIM UgWτ?h .NԒ =tZ;-j CZd'OIc3>`E# uI:tQ&ҡ Dߍ=3FDPzZԙ~I+R堇P!ؾ15H.o=) J*VJƒ_0̴_a褭{2: "oPoP""@@!еO_7H+UPYԂ QZucN# xm1!XR1VE5ZWJj Z))0پ;uc7%uU8#D`H _eo«jN?NL;7N\4 <-OR+dQ3e"%̙3 {2f8yH➌`$D__deD@J- B= Ԙt15[5XI@S6J.Q0848(#C;- ~#W]+O}"@ʌ@OKMNG+sNY0Z0O~ݚ3eK0aOWl\\)~_dɟ]wN_8C@'cɈ!gwM2a5! @:Y܍Nh0) Hdu@Z͐mpScP* hJ΋yz*پQE)#v1 2 nL^wsq\:1` RTe9 Q?*0~u?Ș3xt@Nɨj)CȜ9s4"Ph,"P1t|=]v϶9YjR4FLVmnh'GEc|zp֬9TԴH[jԯjq!jÿn܎2mg |:"@g%t>w%Ο |%e2, G ;S2:AivY@m$ۯNvQ} `=r&].=˥Ka  &"DT<[7S\wB=AA;A $jB'Bct Ԋ ]⠌!*ſvkRT{"|Z~_UκW.xsY(8pc%?鞈:>g衲޼֧?$c =J&{wfgrJR>_tOƹsS0NwhwHY! D2Xi*,v'\N m*.AfE>.RQ)x[پc2𯩗1. [EGF {e巾#5:+o-῁úЕ17x%V%U_1yQ\pÿAƞ2bځʍ+gKk7|4ctss̝;ܷ Da@*R1ʕfq ? f*^Ɵ[1! B-+Fv|ԽI7Aj&m*5+W>jF, a_Sg]ͦevvAelI| G~? 77wA띚إ)OҾV k URXTt?t׿KE;JJVoeh 1ejۤ@d%50~rǚ5"aPѸa DPѪE'I.h*1@:qa yk~zKfK$RPbZփi<${CK U*Dcji^iBeoPBv.yL:V:^jS$2H%?HρoS/Vň$D@CyzoJ`X6qG޺5ll.pdľS{I͸ݐc<&?eC  \"=DϾ'ˏD{^-I=ת|۰ ?L;@g_;񻪘6(g>R,S^K⿥Ehɸp"@6*78#DTk}MzA Z ;h/3!i/v4l=KjRQi!NM*lP2{/^2Oh'9)m!b[bˁUxfiE:JFߎ}f]UxX.H۩ I^8s_JǟM(D1(ǎQ#cf!S."?YAh89E6)ke} eMʚ_\+5"ع9Rƞtb C+g5W!;"@ * x6KH?֌xq6|SrϖMTՕC]hg~(Udn=kR,BZ)W(:SeUKIlߠQ{gĺ ]֥aA9C{RCG>犻t9[n);Sː|t>8YLV1?~ E[#c?}l:Sy')X|t2ߵ!^LVDz%*֛N7?]v0/]~imS%bG|8,njjyyDABA"@U>-]י 0>!H!M ?6!v?]Flqhu:k3[ ġNj2eV2)gz0ԧ}! P 1R|[n}/Ac\!+RoޠzbnhmVrLX3x1 30I3"x=ciQL9I5&Vi42)xqd_cEjÇq_ﹻLA >{lim[2 %#KDf"0P8p1"@#w9W İ&DER֍o?O6}{zñHb5c"ҢTJC)m$1~@4pH]gI D*OK[MCYj $1~@4pH]TGYWm)u*SA1!ë1{% [LKa+r)=#/r 뮓>$)kn*屪EX64F阚M2ԁ35_$ՔkRDVP"Ivqr&E4<-m5 e-/d'ǸkRDVP"Ivqr&E4<-m5 e-/"TVu^m[ qgʈPR=zG =JF~M P84"P6VJ׊'}~V;p0X=!zO{IQIN C^iYB rKo*5]RJ¿sc/:;=4J}WSzM`uSFZikk{MK^{m&nd_/vI\LwD9c*( V,5TX2|ix'á7". . J)>7w>3ecﺫL{b@o{2z1ǜ"h( D``\'Yi& 9C6WqI#*$PѻEFlup*qR/ A>b1/NeEN)'l }/yZqR)ؾ XI {KY+ȺJ|Zj//_ϨL@{ J?;O`јuXc V@%pЁ2/Fa'C U~C}^ږȃɸ3OG/;e L~9t\.C"@T4!DLuŽйօ09uFAKԆ2~+tb\ˠ--ٙz3{K@޳2l_E|' ^8z3MOT_X.+ɕ%zZ0Q}BޛTJoxOGi{4PA"tַ%g}@ .^-u֬ pg NsG׎+.oMN!d-$fXQ EE n0.e;A smJ\ԙGʤy!-/wR1#D Ah/D:?$j~Pc(R^'G)\ЫٚE7I~f!=+INYW-kZ^}'%z4~0foJfJ; C9OnA1cWt ]>K/~yo~rg$q~/++A'"<.qcKSN_chW]#k.ZahpD}l`E {2 F5̔_W'MM2wܤDC~ @_/u]A8AuZ_F˄w_c^u E-PGMɦm$jz DJA4;ȊS+FQ}RFj::(, oy[7L4Exc=V~|R#EΚ_^CLJ1Bu,K#GjGתرb1%$ӫ)J俸vS"￰z,i_j ow\Q%cO:qm ̸\ypN [jt4x~B D`!@Ez"@@"`M|JQ lkh5f #!ߒ.D~bjrQwv( 3ڄǭh峵LS-gbߓul}U#@@ b oCa.οl rN^zj˥{?xK8pBg}z"g "L`pŢ*k5oy /ޛ}:޷3EL~ ~ ;?g,\FR3G̓8c˥PMEME̙f"0q D`c(twȊөiZ jRhZMRط/>kNV^HcԴ%HbU+5~E_wC5cAM8~^>Fk OqŊW\!]?ہ1˗/:&N(lʔ)iC >,~t W:5=aYpQ=-4pÁƵɊ~ͻjY}2Xs~(?6jooٳup3 %css3-Kb C*}"@6O˪鲤(GzdI\5 -nrͪSLnPQQ} (M*NIv`~JiMBNI)i+=_bTy/tj[ְ[2b_/tK$w5Kݸ,G^:Hz)K5j\r%я~u+V֩K?A袋 oxC!a?d 68^1Pl)'KQTCd5zzSީݮ]b*M*NIX>dnn ^[#'6H޼C~dlS%cˠ_2`0H@ @Ecż*( D{Mub¨N*јJ]H8LpA~AVrI Q,o r~j@+0B?f"LWvnL|ѽ ȸh;fserW*q_.ni1,Z()Sq B`U󿡃;#8w=9NM2z\f"sy(zD @n= +u9Y5fDX<` z&Q17/+ǶؾcVҡ q{>b"U"G2r. p'{W~_j̦uuu{^;<&93 )po{Ϡ#sBY#fʸ|1FI|W-YwG;UCsS|Ù~<|d9~yHӥ/LG(hś%D ̚Ѧ6sf$ !cdP5&pIx}BmP 2y[>"Z0zbm? v z"!ԧK/5{2.X @ȠR˥s0B@"@Ec42 DXFx0ncrۻDԒd[(#>,2RF (8aqM15pZzm\2"plqo0^2SHMp$"p=ķ=?(z(0 o|ٳ1{G}{ooB9>l9;L;yq}C|%l ]8z>+#;(G sb1+BKFn:;7Nt6yZwv\ҭ-:v(8ujă_KsEƪ}|0"@3~yZ VaB ƾz2paKL@BCITv1uvs\Sb=نcɘ**E$Q T<(A .}Vcq+vaCK߆8t]v36؟K_|;߱2XxG~33fL! ?ϔuxԹ2ѨTKsdĻ 7fIٯbsc?"pb'O/?k~NW@G?w[8lv䂯GxOmeu&}dqNojjL$D22"^V=x"\?0 B)~A7R?aMJ+ˌsc+"yVJϪݟ- g)hcMrLd!Riw.{\V=Bg"`ՎM,:ƇzȔ+V0,'NhVSNՇ_~iקMSY/?~-(>HP%A ztFqL+~\zAZ(%#F޲L{9l5J.c5 cst}>P8<;*G`o?.]O: =qR7vGG$ AA",+\)\A:,r+p3b Zq¢o(96)vE#Àǿk3꡹(x (LBK6gN˫C9D QX3'?6یAt9/ԇML)K/?"5:s 5Lr<+\6Sv|@IDATZz7},;d^14Q}vYÛd¥Rjj}0OTjLKFW"@*% ͱ:U{DmjblUR3zK0ͅC=dxW(bXN e+DB6 2٤f6V/WAT{i0kM߹St-d *y9餓;4/"9E`s{r:Wϸ5!(qBpOn-I&$ep &0oʱL5YA7;'}K/ + kuscA(^uVJƒ_3巙{2VksafVw-G3ZJԉ\(w_/#'Y4+vcUW|IZmUk)*JiP/]"+~}Yޟeϯ;HN; o}+9s!0 "C/Keѻuh21djOB&mP~[ h(ӫt߽x,9#GtP.MMA ޜuQ4ɘEa"@ *mY %ұRnM4y~utd$5u&J04C.HD"-I ̊WZµJI@ } rKc dO& Fd{o&gy/=6.{kr7'? 5Mf|'AFE n4;˄ ^އ3ªՆjYC(cݨ nZjƁ{ YkdH@I~~A#5 ?E٫FW`սwɦWaKG) tO^dljnysBd"@@"@Ec;9 DWVsxт@CEe 2ۥP7:2A0>0 Muy hHUHPt&ZB l?A8u2Šs֏b>dU_a+tk ڵkm/ʀ#U m]<_Z/˳>k4\|2}ll"N$-8@: s]1*+IJzMBfͱ}{ǀyY 慢%ɽdK+I1uL + fl]*D"]@_\p9<?p9mQ|Lc_yrw>()7%\bJ!E8 qZtuuu?1c(_kޖ-[f𖷼?d$Ρn*XٺFb:-Glv "#GWǟƫƚzD\r.h(OQN1RĒ$5ɽdsdWXѱ68y.?jFI}\Nɨυ'H*[ZZdΜ9  D*aCg>Í[4~]Z= ]S[`Ŗ##@R=XCZ,Rؾ*"VD3E?^_(k?JXjiR4Pm{_fo~r-B/>> |8({1Yn]$vM~a+W~3S`O?[o-dmnaw2/\` !ZTŇT.$T^lJ\MtnaT!3%cbZяOPZ*_%K7l:~QylIw_c9%#cM\z޼F Յ>4DC`]Hn|k8I]tQL&ӱ'U4zF5`lu'`*e2i(d`_S}…NG!O2*LW~8-U4vA סc#$GP6nznQp b-,I e25X'4i%I!L)&^^z,ɚuhWp:%i}\NX@)_tOƹsS0N:hW"D+p`9daX{,L$2ᐻԃN)-Ō jC"6B*)WU/_x(≃jeiT4^x9SlEXbrA+9夓N*%K~_Z]쳏vm替$N3?^p#^WJԆW/j#oIަVE+a,$V7\YO*~iL;z?,!V{ﺒqս8|ڃg垌8"D^)" f[p _:sRZ 1&ǽ8|1bKP=F9-g1=uRiA =Ԕ6 Lјy,Ll`G@4SC>h`"_>=Ɗ+Ƴa%/,?zU4.O0^ F#ET4*C=fA.?Oe=ܠ%M7$s*,i:ݣq6j8сgO'm8q lPCjE?l_(h4>@<*Xј[.>_xdC%cP8 ^2Ԓ FM@w'F]^@X1 ,\ij8<VO,$YĜO mӬ>tۃ~ _1 DN͊omŲ[uQG%կ6j)EWe A`r _5j^өP *S(E)k4ه BYPpDo2O}O`1Cp`JSP2Ξ},Xp'F=[kTjuԖZ2:"@%T4·&D0F}h{-NybPD +p9NI*9q4]JCя/'^TKV_<%_t _,'|Эj'Eoaɭ,g͚eK7j(D2 #%ErLMu4Z/?xHJ?|_Ѿm#zxI dJMf~A *c"Pab)ER,#\x .p,T@.OAse3 Ĉ6\cG3tI~CKSs]Yy =3f֭y c=kw}nlڵD>ڡ5Pd~ب:ÏEO;:r4ڭLvG7q9Ō A;,o#/>C~ ٷ?m\莖)I_MnfpKk*9Xqtr馦&㍞+ D`x"@E||j"@;uZgPT~ ޖNkTT6=74ʧv`@ jLjdK԰zcS%~W&ro,sῢ`@}x.ڗB5.y< V*Ko+VܹsK/[YtL:U&lb'i0:{Q'ጭk}ywFdAGp :}j0AأQ6(zUNrښd ˥c_OpGDT%+N{m)>aVxRBAh[ЕJE2c5[0RŻa"Y,,.Nqפ",Ew?{MhM!n>u*Z /YDvuW۟cg?kkk|#/ӿ/̲q+ CTC,o^4\<=> ż59e[iIpw1b^VbY1~ԤHiii(Km|$89^"TIc5)Hiii(Km|$8hրYРE~ F;./P2kz<%ł!"@"PijzLM@^PY4 =C%9XuH=oD{ tS%]5ihHpt CSс\!yʡhĒx .qX}|, nc9ƻ&u IG#o>uMAI>©3XC4=?0?Eco{2zHKt0DPO"|FjUX䒧?łRD!,@R,E?~Q-18g.'%"zKY̋~D9E5~ E##ݪ$k]@í'3(677om"SO؇zx2z荪 i1>_Gw  NUE8O Do`d˅-ӄӛ>;mme3|ElfݓqR8BP8_>E`Y,toy,},['PC6h16p6!SGZMDPkqB/8Od^gv4&d xr#&.kz1fDhy*okRWW|ߖޒ"Yco]~O}Jژ1cn(R)m00VL'Mu4qt6"BgW@MS[VՊ+zp_葆GOLPַh/3fs90;?`Z:"@#@Ecƈ U}!ʕ&ɱK7*A,!(aYVB\%{l_F6(HL,B7i_d:;sΑ?n{viɍAP(?娣n3^Zv[+䠃J0D[H|0s䕱!G/0Y%{V>hјD~>}-/IXPrO{l E }qm"@B2j~l^Muz,xH [i]cݣ%iRPzpN*ѱ},J=`HXBz6G_+8mwo)‘=vAMc^x_vaۡ.W]u|7 /u]'s̑ /Pq;K.(fS2N6mPi6D>^y񤗡<N?Uq4:-o>N=t O\ 7.xuuDKFGW"@@P#,L$DT6iCe8+eS{ ܭ>fH|m)AC9]dBuPe̶Hxl*?-BIxtC߅B4!5\#'t`)5܎;(@8~x-{+/}IJ9<3VNy~gq^JN'C/>6|9u9&AySqM$K⑒WpVK^wIB\Eۣ;W;鮸hISKr!J!~jt4Pɘ  Dgh"@*e UcO+ l D9ZhK5 \mGSeѦi;v?Vzϖ3J]Ӭ/B( =:+$\:C$q"YIѝ;~eԨQV\׸;ʮ*{キ|+_qIGGn2W(50l`)\kJN"F?ebFࣽ0 隡PY:]\:v1kkҖ3F PXD*@0fs> [D25B5!Ƣ4$I,Cñ}6j"d`Fa2ZrWBWDn<-@PTMd(e2qAiRqJgڇ?ž^s$D^8O?N"E8Y:*Al2;\'o]t4X4bRX/&|q%}NA䖣UD7_ësU 0}1;"I(II _| H/ |ԋJH3~dlS%c e~ɢ0 DoP7HE(wn© q )!ȅ\~{!GfbyKD4^t1'FҌfL< L%`LNӃ! g\> apD. SO 5EbGf$F^\:m-eY~hɘEa"@@o8"PQX84'N'.X!1QXŎQgTPۀ¨Tv=S'K O)zV qT$P4Bp:umogXzyvR\ cƌg+Mi0 ! |UԐ8u:u\ݣ?Eۺ3A; Ɣ3g6 ~7~v_zAZm.|2/d"@}DDBt3X3ڔfPOQU ӠJPldVU'aW"h#%ma2vh}Ȳ5`T 3ΐ5k466Iչ F tFF&lc2Vdg?f}k \= }0NCɈ=,XK\[st D B  CөNu{x5LL#s<9d1{!%#2<׮9BK"M)hؾ0ǩ R|O ]q? UP0~ߵew`:(dM*iv?ހ~ {8&Q3Tfxkg(ɥw[eJc^@y|1(>l"φ,/?RN`)ftDȢ1dlP>: fK KnA"P{*mB슲93,#8$!gFqETuFPGEQpEl}~ dH :}C't}pԩSu[U=hGp('|g`lI:|-A.^3]EA+hXMbSݽsW@9j8.qEoD#щewO^9a[tI2%+ҝ~uG#"%EVs{@}-(OH08ihzqQG>xpG&aGnh'j5J`]/Q_txQ-,-y &kj6SEՔFqhђC5SR5obEXX1Lw"a@C`-(B` v4>b>Ȯ0[h:ot# &{a܈a1\OEđQK^ɚ)%5uGppQ}!Drk vXo2\d7 `tG`W8pAZCK^JM}'_^KU:^ͯѦc%-.[s0;Z.ܑ:na&#I:ɧ!I VJ 4&lj! [w-`?S&W ^ 0C rJ:C;: ϝndMK.$wq$8#qCr# cҷF<Ǎao4.,LИ cçCԜЫH)q;*UEԿrpuׅ;<6% Q< VuA%Ӯo*[>Z`_z+zz¶XLX‹_ow}CƺDE0)xՏ m_.qT&M&#HQp2_G8(z#lZϛ-OiTL:oHa[y|46TJ3OX;TD%r@6*HR(JDU)LMY"ׄ*\ '#wO;L~2>񇳗 @0j_SO;^XG8BDE ׅSDY?$)* ";ZtG#HΪ8uPF2"Zh.sV1ߎmo{[;cGbKIY<\Is?‡?~rTtcqkLjϊIT _ hǷlZc(ܩӕ芐F/&۔#8#ԫsG`8 3<ח^ɓXbcL0'l C@.ӣ#-.-Y#H8vFԈ;F [LezʷcmFEό-YH8cR+n #d?ucN6X,D^Q8d75Rן|hpĈGӧRم J57HM29|{/eҭ8{S_Ag7 տl4>7" WG`"'r}Pgۇw1L4IN$~~֮]"ԂE=[:xZyE19'ZfjUh*iiehUvڔe"H?Iy=E1R'FhLw&8{:!k*ڭZ`i74|x9̋kC8}9?ȪlX^~+RNk:tI'Jq{ͿzREo^WKs'1qp@CpG`X6:h?1@i+$[ֆY(*(Xe*kh(]Xs=7~骪];Ν&NZO㗾%&sI9J4j<<9$^0J4_0~}u M'%}p0rwyw4x4"k8tLq|lȦj ~, 7>qևbefYQtS8#Ä _+0z/GkS\J-\/ BRUr F&N5`OuE4Cu#Xe`4XNAU}OM{ct:]: 'GR8p2GpQ,MӇ'~9&)d'i6f먵'}7Is/`DDZjݦ޸QT$h6f(aU-m4$^b|1{!Eqc\r6dG#>7x H1ۄץǎ ]vd$Gq*GldG# \v( .mgax4 |א匲$r2Iv?a /*kRjLxno1`m]z8)[3w<_)+ڷt`fN{?%:Bf_n"CO{64-9`tQ']_5T|N%ZWaNhռ2~Rye1sq|܋_WڲԻn뮿>.I&aԱg>ʽ5X_ i^6Ժ.`*FMWJ"=kңu_J8o6~#8w4n]#8~4@2Qh|]#8C:yn}y>ӽ: RL&a04Å&Zl[%YR>KDJv*$rVfUMյkn;CYޣ2'hѢThS1dE o_%ټ ~}o5SMwIh;ANűKqȊ:oGC/)1z *q˒'Dʗ^#}Yb%#F C/JbCַ5|c1/ii3o4#ў?yODVF u|k7TdIQBG:8tX&Gp ^yZm>ϘtTKcH#ɶ,hRZ3UJ ]Iٟ'I'jtU{z:p y9ԕeʲ*,]ydqCL5?>n3dQYk*q&")ɶ5i,kT)-Uh-]j6^.q >ܝ`JiRMsGcFϩEv4rl"ǡxzl:mSu <}V^-g},/ul+5/t֚)Kq{ʍ.H˖-gGsWͥ~ꗹ!$4Si)};&]ıp6~S'Nz; x?qXM5Eޟs9 go5_ShMFm;x8A^xKG04y*i*] ~1"KVT (1͌u7ْ< Ձ?ctP7&C7K/Th8^Զ>-kiOh}VbdTh1sG##p +:eQX4^#0;][Tm%=pg7yu"՝2Yy;uJy>믕鴚=/5[]7`?Ct\\5w ^*DGxz\f+NY[ݓXtu[ε ds]Vd݌2,HWֽv2λi"2M~R|X&A#8w4mpG`X6o6jC<]i࡟;d\(%oJ3n6kdB8 Bs̙&ZSc |M .9FT~s©|UUYpտlliV# }ѕWG`0GcXNTYo8Ñ-HA"קi: m. N9%y"˵Z{l/AП هSt${J/yt26B_nIGphF7Û8@!߾=NF1F8n<ɂDI5=c/x_gʜ\4@vX2;¥F *]^-==35kTb8AOe==+”ɓg3Νo JM\K  s筍Gi/Ɗ'ð;yW=l dG~8uN%Jv" ḱT/^'JWq2翴Q[q(~xZ|~7ޑ: pن)S6=|n-𷱜c{9MJy^Ć!z '|eǞwBg^jU|鷘y(7o fX!Gb?e|ك#8FxG ZNV<:Nàb9GRX)템REqIBT 1_G>r^8SXUW]|իzG|;mZ?lk-P};)q'tHR+ڙbdRf??\|Ŗ8!>>UcD=GucNhTj;ÖYlYNiKD{v:yT0|ᬳ:]b`OZuTF:R*%OȋyVQ [T,d" 11f#8SwW_}u8#xaGWb~|x));o~W|b@= h',eqյ`hoXSnqQ{9mhۋWˀrt2^z饾iGp1h7Ǜ8"F<7ds&CqI!.sN1c5bKV^)N R1𐘽\h ?'>?,[]w/NIfΞYW29+:2W)ϾxnkF~׋v6Kٕ"fuG#m IQMn8 /Iь?~WF~mppwN#dӋQ0(7%s{)K]6r ^T,7Ftu 8xNV2o0sL$e]omf!+,MF@_g-88iP͵܂<HpĎ_җqoIc9/ G)q)o#82:8U{FMVD& 3I4٦tadIV5Zc =/|A!HŋiӦ)#))*1E!.\w$Rfaf8Ztw 2lȾT"r o[V"r^#m0waxNEA+@j"3謱z,c}gzK!729ǿOibhqR9ts(Ŕ*_ֿ>HbRb ?'=7Brٶރ=7{[u]=+SeuTTZI:F>VlZ{ JDu&F8w2:;#0rpGȹWRGp@iZ1_X;QvBvU SS"2&c R%,AQ{Ȭ7 _)A T e8!tҤIGC| Ƿ7Xnr4-[3ZQA %@8QLJ-BW_z+/.QXKW WQ%QJjId=i$urIEJjI;?=eg^}y4G݊2̫츮Y:XZSi!/zM͔[I?ZcO/d.`Gog*nUcE% пh k /Ed&$(w,ҟYǎ#8#w4tG`}i}c F#Q}◘NW=@،QTs:::(ktSƳq/^ >+'6(Fwygc=,Sbyuz̊[~ڎ%eCJٻ=;|8xckA-_x:^?a0  ]9E hWLv(fN.JC J CH4stAVZUn5@S ¯r҂P͜"]~[hiO}8L~uEe5ghfD#Iu^ZE7zԫU"F U;&&00 )V=M-y i,>56u.(l-ayf.\2TUB;#RRXT׺;s6ª9Å]Q?OԢt4Z|X#i()؇1cBr4)iby#04Ѹ^Eu*U\h=\>ы # W8tDRJ{oQ j, o~sKDO;S]7T~;qR֑${E NE77{ve[9) 4rkԺ]IO$TSGppQ8d.h\pmzO;#th삛]pG@8,z^@.)^os͑|KZ\n-mo|5y T pyלІ:KN;Xzu-^V'LuM?EBX4ٻ7Y_[[eLKZ<&S`q˫Ӏc49NZG`S XC"]ꔞ䋹`k(iǵkzw6-f~Y-١-kq̴_z8+PO>я~TYӼyC g},]*a1ǧ:/z c„ òepD4۞:-N#f[:OHgS:e| c@N#th{=rGN(!{̙F9g9KFcISQFhg@M"FX"q(1c>=y6Z3w2l ==8?ƍկ^^k%bIΝoѬ'v:Μ93NRU /XC栃 o}[QfhZ$^?:N'BAk?)s|G!Gn /yK^)= ` V21G}}ps˼J qa0֟fm '>YE K~YNʕ+;+VJxC)'~˰^Ht|g.cg _մ7?1{Xᅤ7$n^;:[u4\/b_+n*j_.#8HG#zGhy(5G 7@0ĉ# 4k5IO"4ۮJ)Dic$DD:Qkbd.+(N=p9[? BV˺_ÕW^ztE*څz-8v?ieoyXsHzȈ@&?pʼ-o#bc8П$k2:LɪÝH+iTgYPZh4p<jo4h fi NON&Dg"s4aMR$҉*ȡbW,*h77D{޼kj7t'?x>E$p}Ł\￉~twwᡇ25&ZB? 5iY8u:.eRbW`CeR+ktb%9T*e@(H3U%$[K-RONl)UF`Gp w4v8#ҎF& ;jN1):,&F[L^2?S%OpvF;ٸ*󌶸,Zf-P"-?ֿj*9_mp\#˯|+Unڵ>~@Ŏ6OG# 5zTRDopUNĎeFȎv*ŝxT&.Kt#w%D7L3ſ(e(#_ExF#BL 4%dΘF:jA*/kQ=J ,&hMT.Uװ}q_f_tZg>b8޷[_k&vi!믮?喛qLi'/Nߋ7eTrRk)юO&qin͘iGpw4v˝~8#P P:MդQW1aPQcdHTdy$&j-JV}y-ȐI=5_U?o6G? SN}J{n83B/@}RjURveBʫ‘G*ZX꺥xuiӬ[rv4~Fe},`&-UrZY@nDY8j ֞[}GcBlj!Fi~u(Uш@'L:N>kVjf Ɋ;њ]) (#Q!rc?bzllOzPw`?=4ÒOӊڤ|ƿT+ E2LٝՖ[&0.e]pqDž'xBEB+c1L v 1qͻBjM@Z.YCyttI+ 8',2^wwT>ymvS8chL[#9QX82 #-ք?__:d(?>Mq5 [ms/{lx's5XsbuWl~omYk*o*Y_egs4w=|kІ.G-]Ƣ"%"i;~vz֎l&nxa03| t  2STI`!-}cIFX(,8<7n u sD!`+\# ˢ\WYAPvpv{b\XPIfs82J4 z_ai'm ʢOٳTw]v_nҀ? 8&bCS_ՏlU+ǣG,Nq3HFѡMg̿V8#UnwpENk=x|} ;h HtIGS%V"Z+Z &WNJe -]e׽^NG+q6|;›>EܙêU50nqojq R' DX:!jKQkGKF%ӬL q1)?#H?IyšEm]Q1[$pt:lkxn]?rWyBU^*Z9®/,zZyǏoÿJu3#w&@^yd%onފX:n0kYP+D=m{1thN ,=Q6^A9v.*;8# nwp&RtՄ}!mGW@iTNcIffhz2µ`4XNA%RRKg˗/ЯW2h~Μ9a;S>p .7pCx<:\|':3gfR˰Kq8@ጿ5ogib i")ܝE^/cTFCш#5V\xdxr_/XNAlkEʌ ϯwv]*/դ[}7̞=[w!Lz_{hpUW*Ɍ4W!oX8餓|߿%+~W:}oaPH_{(mA4u: G"E7ӻ8!|v4i<Ӹ19h$NaŬ$c8 DN۴1c\Gu+W O5XRS򪫮 'O}; JGP@cUicƸhZ=֎$mƌq8uZb}R,u(~LڣQh?]0Ңƹw4Iֻ6 Q-",X(}U|-۟88Y}QNo(Wm#m;6@.7EǸ$hGB؅7ջ8h >U>Gc˾hf6(V  پrFY.:-ilapioVFBn${-N Y\tIUe pu1p-74DpI @ 1ZI?%:Bl~`V 3XrG")qހDvOw%y-dG:zo^AXk ;ofXv4Κ m;犯 `ƪT'7,ߟk _Gpw4vM.8#D@a`9?yG*ƲS0.(5"mRE$ HWe _vm‹g*cbw 62nDJQ+g>SNs=;笙3}Z0mIalMWȥDt_U /:)E{hWiĊ42S <9|hɪÞc ًX,!’"+<`aԚпv O]:W%UBZ?A{2ܗHv4F@;"oնOI hC#Ο8 y#8@W Ʈ Gpji1a7F`W01kjQAar$KbPj!K=Ov.?8CVd&MiY8Mtάurq`L;rUjL@_}+_2^Ӎxe7s"Q9caӟtxZjV[oo"hxu@~Q~2 .Ǧʌ9NGp;G-8#Њ@Yr`xTi}g8TKVd[ZZ4)k1.lKkN9ꫯSLDHa„ # 'pBw;uf7}V;\U{lSu2ʲ&T!cSF䐦Lhw49=X2NۄBs*:8 FgXyxQqϔ奸.ґmbfBuZ3ey)nDlK.j[ ß ˜uL?z;+ex衿ea2o|c7/ښEq{v{RVhX#ɶ,hRZ3UJ ]IM6Kh!;mE#4:S_a:!]d8# pz/O$B-s#;AԨ@bi$eL$iTR0ՍʭhHgV7zC4Gv۰N;wgw=uQa-ˮ_ש\ &MՋž{╺Fo䰔d= Bp/3ǔ)<64kӿ;ҶMAQvG"щ~N!{Si8濭S-7V%My*w? ww|08iz*],;vBltetA7MTE=xao^fΚ݌%e;ON[YZ@Gr~M!~ zL?|GcG-w8@~B^C徊h20BT4pj00#$GIdF,~Vڵkq /Y8>wn?BO:~ݮ9sH#uoq3oHPpTZAk}t[t Sb=LŚU qȫ !HH/$ۛ Ʀ:x4}tsTVwg+Y:eRYSPau4iTza`eFuf}AvFy 0'i*Z:tAOS mFwҡȹE19KDI;˒?}!cF'0= A4k.lhv4"52# X=,ƨ=oGp;G:#OhE>C??>ƼD4Tי2g>j_ٺi4L ¥FkTF[w}ʫR|"OJe, 4,a-Py[߂k&JZqs筍Gi/Ɗ.FhQ9"̉bQq'\6jKՖa޵\KY'.áw+űirDA~3Ghy4{0?b0D|`fӼG:u;8@-y2 . [ 3c0ō\-Gqef#ajZ/_^¸%'?_`Eq ؜`хw:Tx,t>-/w:NF $bRuYȸR<"F ro4Y#:M<8#}ppFN<"y4OkAԜQVMXj\S!R2c?o8bu BQ&_F)iN ze~溎4Ѓhz|U( DJ3<}OP$EMHBT!i< ݁}NtOkcy|(/#thqG!b0"A%~N7_l )2qҫ UvVMb9-hKMUY2~amje599=WxНl])qaupG#[݋ieHwN '^G k܏tv>Xv"1Z8cH$ؒK9mZY}a<R x8#;p e; &ƩY):!f4hS5SWJ:0I HIeũb#*T֌ Nk< 'NSKhe,ƎFFꠧr(Œgn#?_MGVHdjE,l&XuK"F~CW9$#F^!;#0:Ӝt+ʂXu;;tCOmߟ[o47;}Ǒ;04 pGpGcWN#8Oá/(5ɓ0FъNS*1A^!e7 *2:::)kt~ܧс2ncv0j9$9~ ы@~ui(1!ml:P X^c?#ovyYu~ ߾'J #8݃;^zOGHN1fc:ɗ!N/_խX[$%^g(NQYaC~ylG>p`tpnCvG?#eg1*|xmzaӑO1GYDyUDqeRKcX b'CmEaDo|Aqp0⸛9G;fU=ӈ%)4VNlt<aQ:ׯXDJVG:Pvh-i#G`! lǙAbtp`WN#Xe@ɊtшqIQ}p_i ScpGq@o#8X%Zx*q% XvQUE˜&kj5? \6[*nk04Y3%U69؇1cc퓓9S_`Gpw4v=9#ҷ9|ir7&h̡k !򖯙RNG\4axl>h-CL2tBa,IEnb+qMgdN_p@^O,qȣC!}vGpGcw_#R>c?M8>#L7LER≦"*+?U&JtImV-i?lq1)'pfa)."(/u4b&$ Y6h#ѡ3tIs 5hh5p&bLV `75:#]pA`-Yז"pkP7 bH-r'Bfvc FCMqhN# cB^탃e&=8%sŲMbcŅ#GHX$߽w\P1dR Sr⁤zW ptGpGcL#8@9x_kIxЧqcr$sU5y68 .)*R2 ĜicƸT@ L$H6mQ@ #OÔM1)6꘱yFʯp4AG0ɫpXŸ/? 9 })ƟY9 Ct\1F`kGpw4vϽ8#X`…ý`x~ SfσQY)Vhc jrFY:|uP!B HjW,匲X%p?ÒcUޠ_h;(C` }k-upp:sԛƌ-kZ^׮ `Qް@&};[f3G w8@_ΓbL,O}7KƍheH[9GB.'EQo¸T^/FY{ ̉>/|yt;o,B`}k }il t aq{{ɰsw>eqa߳i N;#t hpGDgAJ7jmOxWeG U|nuqր\a#!ieL+CNW)M5@-C IwkW';Aqlhy#0Xroj,q񕈋Ιi~;5M_]i"hYcO}O>4WLU3F_i_Gp w4v8# ػvU:4">~4lWbWbC& &qy5 &5Sud[Z򚊀0)e*&TI)/kT)-t]$e7ָٖ" LJyYkJi")ɶ5>E=/$!*%a$eka,S(E`顯 c^ l!9 |z5W-$WrJI 5'Ld"&qyME@LBERvmik*¤f.lKk\^S&5Sud[Z򚊀0)e*&ò0V!;mE#4:s)/NF`bbvթ.'Gpw4vϽ8#YJfR煋{sڔ:.LR&̑ !Ye"![ђ= Mbr9?UeIʻ~bɸ:5+BϢõ"a̐(q[cuP(E` +V:Gd: J:g8|aIωe4?,i} T%My_G+|_OOX20іjj0{W#8@ ƮGp2=X"XX4 呟9itIP0#$,(Qu^-SbfBJD N|YZN)rԁAƿaŭGt" (?>2v”˾U6iG`T!׆t)f4fyp0Geu gvSyy;}jL_$8iRU;UZŪNE]{1Fgdv)aUcGp.B]t3+#=?л/bY ߽+;<ӑ30J'>3dVGdme4_v*ڬ1w(ԔtSio;N =?>9"cx:Ʃ|Qң kzX?a8 yL>=+ͶL]}0):z|߿8 8_ : /XNa}T'хcO빺r `barf;:^"DFn[Nd !BB1qX\RmKd$HJkIr/1珱;|dzpG2e7Ի8Xy[Ú߈Aj<~maKbҒ@T'.}4*MPmׯu1k{~Vi<(XirJ:G%&G7HL!gao2:um2ø8s|ߟ}:xx,=ݞ&Q2#.8pF =a⟋?w.1M^xn7c흁MĖ>hҶ! 0?lID"Lclт}?cw.mI ]9qS [rex;B<_K2gփ?|vt25pL)tk$}6#x;k7S=ԭ7 NJtOvG9XqY>pu&}\Kz8#EnwpCa7#]x}$AUj⹧hE%)Pz4ӸWEDFCCqy#Y}Ƶ,>A1?_/chq:~8l{a翿rF+>xnxrڌuVh,ܵi=I*?A!(*F)ï4)W1aץ7t>Ř?v%ظx+Öo?Ad8#]pA`.~{i|Ϡp'n4cϘ3%9mZYMNN.VhS8KmјF>?'_zf-v=>L /hD}3<~dbO0DE8fS"L"P Fl8p$R^i#d o%ܑε܂<H[L5lGpw4v8#`<0 Ó>yfoa}D0A㘪"W_*TG( sTr5D%눐'"rScÚ9;_pp=Eݸ[g9N: n+?t&wt{rg)X*|^ᑵߴ`Bq_z-.K<@l}auG` Qr#0Xa  \S͓PԾ2D*6 _q FP1;df1,9я^V]wCqJ0SON8#thqG !OĎ>L0D(;_ leߕ4ʘTضf4DLI4vi kd(V_BߚG1n&/anoe<B̥a7%Kdv*rm9ωu&n\0f븦#GV->˵a٫_ª2tw:G/?dtb"C`a0Gpw4v}^9#=~Ιtߞ9{ٿZ—J̽m*wT.ܧ>) C8v y6Utl_3=-Ufe+ (,+FBzY [=cx$mM//&ο#{RjuLCJ|zTw|C意vXUuoKWg5dl$kN3 /Jiz9d.%ܖ<+i$eoRw>ٽ[Jga1h:t6L19j  vF9@;KJ60"TC@4v8 m!YEDhJERfQD㽚mO)WJE~H&;FAEZ?T)O~o~5#9(Ԡ_GGo|J3n[ g(7cK.ÿ4pRrRI 0fp4 p %0I{)yA`t;0\R<ţJS$9ܟ?hjyc)?P,Ô9,GG:^;=e?0);|Ơn$7@x8畣 #ҽ::5l+'ۙZLKc RMƜoUR +h,H>&T6 Y*H\H};p,> ]ez^(ilZjG[D!#м~yԯ^WL͝S2{^So=bS bڊϾ?cz..E+?WJ ( #xV9&@kiڠjrGRՌՈk\Ɩ10%')@G`*;U ;^i]6oZ*k2ыĜz^$r4uO"AV#Obm-r0/>.}"H~V Bƕq= dݨe5F}T]]~:;fOQƫIjǜ'/rmnfOA^4zŵ]laۊ%BҗrLw7nCd&}4.Fv}MkjWP_R1}=o|&ή=p-#';_qO=:@OGcX_OF!ni>)QTUTLAi|R%Ԛ1{gF{QW_Y?i1(J C$+4tQىZ;qUdg3FJ^ S'Fl,Y~ȜC`BuR'~1_4~d+nPA25MQg3~/0Ꞌ>&VSSR]nyƙp+RG[euY0RJ/h -E wHJHwYطXcuW}2wǧA q}g,<# ߻Xߙ3|6DrU?w*V^YQ=,z}~^:?%씎3׳hCԺߟ9;*Gf,[ǕD)7eJMY 8ɉ0!d;W`fهf=CJZ2[2[,RgHY(lWӺjm܎UcfMR9 lV~D^qg+V^ݤӽWNeA[5u: *ŵ*N~_jp_Hu>@uu9X@A¿cvP1f 3:mvZXg!jHc #3ԄfՉ~&E:_&|\V7;"{iԬk]Gf7ɦ魮INtNG]m%eDK{a.w s2 Tg-j,ےqiyɾO0r([) eӶli"/Grƚdll\j8B`ʿ}[nU_sPhֽY1#O n]2MuT?^ƲgiՓԼi9)n^;cjudwڀ` uHG:<2 L`ktOB έL3i5NUs{3ۓXُ^lbZ=/*i;&omǍW8ϥvԙ6B @=ձY><[ײIƎ*PXR#ױzH0OlWt1k?!O;& @p%p=s|o@-豸zinLpZ7n@^AeB:lFoc8U0V#U[a7֫Vf..1OI$)5b~m{mڝs,EqI3{s;H: Xlc̿2KWX%mB@u{9p@}NS4;ʺًjaj=MVOCiV*VvM.5ʘ,޼9|׏P&7.P[@bA%`O/~od鮯7War0tz,Yf)o}?oTLi[^ܔtѕ%4ϳScMlBK0qf_(S{RU @`ѸG@@1Y|O f0f H k$"t^g䥒Q3ja縵^?d_pLnX*s[!^c'~^U%9<{\C1k\Ly#ioyZSc=6_t'K7Xb1[O>$o `p42 @`/+~EOiQa^ZOq^TEL3>ĴI]u/E?̐QWCW<*F9A @ KG$Ut!/n_眝N& @OGc1@XCQYW鴗^D{doAqi-Ks<.ClKfu(׈5VۘJReRG]] #ڀ`4./%?j_WU̡UQ!ƌEKz"[Y0emmwC{/Li?OMJd_ꖓ '( @`A @`n{EZ]Z:ӱm֡cl.z:M xIZ4R3&._*U<n*#ϐۤTH'8tMY}dJE\ hgucuT7dX*/6o֓ӥMW~NA h<0r!@`Ϊ~Y٩.]-tWxlTUvZjGj+mMԘT 2KnLiiFyjI38شhx7SRkƫi-ma־6jF9`BۺDjdvUE: OIڐR}N#^*7igZ-i?t^T=tEVR=z]sZuz7}bд _5EF&M9ږ]#l/k-Hm1svs{$TU=r&݉T7RSq:J*obDZ S $ DTD3TJidžxdM.WV33 yYG&ĮbH 6bˇ8ayy C778bSCŹёj}F(1\!TQ'A=w@欑 L)**OsYjBgM0!b*P  fU$dGHqm f aA*~,-SJ"NWU nY<ٸȁ\UX@/)Sƪq 7LDV. RŏGJ bTq1xB 0 R., .jd>A" R @!Ԫ. S9Z@"@.-WzKFw56؏:D5^%1L 'q#367{D՞NxHF ܚ$*~K3x!3n|geV7yfMvW JB 8|?SIcEQo룊5c3[b iv;5vk.`xp =Voqxr \OE%e]c@0Uq>vdT%,`/`pļnn(#c~-`_uQ{طn_uqp 3xriJ+xhe ́5pO Ab@Hap=K0,+lN48΃KO'xz[Ї  !t@lg a"H!)H:92#d#R@!gvB^#Q DQ32Q&,t2Z*݁65}b 1Kcbl,K21)6 +*Zk>D3pDOg56?_=`Jp&8q,B)pN["hH'zݘB&N'."%"%{I$1əG!qIRjeR'=YlAv#Sbr1||GѡR|(1>ee e3rIR~j6u.@=IK[CCJ[cHcFn34>hi:i54嚋5jռ7FRiŴ:q}{-p-_kVVem[mD"Ju(:v:l,j:7tzu#ucttn=Lg+ۤw\[t}}3$So/ߩߦcg0 `A!CΐckpuÏC̆,0wFCFeF}4f/3n2g85bIPCyCˆz5u23niYlqnsC@lͻ,"G,3 ,F.qcijn)hfgeohUl5՚iiºպ&fMm[-Vh;;{dvMv9Ewhj:9k/9NNBjΨys00aanh\ ]] 79xx#lFX6/]9fdȖݜxnnWiݛ_r%nMG|VϞ^R./tL}f,s7;{A>>>{|ulhͣYq6u37wXpjZ>e9Y;X/\Aޱ}3GĐ5!CBBC{<¦ 'G/ 18u1^cf9&aS4% cO8yTY;s{oqaolku/\>v%ʩE_kx捴77ʽv;sӹWy~8 <=zXSgړʧO랹=;u/$/K}ug\O+׋6{QoZ{c{{mNLo'ҧώ[D|۟/JO 643[@ {RTªR<hs}ݰBn>!M-Lw7V=$P`{TK`] ;eXIfMM*>F(iNx֠ASCIIScreenshotç pHYs%%IR$iTXtXML:com.adobe.xmp 1238 Screenshot 508 X iDOT(ufj]@IDATx|$g}gN뽟ҙm\MBǐ$` =CBI(bj+l1`NW쳚ݝt]>cMy3L.1!    E ]3#    #     0kC@c@@@@     0kC@c@@@@     0kC@c@@@@     0kC@c@@@@     0kC@c@@@@     0kC@c@@@@     0kC@c@@@@     0kC@c@@@@     0kC@c@@@@     0kC@c@@@@     0kC@c@@@@  cHԌST@@ v-5C@KD "wIw1wY|ŊKfT@vQz@Μ9.YfӧKT@F;QJ@P۷owv2Pe@@jUmP0@g維\TơlcGӧOsκ7cL7{yy@@` )kD@ܑ#\m][juH;>sڹȹ^?6+n+  02Fƕ" I`ǎT#r˖FwywAu? X,͂i9 E.jJa  0F# CPСC>-WS&ONur==LKOZ(rvM  e,  pq.΋@@Qu{f|,MhtlĦIn̙n„ R>6  ࿏i4&@@j8p;|䰫ĉMnIͳ j]CCqؘ@@F_7g  T]B- mis3A1  0zFϚ-! 8ui0jcF@@`5[B@-uVwpB.F0h5fD@FWz5@@`@ԶmfcոUVم t&@@j Vm-By@@` tuuݻwI&f[ @@:UgP*@Ǐw{qML";wΝ;{Νpؼ_<  0bF# Cq6np5t宾.hpw 8RQ 9w>c[`?  #/@`m  psǎu'3gP;}H 쿜 nʕ-@@  0qNXvf>/b`>[MA5=ksugrr@@>k}C@Fcn7ruuRSnhq0-7LpsqSNS@@`<XL@@`={߿u:i@B2eX3gY`Aoo] D* 0! 7g  @]n}.ټ]wL'@@*,@` @@ mۦM9"Th1W  wk}  0Νs[6ovQ~ ͘1͞3Սzy    ͍@@! DQ[WШ7^G.r(7i$W__oc;ͧ[mMΞkA'!o@@OY&@@`wr'wY0:5kzwWga7SkA6sL@@` ;)+D@8۾m;Ἇ,vmf/(-8Vk]F-[Fс@1k#Fˊ@@N:ve1^ch>~2,f+Pn4 &6Mt--kE@ukN@@>wwqwX VWgYV.fP`'NحE򑸕+W%{  XUn6 /k4ȩKtA{]]E4r,uSLI@@FXz@@`QWkC@A 1   Pm;;5[z+2! 7g  C8{ۺu4-mn~Hba@@ XK" . :y_lcm]IԉťSO  ae  [lq_ Ol.\쪠v`wI7ie-%[@ Y@@Tرcn޽i]_Ԯ8a;Ἳp?ZZZ[  ( Xep6 d >|8xrOsQoBl9Fĉŋ|WѬ<  Xg  (pymVwG(XSM5n̙n9E@7@@Ν;纺\ww;o&4 &ӧZ 1! Ti J    0Ƣ    #@`zڂ    !kc(*    @X$    cHj,    P=֪-(      6"   Ti J    0Ƣ    #@`zڂ    !kc(*    @X$    cHj,    P=֪-(      6"   Ti J    0Ƣ    #@`zڂ    !kUX.Y"tuVvuuum۶gNo EŋԩSwqƶ`9k7o^Ǐw{춙r~>!+Ħl .7jv?klC7mvΟmmmu'N,[f=xqcU_V5kVvia^ꔩnEewv۷mW݊+n*?U}vwTw_>ɒnJjpGLLjfZ}m=fk9տɵؽnMǶV|A+wT O6-\nN;w uV_OttZz6ͬ㭶logNǥYΒKܔ)SoG#ٳܹs=5&M욗69yU~ݶo6mr:NǿJukXn_w3g,СC2%?-tim*ջ;VoU3PzͯVh[}L߼K3mo@UYge7"LM\ssxَ[Ӗ~mܰX2ǿm-[fXnwv]'}Rh^oႅnzT4v;x/O-0u[vJێ~_믯ov+?z{{ }&Z*xۺe;s>~akvLNݎXyUe۱ܾ=b_i4-m^Zzm-~&|k\ۚDhlCj &-sNwIQԷeOZOO,\P;&44[eo[nqgϜ-1TK۾}x;ZF6cǎ}>Ydj}R(Ξ=lʯ[ mYNo ş?˖/Oo7;Nu*k;_H9v;df;ױUivl.\ Sn}D?q[ly}r>ߊk͚5FO[̹jOa&M*ݻ*o7glWvQ[f3ds{%$\muzb V_pAk䮝%6MYhK-?[ e=5N͟߄vԎ{c$K,)]۶qYWW_V\U6gzoOo?_mi Ps齯t 4-Ǿ}h͙7ן ѣNǨHLl Xyނi_)J ͭt\Lw945;8 Y.@ޘ7Zk~-}7F@~.Wc''!@mh7 k߬}hXklC*T Ф0*kImNWڇE[6;ׇXWUj:ѷfrfޑVJN6ۉ~~چ/)9W?Vf}-m̷, VǥNu@DYQa_o&ٗfϖh6~4KuvR}|>pN na`ǎZτѷ(Ղal)S?ƖZy p-=l;ɟvhG8MvIiٛ7U=MpMhϟvւۉX;!MB'5;)Yщ;HV:ѷϷsM_O'sS~kq; ,4'>@O dk?g%Ҧ -Ϸ@¾~/xxV`fU`-^:$Cܨ G@sm#-m^b@?$0.74Ǜͫ;cɂviʤmkRpJҲ-Ʀ\`i?@G#]xuN ީ_mvK+l $m#+wh, Fŷ~[veYz`M.hmF?/#gىʥgk -)5h4mN_*;P'jyZFK43nY֒&2֔kq`Mgrn X/OضfQ2h2D_QXF-TUg0 e}m~Vƚ|{ [LC,=sve0 E Ɠvjug&6ESLhJ7 j S?!=|fo??+@}6ݭv)eY1 d@qmY Oȸӷ5h c_`QW{Fo XOZkCr[`3fdbb!ɖ hvla+WPv|O@v/ِIr~XGmgM;ެݎ=˔d2Zщ buQk_vZ|_Xd XՌ'MM-|u򚖱V/oLCkIp5_7aBe-MQm`y>ߔE{ηm#-m4ԉ~_oZJOOO?i#a>I?*4^}Y5,ϟid>j7ÎMeN!}tdkzT4f.>UH X@[W{h[Y=v'ot:vTov()xw[2'~~_G}g^Mle1j:1"NXw]wj644z,)Io͖p$-ςGlJY5}ۯ-^WN>CK'[wx<FwvTE/-+-&-#XzkϿ1؟ u<.N:;kf?] fb6l ZV _riF (@ߤT--IIVO#[/T K..˟֯mM4D_oP~=Y2T |)kZW27L8 Mkͺ 5=ՅwӦ+hekH VWPe+w)OS1-PڨKۯ[ƚӥN;˜ںxlfێ_EivD6cre](Ӻ@KOѷS럳:H .VV d}8ݺ, j+7VȠ dѬ5S'U@6~ڎʖ>g,USr )C2 o/CS_խX+l _212`'=/cT3hvKYkEǿ…iSn>mYS_WUW5eubS2kE4ްehB?˜r2TP~SqWD{?+C,EO -- OjTx h(ʤi)> کˬqѵ_~4լd ]ӂZI_S4J, 7;a_ƚm8q%>ϟ]%3D|;h[V}϶-CSr }mCo~7Z@tmhn1e}{;>mRˠIĈ#odtR0gQK}2~8*dG;Tk}>b=4{`>'ʹ+]:|ƚ_F.ٻ,x;WS3֔/;@qZ3̮i *@=^NRt ںZ?Mzv{M7$-niuVWC#kCIj?u]ҥP>Q+S'7w7{QYO Z=,+4?+#LÒHZD{(=kkp ~%6wDU63 ^ʯi[h􌵃Ñ~,oC+)xSwV~C~* PXK=ޔ!jBْ_d܅7nX->T1QYf RZgړIcG_v~ )Ozl14ƚ^ևϯg>X= {Z|jni19|bcuُ6~~eܜ?.|Q֘qˊE3ƚU~mEoiXKu4+@3C2\ƳLC;_[]R2hBZ<Յoƍ뱮Z"ģk27Ͼh+ؿߺoJ?]AuUHh:iLN Ҏx5b~Sz}w5/ x,uH|R`MԷ7Sz}#e&+npe-Lm7ocZX!uY4qƺ6(m5/4uL4> ma zwח7YkqYa7Bjghײkkxu тeu=ǢTEvZu)^O7؉Vw?@hLC{?oicimk~ژO>fYDmҎiꢀhX]=6ﰺU&ִvg4Q_[UvOtNmPsUҥ0@ŴMV)oSeN-Lj ь.Wz.Xh4|a9lOǟddnoʊ' IzO񖟒_Aqsy׾of֔]O})-ƺ՚}aOS>fX5-= @vtJ>|@Ժ͖N:|큲|vȺ.c-G,}N!Vzk> j__ڜ._ױv Q˺Gpeu)5hQ@/k rZ:i̷.xAƢ5V1m0u f  492m_XS|&j] ZW֡e,YdShDj3?k |*R0jl_ӤNN{ye'k*rYkL]/+ui-pߴiCxa8Qmjj[o]~{Y_aȞZ>SQ`Mf͚fiJt8.I_j7})+]:v eٯi8c->z󫷮in0j+hİAOei31XWofbZޣ/B_E:IloiXc/;,-007K{'e>ƦM┍k_xڗ8řjk|J -k_Q3L {Ɵ?ozm+ Wk̮y1 xjx0uE_MYc4%?XcϟXvKgDhgukv ]eǿ7{O)=2 }&eǿqXȅ e?+,;Jk=#ФM4|anc^tM6cאqp¨_SrSp#-#['gD_%OY Q7jh $fu):MQ:KǿʮiS_ )_K.^_V ow deǛgLzz}eШ+Y8]R4x}%go-KtD3Y9_@TX2ֲZ@2.̑ jե/"/ʪڡqD[}ݒ ,=ս@hNSr=#X陆Ǻ>4l/^`?*f}m\gk|Q[ pжMV    0FogLUnZ6>4;bQPӺUa)    z$(j :C[    0* k5;N[SZ8R(6#    U,15m[\XzK`l@@@@` XMG@@@@*)@`l@@@@` X¦۾}{j*]_ KK@@@@)@` ۽×r6*akooR$@@@@`| XvW`MSN:\F7p   ضm[|EPxA&p--l^@`-eYZ.l5;h,dp   fq(M=ۤQىZeSޗEM]ASx@@@KY@ 8>v)W{LԍZ6SGGJGK< -   G3=*@ N`{J@ ,Y7PMSN-<@@@ X5 E϶*@@@CFNdž[CFe+FK    C{YO ^mZ =ۆ9̋XfPV    0>v    ,@`mAY     V|Tv5PG>ԺǼy    Pqko}hZE䇳趕3     V7ڹ#k3A5qx@@@KQ7[lA-G}V&V6(+Agg_VoPkeT<   %/{)V:{WZPXS9>\BrTacQ$@@@FX#߳-zx F~'6ў%cͶ k0l@@@ (N8g-!qR[krՊ'N{@@@ PHQO44_kg    V**G7> ݈@`mĉ    0t}6:ܹRkJ@@@@ƛ@@@@`X #+A@@@o֪Żv\ѵ+L6 KK@@@@)@` ۽Ssnt5ݜi2UZ @@@ƫ*lN&4k=~    0n[6 hd=r]NJ϶J*)XgZ8MG )XA@@@`| tZ67֬g[ 8URﻂg>eM7:lXK)@@@.mQq`MKcv֪|WP =( :kUZ @@@7 8*۷\Ȳהښ#   %*4l5e1'kg    @!c-=ܔFWFUk6@@@@! m~Y4ʒtePݡgAq1kÈɪ@@@@Ə@@@@` #&B@@@?֪ϟ?Zy@@@@`[ytxҕ>lxB.@E@@@@Z4Bi:;;,kn[{{ Q`˝ѡQFZ%ڃm"   PI8"j|j$vJm* XB/&VE@@@ae)>%g\=Fuytေ;7[D@@@T5KTsQ,lF϶ xg!&@@@@jАQ6DTj Grrn/kn   #i5MAf;52A4A@@@]ZIm@@@@FI(A@@@@KKڥ՞@@@@`lfӦM.rDhS&z{{ݪU.f5̋    0FwZdۇJC@@@fk :S`8fu}pu    P6Y捦[I϶ؤ U?kXq:;9mkoZ@@@@Qڍ&Y࠭8kڴEj[=l+@@@Wgof`cȨ*e%ځ<2д1ZO    p  Xzq7<ʷAY N>]xNQĉ s@@@Ƈ@gǺ8fՍ;cWAXF    @@ .~|5?tTε3Z٨=O`mԨ    pb%}t9zD*vZ0    X 6[#   TLZ0    X V{.~n<$]@z#x*,-EB@@@Ƨ*lnո(-r=v KK@@@@)@` ۽ӂiŗU}`Z6EB@@@`Dvoj|6_-^4e Xh5g qX׵A@@@@ggEeXm *0ukotvc?T?xq;kޅ?   'x(‚DD`-.5IDAT[W`-T_e 4cr$   @ܳͪM 2bJ%VIm>|j, EtR=g͚O#   *{YP-}A} X|X|P@@@@ Szh|{e. #@`mt     0$#GXu v̙CZ dM    H8jl    0|ֆϒ5!   #kUGе\Va;Q$@@@֪;;YtJ>f׶Wai)    0>Uawtv%t-l5 )}q*l.4D]fݺu>ShoowC\,l7V__֬Y3:f+   0>sor>V`q Z5itvX`-?l5T52ւ c_̙3nbD9Vnܹsbw+}۫@@. 'gCE^YsmTYkOݺke)3v2֒`_ܝwީt>=νO*P`ibqnΜ9U]j֮JuȹK;@@. 'ЩS z5{ܻM=*+@`[\gk>kb+@$[ݗxT>cmei}}wO~}Z`m5o@@YΎNۀ5%>=F}0k'6QgϞqĴx#~kon?X+.\n&WS_2eJUWaƍ=y/ٳWuy)  \>c-uwV%V6CkJ{ލ7Z`?&C@@@z:=r6FZ  Q[kgQ ִ2"&#  T={A|wАܢE`KK_7keiӦT)u[xZwvzCxfrK5פ.3'O<~_uNkCkk~m˖-ʚ3gtQ:۷7q@[[{#YSNڵM<銙+Wt&M˖vN8 :||ڎ.KԖ3fp ,eɫjQ[766G?r??ϝڪ{-   (I&cF/}i4yҤȂ7QCCFjj# z#HN?Omg?مoF6h:kw" Tw?oW^" pŊn-Q3LZWWWڛoNZ~uE)}pСl콲uh]uuusȮZhD&Ǟ뮿.^7Y1`[agFv5h)ycKm_-o9R?yGS[?ɗ k_Zn浯)*WaĝǏG++n!WX~f͚S}ShY}>mGMڦmYYzUz7uآ??@@@A :X&|PGe_%8J=_Zf_6 ^tvÝ'_e.E+W,.wX_2jn-s.Zr7etQv뭅@>2Aĸ~ZW _> wcsΕn̸yXhR$므:m:|pG>P׸Nq/_w]i:쪠I _-F& }C 3Y]lٲa{Xf!^@@@hoMɂP#P]uŬqﳮ$/_yM2vK^?{h8w OsE容8-o.r.̴z*wW8 eM_SKܽ5 [˘h\wY׻za+VnZehW=,Rx;r{ƍQպvW^y^x1=2hjR=ßnͽo @_%KgdβeN9˼s]]wգ=ys]v~ggӶ-4Lo{ W YFKڎuyp@e[\x h~_)vBp1ʴܿ3ymUZ2Тxjaal@:-Chꦨi̖TXϴʺzm-fK )P``q>P^Z:A?[n--l^}~;[֢J-?eu:o46nXWuߜT|']iYI]8]l4>~괩eVm(kQ@@@`l (1!In*/@`mPVeu밠en-[M⌵8 u/#~TX˴y2MMಮ}YuqQЬtJmYbM^{m~ߊf?OQIά`uK`71*@@ Sf„ Ν;ݷ.m/,{=LEDCfc<~iƚ2CƦoڶmMֽhV]!Cl'7M~< rueAu;hhZ>E{^O{b[DŽ  c[lS@=ܔc7TykoP;hfO_r\L WV.95kM~!3LWLNԧ `:LL Bņhp_~_0e7הnݖf)P,+k,𤫏qm2~h}OPpơ+[*B^v@ +b}]-X5XX Gnu!P@@@`l j8AC϶jhU.^`g6uי&;Ag1b~[n,c>f/^'ƈ6Yݷb: 8*\@ O4ɝ8yh=Ox߾."`'gaE>x^>mY}nf{u[tӟtwUW qUX&뎿xmӲf[Lgc*2E&LPl߷_, ,PxA~L2.(zXwdjt&ίG&->_Au}{ɂ\"OHdف.0rnuEyKow[o?h Sjg H+˩/~m"L   0v:;:/JkRVN{X`Ӧ>iӦM MvIk.^`&7]ACW\VA58__G*Zlyd1E-o}wɓVw_;gniOX0ྺ2Nz3U}jjhh4F~5]3kW]7 ϧBWOY߿h6;ҕei?؄+coW g 2,f#mqBƚʻtisQ}6lPh3ǃ=nK+!'T_hqꦫ2h*h|  cC@j>k2wL+hۀ QX@]AC%W+e{{{} PxL2SHWa,X ۟7o^˩Ai[7<Y[[[.>P:%ˮm4qE %˒X |]ECYԥTNE\&_o{{a=WMMMq۲o=vVh˖-E JXe֧`]8L^E4ִΥ)OӶ+XK9@@Ɩ@a(8Xц֪(5B&̞=;ki>}z $|g\v؀q`&e^ |ƚRށ2Sucd]B|`%[ɨ4+6|]m} m?59ETOCs?Cɦ@ilg(S`IW$_a ?qB *%ڳgOj A.i`o?7o.Z /݇Wv-f:_ڟZ#  0vԋ-nSlD϶h@kU b(6Z!4d,X`M)pW??2ZT,LiPDe\Z_`-oZVckk/Wko~m"q`M kZ/7+hRiZ+[nϘ^ؖ/|!2[]Df͚"Eˇ5է5Wف?Sz[ Hm\Y}0/]0hB9    0<ֆǑT@ _WPxA!Ȱ`o~]lLR6{X+h @tug(561,fA%wg2iC ޽;R\Zͯ- UBϝ[<&=Se[b]zWzʸT _ٔ;RDZ4s ZO@@@A0 (_`- \"c|!(w{}#)oW,_@cYcEgxaWgÕm/+(___./.+k ii5劺* p]Aa5kVdW-U׿k)G<{i]"B,L:t9X+i,0ܼ󣮮²Yw~_ExB}Ⱥ'6i]A 6Z   XV[Y#*ߚ/5%3cojH tTo}k+X, k4,cMAİwO/j\0kkV2֔-¶Kk,kgϞT ~;)*wڃubCWo9 ^۷沋􍱖W@@@a 6 ý  ]҇./7Q-c?$,xw*65 (;j0]A}֑?G+j 3$Xok\UAr\۷'l+ 8iXS僽*hfZr5Jf l}s klRwfg o(,5) iگԧy}ퟟEk:1]Ac'@@@aiMvTE@{E5vZݶmRV(s暫Ee΂Mu{6ƚ{h-Y@q|ͮhYΝ^񊗻=a΂Eήկ7 [O,Y,˝?wN;gYQIOzߎ{<[hܧ~Xsv"ֽ]u~i=,.,=9u,vMMMή,nw븟iڴ{u ;.S/S*wC uL[n„F_o5m¬tv5N{lk]kwW:κK뮿][: 29ߖw]x`As׻{rcn2ԩSÇ~3κ~&6Nt7]5P& Uut;v(=z]~nN{omiec뺻Tfm7O+zu2 ePڹ+rsso~s|<  cC@iJKSu euDnb­D 3egx|ox>,N|_r\)*p2\4׺f WպJ3ִ,((Kq gM>=EJKJ㫯Ae%2J3,?,Xch+ʙ~?#ԋ X1Zv-wʗKsoE@]A'O,8g3m|_M:PдiL._Ed%e  {:~cűzZR+Te @'~\eŬl޼9馛fiRS!p f,3F-*3!5{dJn?e/yUy%W*Kiy{Sg;v?mŊT-֭[Sq+1P`t X;p0۶m7E3g3-(=1ݖ=yԩx>PSW7Qgggz,KP.nYV/{2m=iOoJ[{f*l~̄  c[`  =\خ*=]A-rQmSgud:d'䮭c(Y|?u'gYrii1=TGF9 ڵ޽ۧϟ?w 1҅G(# uõ 滑꒩3 OmU j^_—|A-L   P E;7AykzO[r'A@@@`<tX슫)61u|?ON[Z۠_G\I3!   p,fqg9TM񂶶Q%VB@@@@ 5)2dT0-Jɳ]@@@@`ZSW4pT}} f 6@@@@ v6-C@@@Ik#˺@@@@.YkUش۷n/믟k[]!uY"!   SZ{ggm\ "!   8 V ߹NY\-_F7.d;*l-   lm E 쪠ֳm2zk'6ѨakJQ?.5s`B@@@` (N&6*pWDW؁   'B4КeeȨXr U>s&)kkk3@@@4:,c-ߙЫMI|{X|ĉe)S>ϓ    p Z6hߜr*gϖ@@@@|6YO]0Xng 6l@@@@WWi6B_'&ӳmô$ad5    Kjoj    0Lֆ    /kU/\#Ӻ҇yUai)+}c\j{;Qd   cNZ6YG:+]NWSdA |ss/~m朻}7 @@@AXhiYjv_n^2`B`!+ 6x:D@@*o=4mJQ"l,C`G׹d,>e9wҕx@@]CqĔ7 8 J%V)~9W4Y$gX뇍( c'@@@` (&?b CFy!VQ+k41Z:8}ɓ?۵k[h[|[dI5N:~ݻw +Wŋ\ 0p;wtgΞqmkի]ccT`%6ƚ>r'{we@@6rveU[Q]yUarmݺ? l??@@b%9< 4,SsUqGvcXx_nqnE:|E{>gbue]VO1 2_Z⚛nz{qWZZM~ݿ/~0nXp>9|S~˺{M:w ON p/{SO}SUzU!#v|3 ;UA_vU{ /q   C Y#+я~e˥KfMd7_Vȏ|#Y7ngm)~P4f'$ce)+dirM֡.5=Ow?k/G~E*Ldu]eY $멀x+? Jux   P=TAG`Ν;_`[я~5IW\b ۳g TX+p?㷾 ;U*x{QQ]`]C>@]~奫(z+:i{+ִ..Mʼ{K_ײ}ƚ]Tӓwo<<   P Un:]ӴԩFpx/E ݞ{U'=I?O>OW>3lUn גw-[mRʕ+ /Ru`&u%4;+^ _XWГ6V2>dWhu7t_^c?d%5   0ֆ[w1UwA"F-m'TAE 8.1S?tPLF"t:D j,nY?LD5NcD^ENP { R}9cy~HYmŦ J6x֨B;7MOnkGyy {gGreU_6+Z,zא$@$@$@$@$@$@$464݂ԑ.IN7n[ i]tf=J!9ڧu k{zԈ;V^~]~l۶뼝Yc!)gٴihUʻ%KekcMֱn-a@ĕ풪UM&1s+#V ~gl,o0@%@am`š#-BPX jWɾ}2e5kZ}pEM=+ 23""Bnܸ!cƌ:b fvqg(M^Ц:IBVұ䗹cVP4wHHHHHB@#*E?7F ^{X۲uSJ;?*,wPQqˢiCb46D\dK'JMML2E0y_UTz?VJjjgkTyM.f_̌?QcAIIIι@;1,_X]A!!i]Ad `'`tp]nթWzD϶u/QhځmA7$ք:ǕQ3eΝ;Md---5śesCɂ ubR}گVѯb͸,7B{eKee=l*ܒ F5$uz) »l٪'XWI"dxIA]=:;߹R̷c]]ajfri2yduŬ72|p߮R[[+iiiq~\R.?(WPc&.WTp5kn+? k~$@$@$@$@$@!BJršj[#0 MH'|}رc2wܞ;ri?E9h@ɓ'rO3B[15si,'N^H``(y.a z֖z{BnIHHHHH D ƚR 7&wf"ˤҷ|6ߙKMOOsɰazt;F n͛7eĈڵKVZeիWKtT ~ɬYCeڵ<E/,iC-`u9?2*R5d}IaMGJ`i!gϞOqK$@$@$@$@$@!Cx265.Q؏k 6T,kx$&&Hk 0yR^^.?UMrU9!2]q,,||9ǷoߖXyVDEGIMm$&$N;?u---UItMMMf]"myA޽۫]Ze-kee{dٲfl kU1*++ hk׮ɨQ c? *??_:?7nE&YȒiӦ$uݼu\pA<(ϵ JJJЊ~JsrrN_l 68u= \-kQVpDSΝ;rE9p\={j 3gecXAd]A>K c2qD#2b1.N uʕf!      >'lD?>LUX}@^jgէ$..I{pBvW+W{] ܥ `~z^qt]͕P-ִq0 la sb*%̙3#˝j;v@w       k}ֿ[^E|xh{ɩSI;BU+<11sݺuRXX0g *xƎe]} =Yf//kCߎjrOXCc-ޱ6[+N)@ @ @ _|5 J6-޿Yz8Q@ @ @ @`pjh]l.AkBq8 ("@ @ @ C`~|>fVK +UP/ ڠ7A@ @ @ @ @="zl8@ @ @ @ AG kq@ @ @ @ @8@ @ @ @ p zx \`=ᡄOcٱp@ @ @ @  Xw_Sbe3W@ @ @ @ C k+ޮtJXXBd @ @ @  |zp-M=,/"kCXH(zN[[8ֆ`sTj #Tm]@ @ @ P6+h'A܆cmߕvXCg)4}ktG؜ñ+"}(>p @ @ @ Pd=|!;Bœm5OB±'rez@ ;M[< ?>!LnX'Lr @ @ p\jrlk.A@ kTnٲ(":kF*# 5?'X6TZ'#@ @ ]Zy.cm7k?sc-Yc5N?@ @ Xљm(7S8 F@j=^_'@ @ `#Pd[>NFƓmAۇcmРŁ@c-9bh۸@ @ @ #@ XsZ|8Zd@ @ @  ±6,1."<;xxt#4@ @ @  X8ZӢEǝ!2` 0PhjzZk~ @ @ @ L±6B]+{m RW>V@ZٽlwR9@ @ @ ±6 :zL%+zzǿ9sUTRk9bZ @ @ @B`Ѣmph]C=6kV<6fnVɱVF;qĊIޱ3k_v#@ @ @ !W"ɶZ7X~R{|Xdm\Xs,b;;$X} @ @ }G@OѓyW)9 pn%cGbvVkaWRsiX+Q?@ @  ɶZ9'H >k.5^%{T?Z7i]։@`УC Vk@ @ @ !׬3CXAA PcjyZX&@ @ !'&]r#rswvScm[\ƒ쌠z4Wى$(\94Fٲ?_hv[$D$@ @ @`m;&M've±6/_V\I>}'?JD3Ϸ!AB~}nSLiӦHl@;ֲ҈#@ @ @ p `wwwۃ.2z<~wA{c>5xr%OmMMM!|eIp@@ @ @ @`l2[jVɹyZ9ɘhZm ZSCrB]3c'Oӧ:dGAt@ @ @@ k]]]p!VO@# t6fSR;^C {Qpv1G[ccc@``(hR>@ @ @  .Xjmժ geQk PC*VɍcS&jZmW鏂&ht%<:@ @ @ pF kкX!.wC;ѡƕkHF$H4YY)<l+gǻՄIlc r8Ba @ @  _VC3&WAñ6HMlR|!t;4yzLrL*@lUlHjCܳƊ?@ @ u9bz\оp R12׭K#XzԲÍ4]ّܲXԬ@K-i@ @ @ 5A5.W `6&C#Ǯ5ի{ƧgZ掷Ukc(jbZ["Xn @ @ {F5.5lhӶQ_Z»{\`Bx5KӢ9iO+հH{m$4n݃@űɝL>@ @ @ 0hoou|9b0pAZr~!tbZuEUP_?Y}1y| tZkcm!@ @ 0F5p8(%Aop r`ZpT[(QW_ @bfka@ @ @  ŋk_s5/05pn5Uk+WL_{KUt M/CxT;))@ @ @ @8}Uk Xghf1kXBKv죭iE@ȿTkhD<@ @ @`"!ҲyZvG@yzZ/cvci8 g[m2ñ@ @ @ p !ZB+wOL?59j>hkjjTlb`J@ @ @ ±6(漏eKիTx/GJZdLƗ@(?Xn5|k@ @ @  w±6Z5T1ЈwՆPũ* `kD"@ @ @_ؼy`s-K*ѣ*:pZW_|^·ktWė@kvȫ(h-P @ @ @ +wϙ3gו"g@ڀJjxާsGώj{e XOR'=5@ @ @  c混 eWh ڠz8 vݒCZ󫠳g5,.*kC-]?3fgv#@2uj%@ @ @ @8ֆp ]k\42N@GvXv[E\ @ @ X;0927􎵴$ٗ&g@ @ @ a@8ֆy4=bZ@ @ @ X 1 $oT Z7hz @ @ ^#* У4(/J@ @ # {KF`;6md}_lK6.՛ؚaڵնvwXGWu\ p?Ql+J+KiL[Q8RWLHGz 2!a<4&ѹĢ|>β~w1hM8jjlR4XKSie#Zm ?;fdGN:4CwC{m?džW`M[Eֽel[e孫ͺ7Z{cKn4tY{u7x67;:۝9*B&[(WJLO;ʁc 4\PthHcϖ>r%p5Dt V1FN8f59ycml@(o>u/Zlˬr׬n4۴٬l6+wvYGX*{898qɃ:i$W462(MK~]j߀J V~{oiRs3tV3'MҤ8c5:<~"-`{tF[zaw7wvۖ.U.['}r[əDӼ^D̿dƂy^*AVU$L5.X7oypصd$\K575? 6ƎhmҘ6}H>n1m}PCP CαqFs57v7,; ҍ1Z 2}FzJ,=UsJA?kv´9vʌ촙ؖB\c/~zXrͤ*wwXk<+o~]\鐇s5cd/(H8E(/ &(WA N vDx (h='dMdMNDqF"Gڶiwmڭk"QF~c]ʈaV؟>[ ]VėQUGB8ᙆU:п?dh;IvS)Lq6dkw-nc_[.*)C $( 'B"F @ rA _L`6`}-Kfة3N@;ؿؗ$bH~n՝ms՟\uĽdZ#0e IBNU8bG'tTCc`$Yq Uy\WOX4X]jl;X{pB_d_=Z,c" Jb0GY&8]F:XI7cy2p_ϙz175E@ =}쯯գumiin`jHN:Vwj~HmۛeɻyDJЯ["Cۨcd~Gs/YgV?ݏ!:jT!+|lW*{[cWp}dx 9Ss~(9q`TBbb/O>lyIN_zXcHsxMX-Gh̴p監y=>`b5N9BbDqJ4eAb[Kx/Ox7d-Gz= cߝhpևfݠ%cBIų?=9Ӌ^ -H(fP@.'bty u<"`W."@_n˯lB:-^H[«:I<),ơNY1ȗ1bC T 1mXM7658jF_JcLr-YdE|-^xt&Ň(~_駟Cc=fOm038crotc~|CcZ{oX|[uH?ѯ9w uشҮ6%V`9)'x luL5o龩eal<$W Ls:㡿~oe6eƏ DCOi[ۖ{?`]*5 Q xRb"*&Li,_?j/r{ӒĿY'Pr<5l W+xӼcXia뚟#-&7șϦDE5$- 3'yqQ"$6 `q,YSqz0m*/ B? _=3t>;hcߩvի/| ΂~{|y{kGY;k_M>W87jov/Y}o"wRHzOW1qv8%48f&H??֮z٩6cB~Xdk}k(yāwSQ<7Y8v:F琝wKnQQ4ȦwkRYxOڇ~;l,6rBXST,5@'jm_em+caGsN,jȄ-W驼1ReП7L1O,"v@#kU-z=xdLO~~5@G?̘1cEtqΫ R٫=W^ye>GyDz!kmm."?"¥nou/10Ŀ9puM &ҾͿ($P ڣN>~]'Qrc3 +©s4KdC%kƴݥAE*2,q[xQ8ίkLʡlhOǿe}Ycy1c-߀н^E{mӼw[s/b"⼗}I$~I SV4frЂw!q~R( M6+i ~w׿uݾ(%tI"}m'eo/z6a O087VZdQmԴ#35|=cG۸+?`M'a3Gwy=)OLKw+}˖-ve5\S_jl 阾(׽Nq>I5WH0jw-B5adh#WBpſud}g)^}-~wq;~zmT/op/q>ށXA ;D>#I x)/%i>S~GM` ؖqg|ph?^wFD3⤢+_i\ᎷXOf@xO٠ĕ)[G8(ga6/8cIhA>Un( *B?[Db; kl}ۚ#|$X~s=׾oԩ`0êϩwI<zUUdcUt 2Yv%HX ; ĿuUxazb:;;ϷO}jDڭުJ7lO{l֭rP4ߵaxhF{5 [:\^ى#_;qrukw.V'wmMӁ9/Hx?+y xɱU&U5Y1q̅$K&.9#/Sk4"5U=&u$Zɓ'nGyd-P2NoW+\-ӊ\s{a o"hb3/B~~ܠ?c5;7Xv~d6x//aU|͝;W9cm„ {+6U!tV{~o+6thd?2"yjkdAΖ>ngr;P2*bTsdaaF*cIJPcqyxy ~fKx,nܩxGVҹնG,AY҆X{|g\)."Pi @Φ;/CPP 䔃43ޯtĆ_,57XC5CwFIRW(F\lR}XS\y;Tbpb۳ulBuj$oH5B2[ ێ _d&r/(85778~)y/~cJ/X*=zVkQkh>&?xsw,~qdsjf$45/8 5J>ɍDq,sS"L18bggp2P4iudga$\xaw! v~܉ĭ]I܁q-+@x@S\CFjQ;qxڛ-Z I}cso~ O?oZv^4],Hk,o 6n8?+NU; lSTҁu?h$6h&8֮5׽- jc5fiU^6WF pB5>ONA6бG?xU9Cu7 tRVO~b#F[Q }@R",?qHϣZdtM7ƏjCY?Ī6 #BS˿4T'%LD8Qgg:R>KrB?NJ޸mUaL,x59@gg(YA_{l{3Aڄ~q=jFQ W熚LWkXcznGOJ`Pe 4Hz]9*a:Qr9&s0rIϙI!ǟjj[quю<ޞ+~Iq?PLD}1B еn>} 1/" EHN=6JQX雹HQ7beID\mG+Fu9GNү2) :m >$Cm6buoތh6P\?c09ZxvFkӟ~YFO?]2l~X/~ߨ:;"5[`Esq91h#|)G) ?>!CYVcMb;jrg I:4deC*ySb(} ]O,c#a: jzl1i? k:.>ƕ`߳w1{6`wc/| {oefZ{5?:G.eiCm>ُȡ$E؍اPŐWXGZ#7[׺v`-"MZȇlƖL#ߜ|,\Ԕ!9RO褈(0q.L׏)196^o /u*6|ΆP3@ ʨ[l  Moҗ(3jmKu9'>dϖM36~`bS tmNU|Xk8tn9 3Uѩ8b,KTy#5Ǚ$3U8¾wC_d=ף弝~DK#6vevӜ6Ods p 7E/#8͛gW~Ӫ{/ε_ u 9bOmMt~(JK_P(86ncp&UA"'ǐmw@c5qGVn*>MtοȕyIMZ;~\sjo9t{Fc3JmiHϖ* +He:jXƁAG:d . %OHPOBPŖdR4Nu;Wkj6NWUnDk8P{6 ( 6eSd8`[46YXN/P$m(C OOqe0 ˲ٙŐsl?܈Cz--WkUfs'S?n|;.w}Ӆw0tI_ۦ} fcTc\/#!8k⽃3J4MM?e*ߠ9ęI~Y`~ ǿhfe<_+?JmGP+Vo̿_f#zNn07Jx{|+kݧGKqd{w?k=[ ;x(>piA'`qgb4ӼgcjKSVY+Ŀ=}` 1E7Ey'>lkX{laeZ'clan7NjL##_>/}Ev(k"+:T+b4Ug~w8:h O-M@v:-#B/򔙺Xׁ-6UV`ȿI{91[fk'R"T'V5%R]f jM,uL`ȿII7wٶx!7dS6k;Zb{k\pAO<:hW^Ǒ%>/iG_.~u=8*rE)zE9ũ >Q=vHɜA~/d2pQRƶHTYfbGn?y ~(G; 5{w-V{hkUs 64b䄯|EVUT_я~dgu0F:_+79oh6ڼGQ=ЩlJ+j8}\GSm|,FB]H?rx?8C J:7SڸY1Y[Qd!:ƾsdPSKڻ~>ܪ+#"zXAcgش1tavW=@D$K!JJ'Vs(z΅|)ABJG/V d~٠TlJ?~Nq23#{j@;m]\ݒ{~Z^Qp|sj J*z\)vT9s;W'4E]9'~9~6eO>GMs˳ -qo6攏[3͞ Z>+\9ꪫu\ꫯ?q;j/{/hܕ?ĝ9PІiS_=~[Y#zj69tlr zCr+u{%K0dil5R# vv1[i:HPb??u]~92tiJ&4de>u^CiG_KU_TR$[JE4A^Q3 `;Y?_f-^ ҹyigwkϰ5uW?-&EsdCaVJyc툉cW Ve*eЁtӡlDmJ1+w~Jc˨"噙W_ `Տ؆mHmv?k֓\85BkDu)1B`ﶮUtΔbl]-ϖ/:o*{Km[2HeQ/)+5S:`w x9X \eO2Pg?쇱#-'?XypQGG X~a{K^bwq \ֶQblXo'`s!V7GkiKC8f1_¹9F(T)_%Mÿoߨeշ3Z?~/G5~9~iK|~;qD$.C\<L;ՎZpx1tPʴ@)f]<SFܚ|Efz?_tԁu{R3Ά_ˍC4̫OW|75smڶ.EDQzpŤ/w=n1ֈ62M2dVGS{n3;h {GpP3HA0A WX4,mVn{xciNj&HHH`~{>[6n$_6#|1i|T)'Kb-]UWU+rI?T&TbB ۺr[XO WٖŶh=kh e|߯ç>s9mwo],9D{wu"oo5_ &9mnNzXi#J'WEx=/sIS7|P/|E?"C>tÿ+Y+{ٞy~" 544\d1>v-H%o;xf_`N{y[5'ORaM[8knl_ORp/ts$G:7Rrĩ&>>SeT8\u~"<*[uZz=Am\? nGCojXj )Asͱnnc&:N׆<>hHA7p@䣨'g]>jA`CgP'"I29I1 ;cAF|`#>e6,1x{iG WB4xr>@^P_{"(D:tGVWK#Qq%UOiΕUե,bPv3膞6a'}on3Ec[^ٗW{_])2w\;3m֭*o\AaC`/cNq;ѐ#S0%jTqF%I& &NtLk/EC+I+1%X;|s/3@vc ) 5? 5.ʏy_-bZ^{Q6c(ˑ7r2bMr'4M6GI6a"7:^9 $u%Y+n΃$ɡߡvhl]>fF)6\@IDATڧ̱?|~m hʾR'᲻5 ɞ0}bU LJ]cɥ"̓D/Jy lc7̣ε})"B(nPK h}fُb[:UosRC4ֺ n]q2̱vo'enŹ1gGgN3fKUY84ipk#$FҝjS~%CC]| s.Kl=kMH"g܄_ kkeXpAwG>K4њ[TJХGǁ;n %{5X~htK3])dy2 0yN܄Wwm#ֳQeE֋^"馛㽉vi׿UEGjOzғjk_/ֽx8'BYWYj7u5<>&Q^}Ol7?GI#=]?9A Ps{,+ޢtmlX,#k!lnGԇ}-d1 9:)N1a2i ΋L9RĊ0epD_54`#&.Kyx=-246;ulcmC{ɷ^^e<[#liS̞|ilqפ!7`.ʡ&y7\4RA=`&kly,) cưFoV[eUCnuDBP`Û{H>#ӹ%e[+z*"^+Ix .O|72!E PO*qUjUÿSl[馀-[6v:OqwVj nf8k'pB};پ.~{ֳe<ʜ~o?]։#PހӸӹ/i>Jcƪ ۥr^?=}q_ % ^{zSR&]=f~ٴɺ-Ю?ěec`-<99{衇e  ]k7m~g8Q\_j,dlqZP@ B"YΔByb]](ͺg Q2(T ƎNz֗-0 {%Vo k8]n~2V-O̵ 0`%BeFM}R/`ח6!G (LA{2 -%lV1[zW?J;ao$GE ]k٦;h߀+rB<,^K>R)|"sS'yS0KE)5~c˥C0Fe99Cj]>eMη}u>o&\5Bl;?;s=_S, &&|o'6p|D9^J௵ Drd8b|[= RrNāh%@c=FK؅ǭ%~կ~e\pZʮj{VP?lT5v(}oU\&Gz#>vt \, 8LJ蓄}rS(>ςy q+Bu?m`c8(=W.9˞t=]ڏ>krdy4v;r!P.kMKߑ{KžQ,$TRI@+ (T>l;6%ص/}G?Secwاxb})BmضO&~B#_X Z&5 KkQ?t^`qF$I4"`Mζ}w,ua YO꺿SmﰖF}qm޼^u]'g϶ƌ,{;n xZ5I kqV 5>*}7e9ɘG^OIHY> ⟜dVaP#%{$ lýqHߵ!+oܴW7oώke^HO~{31 zqwQ$yUk9~QMvA'4?pǨ% PxV?9(h{UaS,[1?s\6⫴l=5kmBMku ni41'h.K?~+04xA=I ܸOdIժN䣠,::O!%_d1h/=' = jևG8ĕ(f+Me/X99T\彜ΖGR%?OT}K}&e m:{ _;ylđgNcK. ,k/3rٖ9)R?akGaO=WŤ:N_=uʕp?_ꮙo䳞fc6Ϗm#:,No~z8~x߿d0CfFs"s16}/`0R=4ygJQN]NBP X]ԒAdIȩ_(fZg/],Rve/8cq8{/O Un׾ 0ƍ'ՠj+;KȃP9ޤsgC~}GZ%"B̡~/Q%~ m[oyDcs^F#M2ڳo"s/ΕrjAAh-qD*"Wr$WcݮBGGqߣ6w\@o;Eugz:oC8m[Q"6䰆Cǩ^T\){}ı_ ipluH#&a-|a|q:A[$`hMPL|QiyqC`gm-.mսh_?~'v gq|vA86}G`f]4H(Q7Phtf"RibT?ga8%ųCnD, VPGU_`=Vޣ9?/~n">v#׊4<|POcg֑ ZD.C>`<^吟0ߞj\BP! M}%#t¥N>t}MgW.xb5q]÷#kdW=enW`hPb'_NRɲ/x:FIfZḅ#K_oj V=v%h~pu?ra~bg -F t7=,Cv.>?iXÊfs: ȿ,-)2svR_z&s"=nfIc>ӱֱj 3Q#lY_ev p]wɉBÜ9s0ywںu"|;HHX7ZÏHs/7sF$Z VOQ*ۑ8""W5MDRTu6I3=vƿC{nTK{) #_ۄkIVD_76b{g~S尖}'Cn?QgcZj"UcDY #'6|J,qiTKdҧ<i82?Rocν3=c5sc{-坴V.vngdN:F4xSu#FDz{$]~uy߱c-lhWwvOusc›^ek ҴAёtJQimTN2= ,2j(Ә\įwPB>$4xa$=.ǚ7=ydE_a4B  rRwDA`o/rǪ086yuq 1JňHmerkqbᢊHaw(BY)ၿupJ-lc3{@`cۡn'Oc/wȏ /k\IO2{qp}p55sz,ve G٤~e#'K,SO=Ֆ-knџ:짼臨i 0s(/jx*kì@UL57S!W+}gəu~Hw.:B?Q@hx][ݓ~=ϡ&+֞K/7V5r DR@3xx=Ca$d0vy>`) ,(=Bka :z\C"@m3V VRәz<0ٵaP#F/~/5$IoVj_g֕ţ*#FM篩6qòaj?ߦɕ}_]R˨@IR}J )_6.;+5ظZe  >Iz#g2= F?PRQ2V:p ǟd0oՒ_Y+e $roNe<0g&=D~D`ҥvŋN~v衇/}m̂Hp 'rߓ<ЉYuLX[E*2Uud=OjV[DB?kbGʇbx'fۏGa̽#ı.Nˤ?Fu^JO5C>Lfc,!qZUg(<6(JN*_-4. !vWEFNs;5-e,kil4D,joBkP !lmπ=_ix D~wl0]ePee=a]Ri7m5k塸eӥ{U@h}A:_sޱE k6V=V#J 4tc쟬|ʐ?ɭ"^?Q5hpG,OtQ D+QF3IYj Y)4x<> l!ln%qCW-_>e]֏ g\cc2c!ӎTQ`3#gb ^ ƨȦOA\ ȢBg7$f睫ن~S7=zx^_ Ct]"*w qM>Mĩ'h`S?7\Ɲf hTSS/Q{e8bb Žɀwt̡KzZ a/~{?d#~EUǦz4ӀCXw +9FPD8+ ^U/kU'Ŋ f{L:!U.6?fP2RrG[ a(\7G_<"ug c-)KDlXoɚO:ASgLDdi|XiL&?򧉞1k&%i1f1~ Y ;ׁ?e#gy=yӻ=}If>w3HZɞt$8Q5VUnlK2OGGٌ<_rέXDžjMd0;?,>X{uXFOkE\u"t/}L}1/:Tp!+M C(9]=eyrԴiN^=m& yKV_.~p`DFj۞82 9AIQk ,ZXě$OɺbK$yee'9*t)~mddTQO5ףj|;?~v?G@ x~H$p&/|+8qK 4=A?2n%,^x{cZ͝i>U Daxڼ{p5{?ߢkM!-+WW@}GI\]|@~'FttGAtRw1SN73j̛БW< [ǧDjBnz·W=vg4?l>9x5}{}BNkԑP@oЎY3Tqc1iVq2*ΝM*C8vG ^opEh+{Atp6%ˆ|c:a);q ūn̥OM lc<-,)Г;s Q^_ E <<k֓e}/*!ܥxk1c,QWPq/A {r8]cBfBKCcV_ru/<ȓHj8)(K6z@nX}s6sd99XiWd=J"`P1ɗdP0!ixʲ-N!ː?ʄRo@:Ŀkhk1?_Cv*#F`m35UJOã eLr%Wƪ8WB.eR(5s'j:wQP쏅sdɊ{)6dH!HOq_Sr'A0k$rzYZ?Q?=_no^폶0>k!B!i@`\9(v<>cs=2r^v#d$UKS&{9EI: r CmBk޼?±VXɒȇ)EiXFsegH,)lWYǢ$UTB27@vkl[4vn d꣠}9-Qi(ޱ/H&}$/bIU=&0k@$ϫQ!K-㊵۟٭/ke_A _rN> JČBSB˱$ŕfD^[.ZS DJLOH ,GC?c.ݶWG;A`%kEJW9x ޱ?!p9yz(*E1ƱU*wPrCÿ /YƊ3E8]xYCt7|I΍=v= LruU.a>~A++aCY2hp4$ .NK7c쌊]4r-;&4Ļ?:B?P߳_M}FF‹5ޱF0j49$`+]XoPyf*C |ǂnR7MNrYHu%k(J7 rg[ H7MK(hnCj^SkCž^XGAR[2 b8:r~?^9}8IuQߥS&H2K(r?c.':dtvZ{SW:Nծv: cXdt3@i _d>.ۢ ]je(jS-8 /O"i^6 "oxnNޅ\ ?0F= ͢B/H4J/-KR0-Z1NRyL# Vnp$&.YJt'~W>[ Zɬn6 x> Č(GX*>o#Z Z?DًPåF7E S]/ݞBLPCMu$S2ۍN~T5Hv1yyRo=fh,pX۷1ˊ6Ya-̓@Z l1Z|"4&ag9egns@9 ɐ l1aeAɓ\.4OC |ڮ<,">!Z;ӋA'_jߵLỉi`4RPc >ψPXs7u?Myo w0s ]>|ΆH9ZZq1 ㍽&UչNǚ j:N!~,fS Lg? Hw7d"FI`*/z _q;w= MbDߺV h2ƚ·WP*g*VYW0ǂks.qN>(!Nm/@RӬ~ٌEFcMʤWP: B9 j [J={NLLb ^4~Fdd#.;+?ߧkӱ? f.=Iql8|c;ZkFLMw,E= όAFGaƒ2]2_KdNo1"FDoDU(G=\e4KA13./˙'ԏh2MXm4 ]f{}/N?fF ;?/V:4܆\ s_RmPXK{NRw@DʣC-">ڃ}0B" Ѧ31AFHa&ȠA] Tuf%E(XqRP073`<-\xMybFquk5&ziT mߺypd#l='6yL5;EA:`GfDk`5W`+}V/R{^^$}W8d8G!0o@? \o@͐S'ju1aZhꥠ`šqS㤊C0pw' 6_XH%z6DQ9d?'i =c 1nDZ-^[GMpRĖcqy”È/s"¨CaK;ޤDǛKrB`{a?KAfQd\Jϴ[ ki)m/uxƷ¨he6Jژ G|@rRlZ$@’ EI:|kz|_307bw*k/vN/},7^Эc?БT8k#MBK X)g͆`#-9Cy~ >fnx RGݠKA)\^P@w SA~5! g# f&'cX7) : I_J/9Hdv>s*t :c^ J3Q,. 3lĻl5 Ƒc[ w#F@kyYz:CG*w2) W\ssX+ pX4=QuxN3􀿴-u>>ZRݤ4]dZN~((b`דԖeFTlmP4 V+&`璋XςI^i/9 S`:3'->ܮX$GT7c:hKA1`7KHjA|dl$ N #]#87ZnGJZtICMNi,RЏ_Fǭٓp6# i$ieP!8kmA4.Cg=`62Aqh/ImT/cnQssA*5Lܜh Ne ix9E۫}*>uDj\;ȸH@Ԙī+˲3D(&+S&K|0B'OPuO`t{IQF6-1?3z>‬XJSƢҍA:pv\?l?SAcBik3)g~[\g`(3ּd/~'65z ܾH#ur#eQ)daѿgeOf-{aѥ(;j-űk tlPpG7*' 5iG_ScNi:ti'?,pkf}KJ\hsyEq֬;ҀX&BÁtQ8w9>V ѕP0JR$]ϭV|!5[%Aw袥8_bp{vKA*|u*(}G%V8`8`5\&?}`-i_ާ2Q">޵ N~A;17^Dݵi=d=H.VՖ4(/@Rj&P3 cyhAqvuN_,5n #j{9-wj3:ԙULK0B,Q0ko(:K%qcuHRK|j:ѹJhP%,[hAF:,'6T)){Xkݶn{ޥKsRVh(sZTvUc)>\>bCjoȑ$?Լt{ b&Vjw 4G4 T:TW5sVղM:tɂg )nH愩@9Xs%9 JZߓ̺i /aT(E@yR[W |35Z"FӓcBXd߿+N "q/oiূvkӵ·5  >#/+Bw",+z}ȠKAR4`kUA(SDwbVNnmjGE?fn)hj7^> Gٳ8Hǚ?K=%"Vt*DaH Wz~ F .<5Wm?URˮ}nq y*+u*h)X- s@r_m>Ub8뒉g s3p#ƄdGY5 :uv:!f;L ;ڹ@3PPLs=ZGe&\縣s>5N%1]?1MR$砋H^:@IDATˉ8~+w!"E'~Nd&? ND^Ȩ,2=pﱦ3vס+@X"#OJLdA \E$[v-tIq*r\  |*hO,L@g4.`:>=7?}0qzCW_'ߪoKN[r`UXs^mt8lim0]SߕDH>|1t{#pFӨf4N~TR wJAOl%o֬9ЦhvhxGo$~3ah/|:1@w4F7*3Vv`f#&POQwK[a~F~' ~=-?t=֦aKoœ:i``4?H*  pck @iHPO@~Un  W9GtlnZ66H``~hZ %wض kD-3o:1MĆldq#yN/o LE~bf5 ՖXgcz Kݤ J p /Cf`΅mQ B=JlfF:1o8'TƷTbsp_zE߹7^l3W`эy*Ȏ䠗Mt`*-uӳ0~8RCʼnj|˨k'@KAvVvUrͥ7عNN L@fP XǺcM(Xp:%X +w9Gi2A(HaO:?{Mo8-zns/V+MAa[t*hQ#j34s MMDcN،#Cb'?^3ämZ RMa >i.~dBVi6~-F 6@#߃^ej-¿)c‹|G;GiqfGS]tUW9|rIrC7cbf/ÆUQujQ^ů*Z0T?A0jfL%_U#Z jZqxxz\U"Chp)pnMג%sFZqRvSNT52?nZO@ >D<>lip/gON["lQ|t#Gp >Dk4o#պOnG> k14aJ?KAgk?xk:C>s]@WvNb`Mvfپ~2ٶP=G( 'N`) /LRg|{퇄)@C$9#;vH INd)(NP?nn/@shSޭ6ͅ } Rt"x({Ú<=& Ut/)wl3 “/i-4$&]5ɷRX+tbk bq#AGj%F|33P_vushc?MG"h3Ytep?|? pSo*3t -W<尬- ?=ч c97V "|]:M'x&v HΆA_SBU>JOW쏸ʏ_&cVi;j>?3ML^Ju`L^, "S+ىh͖!&/䢓?TߡkYul[XI//&_ ?\cƇfX56͝5wL&Beְy!4D.!E2C+Ќ&Ϧ1}$'Vf'NfX;7HRPe8`01cz+6OpBDjo``Bdr<6BM΋tۨ+@3h* f %QŭRi``4R˼Dƕڶ 8hAW 4a j>gTNA'5.nv0((wqf }fZGo6xm}隱WD GkVKgb"Hk15ě>h`rNp={eX{ lyӿ驠a@t$>=tǙeИ=ضXx9yM{ ;b)T K ’|ENYDW,[VYZz}uC}Uxz}Ѱ63֢fխ PŜ8m+9b |-xm=֦?'йӀ '㞯@:,J_$iރ=%aL -,x osVN2`vî˩z^>7Gk:IDS^>{>rןXSt, tB\LXՃ&),5`Y(e"HYHe˫ NRׯ^WIPmngV{=\ݻjoTz蟴E1 hX8n09~if@ɂk&^z#Q:s%U!Bcx@ۼPx&*o@XÄYǣp$q:'pS|_s%#g֒S"7=R2(Rl51& I\v:-U6Bd V~wizX>:7Hs)hJYb ŏA@ KqАj, Ia8fIoi!W(/csm_gU˟uZ= *.l;u7u{ɪ:7`𩠉7@,Hy {y{vX̄2]1K M?w=֘.vo3~ <޳N2h碴S䣧gR(Zyਜ਼;3ڑ.KNnpH[OXgzs^\^.k2u= -zǫת~-ա#Q;r)!JXgEk_XϾfֳZ[Luih 讁M&IqxA܁{_^&zƟL, ĝdd  d_~[~NÕ|B %5e"O)?:CBǚK_7 kΚKoi`@4ॠ5){>RfyXjxR2#0;1= &]Q[GՊ8>&w|Oe-eϦ]j햂XQ1>1hu/8c%t7Cii__wJܔ6&'uV$S_Qk뛁,R2onY/v3e-:ZKs!@JVmJKw(f+.c #uq5 Qڸr T#`?c>ԥg?PI/{/V#j֚TnvV=OcH(?řiܮ4hs\ @G3ZU3RZ`|J ?[^g_2 =:վ26|?>wwUXJ+Q Y~=G§"ZYk>P1z1bQ :T'||SBlt& 3m҆hff+}r.<ʴˊ2pR\qէnl?E[ߔ>&ЙN}c7c4K{6ig 0c fP,U_ClIzJQ6OJ;'noxzL< ?-aߪ%!n]ZTC(vˌRroc`ׁiٟްՉu45RPx.K^q& _?Ee*s*>@1 9A:z4ѯF$<-F5BXkbXC eL0{Mx=[ V]Ii`` #|^?SgLb0"7hMu5-}ft%?s4O![S?sfrXl.$eЙ'D=nf]$},Ti} xxu*+ˠF0E u*(eO?B E@o](8y}>e&Nq!9 L-kr/pFǺQ*$:*uX2o_/m)/ܝ ZLh=KA_76M2}T3^ό tdhݰmpK,-4%~V•|8tE~ Ί~_RГ4c!Dy|s!갖,?i/8ºEV 4l5BbF2D(#gvXlmV\Qz %*Iˠ)/B—c𗁵}SgSoke>s/RL{/D9fIE3J&B Uz3/?ێ8.{, בHhApuEA@˵ړZϭ~wum6CG ?y`Qwޯ)Zڻ69`_mF:Ϭ4ॠƊA siZ ߄ ԗ~Āo'M"tjA~L~txq)٩okm!|˯w0PF۫#OhkQ~An=JKt{:hK^+G˗}Exg ʰY )L ;$᝾| ]_(#c jnGj_?_26Z~)!BdRzs.^1)zOĕ TG?ϩhv2 =n)h1Yߛ57>7Assܷzu1~;>Q ~#: ;Y^Mn,} M ~ Ic@ۂ71Էd,W9y̲!% AoӔHP͡auwpw!=,Tֺ_^E{4R`ZQ/?W+}QuJH`GO5 fv/'$v\AJȀ(UZ JKA(M)!fqx\!+)75tHNnƚͨ  ޅ> @q2+!sb)hlT.cD–pmy_[}S E}Yd/?y@z(KO_:T Fj٪h"&OEQ~ts*TXc-gWZq02^»5Z4D \s-_{2t~l2d@I&A/Z=2*xRuwu}:ԝ[["Akt=h3$ xƚ2 Z0ҨRP[,&|F@$?Ng״u7Z.!.iU"?fi)hfO1cmXGu3C:5u: tFK讃&2K-+?KAq!xȭA/\mjfzv_8YylN-j#- /kc9`C_|S)fi'V=gk[Lgo{7 ~EY jUdNdm_SA?TMۤMܝb7?. BZ6rOwoJ@$E^h(1a;_mL WgIM`+<͗[Yw>wj`-lF {p ?cwxQmz*O",ؓB[zNM%GEhs(Ï֟UŠh Q?G=P=|Q˲T<߹k_X떂2[ne c=VYZ=+2ۮAR۸1\=EyRD2Ifk08M!1qzߌ<̷Ć_~/X ь/) C]OMS;{bU]fFk1TP5/R{A'y)hᘎ)J81Fdo&F>aFԋSh}*hrpNRP*S;ee7cnLgػwovjco}\n6 krHK6ߠEP!ZW<1UjDy]?_ SAFmꃟ2,Lʹժ9Y{uҳ4E!,B * 8WkF-6m`}:e"Z"Q,sRUj[5iA8b ;l3Mo9|/F1{GS9ko*w7Ew~dǫ΂_JԱ5Y FVOwx+αY5/8<Չ'hžFGG7ܻ4c͐'F PviSu*(^\A3usRStKyG* ڴɒ $ xBpG2 -$ù^-ϫ.??SA1dSSA/9]; @X[Nُc-x@1pߕ6GFg{v/1;WgoF򞇞ך1+JV~oSACV.r[wO;t5Q**O4P@Fo%%) K>5'I*-$&.YœJt^}Ps@'ǿI+ߙk3 |_S>u_\/Wy{Ӳlk^ww. Ž̦[JkČT#,--U<e͖l 7-_x3\F2m>73֚:|{y]X ӳfH놵udn3}kfFGGX_um_qN/YsF<?8/IBHQ"Ә;-$RgF.#RyKA>Mܱ]wxs3@F{W,s߮oP EUEr+kF>?@N= 6S /D&Q^8oE Eg3֢Q~dl_Kɹ5 ,퟼.N M yx֜k$a2te0@L}מ:8Q?F&2bZ}//y΋?iٶ{SGW^3N8YЉP_?fuBݩ6^ ׼b:ݽqkxa@Բp7l{.^*v"8͛%P,HHKb-/ LݖgcFDPOŤR"Ajk)\:4o53?Si 3@4sY1?bkn!1$痚|F:I+1WTw026]h#m_]Co~*-4ѨG^l~kL*]|݃S^pUlϯ|.=I{$9_KWKA6ĨRxNѵmIp'V~+nVX: L)6MztJ-ßdX bl%˖Y_yfгΎ}mOMA/e $PSO ÒQB*+.|I)3恵OD?Ke]@u7iu/I{\=gH.W hu띳ESi`k| ̲~D-of#XGauTp7p= |o($Eb`탟׌lzi^]W3JiooPg"OqDߺVrFs4J +ȿU(Kѓb|Y-6O#ύÏr<f|iϥp 7b 4qMj;ГZ(g(Lh_PYȇVL/({mZj`5†3Cwk<ی4Ʈ>I]BH%w:S&M2Yd, d[c"Q>-=Y;q?y-(t*T} t<ooqW<ԹuUmc ǚsrƖ_򳪋׮; 2˭k/cZm_Vt*TPXr< TVrmZ$)R 7ZGh'eNk6Xh LB,-3O<͢k?U7uKuϣ ]~(9, tv:j߾})i^x^O8;ʝ瞏|graCAa1}h*Y-x(0.fQ;;虎x8祊$Y[#+BWxżOW> -}†y:`Gf3?^@62%l#3a  b x+ -_|A_Ws黚("W)$GkmhZ" t3Hj)hXRf}P6COeA7]gXÓ0f5#a]3`tȏ`<~Rm#K;+kN4)ܰjv4̶ֆ~ͰMMat@(PvLSAQԶ$FBZ`\p32SKǺ쿁L $^ :ye䁿/ U~9Zh![~9`6?_սg)\:|_$?Nx޺3ꥠ;Ţyj1}f]԰-\`\c[ #FkFbqf]#;Y髫gyf斲F>rX3wVsG~ D.Jꖔ]ڣBz:kt84W>7A zI,G믿>!ibuйcrNf5FZk9uO?SA*MKۈ]$$FKVͭ`=!}T/=wt=R~(?RޕO@*Q+_裨aIow;Me_aĴ,#T Kk.)kh 4,n:L %G֏DZDԇ -o2q.༜kz48JyO /d(g?4aJ_L8rD od~Y˩(x(6ј:G4/իJnRPzbmf5:|ǯakam/U<w]KD7G]U^ L3io9s?8/O՝nH*XfhHWS;!qGJZ8#0{fANXw_ze~WH >ÿoto۴V?hv)/#aFʩp6# iېk2GNbĚ ,rTr"SʷZ`\YS^mxQwgѥKpu#wWw<||cQoTz (؞*>ڕQccZ-oPg1=q}$zny{$#{]465Ʀm%ܛFp;&'{y ƴ[ DŽ= flLpLxOl0AEi== -"{$ؘs#>22=&;=裔!m|tghөbi( ѭ4*_?\D]'CߩtWhmSLe֮solfl7Pgs aFiylhݢWJ*Dv]ٗHcylhóYx+5p7vsXRsqpoթ:  &Fz )qcŷƟ$[+mku-yk&d2P)]aeMpݯERp3_? f@#-Z,od~bی;$iO 8FVtE7M؟#4'dlI6!`Nl.Kr52R9I .L} z6i\ӱ?2ތbȉ:'RRu)!\~?:Hjm}5c)h4b|h0РLmV'STRjƇIPkL*ՇM` 4|w{vkP0H)pi y*.#P9ͧڎ9AX=t$n,TO`hʯ?<(A1{ F #{ />%wNu@IDAT[;n2=!(7YG:-}qRQ&/+`x_g Žx9" a9-M|l 2;B$*o' -zO&8哬Eis*G+o8Uneokd&39d3DSTЂ ѡ&L,(J'`)TQT*%"-?4Wm'x6dkq¿Ȭt'nuO Dce\29hP~I194?1Xp7m:>TX/mFPo#69x| 1qک}2f1obcm~h͞ #$81G ku ЉJaGܧ%*`= :?- vT4vKlRSXY_deqhG0'J荗į|Ʒhn5izt4F7׍@Q/i+W-݁\ߢ?p;-syx-ァ7T6 Ck/:40C j{ 5 | %hqSTG綾)A//ҳ剀s78Bʀ?D!*xl f*A:68IsEX{ՓK?Ҍ.?Scm:wD6p83"[)5P5a1KWb@+cݪy< Oh)"mF?CǦ5gȖUFDk⢞m䥯A25_u7 ny#A 5IشHMVYqz!6lZ gַZ}!YvMoqkCj7ǐϤ#Gux4[vt~` n͈ܘ&BL%ӊUObxZ2T$g\fִE8M3NҌ5#mG:t{\a-1]BS?u3ѷ6fܢiኽɀZ%CE (Bx\oKx@} LaiL> ngT|&FKicq_WX卼rx~2b۵btɑjݍ<WǮYd5$bү`,B|x"7B.|C5&9Wx?PaKמM q{eA<ݓ˽tCd&3n?LO Ϩ m>`=Ͷ9Di0A>IkUE jĎv1oNb:\r9FrC:73 >|T}oUS[:s /Zl̘.T?xkIkml9 /#O Sl슔L({gC[# Ǣ|;D EYCAݢ!>_voUZKA;^hӌ5[CVIXkXuj fS4KA)x8wx'6̾7{SNawZ~dH2)uCofZ|US?[%3SۓshM Є.U> (:<Ra.-%믔?Ku9ETǏYo*3t8. c 5X_čh5J0K&yZ E`687[8/z2D*2]07䂕Q#,lOKV"'_tXc` (nxH!X+:Ik.{~|_ø7[~:%ݩ .eEoZkef3Z\;^,hBX#jt؃ghWW;rY(܊L62'DG#[ZUhscꋨ|~(~&2jg]VV{hY ?n7w}/ߡkYuG>lM>o^u⣏_z]?\&;Oft5Ŧ3DoxYǔ<4%HFp0tFRi )i,Mac ie5c-#O?ؗ4cC]?3FP:3 L Tj}|rKAĜdVKU$b3)5Zf`NZl,$Y4P>`+y% )_SAXSY#1cmX?Ҍ5[nx]v N)R/ Q+ غ$|Nv(tRh K |&FLrZ~`SA\S\a0!G7SI̕+~XkWRJZ 7VqʥrP?ppoVoy;1}!/x֨vf.1H$ɸp)¤"3`wA|dOȈcOZ^X$s,.yg5]p?VC4Zg/2_)?wFS.Ω^Ev3k#v8 g3OtD|{M%KsC64Lh$!h- %.<\hh>Gf2 Z_%*]SgF־i`m?ukz*fYMecj)hi܋Fu2%߇Hj`]s)?sX[gr~f[_tEu34ʷo 낻>_~Xet!UˉM(sǩva9қs=V؍f"PѤ[~G6TPڿh 4~nz4_O!GFOa҇|4 |.6! CNT]fui`޽: F3֌KZjW {Xk"0UGP?hNipC3YkNjƦB"E?2|jE* "e\_n'Q0a?{ҹ`rܢxo|cǚ]fv?iy),F^kgnNK6/LKXsg ,vRMtL; V\a;[oRЗ_Hm}'6m. =cQq~*|.?ﱦXݯWGre؅&33ׂ}rLc.Ɓc"1MY}я]&OVW943/;Չ0o8?kFIMntjtHVkڕWTRl 1-F79UYh9mPgB o~ 8{Lwxy8ּ .L*v#?vڱЅfr2]{.McQ;R=EݨyGQ~5Ӏ+R$fO5ѐj, Iai oKfX}[Gtx _|SATk5NϦھ?Anbb5)#sr(tsSA9f^(X&'Ѧ3$]1Ksc?;n>2lc20O/^1+Ȝ=?9xOr+jR>Yq熳*]ߦ=mTvG+a6{02.-{IkMc c=MP o4tM>:&ڑ6'784 =^b"?}տ}$#gǟ|~zf,7nq.qO??z")>X~LTf#z"ZOsh_Xk,MWO}uT5wX_*g>=\-(߶? gͥ79tW+z)h zʵpo K~ֆC;anb ]uh`!=r]tgk?{oQy׻’Dw$ QPq˧3:ʧ3::}3nqtbbd t<眺-IV֭:uNթS=uon:!Zf 7bvn*3\?UK*Ejc_wM*nh]XGE_Uk.^5Y׿?"+r列DN݋G?a>WEQqՖ%tfY0.^_jjܺSK7]y`dLI[N5 UP?>/~y9уQ$;P~CLT})cʏ}+ʲ1R.lW77?߼:&Gh+:kio^xwy3QzŚ'nqmѽ_)9BGsJk`LϵSpUQ uRLM}Wދ^ݫHQgfmZ- 7ְk0R'l1Eqq :KWdC,cQ'+(_WZʰO*Yڜ:Ok{:uuh?y?y?d Z.wCCVigW~L+iyK;Eemvy58X6xj{ŚVYQyNyݨ{ۿ|~r2]na'Vy/@1z8l!Rm4~ShQ>ߛΉ6F]&mL-C+u-'IS~?J"DU[m+ʭsjzʉGkXyY_\sԥeU^,Lo,$ޖ8,hb- X2)dظב*gڊ̨x;9J 2W}2i1o^QŲ2n.OWChg(8<$`'be͢)-)?C}۟=rH=p}cSyB@4FqsƇ2qnX1(@7Y~LVz&jPXBBk_k ؾܼ`{ƣivgUаv` aU1y޺nL ~ WMm4kZ|ZD1JF]<ɻSu_}wY^jKxlg'O܍#Rn}]#d?+w{W?鷽a7/?zvG,AQL΋rvM>vQY| 0Bf`2X'4:v2i/_ġND ǬNܷо˾ɽeblIYlmYrm9}:nZNof2p%1 :0[ĚnV+8yT d@ K}!^ӫ = ~V2+5.^^ Uݰ8+z2O*hݼ*:RW+ %!LvT#cN+?o=p\GEs̤]@Z8kB f4E cA2viŇM {= %|VJբOe”_0ƚ:)L덗nX6p1mZ庶yjhg` (ı:;'9#JXM@uDD7J=_Jt mT!9"yyhzs)CzMr:Vy^ |:j\k'QgVT:.g&IAs=J_|2'Ne=˙6l`5UjhlcP))Aӓ7?;e˞#?@gJ1ZګL }Ѐ_`_HP'܀Aoդ8˄V㏽V>@?GzCG+M2tA>LV~$g9Sؙ?+ֆ؇T׻51qhQdEgvO;^ !~c-UsDC7ki. l3|a7pxO'b󂁣a_6A!,ڠ? vෂ|WT̨V^ _#u0/V o.Lnڬo/,?ܼYzI(ʹoZB`TR¿z)9N'-Ё\CtQcL8QyNkANrE-ж[ڻ?qzz4>i/Z*o ?w6ܣֲi>W]WA}@d@h|4 ':NAMcx|`=o"uUBG#+2[ɖʒr*J=v5A,rmCIDM>0}eӟ;D02ϮhUPE;.x 0f_T; n iWP~r# K #ar\)#\DŽހסEɖ?qhhmY+U 0 S;>bmJ-EAv20 k.⒄q$12 _3@kV 16?GBT.ի᣾Ɗ56/Pt_[hJmŚͨzOut-r.uf)kWЌ uה3X*Ѥ(4KS|`gR\i׆/O/'LѢb Ԃ~ `rܬE9<,t[ 0-§#MyA ;)[4Md֯ƇW"*Z"ht'wV2C_CQΗK3DO4k3APU#[8Wnc%w? [ϮDzBk׵oUi煭&b3mRoAfQ֘z?WAu7 ҐکGkH}RiɕZ%uЩu6*?ˉ*aNLP`@*.IgkCOOZ ֡GKʓׯL.}tKyuNYhfZc #V7 TCw35ڧ$'V|d#vѵW7)qAϥc(^mZQ; lt\"I<)X[$!=M[(e6;<ǣ7K *l/4 l*۵̨Ǐ1B=EyQILi N2?@2E'JP34rX ݏ=38O3yZœ[Ak F`D*Ȋ ڼkb?jǛ~9!ڔ#iWU^OtQksqxy'G*(*M뮠jWAly=Y5чP*q@ŷ֔CeVi'E1`BeP䟲deyiO,g>ld[F/S=G!tvm)th-{u=_1kttIc$IPghCWRIG iXb[VZ~cR66ppm\;?>gL9սxmuzb#Pi8xf3|Ui-/ڦV-Mul['$B= oe* fxy'PFc VLX2C5>iKp-a|1S&x%멅2bY}.%7{q]A쎞>ռ*B/4ʥjnۆ.oXg\L1Ad;v Z耬xC>EhS M>J&ְcvvsn[h^o sZ{(_r٥J(&~LMX[5@ V9.+/*-gJRB?=Yci_ձбX[ia:ܡ zOsU{Q"6]Fي@]V97>?e!M8__=_40Tn9 2 ڼ8Ԛ&=J:|i}hHԠM~缧ixԘ*˲ePZ/=f9r{ z,dW7&%z5rvnDR~G?koҷZh7d jB؇Bs"330V`'؊:9 '5aIYGa0 #,8Y7pp 6RoU;tr}; n]A|cmP= ճVz{(5?o(s z0z0XXcY1!7ڗ ZpxX$ĮCp;6/S.l kB<4nhǶmX_OZK q<YCeHWN\Z,B"^X;Pڊv^_ z`p %9o |0s#]^|Ə$P +B1D!Mw.)am#zo7>5w{;L*hS|Ҙ0o* 3CHBer#;S4x&V:O#PEX6i/w0jŚ3nmC6oHlCZ,t9< P{HbUE 64ce\fOJZ_ڼ m^KWAC } kFx/o1iFJX3b%ࣦyt NV?$LQeRR5xM.?(̫3omaשmZ  lĚͨPL,*^/< _Wu]d<>W)CMKB'C*WMM>8,P;Kݫ`šqS㤚C2pO^?$c=J#U,4RY "?ͺ&QkawokUOU<[.];ؖS`Yy0sͫ1 $1)(od_|Ut5ag^ մv^5պ^Cƕ.QaƥI|QO|Dqf 5ƯwN0(+8pTj "__hWKՊ5v{*a;7 BۮY. k936 /4_rN~B|WႌG<_C_-g׽OOWA՛Dz?rUPTB4Pwϒ ;k$|ƹX#MA3eE8&* BlHbWR%L?0ŧv={ۼX^U'PLTBUaŚ |-X4q#A N) g޲§&}F:hG{;Vڌꁁr \/c#t\, |ӕUN@F^}ԩC1ӪO4vjy/xUmNoi\z~_NNoD.rXnY  ʃ/"V$*>baGû2FlE(ɗn /oR2 Z ^l^q*;Vs#lpkX]A((|  ~ҝcLOy*b^}h2)Z4Mb^m^@w]}cM^io#~ | p ϊn3|"vԥ`Eʬ!o3'`p il"f2Mv=SkbXC+~Ʋ:!6wykMaWXߤ8KSK'S=({_j2iX?7k|c-#@IDATWm[5 J# Ν!ǃLHX"*`֔U ':x:4Ny\b-GB;-p k#@qV~K="1u7 f@ Nh:CA~x 9MXgrDCykoWA]b6 1,"W4إ@*oΫ9vΥ{{$/s4?;:Ak o9A|c8 .k!rA " ChZ+w^eMaM"?X#F*_vU,;$y_gWAŤWd*c` ; f-xt$D$HiJYg?XU@Cp,7sqEu)W\? ̑yF9Հ2Oyw; 3&TfCbE'(Mm.;HѺD4# nLmAe+X_ aA+z qO\.Ju߮15N~l>d+_W0B,QUĒ3DNtibmʎ䠁֮4p(. iC$3Vr̄: zM>,6{Wc؟SԾ6w}vcJS69\v>×%HV)vȖY4ȆmQUB:^y@A'gɷhC 7kڟ {-4 ,| k9d1m-+8Y }ř+hu4шδ.3ljr*5u "<~ԢdM~jOZ w/HǏyOжc@O47g !ocKW1󚐛j1gӒM2@r5-Q&?Ez_OmaBvbWPK;X6*{t8=͈L8/:?U Oː v^OkW?lXkmG$ G̲>| zI{黊2(Q|5dF, ̀ &::MޡV`qG?/kkVV;,x lO4"§/XqY:L$#2vR |NLCrI8l?knZhXeʏyK}9Ci #t3(i9̠P[aCp*?8G+||_7֎fdk9کO`b>+H x(>~clŮ34*~#rPc5a4`0NF>B<{̫T^Idk]ţ[ymGǸc`?~|"}VK`bĮ,4&KyAuQ=oEH )Q6Tp"K=X 9mBŠؼ_ZB4:{7^e3V^י|c *2y 8TDѺ&]R1XQ#zUEzԖq "N=<ڹi`WPbg4@)߄&2hta7Z $ϚhW UqdHCI'eZ6^~n^i/V+MI/vL C@ɮ o:Řb+ANL_ޚ;hoѫn1o]5x-؊uP 4~èGʥ K#Leҫ|K+~•(_B쪯 tz[خ|U& mZUE;/p l`Z"4O̚qcI)*ikL)&9ˊШ3;βΣIqvF@PUr>Iǟ5R]K^=mZ7Z'`b |bvyasL &NC"P"̇x-3rgPH?y޸8)ko|gL;5 G޼ kaWA5y0;8Ls*Pw"!EF}, % Ӟl˧XY}^wTsBuؙWAgxUI|Sb~0-zz-Fh(WGE"W/)%S_̫9XoPIȀnhxx׀f- {dȮ5S/2HVCx-AAV1*_QiIm1]o+?-I񍵨q6tΉ?eX_Pǚ_8|kZ?MG!3 y8Ky:tOi±u7Օ?.Mz4*XKy%㟮 ˜wPX|]vI:HOwPV||RŠvqp:a5byBKٙ{NI1HD+ֈfww(ՃA. zUE.dXȑ͖@heuhb ;9aqn|-4 J Z%W°?]A;  8d(_QX\W҉c<ӚݛbKa(z8WzCc_4Lh;=0܀K78J:cf^Nnӡڥ-Lps 4H:=M>K?a ę~uoWN M _k8 >Pk; ~)6, Ea:s0^5:$*&F#z %ֻ"?TT58U^WF7jz/= toniyzh+rKS[cŚ.l 0eeKYO x&*sqЇj02-";, M~ uQܵh/A8i#].ՑLYc$Hpj |^XFFȥ6/@-@;o*0˃T75;ա8e+(;#BI\Mh 6Ă2xdvT>Sv'0Xj%8q$4}{ټ@]>=ѮSۊ5[y;G4/l{W5}cK7qN'X(gIH٭ZsQ؊FT,2͏sgHKDM>:GŋDkkzj+՟Nؾi>ijc+tkk4v>&9?&%iPc1^DsRXða${%P&Om 0_E8Akڼ A?,1 *G|kʎ8M\ ʵՕ aH>Ls 9&/J3tpn}cQE+2`ZDsRxpP?ְ-3boUz n.J yr (S41xKR:MUp`Bk-(AIs9M}р_@OV%4UZ}+ $7(0Όza(kvHOHlð;GWA!"=XA÷X7cq|ƹkH3>N) 7E:yx *\cNliC3-ҫ^H(N+הH5Ho%꘰7b-GK;@޼1j@N9^W o[tGW~r4 xtQeTGƾK'ckJfhťݫ:۶ (gb-N=@|c #1kF$kWQ̀ƎuT'Cρ`VH q* %6O=^E-K;2t9T?DhŚ6/pv&t`ZytHk ]jߡ_/*kWj}NWz׶NL0+֮&+ (V5LtEvZ|\9{^-;Ug%WR$080iŠ6AC WVs&ӖЫOFdxG{U l׫vZk^V':ge۔i0֜ikߨ9sG!)~ZX;o}ץQ< kb/3T" JPCv0ر1%B+D1b  &D1 )/>ϖ;H3QH`q_Lڡi`k`Ǎخg,&¸9mX2E쿛DӅ9AI(1M,s A#zAs'!?f7C2^=.ګh>i`sQOd 4lN5 X!1=&XEAP:y*->oH6[(Ru}S/2W'6Gguk^i58&^ѫ=qR+D[l4)eb.ǎ828x UI(ñOm,0+<+'/^M?up*'Ҹ=rZ Xe5I:xpҽl3=b>zRd4p2 $:O)M~JzKDZ/eX;cc/sG;4 ,t 925T 2W>lVb,.shz iRiNHȔ'M:NסG IO_FG;d't xY}ջzmXĚ;wkx4~/ r&hg9•oVT((no򙖛WYtf.N/^Ln֊5쯌ibz+_}qb]IO[S Lt1.?wVN'Ё\w oEԘ70Qvெ".߉Qɯz J 9&6֍Yqsɮ)g*cal叔e /' p FF +Qw1MCК셥C&_z@}?zk6 :xrU[͡zmw'd =.[ֽ/ZݢM31_ x Vqr(xH^(0:bU0_H(g\96;`[}?Ě %NG%X#'Uʁ[U5e,`Dm^pEE^x8t5f*SO;#ɩ"Xr0h|U&_:::Hp}񍵣OK'ǟ45ז#H]VVhb_<%5c`sx.'  (g]6_jWdજ&_zhߖ㳿%ZRZiz&N a*F&Fj`%>`+c|eA5!%O$I״L} yIcW+vϊ@)fῪ}_v*#>dIYηEv;6 H_37Lʰga}YB+X1M!ig~3%tLLobPu<˵>KD|ٿGsb;ʾR>VId<ŀ#xr,ƂNx| 3|N$g_Kׂ"П{A ql5wǶΘHr+_|[vefj7f񤱁JW,+!܉: q4 pP%ɗcLxI}|ݩj9ꔣN&Ղڼ.}{d|EYamD 翸+ӖzJl]f&.kug1*~и6( '6< qt4M"п޸8Y?6o9ۀ1Sic lܵF 6098/'Ux Bbʛ;yhl@*.?^8=TOYˡgԉ^Bտ'zV.(A8k_Vv%a rD|r Șp2<ѥƶ" +,r|BH$e*^ eZGw:@C&Q>rG|C;\a#qUOzQ45}/(ejoV0F1lY~.:ϋ"2fs \eN^8R||9Gc[kRM~>tz.:WqĩeW6v]Ha22>xy(1I Ա>)iJ`&aĊ6.+p6^˯9M>s##_Y}[;kjhٿcn#dI=qM\%Qw1PXhfheVAIH(UF35_<\Ϧ9N~q'^g//eeb=l6`|O'&hmPR9sYeť9= )5)(VB?>>vŚo}v÷[eƯp]z 1ȃn 7 q+z?䙮'EX* Uq]I%輏{T1F-VSTo~hon:4aSW.gąO/#XKs^KNwzb#Pi8Su,_0 jL}o=U|$ZYgL[hK7v,䉧%eyԓ&5xҔ4 EIi7P:EziޥF{/ONϖ͟~\nՒrjGd߶GQtPor14P=cj̙Sx%._QKx0nmJSxNvQnxQ: _U3i禁RtOQf3TAQQ-=]ւuTg4Cc-w<8$)E'' 2 IMPN"otYeW>z^e{e߲gW|'0o?keɄx1`3FDA-H 'cq?y!&tI.q5JYcǪ^2_ekб=uIO*-4 J//olQ)PgZ/ga;3h*vMQ$hK}Sλg#N)ʯ6#=W՝V8f3o4d8`ܲr)zbIǠh#ZL\`Q+Ӑ ;4齇u`wCw2fg\P~y@ZhX}V=e A<@AZcv]3^F8I ֍cC|C,"Bx{3hs}rPal9kS7h&:t2?²򙿥?ew}$Ȧ;3m_FNY5a%~i]a( i Q^٨L9QBcLqU@Qom{{ԧ>{o 5z^i?? vB6.,`\¹X ? Eq4*Ij.v 2o4TfE))T \ߵ|^gԿ>aMy+b8'dbo/0g'jiN Wc6na, o6c:}kHeoc8|vst8_r5Wv4P5wht/qC@q&q ʶ'N(˙8L+ |\2.Egr@2}-Y|l6 Me5\_7S7֎}iYqkhڱi'?_&?tj+ _@0A/͖'>v@LB gNs %5/g(lj_;B~D>/c|FYפ}S@4_lI.1]9EcxQ&cj+"0߆orWܙ&=ʧ>mN|[L 2kO(p?CY63V6>DsG|Uhc.E 642gc.d!?2b5UmU:Yyܻk1>ˏŏ*B233lPy?R4j'W\|4@P2)F*pAa^xy(?gL:L%ߒ3W_j 4 y-oxwa֪Pz ?Xo_[Nv4/ n*y,]S#5˙B6:l]FɊ*4*S`fqgrk]`-!팖 rqk.n :-ɷکi?w}> aML) 0is xE sBpPI &;YveR~VQWRU"{E+/ =ޕxzJyŵOu? X{'U~LRjgZ42\{Y9B"/"SyQΣ ɛ*ȲMcfu|pɗPa߾}>%ܣ}c_Ck45p ]}oVuIWcK&"1#/c$. |f| IIZ8NI_ELSz.;i{[q60cs`˟eOh~h;Uv64?=J=#=V}e+ʲp3[i~_ܡjS7Z<,;Lƿp T-j<_ZK@?pB&>#'3a9{?Hr!E.oՀa\anb .9FG,hx珺#ST" AŬNy Y33#YYx Þ_)ji`k`zm' Fl?u S` u犱FUeÞW_!`Rzc=!ҩ eRzoՕQNTni?tGWwa\x6Z/@8)̷(bMu˜:* 09DrLy8Iql"s^M~?xLJ>N//^юM=-ZM4n "“ 㭵+KCy<'F]#ML"7*z_ '>mkw,FBpn~YܵA'dbmV }[suUA@9 FT2L)xeR~ ii`k`vrgui¯3?l\H|$q/x΋mI74TV6y|;讟JfV}o~h]ۍ<$@/:Π*uGʤWŃwmp5q| ~yK5}잽e_bVJYjWb-K;N5~u$$O?{uYT6Q퇰DhtHUpDBP& gY_|&?Jn٩x~nYJ8!k`g}<+ڈs.c+g<]ѐq l_*lrAW(•gTR/E&u_ꫴ _q6:Pww_k-4 Geezݾ8̓aeѲdU}T2O?5rܘD)EA"1IDZE27&9Y&}5 I1gU_q}D;6 L}ٻ1lQu^f.nH)0zeN!-ct'atInJWT!ƗSi)Y1S @ 6.]5{-3?D;vx?INM @ ?VYC\qs.m ?F t3?a8NqQAi])C :no[؟^uQIg,ogc*_Πɛl \'x! ϸ@5^ƛ",j҂RWV5mX P "jcj866xBR:^_?> HGwfMaU1:REה[iwv]6oN1 L@eg,@0q5qŸ?#')$&yrbe#ҍ׶A۱kYC/etL׀_xJ Z\nӜ05DV灒f]|'Ǫ_;?^f={xj+hoEC/5;~n5,ڢtMKA/1mFSxtf rB CecqOc=?LM 1#7}%x66!͛?mi_VYFZkى xčLQC씌3Јp\EęJMl9&f3ik򥏞=xd:Ӂ^UPj(_gE~;6 DT5^%ͩ9i t|x\XtQV[+߶VG׽rgaJ*5so} pVed8%N ƌê˘iZGy>Ss55x 㧨CId[P(AlN!MuOL?iQ97&CocLЎMԮ}ߤ __d pN@1++zQ F'BG 5t2Z8GIF\Zćb9$QgnȉMLOLz?;W?med}_-Վ}oyI80)[D) t)Oת }qaw3Ʈ:SiUVyCe0,.tR"䣇rLZ}}jciʚ2al7Zwعo\&FúU`lԙM .~©^f7Tٌ8KbdRR^}t L,F'∁լjԓe6VU?;Z{0ɣ4{kG}55{|j08bQ)r^U{oKYV/Dc@5sy[2~\=\R[үtǙ>*akP cjaO̘J<Թ <0M~?-vmAV{qߩAu u8k޻AܢT7$%1OP֯8CF<'#8N {5 "T4R\iNb-јK# :v  pZPK9lM~?8%GwxuKܭ~p9oՌvnf}w馯G=c! OtC؊:ZdY'EfYUzC5W)q]W\QִX 'AcM~0?oL+]?fWߣ lFOyRYe{z@ ?"&z,H;2qPG)]cg:$++u5!6:m٭l_Uqjbcs?t0sʚh{۩iWO}"#hw1[t)UK|gxH 4F5W*ѡBnxR0U1VUM]]ʢT_pJ?<#8k?_yU0Zau&x6+mʵ 'WAG<{Vi[0 y4;mݹqm|u>U\{9edI"e(Q+KA4< F_]?_AL…a[ ]cw;VT'uYt.ѧ]PNovhXLxo>,C*`D y¹SW,)kc`bq].WB73ebPA'soP?5=[z`Oٹ&?ogLAI25r/}Қ?'~;Jgcnh_TpSP-kw\XoA*ax=;)bǐam<3b$A ߨ"mY"eI'VЃ{h[rOW<"B>u/C=)Z2_HW-4 _;,o~E,Y}ahDb4ڸ䘕2r̯z2` *5cʣIFTe(i3g<8o$|)!]xS{Jm7;kB!Ťt)< jB;7 , [W2&sjV h#$wt\+7/cVӸB?A=P?& IC)Psw4|~[q_}ߙKYgmWg[udWQ;~$՚Tii4x4n? |FH &݌w֯^`F56ǟa(yy1r!-8Zː_MY@֨ Bɟk><@g.F/upJ?//<41ebZy[[6UZEFT%M5cݲ5ee咕Ij\e)w5|qxi >1!eBSS=zzxZJ{<ɍhXO>ڿlۿLtV~հ.\:@8wZ.{?aG$ Բs+KWޛ˾ëU5,nUM1>ɵիȊ1 x @wAUL\+1|X{6= e=JXǨ1<Ϡ*4{oٹ>C^蛕9Wga,;ʊ.[hXw}Um-C1x:d|nfDYt\n9UhcRBWAd^cgHIa"x5UEE]ocz_/O{w_.臀Ew84DkO܏ڴ~&b95͹j Ⱥ\ڃ9~ NC@Y?^ipx&֨{,|׫{$!GhN;>۸*̀0&SA! Jqunm|k]U}LuvJ 1!>hH01"#J&(1 1Q0&M!@-: B[:ә_ksӡ\`?휳k}?kϹ\HT&᧾!hb%6$3 60xEz^jc`iR(8lO϶t#f}Q;h`7ʡoJj" >)p+9aؒtWj7_-ekj.Xkd.Yr${g hT ޷wߣsAuuuYLߡ38P_?Ku#ޫvReV9_v4 M |Љè4!`!;صE3XXd M6SmugO<+%$P9Wgݠ3f%Ai>n(j^_PHjWA\B.5Ġl˃ ?\s!h`We膛awFLej.jiah2:&cIP_Kb5 ?S(Ȓ+SW׾'C$kRF&oZ_k[HoWc֓0.ʤ{-M6SoYz>r?:V =ZuG'e@yaʼS3+TuU_ &](~Ҩ;KogyiU\H`(>/EпH$*D}<QAX3Y/lQW ?j\z;\B!Pz~ rTYX\RMńT 6ngzX\7;XX@E.tI ,$%{w}oݟ4]轮V{]TkoMAgC]x+1(Mt oDںO!=KVq \zDgrBu4aGUѯxFEs gPS ;Vv=KPm5qݚ]~޽m_G ,<6sHu`@:cN̺DhP(Pֵ[L_˃ώ{ܚ q@ OI>jst_g U1?WzP]hhC.Fj3| m+*0 Wyg #0S gc6G仏#v'6Sװ=˫ɂ,94] Y%H֯|j߾fncͅ*޹v)/S Ut.NJjYknln[ @1GPh je ?xsd[NB ޹6|Rڹ˴Ow,^,dDVNI⇚vzZgMQM|caŬ_ ?l)-ɝHM  1顭mQ@nfM;F"|%t4TK<kжGSA(ZMwas_udiK⽷ka6=X%fn8d:g Wυ0)ȉ_ڹ`%? J⠩v0"ִiZxqW<+N/i]s4v~v\/xdcF~[ ľմPUXB qR-GyѼV,V!l [l?`˕_k5 R"?y=.}Ϩ`)HȡI3DS6g[amr H)9?:O&}z <1X_Ł=r3ȎBM!Jݚ/YF}7U,??cu|Uvᇕk #P>S&D/@]tqD`j?>q?dynH;vO.坻TS?1?BWg >ҢZzk}+ y?,i$'6$p$}rv6ڢg.]⣡37g {Z]F3XYKb׵k.?g圞N?~`}wgGo! gvѣ杳Kqr8IF5 L8(SтkIVg\߳dv||8`\Hޅ@c2/25ys-DyAnzd&nCpK>ak[F1XX9?#-:Ci~&8*G_=,>w%alԣ6 ق@5+HWPV4:oRaoe{Fz6WK/B$P>`{I92#>,t?);tuZ+ٸkfMZ:[='yRb~O䇁[%a38{!%PEx.3fcY.;rފ ~|&@UJomKy){MJ~І5xK Vfq:aπ\0ex8$ 1ScNMol^.%l~.?hqM$T[,lћeUgeVT)U_xh"47 m_jV/Iē R>zgl/sp!ɗJR ]h&ڦ֞#S*35uMhxE"ElQf&¬a?\V.>D'1 GnZ##gd}.0\ INpةF ]<-wԆD} X濲RYN6(Wn¢v-.$@@8,E\+ <#Cۥ:v(xX KՕK$agجpD~ƙ憝Cbc3_Kk=YK7HSfnLb;\ |8a)=_)>_տOOh&jX4#fqSm1$tCQJ1EkѹSVJsiYtjlGHC84ZxPzy@wM?7uQAMMM ]MB5nCs6k |/_d_~&TOwA6L.񒼴oHzQ I9IENDB`seirsplus-1.1.0/images/BasicSEIRS_equations_deterministic_testing.png000066400000000000000000003003261375244156600261350ustar00rootroot00000000000000PNG  IHDRV  HiCCPICC ProfileHWXS[R!RBo"U *! $YTp- ]Qt-{Y{_,(+6Tޤ}sϙ3){D'.ƅ1ƥ2H.p'bc#:@׏Ut$ >bDZ S $ DTD3TJidžxdM.WV33 yYG&ĮbH 6bˇ8ayy C778bSCŹёj}F(1\!TQ'A=w@欑 L)**OsYjBgM0!b*P  fU$dGHqm f aA*~,-SJ"NWU nY<ٸȁ\UX@/)Sƪq 7LDV. RŏGJ bTq1xB 0 R., .jd>A" R @!Ԫ. S9Z@"@.-WzKFw56؏:D5^%1L 'q#367{D՞NxHF ܚ$*~K3x!3n|geV7yfMvW JB 8|?SIcEQo룊5c3[b iv;5vk.`xp =Voqxr \OE%e]c@0Uq>vdT%,`/`pļnn(#c~-`_uQ{طn_uqp 3xriJ+xhe ́5pO Ab@Hap=K0,+lN48΃KO'xz[Ї  !t@lg a"H!)H:92#d#R@!gvB^#Q DQ32Q&,t2Z*݁65}b 1Kcbl,K21)6 +*Zk>D3pDOg56?_=`Jp&8q,B)pN["hH'zݘB&N'."%"%{I$1əG!qIRjeR'=YlAv#Sbr1||GѡR|(1>ee e3rIR~j6u.@=IK[CCJ[cHcFn34>hi:i54嚋5jռ7FRiŴ:q}{-p-_kVVem[mD"Ju(:v:l,j:7tzu#ucttn=Lg+ۤw\[t}}3$So/ߩߦcg0 `A!CΐckpuÏC̆,0wFCFeF}4f/3n2g85bIPCyCˆz5u23niYlqnsC@lͻ,"G,3 ,F.qcijn)hfgeohUl5՚iiºպ&fMm[-Vh;;{dvMv9Ewhj:9k/9NNBjΨys00aanh\ ]] 79xx#lFX6/]9fdȖݜxnnWiݛ_r%nMG|VϞ^R./tL}f,s7;{A>>>{|ulhͣYq6u37wXpjZ>e9Y;X/\Aޱ}3GĐ5!CBBC{<¦ 'G/ 18u1^cf9&aS4% cO8yTY;s{oqaolku/\>v%ʩE_kx捴77ʽv;sӹWy~8 <=zXSgړʧO랹=;u/$/K}ug\O+׋6{QoZ{c{{mNLo'ҧώ[D|۟/JO 643[@ {RTªR<hs}ݰBn>!M-Lw7V=$P`{TK`] ;eXIfMM*>F(iNxVASCIIScreenshotrh. pHYs%%IR$iTXtXML:com.adobe.xmp 1110 Screenshot 968 iDOT(~{@IDATx_%IY{BL€Nb/f'Dda/0̍b$n3oBb1!!3/ꅉ F5fw旙wA $eXA:]}NwO%ԟzQp @ @ +@ @0P @ @@GV:# @ @B @ @ `X` @ @ e @ t$a#8A @  +@ @ Б@ @0P @ @@GV:# @ @B @ @ `X` @ @ e @ t$a#8A @  +@ @ Б@ @0P @ @@GV:# @ @B @ @ `X` @ @ e @ t$a#8A @  +@ @ Б@ @0P @ @@GV:# @ @Bw^uƍcN>]=coD^|g裏֪J9xg۷oKҶ1FtBmڅ>:<Mu##  0tgGH< ʮ_qΝn㵳8PK:ݼyĉ =~F:e59w:o׏jqm V˗w :J-xu֫vڵҥK+xʕ+ cڃY%v̙ԩS 4K@=..^X!qEOF|ɬAJBL.:Ea8I7(ge5h@UWa+9Y*9n:˦vuT[/5Ed,h~Kl%3f#ݕ @`Xi _≷: 4; Wb[Y'}ƙ/1-\bT ~:ku۾fu奴z¸r !fIWSJTl>ج/5!@X%aeGv`jVGʥDFsM MiaĻ^ }fHfJ2dp±Aw]T(]gǚ#P2xp $~@SH:n2hYչ]4ձ< @@ %s^iGaڰ8 ï ҃t2=yQ[ExJx+Kҽ{饗/p~7 +e, _熬`\C-ړ6:6O0ƓŸԎ|X]~2e "jM!<2xC@x Z,~f_QrՕ@CADܗΊS=Oʼn@)}:ۥnJ&%/+@ۓ6.#ʴ[Tumd @'@O W Pgv~cnehToT ;z5H ']ꆯCՇRi#'5s, -'}x͓찬HeԮ+1Gs7eGx@mF6͎C`'3jť]0~*.wI*C $1\d;[7١ rd Z#mfcXp)ӌƛ!E& @`0l;#';]rLYq`} +]M4°Dk} :]Wn%å~_6b>1J(!)kmg @`0L9PZScrH^mAtbpJ +g>SG}fnu,uv!>4ƺ} (Y}SQw~) 4~FG!0oZko_g7Zy*s.eX2ݓ)]ҧG֘sbh..27)6ST 0kÌfA`7Nuׁ{ 8} 0aX p,*2E@u4ZJ15Gv]tFYvPeEM[[ +MԸ@Jʮ<wץ6sBVU?xTP;@Ѿ -Ce?o~IKzVΎ:.Qܮ_%}57|9i°K N(f Bĉ00yq۝wVgϞ]z_(*<%^ ʕ++g\~/:KrP'GnPzWq$K/v-$v28˅BK hrr|UyV6Ug趉0M˂ůN]K_x*K8^i>V oB `X@KkfEt}zvh03Щxz/H??LT8|[6Qg_|3G~GuT}NRq\]/} C|@`Xy }Nmj #~rR..?W.3s] +hГ +%f>.M([Dz_.v^]_'y)%[wa`]T/ @S!ae*9 <%o˰bQ8֏2q%~`?ǻGY eSqY%5L,Eg}Զh6o}[//,prb[#u8S>=U|j!j#q 2BO L@8RT%t }0A@^R9?D,|;Lz2:hpw2ft /q,=(եܶ矯^Sm[a@)_2.&=[_L18 e@` -w`wKL\@tsVK}Qv:+c qY/&dH3i[38RsJod91&Ê_paa4iWdr^oTQ?=T L@D Qh0M%R$[cqavʊn1 c} :fLu}ڍו2>E^h*= McҸ}m%1͍(cq[Vy B6F@2q"AVxbws8@@m |d缯~'}瑩:ܽ7!MRuO 3Vʺ=[qE#7ıiCS4(aֱĩTٍBA΄::r8lЧ Dd̮ {=eXɕ:[jpڵjGuԽMrl헒qk}1e" v@ٻn0Jt*:#%`!ikAs=wc2 tRƚ%J +Jv_g-M:\zՋu]復ŶDҳ^==nhXmuz%+< @`hV&=~pe;-6 %t)euǦVOf>,Y m-ǦUjQ2J-ܺ>wYGJʙ R +·R" CJ~mgө eJ+ҳ-Uҥ +%#kw T>)mR^kuӾk`Xe*7 m +j#q 9(;ӠNxSQs7`=C}*]ʹ_PҰevPdrJ/R4c {Zi?oM.mR]\ '> ΰvʄ]攳)FZbyOaJs^Z Ա?A`S\uR?*9p+c'ur9Y_?Ι>Εr^ܶ摗'Bae8ncf-qHVR8@S$5T3 $0 ͿV5H?h3X&lIgL` uV~Wu|hۃ^.mU*_ѬkNj4ԅ/WV?@  +sIꦀkyWWb5ht}]imz F̏@]md$EKF!f^H6./iLG%JEV3Ja:o9s0yM~V &Z\ 2C_$Nyh$>Ŗ, 8?pz|_e g7n5}g:nfC]JU?sסD/An]o[Bsuq)e(8 6 u^' +u8@S$ae(D@qi>Ucɷdgu^w%`ߕ@]]ǧ2:B:uP] cVSS]M>š:j׼(3:YGc;|_%.ŋ*/3/|NLx d@`IW ɫ˗/wv VIBf^a9Cf$㔬 Okäם ԝǮ]GulytuPWҐ{^3>Or{{{Qܱ)࡟w2NJ~+mq]w0elWҚ 7̨ @!0թ6 #iû2?4xǚnheʺ%LF]tՔwɨ[*ajvEz C6-I o$ghgS:s>˯%KJtsK{)>mMSljS)c R@f^ǐNO߿BmSNOK.txySgVO  G;d@A@`4vF:kŎ%1Kbra%N>r 4h^%eGuKt=<-fT}Ɍ:h.2;ٺrYYJmsS _}uq/V̏ڥں%B_纥7 je=Q*R£џ6y$1L=!_9+SdTF\ LrJFu67EրG㊕arhq…e'=Li_/ cְqoRzeTѠ<Ɓ׷q8e=Aƙ}C+ +^2I? yR0_Չtw*̃iEYCO>'fM@[\m{PHFL`LuV';caE9?Φhg9(L &YzM3T6mȘ%2Xae 0V e:vr+H~΄wɜc +)*J`Li v7z(Rq?WR;Bar߫ckXM-jr*?]-3, @`vMW@xb7BǤ ~}aˈR@KD@h񵇰lY }y2:IN~@}ŏ}}: ޖe0Sza?ϣ|?S)?mJ)ȁ ,azJǡ@v@~5l*ى1 Plaz!lg@i/Cly?0aFɨRsfVNTyRd@c#R{ޢ4m C"08FOS^  PX,zJ|?.zǓ%ޱ?K{ZzWr7|E1+|ۭ_Ҭd*> @`0E߱ԛoݺU]:S6kC Bqs !cG;G~!s{` v >Lζ=qu5oM&:\ #R/-eX rKvUߧK@s=<<\|]ڃ^ tC&zE>&y͢0]/2ͼ\6 0eVz^Lߧ=VzdA[ U#0:pmgJw-fyjIPSYXG-;M>eT9hXi^a@  +=rJxfֲ!К캥<q8J1fC8>p @'a%"D]g:3`I{|#k}R; ~W?=:'ZneKx;#f=x`@B+8 @Z4048 |_կ.{ӛ޴g{z痊ͥFÊz׆){{{}];o|+^U}kWq@@7Vq2Fx_$BVe'|r4Sm2Kg @% +U/;bqΝ%|/ 0=_/}Kճ>[?뿮7T?c?&kV}3~w~'昐%U rW^]7^g @FJIV3Lv{DAP@ {U7nXXԬ&{@OF)$snKy}N!\瘅JF}tƕ{lqd*+ @7 +GF1,+ʼn},/^ M.mǵGuƕw%AQ[@ R SO։=ur>59A+WF F?+c(- }v;-Qð9@ 0}V 桦48qpp-UO9TG=[XV:# 0K2곿ѵ5蒺\tiB(- @<`X)zZ)f:uQ^vR{n3Ve,{G  O ^ϝ;wL!G @'ae@_~}u | `vi Pliae!C yL`ӌ,Z %AZ P{8fiiPa %@ żOYϏ-ӑ_UzUyd /o =.?W'Nنa:@`OOs@6 +΁K% +Ϙ"_ .A >o~3c*=cC9"ԌΜ9Sݺu:}tdN +Y$ʰn,XsgHK}L,؃ 22LQ! 5"EŕB/fmoLK,7n䨍_ "cd7  0VZfOɩVZf  H3Lwc7Et/%.3V@ 0 VZytt2zoV3 |򓟬y䑕hrz貔hE @FOJ,vS4Vp f`X gb @s#aE{{{+KV${ڵkթSZhWK|akY夕\UN+$As װW0ce%4@ fV,e28XWҰR V3]e NytA. 0/} + +֕WXC y1aE/.x衇*ңM;VwNLð2A'L@Ja) @`XYCݻՅ }ҥK:k7^/1Ec.}͹s: cXK:clV"  @`0ۺ?puk$/9s!@'Űr޽=vPYv8@ y& + O>m\L-6:P] 5Q[@F_bwR|ylwdTRN'RJ @`XYuӻc0\QD_id<4S֭[U  `.wt:W.˗R3U +[@ 0oVb (zBifuO. OuY r @`lUd{/&A  `XIsY{lTGM o2,a@\ joܸ:f + L,G>R}[S5D-$OS@!LÃZ4P@J-&.@ Ґ}{??[t^^["KNU!w~}_WO6qԅK!h`IAE^elDq"ЦӶ+ 0Vrg^|mo{[^s\?xk^S{ w W\iġ^Z]\8]2oSi[h @ +c .,^CwXđJK}++9e|F 2B?-8w\kI>%v9.'/xy"fA`|_ȩ-?4 A`]E] Rimzj\pSc +>%` @@VP U^ <Ν;t^BY+88H`ŋfCXGٱ4ƽO2A;@T`XJN'v@aQJ~ VOG DTfq'@2΃@ʰBٙNz5mD8 @:2FA`X48r-눎q$ʍ'eظѶ+? 0eV{Рuoo:<G- 0-KR@  +c VXGG]RoE9h. 0m=m 2$@6Ha ОЃׯWZ ]Q&c Lm˴ m!@S ae 1/_3zhGwԩիsu۾Or/ږ ALʔs!0SY8~.9'b&Y99e  t&a3:BC@7nXO>du9h.]&a Lm˴!@c%ae9^Qz^uxx$dNU~ΕPlC$@2|A+@`XC.̈7z3=+ϟ߿BNJ` Iȭ-f l`'R@@Gr|3hiKt7[@`|;Ѧ0J=mtC"ae(ȅ V}f#cf,tRuڵqt(e Lm4 !@S!ae*9 ?B_JY>q@D̒@zO2"A @E `X)a@}?z1D@Y'?]&a Lm˴ m!@S#aej91gV]ĉ1b ϊ m|@ `Xuv5z-i"g^Z:ujoKA@!зӶL&Q VH!?_qؗB]7)9m˸ @S'ae9 ˗/Wt1z3} R v m|@ `X} v7zܹswxxXiuƍe0ɐ,q,L@zO2FI@`Xz",?9::[?Օ+WV˰\pa]X 0j- ̂Yd# h >|޽eB=$K/Rip .]X f5ږQgAfCl@`,}GKz::eXGWlmX @` `X' ?_骢 HJF8Rr9mxM @s&aeιK 0Ze@] H-vmn; lmP'N@`I@s-{ڵk.OvؑdRq$sږQdJ@vf |u^W*+}@`\|P{6ե2ه @`0?&e@ׯ__Du۷o/eǝRqDyl!m_ @`05gIFFݻɥ9zkӧ+;W8J8sLu֭cqtO@`h[h@uVv~l~O(uR3a,ޘ 09-2 ̎e) 8 JO] +裏,°DkږCFr@`~^yPhٳgTܹS=cv imv= @`0!I @ @[!ae+؉ @ 92\$  @ l`'R@ @@r4@ @ VH!@ @ +sE@ @V`X v" @ @`0!I @ @[!ae+؉ @ 92\$  @ l`'R@ @@r4@ @ VH!@ @ +sE@ @V`X v" @ @`0!I @ @[!ae+؉ @ 92\$  @ l`'R@ @@r4@ @ VH!@ @ +sE@ @V`X v" @ @`0!I @ @[!ae+؉%p޽ݻw˗/'<3gΜN:SdJ'OV?1i>P=Ǯ=q^w&s] ׮][}pj֥\S;wxxXUׯ_Ry,S:G~ב< @``X٭&#"pʕJ8XO>:ok!CO^O^裏}ĉq_Êt9w܊윃M rt YW]t2NܸqcjmKg6S5ZC 0?V旧hV3:rݥKOsîA pq͛˙+6}} +z׻~:W!bHؙ=[&V3̮^ƕgNYϷsVYhiۥ1 @#ae~yJFL .*-S=`Բ &-I饰z,~rJqqK%/aA.A)ʩZ$cܝx,ڒԒrFQ;!=s=C %)4>x uiqN˄dp _  Le O /^\Q_3 @xCF8zi@wQ_IK\ Fǡeifwb]nD#a F]y+o|bEi,/od+ROWvOrtյojCT6r %a>߽? @!:{8@``c}f譋_$=skc?N:W…ORv;wJ 5c  f+cml^Pe2Amc=ֺz {\KmmLQ{f+/Qfb@ 8@`@aj e遚1ayBo֡*/,Z=<_4Mfs Urtʯ 2xynQKyQS3䖟 YĶCFri@ǥ!].TC:7Kޅ!sTenuN UrInO1r5t{XRwdA Н@Yx ড়w}jYr"鲞v Wfˊ;vs ѵ o>N@}}T]T8/3)_ɕ/?jC 3U}^//)n>OTS5#3_Yz6gA\_ 2 >Y|}#kYc&+}63̾g1N  @`";?y"$`ǟN]*2%yeZnʰ"C } xcHRY}5t~mZyuOB]6XcXMCAw wʱ5m|r5vҥ*۞~JjS~nڥt\ >@f`X gbހ;z]"BAQd8 O3fJmh2֨IP,(-Lu$Ug&A/ZtrԎD# WC9rQmya%(Af@ 2$@a%ji|J遚 n(O?mYRUjHΰ"q'މTWgu^6vhzwS*2VEWRxn7wa%!@%aey#$ΰVe/GJL͢:k࢟ ,bae(8c%Lv˸N1;PJ̊y)VD@B ޅrn G/B'=QXb%IVST%:曦fλ=qeeAMWr^lʹg]U7%g[Kb"-iJK_|qef=TT-,Ijc:.M @KB €>.tX6T>"4c H婧c q T?K.STvm^.ws޸qß^Z7&eB hO|b_zucIV{ !^m]ײ w[~[zp @)vBm cϓdX{<~A 2wfOزU)fuؙo/ $'g*4؜!|elEO霓.K6Pm}b^z饣Ӳ0壕/8@6O+w2SQ9Y2:doš'zߒ>"OɽN\@žbΞ=|fܺu fΆk}NmyJ2~Y L=7{f~qc3b @`{0  cLJAз  JtL%RxRKgOԻtQ."`@(:#z*Z>k'㊖5.ڱ!S4UJ>aEʙ -@BGgenq #bE tlW^Ϙ2Kաq o7 2Z l~^|]iY_j%("վucY /t (K86%" ПFj3 ;71E ^;^M*uڰRWu#`9/jC|]mץSyڟaŧ!7uly囏J ]V0oIlAWT2eN6OϽM)^S=we/O@u)R@Y/~J":/K{+n 3V|RJ @6V&PzzzvRӭJ: +%i"P]u^벟2sV7;cXyXw׬)ft)JIȂ @;#z6j_|h:Ppγ::ܡ-.K$)d_uq~wM}ή+VJ}HT}_{fr u3V.T؟εq)6[=z} [@ 4PS\P@Up1|ceuɣ..?*iX"ݖKJfK&Pe~:ė:WyݺU|]'G-!ZGym!J<a @xYl):]*JHJ 4Sw>UH uVu^:}SXMk@P>Yr.mgSr'"/)[J޺sluĸ@, +Ml3#`+ӫs]7HfɩSV::2`奎S +)R!Pl풑T\097:l_Su %2v8ne\IJ)T Sq6J 'mV^$B`lvy晕VwRQ7 |u?>ҺE}e@u8C?Kl׵zfDίor +ߊAe US|U<֥a}-#/9Y@V6ְrĉM6z BI@cmԉa@)+_ƕ.N ۹6_>WVB07jrݶ^M }{ OݱA.?URKhLްӱ#}U6|mSs6nVp qL@ٖqE:k%;zv}c,:ŭ͙iJ*}ft9[ +u8C`]o%꬝9i(UcV헸WmuiR"ݏ67%Sİ*ueo{۟F( + X< I &۷o/Cxus;^HnIɅ[ ᓤs0=uz)_ * 0@ȵE?l!` fTaVu媩n:u{s-+U/-*wppPLL~ޅ*խ[픿Xk*-@C+WO @`DoAL*"2):))A28]}Ztkrr+׵nt) gZqV~MK}1+_Vuk]ޤmx @"RqLKv +li7y9853Дw('< _ن3Ԁ2c>[皖r׷Zy2P |[g?e;g 22ٴnRVilb󒆗g + PSۏkO +#Cg7U, =6/| m~w?ƁxfrYJt!׾qzw^ҥ0[B_a\?OU??[5-rsrqP oavJ;X:#vVO7-Ե> ZR۵a leꚖ)_cs >?>"~뷊BH>-qF:7oHT^k)gt.1ʃxV`XiT .Ԯn!*e1KNt/pz߾V'?jﯽLud +aƞz'I_=1۫ԁTZm~V#<ҪMPB;F/U}ɸmg6eX\G} 2WV2A}ymG@FgϮLE{ͥ K<8թ6;tbzMyVޕIv Ww }b@_g2d6G0Jwְ"MNF0HyW¥ +%"9|](9@T$oro?˿ KU}F,͸4G[wMK?g KPeP_OcQ_R]neQƕt(_[ +%vƲGBA`S|C;*@B۸Ƕk (~6d+\wV')T=+i"*%xԻm}'{^r(8UE{OfP_|M֕ziW|ȫ^8h_V'CQZ s|KKվh}\>_gҎjp#:u{gFyC |s?="ԬվSe8 k^a^>CP{ە- ľ-+V kso1FZbYw7a>gl&++RtQ_jD$U3?n4HQ,F20?M&V*;iuR`Qu4Uݗڣne$*eXY)9m`gŧ/mA`H2x{P,ƛm~t*9F65 FX!yVmaU_a4w 򅠃)LqbXFYct2%>VuJSa_t'e K8ˇS}ǯ)>Vp@L-)a*E9߾fˢBaR79$ A v۷o/C TMR;5TiE * Ѕ@l[ 7.bv:cnGw.J~u֭*ֻүr#'Tl*,ۭSF.!A`H*- tStʕeRc)E1e6|N]޽… ޾ M)ߖ 2}-3^VЉ=6(NW6d2Y?q%-LWn~Blf_咟ӹ, Et]ˌ[3Qދ $wr=u_*,0}Y&i0ߔy!mo9q%c-C$r+ B6Ji0OT^W,;~;C2׵C:;:ngϞ])G*KtOSBC,վ9e^mQ7Y[צMnJ<)1ŭsJ-G}ZumL[%hS#2) ӥQi(B832L >HgVP >SmMSfl{x7 Z1iD0NWgLyKu۶1mk Ojjd#=u._Ra9̃ +կr_{Sw︅w|,?sH0FJ@mZrdzyڝv)$nrz]X#ss}5nk<6u&ƗcjϘژ\J6F b;mn W#r dF67Jrx[R~8̛ +j6eVk]~}Ѧ2ԉ>i~_.p# =W[gx_s%T}МFV26>+.?Qũ,Sr˳ځX?|#";mk/':u),xWe8(Յ%O/'B `;ݺO)=Hbot~_~g~:%c:嗥 I@mA"ݾ[K8߾4 Zi m)PN|OFr|_óL6Ne؆mb,#o.]&YmLdY׵1en5bHBFr3S 'Cgp[\ +,%*6uRƗ{j{G?+òG:r Ԕ:[|>enXA. S<}/f5)#3jk]>6:)#պ0T2T#v9nmL^*rRݾ}{I&}60m%%G^)lۙ.qS7\$SZKc]<Tj ksBCA pĉ_!S+ںbk(XU޿rnUo[zk\;w SsSݻwW_" X烑:|upp0mJ b {Ӝ7m'qH,؊eG7rtIPa4ȜelXI%DjCr;B8¬m;p9t" :69m@^6ITŕ%2r j5[c6Zm4 g㲃&ݷyMRׯ/vmS R 7pc@$e.\XYӶ JMkN]a UwBLT9*!9V*u_/}K o^׆ozjL})?Kao[Ws8׿uOOU??\Dۘ.֦] FkUP"6Sw3V Ջ#=JMyU4cE-@/tY6'Z:d}c9Vj:~wIw۸@x/ʱ/hiQϗ>3j'WJ}ޏԶ(Mq쾗aeT.lcocX dsfWԶ9H_yLѰd6mu,9@`S&g`u}GފO̶η]6>5З|܏RЗ[u%Hm=הs>^s㒆Ӻ%V> KBsit![3ELoܸ &'v R q4_(H+8@c'/nݺs(.KP0hZum[_8O|ʌu]ʡkʋZtr_ E]H.8-c5wl)~E'ߏ$V^07N@uu{ݠ񪓠 ap馛leIzW?O&?)Nj@?wDQ}ӟl!x{3HGR[h;6.Ŵ綁Q|N3iM-^mE{o㾃ʤ5'U&\-GʡʛQny,rrQFq76 hFݚ2ƭui/^}h\ig6W6)κLԔ_P(WKf),nVϗWǘy|+_0NKSPAK{<_~$3g*?czxOޒW* rd'/h` {*]]IYmtw}a59_R|VmJ I$~:T9ԲԱܥsƭ2$^mڷ_CM5~I r'S/7m=]>]r[F1 /+*En8~dXyի^o 6aXyꩧV>gocؗ' k[ MLuQ +Y,2IÊB_},tץ e6m}nВe)SNZ=%]+o}[7]+Cly[, VVSV6lmǸ=׾>\g)}I.?ECk42~ YdܹSʶV SDaXmY ~ɛ 0mw_`*wҞīxnd 'jm[ӯN͹4-7äH3CruRe׏,߶q[}Oڥ/JOLW_ݢ6Fq8?9mLt7/Ez,XqJɯ23 k1muvQݰ+ڰ.j_me*zJ.  M_iQG-#+lڪj[/~u\'װR孩(*7im/m6|}6l:W\G}_Yj"Y/>lݱUv6f}I +u%{cmWAC@7am'ewJ)J`n8A0} +%*Զͽގ6Vt(nkl%{]>yGa뎭(o>}}D.|(nK8* pt>/saPTaPY^׀z6͛?cuOT-oYQ/oȗp3\E0FF ,ߩ^WhڀC=g_Z۴ƯTַBrʑRt%J_xb^oJ$S.jŒ~CaץQv NMg+۬I ҹf#mU\K.jiS 9(TBqԊ3 VP {!D@e>?1K|tk'}m{~6>~2'l\g#uƊӧWE_+;8R[Ly^>qg6W)`]׬̨kx~#nMlY @WRGnK5>ǩ Xc\/]bXm`lov7I9 05 +zDl~:7i"]հtw_~|$ϿyѠIV56u/'Sr^HnYoDlZY JWmrZ~urW<䎖#iX] cU P,m`nVq- Q(H}?,\ Lk~Qީ~i+ [>O/5o3. 3[nUaRNR<4D[˟|]m3 U᫳,txF7ʕ˾I(֧_WpBWyD6&DKHY.KNQ_Zie7]vնqiuHhcz /]J;߯DJaj`=]woWcgb* M. zeڦ+(n-ߑTy>{ʒKN/Rso:Օ]RUﯔUΓxQ0 a)3r aEdnj-w~ɟ:WzMw]< Pju^uh]gX/MuDzb=#|qCg+ei2HhR2B)1=MR\{6vmNc_^o_44}k??45yMַO6qԅ_źKO;VI;5/ ƣu^|n{ږnl 5o_׫=7;?ĉ/|  !:[OOg!@9/Rem*OR;;ZȲ8/ ƖS$So6l_02%[QQ_-k(nL`9@`RPW['mqiRݞSҖ}Brc-74 0wƾ`{}0`,沱hMNIh/=4{ˊ4+G{\7;=c%DfE> hJXkt6nC3e_C`3VhDRQ6n&)]ۖ8RӶp8jl}:6I~zUX{;GaeJvoh@,uRÆa%?q2]4l2u<q׶%''m'1 q(id;ٯ%S牾nt֭Jq=)%<4zqLiTN|٤$<,_}^Ҷ J uaF)/-! /oTxŁO+4 0Gzb)Og郒ŬOcO?퓧x?)D:Ҷ'/={v z)]_s`X`ɕ矯7U2TzLdcXC. o i0{ʕel:Pj԰CA@|ɡSn)m.@`ʯREަ <+VJH'a?C$@`njR͡.QAe$G0+96ilCh[6D@%`gEz 7 $ %!O`3pqbz%R)$rsX"eCBwM,DV&M( |&}k͒^4K]r?_9q~;%p=mp̑ @#`2~7SGKh ЏXzjY,Zvȕ@`:=mtM!@(KJYH(ܽ{zaEx≕\ ~}.#g ̇m|@ Pr,F'|һTӓe߿?Z|Y^YGM0NC&ӶL8sQ 0tFG@fx?3N|T%f@mC҅4a @ +S-t@ ݫ.\Pi~t)˗+}#:g͛>Wb)Q- 0 -' @`0l91B`Pc-ԾRgSS~8l8!ȩ-g4 @ |f OӧK ~5,Zmi   +;$w*MFQ^0N 0-cR@@wV#$FG=ׯ׾7We }E0⨓y@`:rҶL' <Vx&3ޙQjst^v=ñK ӶL7 |V%;QB{tɰrٕ/3H6}ŋ-.&h@YVv6I ؗў+VGGJ F!ږ>q B 0wVäoXGqCjXɉ1 0 S۶-}E @`09wIjX4|-ԩSիWv9w\Pt9- 0-}mĐeZem!@Nʮ?֨D]tim}ԻS8?@`<{e|幾q,L@zO2FQ@: 06}?~OW2]|_ǿ\M ږB VÝX!PA3gV>[&2 U!-+R0;$-j @ +=c!?vIOyd/<;U2JőI@`h[F (@D`XHF&RGCѹ˵JaeoJ{/צTV& @`0l2q@` ~Rj`ZKaeoJ{/צTV& @`0l2q@'}84G_NKxȺ3gTNZ+@#^c LX-1Fږi @0P 0'*=~sVrE)-ViA-@Z  ]o}[OӝjXw^uc3e0tA`TOIm NY@ @FBH25 DUzU??M^z֭[uq/_A,QYx+_Y}NK鶅%Y@@FDʈ2U PGoo^zrɟj=yr@`h[ <@@ @&JD3!@ @> +4 @ @`0L4P @ <@@ @&JD3!@ @> +4 @ @`0L4P @ <@@ @&JD3!@ @> +4 @ @`0L4P @ <@@ @&JD3!@ @> +4 @ @`0L4P @ <@@ @&JD3!;{_9@D`+HNAb}f/ D&k;" {Zl_`E^#!!{ 駤{SNU @ LOu @ (+;Zq @ @pL_H@ @ @ LOu @ (+3'OtR@ @ELCN֭[+o8WfRA@ @H2ť"bSC @ 4 cȡ"J*ȱªA @'ce:(n߾і7o˜C @ 08VfP ԩSIINNN׹@ @pL_+ HS[VlZ @ @`p̨Z%YC @G @ @8Vv @ 2:A"@ @v(Ą @ @`~p̯N @ !ceG* 1!@ @+$ @ 5 {32IDAT@`GXّBL@ vߥ^{RN aw&d_Χ˗/4wh|⿒5NJ1 D[q@NbDNia`nʋ%α`Ѓ]% {vi*KۗJ'W؈9VH__X d2a&Tk ӬS6Hp̸ؼe>zc4ZU+1ܹsg%;cGW)NJ\P XlMZA } X4A TZqh˵8&8Vֈ8H%pigHOW}B~ZTKr+m&,GmUimxCL X? V O&,tٕ+WZ9 DJil-חIzߗR{;&'i4|vbOSnzV )B;I+NRM! y1={е*?yBi+V(6eըoV/tjĻP52ENmPݪ $ceH[Җяm}lYg'K/gIqFqxxXJco%Fc~& ظ/| .H1|_,/NؼN&)ڲ>nu(=2jb~;+Q`3o/^(MmJ];sLmUMe#j8VƠM`#[i jЩ, -ΝۨSk=9D;I陖Ǎӗ^2(TKK˵Y:h(_zu]ۺP>s&ftSeaV{Qr3cѱxoa^IH]0?۴)-hl-m{SW C`!KY2~b62YeM:)'EҳǦ?Dſ>,GH/NtOqT?M]pam Γk˨kP{}RGoVsٳ)Iy;(]&LC W]x{ԶoYyϞ={ԹyUik_chMXiz? !Sӟ$ukˍO޽Q>k@#l3xz~u=I@+7ѷ&_9tQ].6onE'^7sДl~r*%O@ϮR=6Z9'_VV{,ݬ ^ov<ˣ*)K5ZB 0FcP6y{ZeC=!>bO|/&Jm`eU]:u\uu/I "6/ټixDNizPl Φ[WX6X]ilPqo: |JJrի}QСT^c]KaY X"K);i(|7t5^xa+y_^ܿ$ZUMk|벊Q &'0"yCB7۳lZ2˹DL*D̴-wZhfso0(k+3Hա0J'=s{jϼΝ,o[%qFW{|:(!'_&]#O UneŊ~f-Rc[)'ze40"oաO,HY2|*Vg8IJ˄%U_Urף#LC@a sE:ϣ5|T8&TmƪT }'V6Lku>{zcۣIΛ]u/i! :l w`y*_-'ט"TeAi*Lڵk,Ä ~:ByWi$f$ʹ+ N6f* H ՅRWuqGN87Wp :އFՇʒ3xA\x{$zmƅV۶/iMn.uN@}^RX3o@uzy`[U1ڦ-[O_ХdzsK?zѓ6A}}_jOQ%El^iuԥ˶x[k}C,mCVL;~J4bRZS9茵J׷˯rۊReۇRrך2Q&\luǞ@6Z@@#b 8Rq>T'ݥmD]i?u'Z8\][coIg}yO Su4YBEJ T犟3u{2S}NIֆ5-wJ׻uuuy|'*O/ӭk_>O/u.9}uy42QM%{RE  ,XE>B-@ZF~uE[0! 0iUn_qp*DWR]D\>-]FoӒGۦ-LGtx9$0)ۨ{]ovmP՜/w9|VtK_tl'R>-ɺֿoM`*m۰ŖˮTO*XpE:iʺIg7d?NLɕF?g}mbݯ|r!GBFyՅi:Sb5cE~g;K[$w9;VCuu^(G:o;)=UA]YCW}N~3!>cUb/vGˮѶY{׵2XӆxUV +u@V @ P,{,T?/t]*4U'Dnwf ϖ]in >05uuc9ճ+2k'ueMS\6)")?km#yK֦r>;8fg{=ڼ^nLO8UMuIi917NSǶzU_GZhB yRs|q^7Tv^U]ȝGt䘛qKY=Rz:C!\dW_ci?KU.eX9:7)oMiuo B)F$J@'#e3tvE|Ȟ>>^zmOΣL6>:]H}Sai4O.L'%/7, cy݉ߒCGe']AJ;Wҭ*޽rƍ]oo-T}(e  H $H#_xOt0?oF]uRl^CT,FW2ƿ(k[s);OOEsvNarS^E2!Юw27r؜@s77v}r4TuK =p*#"C\K_#:yBӟ:b/ƚDYY52J c}+.^Or8ֵc6 \ΧW'sm5cehP#_C &wY0&EOu;&r\Rr>Y=Lr,;qAU9fglWH|g'0{I7YoQ[{!;m ;~!ݱ=qJ8V:V^8V|_%=_^/s۸V9)4Q^QB]JpXCS27ɨ(:?%y'nCw˱u׹*w̙ *lcXZ4"syC}WM/8@ձҧ!9l+CNc%mnl޽{4vTʧb;ԧ}]y3xd8fVە @0)J2v :툏kߜv?:dηpܘ$#z\S"ٗǩϱ:NMR^SYj7/OꉟOyltD'R6.o;NSS[J5&Əu_Mhn J3-6NoVz=ɩSv+LסҶx|Cpx"m+s ZΒ/nSe`j8:&9$|Ip\J.ұz`m]S{6ouJ?ՠ- c> =qΧg9S}OqR:Ed^Z=ipԮ"ǶE6.U;q2H!!6 Ѕ-Oz8::H!t2Ef"AB)'gϞmama?Urϟ/^(k: TF'uk3% { -j*zIJIIGk:m 삯#q &xHQ[>\]7L*]fWigGʖMS:s֎*_P0{P;R^|5mOmӶvh&mXv%vRWwj1}zB_)q F7{6 I柒ik*sνپ'įG' o}!^_Wq5tBs]q} *+^\}e>{tWnK/opjϷ޷6'ߦr:V|ڜ!@X oОPa R{q<|Am#o~7/_*{vJo2w0(/OPqQ5`+Em&'97>믔dgЧ?Ab6|.^{5{)ڈ}Gڎi"L=$aeKqܹUrk ԦQٔ-_P-T?@c2e 01;ZHtb>J:V2e%?P5$R)mza˗ 96T {bBtXHNX @} XK!̜~U޽{k)['zN~'>ݞSHOq̩v+wLj;3Qe +C2!| 0?Iű2!Kee6$mnJ:Vrdssphʔۣ  c $ʞWy=cEEMtvKry4މ4k׮m^T:㹨N=j4 #@S@D@/qFq||*VB[B"@v0%+Q LI@/B!98V V5O@`ip,)/ (j[*"e}z=PMf5i$@`Jֱ"glzisp$[35)!ܺ 5Tz^e.HI_4KBqwW M[bxwW>UVM*#1U p&JzfB`?9`eKVh&Ox )! BԪzc8E&ɧw Ї> hҪ1hdTsY\䮒v@*r|z*J>D ,4GNZňAaDݾW"O$V/IimzW\Y"PN%%3 EXz\dKxb@1hvٳЪ]IbQC@v8V#%A@ +ϟ/M!RE ;sʩ2K.*@`i~_կя~T|k_[s@2>sr 0 ٳg+N,3z  @@>8V$%@ @F*B @ |,I  @   @ #c%KR @ @`ap,). @ @Xǒ @ @X+ p @ @@>8V$%@ @F*B @ |,I  @   @ #c%KR @ @`ap,). @ @Xǒ @ @X+ p @ @@>8V$%@ @F*B @ |,I  @   @ #c%KR @ @`ap,). @ @Xǒ @ @X+ p @ @@>8V$%@ @F*B @ |,I  @   @ #c%KR @ @`ap,). @ @Xǒ @ @X+ p @ @@>8V$%@ @F*B @ |,I  @ in޼Y\ti} @ @N:V!@ @vұ"V NJ-@ @&9UX2j> @ @uvֱwܺuT>Z@ @$ЋkrE 8UV@ @vֱ"Fѩy*@ @ 0v| @ @@A @ p4D@ @ "c%Ek @ @+  @ XIQ @ @h@JHD @ @);X裏g?]s1 {l@-ǥH+̟)曅 @ E`֎ϟ/^(>}Z\~=%嵫W;sLq…ʸ| ^t)tݻ狳g&pSN: G'''%H&/͛7[nM.@ؖ4M\mn%. @{L`۷oO@l+ж%ZíKru֠P}eXUT=aUwz}נ&ح@aB73C屽|v ƍ-&Sumۈ@@2LڶDWsXI4Cmnr`"^$Aq^"pӧkᗦV/XfVuɓ`[X5˗ ۆmctӾ;8lG2A.B`޾,W @Fql{S&v:4 ?QP~LrIX^^dK_d6t.xil}%n&rȶ5 n64_A 7!x˂6}c L8VRn;![E~{IusYwJʖ+Z1=|wk$uYyݧX  0_8V]V(hkMSnx2AXGѹm"^gplV&GGG/4i$Kַ^{-KZS%uYr&h\!2Vm%[gb<>!@<T/ I,rq>Oz.^ pF NgeՍS݌*~F^Z4Hlai\J@mLzl{_uT dK)9$  e?֔, "0]1~Nߧ~ԖSa5IߧTyxr]y>}~~6|cebYRu.r2KoSߏ'$ eO93tmd sꀶA+*`*o+wU|MjݖkqOJYc%l9`~ɨtQzN 9%SZ[6'J^#)d6lJY(?yB _:V4@˗Dvc%eMSdcnʼnMΝ;-~RR8R+w-mQ]{)m'3m8n},)uY\dކ:B @`::VR)'~Wʧ jx(NUcM5S~t.Tߖ^m͐99Ƹa^ơmyqSv(YR6O2 @Xz/^$ c נ+24j06F!\?# *O75q׷&}dʱNJƖ1/j|>}Jϛ kH\lgj[oŇt @K"0c巿mr"0Ԅo]8k;+c9$'yz=Zb9mB>-KNJmy *˾1jǾmvaC9 BTNbZކzr @NI0~w6(|0(n߾]hE9y7mnin}}ЏS%ooI1'':N<A<]}8{ׯ__] +lƍ;嫶4.~_4)W?A{S7yӦO>-^|N['Ao*l*U.LOl!Ʒ2+n'0kr:ζwYt7-Zoc|mecKjH٫AGBIN5=;`ޱ6F[r[ybmcr}jS6B1N@IDATK%Y{)"EC= {DA(DĖ}.iLy>{^%_?MiY0ƢV`h>K~K`I+V||nnY e 2m~xrM)LJ+l\C:hbe<ϵ6(=ڭCՔ~۹o[?J*1u|AG$alylS/!qIG,GC]JtҦ@ږ-NiP6xnuh6uG@I(n +VPgapR yhӶ\Z99]Is WOGnV>eɉazˤlQj@q_؞%} 6deCjOnR}ۀ%X;w߮SN>@8gd6h R,z+Ê#ζpC +m1åA V7C@5鳝tNlQh܏_;Wױq\h2t5Qo!6KɏzͿX躯XkkcۀB֬`X{a,#QW|OTSV  p"9 +Lh?l:9ZcG9q\#0İz[RnHRg{;IJogӈzg3q&'/6Y)19qq\2dpƜrCSaŗtmخ4x~Sw[>aEl+Ε&wNR~l{tڜjdw@)+aV'aE ҞO$?kOt=V]ry^gCB;( G vw:0`5!XQOK0ۦY݈Ģ]V-'@ [wv +mbGF Ԕg-O(K? ĸm4Ŵl}ʕ;W(6$WVQstROV|}~ @'E`,+ҧ>)RӒ0H9 m=r(Ch{|OK-^¶<)G-+X]#ZmQ©l,=%U]irֿQaϳzm|KF׭06m{t-Eֿyyzz:/O7R+V| ْm >=U]"G_h~[z <|O]M4F4F fK{mbھAADl1]Y'A$~/\- ;pV:m M<}m 4鵭m#Jmsh'w?qiYrzQldms ukY°btcȖ^@]8}8][ؾm=k·;rץ}Rx"=@F կ~ea\YZn &U[cj~6=K-rt.#|Xsk+PP9JS˝t_ת}CݻwP%Q{\ps:m>!rtIs(^颎ѕ˩mUrWJ&0q9+/yT?F9sdƸJluI d>*TK}gs +N]ϻWMmpk訿G@@}4矺힢 M=]_RӠ0iys N+RV ^<_L8?-6Y_XNq{yuYaRKV(T2V9?n\CW>OVVq>L7y^g?JO~]N!mu+ϱ.^C 0.q֖$5ӡe3geā_ 1Ybڹǘ:[g^,o"W)4yQ}2~k:#мaj[;s?^u8:#M8_蛼~wm̑mwvxwaEmL Wb5ud[d嗜8@!0;VBwaX]~}vzG ;l\a wI*,<䏟╜ξC~p/$㸧^0v~JK -#ץcu3L*_ΐ۷ocPx?ʃPK*aUx-[?Lto1j=4o"/u]\0TƩw(/)խ!w]4$~V}~KQ>LZ;6\];lx.y(_іGN$b; i7@)9z럢1O؄_Wx=uSYu$_xIwq+l٤,'}icu39ؖov=+rƪVhgw:ڰ69T޹w{G߲V+l9ahrОڨ4;zWߟ"ge)?mζ1CXx @3xl"k@fHگ7 X&v2‡~V?)nb綴vy!yŤW}mR8l=,9Yl-P${ԤTg9/_tsдmz]L]]S^%j+\Sii$k̇Cڧ @&7h⡉4.G $>i%#p䄭󣸬9]+&q+&c |\V[uҾVw4irV7%wҭ_[\>lkbzuG)HɓjC{[aEbyz7[_t_QO|:rkigݹOW~4(]]Hޘ{7}qq @@3Iޱ:{W+Aě& \|yn08ڃL K}w+{`ҽ&gsիWwK$_}>w{c\XPa@麴9!>UFUYwbVtEx$}bj}B[\6gJg܊w[}{;x:,Ƃ6Hj>XAu.dŕ+WérplsF܏]'1՟:[y9 @ٮU'3L_@Qk-qu֟2u,KnnD]yZGFOW"ъ)d[Kf]!$ ;'XqY-+ˮȉ׶gW9E˞]~ʖsMQ2ȍEK  aY)( :1-8o<&Luq64뉎Se+5\|!0N@[O^Xu(0Z5j,q\_ǦiUj)} +>.'ɜC#P0gPݠ?Ӏg;Z:m'u));qճ5ٸ`n)ꗕ*۹3&+>=7:I޷MUBlo|ӷ$lۼT}*U*@F`֯Jo  ׂt/~ ~i( * ec *گ^o]K ]XxS>t56H޽όt>:t/`hZhL!]~ҖuNmBv ^墰8,};;-0ĈcF/U\OlilaZ޺uk7ƈz*rcO*'u-{# @`+VkX)8hIrMp!cƮ3yvqk}8>F@@?1)h~SS!7|z{Ӕݪ wdtҨT'nܸ{";jB&r?k,j}?m$)<.1B`Z>۝PO9je N}׳E) ~O}SiHԇa @ ư,IZ]5ВX-!Q@?UmvZN,d{7`-A VM@+'{@?Vq#F Lk3߽{v[(q%9^e@zΰ"?S[w> z m*2MƔ+WT2^54 y$n@ JJ"܂ @`ְzkt2hrSgi @D0Ld @[$` +ʟ{Wwt]1n @`)0,$ ROvxk!C vV^@&ׯ_OJAUh @F`XHA @\߯|/ooTY}C l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`V&L" @ l-*y @ @`'gXy饗K.޼yzGל@ @ \'eXyg_|q%:USO[!@ @@2\zz駏#,܀ @ @VJE[n!yw% 7 @ @h p21`J& @ @ aEVd\X6 Vt@ @NIVbi[#59B @ 'iX@ @ FJ!~ @ @50Ԁ6 @ @h#aC @ Vjp @ F!@ @@  +5` @ @an|ǻmRzvz[oUN'8MA`ro2F 0P=U}ōK`ӆ^zu֎~ǫx+AիWw:矯#[#zvv,c'SO=T`" ܹs~N6 r6GFk]F~R#`Ǣ:_S=sƠuߤa۷+uz ,Q Ɓ!I&u tI:Bf놕/*Jqy{%D }ݫ^}΢vFFB`h]֤M>`sύ"#B? 0tskf + S!K8x׮]9ғO>䵞HkOt2$Ć<[ܹsǰ@@+޽[>.pU@R; 28v,7cjYu^皖)jAӲ~YᵝcK:N' {'X=Kթl °rb2$\@kծIUThUФ GnM.2% ĺ6dz R֑~ ..AK4K9)d rJ.g>V$M5R-N2cN=裻mi /MoǭVRedMP0FBDT&ꯩUxmĸ"= 'ZmrunK]Nh{ssUg5wCRhDx.%JH3To޺ukG* +Qc-JQ=y# ؉fԁ.Kz9YfN+ѽ: +k-~r+]r{ٯv|cmII#N/#u9E{8KTŰO3oX/'iLb`k8Mm+r׹ ]*~0ՅZcW +kr/r{ٽvsm糒>6C =%s1t)]aniԔF 5O~T]/DrݏEkvV\zd_r__i C~OX@2P,Z˥3ՏcuaEVzeӎV\SH4^.LXae*Sڭʎx ľbX5 T}1we5n EVR=u PK#iyYDᥗ^J~uKs _wJLOYJ[E*MwKɱro;uuXUU׻.}Wx:aeҟ?M;n?:a[iM׶pcJ?ҋ5/h5];~XCy9t=ǠP*&[*>& fey5TYK!>EaetLC+X˗UsWH%k۵<&_6cEm\umsV|٧z,]ڢ`z^jG1D:ݎf{IrJz$Po|1[sdUfXY~&' vAR\tuOuȕ]mͰY+qF:v|-k1hl{8׬o<פ4%˚ҩuo}3]6leJ +4`Y=}':-ΔͥV.# ;R:'[W7J<T*0vs°ҏ~*qgkyڵ }˂pѮu6g+m'-O}x(E#}>5kۓEVbiu;pQ.LXW*hܛܹsGId&QG~s_Z~B;Hҵ/ UXqp^ܹ6РWU:-yШiyKz\k S\UW|؜vcFr_.?ISm߽{ȿ9_uz_66ʶIڅ(7TU7\XY]~6:77f"T]V$~ V˂ غ$1ԧϥc^Ze~6 8#K^JH=ߚS1(q/4DT,zloVTly,gS\ #YuڲQ[ަiu:,W|6_7ƣIT=uv7u#SciEK<1ݤw.\N/?\1M%)=FiSYZekVӉZy9 跗cfXSM$&S7mi%ZZ~ݶDR98߁iЕjrfN?6ok3tw[PVu.[tmkJZ}3wKKʸ4r _~vkζ풅MOT5Twi#Uvkwճ/n+] S^F%(|eE#/Ybi",=T>z\ZgRqURuPY^YmiJs7]yM͛BZ[J=v~[ߪ_u#H#~T??G[o6ʆ{ksے4TWsmo{[|=Ԗ-A[VV>RK_NO~տ˿XK/~>uQ*OGl}H]o*?@u VOSU_wbsW?S?ՖK׏2~L]MkPEPdA9K8Bŗʯe+H%=M7Gg6>9RuI,-Ѷr4a]ޕt)Fc-G--O:SHlwq^>ͶkSΖMo|CåZRqڼ8J¹dX7}a._Wغ' S}_W*QbJylp>T[5T9Ѿjj1d5Q!ζ=1ޡ}yReudumcLϺu>'ǨX9)G+9l72}~˜+k*$WT_;{ݻvRro.fl~g ߶ت.wե!u}{A$LekY Sm\M!M}kiVtl}2kœ?|7iTٶkkcRpc uYZ:W{Kh &'V}TYcNͼ: F[yte܅3<[ql`7' mz['gu)'Gݟ׹xAbpVr quq86KkˤkU]%7l_봕˞[7XFmG_ ƿN}-dhm2:S/rj!cMw '؅Z.+] Pv.(x?ꫯV=ӳ6PP9{+' =3tF@fLTV]܅ *Pt#UaoeH_,u]BZ~ʕ޽{B'T]|{;V笻22.y. 뒏OAQ>#Yvd+]ˉ?Ցt>+\Nqڵ+Tb!ש~|n߾}k?uXu@u}m)KPn>yUG}tinyζSז͛m:nkqNJeӥrxu&Z娻.U'7q̔ic6.۶\T>l~t]%i_}aM5FhRۢ@NzݻA~;*_q獺OEHsUg'}xV} LYB\F5SS7`W`hpʦRX:9ׁ\hESbc|Kq_[йYגaNjO<㹯i {zYeۖ>T8T vK䵓sO-Y6.ORm\,9s{m{VT^uD]^ʊY벏.Ty{Yp mբ)}ꂭN-;Vޤ6.+FbE_PL}ĺrgIR}3Tҡ[ɦa|崵_Wɣ-[5%KLl˻OGC+C4Sq <{גo ϊo\1ti@2?qbyyriۣʡ:e6rYuǷ;U8t/}lT^X{]}uy)62.]Gb:Nt-î:T_.ϝN-);{_VRַxھRqK7OVPiyzZw+Þk9]nVS=oׯ>d?4m^BQ8$ItuFeMys* b:S\ė-Oɮ4vVĶIy vq[w7:7.b htYzSwuK[Z;$u26oV7nmh [j)tZeYO״KiNץoUGv%%lJm,]}yR'ʗhzro]51^{T\v;nn_@-{cxˡ\z?;PYj^ի6[l ACd!o2ۖ4bů\GiϜ[?R٣ h*c m9MEi 0԰ҟ:~;&c|$2KCS|k2]՗G;7.'%䎲eI Ǭ;^vH1Z_jsdirY臏|r=wuynJ%ˡ_SاMmjgxy·pY[a#qҽ9y$q U@S8 |U9bXz@GJJd7R->~~[+r:/G=ܥx0x"_v: ϊ+g^{?PlKuu 7=)͋o Z_З'ʣu|'|6PyyI܆vqOUn,o#`C9/~O#}چ +DJ᫜g~\rJQCɯV*k%4`uS糍IuuNgr>ׁqZrʰ]2.Ї&^[Nᡆү}<`ymj}r>O{o[~3n2UXg(ﺼʰ5%fJirRXM~\]x-NݷnɘSS'9 *D8Q6(xC +O駙6nOi4?&Gn'_8bk9\Cgˤm*m#޳$[yb\9ǾpcSvFM}}bc1N=5ӆ|^~u* :..eunh] _z0%`J\~3=5뺏4p9Ȧm81ܔae(]Ca!ǺaR6oy]X,*^ܰcl }VSNqjjcLveto]Txuv?+OOtoks ]+m][_I<%ہ?ڭ.]&5uyW__ h[^~4]bGֱNK[ +:u57.|]Q'G}C +9#ҧHWlxx) ߟut% ] MR42xGǜzb^N8Ê55ɫ{)_J[R)%wqINpc i۽NN)?7dWensݫs>u7}y4b1atnua ]+m. o}?Pceopc]mϣo,sՀn~7k6kP.T_8Jtn(kn9.C@CC.^cMy]/o,AIG]Wz<5'|j pJgT'Y֬Ua+*pRZaĆXqUʨr(S8;.WMt6eMת')y?8i/u=͋^=eӞ/'OUCz$K߬^*.1.KMmq9g_+^(_1 O.5t)S;Sƹ@hy(utm$ɬWpzu7usa c׺Ӈɜ|t(ʯ1u>V]X/Rcny" +ʈWE~Rp~"0I5ư2H7t].ɯԅ˽/Tn.$du F2U(z`2+Xo߾SqY&:ǰbw.]ezƷ%_d(ͻ1V8ckV;(u@z]Rz_/r 뇎J2C(ٷ,c^tyI4򑮩mruPѩܛƚџ1}WιI+wNx2swSN~$M[Ƚ}ںwJn=fϵL痡 ƣA/poʄT]OM2ÿQ7j.i`^?3(:7WVv/pd'3 _z\ۗm;+%I88y};Xms ^op̍?/ʯc*m>:oVqm7@IDATu羝RM&Y:qeFl.KSmк\oOm;tվ7%Sm/8zZ]I>wg~vmC} w{^}ا{9ǗYS[ni̜K)*[ytu 㑥oJ(jb:sk(fF -sy͛7HfgĦ76VMyK@582āܐ_A>EnT)_}]׾V˕}kj xm@5T_w-reJo][.u۞\xlqY{~=Wv67&'>񉃾w 6uE].u&v]~-vBl+gNP>n!Vup*s]|_(.&nL2%-seS9cm? +~|<ȨU~TNuշe8]a%*DӒ ? Qy W{=Nq{ѽ)J˓V85կ!yH?^ O{%d;y^aEܺm+ÔOM,'KՁ. msɤ`Vizyt7jJߦ#` e,Ć+YRY1ׇb dzFð MWH( )uMcm߆oV*e\Kɩ&WUz^NqÊUuk[-+łnS2F06|<Ʃ:.4򕯜]rooGO7Rj |Yj22$oX)EߜeS;Xu6^) +ԟh@6okqqV.%O>QS33k& 2:?%uKlşˊ_uVde,|\ 孶Rzr npc) +~EF4"n9>3q smwräGwmG,D V^xΝ;߹sv~BkOt gX"UKޛ<8:*4u'z!ݹty*'&nݪ"%plhv*D_ctju…}:a ZtM}mxWUS픭u)}ҺvZu}{U(k xtOIZv60fm+uYykj/eũvbH}uTW^1!1W QR?;;՟O,ٯm9i{5F_,yiuWOi}? n 'r_)փܧz9q#9⪎0Ί*d_#x̕'%sy)N]&tғXuTm.5e1CZsF8#嘓~dywGWri[Wu}P_e+SKɾ7\ z)O6grrް'ҟ%茕)*M] KR:sgcXVjrZ+uZ&Wx0c,CNɛsaJ$d_+Y#Ohr瘀>muٿwAzSF)o.>dmK׋=$gWr~y[k>|)ΖIoz]2!V,彤S| oRYA@{.G:o˚H_XD<1/_T&K12όu. o$uU_G0K|y+]'UW+8g)l~N m%ݳ=)\I +$ӭ%茯Ksu.sp ОeiPj' OhEc8 m_yS>4NkWr{;Z^]n]O~^4HJ?W9 Jt|̗f_Io7߇|ɯ϶O_27ɩzb:=")U((H *K[z޺l]tGmz`]Kdݼy7NNיЈT!Ø[g$K|㿄ZGk9tҁ[\"/\~Gx^O}\Ua;S ]<c֍*-ߖ Sxܻ{]TWrrb4T>YK)O*qܬkN T寏g9j{U pщ@J/4V]S裏Vo>I:i`=h{ê/$0Elk?9-YDs4g˘vk[B!-vuIj&(RW_j[pF΄krYE_:< /.ʫ3usp N}ut_OO6)O1G ~{0`H-gq: ު=v9Jewa寤qXN^[OLMte .ou\mIo%u6ÀHЮ:3Gi OG:usp!M4\՝m/+_K+ђEɦߦK+|iKҶ򑺧-KB*xozҖ>o~+P(r'TXRn(,y%Sqs AK~s 0j.rq{߶D& F&˲Cͤ)j+\Vi(oV[r~^#~#n ]_TJ֧.m#Xs]֖&~(qzSj룢9Qo+*mǭs=qsK}MdXcF/r9N͢2Dnغ#K>(Oֵأ%~Fm{akJJuCz7EyV%d}.\8hՖoc=TmrqLUZMtm~yJ2X*QoorwqNtkV}#!BSA=dZa0X-I__Vq ;}.F"Px/dJ5eӟt*;(XsuV_݊Jz; <1EuRiђ @ )Tj%׮][WEsO%o~z嗫|{޲w-VE + z%g^mw׵waX۶χ`X9& Pvp'[WӻdT]  l{'P=%7nh|#N-z2@K"ݺuQʍr %˓ A I -פ  +)J2@k'R!ב>E?Q=!0kAINK"aeI, p{T,p u7xc/0uy,{6nk202+~ xX =w^Z'X?Kkq%a% @ @#a @ K  @ @p @ @r `X%?@ @ `Xq@ @ @0 @ @p08 \B @ \VrI @ 8V.!@ @@. +@ @ + @ @ \R @ @K@ @ KJ.)A @ GÊ% @ @%a% @ @#a @ K  @ @p @ @r `X%?@ @ `Xq@ @ @0 @ @p08 \B @ \VrI @ 8V.!@ @@. +@ @ + @ @ \R @ @K@ @ KJ.^z֭[z9' @  ŋ+r< @ @&aeFԹs窛7o ,G@ @Gʈe3T/~Mի'?I{s@ @VFʈ?2m@6)\-@ @z `XR[dP;V0 !@ @#22`EU+O?.%Skw8@ @X5 +S* @ @'aeeH @ @, @ @'aeeH @ @, @ @'aeeH @ @, @ @'aeeH @ @, K>V~ @m0rK_>яe.ҟ_T\xz饗ze_y^a 9 ܹs{N>:Wzhά6 @ `XXh׮]._1TwqVϟ!N[~ɕigXz /Q3L  @'DJ>w\ü'Aի;J̲b/9A@+1dZ񢿧zd@ aV:ԆA?R 1h?ӵBFVWJ@[޴GMN”{W+W~{'{n  @`X#&Zwvvf/[e<Ӏ7؝Zϲ-Bἕkj+S, D@{lNzɮ۷ov״I,܄ @p08 ]/5'kհջ_ʱ-(E{MRX04㷥.h?Un-6~ꋥ9 @@4+d nnz_M,uC5lpO(+jOpj_/h |_y啣܀ @@$a%yLVJ?_(FūmAvW4p @0䒪W=zzSV0;u!2!kt6?VXemѱnVKW<=WcsR2p @`]0 ,/oXU.5ǰRia ʱ *2H`XYk)ɭ#?cmIIWlSir @`0 (;m_)5 +XKm@ԝuF9°r=mTưr*F>!@@Vp|qFO~z1R @)ܼy3T%cKL*Zbݔ/m(e4y @`0 (G?.MK2 &2(ae kWꧩ~]2`X @@{bm@j)Jݗ0\d`89/2zݾ}(2zyaݻƳ H~zÊ1[^'" ^vUxD°2j @ &[˳azn>G8K?Ǎ5!JF[GFהCkn+Rm\!@[wiRg'yqr4Dm# b%ocN)gؾq.%sK7[֒KUa˾c ӗ0M!@"agn"d'~7^hO@+ LcNrO Z HzHl=v!ŻVWWtNJ9& @X/^^f#]]Vua~&QV˗ks}Uou/=-Nzev/ؗl&x'ƒ/ .|c]b\Fе}ȗ(˖!geXu/]k~$}/VR]A @zmBHyySvZ$~  ^m^MGTu·9?OzqS|b8vbWA:$w*0W {cxT[8GZV9D @XqƮAwĥ͛7k˦j 3w;mp(|ƺy.U9q_*0C7j(XWq2ʡ[#2@ E`+P5wquKֻjۏ%p޽ʕ+ /D6nܸij 3q~+Y4(2U6Yo6oʓ4rWG곭I[(ܹSm>Z?MUƶ~FaR)VҊl @r`XXO<~vljK )wK3?_,ӄQN";2MVCq7L-ɂa%Ek{/r~p-͌.:7("՝{Q3ۯ}sկ$<ɸϘސYLeusr @@"ͬH`4{g- ϴlǓe /¾\D[lIgmHI0i(0ot^Fo62_F]tO&_-_ԭԱ,ۿgv9Q8ORzH @N+VHKģS^ݾ} 07=ww]CUX=Q93=}K~ HijŊ_a14 "%p\TOJ}{_;іCw:n깺"QǴݻŠ0Zх'>) ▋k׮rYo4kKe}4"uaq @'rt)DJ)}{Xe ѻo:;R@=X.i.i)ݒi(.]2ֻz䖪Cz ŭ<]&jWͥQdI_oŨ)nWo\} @²Ry F%H_-D>0Do %&4=Jsn&2yp=7K됶(-?CsĶ,Q2;ڥlR[ns]zeƯ +mA @`m_AK $u6D:at9SC6%ϗg7TQEWh|Y_a%վ+_%e$  @`[5'I%ORy^@lJ>/L􃻩Kv*Tա>}(n aH`X)I @G9{ꩁ)Lg/ Hmt~ ĸQ[ KvbT~GfnÊBVb3ǧa%E{ @`0dh=tr8 33;x@l3j"W`(: C̒]-Y}"غҟXV*3J;mҫ?_TZc2I'XζiJͥ =?ۂzv_dS_z [7ndQ?nya9 @ lF4^NRO4K< zsCivtɔs{xhV9Qbcmr|YOr-oY]A2D>}=G[׵W9>U*]ڥmAi @|#YybEObxǫTzJ3HB6PymM#.R[tbe6çE%_=Tɟ_ϗK㟍''SIu@ l(K;P׹C>^]ܺgHo'r6V +풭ǩVo_RJi-iv_?c}׆b\NOx홶X{1dN27oUgq @"a<5hx2OBb~[&us~vXBg|+Vͮi0jb[aKYZ|*{VNGeTYİ26q @+a}FO,&օr?*< O0ڿc%L+]u)T\8Sݩc%W}qq": GmdNub]T:j/n6Zuihou-Ǧ< @85VLuK/m4AFf-}~^cO/żqƠ 5*tZ-L,>+ա +j!cH ÐWM8}|'LoΩmC~+#vo)j.\*2S:w\~1`RTOnݺ6s%Y%%@ AM&SeNR5yފ(EgyÊza}t]%_aE%|hg1jS|2Z !@ `X9f "|HLEÎdXCof}}xaEFD+\^eTr\'2dHWr +9s%Ê_B[K @`]0vTBðBЯ)/æVI(] +mƭ>i @`0,b#[YքUNZِqEFBY3:(uG饜0{Htu ]+Glް2>E]AlV/ @X0A $ TT!:7΂dQU<,)∿VğsT6VH Cν Gp @$0A=duJޓbߵԗ{PR_JE+.F:ƍaMy+VFiV:Cjxuyѹ4^˯J A /Ē' C8?$PZd8qDF:'X>` +@vFa^wZݽ{7jY8t!$:wN6i=|5KvG[^I  +'UdvLqRIfj1 XEÊh]&Zk*K(7||$ @җ |߯oW|;W.!N`I:d +=$fsP5 @ +)Kr@kXmӋoZ%W^ye[ @D)6y I nK4k[4> @NKAA@|ޔ[nUn@   +'Xd@g T0 @)r L!@ @Q) @ @@)2y @ @`VFJ @  +P @ Q`X+B @ p 0B)G@ @F!aeD @ @)r L!@ @Q) @ @@)2y @ @`VFJ @  +P @ Q`X+B @ p 0B)G@ @F!aeD @ @)r L!@ @Q) @ @@)2y @ @`VFJ @  +P @ Q`X+B @ p 0B)G@ @F!aeD @ @)r L!@ @Q) @ @@)2y @ @`VFJ @  +P @ Q`X+B @ p 0B)G@ @F!ae?^^Z(/V< @ OƔ[nUO?A*~ꩧq@ @`XdXxQ Z+8@ @Mʈ'JdaEZT8 @ ˌ+#%j@ @`XdXIc؎!@ @2lm6  @ @'aeeH @ @, @ @'aeeH @ @, @ @'aeeH @ @, @ @'aeeH @ @, @ @'ac~w]pX^zH @`0t(˗/W׮]W +p.]^|aX鍎 $BT^}"=s=W$." @(OJZmtwZ+b( /V}=ýQA`Q?ȨuqEF @`XP/Bi2%m+жG9 pd2~ V M4$>n'x>!Uw~E. @f#ae z Ķpd?q-Q7b\!Zc%*wFCy…dΟ?_=Wt @!aew=EW A1n T7kHr{X֐od<2|ˠߣzP+ZoDxj+2 @'ae@ +8v}:$&:TSԍ)3?\~O*G@FmƓ1kʸ+ @'a%Ցϱ'+DX9*n,ucl+/֤26RE+C=T\hk`+ @ezZyƍbkMqbuCx6Dõ`YyS?){29B )OK J;7W@ ~eY؋'VhND3V[^khV1zR\C y`XO1 IMuʦ$3*LjDuI" @`0,{O`jn/ Iy"ؤ,=ُN?cJ$q]BWlÊ'5 @X +==<9aaXYX7HWM>L,eO+O0LA4 @@?VqѣaE+WTI=-): 0* +%^"ٖ- +m H u$g|ɬX|$?._207G'pݳg??~g9MQXš] Փ0)]uTGm}_uf~(??N''dV7·҅`HOyR5D@VJ+aեϊƇ="TKγ2rž}ĖO]96aRZ]8Uҏ5;\!n,5*g‰n _隧T؂2GtugO+SzkK$@ PLS܉gBCd$'ڊO9/labaoLnEJՁ-o_O7q%U}Qu&)6sMB` |aX;ð25q҃ @I`D9BH@:,'?{:<0  A4˿O9_CW^yw.!2CQāHrЙ(d%98$9 $C 'Q/9Cj^&brD$&\;k~]]UjuUwCeJ̓2IC%'~U$}]Ձ-oYCxtg܇! @86fi] XII/jزEcsjVy yECmiJQI~W o}[wD;xdCx7w}Af 톕- @(u{&|Ȁ|H>ę@=X'5aj'Udc&&h`elT~^TnQ$^xJ|5zq]Z @$p)3%'M R?M4e鿯sS/^8Frb\-1{[]?e=uS'-mϯO5]w[ٗM|LCxMܲ1FV:!@ ЧQ  mbܮn=5 ]iL1h3P"w[9cEJ-W>헕98h%9e7w(DEǵ?9{w«ouכ ~+CC>ݸ?Ԧ^1>%IDAT95T6A  ("%7Kln%%V_=R/?^P,(40g>?1p'.CRy1oI!ղ%C_ك.FK}Ν;wp믯LmNx*E]s}Uw}A.Cx$0sؒEǓx^gj/d裏ݶϲ @B u:b^㎙)C.@ajc?WFW^1O`ؙeH:v "5^Q~ײMg^HAźW4cE_kT!֓%r2 @86k-WG6vn9*#u([hCSDѱCdڶq`2+mf?+?%9P5֮r٨OHG犜]Z+9uuw-'ifʬmEW F@i%H:]嚕:XCԧS ŧ}3WˀOjʮsbwK]~T,eP}u$ҵCŏһPv~حBW\'յkX 3EN3y;c_1;J[vay}JN1I &uyȮ}ZS5ql_,X<ɩcu9BH (xt_t4hR'V~h*C,*^Nip2UhIҶiڿ|v6~XS!ǖDK]N_얆_-[QZZ+hI|Π:0`tGKrbPT}P9'ΙeAu,y5viu @y[8*uLWSc4Q힀=ӓ4]ol>qmژtb>)}^WI*dUµudFaq!_F|>Cc퓆ʟs ɯsb'2HΦ}:\r6]gvgkeVuw }k!@@I{%Ic; @6G$o DH\%=$'/tZR~_2ǯX>nt oi1l &h![εje IJ]=1L_8TY!6B@?lSebuBt>[ ,mQ[AYJ-W MN>K/Ь?#g197}=ԬAihCs{n1k[3(+M @NQ2v;Cqt\E G9 BA+=U?E::VîtҐkZuN>K9i:W'Sl5GK|_~,^nP,S)ۋ)# @ P+Icm <ΙTir&ٻ/Ҏ8Cd2*k9.Nxnˮ!s! @U|n9W?~wxdb> ?+ Juձ❻SٜCE]׉Lr @X9)uSخBq00˪A@#ph[8x5otH@ΐ .T 8;"4S^SEEC3\T)gD9ݶC?@ 0I`k4ӻ ,KKV`B +Ћda k_L zi޵Y%rȡb_weA~GttDcѡXѵҡf(LTk=pfX! @Mh$5qrk+kt0PZ`Rk_9MROrFk}aKN)dqsXY[5.?qmx}kB, @H8VTBI@T}MS[gfX,ȓ:}?xVdG/̔4{E qɏ)@Zr?^XsXkƎXs@|~j缭N4@ П̈axi*r~̢#44p±҅v3B H2fp>ɩ?-BhuCLlt KXBk @Y8V2  TO}O%"N=/ b|nok/sj`pZsXcEڑDZ["`ۻGPcasL3t\rJc42T1ah/[@ П̈Q~Oy5Ӏ\9)Lֵ,c3ynqUwL+$ןWTF @!c]!^~St5=$_8lm99r|y|CZx_z~L_ת|3gs @`p_GH O~]G NVGF?aȧ?-oy˸W++SEˉlJ"! @Xـ) S +*_>sw>U| L(# @ X9:e>M^&: @9& B@/ m_ q@ !ce =BY[ozgtMc@ @`)8V"M> 0 '|z'i}c7@ % XY6yA @ )8V6N @ @p,I @ @+R' @ @`I8VM^ @ lM@ @ $+K&/@ @6EʦIa @ @X%i @ @"ceS0 @ ,Iʒ  @ M)uR@ @$ceI@ @Xٔ:)  @ @K$m @ @`SplJ @ % XY6yA @ )8V6N @ @p,I @ @+R' @ @`I8VM^ @ lM@ @ $+K&/@ @6EʦIa @ @X%i @ @"ceS0 @ ,Iʒ  @ M)uR@ @$ceI@ @Xٔ:)  @ @K$m @ @`SplJ @ % XY6yA @ )8V6N @ @p,I @ @+R' @ @`I8VM^ @ lM@ @ $+K&$_:[׾9;~v] w5f#{]&A tq}#g~򓟬nƳ':G.})O?]]pa'/~t7pCu7??s Bo{{٧c<2Jlө%L-ǩw5 .`|E@%R;,G7TO/-9oeS?(S? I@:BNi@t8V4HC}puh$:9>{ ay rۡt TX]u3Zޣ>j?9Rw/N^*.~][~Z@X@nc!Bu:0uv~Zʫ *rAW)ܽ_qWK75Ԗ_t){34G53Q MRgk FH6B {je*ٿԐ~8 Τ=E%1}'MWJ;TKwcB0Co\uN̎ևy/u}-֮/VўT-9V|U|Yu fJ77^r!+%%$zT|hsRRG2O-*\}-oWՁM;ҧ:Wբӟt z5&:atO!-}^G_Fpʦ%,/q)Su[r䖨'oYvpH-*فmM pp4h"\CҐD)K۶r\)tP~vD#)[ /^J Ur/zONzJkv%D:Jn mjX%~BE?|p,af8Vj@t`];$~ I8к9VܜSڧJ-QW!쯮67ږAzS9}c.UguoK5+,9Eߥa׆ZV'!68Vj4oN~ g<7yԈ# y۱cz%!_u6`qxyKMZrD6x cmb X95x^_jq0e[6?]JR S<y7JLQ#Lf2Vw1]F)aXOw:=tR#僖Et_{دCd%r%Sѭ#+u;Zo+9\1:1|_c% ?kcrϷ[S]ꘪdmmew}@uis`lr7G5֠ضO%hZeu3V "l7Ďn]|ٕ-N]K[(gJrpk&Ay?x:VtגpoMufH&{!߾o_rևX@Q¼=ܛs7% |4,m.H,~..iqr7=j}i\ 8[Oc,]#ok};V KU6޷PFo%==`[jԏ)ձsf1BNcՕck}Z9_y~{##~C@N,Tkd Gfyat V7n-tdҌqXOW=%Xl_in%x>*疂cۖ HRtvt_vKzn~MXs/U>}JzߛVک>}W)]rñ<؇\¤ B䕭n=tt,RcSs=A Py{rţ>:, ~ܹs)iUʾ.X̦8%]bu$݄a)IZYc=Յң%cg3/)o"].}ۨ|r3X_O(ol@j $Eo @J˧.qd\jxe=ԉӴ,Ue $wndC[ -hgy=e/)] Vڙ-+{ʱFZ>6cʕ+Z/_g٭[b꾋oޭe2DāX m:GSBz5Rmyg)s /1u#\cE7?`HeRgJ=vV6 r||klwT :.=V{ɲz},ʷ4SO=o} 9FyMlߢz[j_cױl;EB`}X Z4tCM~n9Hj|cqM!\sH7Պdmk*ezvjouJSokc4df窗õdelkn{LζK|yy}RW\l_Ⲥ:hz饗f-^뮛5)^KZ _z}j/rK?LwiKj#o>\xnW%@-9DqoWO}&?9[oG.-KӔ\{\I7}4#U@28-Nǖ_.+VZ6leZ2 L'smx"gi3Voݱ} f̲\[dEbEE]lEuU@Զ˶uNS0pr' l ؍}r&Jԑ:&uuU[۽zӾe_okU+u /e5=.<;gl=! ;[Nc-yj_3#^le,rr{{.mXrh|Jc.ߘ5MrqB@ŰڃiTy4 ɢ-z^tz[nqJmQŷ7=v=*A.0tקf/X^|5y3ɾt,zmmxJ8~VJo5 )\?wءn*i)oOo}]>auP"-B,C(-5թ*=Yv-  ƓhF@0/rMiаHO.KXD๶ uNetܦر]֮ߤ1d kQԑ:4c%g0ePz*I_+KGGgi;}fxOUn^m1Ev<&&4wuMO\#%/(=J䍃oݝmߍGLeMkP bk*Sq,Ҋ?;.m+z@:ٱhM7-274?wl;=yZ+?Ei=Eᄆ|mɲ1+}OdD{e`~.-F= ֘iyӅ "Smumo)ab7H]|u\`^ Ydׅk\Χ59VrSlwƤa)I9Z+~2OX9V(=ʚ8&Xk-ڮF|XI-BjԩC[ۨӷv[aqٖO@%mByMJeQHSw)E6S%(NjD_ۂR'faGy7;[}}g?%6[okz􆆩dny:[;VK..V*x? |D2})z#<2Aڔ5cEpBwXH_~JĘ"͐MY8f8m"zosύ[hOLv(@t'RC}^3O|ZLQHFН*Wӑ)6!ѱBdmD=N9>A3d7Ԗٞ]idddNq ze\{0cE樧.Y-U"/&g̈XYǞ2'segf[i}Z:owʵK%'<Cl<4֠Қ2W؂486]j;e6u:%[+)xVCcZzk+9ꩯKG6}N/w[ZM,}J?>:{O-o|ır쫤t"o 1 5h[t)>GJAm걎 -s?6Mj.euL+_Ƶ؎Gݿ^n9i|9n[׽Xm۹گ9J?_)xbDZNKv3BREmjlW[۴۠ C`-)5Bڎ;Av"Wzәrx[-Qb7m64w]iǶout4E۶4;@^LMJ")>F`gf -PDްAYJ'kiԟn]b6jWUߦ3/O^bzפۺo>G2gyfizL!]6ٗl3m?~Q.M4:8G}Z$vl;E)ҝJ5NM%O_SEרq 072>.K0-uPmՉ]Owld%\WNtyyִͽUe;,}_W>keǺX6t~+( ~׻o#ŏ3s\m`[iob6--">2p-J#p|QaXuǧȣ<\۟@F%6ux;*J䰕Jl Zmk)ǰ_u|9Vyt|k=,KQǙNuK}mon鐮e6l^>SOMֹϗX_W$:Etu9uzdW2i?_ƒo).ɘ~GTTR,%PnlSxL.oʃt#PHzZ4MM"p ]i ėӗNW=GKs9:M_GJrX;[ 5+c):3:#{犝67cI(M6uZiXvezS_=]Kμ-}AeqҐ=<֙Ҷhvq+HۢOҧ$w}lJu( p LI+yK[:;E$WoKs.1=1_GJa—Jҙ%n՞ X}m_#-Q>KMQݟ_2*Bz1;nW;bv*W-[HW&/{lҧm4w}l5*\O?tuʕr>|Hod?4J?җu\:kd!@Nw9^p9s]ҀJ)-RѯReE0x!sQJ?YSeɕΥ{\_sxDz5 ve҃u=QΌOU]|ns]sܹƸi@ċK*''}wҶ*^[4/j/]Yܽgn>Iuo7"ׅ]/KfY~`a;k>.u}Tٳqk}_~!08Vԉ5Jm4yf&'uM:1hO BimJSw9Ҟ;+^!lC;F?0/ɱ"VjG6ÞC]{PQ⢿%ׇku_e6^|iOj5gWom*By)ߵ;0)ߢ~iڶ%^]~f9{-Oc1&͇7W|#+r1Ը N0YSxMמW`zKV.ڃSv"h[KY,aowV)s.o%d[Ҁg_gJ .2Z+NWvȒˆnoKVr>o~@6)cn ӔfC~Xx~A ެm뷇(M5\"/y"?YN_ҟm^ߦ[NJG?&}-qN:jƩN:d[Bؒ\&kզѧuArZL94Q ]y%31X:6wQ?#^36Mxd.ȕۗ}nIw%Ȑ,ٰ: pI,?QMK׽z;/Rc?7ͻp ?WF _B}oT'|HMOotfP?Xն)5H 9]uQⲉ>ª|+=AXinz2g}4/{S'N ;%WeeiʽCAeeRmi_ñ)/+ulm]XѡO _~QKQ|k囲^Uz'%/ K.O*? $p, '/Vk-K/T_}muu՞‰:([`2:mkwٱeآcŘ3[9I_8L/:U ෗ǻj^Zآct .%r-=h{…wS'W. 3%Hx't?--麾)q ~Bv !:)i1&)D@Nwݟl~iu: .mhݔ^URÖ сc{4-Q M+C8[V@N+j!P:((iqu$aޱi[ t͡m;Su+S8Cg=:ottqBzJاRRΐ"`;=blUW$tmO6 dSԙw b#1bXNNΥɱ"TyN># Mk4Xܭ]7ڢ.T&~K~CcԲ @6T:xh%d*rk9dYf/z+I*9 LJ3B ѡ"KASW4[Ň/|ǟ뺟˷kܮM9'MK :V}-rnruvM`(YgT\ +'t @85]~7V?p$>/{0T x"yt4 I6zʕNBLim̀CKu~W8\@X9%mSV@ $i m2&7I5?_j6l}f7MNATXI/-0C4 @!U$maAk[@$ g3H׎ }3V6C(4  "hEsEV9_T$ ).\Ȳt>}jy{U sF2! @ P|;g{~(ȺQ?_җl- )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(rt @ )q @ @(!XU RIENDB`seirsplus-1.1.0/images/BothSEIRS_compartments_quarantine.png000066400000000000000000017434131375244156600242740ustar00rootroot00000000000000PNG  IHDR K, HiCCPICC ProfileHWXS[R!RBo"U *! $YTp- ]Qt-{Y{_,(+6Tޤ}sϙ3){D'.ƅ1ƥ2H.p'bc#:@׏Ut$ >bDZ S $ DTD3TJidžxdM.WV33 yYG&ĮbH 6bˇ8ayy C778bSCŹёj}F(1\!TQ'A=w@欑 L)**OsYjBgM0!b*P  fU$dGHqm f aA*~,-SJ"NWU nY<ٸȁ\UX@/)Sƪq 7LDV. RŏGJ bTq1xB 0 R., .jd>A" R @!Ԫ. S9Z@"@.-WzKFw56؏:D5^%1L 'q#367{D՞NxHF ܚ$*~K3x!3n|geV7yfMvW JB 8|?SIcEQo룊5c3[b iv;5vk.`xp =Voqxr \OE%e]c@0Uq>vdT%,`/`pļnn(#c~-`_uQ{طn_uqp 3xriJ+xhe ́5pO Ab@Hap=K0,+lN48΃KO'xz[Ї  !t@lg a"H!)H:92#d#R@!gvB^#Q DQ32Q&,t2Z*݁65}b 1Kcbl,K21)6 +*Zk>D3pDOg56?_=`Jp&8q,B)pN["hH'zݘB&N'."%"%{I$1əG!qIRjeR'=YlAv#Sbr1||GѡR|(1>ee e3rIR~j6u.@=IK[CCJ[cHcFn34>hi:i54嚋5jռ7FRiŴ:q}{-p-_kVVem[mD"Ju(:v:l,j:7tzu#ucttn=Lg+ۤw\[t}}3$So/ߩߦcg0 `A!CΐckpuÏC̆,0wFCFeF}4f/3n2g85bIPCyCˆz5u23niYlqnsC@lͻ,"G,3 ,F.qcijn)hfgeohUl5՚iiºպ&fMm[-Vh;;{dvMv9Ewhj:9k/9NNBjΨys00aanh\ ]] 79xx#lFX6/]9fdȖݜxnnWiݛ_r%nMG|VϞ^R./tL}f,s7;{A>>>{|ulhͣYq6u37wXpjZ>e9Y;X/\Aޱ}3GĐ5!CBBC{<¦ 'G/ 18u1^cf9&aS4% cO8yTY;s{oqaolku/\>v%ʩE_kx捴77ʽv;sӹWy~8 <=zXSgړʧO랹=;u/$/K}ug\O+׋6{QoZ{c{{mNLo'ҧώ[D|۟/JO 643[@ {RTªR<hs}ݰBn>!M-Lw7V=$P`{TK`] ;eXIfMM*>F(iNx ASCIIScreenshotZ pHYs%%IR$iTXtXML:com.adobe.xmp 2452 Screenshot 904 =iDOT(~ @IDATxT{+7)"Ů{ &B]KƮ5{B( =}3g̲ݝӞs~9{U֫w/UVVr0  (-J]΍      F&;wnPVQQa7 _@YB@@@@@@@@@A53         _@YB@@@@@@@@@A53         _@YB@@@@@@@@@A53         _@YB@@@@@@@@@A53       *PSScIXii, 7 4eM2@@@@@@@i (D6}tOʖXb ڵ7j@@` PX,      4Bdƍ/`55֮];0`uԩ.v@@ Pd      |ek&Nצuk8puf@@' P,      4oMy9ydc˞={ƴƹ;@hʚ#      @cPXVVfr6@@@@@@@@@@@ @@@@@@@@@ @@@@@@@@@ @@@@@@@@@ @@@@@@@@@ @@@@@@@@@ @@@@@@@@@ @@@@@@XDIXuuXyy.8-  (q9        P$0ٔ)SO?9sm%nݺZEEE~@@np-       llر6aڵkgN:5{F@@ (k~)w      @@>ʒڶmg Ν 5K@@([ @@@@@@@"Ny'eGLyCP9@ENL       8 TWW헖ZIIL# @ P$.@@@@@@@@he L         @ P$.@@@@@@@@he L         @ P$.@@@@@@@@he L         @ P$.@@@@@@@@he L       X $IRt%%%Ey 46ez@@@@@@@YجYl޼yq?ֲeKhM  @ P%w         e?@@@@@@@4y󬺺:vД1eG@W      P>c:uj]ee [r>ֱcfx 4e>@@@@@@@4 YSYf٘1c/'[olѲ 0uVeX  @ (k`pC@@@@@@#0g8qbBVSS/.klƌm91+X6mEwH{֭[7@&q       4cjYg.)E4:~Z?%[X֢EʋE@+@7\    $@TJR( (gٓO 6ڴnm{۷~&E5? ! (l~K/ݻ7}N0*l}ӝ;wni@@@&/4iO/׿ƭjZ26"8u} Pė5S]-q:_֧:oyyyht~ֵhb!)/!zt.mKsGԖ]]]jΫcΛn:Nu'h?]SIOmg_ݩ ]_:gz>55OM~Gzgz   ̜9>pM4?wdK_~ֱc>-l[ ~lFt>^{5wwۚkوq^Rk#P.֭[\z^큲K=P~'0 "O#   Q@!_6zh矷_9+-+-l#k6p@|m֬YSOٓO>i{9:G @3#<#x&wn묳m֫WB8LAG}>c[x^ye{w#+[omK-TQ#{Y?N.]lUW!?R4@cƌ߶ꪫƈ|?_=Nl-rĈ7gXm-V[Zj(`y睭}mvX꘷kIEӗ/=y{inBiZdr٦nZx}|/aжM[[~m5ְUWYZjYVzm۶]k}>3ճWڵkWx?   ]Ͽς8.?P>YrI٫wm@@E%@lQ6󪠦k@wx_O?FtSRӆXTV>p q    @s:uxO,!6X6m:)#h^7&N!ڶmc 4f>  !@!6TS}7 *z7-*XxZ}ShΫEEHϯsPEU*Fߴ-uLZ`l[v@:S8(]צ믻]Wtl}Zݴ]t{.g xuԝ^!   Иꪫ}t5tȑсk-6 ;c=f;cޥQDI7pC;S>mч[}M?][=w#:F0ӈflu׵^{G=#W|nli*NM};laj17}{cAu]סQ)l//5:ئmj}kIuH'~w鼷zJQCHm/)p^~b/n0UM#}km?9_zN;ﲳ-rV5,Qve=^u]\`W\q,SLu ս{{PnצNb/=sqz9P}F0wihT:Xtߪ{qk}vcݧ1Z@@q 3_| (e3g>yY3>CAu\   -$ҬTSq󩧟Q#G 7żCFo߾Q>}zTSC4=jZ:8 m*Ѝ7./PREN-{b nA9zgΫB3<UZM{kۦ>EAݞjK@h2eJUU;+y!SS hutx5^tڮBQTԷz+Tꉼ2DO(d xM"zWm}+#+u}*.6x2"B(Bu.2C=dW\q8Fm]OѠ'TΆHSt*؟ʶf+?"~m%6ZTM7dwv-D =Ǵib/<T7xcLۨ0_^Wᨴozu^_~:uF]j |p9=^*\ +k¯SNe.˴j(|M~[TZ:q(lڒ K]FKKݗou[=No.6}tSNǥj,΋pB}wdeE*U+Q}Ji2v&tݣ /_j5 id:T:l]wKO<)wY؁'  Bsڇ> ޹@])@La!NƮ  @C x x.b@=ll։/%J'f'_|qҾ}GJ_a{K$pJx/¹|$G^L<fKrZOuvڏOoxk)1Z!W 0 yb};%/b;y>GBK]ҢڐjݺuڌwtKdY:]r҉'%XK<רTMG&K|dg_5%,Ko>Sc/?!QyG:#~=zHzx/K-,yȖC!.%UҺ"˿lɘ1cy ,>/ >O uvF@Z@X q#GL#Lvt џxħbT6:C"POfLzg#(壂%OT0׿r)Q`T8LUӏܕ暉\>"VS$vZ㼇g\BS O郴_Niwa(ꃵ *j>}DVKGPEEEx/(x@=Te(l壩%{6\wygoWGV[m/{FpM^$/6X)7݋wzꩧ+l:EVHEJN!i>rX⽂6S7x0RaGgU_iG}K7lyϕG~׏DW7 o7S4PZkEXFޟkw 7yoRFS ,]T@hKa*t4PFy睋 | gA6^7]I O#TYgшgi/YBBt*Q:FzOZ:u}Pӽ*lv=Da@+|i7M ڮÆ kUt/dZ<>-]d@a5HcA@@@ (P6lou2ToQCW_}%[{l> +z}" ?zGQicT.4 FfעFPyra#.E*~=;*k?;u:e ƩptB,z4[NUQG>}a]ZP=6xTYi8 F4Q.=&7BE2I1?YjG5Bl1r[|8k  ?D@mƏ<Կ[,  @c Pߡp} )Pi-(S/tѶ4Pޜ*\xE}=v=y酂W'tRLR0(ӨfC?-TU7-8y=q] i[}2Ӵٰ]ھIS`OEZ5BAӁjĹKAC*j45f9   MULyYZZ#7-j]mۧXT4ֵ'o(SJtl,O5k_ o~G(KGW! }ӔqjW(/wEj^ԹM5t,UQ=#V[mOEԅT}FKN(RTPm頃}'Ǿuv:cjLMAQcuԑ@^I?|C%9@B@YC(DmCMiLPET8TxKEÇj5ͤzjz+k@z^]RN hGdYmUpU =ēbJKM[v33 o5NSi/5s=W]ݪ>2[plRSX<҈^*4kD2Q ]w]czz^_LpןrN;Ӟ*T(s:v5t':g9   MQ(H~[PC* Bvtsj!\5}7[]A.(T7/PO@P-Ԧj%sRmCmnQ'PMf]wuU,,h(ˎPVwK݇j 5jsuS.K4{˖-"|ܵzLZ{5"u{G / Y{#,ץK i*K-z[!QMm9pQgRe|GRh@Y}C@@@,@*}@Y7[TSI#W|;6mJ(z#=^QLhD1MfEQ̢Pi3wuK.tMZTSASu_@sUl)t@8*ڮQPUVVFkNژCN-qEl)Z$~.(gGyd0.@ٙ G}t)t_qzEULmӦm[{Pֵk8EO%A,s@@@&PUT${+(C@Zk5_L$u[Gԩs=^UPp)([0"2Z?DL3$?|ŲoyunӔꔷro,eKHI#}SL5'+~IbujomEd-z[4fc>KɖCPjP(S}k{WmgOa6d*Pex @w15}V5Uٳ?+f$5_fLOj /w9*\&E@ Pc= 0g^}|T0Py,TҘt=7޳|.;G d7py+yҼk6kZYEE*fmb'|2 +AxX;ꨣ e OTaH;3m=0f6z.R@V͸g]Oi}q >ryU^q5=h`#5^SfO`^贫ʼ'oܗG?knGqheHh?ݣ|؀+Пy(t{N3,}xD@@@ oO<Ѯrk+~TP_ꫛwG-k>k={Df2(NenqꩧM7d>y9޽7jOT?QA]Rm6jOnxPΠ㼓]\[om>zm5B`R . 70e*,fe F)Ȕ])POY^^QUW<Ul@YTTqTNFa2ݷoEc9vG6]E`LAnL>:ZN={fOϿX۹Ey<e#P6+@@@ʣG cv*Zm"PtK[mUݞvR::]|zq~4f{:/oOeÇGAa)6`vuS9]j% w7&nb|gŁ2`({ec#<#cFL%\2L\>Zt}ݣf:!qQN_x*:~6ړ:C*'ҿTIu.<餓}wSON[~6("Pӎ UEa@u\L!@@@ ),#gY͔Vg6o'V3KQ2^i쓿Ȇ ;)T:Xg%ݯX?fA>IQ+vtT,]>buq|;#VYieXYJvi7/@hfʚ c_|%e睭mvEH)ݮGұ5ѱoL=fUe7pZԖ>C|3fL<x'z.ԻUG`La?a;c0RKQ[) gl@UT#*O} SVנ0#Օ5   &wewltR J ox@d uid/u#b|gj#/m㣋J+T;B^(P;ƈliM!)4 M qlȑ֯_m\A+cv2zf:}@B^>%eeѡoMejWs 2.Sg:d@FS~qq6{l[CrKk-< ;~鶞]?^/8߮]E1u i|ݿj/}|hx=8#Xl&e| 0Bv: *Peu@V_ۼO>F[̈́/,`Y / grmȍ&V֞ORHp4_ 1!?Yk,<=Nz빟olG'R nG-GĥD/K䜁Gzee][|~VڶX2@hvʚ[Z{Cue2 "i[:奊lueꉩдi4aPNze;v)4W*z.jߎ+*e*  wީ,;y;cb2TU[F>=it__}UQ5Ճb*J+w43)L)/yX5Z¶ՋWmM RSzh22BY @@@`1H;viH&6qDk׮s91ݤ mW6%&McBE !Ÿh⁲Cb(Wbsz>yG3wIϝFʊ[*>ar;vvo-ts&wƺԶ[Ӈ)[^}|AVֽTNvCxD@&+@ɾu~*ȩ@{FСny!S=pof ط={'~#^žm_}USaN%Mmw]qzGKA6M|gQT/VjՖ 5 sd>. *lݭkQURUUbͣwk[/JjkZU|<ڋrRW/rLF[;Sc}@ -8݋{{9qϭq ieN@@@`PhIX) ShJ4jaױO>ժ~]lޢ.rt~M[E' ^ BΩNn)~~mWElg7P[=h ̺ɓ;ŒUTTMţ\tKmt^]SԿjA}?Ӹ2QP6w%g9vE[ep2PJKן]tSL{Sg<ٯ_0zd|i@-ݞ޳,o@N SehsUO$Uǡ깨HKק{^涔dO} ΂sg }P*w:o,Z_{Iv?[ky;:mEmG;Vq;.-qvU@IDATlV~EKߡO 4)eMZՇUj6leGek좢֟ZN ݻu vi24 z}y̓L:״ eǬeTŪ rOm^PUPX4%ů~+߿l]y MkDxҦU<묳"u,MApI+ⵊ*8"pУqPVM|Oz/kT1奂;c4QLA<\>=UչFm[jZ_vGM7K.Qvu֭[ TՈojG#Vf Åy     ,bj`} UA\)}*QCġr )mHRuw-l奲8`*3ڀZ~E!ݞ̶?YKL|}N_|;Nt}i'=vOГĿg*m*V\.kqXt^  @ Pߣt:vX{ɧlر1o(V E/ h)UwQ멧|0Ww1E[otĨb M M)4hР4*]wSHjj'z|#(pXeUlSA#zj G=_uO٩x?Dpo߾Eע޳wyg bkFxՔ id߾;X=5T9L!=\s͸[ i$g}b_R oM6И.lo{yJBע`Z'L_y8WO=mW\qEhl &իXe~t/z?TSPĚ!M#      &aa)&kXR)rMԓ2LـWz !sҡZrk xnoiU~ua|ǥ'?]heZݖƖW(엿8X2Z bD T:B@I (ko]XQK+LpN]) RI.-ڦNӈbZΫmj<]M#:^i4h~t-ݣ֫۵N?j)̥t2-h5h_4MRЈoٰuל]9ө8ӹP廜/5P zꞗ      )w/FgU#^0YIi¨Zj̿GT|K;J+2ۿ)uS~qF?Q?[_4-m wkn$}oD/IOQ8k~{ᵞ-Bzz;o\ys1t1O\t~|*k*W]*+i9wVj@^q      4?+U1EG0X6MK)DVJ[>d )8ܾ?垥Ǧl-YǤs;=vtt1=>JWcaJNa/'͎ͿQV\O_Zā.i5[2gV,WCjK7kVd?fݑ  57E@@@@@@9 $_O7^#|t4d<4VJtid>O~{_T~C.,۹6='D:vt\vt䛌scj;Mg|ㄹr5 Ӏlk}jCjX{9fc(g1RVںR/++g9 4!eMR@@@@@@hN5S^yFy ) OXRRj%>d% 4*~aܓ?6dϬv gYvו^Nz-cGYת::ݧv{>G?,v>FzmVTylUϚ/~_G)leKw@>q      4/!yeUqSF&k5F((X9,7v MՆ|u6CgLO7key~C!dUFoΟ"rr|?vKzv1{=qn5k'&i'{XhGmh*w~i&Z?=vWںX{}+7 4)eMb@@@@@@hɬ6gī6Y2wRL~cpIV^#u6}Si>ДT:EџNa?0JO)_ke n񘮍%h^d6f//_sIfNOkνh>v2Ba_ =0mw9Ū}K[,#*V\*WYJ۵o@nq      4/ۜ_y}S%)Eb*m:tB)%" CiuِNiL\v³4\UzٹNҲY7ד{38Eۊv|{\*=:kS'XͬZA{gol+3  T5wD@@@@@@ UL*3G4tWYyLuY֦wZ_Ш[󝥾UzV.L;5+1bYAߵEϝs#dWcrWٴtSfԘ2Qʴ#|[IVbͬҹ ȝ  D57D@@@@ ٳg۬YڵkҸ׍ ?HU%_0+-E$IVֱj\`iNNGE[Bxܫteտ_>f;j3}6]DZn˞+\^wnʷ֎״:kHۯ1mɜ6ϭ8J3_5׵V:@&fq    4E3gڣ>j= 8Ў:(h5# $̙cs} K"d%FJK-Xy*X1b\t)v[6e-:j)n's|O̷Q+w{.|e^1'˴r"^=2SgmH\|)__߅ZXʫ[iv@Ps޼y6&=WGR#zm>ڷ2no7! !@l!@@@@^`W_٥]fl֋`Y˖-D F y՛6)EIyiV֮tUgEdOi8͝0ʽȞ%9U~z>2 MqVD2XsBm׎,u~vhm+w|c)] Iۉ?J+k5V=uUԗ%Iu~_!Zjk[iα_4F{o#Gѣct]r-g V>kSg^x!_{w*k5!?D@X@@@@V)S_nw}+;  ЬjO9}~HTRTI&_eYxD ( 6j(?a<7.F SlֲCuq}NW^@Y{W 1:g϶n[fe}ً    !_>鋍t*M/0ڴiceeeq5kVh*vzgϪӧO8G6ȥucm%§mQ;EӻK_Μ9+Mզ5zgeeB&L뮿.RS/;ZhY7mG@X|jN^ycGP @iJˬG'+me٧((1:U@V#}frdΗ>-=]돾!U=1*Bs[kG'GYµv5 i5Q'%])P竵2xe={[7=ӵ<"Шs=gr?wu?evqG;#mРAؕW^iW\q򗿴aÆK,ѨA~,e?$A #0c _jGuO㰾]xᅑNS@@@@`>y٤I駟'xyb֫g/2dˌ_>PP_X>eO0ه~h^{^{l̝;Əo?=c>m1}K*S(o^|%{m@4/`tplڹsg:u8gou6t3k߾mE@@͔VesBMj/@Ye%{6\I,yBv,월_y(jFG#NY@N-=Mq;~>Y W-s#V}rmIjwѱQ;sE9{|;ڣv&[I>X\?I3ʺ7%zBcguVQ6x)Posao~k?3<6dF^nt*?K (fv)    P$/'{]즛n/&Rkĉ1 :c]t1zٽk|ux[uUΩwa{vwG7F$]vは:X.]L4/Pveg;ē_~k8ؽ#Y>:W_m:u8ӱ)c#~[6ms9vG~4ӽ9C ]1*X8VX!@@@ G}wRx^_ve}P3zLLOBeq_~1F 3f!O> ?G.ٞ{ǩc_|Eb-"էO壈骫c;찃]pֳgϨ7xi_ԶU!2}%c.!2]F>{"@j$~z2RK-UtY# @<ɪ^~}46F$˅r@Y(gQI%-5}bQ/Ywu>A;Ch\:V:SR;a܎v-uu_Y40o}G.SWkV޻oz(4uvԕ/BL]W.FCƨgq=6n8;cy4ueMl&W_=cU` kʶ mMh믿> jS9^ ]ë־}FG}YԳw6:( p0ѽ>4UĒK.i*++ ~!   P:go)Vۈ#줓NW^y%eQzJnv[LϢJiN{O?<$N;EG8,/DN(e JkEdjuLNz~|FM f͚i]wm6q^M}65T1RU  &Pe܏(+~.0URZc, 7e`Z!SͷC$+{.Vvme\vb= ZbW41MFjc#:{=1-eS=P#Ep_@Qֹ\o+#Psw@'O?t}0K,1(;F=!Com[out, @s P֜&popGEOW>ڶiOmY6p@;c_:~]w>aPaR2e?FwqG;s׬Bk^ϷO i4^S!Ts_+em߹ʃV^Ыz*̦GV]KZUOޣ|aÆYK    P}DөyQ)7jꐧfzŰaCCvmVڄjtv{Gw}7' ]T/ш7p򗿴keerK|r/鱺^{Dvk. ;lu|Z> (PO+49c?bВlwԒ ]u@_ƙS%FG,v#E4#ǥ$6Nz/:ilBz'ȴ ,u@%wM%V#Y gܲ([Seuxٴ4z:m]ʖ[n9mZo#WC@@G@y1] o$s]r%QԣznS[nqQ*jjULhWYe3fL3{(djJ촓opcJL|s=gD<Ϋ~Myz׭P@@@+PS]m-L#ST:)^P_'WvB3-=z,ᵌ?f6mZ4א [oڶmk[(6j(馛b9s3Vj}Xyc4N|w}dqhy-ue<#1{ ,i,cem|H>\><ջUn?ےZn+]D=­*2/UW#}qPO,c_YTP67^Ǒ:]#uDWMP@x1ȩj{  5wM\jTm&_>2ȩQ:X+L:-]~LÏhžx ;`R}?^hmQol )@>L_#mVEi42״좋.f̘SP-F7d+jkaRӨ@F_b-bN;jԿը=LÇG罺?8?g| ^w]#Po%@Xj&igmPVL&UU#e ZY}:mKkKlJw>+%]W1{\ߊZߡ"^d^:HhJ ܖ->4?W,F(ӔZb?jKeA¯-+wE4³.UQ > O-@~œӃ 2 Q F'Md>u4㎋i%=P;묳?ƍ3M/7F66喛ybNU(U5ѫ@YB4C-:vh7tc;eMq4>j@=@`eY4#   @juv/EG]wݵFجY+**bĉmذaQ8sc/خq]0?tԔ ]+m![זj2 ^u \UO-Iwt'd:6ABwEGYdMq@\fT@pE}DAE "*B}NZ;W:{;n޻{zD'ýli4CU/m9S1Bo藉b?,oDj:܋ma錝xЮ˪ZY~LnSDmU3cbL"5B;XhV51BL?|"@1bv{! 2aY8cQTIhD$CPPCĮ6 |EiM}\qB/r/~a2|k)0Ǐo)4?O7g ]lE X57iȰk픶e*"UW-?iIPvNPv E6F$@$@$@$@$@$@$k}ܿwkq1Ż@o[xEJ Df{Y9#Gٗ> "{2:S^-r^7g'xBcG?j (; Ǘ/({e{,򔗇ξ% G ʦJY&W42k:FHi ]B> ++wI[zoa9UYwi?|W02uUc%QWw2`~4:iP֬֏면5BYAS^4- .1-BR^6Ant?³'ݢ8vahh@$ГPP֓.4\D,X`ߐ]z|q䰀@,&6-+RTr- THa i=qD9)#"s61> e?SAUi2e%  ؃>(,]Vb/Xp\}P<#rw$O}J< Bp妛n$S@drp?BpOF3fXZ{LN>dA3Aʗ; t Opu=ؽ[-(WHHHvj2e UPV)3R|yW$@0YQ uzT[mqB+__mQ駚MTW6ų0xuq20.--%xꂟ϶]jVJ%RDK󈔗zd)(3|}wUy睖 ϣwSWz䡇(ygQjjL @w;ӧ 7G/RKcݸP];| ywz̳βp?}c>mmmF\|Jj 0÷y~ycTPS &      lxp"(便Д*#e޼r]K-U{2?%\"Æ7aDbC9sOyZn>N&oA+ȭj=K9蠃i5!([#*(Jee)k*D6D4i=u   @aift̙)OyH>Bp,bPQb[6Mٺ \S=Uy/ #}7Ol)oyNfW6 $x":~^6]"5Bh2HfY,hR ಗ@/h|eɁ/6M#2ل ~eR\6 NFwuYϾȍ7({w.۷_-(NBd6[ C=TN?t7UsȑfR4 qqh|7\mۯ|+&>#>BٰG(;c۽&M[3YS^^qeN$@$@$@$@$@$@$@?l1Y^j<6b{})4,4mf2C@2|S{<<`@}8/ܵ&j˯oolҥrEɽp+ {D(CDPpZyēOȷm_s5wtt|_~wEMyeHHH`"PP6Ke᳀6e&/1SRM<RU1b'(Pi~0 iHi }~bOt-gTjCǼ?cjK|C^ɜtt]w)/C2یUPP3s9GƌcMΗ%xWre7)e|&0& AqvI@܅HG6 [TG? <^R֗ɓ^pыy&!-7,~?Aԕ+W Vk߸q6)Bٕ皲My8=w[>x Ր΁HHHHHHH"u˗/Dd6m\dbxvoCiDyַU. ?a0wή:KN:I>$/>wKy'c$B$@$@?=Mrsf t"1 ʲ>BUǂ&5u ,:a+;ySby%5pZ~Jּ#opV!>K4ee~w~ sz->UQ\h'}Wh[!UK)/7)%sl˺*_J֬Y#Gc<ַ%ӧOA]6 Nu'}Bv ,*.C oɾ-oǦ䎱^'_|UO8QnF9Deq7|_|EK㏛h 2p3B4757wv7u7'e 7_4M~zyl u       " ƒW Qu}ذaҿ $%Tؤۙ&56;R`JU*DUQ.Sj%Q[X]80وcON`d)mZzpT L,qVe ڱ䥨e3)( йU/[o^xҬj<~>}=e;婧|;_a! @pv9BT??H|I@ z׻KBEۿ(g6u8PW cH? 59 ͋?"o䂯] ׏ .CoHE}{v OT+ok/Ɯ5kEWM87|pKyׯ_8            ]@HyeZwI)+&(k2$щ׭FN*ٖ}חEiv6+?YiNJ²8/:Ia|h R{Zlh֕&(PVmZA\:6/gxUǞyR:dxgօe/T%J HxTv9A<eki,BaȑZ2*dԙnji`9.?˖h&AD8 ]xp@ )9c- vU?%\bN>ɓeWIv2;J$@$@$@$@$@$@$@$@$@$@$@$@=@)B,HDNP)X )/Kʜ"&Lje b 1Om0tCt>wâE󰾑++ZK+H"cuwLn[WHa)MZ<)KvL+ ">~zKsLT\}C֭['w|A9snSZ Ldۂl>IHPP]HHHHHHHHHHHHvQee2B.cSTi.`S¨N#hEUUtTALT:wm'aQ6fhd-&ae`ʶ]ªR^"vb&C)(:ҥKe̙aKc9d;vl"kkk_]֮]+"Ap=3u휴W$@;e;8 .N$(#E@TPՔLitb(mʄRʄVMTnV[VSV2Es`cwML''2]MIu5B >"SPfBY#n @/!@AY/9P& ,\2f,Je ʚV7۽ UDP>f&8a\X4 l0S-t)+KVj6U5JuTܸ%#W[Ī^n+Xarϱ>w *(k]!ՋEr~HgeLyqI$@$@exq$@$@$@$@$@$@$@$@$@$@$@$@$ R^ɤ &%i R^6 mW^=T&#IfSmH{rXch ZiQf4W&6F8s?^Y O|vdT>ee24DAR7p2eD$@$@$;PP;gI$@$@$@$@$@$@$@$@$@$@$@$@; XPR tHxM5A_ѓF3U0,(Kzn KnL),\dhbaҸlVX:'-۸zU_%~7jԆ11FgST^(t@3wspc| tP|g*9e2$)ANe%WE^P 0,Hpڼ l7& ݜPMe e8x"TPht rd)(KpHHz  zˑ<d3gΔ'ʞ{)^z-o9 & rk"Ʋe|+Oze4ubaTF vɩTcdTPeUMy2VyIUԳ*~0%B+L2T-4o0dW~\[fQ VtR1IaV]>64BP]KMiKKy2MyeܹI$@$@e qۆ"APv_쳏 &Omp       %((%$ إ z QBY~JB#$4X)(BU$@$@$ PPgPP@r       ^O^$@$@7xC~m&x\xr衇괗APVVJP4E(v7AeيIԍkU>?-TAOJ 4rZ'dV ۪s0b & <$  Fv8-&@AcG       e; 6l /i׾&w\N{YXDڟ&NPE(x) !B}aq&5eeӑ ʂv*O6LC]2F''B,D06`SֹFWUk F%hs#<,W CF(3~PLAcW  }((}nj3Bm!8v#      PPR @/ ClI:u|ߖ{N8  FڒzDleݜTTLU4R^6Hˠ^%J vn5#. Kb@#(CSR,.˦+eAxȨF N:ADޏUQ?ɊO*-_XeiF(M  =((=NJ3Jm%@v'      iPPJ @'m`"+ԍ;V7I{{S[Vc=6Cqr饗WU9Q#qeHy9SS\fL(2,dOAL0$(+P-BYuAtX*!jM!%OZ=q_kT4@u_Y_6v;MZh]#iKPUPeAPvM7=lxD @5_җL@)jY((z(NHHHHHHH`eB^ZQPݡ .E$.]*={/'e6|pYv#h1~i/y'SO=ztd[XDڟqT&DhIeIl4e(bҍH嚠nBq}jeEea t}uDhecۺf7^Sj~`uz}[ jO}KefY,hR=\ _\3HHjM8߷oZ&((΀9|!@AY9 @(iF(B$@$@;%K< /)SX$PD,ӟ$?E/{._||6@,X@~u]'t\tErnRߍKfIJ#T!B 4Q5N6"LS^#z{T_fQBOX_TV9'o |HEi?XWmc&/]W~{7w{~V-bN#Ŋ:"Ay'^{YƏFem0 =ҍnUFYi]R,Yղ9L4¶D5ţU)Ϫd]}نaoƩU_(9..jViP6YUYTFеnOGhKu?& &OXQj)Jss|-m/(Gu|k_8`ajr~3ihh㶾H׉Hωy#Z[,+=ve5Bs%s5寍 dKG(0V\]Kmޭ q1|UCO1ٕsZmnl3^V>BYab)h2W7]h$t rE(p)[^`!  JcЎߦl3n"@AY7[       GwH8!  ;ӧO71|rˠA=|-mOяZF$ ܙYhd+N,A R;BkRX0X 19V,l"a º'r륁`?; ݵ[,/Qii2t{_g96e$? VAKyK/Ɍ3}u  ;VQ((e 8DnHHHHHHHz<2AYAS^kH*'NsIHH'w\ve2p@KIyGM駟6Ak&_җO]eF'okn͙3G&O,^x|>:TE ~plڵҪ ͛'/{W_y˲eL wa\3P3KDfN"r ʚlJB*;TCUMPVP鯫lAg:)VʢlaLWaZh"Lf:+(Tde}iQ6sEcF&%>7Izaav~h_~ydԨz۰~*3ߺR򫗈h˲Ϙ&eډHHj8{ 4 ja 0t((#@$@$@$@$@$@$@$@=@LOPPS A$@$л ̞=Q"߇>!Kg !yLPV__/_} ^ _*W_}EB}Z2W*{FEiG߼Z) [bUQ/,>S-\(T`yF(G;ON9ijr"1lt,PO$@$@$@$@$@$@$S ΃HH`' /}KMy9>D@kkk믿^~[o|>؞[d fCu-c=f3<]w//~Qc~s_Z^?!K,B$1Br!T9YU*є#$c &^%SI`lذgQ#~XIfIШhW&r>Ml5UfaJQ\2&haC5PDcIQªRXH UtAXF1A҃8Ϛ-1-PtRIf8I(HәcɌc6fiU[|ӞEIºNtl֚_ .5K;0KDc˛l_ojJ!NOei jbe @9 y- zQv vf:!      ezAIHz'xB?Sk_|ӟVOI`oW\aN:I>Z1"wA)_pF3Dx衇N;MvW5\#&LHgaܭYZJnvocNEP%IW@S][VoGIV"Hb(iF6zC *B:2cX;]fHMUXnfL]nM& l3Kv|5n~b8ԧF,sLXRqh6.mEg^vL բA1F(o]Pa zBS~l S^\\ &@AYm6BAYwNIHHHHHHz( zHHz=\oܹs墋.Ox/meUJT4HyAS^W  . PP%ni[iw;' @O$@AYO<* @`ڴi|G^ue-j̙r7[ıcZ3DCI&W5ׄ LLtRy3ؗey;)u*. g1qiwi/ .rۗ՚($*fuyY$6ǥ$(i6Djee6ـp*3idG)/C2e$I d*,h*"ڼ1UL5ԛ+?ur!E^fLEjΡeT8VK#T؅hfI{ ~,z *R%pg̒ 35v1 j*hk*:K` `*"Ü5"i;j>ĘXOJкR]"SP` j"hG>,zkO;*k+/)(ە.bK$@$@$@$@$@$@$Pe5ѰHH?/^z 1#~ ̙#ӧɓ-}%F>SNFA-[R\p rJ93N}lzkO.B9#vV<{L/Ved~m^Vෳ t4D("BY#Dh :53ї8JVU:FT1SW@,hJ'R_AЫrN CKV] 5bB/LXF풼@ԥ! YJSTU@TcMQ9PuLSq״Jw ;AY.MeZ` wl g] hPDH;sg:7n _Je9P)me*Ki 2cZ\g  HW||@Ap|JשnB#Fugw c t/ ʺ? jj"!*ٔ)Sd "Cl6k"1<,}l5=?y9-壏>*?я"rI' "ԙ^ ˥UEPH &=zMA:;Rn˹+_ol%}piiQYɩP,?cߎ=pN{OFO+{eHiRñ E͉AL}[d5X0@*k3q-wt.VH>JyirHve-%IARx u\B06p@5Zp/ 9:1˶#@Aٶcɑz8 zHHHHHHHvXPVЇ#<"" y >Cԕ}{ăϷmQɖkdQP>ʀA*DbQ&LtT)v~O!Xn}Dx _\s &# 'oШ^e/:RY2K\S_ Td%e >BYh9]W%տQJhJ[TP!5"wl?R*LZwD! R*-"&R%3NSHj2R/!* 0C4D[`}tH5ҦTH}]h1Ԋ @ \K|`AYQŅQGJI2*5f^Y5r]8KQAb&UC=e*([Xڑ\@K ,.IH-Z$G$PSO=Մl_m_ NHHHHHHH[ Ă2PP֭ǃIHv>V2"*l=Dca͘1CVX!C*CD5{7,Jǘ1cdܸqUX"!Gի( pDDX01s! {.xsϙ#lx/Y&iZj% JT"AP6Ww-+,4BYV#KPNP-$+`  ".*c*K8-ʔ&8*DA>S%"!b{#3gIqrNH]鬰`^{R`B4yecEM}j 5e.eLmI!B>e.BLATPHge#%ZlE%D(# U"QؚUP6p2e$@$~&JB/!)RbnUյ27blP=e=pv$@$@$@$@$@$@$@;e;5= @o'Dk/71"@$wGʙg&6mm߾ZJ+aUR.(Ө^ U*le(,U[Y&VC*"Y2xٳ%Q ps{OԨf-%AYnF)BX BR^&$Bl ʚK *p-+X]{MrRr%A52BcW  2 ,>y<ԓ>J]ɝM:^rSrg%\b#@Acˑ{ ztHHHHHHHe݆IHHWXvrwZD9sXKDN;O &XG}T~SO=%G}5B̋M5meHyKP2}DN tIT-%eI^Y2eZZ0DD.ږJLP*2ǛX+ 2="UXVT1Zq*p[:_c"&+^c;U=vF*+R[jtЊkIN`EKDQZvω6 )/gl}s+AG(kռFF+P)JJAYplTPVe HH "p%߿DШnae[1Kw .qcǙpCat\l{=e=pp2$@$@$@$@$@$@$@HnO$@$@$  %RskVN* o{[|F>򑏔l(ZeG.v-( (C䯤%SRQsi$3[,BX0*o0XaK;H9=JSSjoR"Rgfv/McMY{eWTaWd&Ь_,RX,Th9RZlfSlm S!E0MYԔ)DSY˶;z( ̪ T7c4=EKS'P6#Lk ɣ8Hyi!f׬ъ#ݿ| CQ124iK \\! p͛''dyǤ#׏#夐B .mrk{l{=e=pB$@$@$@$@$@$@$@DnO$@$@$ srZuo+}U/ T|tYg%|;8Vϟ)0ZJ̊rAYs&)P֔A!PSԇVZW7\Ui[zhi Iݟ"N|E(-)3)(񼻸U#KEiiMYTE!جdjNo&hbH{OͿ@6Ii Qt^(E "3'Բ&)/1_DThjCJFm"eFSyi4 ut~XK/(+^C6`ZLڢeMyY!PeS옖E$@$`_}pqwu םpc/K>.JeIesfj1eYuDL jFQaFa! Du.ED KDf"T SGV(eCYG4J 9l:).1,?oi*Su'la2CwD eH+,ZF#`4{7Rׯ?%AYyjN ʺV  tԧ^2tNZSgq\+sYv( v(n:Nu'}&      I((IGs!  #5C=$\s<쳪;*jJ_9!Rٶ.%A٬(%@PeU<*ͥ*V$2aW lcN˸^PU+ЕADfNЬ.>(*jhhf.k jņU"y9Oo׿4zim:TL!(+ B,)*(K!BeA tE믗^q\?{4gٶ PPsCs,8       %@AYw  \dǦM&^s? e:HN;4Ї>$ \PѺJG(DUIU* M^eVwETb}A'Lesӗ}IomӋƷ,,;t'ﯡ传l4Bp \}Iݔ#$˔5QHHD`…_RN?tRjZw;g[) @$@AY<( lC\Nϟ/nW^yE5KE[VQYwFܙ& +FRAYZ#e (cAe*R_JmZiqQ=,PeN  $K4,e2MƋ۔YHwTAX?, BKAMՔ~LP6XeSP* @6l }ڈ;e;39 e" ,pl̘1cSN9Ek~&I3ζk"(3Kt2HNPiҔMV_JEfa8*'RbK?77OM~j'3qr5*4c?ڎDŽ.ߺR򫗈hˢn'2b^MU& Cʼnn- ʶ ,eyPP[ MMyիWK]]~rꩧ1#Çlt,FsRA LPS^F h"+481V5uѸmWvs%hMk~sh: 4ML#VH~)"=)z 5塌PV HHz4 z% ʶ%ME$@$@$@$@$@$67HGC: 9)łAZ/y9vo^}Wy`Y~a>#}K(1BƁY;XbC'p^?(akP|x lE7~F7 ?UԹA*^ZW۸C+;k+ή쫽` 7{߿nDcRFNpnR|7.TL-ѯD~J~>cz7UO2tωRH˪x,+}}_A dg륱oS{Pc$P&(cJ,]#eRXPl۝LTl{UwbK3B+}3`Kgs7mL,Ј&=p>9[ػ6T1=,l`7&z&~؍Ք9]܃08ԓR$ 2 >M#%]?TI*ۨ~:eCȗ#b:)Jq)^,U ضLViz.u?fև`şGסY3[ ּa"Vj+90Zv'*lE,Q rEITL"zMlz9۠a*%C%շQ\2ٳ宻oYOn,wmuQ*&;]Tm=ohKi3S#2͚2ߐ[8'\Sr]}lmkKX/M5omxA{Z~`V&ԹZkjJi>-B {TF(keGHvLKHHv*lPX6Yj,ouvC^6tU`Po!*z4֛* Ɗzu ՛Pc^o,qԾK GO;C桄q[ئڹz KA XT`m;7AY M "Ís YH`XL폫urǕ~{G׼5_#kӵ1x}sF~jW;W X|CiRGVFJ4O_ >x@IDATtVK_-|IX=4L]{!Wb@t na0f/|ö`cAUb6Qx8> WcN71D)~ 9&nS NK~&XL?O}3}~I}h=yi~ndxP3F.wGBAY}!dI~ͫ[ZkPFS.W1v;(;;jrXTn`5c ڂ%^*$7]o10ƲC`/T>:b߭PY"av}9!. Ii_ _6 [Z +J~?%?o_.wu4;q>\y/8©өK܀rض M ~eӵl9uvuvMǹdbQ. ҍ*d/Hz!Eح^" ٫*7ty睲h"ӧ?^;xOw]c.B4P%'(GT#-}Cԅ2hOW >?ٯl|6|TUeF( )/ߥi5 ) @۳^bZ7寳W笔yZ}ֱ!2x F7:p]uZ%Ycٵ_m{Yz`銫q[ꃵmCMǘ!,c?n=ICDEb e>tX<0>d,;22^9@0X5PF'u*ÒmX `]&,.,.WΒToݰF}ۮqכy}ፃGﭣ MS}heZGv_ѩ>UFuҭ($nRY ne0X# {K67YGVX.ն-Wi{|nI7zŃIKɠTW1:T2-c$$LSC fWg9WLAI?պi١b+VH{{477Kcc}⏩ZooW7kڥumNm׿r9H5z dN_wqb.\CDOq+žBs'_IV\ž5icpUqψ@P Y6٭A_޺n2~~+>  lkݽ}Uyj̼deJ(v0*OR ~_~fÚ[ҿȂB4M7,юGV_(6|0`'?Zv ? `VKmGo<q:A =faRFw2q79hde OJ /l---#ĉ1d?ұ)-{Z'=&WnkÆ?Y*KW8wy:P- N c.CQms89jU~ uȍ'n* YO81:G瑬c88J2;/FK!%A鯢p6Fuz VX'cT)sH/L"=5j ВQ9𹮭M~ikUVIw}Nc=V 9Pےlf{l*(j$B ']GT֌PCT[ѷK?Qd5 םӪn=1``op6XGkmۥUϮ^er3eeB$@;Df-?Hwr\)\]Rzan`>+ڵL?z +XcXn ?ƀ![}g\ô!c?7׽k?qGPa~'gcs=0<^OZRaN_|h9pq*ԇu٩W0dDŽOmLM.Pm r:n @abW6<_7E5= L4O8_&].=D|tAu8̝j _0a gV/[&mpALmxx#r^t>\/~aMLö球wlǸhfn]^[oUqYzMC9DN=T;vczG+5kȅ^('O}[;qiׯ<5}<<~[gjD2 (нY=-moRfọ$N7+|g/a6+Fp+`e20ayh9hnޏ& luFkΪy'GMkTohS ~3B?[G; +YqqS)ԕZٸ;g6n oN ]?>\1n܏}]Ï_g,ZKʸ%{P"0B>de3cW\Qw~nTHֱQL"Lto}s/{0|}źw2ޟX;~]ρGCv$cmsk;q_sOD?qmnۘΨߚCg{ɡ*Dfl.;@jY?lo$8W;FY0{?{ )np=&}n_a0L:qJn՗m01]Glf238wuG,~|o]zl/g%}}d8DһHr ަ&’%O\wuOrdVN9yo_۴e㍙̿sLPB׾pB7dخ:=TZm{y.jc+TU9՗MV=v,jÔ׵ٶG#N/1`VJn|2*(rdGV @o$k䅙+:_bKs5'|HtHHvOjUh}Iqt=ҊЏg [WZ܊~TU?IcwhRTaw6ld,A2r3$ '=AN9!*r` (A@` Kޜwg'^o"|ӵ;]U/V*tuKɋ tv䇔zL)L gPLSʢ*(@]Ǖu8f\Hɂ mO$7<+Yxޘ.Cd02#|tJ8C49.bR>KheR\qeur a)Nqb] ZSxXc>Ȓi| jԣ|;* i`UΚ%uG_(m*GCx˖-_Ro}ݗNiõg}|sfN K_y/~Q,XoQ':˽Kv,Tsvx Ô0<">y4SbzGrd߅3r,|eZ9zirґ8w6N {6xJs{o'?-3c)m8|^MN%,šSp㍷-ä [aB4_$C?.&O} _@ fc'|oQ7zGx:O,&9`2'e]P+-N(ucCEҵzp?*'Njvv lޟ'h AIw Fu"ha =nӮGLHa}a,L1&FitxZbOum>6eTMĂq'\IY p[]'E=~^z‰@LY5aSa4:#Ū.O?=9P9@FPZ6&OC.N()E %P.α!7u\sbC6Q)vڗ!IgxrpfGQAQF q$LVv FzoQ/!e5U8N}۠GYlF`A5V+.'1_am^T.(X$W.Z^^SQ}F8WI !J# +YL',v.B&|)w,D.^"oi>ԳϔW;1e%~x,dۮeՀc$8:)x%Be|%81:8!;+v:=/G %'ł{cv(,b ьt0Fe0쎶&|yjqd Q~D|8e{K./\JR>xXP{% +5cW<ǫ* +Wԝ+1^֦]xrYg4\Jb >.//MMMeYtp ٵw=/ܡmE>jhTK##&a#EO. ΓÎ/i5Åeݽ2sR|)8=pE %P6Mr3kn]#UٝOKknQ<}7aml)GOa& L 9ENT[;kxCz6NlA*pyH.!7QvGE9=xJ|];{I@֒ ܬh6uyI4X/$BFr.GyH]ZaL@zșu6̀hci@CR8YKAVZ- s@zXYMysߩ'W`.pE h 6^#un$WP2Rf?UԺFY6t4O8#O]^m]AfRPxIRhO˒+1)'#WF=WLXF`~MR$t~2z2)}*>$Z>zd9^;`QYt d ʺz"W%sX/q=iwv¶_yG&;|(?J8}4|i•Lcs&;eۧGFW;{wv SyLł݇6/~,]k FUQc)}m0y~^HaƦA2O]}w Ϡ)ODS*Py4\/|#^f&)Oc_y_H.j? :H@d_ `j|DNaM3SpC$ |uF`'e +` 䀍0ׅ.G 1R1#1}<¢S#Gbo[9t7+_J9餓d}˺uoݲ˖-w]pt5:g?2{l]~Iuu-YY}Sr+ܮ`[1-̐!G2e1'$ntI?b]#⃜XjL%ߞ&x(˱ ?HmM:gr'T\R*\QE l} J? mnoݙzpNZ"IF;Z0ai^A7a)./mzUzD{O=#6_ Mô9DDG Cpn,ҁdczw8o,Qhiu]'xf .豈?#<̴:DZ3\_`[;]DDG)lzOl<91%%z15\X}{&K}Ʈzh(:WK~dW\P[ŅqVv`&%E4\K4j@Hx(<^;QS7.j _9yeZ  ʢ_Yᄣg[u4AK5+>~zsIusяiSy{W Xd|C1ΣOS1;uluR]FPY7hR^(r8|Lˀ;EttrC%a*.х͙# ''gҽq؎.4RP^SEw}Ib -`Sa:f{U,+@9]"A[;6ԣiI5xHsӓT=H=cY4+^+00W'8@'[ %M>v2oLTX8@7y~;~ s/> O?WU8 ٰ Ăg? ?3O&'FѺ٬[_dj1X ߩ HH|E t'7`ɧ.Q 'JKO`6\y2߬r4?(lĝI)E %P@QVnl+\XL%dhWs0_+U5A̪̓8<iCAX7^"aة}YuYa5Λ IO vJѱDƬTU7|գ!aD&D/3oz1#}2Yn L[pT=xW.{q%i#+N߲,٤iG6`qE#I_cGod0pHkx$99q4A#%fI87ʤSzS`gŒe#,8mSMF 8 H<4N|Z}Hps룆`ғqCf`\Tvx ʿ'FyO~{'u?t 8ar'ʿ;<£z3 !48ږP[B g,dȹPN՘2x8_{h`"BKƁtPQ e({twq\Ae$xiPŢJL5x{ݫb+'e]'-X@o^{Ur'O*?,_|o['B=\5k|Ux!Z9skZ (`ߤh/jK̡ ؟ .:mVe'sY,yTaJGPј)pRq9080Nr,PţSKˑ/V1L~eoI׉7?K>q2[pE %%QC/+r*Dns"homdwkr!Ycu4z̉`s W%:vSWt >rk䈦2c؟$M`*-DFN}\P3RzVK)=#($cBrR&?ǘ 81[9s]LG/`|C/{L-j,DeW{wOi[~jQ%Ze@Us5qaPo>BP4.$S`ACI @O9 I ˦k[XʴaX7YxpRa] FXqkcH mq1Y$]4S%K'Oz^xvAx`+QW,rpa^]@K`C Iuڟ# OM>) =CqJ,LKBi=!UpI"XWF2^}׍ӊ:[Y]qMh;L lD;FgzzW\^uUtR9d]A:*9_8 ]q]ܒ`4 5( ugtމ(KyxwZJ~K7ްv9C <.UXݏ'=[KoZTM@[$R(J(Fi ttnzJ~g ';~cL">kZj&مW>?_W.O͐RJj4k(Llie4ChHY(3]&q׋@1kno%05Z\8bPK k)۞2m^yL>+~2eQkW qXӀ+uG.wаx@N83a;6Rxœ&;};C 3918:],6mjNMSÏkO _-gx4w+XPftosҾ{O"CSۍWÕ5h8Q0e@W6L?a%ub/]js)lpbR -#'E9aB) IReHNg5)˓es=׿uo~WĆZ':::t7I铏&zSFn~EK5ӈPuYwժG!~l@ێv õ('.,K`q@ֺYFHuEsa]]׎-چ&EX ^_FGXgT͞% g!5+6m*ZVc̜9S|+_SKn&+-ɚ1 ]|:˚D3D3cݬG?;ZVK]mexB̺ R3 ˂S4(s]čo$& b6| UGc(kTAb"z/t&&<)+wMec& :38h塀_q4Վ XPƟҎZ:݀hmѾ;GXuLgL-1ꟊ1\;NCEt>L;S̋"ԧ'ZX!BgdhWژ_u{ icF٘7yC1h3=xg'5^+u NsXM]SsFC~0"epч@Q*} q`XAy8J*A\& uNU.~&B+2D 쯇4[>Me8)> ߁[:dCK.,TP}1>PcvĢ?6-([޼BxW/_cK' 8Y:2L6(Ҽ8ˠD%x2)?'/`$xLXpb] g%(3܉7 ")}')q2a# 2J-W,(Yvm忖Χ&L`wzc*1:kc5&tv?C4v?GDKK(ES +fbU-lEeIRY?Q;".2ᕕGu]SS.]r'˻n{ҤI2m4]h6 #@H->,ɓaG xV% ׀ H`.CFGWJP)_>= Z_[m(XPՇfڐ/Ei/O,:_i%>GPz64PU)&5YOGsgiY+-]X U/gzctbA~N=Upu 6ٮzj!غڡ0 6G!;C(qtQ]Jȱ^2t&V ( zlʠ|QO)#P.9b.'Fm4I.P|IMzZ1y/4uqxL?n\Q[}XM~7pm ZYC`1bXP;#)m1$īF>afA*<榬qӴG PRzRx&͏;箿a)H,$k|\׉z^$qUCO)H\X^nذAnv'zc#7rS{^y߬s\zⁿHŰ{_7Q`[.+ZM?qno1_á)ū|  %x::g7<],Ã(eR]Pe6Gs.AHPn{[E %P@Qۺ~\R[\R2e\LCj\y d#1F}!)D I!u(_"3y&RztΧz1&Yi^Cpe(<<:Ohc=y4YmMхT|u:"lixex'2z"3,%J\uyCWKCOȫ^>9ctvy&?bT g6JaΗ ybٚmI#< r$!sX+,;o״ +19aGAK>|efӌ)oo/(ÂdݸGӀ"dGO6N4X=Xl!9c|x 1_7OǴq8Oc]1|00 [hɢWnLr筶ڋPZp 8W_zuy]ŵ~z]Tr饗d\x9odx+B.]‰?_x1_Vڰwjރ -XY0؊z+ Rӿ\k1Hxr<#$ʾoKZ%}[,:$ q:RÀ㎕cߢQ\c-c)wy3[g>#;CY6'Y$KV6'.duح |gJĶŤo>׶ mbd]s5i0S mx:`ɔI(T@QcVsxSR:\dkllRkBm޹gJ=NCwܰ/pA ac Qƒi&aбA >CG<(,eP]'ҘkѴeZ"zKѤ9] $m6ފE{g5 <Γ z8vgX5n))`sSd.f10wauCu08PWa`+,5}ç/x9#߫Ui9RZ!RBJ*OCOjIQ=ʜ\2YQv*E:i@/']JZq f)Iyx]>SFiY~I-A-/,WDDlҬ5(-#t6SJ@:h.a3Ok d$<XOJMVnM泟ԔTMB8A4Zr{]ųPF9Xۆ z͘OhH@k3bByn*sߪU+嗿%}_-Z6O7rg!G}ח3-ҹ>Z(NMځ6(|l~s7B+M޳LY;+QD@5(P"|u]['aF@E./GXJ9l Z$lZ+X0Y\ִ.RAR9 '((J`Tֱ`YGɷh֡lo3i[1.ٽCQ-ۚ׎[˜zJv:r>q&gc!_7o]N:jnR*1Ph ʖZ>~ӧd]z@awTYfz:|jY%y|b8<})pK<]4^Ӳ J7vMIHł?Y޲u ekşJ ?/cla. _%8f.6$LF@"TMx"Vo5 $&Sxq|qˤO -$AzăRXe=U4Σ@C1CezG\Qs id3c0ni6[0o$/o<`EK VIQ(nU ɸ#5 !,I}Q,–'q16ij2q=˿z\~v j@f gMb2dAZX_a&.?;Q_r1_ct>]o`|)a<ȔpQ.\wY% N/-瞺/'n[ė!T7>րq6&XAcoe_hOjo'$(̩,B vӣ3=92R"=eTZ(ӐcJ3#hyx؉4Ⱥ[If=MIUWmn^!}: $jB;Rb_78_xbꪫ'z;P?x9Kۖ·Gp'שA{Ю$٪ӰP$8i$0M9\ˡ,]nzJ0fTy !ȵ-QR#I-R.S5pE҇Ncor|YgQE %P%Љ"&)eczAO'[-xt2"o$iu=]k8M?W ʄc>@0,Ҏ/N™D~04R| ]Tem)w{p,.+>ˏ~#9#䢋.?O=zBC9c䓟vaeP -;p%O'yq>dKl+cBɤiI!#\jiHuo$ ׋+l{6QJLM˚]IpE %P@Q\Yλ^KX^wojyۍ{u'3}TߴJ wW 'x*M*CH\@~Lp"ԓpx^*OLsJÐnԲ0\vo/mʒ9iz;q?y~<)+тU[VG.`5VB B=N3aL@tRҡc8xs?w.a/G;c9~pJGVveڄ\hc celĎ9묳d_36[o/X',o& ,%0p{Wbk7cw^'&S؈zEEmL6e.XJpef'|$q2i .ƻK{_`a~S R+TTJ 1 /oE/ .11P dKЭ3|AT~>{]cUn$< qY\ =X]zZYQ;&R[VO9Pv=&e.\z?*8Ko^5L`RS6L\shWtf$^a"Șa,8'pbG`'ԣ""LNO0vJfz1$zI wjMP0^&/! 8PH{uJF̥(Bf#qJnj2vmڴIw#wyxl$=72iҤ-g {X[`/mc t+́jU9c6O@4T5<}.NHmtmCȏ' ̼dd ^uۼs'8%15Î JP/J(+9-nmCG 8j N(q_z?JC! Քi=G Je= `zAFFW|T'0.=oi~b=JGrs::z!Uݽ͝XLGZYqqSr|KpV/(cۿF:AaEμOl?pؓd "g0b߰tAh./w,۰tNfY NLQz dVa0^)~.,Q  yi_]Z}Ǹ EʉU$in:ĉ[>NVb%hD|d#O7T<_sbKFy*?ʣ_^hzјw6~+vłӤfC9j}׾&_ev?_=Xᅨu׿.({G3ϔ}c2{_XcJ׃لh0rd=NÉߖ~3.]ݵ~W[\Z9y<[j< ;km_>K/vM.2s=KFԌ ~Mv8}4A`ߑ1@;?R4`.Ǻ,:Ewd`2d4崹Kj֗+nK{vvTS8E(.΋e}[C'flqڰWCלer$PF5- $L4U>DSA6Fe ] %/iF9@'z\i_Oq=|b꽭T'GSF>: xDI-?nIi> WTDK86r^n'`A3Qre۳ i}"Xkh}uz&t2uCh^ I$.Фv`{A+H֮ვ)7̄@JI@ QyLgzz"J]D`N u,t}XߍSʺ[0o-@8 ]~szҾKFm/˕ȩ-6SDt&\, 6gVc<5+2>FSˊk&9\LgRlqNdRhNƐW@摇3.֣0z.;r0 KQQi#r1lSpBYU(5X5cW;}8++W'j+\yC"$6谡Zv·?] H]5A@Y rqp9U ]nУ N:$HqpDB0˧08I3: '0.]cbJ>c$qqT"-XR0u-fs'dXk;J #*&bGm_.c_k.]ې Fx{ & ߧ .(7)}L23#LՒrS+0Hp2ɍ\,%`)x2K7Ӗ g`㙄|\at17K30DK#w٧Wm -]Sʀk薃NKO=@u+J(zu74Z\HuijpRÓB6 ՏGZjM.(i@d'szZx)qD& If|fV^ \zx@@Hb=!lxSui>[ްk+,C)m`aP#aoNBZ(">P~Xcq0<d^OD>|t%@)$҅$Ϋ p"+") MGoWtm•y=)cRYR3UNIr)>\ֹi2CxXSaԍ;`eQIJ:{2QIuqtO5)6\-c%ؔdD!3MFĢ$$XOH(/vkBtgÚaq.3WH۹6la~??^HU6M!uG)k-\6Yd\wuXz)<׿'._YmŜZCIpm"njP[Ъc6|llͰF4*" oBK(:Oj/CM xp,S#f*clU9kvl^_@QE F_y}g1yMd󧍏.W¸Wh8;2Ayger<,꓎0S˜,':W&S z)]‚_qpa?駇!arB4Sy=- !qT.;hR9C=zAYGO|O+Nu hJ eĹ1V…4+&0=jD  *ʇA%6X/YpQG!\uėzÞWxNt i˕Е0j,&[/13z7Nwعό,MWQڞv#rC$i ƕ 6@s{ܟ!`(Dc(Y`c% ǩSWLʧ8:׃Ev֛npt-ZH>O/Ky{#\pNi9Ee˖g>~ {\x79taZZ'I/Dž7cFJ ,H1C*_2F7RPTHF&5'X)1!-oy4.9#X |Յ/.|r\t"YMߗ{UU <"C0斧>Υ()J+"9?z4iZ>/)yckp ~/SiMBv9i. E %P%.ߺ{r㓿Zs"NkS|͘Zih-n /$6 ȣnBsQ (MGe7tAf(%XI0 GZPmO{ɾ- 4wrb_JXo#u0Y.W͛m-\ܳ.}]+B^aq!^w4:#GŖJx%TL.ReAÑgАz(D*[HHB04$[)yh,(Sn@N܌wNNG8$us!ulY$UWFrs<٪5ؔn):r̥գ`++ -yhGӞ(``26|)) 1AXL X)} }ודaKWJezJG'6aAY_{s̎A @P9Qj>'Kej]w%lذAd=N:I;89sftY@~^>pO|nA IUb0lu`zfWKv 1ktZ߃E6=l=*4 6 ?dkb FLeBg}UҽW]vS]tTK0RĊ(J(~K7'W'nI_ӴXI<ߐdq?bu|Oaa߀M62'A&d(ӜKx  r=z>y=cҬZ7VZil>HX^јZh^,C+KTE,R? m1Zq,(»"D Xr;?Ky"%[l喕o'^Hd002}4 /h LM~}cI3<XtN>5|qb]#<:tr |N1Ы@Gy |ء/`Lr~'a(lݘ]PֹQ:/&I;㣱 ] 6U ܶJr07Wo+x2o4d%|`H`h4):P+E[{L~UHGJ݂S+kG{uA 7 'p|>^r-Ji&w>x[/WH:~w&1K;Tn.kQ J@q lm$ 5rgZR?;N=Pilޥ6?l '4T˼i RLĪ8˜R\4~LcV\j>ŧ́éP^a>\PS]>!? >S!_?@9bIژ%P.Mܽ^ئpq ZovuAme;!K&Vd *`Cz+TLY4l㤝.U ̌0 2B =gr[&!Q`ˡıM.丳3_L1ӄpңy!Ib=,o.([ٲJֶShΘ 9zW/$d/WeX2W7tӀdW~_zi \K~|ZZJlm Hh{622YW[ zDmdn5SXFd1L1:z!o5bW&diCN/C H. l:&mHʍLTT7JIedCٓ%O7ZwP^SWxA<Z=ۢuIKÿA_WVI8,>%85*ljnNk>nimT f 9.y)T^dRJç818!p`9oi XJGAH7|H?8ו)+jcSwFcv|ߖwbiܸqraəg)a5\ ҉e]<Sv,m\}5EeX,TdgI֘zĩzEM>D C? &ŲN$`q)8]"d^jŷŠdG2ʼnd뤗A%> vrviEb`QE %Po * rlw 6qx^/ 5_I*Ƭ=ևXWt `F18z\RNtTߑ5e$zTȫǫX|WiA!æ.yC}e>;%Lx܍]"fҢTҀD oV/({dr--z@*?8iNAȀE fʪd]R>%HS#:,'^k+*`V{ĄYvJbt*!t;4JE  &PI3g =Vun*Iezܹƪ\E}8Sȏz.RAHtӓDŽze&G>1dzt]nnA}ދ|aco2S4xtW;KxW mIuU,@x4 fIo Kakh<$o̥KeChA _#|h Z_ nA]GsB ԶXhc~?uBBGH?@g3. _?U`IL!hD3``?]+'am7Ů[A]5zPN.^X.bkur.=3 k:2mڴ ]Dv?XZ,akkĊ)6۫Q#5 ^NX^qeAR,(kQ}mZ=..5DW"Gu0\n' nƩdSr͝ʙỏ,.j 7k.y2~LaoT=ߊdS;K,(J(^O7XZڹ M9{5UN6Z;&3TtD;2acZ%0vX_RnWOAO;&Fqeo8&UM;Kݎ8hN>*M6ɥ^*_wg!{ʯO|IumO?t]P6gΜQa%BPy 'aS**g͔I3]IFvb,Б)1rqtAYv-]ZtŢ*,piR{!Rрǐ[f{r7ʅ^(guVѣ\a]s\'f027gjLP?Ga6yB8RDVFk$|#aV/4<\' Zֶ9o \(J%<- '/Ipr;;zR]7$tA'8D#ET'+ޅ' s䟥CIwQJDx:2]rXJTi=`gre WSy1EI(QcKmQ8kh6>$" y̙0S>quin`R^PLZXz6/;f}P0fnĄ0'9ҩQIYFI$\O ¨:O7"$D8< 'Ӄ=ҹKīHnᴹѽsDs'W*_rqAvC O~ꩧt/MMMz*Jrs/< m7}Uz=}5j,(0CUR{aŕfr 3Iw}g|'|8ՓiS?) `.1̜2eqy&GnYk/WR۵y\}R`Q|6ʞ,Ci~~GxYAw_9So}LS#YB:peϲP"j=qaYE8W;%œvpϊ0K@唒y"5%Ui1,mX>NjB6"XPƅYCz58;H5ԹoOI|AS@QE %^߽y|%cs3H |FLR[Sb;ERB O9+{QbF!7hKbj QA53=JS? PKB4=JsI3Cy@ Jκ"Njz@Uӌ:c=8tFŖ?ï*/kAV8>021{ΐr`RN&s{_;Ty8n||lX:C/$)hMw@y蜟0sljqXqy\ᮋ0o.C]aP4֕Ej!3!j,2:tޡ>$U{bʘ]PּDql0wB.(î[,*K\dz'A~)<.'v>ᕗ{'ӣO99T~ʠ/JWJOaG-'_iU4IYaT@THF<|.axK 52YwuT4eW7}r%I'$w(Ek{~wtސ&IIQ$\2T:PKDxQCqCnj25Q17b֍ tErB`f2Jb,/@u&BrɫVҫ)P<v1ײ3Mz@pٹsg˿3Ho{ҳ((=pNښ,v&{oB74H^ ܡlݩ(;=U g0C}Z45$m-֦ &7`ckRF[_ G'i,vף`eפI|ĒS=12:R$wX~Hq J=wL?(\ԃ CnոƦ<e?^^-k89 uAy>z(H9HYɺL>$9 y?rgH, ZDҿc\GÔG^*lrU:Ig(`IR6I/R5iEF e5pboQ5D)5x7,kX Iݑ/ύlAF~\tݒfn41|Ќ]r/z@ƀ(EN/=&~ms aZERk+jYobfԮ8;!;:mDb@٪ig<;\HWO$}K_J?/ig)/i8419;o}*v{Z`@| |?V .=q<`emGa(rҽfuZ˿~il'G~4OT_6bPgLӗo|ӵ^tXhƸž y?Ù1 03]L]kH 2F(tQcfcȢ#m_F}ww!m ee?pJK:tztg{ż\Hf gZF\ 7!/iP 4bѢ^{]\Xe =Z)<*0=g]mz M.Hɫ X57eCikxG %[ 8Q#W$:ʦLC9_8iC3{;n<8:atʚ2ҩP/7~ yo[{qTVcƣOlo@x9 }7*Mp:$aca{H٥kQzRAzjAzJ*) eq\u!i?zuץw]nH^ק򽊻 1dg}vz{ޓgBavJs߂fWpOʬAtH>"3Y i0pSh%)sP7mS If[9>^)KeU5AZ*'8G\"LNRAz>A(jd-!|MG~)j+j%|]VHz~2]9dlf6LNgbak 4 $Fes>̝i -a7uT*Bkۣl UL%.˜BPg6Z'mdv=Xu]|iY>3 AـoF@{,K~mee'.pzk9x y & V*m Rr @Et1#PI,̥OS^\h;z\ݲe˾}  x9=yiӦM ʾP|2l9Ak|`'bX"5 0<4| <‘e@ʕ({]zbQetϑW]uUz;ߙ.B~ZHmw̤ҿ:f9_xªSh-% e`J$W\U4 $$ffb2ڇ[w&q5_vy:u)k- d7Ce{L{mi~ eU_c\7#/1I'Rtmv%M6R?50ɫzM3ؤlq8{ҕ4̙AêxEu,x{AӦq6f{M_K=@Zܡ =$H/[sNZqo!̒-wԧ\iO{Z='?@?б|p*[i0n`tke (eq1HVdB#ٺZJ3USL2RPR<hJ=Lh v-fQ6.V|a0 XwZSrRF%X2߉q>FτY@4q9'x '>tw3<3H<"]{m7C܌u6aMܒ:w^hAUEMϮڤ[RpTBKV_'d;724SꪱD=e k&jmŝɅCR_.-îd眏cnuu:t81}+wԞ|*pg͊t)kcRi]<RYNy͞1mOTmWjYp3rF4q}ac)+8jsubNG4#%Ŕ3TPv{6;}3xRدtKa]yNWS˜͵Xt;;-9U~Ҥkqte}||Kk(r7$QJ61e@3O~zzޜLـ7!=i_fk&[zVb{\q+䂺rkI ` \.9gLQ( %Zk~mU"/*XWz{uQsg(+ xyXyZeSxxe_Jw%vݺ e˼m4c+Vb2¶laGGI] i ( ;>-_V]vIz >Hx#]}ڥo|H6m!}by [zaaau8RV/|f˒5mRU{.Ooǃ'qVoЗ'Dm-O7B k^#Y$TǀKEQ*/TLP2CSìx2aPCO%|E k"4n9j0\ݶ&4!9 (>㤧 ls^vL8:~g}: ˖ׂϬ/3.c #;SJPT (;eGPvK2yy]PNj[bX@Qta7mwC=sc^_rlo}kKey7ߊw}ݶy" "5b6֔3(䙬 eAب*g|.<~6fcN+ B (ہPV~EĉAPsBzZ=;غe2>= ed=͛Lf[ps\s̖&t36NX( nq gG#}&i-^ov毺 }=zԐ=0~-X}ʁc[B]p{֞ Ne[Ӟޚ{@Y91-Kw:O@yk=P C3+|)zBm@zp;SwDZ#c#q*IEɬF$G: ckz /q(FR@΃> Mi (Gmξ~OUoՎ$w]s}Hoy[k^|*?P?Pv~?S7* (; }a֜1GN]>K1~d\(*<^.CR~BTz$_6]qȤ,eQZlj@vd2D[#++(kgy}0ݦ(%m_* k`(3ie#7Pvn% X3us\Ї>obiݺu/NoxCx"CܽwCތmW[Y~(Ӕփ׮ѧ Aޔ[cʠ%mdOv=_f>D 0*M cZ /yĉ'cWi'IK:t<0eW,ib0;kWLsO^I{cyC۵ĺOкUA@1>@WM܉$dzNS7Bkk:fC9 AI5r;jzhڔ?x^>B&H=NdٟnŧQ,|~s'HhkIo},};p*K ([7;=j@ْ4Xl#L~NQ'b&xEzkq]oOz lnC;'.P@Z|݀ ܎Ϟ7*Ẁ2 XݻUZKK!| ;^l#u._] X30 eN}y]˶CƖ_F⑿rECYt%4AKH$,4aaKE@6yj80Ae/yQ\52%OvZz+_9g@_sCe@pKa ]2oC\Gb|%b|!+"x[hm ͼMW [ }i21W\C^eyT+w0y!MbA XaYAWb% RCJH=T\}C-Q!s𡄢5J?(+s]Lűh7 l{4ʶco$h i7?zۻ5֛3c+ ([i^,$[; 9HP7S4J{$*b{0*d\,4z&Ia)dE !f#$XNll{tTm~PQ尬` N,ܡ &XSЬGtw*hiff&}O|;#4|ֳUdyE@ٻs@Yk5:l`GOg=,15Dmȕar_dCNQ`&zJͮTԵm,mM'{rzcaώ4sPmC0{0M'|@!;бnVl"tIe/{YKւ@k*{(y4{4PU1b7R4d+`ky~o1y%xkHR3-6t QO`#xqǧ&7 bLMHwU0SZPo];l!pк $jo|_ Π<+x(O ]_A5,W@(+ϑe_ފ]b1e#l >z./e[}0yo S#XGVע|&ޮ;W-r _PƼ+-?%M#/2eÑ (/lq儇;#/dF뭈Q C ߠ2̲+ɴKK2>ߟC۲eezw~/V>m=.]q\ (c|DmaKK {4uPcS,de`U2iT%FXZע'܄:#bz(ǚP^E1F{ q?觇4Mm  0J2J=\/Q@#ge˰3ي PfS`ڜLlْw;mݖK\rI_մ~L3(5؇?ekp |Ğzj[#8ab؟4J臹Cfx[1ls*s$qC T$IۓSQW`VjDG[ea uw=3G^een?F e/e'?1w(ۻwoFqU (ꦧ9眓~:|ڴU4.Xvw{>s0]˰Acb0doa[(M%Z ]D XĤh" ݙNSJ҂qCFpe;q/t[*]&?!-{4ϙp a@z<`ewm9~g+p9(S |gLCx\$=FzP@GO%!#sHz3cR6n##6Ј7=}f1Мt)‘fq( (4]sgۡ/~ ([C&l6X!U "Њl-IWMKRPmI۸cv(C@Y[w3:ӻFNe{`,q OY(#/9n6x5 &[&buƆjmM]LG_SWA;x0SZ/mP~#(&}(;e >FI>WDJU`@R?]40 Pf->\>wfЃ>U75TgIfK:rـR Z?2Rt8e[ێ- (;eveyy~e5cN(w(Y;>o@Lhk(gNh+_@3U`Ћ=(9*tGOJC !OmL6_4 Bx&h AEAt|!Ip#cc[v|v(;&e3(\uԧO9_صA[I0ꧦ%S5,[2q>:UhS8^%= L'<3(eG4,epFRXDƷ+P\PbÒt-W#ez0=ۡ,>QPvSPVeLVR եWף^|,lƛڊ* mcPfe4֑ءte1uGC ®ܡLUeG kax#WҤrPґp%?}_IҕqSG^NA[ߡj'2˻y (G9jH%}l.,m ]uVe aOȈG^PyɦEoW%PhaL؍4}"b v:=. /fE  /ΠD s3SZ_u>!>ԺO}IHO}KGBlǑw!l+Y؆[vߘfʬCe!D]=qI"U Kt.BA"L0OmЕIs!$z^ EQ_@˓]@YjrߡlߕWmءcb3dlv(;G^6D4̥_\Lְ|mkaxh3'PMehG4PP7Pe4%s"?CrggCcWRc4P ݸܱ/ݻsTJJw*T;Y@xɷ]Rڌ&l2o#W^uo08g Hp>WC}̳(BmBbNBH3HivQipדmE۳!cĢYȒ/m8}ءVyiåUݑe{PG^b᩾ * ([}Jտُ"*JNtx̽"Zӓ)1^͆Lކ}BJp]vG?CI` ~p7v١-߿w/~YzVz8cK"RCVlc?cse9wx£E$zX^TǨj&#x=;9LI kR1o a?(JBTM%%Z [Rrܑ$1lӅCwab)˷Y=qd`緿<}ӟNsObFd׾*튝:tW~JG3RG^^mۡ?v]TPyLٻ)."ŷJ"5JBWzRW;6Nb>t{ӽZXe,쎼:HIe׾!MMX@@嫖zM{poѪ(ù~; SnTq \OX!\$_ٳ]dv^Z'zHT$.OYxUaTz,c%R1-aN,5@UAvw̡]?P#/_~,y9/#/nM{qByɞ#/OX_gQ~]kF-lzIp=Z>JAmPJ^|6$'_Bb!%SE!>dxk x_3ZD:dSVY}IqWyg2eir`P6# +C'4|5.HcWc)ƀ0e}rpf'%㏚=+TĤ;CRhcu[+ (᧐f hYT&(D =C(AT! p%۸k.]vޥg<#ڟɟԮѼ.Q5叅ctwK|@~]@bWG^n_ִiry7x3 EEyTZK$0|=<#`+X,LhD5FG˥C #)yi ]@YÍUeءLG^rQzVHw(ȉx;cX] IRWqg9ۡ4u;>e9\=ږ/K#kXoYeq>hJP=:t(=;M#z( l#/'q$ ݏSPybG''%}֑xC5AJT =0鉶( -i؄NT!PzB/XfZ[Z_o-mG!얇nH>6mDtg@yi!maw8;RDKn1^qjal *ȋeT2d´Edӓe2 1&j oLeM6owpG^"E\FKx (ۊuOt4~~#/ǚ6\o%։lsG/y" vBOH ޺ -EHSDmi4Z٢"zIN=YVT>S[سG^me?d;7:p$?v(#IOz}_.bŊ#kX@:t<8zrPvP C,RZ=emCN4Iy7jOrT,=eQͫ1_Ii =~ \kT\3f!z H`&FU&$eBNJkۈĶ!{п4]2.,PaR«٣ ]#+aKiCoUP 1=nw#]s5i+HysFMe| 2eke+RZ_UzT ۿB&ͅк"T h@10CVP፻3/8b9PZa@ PvFwejܫ̕W@YZgc+{z_v0|ЄX )PX )&_#;) >4.$Mi;uieq%>=ԁy%r@Dof9yslH ]ND`UƕH+Q8-dr*2/PWHrdYtq"B3* UTDjzsMAKDB8 BC΀[wf8\[9ۡ (s[Oa|K\Fd]oީFJTc&v[`dXzL\YD %о =g!BO,"[6Ɂ] (ek6գ 9&;Ds˦qxe|''V#G!cE֋AzϘtVAVAm6ӳ-YdR< L>8K(ґyIh#5*HILihC]ܡ -|`G^"$D,|z@Yepw(;㸧ZvVNYpHXj&OІ=^_aBo5 K0)w(32KרePfG^CPNh״Ha" k+ *ZNW̲Ͳ5jPgCpC,teMgV1lӰ0@ńf4~Z}rK*x{;p`yPUOy{Ɖ([5'r)l X;$;aQYW(v dY.,'g$X/*Yn"j2yؒe9Sl$}2bx|z㻀2:K:dD@yIp4e3ʦp=ߐt#=Dq|<Qv*{|oܔA,aqt= Vu2QmEQ1_ 2hJ$l3/$4 CPvgzن@@{ikO-9erק.(qtyi;1>|<Ƃ{2V^b2uY9HXPGQ(`P^ZFU4"<1M=-K7 cx!['&A(ʠ(ǔ =)Hfplk*l%֎26|˺4v(/^e@P64;yW=-pژ@]Y2zppfdUQReݰQ3@վ$Qj=udu\W!NgvE~@C( yyia}я~4_uھ}{Ng}vW:uYt:t!kۣ h$ͩ+uM]\z|.҄ȝ/lܱoGaÅ_}9ȁ7G0ٽ[_PVu[_ 7 R'mYMnTqZɵ@Etw( PvfCYݣQE@Pʫ ܷʰ;أM; 5aq5<eev([yYCY(GTe; c/XyU8-&f^>3v/%$k_ G^Eh۸ʏJGmǾt}5?ʺ*u]rԸy`|+Bb*UDU-ྦ2YFuULEYƥ/ǕJ@IٔB ɕ\U'LpV[dDzD[a=lΪgCd"^qy9??N?X ({3@'ȫaП# ;Ee7bOᑖѩx܇w"Fcsܫ\CE:l zH>ݮ',u փvF;Cf38r2 lh6zl +X#9/4Szr{X:d$fyYi]@9et}=ܻ-ճ;NʢDξj]>g7z9g]v fV6xՋ)JF)eꩨ(tESxWQF4A\/%4p0OUjӣvmӚgM/~#/yɎ;ҿ˿}c޽{ڵk)xE:ݵ@:t<0;qF2r^],ټ\`xUMsX2"\@e{Wfs#  Z ԺJNm@IDATCxҪ2)S#`{gKs*BS2ۂ$69oWX:;=neG^nt擞jn{;ʯDu}F#oxBvN\3 kKzBV5X_4Cڠ fp&#/ 0(? L (w:| (c'NyɛrY%mYh7}i W-Ue&Q)u5P㍚iX]MCC<HpJ/m#/٣xevʢs-QQЦր2͛L+#/Or8[ / (4)K% o5.9}{PVX@E8ݑt}:tph~CƱv߰Eyܬ8l/xUE#X<2Qo Na,#>_TTD1\/r◖ǖ =#H[''CHңhFcBhRV @gm2B c4XܡluoN (c`d (1(OJ'c8`(Vu: *;aKK f^ J8EVzXt r-)O vg\Jd%d2z4f! GQ'ԑguG^SF8ael1P6]E]^~nǰzHLb~: N rBIuTHc5^MOhL r\+d4nDG*_rV3wGeҎ8-W@y峳{Gw]| i%/yI7JzENe:t5L(teA6T5|eIW֛tzI[w{(ݽnBOry\;!l5 75i #1yg%&(k$&$U␰BL,} =z%z lu*K|Tʨk6MtetHLbyy (SB/AGv([zj0,_1GRW+sL(6ʢsU@v({Q[4R{!}vyi6yyyh>7_H!C$?TҚ_;rK8gz/xۦ'£EAУάc?wU[Ckq':RT5q[H'eS#/o#zۻ5e3CsMqi}C*Ue1dd66(Ǔ!BÂ?dA#5B6­NB,J)A,FJ!dKK`VQդL)s=q=Ycr*=xy2k9"agwuNeLPwID@<x*;3'"wXR9fh=Q_D_P Y9Ò(i#%Æ.QtYmҚ#1|PpkF'L= {w47{  s~%N:&8p r-ꫯN'֭[$~'?9xK3 |!%y@:tmԏއ1[#/c@MxٟNK^Q5^p{iB@o I3, =3C?=v0busꉶZ[|Gt#+^C'/ij Ad)lfT@J&9,v('-'k3͢|yHo /aQEu M:J!d]KUsJ3l3v(v&I寊wWF7oNW\qEzs3:liIu`K2}ɣw(_ qXzCuBvӶ#acʖ#/v{Ձ/ˏ5w(cg4a4~)XPv67=̞<ͭꎼ-PVPr*sl,>1 Uh`54ՠygcV ٌL 62l뎽龝3xʒ&[hCY8;tD@Բ)sw qL;48}"@ddFpZ $w6լk)"ڧJ}|GbTɹ΂R!܋n[*zB#??ړ`zubv(~+JLb qPvZP&eeء:>3=nYБ6v/f EpŔ94L2e_cf XjeN 6=%~FXG)yr[b:E,R-X@@A1Ă&8Re,z@e4㎼CZg ءl ;>5>ᐼyw9H)X&`Xe ,Wkz*,h詨2VG{FPG!aLUCdOe4I#/ceE@ϵǀ={o}[೟lڹsgZ|y:su^<ޮy@:te\~wU_ﶈ T/򻮵بSٔ 6s*bs?[db¨R8[6eSsQC!5 l%Ri`=d5< fpTG<0jJz _٦<"f;M`} K_Χ1K29"u"G @}r$+C(ę |1&֜#QMP62P>ֲS lG^9A}BdVeg8^Qq왖J^l8w2e78U\%$\RJrEe-c2JzJYAtoܺz[he۴CYxC8ءKر#}K_JWմnݺ?ӏ؏;ވy@:tq28/ 9c{sOƦB L6+4bΥ9#6'RƗq.s~GA@?=@g&;K,Qw=z"}ĸPI2yUr= x!!smTCٮoVؑo|l (<2 п4]sg`('bLߺejLxch|4 5* %&]ުyH]TVmIۨ[<e`v;~G7'K(x'Cau]T^j5m|m4ָ4j[Zۚ0Z (yщv(+5j2l jCLde~ 3.$MݑOO3=w(㑗ܡ|Y1TKs:}/Wbq>$UąAzGFʬ7LR*ZV@zDS,U cv"$qRvY6JP.x\̡PFE\#; ܡ}8 (3/UeB@فb?1]k%p%v(c]Á(N5`\O`_D {UĒSP.`A[1m4rJtz0#DCḂ6e)C*ט #/wc>JܡBuG^GG^ዮqy9ƀ'S+K+P|c}/Ik=F%o]!*;L՛zzi]S/Kl3X[>))>7㩮V0`{VġA#/O~lM۶mKWn&26lؐ^W.,@vѕ:t}qİ?|.}<{(s]™69hy"="0Y5=݈)ٔ1ȽLrH2س& \\ g 2jn2c8;ic6l>mxz6m;EØ#/m E;̤o9}HW_}ud:+_׾6wyQ:fxwJGlb= 1M)*YQ3TYlK6KzJnhJ>=Y$ [d*KǬh3ؐ@pinCYPhD8 #/#츍aKa~Qcr$6^9.iC2Y_`$}I= it +ąЅB\er<:2PF"qP n2]#lec:;6>j;J=ase p}P&K\5:o,ENVI&d=yE.:_eť;ǝ#2y2 xT;!6 NxB; tX] CCB!(ۍ2>5KȀ2,Nv(˟a jescރcKQ.[\WPT¨KcK:M'&9e2n< *qz'V>gPa,%>ϧXYrE k^?OVwY:tc ( fPF'qOЙe}@'gGq-зr*Gf ^05+-0vǗvek#W{!}o9"l4818яlS޼ŭ'o,)y"H:kzf0AwX>"b}ڰxi_s]d?xT$wzhCiׁ=MUz/4jAEE팶@M<{{LPR!0Q@@LeTX;V[e{{sZG^F_aKS(g@u"݈˓-U]M(䱆@6U맇Vdl|UB8B8.%bY^ֹֺWV L=Ǵ= fW(H☢=/`$ʂW?vw䥼6PNs;wMeS~/*v+Шuas6،8Q%l+':<;ķ7+vg5:)k}Z)ᥜz"[H:%:f es9>e' Cs~ӗ#HW <֭[~IHtL:t rm}GE9kc%()Q8jz"v9 _V(Ekx ;xaKXڛ'3aPju=OK,Tu\+6B5弰MU{ mj`]ie& ({{ ՚;fѨ O32Ď43Pe=UP sUnQZ 3GJczŒϾ?g7Cǥ;-=yݓ)NNkW4x5;=w{/=rp&O[K$%_2d;FTԵ w!̢7`S=.<2z׹7|' (!V#(fk@TSpiX^ڛ}2#Xxܚ#D.( 8VÉVV`Lʰ04}/vG^F늉 wUiG'j2}}zl<,7ʆBN!_&Ltb?n=#mL=wia.t~N4QX n)+sS@k5yY_ 6eqý@,.Β~D 6.=FV.';90(=Vu~S|46(ZJJ]g=RgG^C@>_]y@P62_wuECô%"?ehE#r6xfɐHc솃Xo LL˫VWmqә럚[S1pAmNdXݼzɁmƝFmEi8jn.*$#L$=‹I!w(eA>rjEzޛN[{jv$rO]tFPv P6wkګ2PX1^ǀ2gtٽP(@EQ U$$[&hZoα3B_J?W2L?; @P}pCpEFqٟyFO893:7+~ &a d߷vsU&]u޺u֩s|dRZϝ:tm?+B8uqt^s `V)kvZ~֦pH {{O ``<帹i{4e0(`PÙ 1 y9 ךݕu@ 68H&kso+uIv\i8|iq=+W*8Z,M5(k1Vo81 ݩŽ욧6ykt|t0hp>ЏCY+3(;B^0ze===j*,e%bmr%5\#<(W (4Ph@BU mR;訩/#_}L衬=a${\M¬]S7AjS^a}]qHA6^g9z=\ +gT?Wz4x.cOS2[; c* ^0J=Q#$XXlp ʒQ8B]o8B?6]r4|45{Xlas{Gc_reM#1wxeKx(뇇2._}6&~jil,p) ~ h˛6eg=졌#6p{_:hĪyƣgRdlS/`,j>`(3 ";C2Q~vY]zK<$bhw^ e;:U=}%9 ʾQx(EkZjPvGh6bNB9cO*v`*Q']X@4ьS8Ж6) r7|4:O=4NΘ}3hNV/\3qkݮ pƧP gUɍHq">7BV*ۓ!'KG1VSH&pp v~5zkCk̠e*K$5Be|T#,tWCpѢy:Vq*Z'8Gz4QN޶)[킘$) B$O7 LVoN6"ѣ{xJ*Du& >Ux(eyYbK{m jPB^kv:|ڴ+9?=d6{є$;w8PHacti=CAT`yQj e|=%8GTꑆ򼿒G硬K~iw#r_^M ꪫdܹ* (4Ph@BfPR2uo*᪏Z[dAX.ׁ\)`fhhX)5q]kNlԨ/=*6",| %:is}IG(R/Kvtʓm[` e`g&=o@^aF>Ο'G[FjDag'솇9(1 lfGY4%ea<:{[RbU5)E/HC<<ㅻdwo4põ mP2ƴ/nw:#Y2"p`A٧ξVC'/^X>7,Gy|[ߒSN9ej?iD G-^eKB0ϴV/8䜀&oJ+, ʦ\ "pѝ<+}ڶ\Sz^ o-}ڂ ^28KJ0,x 7FaPvHu?_:o0t Nʠ,;܆G0(k"3(2buy E!{aFCz#Ӆ ࡌet k 2SwT[hPc w룾P`iC^T$ni0<7( xglrkZ4~9 ixPƐlUaPQGQ(4Ph h > FpC f e,#!N>ۆ5Z5An_C>n sXJX|3BZ:d9H^lT4:>{=ĆŌ.}ڟt )GnYZ{_F>􇍎C>(:,(*\!/Rl"_2hgN4(L) .AUP8S2>=*0t׌ɀc' @H ?m=Ig^MINGl|~`X޽;? *~*=RoP%s7ћ")tn$bU!/{vZ$;TZ 2~|C M30F8L co6Yj\ Z?s4 xGJM%Ѡq'^.]#&!)o7[(Hj'!LǨ&Jc|LD4Y`:qi,HۤР4cCف#P{ݻG믿^N-777q'op[q*4Ph@B p |ʾ{J3(~XUxkA~0La<4bJV&$Bd PiZuVcPu>M4Th['C?>AY$09v;r_nN٣k䱕R$IR5_DX^9yD;AvYטsb/<ۿjP y&PCM>vr\ *|yeq(Pfe0YFr8oLb=\G]ŷt+b]?Ʃ#l|b(x(A7t/'F \ªӽƸ":9:ЈJ(Jr2D9,im@-l-{J{O=ԏA( 2yoCu侥Ne<QyY3G0wxJ8J'Yb˥TǏ~F9  !//~ zu9_B=~ߣnu=7( YGN4|@ⱆ1mCYvUhähx(kR; $eP&Pcc"PJ0Z|.bxKxWi9ĘNf]Ѡe(%%R>V"5:S:m ƤpX(%aaJt2YSsR(;$t9{i!/KW#6C^ZRPv>= ߠO6l կnzHrqZ.";vl8(4Ph@B H ʰ ,ageuZf+8pMA+VuF-cBg- Cie>$r#AJC73^~XuwJI; j"=a\+el#_X 6ֺeіQVxÌzxno=&*:E&LR~,l^l\ P=2 K^LChXAi؉&2Z$ N4{1۝!eC^K ^3m7=e4سgm'iҐ V6axJAP tXVURpk!Bg~Gӳ=J! +G2[S׸O`߼?ӈg%cޮHi7Ib[d1\}z(_n  ׭: +-E\ mT@IϢ[#LnPfVg %5$k>AY5܍@ĠlJ\fPfceuVe:QIZ8rԃ_0t9KjPvF%Yl9mq ¾ e)x(K%Qx(%KC/˗/qwA6Ї>$ ,x/RB (4Ph@e eXfsE 櫇2MOXq5-챴pYμ ڀt麞ށ>6NAهeƓqn-TfNPWc֔f :e%2@'1~#1 hp5$Gӛs5RAz^eK 蓼8 2kPF+tNC>R(QpKñ:¢>OFIt6M<=vbBa+V=(ݥA#h%ͻ@tx4P[k|=4C"(e #1}t0$] [u]k1>1>b}a!/QG%7xx≩r`x "VYɠ,V>+w8o˗>sP4?fkU^j'Hwzo6GҶA0'?$ i8UT!/^@f yyhwKܬ7^T:FH}Ġ,xx}tB|x2zjSNCYB^k!/e(y% (k-/R2͵|yYTQB.aڼ(dJ "eFW <<ôo0| 1^dX/ 롬 U_wdb>)>Z ^z^_3">)Uʇ57CCeSΎR& l=¨CTebe4<~g;0r߸Qܹs=yWʡ.NKsD@IDAT (4Ph@B4!rݳ12[ҠA9z,ռ5a}VaTİOD"؃2k46q+QRnAezT4?w/=24 ΨNLk~̚ gaJ~TvML?r⦗%I䯽٤uڜ>wSS=7il2eKe{}%ƈ 0Pll:}8a dM!=桬̠l*HA(IV#Dӊ<<^ q^ |4RU+_˽+Ǐs9G>`qT$ePf-6@aP/3^ʸ FWA䀵F rMaP29]Vq'~p/dE2W,v,݉Hh+o_}Ja4/xԡhdtb$:^fP/><#)` /5ec𢚓=\q2}à5͙kh>IBW*kW.|2^^km5 UR# ?+e.aܣ0MNnN5[ٻ~wjm+U4?75뺐l%EisW0BTl|ՋhPƞMH+hH+O/ri&&.SMe^>1ٱc}^ΙrasU|ԣ!/lkcs>rOl6eL:teLVZ*0P1M6@4.8άŎ@$ !Cjn浐ۼm2{JJko趀y2oJ{ DY7qa9iE#$4!jB)B`W@_yjB Фe{aнxuٲe0,+ҥK_97KYv̠8PW$PV 2I#F%gt xr" 3$~AĜA?v !!O;Bф0HIԨQ_zSnec>[UTy)\-!ZCX$|0!C^rݹs!y>`oӐ1[Sw4(#24@[â4gN)cf~dӮ.9ۺ)\@? C0߀o%g2 Ԩ-"ˬ2(|vfBr.߰[L* Xg0(;C$9@֝A`&{(cs0()m!xgse<\\*bGh7v,t}]Ꝭ _fRDW4F;Fiz*/ܭus=b._Ojkwx$/=%N~n.Yn~\xᅺyj^jz8zSŁQnWPx26(ŋU<>k%yM$yr0A;:C } '/[c-1 *yYoeBu AYS4'#·/d-l2Vx-7%W'@dS)[GFXAȌZ{#>nXeR9 a/<| ѧ]ᯪqmS.I]CEQ"` L~oQ 8crJ|_!/,1@↣10(F?fZyT485$%_"mmmQ /^a~a5>9o}~$xGn$pqv2~Рl ƄMd :tC R(NlI1K eӠkMŞ}1cPVO(I6( q v:돪N ZU;k1ވǃVL^@jR =Me:28y(; e* TY{@o~{gɣ2,%W =%㍣aQa`d#PV˷f-P7([2x(KS,y΄5N)O̤a[ɮT jPHE:JR9o2e˫mяWÀ/mz(;e8/%xOOdyu#c5(#Q,A N OWh3qLe!d063*2|`I%A xRwkj@|cp̠eP5(KUe4(ܖ*4AzЮ3 eWizԃ/]Y+7 #O;yǑoVfߟdU P"fs44?ڕEL|PN=DeG˧ϾV7֭[[7i$~\{'4tB,) y=`ѯmiw[ i$C^:V`pBHZKm1JGNs No&:|=5roA@W^)$W>`)x*GP6ʊr'}srkc_zx _B,NaP'2X ͩz-^U ʚB^=zMWk!@EK^?ZJQ^|If^4;mڴ@M=e\ӠVx@QI m-9a[ Cbx(۩H/NN+ >#6 Fht|!>a4I8/?mz(cC eI e\hЀk 5(3Ca<}F-6;fp!ysO 3G} 6q妕AlzWY}~a+AD|=^+нs|Jݘ1i 0 e|e"O|6 LC5(ʗVYrhoihٯ=ѐ_W~'$}9nyPvW H5x,z { ڄ__DXi"BI*Dƌ3˔jzdS,*|b\jȑ 4'ok%PE h8e<*ղJuJǼ `ʴ:¥+\C^GeGà ʊ5`e_A rH4b=#3asrȰ=B0Du I3ARF%Q a k]C\\$gp cvi,QaX^2ڼ6., NMSeDzʚeASJ3CY<򲻻[,Y"z?p 9Ye2dj?F"Q9RŽ!jD3*Ld qW7kOC^RN;=S{D]~? ʼ*qg3٭%yin04ağ{9CM(r@-ٺLMaC9?on#SZ, !7<9r::e{IV_Ny';p5(o7Cנ] ̈́k:ceL)Ia$Wx1PH8jb1/>5xe eݽ}Pʶ0cJ#NqV.rWW֠! Pk(4`e"MuMe9i2p-u"q0z@&Z"6"`&=0P$䣔67itA%+ᱬ!ڜy"m} X̰Y/]tБ8Lq|Ab g Aa?4 ModU.`d঴ZceW/}K1 Z)M'u䥄D{ue)^CrG_,]t~걌FRbP xÁFx(c\quaGqJyşm0S"1`PFCYB^J*B@*_f>DF{(?:R>zȖSƵdCG]X?Գ2 pAC^Wmѫ͆^16AC^UP#x X m֮8xuL X/u,9?fqig-&C\)eŘq7 :::q?l߾]aI|ٕu (4Ph@BCh 1(37WRD~elތ Ѳ|ERaO:99m> Ww>^G,yz(AKDA 2}\s\9hbKʏ?{Ӳv{~HJsֱS) u!VdS"$:}ѷ P=岿ePvc7͋~ I,~$HKjPY'Оa 7*S#'yۼKոZx@ekm| 4.Ld )9SwE;܃ *: $@.б):G&^h|X)?*eKCYhf=\s#l0giZOFK9)2(AIjNYJarx>9;T"Ds‡ Lyyx$a%ZK{)x(dܣ ߺ[m"Zmkkiy౬)Y·T5A A1x|x c8d2%s e@ f bP1VJ"Bɠt>*SIߧ]FD\A>m}r "ꝏ;-BZKG6qR>ybe+ LC^XKxo^M~6ǍW]G5JYB (4Ph@k kPp JGMe>C^rmlhA 97[b{tχ ]&&Џprdj3ANiKԲʜO/ᓮ{㬣ɻN~)``{˶x1tGb1lT'Ѝ&gJ 3J ڍ* Dԏ@Ka~`,z ʪx& #UB'U ꇅrl2cA#NZ .kP,z䷌( K޳  ӣ턇2uȇ_=sŚ)}[R8{ꩧSy睃+G_M8"|d\`pa 81CC5>da":R^!ˤnBoފ7n q24jl͋zHu2WB< VGv!ed̠h\CQʚHK̋^O?.o+Fa[^o| !/4qa-7(H0(Ӑ+!/ċyAY_3厝6:.^7HKr~zl2U.\(|Z-#=&RAh֠ <\ke _3 rl'u^RTG:}`T/9$_ H0>r噇ޓ<C ]D؈~6WgPp^^"Bۋ0([2N|.<Ū*  Р[? [?p8pKp<I&e7)"hO3I>p{pJ7/< 7Ȋd F#6ڭe%x&"rKeQr>C,Rn)iGFGuF2d'ypTzF9ME$C5A- l/c|F߹skUq>ɯk]$S8%0Cc^|E?3y?z͈?yަe͓Ʃ'ʺ6b诟^6X4lhAAAeeՙ7Iͫ %G%~ 8F;yI2\,߂ԑoɣ5pJۅJrIZCYT:3<ʤ@'gk#R,jžIݸ|'`5>Z^W׿u& Z̙] ò+yKL~NDKP \Ё{7z;@R £! sBҵ3pY􄐗^gg笵'T?6 ".6*!@ܘvȇPo՘)"Z[ àl2<8_׮]+?n߀~vg5\`"(4Ph@B ^fP{%؋Wv4hҐxuSZgkX=>au3&lWIj>6\<>\S~D2"$eaJe_wtvZZ8pa,>p!r!rck'EH ʎYRwampjTT/)ꋰ4/K e!AD/P]y}3 }L=AS2TJlҜ2eĞ1Ec=ּEpyPEN?"ƁP"~~`5č ;]d00+uЩG ECt21o y- d^>/遶TKk@iCg_+cjŋeݺu-;' F>(7e&|q:D6m6I~'7mydžؚҷ\*]rI'Ke}+/N}aTEd y e~=rh$yshLe|R7Aj3F2'v =4wSX(e)LynY2e  ЫԠ]/_.6l*Ϣe_JKc=b4vX9e2z>:蠃A0Iq}漜x(k?8}}`K.5(PQ࡬;\ITfPƉU&4(C[f7 ۻW;eo=wƍ~VOJ|yqu{gy)9A>HC^y/u^ሿ6iQaZLy>bPo?^CUV{Z9Vyim6}l❌n7z\0e|BCgk"w┮5~Q=c/s9K7=쏰57cmئe[_{ttq>ɐ>S?so"H֬̈́ЌP-@hЛ.Q"M l y"$ eI :;;?<~';yY{]4/ϯ p  ?~U>/_ᝡ0i&3}BA (4MV#._^([T,H46$ ArIFəE&Gj͸ńhS,ue_nڮ"XA7Op}ƤIℕPJ5 a`lL3@tF^oSpg' T8%ϭ2+^Ï><Ӄ~Kg0}΂Ђ,6,K=E` 隌A},C֯^v<֧2x+j:TrJ1FT.R"Ud|p9"LoXp0G+RN8szE!B (4Ph@!5a'_w=ltmL\r_[RF +ЖR@3}&{*ʂ K~\`Pr'F^I9ӥOHyl픯YSS6%RґPmQa?aX]>R>LJwtYK]c3RR ʞPy)̼{ePVel˜ l+V$%7ra„N)g ʲҍԿ)* ֣AZ+P֏ R9Bas`bPh"xtMjFQw5!Y.R ;,ulύ߅A^~w`NKڙ y2( }jn0bï \˪eUe6神 𒎆dyݒ$Vj5-CY^ݺu2㎓{̙3uzv-o ?%.CTvO`;D ښ5$8 x 4"7C,~hC0Pw" s|VNmm#<+(HH/,?t \sƃM_wI?4ڈ`8Ee6"Tbӫ|"M17 dZYH-#nx9'7esOȭ>#}<i@k )f͚Җx=awܠu* 4McM=1 È*g[8n5sLI37(Z87We3x }q<;Z#uH?{۠|8ЎH2V4_1U|KBB=+΅ (4Ph@B/MHv6 y9XkBQI4hp|V a#=wv,kS>l39l|Éy{zd:znP5C9'4>e+gHyгRTԃ"D8X24v֦ pa|Su@UY2'xԽݘVif+>+ )Vs)D*acIL?JNu̙gnlG-7èdB%~$9RRƫ (, yI. CYaPVWU_NpC.B|e`PֱcѨ] yA~6Q)xTC$U]҆2\$N檊4Gx%e=y(+ \1ڙ?$x6UaCB\|EYFHu9|eC]\YhC23|Y< _T O_  B^ _fS !/iPFX Ѱe˖,ˢ4P BАu{|ӟPJw7?me@e!`e5@fș#2I8IUf-p!/ۇIdKx'˧.zhsZٲiC6yL[ZsZzqsà6ޮ}oe,j 5eMj4Kp42x(Sy C&7yx6$6Qa^M',!\s5A>88X&,G°  N3QPO&Xq)f|ӛ]= 9|b? ZgR]A TNg. PW7gEE F:?BGcgomYsR&CC=0\N6j5Bzr &mbK*KErT0ty`@)E4b،Li2y]G9F4g߆V[[ڑjttB#5z|m<]M-=v!S@ux#E& Gc>`gGo :qR {e h;T}ӱBLA C`U;K@-'6HM5>+}C4*c(}CD7(߲ 'ډ3`t9cM$Z$䉣6xAY nSjP4 1'Pٱ*s2 Wd1 R88 IA@Ya^/"lf/IDq'ELVVYq8쇊 y9y<ٴ[o܅ǤFjyyǗ2oPMPCuZFWT*ZPrch<<͙8[σmC2p;*x(ӗ:DNvuD mZdO\`Jq܀eMch c'IlLa Rߌ3 *=uuʃ/NAiL Sp,&ANuF"x藕^?! YdM.Y - c vءk4Ggbpx5>EO0ǔϊc'jaݻwKwwWco0qD!F'! :."9Qf)V|݉6I1vOƍL yyŗ# yQZK0D5MAcȰdD=6+N)TMrJT>TOF'#90T*p;::NU$b3z';d1至\r8(Srz(JȣIhP6nʼm $Ϗ :  +ԢĎ>`fPʪWl\[^DVޓP?9͛Ge4hrxڐ'*L 0J0(cRdPB^L=L>Gy|c; #P (4Ph@B^̠lMe۰ sBt1z/g]?'=YGܧaYXm \3'0p'9Z ~"M̑$Q#wuo("Bn_ڪ"?#/>0˨@9hOs~ %]yٮQfPvCu 7/)$AY^SR5OCC;>)D6͞0Kj=P5հ<+w-B`[\ʅ޷dvq8g="C٧ξ+=r-Y9i ;#vhkrFHpÑ_c̺n իelr1 ]&ʸk.`.~|pܠ̔_eyY!/6LSmB{z!JO hr0Ԑ̆2еܤe>_Bba9I<\.sdȧiΩe!Ws6FiPV9)34(k>HJg\"K,|+r뭷f9F6q^o81l m05-`T5gNoկ),8Zea`e:ײ&kZ 8F?MY`!. yUuQJhpHjxnP֏PC욫 dVs_EeГs13ᤑ2^/qdJkju;{lF*MXįS̠ pOߔ-5(fʪnRÅw3(e`+F=-.*xjiG &cˣ!nGU[;d ʲ,e̵] p AY#< IjqF٢J[Sr `m>4qX=(:a A޶tg"'tLQJP SZT6O-qz/}IH޷yWC\]0YEr"|ψ!4!jnb>lA [(3Ե6yIÇ;C^x@x9F'cJ:ykL4' 3B@Lp SVb.M +ׂ냞TUWD %\a WS [?Rc4$h'>ގ(P\3ɒurOBM /2vJ!~!5i3gjs>[ӛt3o4z([Rm/Ԇ7`PV iz(l/G6~آ)Naʌ fhD-=Fz(#㙨$b3G<|o׈,3E&זJ`+ ެl )ʪpTI(@IDATӦ2Z&O[0ga ʬ3d%S_Qo~l:~psQĀZ (4Ph@B^besàpWtu^v\{%fK^Ov iEZi$PC-mKek4e'(5[4;އ, yyV2b!/iPeItzk !/eXn2H]z|gyF7kC=T2p ێ ܪ,XhZ+6(gǏ\yfJx^O~<̌aO.ۻtY dBy4yLdpFVXI?+oPosYPz/~뇓'y(e{P"V e.\B<%|f s#yKc-p@"e>%N^'/"ch l8Q.JZ Ob tH6!97ҏ7kW+G&5ORecq2[;O@ֵG`~:S_*[( 2ft` wJYѸP*1CR ʔ LA'>{XuMr5W_-oW媫R#d8gC\1#ܹsSOՏw?!e- 6WAF ai" u1C| ꬚uȅI[׫148 @0 Ў{(D\w, ҒOМh9rLw uz٠j/"QRN'A5ڮuvvG=m (}qIџ:ik%74F<@9u-rjKTJ}λYč^4KX-y=&p6`VY]%HȰryZB#3HcML)*7K]jƌ0Nv#Fq}`4ݎk{M7;Ejǃfo{GlgcZc]qҐTA~3l#ެgMC|Yf5 CYir2n8eL?\Vnҏ-[ck^ƎIVd (4Ph@BF2]|0^͘d,]ˍ&,u-"ׂDdY%'ւ֥:| R‡R䄝RщM?>0xݧ]?V&=6v9&mCl9pЌw qr[GXsJ7YqBx! du痔ỌrmAMy2 e5(FPFvuD ImVe:`!`Qe8:?H^XV)\[/z|C207or3d )7>]Y{,A^EMA*աA/L @iPv|7_ nz)y衇d㎓N;M7~s'|3r]wUi 0K/)Jyi)YUP dVYUھae<W!mM7`8R"J VJF,#'4seh0^VeVo $,C( sg?]lDW M.^e)223X4ccpf6e}}̠l(ep (߳9il0(ip֬Y#o{/%oy2%#Y>Pͮp_L2 ep!/ No|dxJE6E*4Ph൫7(k2ThяysP8CURtO礑p'+֣g% CG)EKGCxVc{o?Bwğteg^Oײg oqO״=^Պ=Kn=^?rAF8-ZO! ?޹UZ9DM Fzb ʖC ^QC^*~zq 9y9cw0,侒(ŋC, 85[|}K>otI֦LR jPoa@) &|z 02xg5c`aD.'gVcɽ): iSBm#^lU>NDj!Bfʏd:_D, x  fDI?؟D(QKΐ!I3Äʠ/Tg p:UuuA-j,+ \7{tR|'!3_\|ʼn!?,ҖA~UttljE^FM~ZrH7Ma|gay(vCa9ӄ/ɳnNøWt{&)[/O9p,50zi845:+P=}:Vfi}6ud>?Fe mMKow`|5ݤ}OmAua ïcnE9ҿ}5nx)ǹl)uj޻n۷Yp>??,gy)rq(4Ph@B eX;ja}͍0(M mѺP+`YqЦC)]P+A PRx^]%]_Q [:C[yPFh_;?𾢳N${f4@E!2{a.ZgOIڝxqL-%rHLAB(l5xLGUK@nC!ȵe+6w;OhR3U&}JZ*dZ:Rapu6{ TBU^eǎiUTG\ Tԡ0x0fdJnܺBvn. S H 2ϐnp%oW=!8zf*xqDaaF'!/xg2z_O4({ՠ{)wܸqr)y/mms`4(e+1Fh CK^QKLY9eQ^v!TbeS!/SCpTHc|&Id`"W/P8%CqD"404( hryb$֬(6D=a +gSJ)x(7l "a3!/ Ɂ0(DPl˪|zݾo#Y^Ԡ, ׭z( ez#W(U yI2=,>9<42sׯ[t٣k J|39I{(C`Pvܩ ,Bi lS(9a;j|iа[849D {h\NO^ ln78nH}{M'H3FFs_2X 6$[= ^G9:}ߜ5kZ{s9 7U:ZU5kv5wڵj5?uq5A{)00$OȮ2{@d$.&S7c'<@ ^?f]|eJ67WxQ+ "+ڐnyJ@H'=k#D 3㘵WCVzw-7xy%nXQFMC%: pΓm8UyOP6B21j#˧26X@ƙaIR(~XRPG/xÉG^v/3kc+PVkSt?s:1Mn<6qmu.2G^ZD(?R0t袁Aklc8( fcufG^?q?LX$wI,xusnYp{.D*rÍo+<ǻ׽沣t5!<ƞ xV\jcq4spV(}w\ul=32 i?;VD Uybf76("3C!BDž2c2eⵂ>OG~D"mrwyVQ` bء>S\tqȡ̞4i?Y׍\i?zDW{qBǗu" jkqy4ɫ@ڀe,8m}o¡ŐP#RAOK?|b,y "\>M `eO` la,k@ dr,BNyr&|y2F(;CeeɄ7:P6VRWWHh.8x(s@p󲅗 =Mݓ7![ɦYS3-^g|~쿹6r)'#/MhyĞc{tɀ3Ӿ2"51 ̡+| ޲ot\pVώ܅Ϟc<0reFhLDPEf=MDjEYܡvx#T^>ACA |#yuߑqzDOh(1䥬p1|.97s(Fv W⋛F$+ ;;8 ,0A%CZLdȥ"|ɢ"C.Sk{4b4Xnfss?Awvhg2MQӐgϋ(PKaʓb C 4r%BMBJ&+d.݄#' sJC._82z:8:n>tųydF'p>%侧RgA2Uý[=)chKy{q@%mH*GHErسa8]ECPƄǷѡn9^&LaCeonFw#fSPVeޡ Xv]>BGH-&sdKe&eqNGQ22㑗t(q(ӻp6yEOtPȜ w^u1J]mʁ3Xݍ00#x)BYdᗾ"}V"1a {ӛ֭[~e|OK:˨6J{ cPӜ߁cÜ`I%[B$G^Vea**u(zzp;<0>gZZmwO_xLwٍg+nsؘYIX|'jԲlf$uoSDћO}kn޽nG{^B߽=q<tS+G^bmF2>ٲ.G^V:5IDU! 3_-r׆5* K JzQzTn zչze]l3>N2D\P*NeP.tl|>n<'/qUHK iEOE-f%}dž\N4:%+Vs_3PrE7ġ"WH:@Xjvag &,j`tM 0nd޲xdlrz;.e:kW^n^}cCǴ?[e웱(]tdSLGP.3L9EC%8/K397q7-. ?l߽-|j:3 Lb/K?_@mjfG^peՎD^2ѥͺ8M{pty6䋇}p((953نӡ%B8"Twwej͚5_?#}a78Lnֹl#/[%̄n4z"P6My˙Аpzte;lFHG^D[oU6u-aVj̴ّoPE(l5f<~}sTN"V (4BY |o׷udLO<wN0Qb 6/Ph9^D qy yi6Iy@Xew~o:IuKPF?25لJVlBٴDS,k>r6+LY .l*};B⻠*؊U&g"PB[R\wŻ me5[EḐ:{ĦS +6@DT0CpK (6yG^^YRcߚʼE^y}=J$+-\pzJ29r?h-Nȑp(go@8X\ǗbVPVZ㏼:Ps(G2(LEՑQɀ5.dz[ј9ye%r9ڸo26G<1u͹ \W+E(-Bٽ_?w{ի^%c\sD$L91BYA1d\ie ClA;r\-14ʥHtv/Q|bԯ1D(Dҡe]0?8q,(~s.y8U#,':ʪva$PVp(Le/~{u7ox7WZY~ʓ]v`4[vVܾ =reH<];wz$E *۰G;SX=Ɠ"xmސ?ePƗܐ1g16rڅ׮tsAF EPa9 OF r jbuf20B\Jke#n;V <+]~Yq(;IƠ%: zR9 >@#.e 4לVnvn;}gFUؑݝ~ko>U.y7ç B7iM"zG: #ّxq#/_Qx%Sv=~z76VzȜAMw꩝7<:mѡLdDéL⤲pvG^0KcQ@L"]B"`Kt{I5F(\C7'{']w~{丆I2D(eᄄ%.[p(3,/nY$5e>LP?/|8-uM9|e\s|L5]p({G(3 #lGJefnpÐM:j@(X6`/`xxE+q#1 Sg euICB"DtS>Ș /9:f=<]9cQ ˱q0=lt^.Oejݗk.~=SVX1y=12F(㑗~Xw]'#"BYl8G S}8pm&rI_pTečFdzw(s-81ЛQ*8ֲ{\}lMX18|1Y7K8SCc| {o\z\v#"2-da }[\5pl QGq3Kvf)MvUtauD(ۍ/l+\qA28r׿>O{̝8qBN xk_>xzG'!QJM-e;<<1cKs(M5E|لZ0 ڒkL4OL6xD@E} xQg vCIMcoI*Һᓆ5 bgZuf/uuKf/cO~m>KW~t6ʖOFXft֎{ԡlt7dόC &_.C_.S|Nh,1-p-Bs釵%2&c -]ԭ_/: [Y퇓"lLӨۡQK̡LP^ϦL܃<ாjG[N7hgCN "훊覒E;mCILGXrV񴼬e0g^Ʒ fe{irJG^Mddy??DP>y g*n7;fm&%4cӐoM9{1tÑY?"B:D{/7H= ѣ*9q 3%u+.wuo C$omTFۡF^vFE}F@xU1N Rc(Mrt( IS"ˏ#/i^;:lٲŭ\Eq #/Pvz A`՞AyJdxC6Ǚ41bc4c"o*KN*zF"Cծ{9# :oWgAPL%AyPgC PWuDR2ߟЭ ]YIP0„r$HƤhWep(1vZ90]_R Eݻw;u|9ًrex ܆9oYPf#|~FMnqLdepw_v|o8:2p sU׈Nam|ES\:jl͢Ge}O#q/O(7:]'kɺ{cqdd?|;|Ctx;ܒ%K`B,,,,,,,,0‘X'?#VvP6u_7uG΂?bC}"PWJo GU,Ig9YcEoE\dD:[z@x|sdB^Wz[a _֟QJ8/ܳaŌ҆0վǒ3) }FOߵ 8] :}ϸ64Bm"ICU|k1 [F EJ|@eWvO"wv>~cx,xaf%Ƌ/" ܝCϸ aC#:/Rϐ?ˑp(@J"C19eX&PUt.8Hƍ1Tp:Mur# &ЏТD)^;o4J߶2O@ 1pr"P7n bs8y݊C"]uT1ʍu#/gU?Sq=8gë]G_>ꑗ/B&k WdF(-79Rj+ 4:ie gy)D'.'"T10k q PSfJ"#/s&IddX P#/uLG.8\F7\"eN=&D.Sh5bH@C.H3E<.>weD4uF2r~ڿx;>pF7^,s^~[{ϟxQξ<(hvT[|0]npe1uҲ |U.Ux%N(ʾHe]y /r_׽R8~wM/AulA{V0Fw|R<[-=)tef2V#Di&}}_u>sWvny뭷:=00`$)OHHHHHHH(8}'~k>XqKv]VʺPV|~,+;\=6wt(hB \A" IWRhKPF=ҸC"V %J*HsgAq>?-eŸ4J&@Y\e%PS 꾝K4<¡lǁSn#,y>p4S`"2jKN[0kW⫧4F1=>hb oK+ns,ydC;m؏7r#ݸ07ϭB.?'Б M6eDGVn+߈NzӐPWVUq,BA|x~]u"\JeP6qr'7n^+;27С.B4p!F4lClac^r͡xva_x'R,*3+E<+%4:)OP&e&m G^1 SFcs66:A*Pߢo2*eGaH~&x{ 9ͭZHޡ |ʊ}Qݾ芲HǷufv|f6:^u;hcDyoƅSgS:U߂ v |[I1] _Pv=l(LeX?$ ,>*/j-!.V?jcl7o]d2% dmDAX+.$DѺLJ&ܼV.{[YS9Or{vxd1"8!l7\썜 ^·ݣ?1Feߏl@}y?$&i-K!ؘI;Ci?oA2bI vCP۪]SϸSO)Ktxaw^y)Cȏ/~t ?NS[MDF& h*fop1B: n} &G!;Eؘ[N̜ձ83"c `^7å\Lx~'\)8!P-IoE@`o 62gQig]^u[O ?k#Pz%W|-!:欹 pw(l&ePfkr9`q-k݅(zPqD.?{:%=Tm Šo>fXld2iMAhKb>jZ 7lw("'lN>#.ňD#/7 7teǎhh2Z+Ub' mj,,, X^kI`ҏPփm.9 ɹu@`1B(Mc"C.AW-ҽak9n0~A :]7RAĽ!8s?7 0&(.^c}Bs^B^Pcn=zT"mذeE2 |l? xp8x/3ɪh {4Y ӯ$E/3?;|IG^d_AF2\3v!.<oط [-͊(!qY) 8?v5Y1D( e&$Qfq o k/YiC27" VoN&/aF(Fa K ,,Y@#'D(cኳ:38>m@*-ƐB*୿4ePIڔmD( r%xS ]VD*cAٕeܜ™{ty WO.pVUi@sdM<7Tt4:Q4"|+ܿ#/l!,sPe5w%Ǚ%̼z΁V/o>Ox:t[C{/_76 5Y Y Y Y Y Y Y-e$͠\޹Jmi)l׆X_(r](DNk!$GU⇵C%b&_U@IDAT2r/s7Ss ghG3.o)/}6؈ێ#/ȘzhY:[Aԡl[9QAAI;]f4x[mɬE8A<ND6Y⛶ngݏw]>~b( .Sۣ1BY6/NG^6جMP evbr3!#e CKlf҉d>C;\׹O X}p(U}&a(ۻ\^=c9:eγ-`_!)P-JeX2>]x<a8c8u"9EiB8xs'۔}x}mӹVu,J3dIߊt>he-كPvtDjK\.O:2T*% $ #/eVj"D(cYFpHtz0]vE4!I@ 0ac QfR%?sV_[ޝ?]?37pVUóH'cݶ#ÈDlA:A*:&[ ΐĚ# 41pM5rgGxꑗ Mͪ neҖ.ib2dtF̫.8q۱2d-qȝ(D}]u&Y(nȡYǬ+q!ZvZu b~(GqO/; Ml!?FpE۸c! $+@ C#/- gEn 9a6:Bf/С ` i:2/ג҆q;K/q=61g$tcV=QE(D2YY}i7uϢ#u1:")svgO=&|{\ȡiD(9rʪk鬃͞heuS*^8!Zں7e !zBvZg*Li++Y;u$yy#/8ɸ>ⱗt*۸q۽{p^x{{5kָ,^ .ٝHr.\#/e})Y=_jQ4_!zۂ^ڒ ֊,rah5w Ĺ t;SF;\XDJJtzK b{§ 陨)Q-`A5 ag$d Vʬ\f38qzL'ɓxؼ;rj #Gԉf" HzBӻC'lЄd:6<4B)D(aKNTr(˙#U#/1g9F:pvuPƲ9R)'pL@{L+>,mCwoJ=0#IgC9dR% Bi9GDdq}O"vѩ4~=F&F݉Y gg/"5x~3FpS=Mg r*tV~Q@G8928A{ ]ɤSĞ:tH̫\l|-x"8mC#k}lйHf|08#/NLbuZ?A9 3\vW6oN<-Zn&|կvs1' $ $ $ $ $ $ -9a׉ bmev䥮ccWsF&2EPE!l]M[|Fz&̨'K Ca>5|v?IOqZQ*c>GIGXuCY _FiUFcH!)'ANz2SzG^J2:'8e|3MCX eT{jztӖ E Oo'Xϱ6LOKd2:1A/YߦhX.!ё|2EPu(8%@C~6G(n\EU< s+95)J8V^焬I6k)JokíbmVZCrS{*;Z6b>yer:"U%-_h~ҡe#/V Qy9ršQA1Ppkhn ݌hpcoˤXRX%%А4̡2F($.Xc02۬#/0wʰ/>0Jxwz!'WvMЍK;2u=D7XZJ9|ʏ$K%rFX dv#/K}L̤$,,Y(3:D@@pIaƃyB>2/Ć=pfBٖ%cl"Ju3Y9Y黖(&g1_G}HR\6{y%#xKK`,'CiQ.d ݸ1Thg HDrPRvZɎ&@(l?k$G^>8Ʊt:v(Ð@¸1bDcK1Q0*qIx`eΪ@P}[z}܆Qyop3"hy \O=@۞'[^}F)W&G2ET6TőLeYڱ˜U2 NvqZt9aNf[{7QӸD!^^7G/yNDT0;>r`'pWS/w6`c_~U)dpU"BY|%"ih%b|wJl%}Q0(}xgp!&Fgmf B+ y"ݸňPĠp {5wݧ?i#Owu׹| o|;sQ>KdddddddW22,k==NqN_ŭe0,t)f"%Fȉm _]gpb9 m/kRčNK׽Fb?QސWU^@zϨ~MH_39HeXgQ:t(;e?ʰS3?G)#3k9B %'CF(c+%s3O##/M)iŅuKJb,/Ұ`gY::> [s (k"Ba*Y$m +l|,/^lYP6rG(σeC^&[|feXK޴Ad^.tLOBWD%D6Ssmd!eUlƓ)ʚZ-C0Klu.G(k~A'ġlG^ҡhP-8#/n̡҅|:oGP6 l8p_sTõaJ|AHؗchv\IqY[I$]xOh[łGɊ0*PyYsW>}#8[C]J\ #/IVOǿ.YVtmF }]Ȝ2\s[BUxM-j >暑U$FїE;&-0#?&^:1r(St!*z$=~ 0كr :C:yWy}YM(G ʶ"B{VU,/ebF(㘖/}^ #uˑy3`(L= Ip(h{|eP.uuIٳHEdN3pP.y0m,3h%t9RC0goV R29/ᑗA>bp]W#BYr(3k.e~L$B5PF2䛆N2̥&FmjW{H" 07^'@嗻%QȪ3!Z2Ds_#NdG"vv97ǮwhK:Uw=&~pLVU׸+4:Z}ػIdԏ>/r=k%5@d7%2n5kp( aL"ϧ/CsO~o}]~e=ۿnŊx'P_B&MJ4 ܵq!.l}F([N9&nlg2mh9{&5H yPn˫9MډIe+s(ky3ۋR: &%ۍR82e\ IJ:1|R)d#D`bdG^1CN{iA: M²iLë́n&4^8s GRxCP#/hi"†tx$ aB*مiiسdJ3EF4k85m{f-a'":-Hef' $ ̡?r_,6up(c26mEnHpָQ}&)lbJ29&7!tC.c&IceT>MGlJok*X.doer((C.YՃp8+_q_~s7<<,G^r-+t84dddddddWB2x腵##]fޱ%[ѐ%[҄v nƃ|VE(R!^V.Pi`|CilrLNƦT"{bNm99dψm7#ɸ {l8pJ#IҜq#/Tɯfɱ[c}?.7/J*^QFLxqWǸQyI%MG^FfjD(CYԡ 8r#2~@3KjߎqMʸH7mk!B2xh qXi"QψmE|i}k>#jFibXPPzyտ^"c=FxnG^17m̔nڂ@p6eD2|nc8ɜ8k#toy똃s)9xݗrw rBeIaŚ=8\d؈ΤlSeC0,\bH%t,V錜9SF7,õ\9LN7Cp(KG^%5Y Y@- e? 11dt:l˃us 34E&e&uñf,ڌk3Im* *<fL{J&$w L5 p-1?LV 0Cٖ>B19RR2j_J#A"~=jm y%s2<=* erdtN%}T"2/0E5d}&UWjP.'#`^8R lt([#/u!RYJkPV= dXt9#/RL:8bP1}Ä|IJSsrDB]zzyiewB1.ʎ%hٰ?j7Z̉ejc0j-q0 %' "r'yy^:hj'e,,Ck]⺖3w] .p==3}G' $ $ $ $ $ $ 22{^ :~뚋@5k!kXQV|6E隑(qH>rQ+xq Mu29go/#9uH抐crM|?|=?sE9%ڋrԦBeb=h\;:G2)>2,@ Juѡl 4y.56YCٰ{~hHґjtMH[QZt#-\z:+N $d `lfSL?H&ӒL9dB^4"7Tn$L7"epaIE 6*:/Qѳv_A u/GNGPs B#0C?* nѡlP&$D{{p[!yמq(ÑǤ jl̫ bgIlZcL,F',r#Fr"Ü䠨#ZEҐg<=Ƃd*TY¨ # zxXi:1B_e\1hݽp([:fe<2B&4XMĉƝPkf :ڵWιH͍_8aNjz&2 E-${<ȡ̘YUljHG]39ffz/Ԗp3YfʨWLyi"-[?җvҥK;wK.y2d}EureX S6,iBdB{5/ELCYҒI*a!:@%x9L8J^x+N&wpRaa?{s=,S=e;r/ } UCozE_M~ϸ6 ¡ s(S=4.̊"^^ė:l礴@ג,*f(⾵$kr{FMe]'s([v+0DgL׊,2/@RcZkE55JeE(PVI,TcP'e5P#9$RzXCWy1eNe/EVܡP#/̯-(q@Z#b,.̢K$Kkb>e"+/Vd֊2C3O}eЇe)BYqR@Zew~j`db >6g.]#/;yǑ?i~s)Z!-E&B,46s/Gԃ\J,=Q lI#4 @U 6fIy*%&TV$R~K6MLyPLD#/ 2HB{{C7]fّPp`m G^ҡ c0d( ,ǭh戁ԍ.cZ-@(HSVQP.jS9TG&.)H,fb3ydYHyQK9I1dȳpÖ̈́?t,!jb1$ťVhs3<@_By2ܫ~ZK"Ct䰰[ʖ aZe?FJb n/ 7Y#0\L*c"@.1<17J9&ew#loC e=#QGrȓ{@c߿"~,'ff"Ǣ3Q{mW6ӵ|^N7=#BY UMȑgšAู@ }8bHc`#SV&* %e϶)QyP oVu,= y#/sʠ ><ґѧVEs(8 rTʎ$Ff+B4pS:k!*G< r/T [1*GJHJ e/EcRNyIYv4Z^LRhG"AZB5Gf5yE9Q0 6r񴦔./{I~z:@tF=و=)\̦8Y2pGted6-CY.y!//ޡc_r6?r'jV‹&#}iƋ!G_kT&罚2z6F\h 071I堑ʪG"w(3zʮu}oCىPfONeq_$rY h}{ܪU\OOsIy@@@@@@Kv$}x%d&$&E&Xb鷁"x,pJ6r}V`DIo}FU}),Kht䨖C"i5FF'W^4"SE?e_:i<:< +ÇGȳV$jhe~jj3ܘm6/ pGDx,R^LC m2X[H8eOK_\|)ˉS0PfPՏu_L\&U3M^0j&7XLGD@W^@C5 8R-L[PVC22Hef̋P&;3,BCYq4&  Y36J"u5>,W?e͏6x|ir(ĎMD([:'Bu @AX(lIGܖ;nu:ek_RMN xޕ5nc'LJf1jK29^C"9^#o2NcnxLkResqk6SVnƾ9#y~gdk}|@!BȰP/FCtx$x@04#l6餌 dD˂74ŲDs*ݪ ӑG^>2H>_&Wmr#rUD(2Pt@F6JE|[}gA)J)^\ 435Ͱ_QʶXܡ%KG^6|mA2lCś!8rR9P67S1)T|g*k&t3\${2|nPY#/>#7..xeVKr{bYYiXtOZۈDe+{S,udq'|-'b  .T]L&P6F-/G^&2o% $  #/;{ԯsKtZWqC,s;0iJd{vtL4Ire <9*1IK0EzIE^ɘ"&b#m99.C.+nlC~|m{fKD_ԡ\ʸ692¡ %PE<pI( 0)uٌs+嗑I0 TakL 먀 Gµeg~ܪD0uBѳ4o2 2CE&AF(㑗ĺ{Csûp37iG^vkTw` q Fqt4|b3l-g%R2JBrxM) Dm-Q40Jyu uKegG^ҁ̖ W};1BKPf&8x۸q{~3w /s9wݵ^,b܉AaWUƪujWծvD=$j:exu*&A c2CdV&=rhC-xv( ʗn j52VCVN4*cUkuR:yyiʞ Ñ< eF2kP֙:VZ9kfͲH,n0Yj< _'ӈ YyD2SP6/nuL!:lMCYCyU2ݡ̛'e p$̈́Ř1$524gP2Njp(K qc.3照`A{kX s(ێm<աl#/kŧeMݣ2>|C=eV2[T2 &5gԃg,\_vRiK8>F6~Ȍ@idyla UO(@bGFAHgz>QOGk1/]$f#e7Xؠ'ؑQ,|x528 mo7< z/0e]%Zt(wI}ߖC ,n."(1`!"0P1$@l-H_"̄E鉞HOH*&bM iXqAY 5&6w <* x@w(C H~ݡG^=4 -0vu2Af7ChB2P>w)Hv@sڴt`c0!(ޤ" Η|r{]MV^#{k5yYFzzzU@e* T,0,w(Cn @: >gU3>j|aL0':zhHkSEMD6'/71Vi[&ccr>^-Ҵ_NIa.)}o>f'@й;ԘJttҡlװܹe0M>#/C#y%h?U߂vꬰZ&/\(#=xe+y5t"|Q,+%-bl'3,#@Qv(Jw(3@\Pfhū;܅ƟB-P;KOf󸌾Ki[ĥ4]+"".ͧ"o7YLW mf;,ӤBE{_u%Mђ!P2,Luedѧʬ=!7LCLf"=|.u(׳PeI;(޷m:rMfnغWחoOP-cfvO;1DwzGڔ7s8iب2y)r9cpN=NSIʚyYP֭Pփc-wdVC#q^>ʞ"nsFT$\Bs.Z[RIAJiC!?AxUIr(H`)\]26e=*1CFLO$*' 0Y邙 gPv;(zG8ՑaZ>e=99u]p188 7%wc"R6)Iqh#w$`eEB;a #WҹL$eLd'(M@hQ/ I=ԨbxePFrhء̛F68e0b` [,8eITLz2x)T*"3e#88C?D|/iRqJM(jz$6dzL]P<0 P8=8墋.;Seez+s=R_Y@e* T̡l=^q2љ~~_7箤Й#iTt~h ]hJd/R|0-%LgGtz(I('[t`:IxUcQOoQz kG;p([uuBʞKkA̍" ;ّj ej5ʴomb#k8y{cE4DWs2ڙ)_ .""yҡ([P6ڡj0Cل;ےZƀ(" ** 𕊤RCU.3`1m^1s(6X{ʊl<&c# e:燡mӤ>8??+t2޺nᷜsvC,',zCكv >zQfv(l0OUY,#$ʗSP{̔"z}B5t n!9 };) G^pK * D lQ!yytu`{]%1(bn*qUM@k3t]BIS7Qɨ `bR,B=DVF&L fz |c2TFRXxbOgifC`ãء;t,f^ KZ_ԡWp(C}kmWt/eX:g\ I&YM# 4rBLrLXL.yC z7&r25Jb厱./80ʠv(%bC^q!]-yTyp(ÑP6Ђ*Jpڶ76a6P15 ֒id& f1ea4";)# 4AY޴% 帨+MGiSE8֩3=' 3dwsFXfKݡC@TO\~#͛7\r%믗;vܹs~virI'ɲe˒9c-ZW7"tMrwa[L٬W#/?8,[3R0c:QXG9g  Bu8$8:,b}ܡeŸD%Ӡי6 6c?TTCfc-JFp%wK#/*j;-ZmeY lql4#2>YH`MuU^F3,#O^M1VeMԆ1ؚX{PKC-weljCYѡ W;<HRy<Ѧ-h BmFvXlQ2jÊ&I8Yta22E=-e҆ U&z1=k!R{0 'St 4.E=Ae#;F 3Aw(\-CٷŎt260z]wuۑp%Z(5W ),M3stRgs0&"Qc#Kk|JeDez#HZh-*.t(ˎt.Сg`wHc̡5Lv9_.[nqrgȩ*p‚)^ᄀR߱SjR8k:Y1"6`ʘc#Oyvi$*йr4jFY;=h\n閶~]l_PcE>/>xŔD[,PY@eֲ9ݭ4pq4C]r'1>ݝȣ#ᘋ8^|f7ʠI `a 1Q Ea*#@TGӀ0i9lfz@f#wЦWp.ݠG1VV&z˝CzeTʞx:7'_RԐވSXۡLdImBhg0X FL* `VZ<)r3OҴ382>`Ki

      QKqqMD၁}[#1Cߤx` 0U|JE"Th1r\1:^BL켱Q%,/QZK׊'B̔p=7xYܜ+VG^ކ#/ٻ}8u_9`JQ]ZCٻCfT'.)Vҳ(ء, HڤM1ZbBizrdHeH\*9'{GԜ?GdUЬ_]O>MG18"pOʔ Tt̎<$af;+P.á t(}h%vkkX1obGV%EV^Ɨ)g4 AOh 3M(>fOCʈN2`z,68C*Sm"d B^Lyt(㑗NT#/eG^>X1u뭷ʹ+_eӦM2>>.k׮WWJ֭['===$CkwK-2~z6pv۩fܡN'2vA`5mAE:!a99;M 5:*¹r#X/)5XPZ>L˰;Y[7yz{џ.VIaH5q\]̪PY@egfPƱ!N0&2e+!_k;dA^\`$#׫M/3SK8y@y*dgb(> g ;j }hP@gtCm\[s=糉{Vz)y]0s;qeu+ óғV-:38_.j@yp58R tFFOxB񥄠l1n i1@ u0b5sZ1ّf$$99Tȫ>C]AwV8Y~wWG^][(6ál=~{ tYw(+:O |YB`/e,*)a*dw(c_: e/*UCU?7kez摗+y%v(k&k]g74]ѡMR۵+T1Q; e/x*6l|Fܡ uOw([#/Xc5 >[K #e4eRB%c\1!2XD"1b#yL$p(#] HuU9ET]p([_saǷ׹:CYݏl1#YxW1IlL!u~(hzy4DM Jj1V=|)VT֕!K(,]m('֓NӦC]U.Ca2Em OtϑCڒԆG86ˎP^ڗB&-Es .eلzBv=drM:NqPVP3M+y|}Fh4𒐆lVA/G iJ2;qXf+23\_ݡle<24]mmp(k[e[zֽ>6Fz1REzA"|&Ѵ% J3ZqRޠtƉw^f2=$k0 jPdWE.1YveGu@v({fءl]x%]w_[nòtRyK^"~02:ԛFHlxȲ22[elHA=Y HXLqG:kJ}Dvt=4ևi R.^y8Zl\B?/;V"]Oyt] Dz9Be* >kc#/Q35뚇#/0t]ȗoYˇOo§yKG] =|ޡ-+Pw˼ꡦIJ4_e|Ȝ@YfG^*P90%شs|qx\# u5WO5]=XD%؞1e/$[Zt(eء잍OyD^ :>Pvx~nb#$-hbv|1STLfJLħ/d ;˩CLu|q.Q6ÔX-c'^߳;a h n9y2g= Q* TxZ;#~ 29zEtG.]>;.J S<^˰͍"H*QFGj_WS99AnzSX\SYY^&?ME\30N؂A1HPAj'ȌzRYe‘MEĿs^r^PR{dW6 rGa ͝9t¡ /F. z;%l$hM /ŅlַzX<lŸXT#082EL'Mz=zPqPeگ$PyI#s׺*nA v( [ǵŀ6 G^>V6F% TJL36۔4yXV̩B;~A а:͓V[Ƀ4-!%'i:e/;㔞i\6)m&ynG\18_Cq<|)mvީ r v(ۃd"+$y_á1M*[qGPv~")^vĿI's=D)=nW3ϐ_S>O{lszQ`E'\U2Ĺzӡ@s( Gl С‘h:ecCxP#t({>d*~FwPf;աlY8[l6 >MDS[7.)),×R8TRULnG^t(+<С#˿yv< * Tٸkko* Dv#m__zh:@"BU{bw9^AOH/|4́zȎb ɔԕJ)aHP9a̺bb% zb 4bL .[Fbx1fz(„ 9= eCrǃx4XE c/ٿr(% +{Q?}\ m_)w- ;A+$cg%a$61mh Mi TJ[.ӣ}R'ɧ!n0=~k_vP΢2y:iQZ?ifSrCY BΎKQr(3u쮟!Ѹi7G^2G~Gj=ŠŨ );1c{r9̥i3v=? Hm`zJ3jk%nI޹HL*:IJg/ *Ba].um642/=:̺֝$}K8V`ǬkVʮ*ٶm6n?^N;4y/Vi vT>mNctյ@ef7o~x '6Pp#ܞ.Yy"Wl`慠Crg0˜ƸkpcSL 1JR 4MA(>&JSգeiϲ,`*ɐd~hTZAff'indݒC{ EQh#&cg\u nAn*2280 JQJ ADD6ChY*=Z PQDz{TÅce Gʁj,^ªLτr}d`dPqWɄg%K#/'Y1w.iFImnmsl`lڼ0w^-}8iz0G"jLzDOլyTH\4CHd.ףtAH$6 7Dd@! eҮ'{Qm8v(y; wIǜ5.i.oEelG^.CP``EHq9sFdN6&ٕy/דȨmR(OyT2Ie2;dz#r|}[Q=0k.o:vCxP k}Js&pM7$\p\veaSGW׼F:(| M-P߻WF2ۛD7Dr|Y&Z6JN[5I TZ'b(r AtlCh1F"$ȍG4ihG 粶sfS]+ T,PY`vY?;ed 1kFsz;XEy[i᳿0.x}fEʘ z\qZia#+LU̞Q&G*MJeWQLb6ál6y -d 'T>?Pyi;]rӥr/k Z<Сln\9d-›#{:ġ.V)fx<ұ( o:etM=|4le~76K/mޖaTLf?|P;ًG/87H'zoUt-p!ooܢUŸw-9eKPFt(=&8QdL" bPu^E{<ex4tde\>lė:FA A^_^ʡ,S]+ T6OzAw転ЅdzڥpZa lay@8@NP: hV_;8P7P*գ2#@u`т:-PS=VP ,J}A!CxM鱯VY/D> w'.!1Lm9`ȀP-SL>td9*3oߏܹ&k]|;RNڦItB-+ y'FMh-H:cv!q&,7R\'\ZL% ^LO i(!kjqY(\!a3W!#؍c008C<PG\P$!kVa0kM &)⺼AB?J2obY!G=J^I>.++?өH:NpExQm]bH#y1,lO) 1qYG,Oy|,4 s(n|so(4¸\4/kCYW['r5KB$Q ̸H(,)_D%4U".#їMR0K ϔA|h[0А4{=O`+*)CA;k(hly_Fg9ۥM75xplʑO'I2O㹔 I'INq<&I2OR;Uc|+E/:aLiqCC̡l6ʮ 2;UmcW:P& FQNJt;<,X0ӡ,}b㑗'\ʁ;E[vGq\#N9kG]wji?x..b1 |Iuiz|Sa2Rd!۴ [aP^q*y+T9MT# ܿgwɎ]Fq k\M:X1'[T*6vR* S@x BHH4O>"+DJϹ&kR`ӊ;(ҡxD8 RN ňQxYڽ=2C oݲaXɋQ@OowBZ6t uq(A;PهgRzsQi R0'[J? QfǹY3T'(zP^R1<м^p04C!P{4K'Ky6Jo28:lHp([e~Vn$+y9+:^ڲ~;D&T4@);?qve𲹔F@Xr:vOd4L{p)?8݆)SWS=k{bͺ{,qIQϓgk*"gMzΝo[>u8q=''rYoSN9E,Y5zD Z!C|YFo8ߴVBG6~'R=k|/D.K Z "IC >+4!M4Ҁ,rB ))R3P-cᝢ:aMS𡬦~ZJ<GN+iةZtTqefd2/Ώpq_lv3udbcDim9ruC1ABQŪ/QXszT!ף2n}:GQZ zlTR}ֈ^\J4P[3b%'1}AA8^!9{h\PW˿ʾ(g}8`hBJdl$d[Tq|]npXoʧi\kJ|.7t4U]쩖Qy2㈼M8rЃhlxuw턷`lixv[7 dd84/:uѡbR0 @P$JIJ4T@AOR`I@7/ma@Xp9]:h:;|_!\a`[eZPC4kɜ)dr35ab72y/)co7:GPtxWDJb|ҟmCU}.+p [4z{312)a%I27Mf— Ʃ.IrZe,!eDb+𫢻 1ĥӡlL<%d*UY[ֻ[ٸ~DkX-v/ L_]*RN48\cyTLe|k)`ԯ3vSJƂX u < <, H3Ҭ'% y砝v {wm v sp(q_igdQhdlX!Gd@CsGIyc'1js&1Cwv篦Ak]KOðQ>ȪBZ; _i46d;C2-mak+g=8eL YWf1qAb˥&-=j>pf`z-]KDX$ꚧ''̶EJ8؏bRL@INF]OxҾ@Bged?Ηkncy2v*{/{nj8xK=vg|?z(_62ىwYpGbk:.:9㠊HD.~gp .4 !w2(AR!VH4#=&oDPZ3mstf1T2a>Jjzl"p)=ey 4 5C$*EyXMFנ0tAس>uXsZ(HF qQC}©l"ZX=@W :mmACx!^r]ZML(u EfB Ƞ.ߔy5S~¬(JH :e} _3י'ו{vm] ^QUG^rS,Uq^l:߉~ u/kbSg§j %zH|SQE$h_lan:P"cq{ᓤwKc \][c!>WF5.4p=pUIvXm`}.%',ބLTp^VH!(X!e a'tD\GeJKZ D1$b}\Uµqv" G]˟-%=KSU,Pr _i{@btܥҾpuL^d-.& }"&S]隚tgS}.E 2dmOj0[!-mا ;Ycst(ctH_*=8S1.O~\|/~Q֯__QY_Wk_Zy(z[k˾._\ݭA\'Z|7v#[05~٩:4:EV|6ؔ[/%!)Nic)cFBts<1T8.n0;J2ٽN-M;N&1צYNWtB/4յ@efMo*[] (͌;Ȃ>u58ڇƾ˜69W q^gi :Q%EB9=(AXУ4&#RC'M=ZISD.ڸ}Pg$k^+o6 ͯr(S{}{hȃK\,Ǚ͚)_QT35ofv#cBo;uɟ=TyѧNZ,@mx:w( @.]8Sg[L4:ƞi`Q@iu&| <RLTـ%a2Qr| lE<ËQ,f ~mءϥsW,P~92kssG  ;/-vm ;TLfC<|E]]p%<4s@IDATzqfQ_u{:uu$ 1 ^Ymq,>~dI>B_{d~C K)5d35ip߸nYmz^sUSzʬP* The Grkvt";[7:ů{q0K|$̟pұ #4@Sw=( =Fvuh:;l9W#YZ+2 cBW1a_6m{X?v‰*lP6y_1CیR+" dfHx~ YG CS "IqhY Ji%ʰ2!>o']O}zBg}K/.H~̽h"ys+gq<ϐpJ1Sveحւ4&m؍ 6C`G2J֐,6+e. .aX6AMr<|zT끎P/yyBQ_iI:#Jm`PUjd8"cr?4>I >whjS p໡*Tx-pm[_I6n{S Ǎ%}t^ ,ǝ0xC9׉] b RɉcES3u(hpU,a9Lpfi G9V&+/\HۨLjo'Ta95=5!S iZAM!{vK>NXu&i;m|Pʿ᜔?Ѫb  lF'D85M>TǪ.V6YI4C~1] )qp((#5(|Fw}5ώ*:}]>*tZbލ-a#ı䪟oX7"eN($1Xly\Ki:fR"y,11\Ҫkp(; G7Jjod߷[[@0:BXNek<k^l`E|LfC3U&%A]0cm*-[-]e~z\:̠'V_ag.W;|MPfu-wc's=kW0̔ot[|a&e |t W:`<7^uÉg>M_'V,PYe-0:>*rэHo?c7Hkչ05BȾF!_`tI;* \o!,[zRQ, @wKn]0k:A $LB'C>Is!\}Tl['ѫv y`}c wkC+v|L>.Uh] d+dwJʮyڻڥ{!^ju۳6}M Xe =[N<@u+% ߲W_͛viNū,_'Ao* yr@lGx&}s}/Z0u"YAkL bA^wep (R(Q=h:z,ދ(LF*0p'U@!0"SV\/s8yJ0KSt>vq##b0m1LO6aqMNfLqZ`_0@4j 2 ¶mwchIyVoN9la J}2G2tǰ. Ѯяl 󶙦'3z\F_ĥ4]-|.Nq|t,_+Fj-c 79"=_6fֻeү"p.k,4*aAtҎE x 1S]3 h.=NcMe-ދS(JMR0Z;^kMK|hWka~ڮJӼ=p Z3 t2=v<4Ÿ/N))_JHf"ӥ mrAa-%7  * T`yߕ]Q'h_| Iw{]+FiAp\ YёFA pez(DrQNA,0B8q~5Hx\ГNAPԣ^e\T&.D<82 2!f5@WG)'>Iqե-P߾7*ꍄ ak~v*c Vi13"R$&4"B'ӣoP Ldr YE(,e&?DB60zVI@8v=)w(;޷f|{[}2z2|Gဲ?7~o6H h88`'O۫}pq6đ8}v ed[ JRkEc,7+Pi3fݬdiYbYU'zU'6%k"$RV0.7a*c0P&8aE+eu3`IgK1 X3ܑ'?wy~W>mkG}u%vZu4՜zx亟g?/c}ևpbCJ>ԁ4*TD%[HťB Dn`1VZLQuf`K ڮT65@d[J CR]49ϝd򲗽L֬Y3C8v2t6:r>A9L#wsN8F/|Amuꩧʡ:C1yg!? AE?sdyDN@c@<`i'ףt@r 2fz^@Vԣxښiϕ' 24IuA6Xv']|-Pda{ Vo\q]K,Y1G ^)I~//%nǒy Zp랋Q&Gqy5"wb@' m]:%^z m,E)piRD4RZxhe櫘Ykl ءL=1t2=V҅uUy]UnY>6./7+dwzˤmB8m5l}}Rݜز˼HygFjr~)7ݻ m!Yr &dq?s8!b8r| lݡXNx^G媫WUri1&k{X_I7n]:Qŀٮ'h KzM:4҅).b}&'Oc(G☜@6@#G@ԓ#eH$8&]iSc|AAJ̸f {e7N;9o>QN%Lߡ jFyޏq7.e{*|Ƈ4Q#'l4h&l:|er`"Ig8i1fpe|.;ŗȗ/xt6,nދ3jLGӁIS@ZM ˶Vh c/KY_إl Vdiz"V/Rb9R4H7Lu9kW;Y4'cwҹSX][w/#?:37E;_3m%0;*'v`G9> cVs:8u.5J9] b/F}8>n[o,9)]2N'<]3}.=Rw#"y(yݳsY%* T, l"wd׳^ ]AWIo'1 sx%Qtre`~u$08W(qc4@AWѮ4hAa' p=tk]Lil=fx1y) 墈2=P2NV@uw&}g8 LYqY%}xYY*/-4&|ăӨ9[Aܥ{44*Xy+mAKPz:ϮBłXɟќ \kP>~hELG˘As|0=ZʻLS `fb6|Hٵ3w[zyFkKm˝2|ͧd+>B;K[>|o_Rz.kMv%Ry{J?XХ'L%]>2Gev_ o1b1i%kUgoBʡZ$zh'-듪%* Du|_uwi7P@gt=3}Aڒ1$o\<n?_cN?G?B.z\iaDwfe,PBq u;,wm{{ҍ_}spڞ´(p^yϕ/lv$)V5jl' brYֿ y:15 {ڄ"]1ߌ3KS*]QGʗtiHWZ6aٰc#^ K:ow!sxGh)~2ۥy FDŽNFTNFxoC>+M%in&;㕷+ uA3$`T(2R?; JK2]̕ |_sxu;#C8.̯xsS剫AU,PY|Oȷ.@?> W;: O,_"1Qs{ 9>zC\= -$*͟vvVC*'\qXr-4Gu5#/ 鉪HLY}ȪVē,SǔlmC;!kU4ݪ:;%Pt®s*cp&k%ǜ=LJΞ{ .CJ[M؅U!z'27zf@O@>zpf)uEWԧe1OM,x W\ ݫ^.k^/g▴@}hR8v彦sk(n93P\6ّhL#XϿHX`mKF˝y%Km.ޠcA0'JݢI/ODODᵼb9լ%o' X=F*E m.e[ E}c8o}4Ct,! ~!nڥs>dT8͸CZ:GcgP$Tc)O<_,;H0tΠchP* kX QJ=Z '詻2"8iTB I2h\BOQO՘ T=0v:ذePqԁ*6uuȿæՌ$&n}RĚ < P$ٴZH)y#[^yO{ Ф<\v1rʺ uvrdlTdۆÙ^ BU;O|O*P>V,~Ri|Bz~,B),IܔriK'+t|^󳰌 `lG63824~ǎLҵdT;V p!\ cgB8~{ :/QJ': r.d g2:xޅh[G/6|QZֶm?/}[mُ#a^9G_1_&Fȉ Xci/H2aR/2_ ](+Pԣ*CHil [Tt9.R8:pt&ۅ]P{nf1筐 ٺ ( dIgaWS[6\/WB7`m "mCpHїms`K9C ~S <&D.O m2x3iR]:mIUxZ2"MTʲ8hzg=nX4KuaB#+&;>ۻ 2zIH7<8wz<믗 /Po˽ދ DŽtx^&֭sC߼;}^Ʒlɯ93]ۂq\MɅ AbHi`F6 CJO\&)LfFazCb"tF(+xlk8vvՋiϔS館Uqhkt~&z׻SOD[ܹSnV7(Ul<}% ƿ~ryNkw'r~6 pgP\X*,0 >e(dpbΈC]c,p'eCnD)l͇>$s6NR6YT^br=明ϏێX YiR92f!k0Z*D=^2P!hb_dQpB'lݽp(;C{ezTZuWJ}dԜ=YࢳLv)[o:pf]֔O)dr359 Ӱu}'gx` 4 Fi,usyٶ{5Ҍ-οNUw^8%sKJ:Α g&2NF>C`jkʗQ`kJ }fYFeッ[u7ܓ`889aW2U@e%^X} 0Gk:K^`/ qÇ^pV s8JLxŹ@4.RvK<ʫrԏzL.9wWP šYVN Syc{hlk%ߒ;?(ݥ,9J:tJG/:~Ff7g"mAm6b>$b>2L}^EپM=B]:(D:HU>TCzTz iI 33~$v&{2|3xpZ8<*^Fqq@L[3b.9flx`T䲳" FLX((\8fIVc.C.hY1;>Wyk*Rp(OUg m 2Z!5ɺg\rW乷4 rtp~YG; R>LJxF<Ema&E2 tLA~> e3(G_. e{((e]iTe>Hd/dF^&iM;> ͰT?Nf>(6 {qgI *b /_<\0m s*- 0Qڣ߱)/=]iMOZ&[TZL ]؇1'TVHN(؇-$hu\~߻fnH<5cFDCn{ݡ_#[vk }߻"fr@MBp4\aDZLjxɉ> k]AVs6Jѝ1t>`T6ϋz9YaeMZYߧ*y:9d![m$ଔMAV΄]4mk}gh{% egB04_Q] n\&0s0EzD&xgHtWW :S[0$3<3ux cI9ɇ3dT&=s<4ÀE>:ٷoN 3'KsyKm'%xOoU<4r,L; m YapT+viy5!Ǵ IdRE>4nNZhq%kp`A¶q0ueS"qKxO!x7ʚ`X*q{K~48bu@7o=~uk,txT,+7xBX/BX*}b6ּ&eqIpqCf&)'Sr0ga0Tz.ϓEւĈԂ%i0e`({C ދtX,-ҁh :IWVWNS*M 8|Y|9K_]wro etuIWK`tGtHIޓ /PLkf< @aL}*z͕vDޕr0bbiiELBs2h2+A]>fcfx%y29 zUr(Srۚaŝ&M<~/0>QJ#.=vh3տRYehTlBW)G(PU~ DM.Sb/[&h96cpqi| rr0.AQM<<gܯ&LJH3|Ӡ\}%Mu"uҌyn$eW JgJߐ=i>8zˊ+|d]w38CrWdl%kW}khk{B ϙrvNAI2tR4S@'8_+(bUKy+C "yICey =8@@:9`n/{O8)?.bHv' ̜9S.by P1 555*n0d2Z./G!7p5L*ѕ`Lzh>nE8TG?O<1}(t~z.WTTⳠEL*ѵ29' J`}[30#ӕ}ws 9WK2Qwb7.?U`HO:b$Qg0Lܔ%suӎ8C9znM&!v*y\3|WZ-ا0J@N 6465uCs=\74@hFKr$n}O#9LeOZIݜ~Cxw<7J]S1ks(B?#}!(,Z2LqtMr#,/*lU yjOy΀c}b3VȢ?8xxn`,r\6*\.}RF l' n:h>PbR,``-(A'yt3}^jNJQ|K}NS6Mocsvo,9D8U8O-V1 %2`S.qbY 񗴄/}W֙pu56S63Ϭx㾗gMOח O`pn^M`ݷkf*ٰpKWa& HL&j>EΆ҈20߱V8 !Bf"rixQ%F>/(G(KHu1xA'bt#)CKD9Ckq?rNU,dB@@@[Xn0&yk;Z>αF.br囼lJ JRʸ?RBh 1dTgӥ35;;HZJ m>\ >< s; >/#0u3 Fz?IGLVeP$'-`7ݓgj}`M%PYwJ§mzLjQ eXa.zDzݴjN%v!0Q&86O FNkɚKP%S<dQhqe7;H(py]a8~UT hFyn ML< ۂ;8RrVPăzmGIٞHA!Y1 ТOl oI/Hڴib2O첋ީ| /awW3WAO3_nƷ98@w\ݙu217b=<_^Z\ #?L||M[сχĴ+@|88B+'2">#>ZB u70\ CrAI k4>FuD$ڥq4^V[e5knF$Vrs޾ e|!|,\Th^AXDeܔ\dvm˄L M=+O"j&Q}֚'xc&)o >XϜ]L)Ķl `q_@f߇'^Gœvd\F2qӴŦjNó_?G2O#V@̯#[6e<^4H*L\o,Ÿ xZpGsO0[.эτٴl쩸!GP!M$tulaNهf7,G}Z;|¸vf:֫x|0ldόQNj fދ'M ,eGlP{IjfϔZ,1L6=wacoPPSRʳHrae0g0N>i/$x1CP=upx2I J131 w82Jh.:l*}C|#K҆ qZcoA;ݾ eϩdAx^[],Ft!tc Z(̾[31=2?iE^,8 QFXo·ʜPQ:|%D9C'e E#6WnIe{W~aOl*-|N ^ 4gTeS}R .  @WM~ծvh/&Y@iYW*۔Taf-d LVG7nLK\&*͹n5=-aD/7ޢ&I$4ǔ‹/^P<`7)s 1@kԿMQXr)mD}m%&)k;tirƵeá=<űH <yQ[g iL8VJaX´RG`^H)qqT8i]^NKN}t uXߦco"|b04h5^3d.e2x~x>|<ePr bF}y(sb <$ *}||:N 2 ;!ЕR6gޘZFB SB|B.Sݤ|l Lֈ`ŇDV\ƽO4Y>Q >q&O<=Tĕq5'-Z'# ?jA듎݇.XT*[7JeKW[ 24 ĠmI3mڴHplrs5NPd(b 欎c(ǔ|xd]ț ML8Gہا1 :X\O&We a"UF#E7B7ʚ[_Je8WQ KmQڃɊYjIGݵ ]χq\-z_)8)>(9p$;7xSh͆gqp2uMӬRKKh(G(B( oo>N2_2+=щLH=Tȧ#28ip\-p׼ e`ֺ*ozo8[R5ܻV?|UW \~rj+U*0a*uk&\{5|;QWTGV.\(wy<#wʒJefRcJeTP1c|{SfM e|ٖ@u}<͖yΜvѫH4w;q(b--۟%48IR1rq0zw|K+ry#-l88w77$Oa9|Pk6t]hgtX٘r?9M^2?gI8| t# c'}MhdNzR/r 0NW+lvџl\{EFcd`LF"O7xEV:^\#&F+eYkR~% ۔5ܦh4sKK6鮡xR6)=yCKj{H}^UƊQgC6_Lv+7}8i5p?G8 &A c0i,7>Kà]F}uamE8ų_-Cu;-YJv P*Y+qzVX9PJm[. m.l6NjxFx% \t8!+oljhdH\59s)$$$ ;-(E:e.ՄG-e\TYE"e5_A,q뫹Zqc,|Px͇& V hu|do+\L9+Wc ɇu&f^Ӑ䨉G߇\C iZGKeRX篆PvִHJx]6@ndTE4=!6Z|\cR7DtuQFAq|\Z6ud>73ypi|e)~3O?ۂ~Rw)y e@N:YhrgA$GqգGugPn VKd7p|W%0ü{tNqUUҥoB6_~8 /!C{IQ>X_(O#ϕi J,qM_U8 p()ѫ`HI[aX7dsm ;O(-x0qL4֋C)nBg!4>,V` 7iY3'2w2c Y&o7Ty8dQ4`Byࣇ/˲P^*(!x!Tf: J,; |2yu/^i%۰mĩϑ@A 4/bYQք.ePBf(KD^}8ؙ~ᣚ~eK9PY @UQ: U^/L[n~ڑ6QgRT1ZJ|BHJy"3Rgi\)1*/Ds6.\+"<&tA<-c"ڼmw\8 AK3MKl,T%օSL^!=i4[;R1 0Aj/{^%^!5 ͰkL=ض vägrm=ƕ}شrn/v/tLݛad=JdC'Ncݛ!   tP\SybSւei XuoR%"]7:XiV10n9/stkE76;,w,4>ZD2\((Zz!e%V$iނHBTS|nS/<-FhU2s1b7/~c B@gIR \`!-ۚ 6mH4nt|}uCZM/F@~gQ촹[Xfs1K&fjqqDHZLވs<= ,} K3.J>b))zVq$Ǜ͔* P*k^lїѼ"Duc3PmԖi!4}b͡gdχiCב]Є?".e\膒d~,rib;zJÐ~Or)?JJ&~QJw8L1 T 4a/n.uwFK3TT3*ft%WVV2f̔B+U,npxh-o]sͫm/bC~~ZDb8f\wq@qUBZ+I-/GHbf?eZ([+P@Y|M1Rsd]jt? \RKD+XؿY e T-{2Tы co~3E+nW\qZɽګU+aBv9ɓUyCr9syj,+++ugB>/Z;sUW]%sQ}٧UE|9}v%@}Lye|0gYBp8)#:7`0݆0{v%5X0Дa,,18Ѳ1ug!|Qo[lc>| գ$*JeJ9s#Нwͥ#~JSĔeɩO+^S2ŰXV_KXCy1t3%HdL#ϫbX&/Ө?)ehhF4:Fhh(-Q.H{VʎC/=@,X@fjKa1TLfi-j12*bQA8 ~m5e2;Y`{ĕCkx> Vխ5/S57uvb}עdpoY9VnVw$#Nj/Ks/IL bY(v]7}20F'$<´Buh7*UyUqԕ˝xa,a̍عnp&-`nZ-2$7Xh'P< QőqKBH rIq_}F eZ+ %x^Ҹci]w0x6עm,[TFl6Hj~e_6"g6`JW xs[>JߡGԕˍࣼ LJA9LѴ $ ˥l/qmRP+\Z@ڥ0ei4-D_^l uuJ*=Fy.Ͳ48%*DtXvS >G<·R\rR(^ڤ N&JKmL\q7k^." |*CGJV|Ogϖx@~uF#FG!wҧOmFT(E^}]6m9VmL,23O'iq!CM2|HP)اQ,ǻ|l:> ; -ٜP(C".%'%.+V+*2P([j|G{G#ׯ_?u/I7_sr?/zG?R+eέd<%7,LF[o ڡi;W^yE?)]*r5h@?rWEGfx{2xVB{K٫䅏˛ӗ\\Vq4[7ޏRI3UW: J1k? :x|/|bFi1Z kf\]‡Ϭuǐ![6;>Ѽn8a,"=dQ }'bmx>c$ Aa]zr1 yo2{\YSZ󚆅{ ZI'(bH58cgj ϴ$^[8ʣsh1G 5&uNVٰ^CeAbtW0p dhBNw@ fsBiZ>6L_dž)ˠhfE{7SVȽA u5M5b# ނJtP{k)+v"H8WxB4Hu JR4Si^:΂^ enL$Ǜv$eQwa&CVa|,/iX~H3y:gEYs,EVJvAJMo%\$קW-笒+k.՞M:jONJC:>)a n2p1\rc!|ib]2/T#B5id?ػ,m X@@@'H`E2oYYJW2Zaf q7$є[0p,(AӖBR&-wH$U6yk@!aoM EZcT xzs"-ʒJWOF!vk8B@ڥҴ [+ޖuӥ~%ΘEK'l wӿ݋gh(=5.X"bXӕh(/gh- H8>4Jd;fdj"f,@; {Ja@)9..w{a,BCq% -kpvXּt4_}O&Z Dcd#gЛ85;XQ\V ܸ}WҌ,VJ8`b>$mf8^v"p$~<l݉!=(w{/( Fv;J!]r*Koz)^իWe[N?t9eРAXE?JǙm$̦OgHooX_4NPV؊%#m~cEIԄL&ڒP*Hr&4Z!\0F8:Y4Ɉ,@FU C!I Bf`dw| eKlԩrm'|;26J V[m_~Y uJ^&@kbtϪa9~B٫ e_WB~m?~5bK/X㮼Jc=uքʲ$PoP*{e=Vo 3[SE ¸'qR4 / LxTbuˉYLoiq2DcoQLw5| Z{(=\[meqi# f4I\B0*:oQ*m&ێ-{]'PK ղz|f,[Tկ:K]SS3~\(LA6;(Eg;% EFo8A L4ab9pFEVMQ3 ^JJ@C-/#{l%Cཱྀ0B@%>TU\ әDhiX e8ۂ+5GƮCL33Ӧ\^来iy>n;? `\]ڇ"!X>)XNr#'h { æ8f%0[p %?-5҂9il}oi5kᦥ}/x̷e wc>%um]U<ø2xўuzrɅ8K2$.KI2"^|L5 +(Ţ '8=ۯdNQB,Yi6B@$iI$2uZl,Z]#kjU$uGҍАu-FFa7h%U F6gbaN/?^ϯOx0#!詛Ғ"Y^ Kd2WT xַB,(!H H H`SJWծ+g4ÜŲuk^k! pq邂t,ǀÈvB7tr[0j}\bn} Ae'CZHS9ʇIc),,P$pWw X=,~}ed'Z-z˘g Svi>@eHKsS5ޯ` n> U؏v]D۲&qv?Hm%C@"E)DsdUkUSJ\|4? )u<ڣU 'XqO}%O O_RXkW-읤:!+o P (͒`Qg3,ծTIL9gh:y6m?|?eqc^Q1%)h(r(a4#h~LX[o]{*E{R dJmpi#U&;駟EäI ׾5\Fl]14}:][7!BiG-lv3.;;Op~u@GYzǮŵƈk:* X2ba/x(ʂBYAnWQ(?<3`wv}}BO_&-J*ٰaW+믫u5kȵ^+T!VB.2rb]n~:gx@-gjZJ1) 'Qjoф>fu?kf.5 i̶2"/.qGV'klI):3uGisv]/M1SKJ mX*ˊWy C )DV5'`&Q(ˬ77HM^Κrf6Li P+uR'niݍ'nuKQި0}C)௙T$c?uxA;齜tB@ŧnmwsQ߈`-ȘjuwYN6:g339&2}|YIᐖǴ eQ+5qS;R$`g&U Ci2ҵn黲̴apL!|G2qǛivGkF/XP4mX%;Y{@y[ZLWbZ(WKԫR> wG7e¸tcp43a\0~-׿erϞ=A0A9%ͺY,˚joT-? ~|tΨ oZfnI20iEМ]dd*2 @vqҰq,qkYf]| s@PqHdүdRn1fQ(ۘh                         t' ̘1CṖ~:sa 'urVg5P<_z(B-y[Yo8#'L`MgrfSq AHR>`+d[$޲bzhB:2Z(#L%B-ܢn:,ߊ+LTWW˥^*wQPTR̙3:?uO,^d?j[|1禥5*Qo?owL]&y'_%9WpH`(YyƎ>GP(^@@@@@@@@@@:j6>X KVRnt/ ]Cvm7uoF7jTO8y@BٛPIPDR2XSR25Q\J\,Wy|,e5EM£BXL/ ^.J he[Xk7K2OULiPʨPFNIF \^?OםwީVN9w#nS_dBz e#GԲ-Ac^Ǯj9蠃t\^SE;ZOkVʮ*"OSs=.ەݔ)STetI|ȋuL #d -Z/c>}6un iՕ *n ZP(۸ ԃ6hI.,i5 Y|FO^6"@:H H$@s<=̿1UcJKNH    l !ߍS5H H5 pτY7h 7  t pN]&Tx~ SNSft"׭B\Ul0) e^ #+M)L$5xI\kTj1beIGb-ㅈD =O6sLFePFjp-vP(K[7_"?ԊaUUU*~+B /Kye$҆ }U嬮msw߭J[o*iYV׆od„ BUԌEq*jm, .H]^z%d]wM) RAVt]{ѿryE^$G}& տM NɄ Ю>vrA hvZ"<!H HK}ן}Yy?nTӄ=_tחba@@@וyZ<]rtM+P !~[f֠B_?KE@$d,5455"/Z*Y:Ɏ=X9eKXiK./ ϓ;2՜LpX.&sh7 Xsc*OUF7n'~ӥɮy YEP([X(Z(cV1,U eN"N+\*?oӚ{ァViukY*O;~'jd_*^u=H*nQ{w|ߗ#F$O=?:uqrJU ?S5g tmɕW^.Iw0xw'=<_Je/n>LHoWE~k96Ǘ+B86)1]>KG eҚn@fO.[LO'GC$v:59PTP~P!nnP%k!< !}ySxu <O>DOCoa}y~5H`$z|Ț5s6EB_ q &;wC AB@>3g<#PA  r| {キ P[7_Sm5AER=B*H3JXtU\(4Ei^#B &M>ԛ+P^:d^f:WRy,B\BYB2XZBY(0tO?TTZ:CSI.y\    tm P B6l# ڕ ȒO\/^D7KKK]fu .xb3{`eQj$X) #_ Pnhu_OYYeٲh^P(kM:,H HJ ,.@g-8SQQ!UUU#GBł%M-09SEEE2V`9X)KY U<34%2WهzHOo'p2%ͭ [T'*}=C:>23P5dcq!  l',h x߯Բ8_u[xpJ 'NN:I1ح6Z)C PAX(3 eيLV)!0Ŋg4Lg%S8i7tcq^ixxgH}#Z(kR:BQ(k2M!`{^xTC_/We)*AM4)(拆tgG8Nr,ʇ%\[foyHGQdtG?1ce,1|p饗*  nuLz!$YW2sY.k}?3:Sx (@skQCt'կ~u*̙39ǎwC3qBYgJ3 d cl.(1H!\/ ϘB8؟i +D}P\$2/ M#6;qp?qr.1܆F[e]P AAAA]G\4li6jxߚu)$H  p hbSϴ!$$K,Quѣ5Z-'TAJiԩr==ZápJR\fIL^ o ejFtM./Law4]r%z? o 2_B|A(r')z8bTf -O,H`$%E?L:n8eT+e|W'?dJ^}\?=6mv]FP([G  l|r]tVW@>~yᢇ4B@@חErŊ娬PL*Ta0k`t1!HfO< f~Aں3Xa/JĘ-Y eĂ`,E|8V:{ԩS_FǁDg$fNAA@dl [CR6th> M+niN=//ӭh(y *gyF.ĩ)SDa/}I~߫O}L@@@@$asz5h~BzCn} k˅_Vu`mVwMZ l p߄/Ylc[ MpH"pXwyGZOc=V7Mg72PP-fEZRř9;Qq5h´O3O 3T䬨KIAS)}bCBY](z=R*/8OJv5' n(~o[=@KYO0F[E%[nE}Q9[U.v]wɿ/9RxP$Xh}BX@yW}ᇪJ\+**G)Jl~K.U&7 ǖظFBYWRܯAA[jjjpv,\(\TqccǎmT!3H H`H4wZ-6s7nn5V+ewDrI^K.D7yb'pWŗ\,=+{`>e6hz~_`JK5qAb U  (3gy@\ IXP ϸo9\~jT@///#hl%!$x{zHMx#PܮP\ȟh; # e[2j[{+ eM9YvU3 FM}>v {n{Ę1cnDk@IDAT(ɨMP ƸR./G ʲEmsh!J>NAŨ2w%ŤiIr7{OV\);S' {(t]ww]YzuzM-[o[/lXw+RzYO3EvlWJE޴.b B TMdۉ$̱P>H H  M]Nt:9xn`'Sj+T8@ l* t_b%XJcO-R1UJ' dxWt:OtkWr=]&P$$$%@EO?T,]EFTm\^eII d{߷fΜ)˖.S+!yܑ>^  Z }y9)lsNT_'e;ٍ@Dy~'&Mrn޺ϱvZyUќɶ~˹;@~ڕ~Y˖ʩ^S/1/X.RUBm}בrw7)'O=p=Ie@kC=t-XEgJ#E7y18ZdXFJS BP(Ll'Z'=k^\(\L,a/}C6iz޼_ˋ qz-Ə[^H(H H2W_-7|^:FtI'>D&ERAAA[ii> nWͤq?XA!$$%@dtwوy챦/jscʄѣ\2 /ZjYբgm2j(2dHR% ]#>$w|G+>h9dwCeN~RFl[紥 ety*CiXl&D"kk Ӆl1D| d|8E#9|L~S(W.>II^|ӂx󊕰P($L8&巿?(cFlT^[o޻]V|+TTl>~jka+e N̝69Rɝ9v4~˴CP! M)N*<7c ⿐R87vX5 h( DXv~X \OV 6) D P?fi*}_7xCO*%n"p}6>|pB -L@ȓH*-V!1qۉtJ3_ h.˧Ϙ!VgEݖ踵IZw-\8%Ă6xv.,B-ZUp%;NqN\C={qU]S/)l P7/_.?vmo>A޽38C/H?eJ;=@ٳ)5@ ɇBYuyigd9RrA,G+k,Uf91; Hu/aD-nN **n(6i./[VePf!,6 I'dd,ͤ"*m {\y.7_M>];8yzfW|0Q%쫴I:Dx_j0e( i*1ePegJm&Bm`:K6%(m"A6AA_iZ{NO;W%D6c>͝;WQP 9[rÊib6 w#U; 62/~ 馛1\`/hsrYgt=Eyf-Å{p:?Sln5'$uYjSQ1X?A+eݵBhhhо<nlLi͈cH3{V»/ش5ePʘ3{*スE<7tЍdRw}nfȤIdv )B暍P馩V{ljO-?rs='aAwm79S"T&{g{QaF$R({)6M0P6bP.KG0v/~M-ǞF!ֱBR(G-_)MAY.y;T>2N,B5Zʘ6D`18* 9BقEB*KKkb./rȅ]:˨K8iQ;k\~+UBr Otǁpʍ7ވ9'ozXtIG i"{n ٽ23k@@@d  \O/~}!$$iOBm|nv ׏]؏ٟ]`S#GHlp pk7 e}ʥ^*wr5/\7ys1z`'D@@7ƈsYeidIa1âD bAAY|_ C35=~^ˀRB<£Zi3Yv G?@w$+e\B+e( QaKj Pq[nwyG8mtl,߉Z#!?rxw?0'tM+t!</ʯkKMfYY^S(3./zNWBi;3q2h?#LvZ8XeԿA>'7L:ؖBcELp 3RHY@}:2̇ˌgPBYQlAm'X(˔`H   to Ѐ̷-?)\DA']3;)9q5\#~VC<$?uwGx~Zf薗P`\gWo.]O: |al\5蹬V?z`fgxv=(uD N'*м609z=8yH*+*A/@ύѾ}BYQQۛ(\:U\^FY2;ո"'+…[D |QQmNd $$@d_|n sׅ>} 7FN<ĬS0>_>䓛TW    tZtL> F, q㋗XNKFB% #~F5e`Il?z)23zoVo A_j {`_xuE) \ 6,O(y XCt="2*@9eivb}>8}?3{@[PLI*5Ј"{C T MiJ;;?s}m-3~vw~~htqu>yI~8L9Z]̯2R"x(`@7j(wI0尛87dIn: /n2R E#k1c!ٿcNyI de} MZ.1We2\ hI?D]2_"(6nHYz2+۞{̠\Ib8#DڶVz%m"P>Xrl KS? zHբEK[C)*GD!ClaUw<r ?3q'T8"Pŵl |ԂU:tPNmw!`JjG|cJ;wL iFzNg! Y fB˚ܾ}@*[t,J||es-;o/,71 RI,wgK(!nY"9P6 ePANjprR]&/dh]ua5{Mv")bwRM>g=2L>6hDB9l8uhٍ q(~ =e1$ocH&ǦijM"dp^O98is oN'4}4$1qL(2UE"xbZlyAHb .j̘1L:Q)P)78~޺ʫ cAm BK2~e&1߂T_OVmHl"(rs6m*Q񣄲@]TF7WLo~b@du)@ *H#7ژر P"Txs=blkƪ| di|DӲ$ʧa"(&f.:g\mY ̂LRx3~Ć⹅GP\ . R{>/Alkа '2S~*3HK"pi JWQڸq\7n$* u16O?T"[*sL\cFk֬wTO!I=#:DʼnHFDgspNIN> 6K(cN#NJnѥ357Z?QE@( XK pBU F3fHJ(D-כ.~ a(vfu9ۀ$# ѣjWVE  :Yk@U#rU#)#2ٝwIS"6tǟ芑WQۆVPE!P$_-Ұ!AvR!=VLZAgL;yDݻww^>CZ&h04]L0u ;L;6"a|BU jXP4X0Զr(`+n0g|7,JcyO+((rv 7СlJ"yʕ+_oBeo:̌z9V|ؽK(c>%V-U:\&KwʊšX e gR9lK(LISf=.c ,**":4~ϖ gBD<&6]$ez"y`2d*uVEɲ.L"OPE !0w~iK/ѹ[mI(KA'9  5S׮]+>VVUBRQE@PE@P c' L0Z2P\uUJ&VPz&*aVJ&x 0Qz v]H 0sd1dEF(B P!dB2h%HϗR@ 9,Q 7xCу֮]Ko(&룃jC='ߡ+F!Z?OE@8Pp-e󁖩E  cE+"&1l (`3#9996X"("("(@#Owۢ=n8jڴiټy3=4yd:ꨣҞP9K nse*͚5.!aX2XpcꫯI'DP)4hP9|}mܰ>=Ӵ TDP!C4aˢ%3.BYGhnJFAP3&Igb*cwDkCCYPkrC(Ü"!MI]6+Rtw+Vi[3't&փpg~=eqh++.C(CN-%bQJ(§~E@P6l0V(cP SgPB "& YHOpsر|teъ@=E`}2Km oߎZnc9f0BV <3cZ1j :_})+\e hA"(B\%N=Q*\+@!k$Z1~,l)@z { u`QZz|^tEK2VXA-"jXڵ?\{aC={&o{ ?~,kܸq'6LB% YYYr=JM\)&\'v3*B3Y[o%Y1,$_0CR3K?'d=5!! 6[8Wp00Eןх'1!~`m0yi eƙKa 5х"("@je ?C!*:%Q6)@@N"yHNmڴ.7&PADN5A4uMXNP\cw}7M:`ZDHn1mєE@P/~z5Ν;WJ[Ev(**?lP Oix>TVE (_Hwl _Ϡp@Ye˖ OҺneRsɨ.M2'|BӦM%K޻_XXHZbLKNJ@ ׿EÇŷmۖ 'ѝwI!} /^,fKz-/))fs)dk׮R6iDYBYpB6yLY3K(H-$(xStd?F,M^|<.eoT=N|&LyRum=DJ21L=NRB|>ĩ\BY&>'];3M^*LE@PxՔBٶh]l%U> s5x?x|rl4F eSZE@e;wBO}~C('F8\P*.<8 BYH eBO+e#3=䓢iS?F^q԰UE@P,` b'1 5 %Xtwe˖R'xy /۷eegG"@;1&v45oFݻwM*f&2 bw!2-cp ҋ/(7`o߾ٳ?-[БG)(_&%B&)^pW!&JZ]󚉲ٰۘmzb&u *&ҳfYx6c2qJ( ^E@P8Fڗ^z Ep(Ţ"A81B~NE"aՁCYe*,t4NPR(B8\%Qӆ)0PfM^bb%1qK4T[`{N;4Qp;c*ĂkIyzjq =* *7pA2Xnlp6x1r$ B^lf+&/}O( 6WrRkq_F3)蘼")S4,̶)POeZ-mL(&/)9 }(SE@Pbi欙TZ\"ֺJ([r3PV BYNw9%Ş("6|0Т"fee&6lxj6E@ `2i\0AQH߫Fm. GyD1`o]-ļرcq6X"(@ ͝;,,C eq(i"21?ݸq#׿RP.%5CҔPBb:~UV O X% 7 &!&0v8(xMfرc|J2mL2?8V^-7nSO=U@ʊ/ b̮cd@(cnT)c W9m2+qea+jPVX|>ÆE3fLOjn Bu$TJ=N eU("("(e"IkVVyǁt=qDc[nE@PP0ኡ=?[=+P6n4e=@̲D+Cu"(@""y 3fT;̚ c)#nJ6;i"*LM^VZ"("("P`pI&9`U̢[E@P¤]&T(`I_/y!zU'A1sC> T!&(A@!¦/!Co>z jb{[nf/g Ak„ t9YYB.\HO)7Rzėc͝y0!(BY]~&6?J?rTP mnzT-2!)p%jnuiv\H/TM$ Gh'6.Q$:qete.m'2O49q"xޏ'RXܤx$v$$y{1xRH})+z! /@>eeyTL?!rav01 eJ &%U͹("("(LV}2?m[o#F9Y7B="("("(@ "*2c/] e~8u޽I@=#&uڴit=*a,`ee -YDw>|נ6gQ47n`5P6*M^bBU(ä!UlX$>:Aja6ۚBYCPV( e ΆKHzQOt^'ߔ urIpB$ERI'Ig{M^›!9ie&/Yl=Ť>&Q%4q+\KJxHGPE}',յ1B(3^jJŔ*,6PP!UL`#[Ya!+j+b.0i8\ύ|CÆ 5Җ)5={dPnQf`>O]qrMl6E@PE@PE@PE e_ ߮Pdd$E>}YQGN (;SĮY^zwĔUW]EM4q[uVzSnD y{ e0 W2٪Ulr)tֶlB_)dPN:th9[n]B\K(SUD%d~3 g0wɁI鄛X/8M'n2eA&Y,3n,UAT?f*4itIi$G"6G䴶0-zCjÿP msYhm=M=NwLh&/ߕ|rJKPօBy8\* v>}0611UYsui@(uu֡Ů@6// c exͨtPNGK۪(.!G~~Ԩq#Y ֺuk7zE  ;dѺvJ;v6GE[TY3 Yg Ώ5JH6\"(@E+fsWŤwR"hE@u`Jc}3;Lb^˵~h@ q=:(G}>h馛gy&- elB̻ [ , p̛7O>lQQñ?d;LxzC=nPw}G=رc;_8E@ mݼU5y eb2j1@'kBY栁ms}ҤI[oΝ;e .={RXE@PjK(+,/"aQ@7a3*PV.D@PRQPP 23K[),IH I0 j e%c-k׮;C1l]n\ ݹ xR"("PI"7L SAd23eU1S(ޛ6m}rs;n8Lb.ߋ5hР w*^ =LvmB mAl̘1 0=q@2eL&bqXNL*v%mO?U3@& oxs1Q8?3뮻e_|1M0A@l9չ e be\%1<ߌ)>.Aj̜R˙T<{ H\C{QF>[FL+ VTl9#$/O<4ŋ⅟Sx_ǖ Wu0ffHyho|4X+&m>R /Mu87!>/eeq^kՊ|<14a^j ilf҃A!U<d􆇖|BYQ1Xf ˮ0y92(T6qDzwrE۶mE52U@*"T'PfVjPayG[X,j=:\ٲPVY4" eP=/ڴimF(@W~~A _PV14UE5\CӦM㉅}.0s#矯d2("TBU5dAiRپkzE.!}mO+՘qJ~i /"tItW q`f͒oJƍGPx XC=D?K.Mr~7^VB{-k6 8P_#X eB0JRy2o'C e%IcBYv,aEdsB39+#((о1'-/_N6vPg)8!yqFqR65WPѻPwlQ/NPɣE}@ !Bd+]\.>bYh~*YL u3b쇒igq_5xKr¢b)Ǥrv%/dP`dM^b dB. Tc=&?K=wAZE@PI)Bʕ+iu+e5N:S^L yFWc+\* &TTBvu>qi@:ATjEPFD a60l4"ﻟqXH`u7(5e֭[E@P2LL eubnfM=@YK2 Ocd~ ).u"P:5޵[t&A3ZJ@)k}B7HV/?\Ǝ@zj׮m?!C*@{i͚5"4!T*`G6w?P޽1?y'G)3jw} pVPCawyB&Q'v(ae >F٣ e%D$BLKoq2s.@)fLȊ#1aM^Ԑ8][Nwe˦'Q1+'wJ}z9 ıPF<9T t3E~H_.3hZ5'}ߪ%䯡ߣ}"8?)8~={Pa}8 Q xQ e I胏EI @tHkQL%%&G YcL^zK5RٓO>)x#]xᅄs{,+"(K(cx,l=IJ(;yE@(Oɮъ""ktEJ"#6 O:Um-Z#FJu*">0yE~&oiB(0`@(U~@ApM5bY0_%E =d|=cd """~z7hȑB^I.[p!#Ի`F;¢DlAoK]tKJV^mXΜ9S@C_`f?AI_B٣7_02Pxf 8;xW<( kQի%=^weQ.zYBY̮9fg< o˜]Dc@J4膣|!j`lvGL~40_=i@<*ewߧ2J@IDAT d)oۆ2;1>%*bBDpxB*_6=CQC>ɂl3Υ?S'XݬX9xXŲ*f(LИ0V¦UceL.7Cߦ5Vd5Ӵ@~3*Iz]$9#O9(2P6Șt`OpM4I qC IJ\>SUu+"'. fMe0qFyὶC\=U>Z"("("PA,lɢi.+1INPE@8X0Y<T:ؾj~E.#-[̢6< :E@H4(X$ Ρ--1ߵ/=U[o9䐤fWX!"}D*@6KJZ`-Gw}'d ӴiF A) x~Ϟ=ἀL(6aW ]D( 6A@ҥKĜ&G%4lP.%"U5|BBPfM| V?c!PǛc?4* i&/A(lLEr$LU}hL^xvfB݋li*cKQx6 s>~ʣcShf?,V7oF@VnV tH9gf3D5V2C(+[*|K$K<ҐL /3NR>oO+V2+ YgDR/!6!/``BٶLo~@~&51yi_(h{ٳ ,pΎ3F0ɮ2/bWE@*\BPvְa4}ƌjW.V-},_*:%Q6)"("(1ܹ|AYanѣGJl^*"f.^;y Q"kYt8bFE t1(kz73C*d>xԜq%Y'7B(Z斾0qd!@>(ؼ;!YVYV;x:h51&&Cl4a2*N me.V aB UhӔ er]B +^9MlSS&->F&eqެ!xB*d[xVCD9Y)'%,(8MFnW ZMq4LN>P(GJo92fښ&d2lB$ZO\٧OꪫD}2}hVPEp eew{ۗT})!*@!Xi-XXlPj92^0UvY뮻NO`uLvyU[nE@PE@PE@PANJu;v,n`Wy&%'ń$Hy'xbZbE((6ycʓ²/1*1Bc2Ab^ ?EO>e1*S(gUD$n*eR&mdwD ,>b~ !>$c2ৢfRfPfʂsGƦ29NX_9.,̪`E>lfdtB,&JY dLxq0r搜D" 2b(1L"xSZBeec ·~z)?o>ݷ;09bwTEL"(%2 2yyJ(I.E@2 pٳGH' sTRU-HPƪyF@ Ū3HTNy7_G͛ĉ d2P("("("X$g?,&yz:cup@yw闿%]ve2V)LeS!Q(8e-VX.oi=O*9QqyҡOz*eƘh2YB&g7m"j[&Hy߬ ?f_h*ߧT|!wq2:Oc%+DU1Q.;rB6wY-^ DM^&2nScEe9L((Yecl62@( *f_n{Qʜ̵dE2A jq=a߁>foiӦN#GxPUWùo K.4~x:#ҖP d1V'"9L0<+~1Y<*\\U(:vۇ4&WE@ 2ރi-Z،硇JW^y,l߾}T{yկ("T"bu%@0iӦizUBYA)@U"` e d;>R ,W eU  xeP(SBY U<x}4eyCn,d2nE@PL^/ 0i=pj||xAD?SN9>lj۶m|4 q eJ}69t%# Be yw @i*$qwgaOSa}&0_P_1HeGA9'0Yj5;JW3`,jaGN@l*| [/*Tѳ~ rYG&˱K^AEL(+ckø?uqbL^5.1̚U( lr2- |% p)$2~}81ɓ0hUP?0ŋ~򓟈Z?LaE@PA a )Bʕ+iݺu2V;vD{RBLͫ(|@[ zrKMcr=Wdy~E CLrkAj(0Y0qDzǢ`r„ 4f̘_aQE@HIn6|*PJʖ2LLPBY~J(+4TR ;wP>4huPiŊԽ{w:ꨣbGpX뀚[3&XSV l3|V=SKLbB#Z%`C|B|TN1FX! JŐ>Щe38P +_C߮txMa=O`P7+d׬)sQ2ҙ* gͦ0B B BL b\1ɍ yg0D?P5ee e9Qq]zB6K(B$BY'V(])2 To?\LP 2u"("` exYBz d:F/%a|"("(@@e ˴M+XezHL@S"("P&wC<Lԡ)@ w|V6*.x6Ճ >P[qFڻwpS7jfqѨ|B.4I^}H|&0^WV,&/}0y 8P e>V(%3y6zٰTf-QC}yH,+㎡@ǎ|d..^Nl_)d҂\nI#O"?"V2+a&<&LD ΙGEPp&edȊyIyL(9a eݩt&*|]*f%g7 hC"gIx3xS *Qq m& e|!\ s2D eT(g虧!50`;v,uYJ*@VPElyfy-e5T7h!W՛AM^V/Z"("("P!`1(Xfd]w &_UE@HmgujҤIJn6VP޽{yLj&Rq:(@ z `b TݱU;Q26n!Dc%;y6;xV8+$/xq_ơD߮b 3,G*],[N7 ĤBQ3*gPS*+vX"d߻A>xlL%Q񂅬B2x!ѧ3J,?X`@߾=eS69ىBPӹp;i!i*612u If]H6ʤh;T(3mٲR_ʮ:3 `W*"BY!Wag gȻvuhv1ճX!ߧSBY*m"T; j3耨EB@z!rz/mm# NJ0yi 馛/'9Wk"("("("P;DeKfư2dd:E%04Iq U #܍-4>&N-ȇ\0(B?Px1JiB;BLYpgBC^3Pfc): 539QBP bL0X^XĴmA͐XMt!6Ωsܼmh5e'#` e\ RK/H>}B*;htꩧʸM[E@PE"De}ְhN(HR%RHh;ER+0^TTsj?Z4oAj RPjbE; g&jhjzrʓQJ0n69r$5E@PE@PE@PE@KXBYBrN 3Y2/[󌖼X$ÏB%V&LV\\"ʐ[E<'!,0[)킉I%#('QC;*ݰ buoVDՃd"}ZԙGʲ2y'GKPHY(m*QRTиtP4L+eu$e:D΂QH*RO$0}DD@gBPS8BQ[CRB@(;z`V>hƍs /@O<ƎK'|*PE"G(!xǿYw{SBY*m"Pvs0ru":޽[e/k׮B(D:E"ĉiҤIL?2ִiS@PEF֚5k:-7W']DԣPu|MC1$'+[耶RPhZ ،?srrE ༅D*>&)bAp7!ѿ޴6a60ic#[HjFqv`׬ew e҃Md6}NVGTͷDg+Zm=N [^d޼T!Lg eP(NV(ڙ elehbY0 R2d~VPE@H%/R(wI٥!jѢ/%%;{4\PRʌBjQ&5@(ѣ*)Xm,fv d*c!u(M0^yڻw1| /T.*QE@ N6oGQ[Zرc'^MvcQ1Icu.lC(%^D̢{lM6fKD KP+1# .F>lNY2#_r%ŢH\|»Dm$TH 3&NyL oe߳BO'w5ʰHck6magWAZܑE@PX,l?jPrJZnJYٹs'իǶPVG@WBRʘ7y(`h+^)fRj B^ayfC0[jE ֤k @i ^ Ys뮣1c ׭"("Pl.< PBYmS8h1LM4Z"PCܱV+ Tn\ e5VSlsnm9tvV()&!m'ɅP6 eU)Sk&/6lHgq&w,Q"}C*"P'6y M;x!~ƶ9m:ԂV eu<5"("(u(=㏋EnFꪫdE"()VIbpL؅U,e6D8P 4hi%Z4tV*\g CI>h+dXBY|lbu/e-Z& 29d(gD"#>PKH- ooʍŧ55ջ乓Ճp: ebQ=0Og(#m~-=#_U;OI"(@BY!kL w{~twʢNQtBO%ō6ʼNi[z/5md-upuk׮SVIٻ]nn.Ow*E@PE@PE@PE@/XBY<6yK(*#8䎡K]oT|%ġ|&yIX7Wtɚ4Lݵܓ,I%pK(XYq.N f2۹ESSҿo }ί.#8BIe(*"B~ٯ)hi[EEݝ;ww}G{o5jԐj-[ԣ(={Z5 BY> vQwebwE[!e믿^y~^q5kF?0j䆫GPE@PE@PE@P@ɪմo3Ta:lԨQ<VPE@H)ͅgr,[ RILba5{<5V" A#\p7l)鎀U( 2LL^Z"R &/#4'DBXO}rC\$<lTS!ryKW'K4rf:SSl-]z"mK!}=0y:B_K#-Zй+cqv9G(U=xg3xSn|o4.^;w}3P?o upU9 YMNȽIPk_wg eR(û}Ql9,;;;ePV߯"x eCP eiz0ݻwSA~C( Zʺ*ޟ wMe}[n/W("*]l3I~c0m" T^Z&6AԣG*$+@!q 6о{eBqԹ3ST;Tڞ@@eS12.IPIx23t :L|Ǜֲqu֓'HFDz xz ͦ.R \BYQ1 `+L^̣Fg=}4qDz뭷DUVteɘޅ[@V<z 24uw@aOy s[lSXq*[a 1sri&Ծ}{j۶X'PcWSu?3s ]qPBYE&M()P{Yv-aP† E }5 %e L- KO>|Lvm4rHjmE@PTFsΥ zO2iֶ)@4ZdL D脺())zHCiӦ)fm"PQ\L(4٬Š%T*Y^яIe^VMp 2hږKXVY 2 ̟.aw`]lDGJ= mnL^BoRP&5J(C#LB|,ҥ ]p4|pի=GMQ(%29ܞ={ú2ǝ|r1[POL~0PD{滬F!no;n'jAL:dQL=Gs5Mخ];Sӧsr'B(ZXe+W$<ZN:Q޽PQEJy0K? !^W^D$-DHqoWl`3eHUipشI1I&EɠFv 7'OE@PR ͛gxP2'PRHTK(+C#6wٿ?ުPHPjY}eb%em@ PBYk­Iݽy윻;kjRi;Q$P C[~'B|QD-^+cJ66&%3yٵK+B9hcѻ+cumڴ/F!U*hVZYh_S+c 2.޽{ړH6sL0WTTD~x}{o.M*Cn+f.7yz8/x7B(Y(BϑvfBΩ8' e:4"("("P6W^!.77W=\5IbAѭ"(@#<_~ 4h9#e9m"&rVX!+1 e^z̚S@ߚP0ߙ0SԵ[7QHh+BٳTo:LMCFoLEP[7Iebm ïdi"zi#~O-"1BM^uW׬H; L*OYG,Ё+Z!K/`W̜9S; Y $PazNQ*V o&G?B8($2|x0"(0s_'/yzG%G <O"!+n)z m\  Oܴ'Ŋf֬YC6m2 e%b4/7O e=pNPE@PE@H'`Gf.z!kԨ ֭"("`͛vOm۶MS" b4T[P(/6Pl&6asJ M㧭,Uo3 &/ItchB1Q߈3Τ{-&m4CfsҖ⍍)GD(!HgB"Ci I\-DvcPBS2GibP$`V' P'Qq6ԪU*%[nKV#{j??ԩ~f.X6jԨITE@PE@PE@PE. ֳ͝zr;KL'rdϣS` y>ļ%?\ !zL$)LVΖsj)&/ELelb'ǝ.@n7j4*ʬEB9f/LB~u;5rHn{ N8x 8n8k( 0-Z${,a<]瀖-_F11GE;efvvlAB@C<e|{݇ %mCIp8~h|8rIN e \RYƍi,\p ekeK}%Ѷ)@R0Yo>7yG9y!#a*/0yيR8DB#>0稊%xުnq~p[6څ&{j4vnK!ic]o;M[9Tq6 } e\-s& rsq_µ+g lBHvqKϠ' +kѢ]wu" 6m[u("{B:]]E };;̲[(<}m"P5" aJغjRjҵѾg^9<Iqڑ5+vC[A|7U;A,-;%Z#'+3RDr `Ӛ@;643i-Mpr%lFÙK0J8)7a ڋ]52ﭾVP*{hO G4^ĤNL*Z=DZy"9۷bCŊI۶me[w )XKu ]˖-k]hܹ$70gS͚6Sч Asu}q$Zy йp)1 qS4i±scyNn=Mede^F/om0 aMP ePVGo2ٻK/Xч6|=]w}DݻwwA/"}٢ԕW;誡 _~9J XAE@PP,X[2pAG}PHj;{xr`edT\X{1^{Mc9Y<Ռ0? =S\މ{H!eHJ`RMgR\z-o 0r駟r/gK[K(+d cMV\I֭ΝzIg}Q!xn?nxFTZ5+\iȑU Z@I8g!}tEmF{iȐ!t]wQ^^^4J OO=|^4b!6sV("PBTZX TU)-P`rgҥT=P֯_%sAع P;P(2%QՖ[B[Qө)̋Ny)^=TIt6s1?1^Yg-))4qEyxo@lYIV΁ctmSpw8olXEʕD]0=j)׭"x+P2̗_~)JeXiWӯkc}5~X4CŋL>,o^@;K>}d<ɮ**((;3~ߊ@ (nF)1Qi_|EzWddSSFqK 0*>fS{xgSn㸙C=6%`83zaKL]R.pN ߔ]~- 0\M 2V+euO=%ս^{("(ՙ'@IDAT#9_`zJelX3zht ɓ'45կ~UgVLvҔ)S-"}J+u"(@]A'VX.2V&+~(u  C=XӀruh]G]E~lT2,  1{b1yzA1NEL0 x9Lgf y鞙e3;`^:W}ܲ_*N!3jՊ?"8~MJ̳(שtW.3 1d`׮I-[Pnu9M3ֲR9*$gX=1XM}@|Up-fڴ-n#%1*@x`%~߶s[I_L?7_x>%jir /RH1 T~ RYӦMcr?%,x]\\,*}=PϞ=iBA" 9sgԠ2B>/!C P>ӦM< (=# e C1Uvbn* T6ĐM8$ {ǰ<Ԗ$n\:vK(/'#G*UufV qB3&HVtPVQNPE@P@/pB$A*k.Nqِ?ZYO>YfGY%:>!˅a5`R2Y<Qm"(@E@gn.yB v."P;;Hevz-#;Xm~~ bSDePPץRZPHyb稄\zFƙHAL UeXzC [OF: )3$S[1z̺mmvl`A=ghIlBQuTs+eXHeWU{^PGq >sX"DD`˖-t-3L &MDF 1cP^d̡=OKHvu׉ >lq-קN*.9Ya|Wa\OM|{{nx$EUN~Z>;1k nspBO>#eªcA<޳Ҩ)gq<;\Ħ$J(âR bdMKKYOmBtɵMkOܗj6ŏfAj.pah+>C߲~;ƍ'hK=dfEtAPE@PE@PE@PE`zөdZP2zXZ4@d 3>.y݊A@?lw\{_T,oej `Ҧ2ZF"9S=܂u`_O)O,Y,VfIQ)ijW0O=4fn?ԉ]T2.?'^ziHI6mb7kFCu@ۀ1{SNN?;0ommL*΄2 rę{~58--wQ c%|9n26d KgK=7 eAB 2\]ABYt]^J(mUC%/'q`),{ݾBlw ]QZG0e\xa ۬,qVF/#F |;ShԨQtG$c{/"roӧOg6d/䒄}KE@PE@PE@PE@P¯Ӟ'EKxe  gWPIRw4I~ 6d8N,}p͌e Msn}[sI-U\ 'p.sbPrSnidO?4=B*C'2@3Љ~} 誫W?0viR]Zp(O2;T} ~/j2ntEl!6W(|Gwq{U?ϐ Br C6TgկvHTBK#T:,zD}N"$Ԡ(@!BTc/_.~WrrrD!'vG$4k% Aθu֪8gw}G\s }Ǣ x*\>2i+\.8jdÇ'(>}ҥ"(" 54(@|!.`"4i "@p=#$%'QjTm" iό(yʕ}F%TT2c65riX ~F fAK4E^ovoE- m-`7z[))ݾJA(s `N?2.3%ڇ~֍7ғO>E?>.]*Q~J*!zKч>a޽{TV2ic_h_w-e]^w24j&{K;.n`1UQDz,F)Ss˖ e|vy`PV_pw)؜s^b1(,IPEk'B:PӦMͯ";@lٲeJ(CRxտ5kk׎&OL`gu9^2e A@Ų~$uR+"؂):/¤:uGm"ǃW"HOKh%E@mrssi#7yPNPԢy %zaUR&L}Ie/čLdƋ(v'5nLI͹ߟzI򘆮FJGU·#N]q6ʪǒ0 Gǚz"+#T!I;Ȁ;TW.a0P 3_q)1,b֯_Ϥ'A~GÆ ^zxT퓶WI0n 7|\+ ~uС>< ^Ol|Ν;W\afڴib>|rg4ԩrL*6~-2Lb-6D/{7O %`X7zKG ذz$vҀ3pݱ e%\r-rW*Ǻcb4PB1{J6PxTyK*,EP*^ zjڵklǝSaP p YS M6Լy&%QhȽ7ߤ>}ʼ|QhBVg >`'M$e[8fUz뭲S"("Pl>=ՔH=zw@]Bx,^B[daFRAP(Cc6ۯ1ub7P5(un%I68#VpL)O͠ApX "s0vp7,,VޔMt"cm$)+X]+ٰez"64lxAQT[Opike_@<^7*(jtJKG ,,,9~֭['jI A 2P(4h3!s(]yc<2RvWH7b'#<&N(sr')˫ZҭBPR[X°z?i"v,i%(űreޮ9D<8JLa_wfCd "?X X"Qdhgg Co…t\PNm T]-ZD09IԱcGq}M_F-谷DnI:LfQѥ"(@]G3o~Bw~oWBْo _-B;0q{YvVwHqv+B1c(,[u RΛ=^m2vp~M?p1o$r7)Yaޔl\/7mHVoH_ؑԹO8mh= J?-*ٺJA&cu`@i΄@?Sg00'fBHiŊ2u'ӵ^K't*O]Kp~W1{l׿E}лʏ?H %&CUVrrh"Ç@^ $kzӘqeWa4o e7G YO{Na!$"<桫xfŊ );8zbҨ)P ʊ s gU(#PE@PE  /3}E%|@wޡ?PHeGΖ򗿈fdiܸq"5lfH]s5iAѥ"(@B ;_|(Ȣc9B "'@o yP( g}zHWJKU89LE@T8@b 2~(7jԘsTGύ:@ѲOͨCR6k]v w2`2$>A2A{pԩ4s !a]:ʠP3 0vhNm s)Rnk{γ"c!Kqnڴ'hwc5"#j·}s< eC<Զ0fp!I zO0۵kG? ƄgggIHm 6r읜[_.2QOpΊ\c?&/cB˰܎L,y PG <.w Јϣ&Md¯%Q8C@Ԟ6 ]UkM8DȽ5JHaXo߾cFш#?jHXgggGtn }WH-ZYvU@&3f M0\ ?AW_}*YPt("p quE@ e[q\@e^ȧʠ@)~^M%%wِ(&x=$&-@\b-?Lf,OXQsl|HM6xl\cA7ޖMqK]6Nl҉!, ?&3PȮ`RX:(0,8M-UfILD>(aO U!۽l֭D|IqA 2HNpW P${WO&Àh?5ӸqcziB*k|O "R\ՋZl)4,X@7x#q:PWE@(LwFLnfFj3qi"wr2rz@h媕lrvaܛ*`oݻi޼yiFc$\c=K7eZP:ZwXNWBUE@pۆb&I,?{-U>kӬi3m7L!>4 F/5%b[p/s=2;K.>|C 3n&jӦ =W>.sB&lƾE@PE@PE@PE@P@u? =*ar;.$('L"c1a̬8yg," <#nc'[M,ЏYl ~>5pD0!D>}1裏V^ˍi5rH:ҷo_!lAM7_f yE1(7e2dee 1 ʀpYoP)ØA$4Y`E hbɆ_]!K/zlZyKqy9]^zʠ,|xnxfBǥ19Tzh9&n2Q|)}WÛ=dKep Q^ʢPr bzS e1}xq"Pxas}ٲe/999ԬYi" xQ]2ij?&}t>sDאg?4zh` g^>" v <;:@p{$9lP&[C34("(:~P8+cs=KۧDB L>#quG*^xQ*sef0wU.~w NZ/ٲ٪4 2ouo-孇 F~o֝(Y:^l% ㏹c7)(%'9k4`7|#'ѿz@0SFjp?F_$V*$[Ly'w. +@o1@) k&45KnՃ8ѭN;NVkZf=R`#mtx)y3J;IdVVKa~( ?<ɢZ>oVAFشi2p ֭}+V @Ec:0㎣_Ě1ŋK(0!>VGZHeiiJ*D{Bֺ+ j]tEOR] >^yD5L6Mˋ/Xc%ezӳiĈ2i2 ]^P"H@%gf+Eco 0ւeҒƄzKean%,ܝ[\:whIsAzcbɥ]~^>mWΑh*ex+WcIIxWL-ZqjoH TBY@RE@=p*:T0Ё,H(xp^E"P&k93 l2+Մ}F*_?瞣Co.ӍYFP|y/ƸcQ:x`jd(6rH>}LUZ("(Dh}tN^T3mgl%SsE@%r(igf6ଥ*U@p%(jf,@!Pnxh"*^J/_TQt2.!9kdlc+eYyg@mORDOCal< 6#)E  r뱅:y>}R#z%@x®籋6R@$=z4}'tʤV G#XW_ĉEMA_otA:.\H\s O~Y*I@21S/cܸqt!0D85\xrV|BnVU*2m}:d~-:n̑>{y_V()2"PZ>CV<&/fecea;a䲄$BBիV ڰg5O+H"("(f` f %)XB> ABkݺu+VȬ$򨣸U -':xйc\[5Ҡ("(!͟/ t[-PB!@|! %K"Z '\(,6B&,l?&uQ e}Z$@}ɎT|}YNJeۈV  hQm^z Ni1BM6lGǤP"'x=M=S6bh)%#xGlBڅcBPw Q%,)E:w\42?J(2Z"("(uHʣ^Ǐ>s =zȇ\vvoذ[.ق8L!0K骫'u2Pޔ)S|d2(adpR>("T+P^$$G@ǮV0E *Ky@HƆ볂\^BuP" ]-./wq{YԠI]WJEi)vlȪeTIetoB8+ݓG>b*AZyAr}Cr:'1vg]&:+S.NSH V8(?dIu"v)n_iձ`XKjݒRX,տ Gսiw/,VwI㏏$(A }o&<-`~GE"PWr7m$'x$iժU{ƍ L/U Q Η^z7o.H1c~)}&m`޽Ė%@_x9̦x]+bxx!Cl`e2Q(۹sO&Bg cVM\Cx=Rc<MPmqy3]^ f"\qŷ򲹺VE@PE@P({97u/ 4~g(a<a:ǯjqmxEM7$+3Sȋ0>~$dӠL'kPE@P?LW;bg1fo["`v:ȡpWSm"Pwj(ȡ,E!4IJN\0ҭۘPJ/vx1KKB3n۹;ڏxTkyűCg[LhM5 n=ec(z+WӂH Õ`!;2({_ʸ,QC4'VPn O?-x!С?pp޾a݃HvJDҽ8>2kO}ҀDYR՞E^/)kpƼpY'rD{@[ֱK;)wk zu|[ m뫼BU/LL? ~(>O>tG{HC 3,X Ϲri9Wqyɤ[xD`@oYy3JeT&?gz=m=?P>HJV[H[\cD\^&"qyyYgѳ|.dyh΁0?kc0BY m"T h3<<+VZ)@5 ?1 g/KM\CL"u HcrУG|c n-/BY?#s1aj*2dkne  =4a„0e2ބT4("("("("(@|!/0 ӟ$DzD_sKvщ>~E6 5jHn޼Y,v$;͛'[nM+NJ/k)ĢT۬-sdJ խ@0f 0Ғe8.>emFNN>n;=e:IRv6]0xSwh>.]s" UlU-%1y^&3/S2TaRO\ Ea+"la5KG!^ al }7ݎctylfO:pW}GLDѦtBkƊh/8#4M;.. !<ɐ I\qP+*irx:E;I 3Z ehi[EE/ ,_ܼ r99ԴiNWE l+H>6qHGHz)3|# t|A2P&5>A,@|>|Hڀ: APE@PE@PE@PE@vr<ļ$h]m&}_|D.\HkM0w6mJ'|2BN̅t9s&B۶mHЭ[7Zz5͟?,Y"F PvꩧJ%\up{=* ۷t?g]$~PӁ5kb"ܱ-_&4fb8k%Qz۶,/^,`tO?#8B$1;dzE|pȅ 7N0{ LJ&RPE@0 J@| kgлCS~od#>A[$:r%WP"PƘ '8uTC_.]ċ IcС./  ĉ *g ZΝ2+'䁗^̠-+<(>O; ׏.2L]ɳeopgv-+)w22E'ZNpd'|Omtp#0>(t7,1n{]rDJG,m>eBYXy¯ &L/@ %SL,k ^D V_|Eq1 R\}†#I/"4cL & ]^2h{!=eP(;B ԃMmy UɠPƉL͗6BYͺ)\@4Qҥ"a2ъBYʔPWS}ٲiG,A eu,co3@3~5k&3ÇMEdcƌ)SKNoQʃ4E@PE@;Z̓*YʤdR{MSC ??_8Ywi,OAP(glݺy_pڽbǴ@!Ide۶YeM C.U}4yd!~vDex0aԷo_6lLbFGz-}Kk;;Ce+&b }<d_qFǏ7Rw!%UqQjXZd*`7B 8}vΌ #,5'chy9ƶ [8o\vn#=tφڅnVpKfg˻W$9m6$%V5D_LR p-{ɂ iZ?I x͘1%A cGْvy$.\\pY2c0RԂDX`6' g^ ?~M e5K( VeXo8੧`(FW eYkQjF50 $w6/v5W)@ "װo_bBdA&{ f503 1oΠ 8Б%40+o3‚KE@PE0_p1Y/s11;cdE aعk'}ͷT2YР(Hx"ΝP Vُ:vq ڟG+l٪}^ c8VpG~ /P&/F L4Сs=52d Y/;,-1AP1DO>Dp]YayQ*6 8r_&Ti!*%[vqJ,s˻`oY׎x̺|֖#ěR&IA" $l xmǦ="B |UrPT"mf[=RQNLm(!J<2Y O 駧 v[\\"EEenY!6:+PvY  Lpsx`獜k|n馁P e<Є2~6〜uVt\^ϬV&mTB{""(Հm/5_E@^R1[K\NH$bdݳpB:ꨣsΩT d?&MF&1b(H"("T >l>sY z8N eOApk!a&va2>f Q"kpcNNPkQ(_FD& >=5f2ϨA }~ HbX׮]M6ѿ/zꫯJPƍE= O<>cW_D P=6ϗ0wwA b+6i+ 40`кuk6ۙPM1ma2Yo}s - p̦M,cZ+ U֤o]!E-oD"!9.a5B _A=x "$S:uDӦ=../y|Pְ!\^:CCdcVM5BĽw?fϢ^|Iyn9&_ku4> eqIhBC܋ De$''QQQ1a]}} e\kTE@PE@Fй>n8zE CJQy26.E@PE />5UL E oYx!P e|X Q([ e;y_F .]E =\[k.aԫ)^T5򇬨19RTe$/˶nv!5`VG@=3f =Խ{w)cyxg7!]wE'tR@\{IewfHn󟅼VW'WCl"Ɋm PL\ܳ''k'NfPb'N^IH!gy^%9i둼Nyn]zlP'H=v h',hlh^f861+AGMsΕk{ (bR|1&?Pf`pw,=|RPvE?PY|iΜL(cI}`96{}:}t H;ᬰPN?t_>L% Gj_|1]Ԯ];\%2_{58a("CY9k;6mZgјA;ӯӞc$&+%D 1le-ʂ_޶ήh4We[ A sX BI^3!y"S*g GbLI֦zi)ABXbd2!1 ffb֖+g=djɔ~#d~駟҄ jSO_<4jH˺t"BN1PeÐ`o~@ C.>YWu6*`Cႃ4_\|vy%y2uU} nļKt饗K3 PGEۤ(>@ß7`֭]䡊7$1'RCQ;L#!q@tt-fH~Z8fbhق6iq֘^S2SL!sb ~<.u$WE@PE@PE@PE@3@^j5mظ*3hŠ$۷V.*vpwA7os=Gn/_.38U_1J0Gyx%?mG}$uA ,k Jep ų%K6Tv9غp.TJ>*K>8XYgR2'R( eD&I=6#NA0mѓ).,;iCuԃD 8)&bmb|li*P)0O^EzV+Hw`!IJR*CTe8>vyU`ZR*QRaɔՁd_Sz-Q&YL. W_UIXcL~KDmtjԐ,NNs39w$Qyk3|bA*l16f_Ԃ+WڙτL(Cʘ2 8DP&ɏ@i3DE\ٺu@`x ۵+W^MIaU~Ѓ}|HG4NTluh"k zXub( 4b^QfhAкbKwtZe2Hߟ@,Ӡ("("("("ܴyZ@"2%LZO\Q4ƌMF(_=zc? @qbB,C2cdзo_СOb8|ꩧ5 p57c E箻N:ɭUv^xAm A dkʖ Pe1m Cr[%, Dz @Zb%&;gL}NLd?NޥrЩ)S2;x{A`'kJNȄPzn to`=fRii q̻bdsTˊYȸ`/ 8dɲ+Lҟ 7pꫯɬYaÆɵE.{AUY0qy9s!1>ı <0ˠ!":&˓cg35SF=( eJ(DR e"xo;˖- AFbdJDT1#M7D|,A6NRE?$kP%Oz+Aֵ/xTɓ~sc8aRZnZ: w !f&b(%~ ïISG+ekwCb8Y,o'm=9 1`z|KLbTd2q̦U vL/dRpZHGJY-ѩ xZ`3F\tA4tPQ`IyAe|ڱ+|WB.є le5G6H4sET g\\n jg5 Ɖ22C|^ppg./n)"Pa ^}Uoj$^=f`ƉP"mzjZv( DyDN hb&HNN쌐hWe„ 4n8L=$,|KE@PE@:O?rG)w^{1xaUTs*d+V賳S:*!RvaiժW MͤDenݶU5@ ^z)JY+U) )6`Μ98h hamq5j=&v'ep? 'x;h?|!_>֧O7 \FIo 2H͛7U<d^H*P[C]~z\ K^L:<'<Z )) !`@xt19X[AX !XTx4㵅MzXGlKݢxōsWl)8b=!dPs,LOX8V;T NA(A$jF e4cc;O>D̙KHÇ w*MJ3C e3 ܰ8|dKQų!9P1؛M {7T\ QU܆O`:| K39-*TE@P̔OC .x0j(D(E/^~f6?RҢ KPm۶/?B2ƍcLx0լ@M#6lV'ڷowL[ۣqtR>||Ǽ+B}QAݻ7viɨA$#<҇?p ҟ}wҹ[d^L}'2"Ho^{-zqwdю%LG%LfiyR:3o: ,tZ /%C.?(_x5"-mءVG q)X2-zl A;S?25pGIt~m[e"ɔ45۰2k*fr }=:k%ˊ5-Z$pz-~ut޹QE~N}l*͘ 20"db$,Pz!\9"T xj9g_pOPBY]^O򞐔DŅŔ60<*E `V H(7o5<=y>8%i}hYfN/M( BJܪ+ n#^;v(RZ#zHf`l:ۆ & 1C"("TPw&(Ւ!BْKwD 20&i?IV3B(c;-ܩSǸ#3Z"'/s˖-nvu,kRX,+핆s޽z2_?Nݻwnݺyk޼yB8ۿٳg.?twQ٭Z ʧO.j a '@]waI%跟Kh݇E (^J@I Le^6?J1VOTCmP-nsDǓ٘I n]dhWz3[-Nњإ5717C nd˷K*'D@'K`MK6'&SL vA&9tk1)@S"!`oz|̌g80ax!khփ̙'V''5x^y#ճmʘ\ֳgOQg{oY={8Si@^z%'%cjx7W|jR e5֠(Հ7nRlaԅBnd-WCE@2|r*e^]NIx1n۶iJ9pչdFM'OR|^bv7Hs;("DTӓBQGzBE@4?PajР>|ՕR3(13BF ka@׊}@@VNV\\>M0q2[Uʂ"m2Cqτ [CqW4Lh6qLip9m43fFQ1 wr)NR(^}U.{RXlbu2&CQRPchw"ؐd1l!yC"`c!la=LRf(]! Yloyi@'dOϽE@PE@+fۀowTXEQƒT#RPEHMMcrDc%C1@#LN% $<۶m*e-#|F ܕ__+H-ZPU5BSO=%2 .Qc90rEy \-fL &(^72m6'P] G!֚_.eػΛA;[b"WoA9zf*[oyw]S-î/✼0fU2({7xU&* {O e ,=MI 2Cd`_"iFP!klL66փ\\'cu;MȡSzэ7egE> 53V!ARBY Z"T?FlX&G#קlqy鷫vi"Pyn̲ 4ˊ:^u}dj,^|A8q)d7 :qRAPE@PjV0tU#ײ^qtഩuh="CrJ\ }kN zW]hr-rdJb'&-<  cXcf~՗ϵq mc0{j>fq malI!d/wH[Y)niM ׺4& uDB1")6ԱAB&maBs}xpdvիP{f»Kr]{rggݻyY=4L&!R{?0q6Fn)23[D`;XB[oo@1iԩ4s泴|P3{]O=zq圪"ڱ1D80@Tfԭ$e`wu1@& UʐqJhnaӬ5K=JM[T Mʖ2)Hg6fT2!0ߡ89$)ejvdy*ȼ ,Qyޡ>X\y}!̚==d"92ϙb'sݕy| Q*ɿ{W.}pyѕW^=vmʪȧ@]T*#+([ʇhțvpqٮ]{ޗ*7R3*@صk_h۶m1+2#uJu+ vm2 *e6@N䯗ȇץ"("7 ""KE ~5lj`"E@5lfpײ{1Ԗ&EEELeu2;cx lT/^8` WP;8=3C 믧N:EҥKi),+"믬F}c=6&Ϗ=Ki;EkmI;O{v_@HGOM@;OĴȑftAҸp9D˗-Cڃb;wgTh)^i@Cڼ<*,(ψ?j{hXv-ر/֔1&B-'4x(0Qwޡ~N8:Sk[?@?00w]}Խ{#c2&$aKlʬ_#LQ nX IYUNH۞p$/w1TGB[bk6X9[NLTo=a֖VqP(+GFp$SIL(,E'௿FMf͢,~s7UG+~yLfLʨ!&F9e sc߆l*Qp%6$ v{&܄`&M[n;$+T&ח#>/~\'"a {x\GaVYx9 oLXLxR\!=lsaC Tna펡K((Be+V˳/Ics% MQ#W)~,d!_=TKE 1:E =u\/ PǎdDxiM]^sd2Eoٲ5rˆ#q&"("8PC\BTPz#!f8Z"EjdQF va15E8*E .ضm/gX0@APbL 'ÊNrEmM /ܠTvk3u;W1B̬V<&L(K3 FA !<]a[}%Xd;cԍ+!-qxS~Z9=R=4b#kK_j4) iN=rp5+vQs erHlg9\.[' ނ96CҞ6=z- rbK.$1QS( 7p[2+Sfr plBYlm"T0@rEU(I(@m#pa&jYZ "cӸqhƍnM5jU2("(G[ ۀe%[4tEEEQLNNa2JCjKP\ ֯__0E@ޱn %D#ۭ3|uںe.8p`ʶ//o=Vyx.Ce©6!8[D0i֚c%ۂXo*Kx|O)Jkr:R2mv S] ׇwwCj!90RfdC7e׬BY6ά}B1M4̚MtC֨2ټy3}ч>?/\W~l6kD TʸNIJYmPnݨw3)'''T]BY]^|cl|XQf}-X(@*Eصk^PցYJ@>t$E zc|ڱZ4]p|A2e Y//[wDHӦM.g"("("("( [r(4iJ sTߎ}!2fU&(رCTJe;w51ePo eʬB=eXbD ׂ`z8*m Ň7lkz"aJV6 ۼD[r[L8NPfpp'1,5ӣ2… iԝߦCJ2ٹv~ꫯD"(ϗh+5z xjcHnNa{Q?C2+'d;G ã,̒,^d6MR۬tdnt!LJD%K@{Ygs='.@~I訊"(񉀝ig|">ipnHMM 7И:NF-d2|`2و#_~ҡfu("("("("3{xzٲeuVٍ4v/!Olϻm%TGرcPsNjժx|@jNjT}C(/`$./2_*h3AH1 ̜֘g@ &1xCd;)kYG=#jAH8u8Ҭ&6Eb"`x%-SD!i-ɵ7 %s8tB'+y| w 2 5lD}jPB_|!9NҰaØԇǕ QN?ٰa.ysqbBs޲QԪu+jݲ5ޯq/BX[ۖP41E@PE@P@sƌ#RԐnFEٙE@PE@'fڀHuInХ"?`w@.״E@pc@K; ki+  Ȁ~ǎ]*R5|{O- ]qM\ׁ<` eB( rPBE8%gλO^:+^X6_-["/g"񒻼 /G.T&`ka!Qp˴, Ҽv؜T„FH(9`_={xX율+$̦9IbeӐ"*aPGEۤ("(@C`۶m4~x0amܸݻXlȐ!tUWQfx]QE@PE˗B٪ ]EkW*ܰ[d 6m$,JZF.6m,n0$fBHi"PA@([t( b"kY"PU@Hxh#i޼yjm۶TR%Rڧg遁aG{wYɟ (`gԠE1iwż("o03T==,3`֭sv׭A I+ge|+  -XBYnj~ PF,kq^y]H>lĽ{@DW!e-Z%3jftOqj=VJn1.&u<]^2?Czt z]µ+, dt !R2a x,N:w=zd佬Z*xPUAGK7>>VZY阄g=`7!t)&7Q|YY3b+z'uI_.QՆR&89wD_Μ^+F>Yh8^p C׎x/y7?Vx"2^xg,*Ts2 ICy0c󓆇A|''/8N0EN, 毭1rBGX:m1(ʖ-[Fx@(5jZn @([j0  W@b3S/=x򩢦VO\^Urpy d-ӧ\a͔)S2g@p2XEh.B_s2ZEƖ2VBY+PZxb)C60ɤ@`2yd R}D_a⃃/$9Lr>~9_SDɹKOP'l3qGlڷ;;ߡN3a2W@]DW|~?[Bo7SAn7}w#w?Ml^ZE|\γ4&'əd$s;8G6xQ \6Oeyu9#y8U u)qPOcVߖF?F[l]N3i„ kƷ-_7"("@>-&p1$Â12=,CTENӾ}1 `qY"dx^f # 8PrdF*"< M ,Xc \^^sD:wMN*s2R\Pd e2^,n d|OZ|J+$kƛ-NLnWt)J]$ E2"櫈ϽzU& C1;j2ʊ5KE,^NJ: ?t8M<Əc sh)B,mܸHTATBY#\TU(@$>7E}Y1v09BLFn_ ;P9 s)lIrH}rR z #,.`yE=I8@@ISlN廎wțMy2\,OL.YP-={<@gϦ۷{Lvm k׮^FE@PE Pcr_~MY(hkG V7mx_o ʅe "{0Dx~HE@P |M}WJÆ Ke\pӧI奵Pt vz=xLK^512redݒm58%uV+-}NJ'iSPR6'L!aY&?9ipS!RY(,elAE%XudBYT՚NҌ3ʖ` ֣w#j"m۶g.KœT@ ^Un-莅<2Vm`2@TDmH:9_qBY8?266juW/M|9x6xC8S,#MqxpZ{ =rBlH"P%%1U<[d 0`7ewߋ^w'&ʘ,>}Z9)Z)feFh^ۑ/0eIWiW_R](V6r eSyR(PvdҬYc[n'Kף"("d u?JY&NnۨqE@HF2P~;YNILF:q&_%m"Mp?R(DbO> >I&??7G(%S PdDLBJ$raI䤬˵!A(AE"b\ ),&;Ij&Ğ%^u0"2~yżsV)F 裍˒&z['GO/u"׭2WO 2y.]Jw}7a#oL㍂@K 6<؀qAnR*Qh#+Kr^<[%[)^<2y$"#K&6YuB!ruIY|VL_za89r(l,)ShP5Cm)V*IU[E~+U27%¾̸b" )H$" T\]HBkb&tWWV9TC]bo# ɱ8Ov(^S?h k;wE>(=#uV&K.wąKף"("("("("КD[*)a׵<Ϯ{%IZso-@YYKbiɒ%D# ˞wyMf;Bo#հE3s/.)>C̉_Y)}'΍.#@Z[O NZY=Hm9*KVWQ$"p 8'@bw"W 2k s%q>(-;!WXNeփb.*\aY=/,(ǚrJӓ#9͐@(z 6 eh"z%ܵN<ƏO:t0mOEPBY*v"*eȦwb *X$)eCF lfG2b6N&8r $0`yN,$n2"g )BF ș)GyBW+*q'~94R0258iƞ8FW0a&0g͵|`-jN3dKvA( 7"`ZΐL& =`` ⼫#V 3P62a.!+Ut}.Q0o_GR=N|Y2il2;qQ/ZxG(|NXŒK&F]@}[?bl˖- 뮓o^FE@PE d1~ΝyT|m"XJL/;v(ϴ(ف\P+G**/7/e[@U[4/B([Ʉ;bݻ7oC6He/2R#<&N(=z4P&ˈx漼H,L2ݻ%P^̬s+i.9+fDy=FqrtBKBLDKHb ;K)o1^lWTrWiR^91>l|9ra&PB9l.tJSYz`E?zoX&2e g,[ (uDeTQ̾zaa!ձ[L e֦͋ nW>Fo2AX`bC(q; @>T,ke|C P0hC/x"e41RrҤL҉JqrANhJ8AFvHy]XcLD)en~#U]A(VI>ǣjc)GiO8 L_ӖOl?S '9b^҉<97l(Cv;P$IJV$delrۆޗdݳ$mMk(\oq8(srIk|g1/^a& wl^mN5kj*Z[|Dy˼8oXX*w0n"{!&1N@&ΡٳgK1݀_tW6)CK[("dXLrE\IL"dWP%oJvxf(*RE~au/c;- *Oܵ-eoп?ua+QD!*M>}=o$[*ǍJjܳ&Fߍqyf(SAت(ʫ]~R [ǘ si9O*I[/>M=ik@:-_W(EÅ\J].CνOE V0,R'HU|ޱ epsдi+1B,{kF&@e֭͛6ݏƨA=u#O*PpTR$VUA]K ![$# >u'RA1l(c6G,?fqo3k1Qa*:`r_^qT'l \bt:}IGN6Wր:?a%+2#*TzL2bûa Ly(q44.0E+U~bpȃ=ܟq!>8eRZR+5- dB&۶mX0[骫"Pנ("(م xp 8|rPZͮhk6^/FPԁF>Jޭ,(qE U+WALwbb`]dͲmb{I,{D'~aD"w==_o}s2R4!N:Un~9epC[4@kQM|cR{ٲe~$1XGȑ# g85'PÏ^<);q繩80*^zc&p']M;&sj0>i4sLL* `>[n.Y"("E xlc%e[%eԦ*C([Ƅ0P֞ e+LE B*K(vw*L RBY]Cm"0g(woN\QSM6s=GO<[]1:hʔtg6osya W &YtأJʾw,%]ed}8ER$g%$T\1-5#\G^9s2pi>]. bhSDUp!AȲE X(H( e7|J&MbxЁfQhZPMQ6&ҷʚJE@ x,–Pŭ<7`"XnK/`FF ^U.kTr&0, `5.4hz6r Wk֬9sGZv-PE:O<yH)gKn/B/"h_^8q DsVNέґ*6[_)<#",w.ZkepÆPWS#mT6}'vt/oҥQPE@P B%nF!ul%Cc@KʰV`NEy=iIT e|kD V@T okO?1-ݎG˨r^{ZAq; zD Xٳgܹsiǎ+F=z`^M.-` !@"`gcv$?gԓXZZ=U.\ģx~K+6^Rd;VS)R=7g\+|c_v!~0:\CfLfy2'u>u]"APE@Pl%acE'yb{<{E@.1;i\b݅ޭAPXH%78 nؚVj+E@ @Pfg}V,iwgq@/z`O(3ˑie!4{.ὃFB[<#1!üWDi]s<_9RNa둸I%oOYgjZ:Icvq2.!4 %ϧYf ɦLBps9yH%7&wI]RRBȽX9%56O=s*_JW(o E)4d"v9:SZf?Sd(VL4r(/[: e<,Bo[3a}Qdg4^d`r^#"믧#FNJ$V6x~6ofҡ}(8O8 /иlƨ"תPMo6BiPr yEJYp@v՗ M>f̘A[lZإK1I}5QЈ"("d-.y#pE#rsbkډ6`NBzMԘBmj _>crJM9[nN;ڷoߠ&0 %,d|MHOt/]^ȴ{jb ff.i|rɾ$[RD.%<2OSJ8,Rͩ)nU &ՂtMG,Qdo$o B ?3{wߥ;&qR-`͂@*l^hBYu߅zTzElB ^YBMoQd3 ͡ A @(_LeԴ=L7>K 2 !r2U{WQꧩr|M|/5v<_M9ELBɲɓO>) pr嗋1+?>}4o<:o,n77^氵A&1ވPwNba^O몠!r A{S@P?R(^VƤ2|5WKYb*s;~4ot1+&` do&LdHE@PE@PE@PE@PBD2ڹs'oрCGsAQ|2 uO?&OL'tr)=P$[PP!ibt(F )HLm IWE`ڲXr sG ¸NYtI}6}P2>E(QCr\*T65R[&[p!M6|Me2oj,'=k^ZPּ<ڔPv`"ʿes(m_|G@-aؕC[ko_0cѽ<bQ 2`{=!{=qh"nnoŊBV@z[o.B1mVFZNO"> 0Kx1ˡ3N Bnz#S*{jU\meq8j]n/n/뭻@&{i̙ʵ-^uUԭ[7GE@PE@h`5IiXRР(مXU$j>uaXO)@f"",Aرd f:Wmj4{lq \)yBB"~mL|ᇧ% ./wQ K< BY9,]s'^ML'NxRvbuV0mV`UExu{mO=,ؼvj^#{TUM'zL ~`3%m,@AbVÄ0 Gy2-,YD4|pvBLrYh)Bsc{gťeQ er%@##Pw%U,\̿~kW< Q^s(4j'UWo UM~IVR[?<fy"裏nÎ.( qR;Cz 7е^Kk!2#*9 /-£?l)t((h0eTc۰l]<kfd=,gPQOjwMٵk=#\vܙLB'NTd5銀"(@"ƍkzCQL)kPlA Ȇ, Dݕ -P۩0XǜY$=q*Ν:QR@P\]4H~֊ɧ{+uY2 KeEEEw^qOu _~ L45 %PW>"瀉r>/=poFG2*c=Lg[] R^DKxj*Z%]%5E !jߋ "BN3yVh7L^$DT&jO${2[ҕ5RPG0 K \^a azW\ױ00|9k&L6l0YS3fb2 kn%%%x=*PxWREi~Ce+V70,blo߃6 %^{`_L~@2^;^7t8DA&i,p"Rx|xס\nPv_Z-,>4`8 2v*; }?_4r$npu?@7ޢ2 ]3cΤЅ?e׉0JOQ')f-7^34[Nn~u7 dx~g͚EAU7=*"(G($0&PvZ^jP 2,`m,M(U_v\+C@eW8ܷNJ(keX(@& _#?C۷oK 60妛7BY-\l% ص-?$b<|&Qb6_D84wП@ZI"A (uUS4=P6(Be2ĬیSӏ#~L0X9I$7,\}e -^N*n.?nqeP BY|%@@ Gߣ3\BeܮDZ)P (vGģe̡XdpX2($|]I??',N:餴eA^y'\2Lxtu,!۲cі-[Lv-Є {찔5^#"("P/l ;&]^P!CzGP>Sl Gj寎@퓍^xڷoG< S,MRE@PjF/5W^y%c_OG}t!PiqB]zW>Rlb*9Oa@YTR9N UDw?ڵ5"D_=Pַ\IPƄ K(Kl\IW }=PBY?)JxY-m ]^ /递PV Hts%dͣ3ge7iذabl̘1jC^#@K6mDw9\ڵ++;5S0R er%@#"eR^1y UHI?u? ^K,q؈d*vsW zݕ2d`#(4p4ewe8 Ћ/HGy8tETZ7RH_&rTGw!]KeϢ/4߿<](*'PC K={6me.%dW_}5u%QPE@PZ)q~t "vI-E@.M[xl =*ȉBV[40x*/??_Iw &E06l ϳE e2l4Fc-lL8`[G(+D K( 6I`MdCxB6ܧ1$0>1Rl okOJ zhe92XKUOMm6w[?nT jKW_ً|luy1˒%K^D&ѹ瞫z(ZPc c 0ĠL*&EW0 X8d@(c*US^SpD w9T`[>3[vJ~l e]nBP,rJ0Ȝ;w\r%]qtLӧOS4+tV[O0lއl m!$g~E! p<:tȪ~VmD=JK?guo^|R.O@Qn4~f}Ѥ X&4i]s5ԣGi6DPE@PE@PE@PE@thu6ڷTp RNo:ՠd  O2wvӄ^ 7dv}w{Y-8BM0oL3kg׫ȕ_s*~_\]ǝ{EoyfP]2 viN%TZMeO?K?$<ϸx_.b*[V۾Pp1l,u+.9gPc[ Vqs.b%9P("0޻w[LJwPQX/++ޏZ V\Am"@&/\(6lnn]׆( *<"%PB(6BB(޽[@ٚ%2sba*j g}&#EXFzb 64t-z&rXvyB(!\^r׷ulϏfII }QG%0e0 Z@jKM)LjJC(duhI<a?cBgr?bb;wQԇEl]-ɣ k7L&ulQx@&>}:=c,:~ Mi ]}ԳGmV("(͏@ݭWBB0&B $Z"p@`{ڵB 4(@v PZZJ7mr(ڷoOzrhv@[( eP6^*LG.Y/^Lox{udma o+ҳe6ie𺤙&)m@Dܑӌ$ ;EԅRՂ_ ~e%@JNksy9(X2`y"֗8%5a{̔t p{TV 6h: eL{wyFA7xZ&s1h)Bƍd Rt֕#[2h{F@ U   XBY^BJ@tʒ-U1lPc߾}"2m4OL%c@߭[7:scvԥ۶m~Zd.PϞ=.c>۝%@*\)2M. %B@;&SBY&^خ݆P2`5BY.^d1gQe =4{lںuc.][n &Vw/]#"("v.O>]WT[ehj V, ~ȫ$6z9R6\.j7VV^Y-.DP꯼v5!1Wb7Ahi?l߰a fҥrΝ K/~_Ґ!CPf$` KXJ̭c#iQ)y4)l:P eM>1eq%*d8a\9q@M2 S틢lk\DD8G<5-8 @O=`BY20({=ym\rرT\\," VK}5(aO[CwiL"EPƃ`H-5MrGT]^[AwFY eC(VxQOXdY MyI'駟N  _ֲ&% Ol:A"dX_v [(+H6`>vȊk#E@P˾T_E D7R47IR1|?,Qk7+.GWltr=s!v trZL5(yks '[P#!:yQik@fRQNTmo=U)gVcPoL}RT\8qD:eXGyMcG9 'HMdK9|6@]rD㪸:`y]MGb^ygu'Ĥ _=^?O_',/_O?\4)S /'J.Ԡ4h޼y_s\2lh0ʢUԻwo0L J(˴+QG( zA(<P./C/gOb0 !`,ͦ}k L~qP~'n,CIt@EN;6gVR (do6 25/ȶ N< رk3^NoЈ"("Id#/$*H<8&/vZ# "q|<: @vY)ME@PE&k5z[FM?OMɚ8Zaݻwڮ^~Z`M<.p @() /L9n>e 8B]r O(졇b3Գh֭&prW^IuyR>8)ܧC]wGK r uezYzWs#Q.Q]]-?+mV:,Y{/l\O?{lfry[la O;Se;jK"5Cy'[jk[t{ttZ藲ƵfbY:*nJ~{uS+%:Icѣ}/\Pj0a|'}ׯvir '$PrwGpG`GܹsJKKe?p*aLRiN:׷|G( VX!K,gt"zΝ;E# 6g{ɼ.s#F:<@A"0gy7eS孷~̜9S*++tYgxv 'e&hXIXv ISaSͤ @!yHD;Ch}SR>T١LTTy~Z*gZ %v:_ֹDڢT /f++e{5R[PS oHe,$ %UcʛC\֢˗h$KS&^Jž+}=VFmMkFcXkUp]5(#oir';Q%&;Y=Gz%`z2LֈfάzܗL󕕩gf0kZ=M 8ъpMz%kb[nk-YḻA޽ݻu+iJPJHz1@!!ݮØPƫ7:A"BYKb( H)PV21BP6v&aؚ4i\tE /wYϟ/]zMy_zюΙkH҄"pңG^WB|.Qi/BYX LCH,4AYF-љJ$JxG(+Ѕ4ODڦ2{߼TzPBY=G eQSݶ54:rb]v=qfoBe b1)Lu_K5 ;n'q ei]5_>v*j4h 6 x{V@ ʖOM?ʘׯ*EX evM(KkBY7J (.M8Qj+9#?~ڔX}GU r}ه3ϔ]wVr[=%F eJ(32}OoN([=VAL e em@(9By1'\puQ>i@#8#A5I/LR\jPN;J:Gh6_u%-7T=e/m)=8@q eڴixkp_ȂU1(T@"ŋeV15PD̃#|2ydy_7Bq,Lෛtl\s5YcHJԌuTIVF(˫P񖢴!o?.k>8+:Rܡz4YÄ2ZQenzPƵ߼L eJ.KW$Q(SHmWtzveoYc߅(-B]=4R(sBYys+fͲ9+e;9`zGh: L]^j-P+5veKe۷R嚭P-a:Au U25cU{a {o/mG.Y c^B^[1H~g r Gū%d2oQfϞêSN9Ş EGpGpR@({A eN(K⻎@!5e+Ԁ/'=;BbO8#J(C / +x`ȑ# \^\xPV./Ôy&D0UfHl6͹g 80jS e qys$2S/UuyBYuԊ([\S0]V!yeӢ3pFKHDB(3dȤ6N(˂"&U+lʚ s Pb,~Y>O/ǾJF1P\*ޛ 5KgD{Gp_5fL"?l n/q_|!첋xgٲeBvmgIJ Kmle޵Y wa%/NBW]u|J0п9dرFdpGpoJ\&o0w ӦM*3uMFado# 1>e/9={ʐc9pGhxyG䦛n_~9Qb(K/?\$P6 a&%ѶSu eTR&3q9e2N2!-l ./;IZ}e%Y-B9ZP3\]^D{1,57On+ӈ|qY""iWi96l.(SVH=eUJ(:,`[GN6g)Svڴ CwYKoe9@P6MLH{S eń}H3 hB՜|å~PQjuy9RGw&C.&PQPtRu¼Z9@:'>#[ou2 eJJ  pBYa?PVՆ./-Z$W^y !Я_?93㏗h:#8#P/,-ODNW곤w9UE G05o<-JO%0v8Ł^, nPbR/E , bπo [ nf_ײAlyP. "0X25bPۊB|+Jɋ$!%NvR e(rK S~F(,6jYRRYڣLD(-UD]4qr1DmH7$JF( MaٜP!ˤry8vUw޲BWSn'&`XG=Heofhg t(P()~4P֞Wfԝ^F(]^ [oU^ "$nѲ!lUe ,vy[Pm./#P oZ./y'3-c{7JJ4[ZQkm0' P;SMouI}pGpGpGpGpV?,|ƫPB'ۯoW?"^C!"Wߎ$dZxHGydwZ~D,LIVC( l"?3iITJˍ)#1K$IUAm(%P@RY(?lB(Cwl.R2լTP %-d+i&./]lUwLiҤI&QG%7LuV3UMK􄹼&-]PD e+0cʄ3gW\!w}̛7/ފ 6>[2#8#8#8#8#ж42|%ÆKcσ#P TVVC=$]tY=ܥ7N>,w\BP6_翃"7BY!I]GղݜzW>$/c\^PPZNPr++eTuy•5`7OX6IevJʅ4 ′Z JbloGc"y_prm 2d$XK ~s+]A*asjNQ(KH(tjpU_Fo߾sg]Rd!Pʬ=%]Ԫ.-e]\wskN|uBYK}2DU(;Ups ;"A ;LdU=~pGpr%.CH5xpBV#./Yfln>zklpY[]RmUTVflFȯ(|P&{;x[Km\ue#4L?_()aΏD3m(`LDYJ-F"y`Yz2!ZPLQIIakEOlBY4r%R!9"4fIaMCKe2'mmUmL(뜥▪wG^]jPmN(kMd@1!e˕P]#݁@(s};#BMr ^2wyY7WnP6Y]^,G3./ӄVڋk!F(w$2Fe ̚BY en\7?я+쎀#8#&"֌3,r dСn^ ~EKapРAu E}xG#vݺɀBG(r eᄲyk@+/B"?~m-[&C =C>tRCwwlu(+eb IVK;A(+UZL/c(+~{Gu3 mA V?@%./!u%2T4i>ޣ b3퍮P}zKM .mllc u{NG`HeӔP!)PV,ݰ> &ѭӠzPA&5B./7 '/VÖ:C(_IN-V(LFnfO0i&cǎuY'GpGpd/R愕o"G(0R+C6|sڥk\X`˒%K̠ܻwo6|k G/([V%9o ك#О|Tuzy'dŲz1#~-2g1/X;8a:7$./dشBY K"RԬY#5JSd* I{6dQ\MNaZʾ\&]BFW/U[ꣶZ-6[IRTqt]^U˅eMnB3go;LRmKW,09rX./3h#|M&~αRYwr=[?ZS/hwjW,/&F/XBYit?NJ:iz"\^֨BY HJ()#H;1,B*QIyvBYEP e])-_K eꪫL@DJ(6%2:G.qy0Z@%:o<{\ ˥GaȀVQm[E!r:R( 5PUam[N\^:]nL;UZNrbB tuʚ4/<ߟ~̟?L0Zksͫ+k0zuK%ʬ 0C(3GHQRRM `xd՘l rpGpcI&iTǑEBNN(k (gг x&!eP!.qP0pe&GJϰCLKqa/2fqF\GȐ>C}ݥB׽*'Q(KORɮ#5$S:q~ 'ْzPO+$0xq5JW#5UmcZhKjXt%Q+K:b3¹PF&1vtH.3 #Y P'Js愲,hhF(9Km e8@ 2$./ O b >*<[.\$աsڥKddv}WOZ\d&N]^:@nU4#")US^e<+22V?Oomdąݺɺ {=Z kޡPety_2qD#l***3ϔ;̈y!޷#8#4 ߟnQWYɰa[sՏ㮏ԕ4C.rȐ!VC`ٲe2wJ-O=P<Gp:2c>}U񁅶PE;SeGjxֵ+ȸqq3v|oL T&@*/{f˜qu0vy9e$ޅ :wJ?7TZMH¼<Bv*$-knfkcQrYTLT%Ee_O%uv8OE-zPTR HΡ8zB@ @tcF(U{/(Di oP֪pza@a ʦ) +G#KFPjkrM7lΜ9ɢp\6l0wcݘ (!VBYIIi7Lpy9B]^uf7:*{F(&-]G#%*^}'0 ژj۽[N:$sT ezy.QlclB&&L뮻 BG&Q?|9ꨣL@#8#eAш˜bp e녹e= q:m fR%9ɻn=C\N+`@oɈ`?nSOՓqdu>̼|r'˦n8)&?C(#5.p" 3" M)7J3RYC۷(י9).k]h)#Oe4x=NjcH>z4a2@z .0K.5#^!GbF$6&Ƃz~dv~ևS _'ν8@ UN]?ALtxPe()~tiVk`\G}T.2yWc5Go}1e`r U ?'51RWmwPVc P${'W^y650;Cj 7N;M:蠢#KժLWˠPƕGe e䷿dˏ~#9dum,pGpGpGpGpj|ɧdi:묫k{Q 3fȽ+SLwyGMfk=\b-ʜ2Zy@͛7O9TN<ҒED"uSBn%C{Xv2CPgԳU$'SN*2yȔdvevVhi&(}TwV5e'lE4͑\KnGh~RCBD5PVD3>%v*W Cjɒ%2jԨ,7; M[ŋe 6ߡx|P8~(VlBuAv$f.|+ j:k :ԶTBw~X2k,XV򐱫*3Γ~YeA6,e#U]^}mn3 eTeuj e˭CO5dA_}sү_?#~639kN|b+JBz(~rG BYjKSx]uUr7>Q&lwۻ2pGpGpGpGp \3%@(//WH8x:M"3g4wyP!$"y&ٱ?8gupyYTE76"JžkP{~rw \b# &>>} ;:6tᦖ pu]p΃#N(k?) l$(.P(C'4U1] 9e~i/IϞ=4BmE $C`6zhKd6 E Pf sqoV{keipAoIW)2H2|BY~E]n.EûvaF]o̾CɟtiK.bmPf!ol$UPF1N#A% 2~=8#8#`p}9`j?GjtiR7y=% V#P2JX`˜s,5T(x+F  ˻_sg /{J{lyhJWW-"wTeem5cK[e+dsV`4)!N0L74I;IbO YOVtdo!u!'N޸4Ir:8YӐlZYBҡZ]^n˗#<"ƍ37FjU"@d ȎxW?Qt<|[2UG[&nzC߾}pQ(Xl븼ľs bpBY!o#B (2>j0k|7~rLu>M8Qn&cZt|B`eE#./!0S( ec:t1AvCj[|K-BYsy /\z饂JY<z=niN_qYN:$4hP;#8#&,zSդkYd㜄Қ({YG1/UU6֭ >CPV?^#о3{IϞ=d=sQFEkw eӧO7U(#]xxQych/d!=r oYt@ HWީSMww!{o,m}\g -WB(S+CJKl s9p:*qk#8['K=qɖ4YAc턦Ŭ "są ҄ꡆ|k*"e q)*73s(>b?N|<)cct`K~dp!uYH{J2^R9s檭T +MN-;h%2۵Dz6q/B;*P()~tnn=%3mF.84eI^:]vԬ )s5Wl ezR e};Q~&sl+": 9dذaQ(Cu=eP6p^~e9 :2'HPt^}U{OjLbOS1 ;M<&a_uU iNs9L*)D .((qVMKrK[pG:-_n+|֛[k|\~0V:F2IuSc;C<^YV@/VMlX!Q(k"ɥ P&8!e2܅zpGpG`u"`I BNLlGPzt H85*b>o#& <x Յi#F2 85:Ō/\󦍝+ yMEqo O?M}')| 0_ϼ*C@Yث/ur|`~ j{i򕯴* zZ/P̤T(UHR819Rym7)NrXn=lzҧt?r$z2$y AbG'UčK5QQ Z1R./CVDr[S>H^:[ozΓ߿)LlB)beP愲Y9 %oC:e3\^HEgisyM eG ;~aqGaIctz/"ylpOƌ%ۘ:MB( ./k{>2&#%2ga >wsGp<0+ IZ&k;aeͻ~k2[pkRU`ޣln0X~Eϙ3g޽z 69Ew-`Gp[pS&=h֬Y4uW^yxfu}بP0zeܹ{/"}#1 ߰BN(kѭ̎@a"eoSI =BYrĵ^k@S noIC8 YrꩧiVukl6'_}y ez,!]^6t \}6HӹCa*J :2#{P9 e*sg"م^hP].RE]w\q UA$9rdwۜkkN/ʪ&_\Ei %iKuˤ۱GfDzEV-2lرHpGpDXV>LiE qr5r:^櫚JP1(Ƃ.rhx8ňŋ>g~ +I68xq|l@nll2رByR'tr!F %C"^w(vU,f< C0.عPV1m!1~wuӭ2KP|Gw PVUm-Ev?$8gZI$I*.>f7ݷCD0Slt.Dd!_ Q\(rkY(Sn= I= @z4 KtQ]z6^ J(W__Wo}2V˖-4o@LŖKȎ7PDկ~uvG;N8ƅQ-\2@#,⭶RP,T<'2C ʖ+zm֑^@ K]B66|s 䠃jJwHrN c%>J ;j1-D&qyw@o*6ȑpgҾeX^9WnRhWԐg{e %kV Q1\t7Е =MZ:{>Hj֜Z;]% C7F eBق uMp0yRHӱ_wuCoGpGhtMW'K@  cr u(–MtEW .c[ݾgQ#8vTr)ˮ9tu]%F!|ZV2(CsyY*]0ctYН-?I|&1N XyI8Ҩ':( `zH˄+dg2gN[?hӶK(˪$K6BR͜=`&^7"$,n}rv*Pƻ,vHzJc1@IGy<3r9~z,nCP|hD\ұAw߃U.9 e퇽6jW,/&F/:Z[IpyN~%C{רʭBTѼm?x j "#T@P6u,7-u[#|Dɋ/h+L|0n 8V8_JjM7z衶*wnKhn.=j+$BşgrwXT.96mCBɩ VjYXWB$w(ѹfT`S'~QuQ2mS& ܅PQQa.D(FA#8#8#8#8#!E_}sV|Wv-k%\"{:(k)nf]|ͭ_tEF2^olD‚g m&Qb/6>HƍguaE֊)@.oVA po;H3B:i+pMtJSw8OZYD*N(wh[om<p _qP">\&M2[ٶnk9J ~5jd@,K~xr瞓{k` q裏>j"2ᄏ+}2 eEyۼю@G)XXPVZ.#݆'%4\Pgv2MX䗿ff\yR1lX2wp]0xO~A1rK[lGøn #HK"qcYoq]zBYD(csɓ4 y{dr 4kl)(mVr˷m#B}m#oBYXhGmv>V 7>1) kjj;jtjYiK8;:tz)$׿u{vŝ(OSBu5>g|1 c.[n.ÉIP&;sc)JpuGpGpGpGptX;y: 7#F0cMCivyg[| A*5bPa12Bbgϖ}GPbNԱ+cƌÇ'dlH[{bZ`2Q|H;n;q >;jY$gPV"]O rףG-2&}0ⓞL>M|9-32y#2R2Rx+3fݷl&'!Kġ.dQڸ9A\KVވX+q !K:.94 BY*aRNZu {R`Nҵo}mOh} & (qe~ߙr;cyA þ;Pqؙ"A@}b$ڐGDM~ߛ}w OD\޹-}3w\9孷޲mOtPt<#PdeiA')я{P6JʇBY!#*~Wekzqb|2$8 m' |Y3% 轃<w̴Vs*E./z)s3C@-Hcǎ<ЈDfzKtc}DWdg>}zƒ.U Gmݐmꓰ/ OSᙠz%cV͹@(RBYm= ~P#|(yOx52Q0W>?8#8@C0 vM?I0P^?8c*YBNHa1G(W]pZa ҵӷs-qJGc!bFa=Gɟ'/isj yA;s~\ܬ C@p`\-˿o|WՄFofCb:cyr̟ߦ+&ld(qk 9|N"KS(RG5J` 9q04$Q^*HސJڵY11,+T9CZaV˷  ԓ#kN=V1;SnF˗h4%_f1 6Pilh2ʐdz10٠6tЄ0[N(p#\!mw!i f\QB.RQ?V*DVdG;.Y4N{g!']69-D ʖOMK 2Me9"(B$x9 gu Fm/71e0?| !|pdV![Dh@IDAT k eBꎴM=Bt E ew˗"1[XuYg?TA7a/m%䗲{7[ږN)+ndWpPvf[P+dh*luKxe+&3BY,C(vv;H#(A{'7 ;#8jE~^zIjhMe~Z8JϬ_4WfJgU8ŁB%YS%һOoVQf@[6C[`!tj/Tq!YYYi*7W_}#fˤs+ $Hr 3Y KW_=ZN\dMkt:.\Og2T,c=P:VE&Ol.o Ye؎ymIOk؝zt-hҜM I rގB s%悰}Nw@q}`vpb 4ԩSe欙vjkdsoXKji~'A PV9v2>O e]./~L|X$G=&DHQÆ IÅ*JbSR ^{e./r% e ԉkB F(:Aj[0p e @DŝB&_{_VIm>}k }g=Cdo|#K;dry1FbZ GifP brA>ٓ#ӳ>Kwor $B9lE(Sߦ((CZ2 e;syQ(k es:@q V;U Ǝ57ܭ=xʡ3B݉Z4 !A2XY\k5w db3?Μ;`d\[P"aP͆nT _2oџ|đ[q5}Z=rOP&>+%OƂ)9,4%ΗIq|`זJg-Ӛվ0R֓ն8}ZR҄bD)=vP( iʔ)J( }6mm컫̜rPpV /B"C\B n*no~9cB۝w){5*BY*)bȐ!N({#./N2,>& Q0HU>s_th>b d@'emmN=O TBkzcW{;#yg+*_)Æ UUxZI򝩲l] 2bPrY~6)o)jZk86>N&RHW|5AfS#E']pyyLV4MMbFv[;./GpGV7yok%"uRM6٤ImVpG`6uS%*q$cX_~pZYfX}ˬ=zA6'ҚxY# %z!u60H =6o;u1ߙ;N/Qי 6h,s=gDPEG]E gpA8a&"ћoFd[{P˅xNS.JfDbS\;IL:P~& NbrWvu@ ć6͓2XF`oCqRC**JJTd*IWgףt=qqFPV2[QaD ekumB!A: ~oMX_ƌ#N4 ꃄXn6#B߿ʫP8̰aì|$5ǪRub 6뮻n:RZ]~\}W;d5x:/ϯC(ga}5l)~BMyVM/tp t"@]1#Iͣ:•`je4F+G,`A`޼yF\PFp]#[]URsA(V8 e'X tg?~2bUךYN@P~5=cxoV]cS8yNG`Hen^jFqǀ֋ eWMf{:R ꍙ={\s5r˓SMuGYE(@mIZ Z%LyG7K(=V[py!Ɔ垭?_P(\^rڎj)9RƸBYJG(7q?\$};Vty2%%'K($B|H/W^y%7t@YI9+H293}ך̙3cƌ#-Ll{̱PV5%XrXv#8#8#8#8#С`1sǨm1۹4)uqs1#4[!7l !}߶9i搏8lsO4ɔ̘{ƅ!bPI\6BYmflQ bPy~{ ,yM b $7zI'afUwc]P(S\GP]$ec<PLF4~I5N֘o+*K] EU.KȤ| |0wro4 |a饗lNQ#|ewňdg}uK3X9蠃\B+Tޠ"b{BH;Eړlk|ښMe./RP./&X E0p@댡n52$C%B(3%à3ϴAmT#w8KV) BrA;89~w&[43y睫D㍨Gyue. %.T]^NwLD(;BGF(GpGpGpGpG62}t7; =E}u׍.C8CRB.Ǐ7[zgs︪=z 4(!k<#r1]wՄBY0Kp[  f̘!믿d1?xSRþn&yL[ ' |pA[AL(QY)| 1,r1*acB8N妋';O%z^[jRP@hH:>lQ=VQ _9!}ta?Sg87DJ\HN. KLIeI]<%c.mL(O i{ 92)8wmz5A e3vm]?}<=76ƴӴ/N(k_vG` P?5ʚdau!?e!J9B fsp#8tP2;䷺%Wpsϕ BU5DPw}[V@PpSؖeMU+hJ]sε>`Dɣ>ڔұͭoSeĻ"RGDl{cB(cbb/GaVngIW+m-*kw}SN1oA%sg$lr^{핬t(TBYʒ;#8#P<0C)m1^ s%RG`F&kt@ا¸2np)v5#]w/* e6jԉ v?OTyj~g:D eԙh zʼnr҆|DG)$:EY~HM@v膽MqEE4 L|J$sqZezSVmCgMttV=nWgPg*$mM(DCY~ vZ3)9BSsb8 b[[m~nK'| 7h#{׍9IK_y{7}C17pPWĎ=16|ƫyѬiҚ\3p\7AFn6;5P2C C(S @GlPKs\^FE5/kXgEg_G)n-Cx`9qg#BBYii}b0RG QV[&itWuBYΝ*CVI<:Q_#[߉eUS./1hأ PAMsαUYJ :JFYYl1NnhtF`7dPzpy epGp b -T:AYr08~Gd!Ce<:bDn,by&`d<փ#X8J[yW>B+廃!sa|;+9|)s?6δ1P:cs#g0G}T?ρhsیrB ؼ y1gydC~)vk bL%%ѩ%ҩ+@ vK= icucL~CAFIR؝ɤ'jWb鰛OdՓ>8aLKQ=f Px6טz4/C**%QD:`b3B e{+wHNvD z#_z饦Px@^կL 3lȨraB$D*^~}-`<&55 A9ۦO{6Fn"~\7XC 'JKwE^gm[ؾ@Ė: e8s^ w)Gqzɂ>]C>A(.82 fIE(SO 7`[KUWs҂%je*}1G s6[=DZJ(+E-$]E}Yư1sDuKvKB=rtk#ʏϥNZ[O\H}DTv/a']cYlt1%|A􊢆$'!ݸT2qzBBF()7&FvP##|X( B`B'Xx`h7^섲BuV# lmW@,VkoQR>8)iBOS#8#/&O-gNmR&Y Qo#>0'jF u#2)8P>ku; y&UcF8'5M;_c4?{ߺ}G20!裏~ix`q4d3'_q6}G6rW7ţ2ٰa te08# e'RWF`5U4n\*F&2D ?'6Sf|` 2#<+;ԡ9FD5D;Nr$Ц msqPFب 鈰TBY92+DmV*CvS|BBտE e>nzIsqW;qDsKZǽ[xA7FCBB'$=w*96fA4i޾Ɇϱ-hK>%Iң]BdKƮO媨0ths=&9$ҝԋB F(:AjЛȀtF*l+[MmC(S=L( \^ve'+h3:+32{l{!qCVϱ_Ee)IK1`qBYmcGpG(00x1XH(Jԍ^v9*2i eN([h~(0G6mί, l >ys'%6 sBܖyFo̙#C'9hr=PS.}F!(`6ay׌XwPFõ$5?i^)""٬Vҏt 2JSh׾%ҹΑf';"EE<b RDYtzOij 326dI-3hf!M\Gz'jPd ΦҦU eByq=\+2#ԓ.c _q1sئ7w}7QjMتvi'#8g:7]!b,Zk-ihHAnv'ǯkC6l (tM>dyK;sܸqوJȠ Y?߿5!@(9sbj2x}' 7ޯ(BYIaPVH-Q(;My.Yj]n䓖 <I~򓟘Y ]Pna eMywbSBVPVld;ꈿ(y4o\uS?]tpO(Cb7~-U_WuƄcBe0X,CwyLuGp@I?VwCZ&8D&tUhcA^7X@aRҾ]׵ap[n_j#"YIϋrQG *6KBLNTP! -EIA72 nP߿ʾ/'㝗^zH;찃 nL6\R$+wԱ˱ꆒ-3Q&JL^{@kYm̘1RQQ57^H WSBٓղd.JRsd:@F[z꓀1AQӣ9"yΑ# eȑ#C:[GA[N"BYP({aQ#eձ#";jQ(W?hBǏWk/g䭷޲6R,!/3[D.'wp@:<;̳4)qN([1YZ\fwyɝ8#8#8#8#tpy'#m:'}R}KMA3f0uda3e0w a{1vŋKXTz%sܿ!@ҸU|!Yp*@yd7j_STʇOy[)5x~MhC)臨<S!GIHGaB$|h>YqM3|r nKg:9!@ʦ*l ^oeL(+Vz,2syI_, ႅ 0j=o[%-㯖 $wqPvL8|pGpGpGpG(bd<$+n0t%)J1,ԋ؊`[BҸDMgϞo^sî4)ފsNЎ)SȄo|9n.QsqSAdz_)s_j=e.*L X!UáH-l?Z^ & z2Ƅ|Ni8ݷÜ6IMR[] ,9 &h%u1YXR+++,#ѿKeԾ: . 9Ӷ;؉pU]3ΐψmۊmԩr ' / )He(Xɵ)7;b"{/nx`'sQ|̭ %F! flcS0MC eMS;E@ - eF(c,V(+@BYsOkN{Ɗ=zdE5ms U1\V!PphF( emu# HL]^B>*kH éuҥ dvU?z_]N?tS9,-+.\=՚ی˗bMN(kM,GpGX`xL3qփ#EMÌM2U+Ѵx[Y`\)5{H'%xpCE3fRiRVݧOo9MsEb;@<{G&馛 .oq af  e6,u􅼝J+e,}Se^J /̣G@m`z`!":Y.gRZӘzBYq}y m i0NCL(38C<'Cq!]^/k   X[h>= 7.؞v +VHL13T\T,c=J>;1 L%DeFRګԌ$8VvKRw_0ƼU2̛7ϼ PvI' <]Ε%K=2YK]y2]-僛l;R]t\9vh< J Y]/2[ Ð &[Sqc*2,OmxK q6nsTmǩکimA~`O=ni2t'e!!عYjgzqʔ)fN3U}nKD́cj5/̱=sꫯ߬UB!̣O<9,;]^z%#Z+K/5B^{<[ovafi"H=u+)(Jl:@=An9Z(kյXAYr=n]^:zw2%]^*ʊR󺿠,{ZP6a'SF$*./$@$@$S{ bZ$Iw)Ǖ`VqM#‚}¾*'YqqݍcUS>2&?[Q' ΉH0Yr#]7͑G)hp@P \-ͲqO ?O=w7/7"?ФBap!ܓepeŕaÌKӆZ]+M`iAYzSzan.rX(+w]^FZJNZQ%EZVkʵ ˥ejL,˖A!o2%== |},6./}}9   l \ eKAYNT$_ oA>J$ׇ# \V)TPq>*Z;n,eA"A MYXiwpDF:Yмrm>u4_[Arx"ܟ=z,K\~(SN5Ve5ITns]La2R/f07-d͘{s"ܩɺ\3K&{uW/ۢ$U[7MF ێ.ZblFgm0d4HݥMMtm& j>jrtxH2-.ݴq :wrA wZՒ7=l:q EZ^>慠luCeVJ'L,0 z\sFΒ$*AY3,Vkec%:./ 9*./}C' (3./i̗G4{wo<BPvD;K:@$@$@$@~#_.e:ۢ}o@O!yK-\Ә3*.. NP==uiZد*:9jqH2X)K8kק=ʈDzV6nv3ps d/lݺrGbWv~ÓQ+e +yzQ=a},,(4F($z\qtS ^O**4OtCu:'@t] e@i>kY *t%=s3R7%8V5*&K ͦbA2԰y '$@m#zj?l% 2t=aei "*>7lk"2|FPq\^ oaf7 (Q"..$),ReƚjK0Ǒ1HHH;9Ux$WxoF>-wcH'(es6%  >n !QjX)Dd2dHoϾ[3bB ;0Ɋڷ.ml !6$ ^:2 t+9"Lur*WOw0# q(!fVI5Z-UdE4ӯc+μbl9-bҼMF`ACh WHWH*%1@TVNɐi!8EZR !KUUZf`ҏxT'h#+(^5KLЫ )[Pκhm[-m5*)(g2%-sz2<અhTeץe SMg̶߭i5eree./OoI9ʮNN t)GLVZLc5'h$\K~'P]]meB2Ouݿ_?8Hd,zif͚%O>[Na9S'?{]d8ɘ% <7!5:D$;,tЗN3fzF46o 9MStKg@K.h;Vaۥi/+_v7 nDnhˬ:-iDLEdj9.QRnX(jl!)\9\%h((kAfQ++(QA~uYAYk./}yALB;2Nŗ-O DIJ^xqyuPXm+ Aٯk]*mOmBeDb$@$@$@$@$@$@$@$@${,޾}v#.q%bQ#GСC%L?m+ `V&8 [㎓RZi~d˧ ٹ(!1I2aLAcke: buuĦ;ҒSޭ:u5Xմ!Omvv}|v:;FP wzgz|T\(ʴP9=b+%PB~:`D e%|$@$@$@$@$@$@$@$@$jjjh˖-Vdт-'un.{13gL1i&w}b2:뮡jGJ~]K*OLq8'u* i3ўu[6]in7M1ۦ265|혊ʣe1%iSH@Q9՘MdUbS$ڊTħ¾|THNI{xaun 4egŜ$f@IDAT7RfRr w_ ePied=hV '8Q".oH,tg ڑrTܽGݣX(s((କHHH] %uLRB2l0}[}FiX @G$q)4 @~]ttP<,HO;v5kȾ2 &C˥@1t[6m2bٳs`SO=Mf̘!'xv}ǎqjkR} KefƲndBp=|I8u8[ov[6Sfu&d+ўx[O[̻<-לvlVۼ$mxP@bCֱ9uy: @p_gH|o޽SPd?BY d|8PGXREIx`@4;-oB٧jBZmHO_z!X(J%} HHHFV>35 ,SNo!&۷O/^,Z^%%rĉnIO***mݫ 52f ݣ;BIukfROĥON6ړUg}V~裲lrNɴig?~i^L>&:Ke;NȮRSb%ym$̔C>ߩduMrvUeۓ4uxSuwnڱtU[E L?TL6D?Cf; 3 t$M6Ɏ;ԆHxׯ\wG6º`)kaIf'-+(X(3w&г)(y&kl]^uD,>E I~ӟ/}mhǔeRKIİTz Wr#0Ke-r΀4M|s2܍֑^ CosA@}xm#nӲ춻4vF26s$ !C =RV,YX_{&@$jjj$.\/1PPǣ>@ efiMkppE emŭ,ʌ93]^vY ˥rR;_exbSt0$E7]'gt j窻RS>-tyǣ> @ b{$Y[*$}t=o$U**e]M{kPWƔ<7W; ojl4S7cx+tBx D-cȊ,) 﫟~Tw|:mB_^{MfΜ)}*9rmɥ]* ᄚ}Līu(]]`BhkeЇԘ ո=bH0rK47:`^paS: lbs# K |fClvlr&& &~yqIFnV?XOGrMUnezi*ScFX% @AY("|'$2Aۂuyӊ]Mgi֔kMkrFPB]^_񙣤Sq BMxW'XAu$Ĥu ⛮TP "`]^P8sҁ8{C$@$@$@$@$@$@$@$@~#CIu_J+ ܶMd{$U !YԚԡtU@HT#&HJM0!Ht[&Wl"d1=" "Gd lUYgM̩éض[JsʣmTW|xԧAݎ)i嬛mMXA014&Uª@12U BX6pKhH 4AB;B4[]cɿ/#&;C[n.HlKhHy  $@AY^6v'UHzWPf><1 `+(+hvmIG$QV#a?ƻ./)(k;!lc,-(s-7ŊnFCAgRM>Y eq`=vIAD$@$@$[q9o03|BH$@yAK@08~$ @ː^py ח $#})ž^*Ͽ.65}Kpj{U]U f!^묗4iȏ$b&v٭4XE2cIgV yLFԭT` ()IxD #h=4@Ld?|7f&M;C.b8p z& =\^{CQc̏G}"6pe9P$ĝ "*(+s.;#({Xف!} SuvH۬W:#fPe2%OAsWepW-(ӛCGPvzBD$@$@=@\-;,[L :`. a0a'{;UUUf/-Gu"xԨQQ $@A`flޢBJsȐ!C8?v$6H߯Z$c}Jk"2}JM]q0Ub\8_,VHjb:M}6SeױD[қն~x;m+(3l$vl62x1;׎?F t|/:ZYCc%4nU+p+C=d,U+ֱc]w%]v] h7vuԱ-݌J:) e͐@gHv24k|poeg& :󠴠ض2GPI {)zMp, 852k>0'\T;gOv#(j)@ej-_;vʾO;30}@eJlz (-9|}bޖv4U !w^YpaYT&Mzޤo52 ڵKVZ%{1Bez|A-u⋾?X&K9IWo$0hʊjV6mzu7ɶTfmtK'cΦ'68nf:UVۢ$oySV1lf77v!)XZ"P8!. GX"{{?X &;nkVFqzę$ X|[^؂: n^⤠,YH (T|L.ߺMTAa4);] }Vњ"ye[[ kjMeTxT-wɈz$Zkve@bշR3R\%r |(PR+}+59Nwfl {ޚZS&W[mdo׷'oMjH虧Ie@$@$@$/͛7O?>&LFA{CMH b&sNNVAY>O2 +(۳w:Rև8re[$R=/F .ø(&Z1v 9/g#7[Œ67c, ]nj|&+rbuQ!u۱tŶm"8ڠ[FEBDCѹ0藾fO%r)<4{ n`wޑ3gG~({Ւo4F)pS #([cBe%r$@"ڍo(z6wl)R4fkU,ԁŶSŀd&عOqjN:Tv#(7;D zT=>%kyE(Of_@r& *ԉX=lzk]nRx( C$@$@$?BF'><w#he-XL2M4F1EbWV- ecƎ޽z ~"կ%+E̘(8qr6z cP?jfa5g@2>ϖ-̓lWmnCڱ;`ѥӎ(qtX1M42# c34j^xxT],/X&Tcƌӧ˕W^)Çez_$@$NVX!BYP~3aFL eՐ 4N MV3f_ UPzq7 IH_}˩ߗv.׬؂[ Aw,:SrMRpʉj Zc$@$@$@$оn}MFP # r-[;{Ծ6 !q4BAA 0ЎZICnTZ>}Cd$ЅR*}2O^zE_/w¼ckA 5Kp +Xj3R uמX#B~z3hgM{hҔwS Sc- ƻrc-bTE۱=uMHQcƻNu>VR+.F;vHjI#Jqn|xX~{Rp43i.˸!&>1\^uUd!=HHH1@EER5<ѯ? 3 t'~rT-{D*Ƚ57! 8FCѡml؇Vњ25w:(_JŀJْݡNviPAY)B,1 -[TuBχB^rD/o%|:V|2|`,[C*. ŷM@QǎHHHHc 8.ڀH Zοcpq7K݆OZ7*Mб;x( OmdM"΋Aekq+Zx"4qr ϕeom۶^om~m|co UK*^2 WJ-o%TEW~+EK$j FUl#T""EW\*ɓKn &O{{ψɆ "7|\{2zhɺɱn @GȾ̯/pRPg'. RQRlUPQGw֎%PtJF6wޔ5n=lq.ԈsD=TZhvW |:CBejdƭvxҹJ$@$@$@$@$@$@$@$@=@rNRۂ1Q3 g|\Bp8X:ٸY 2́0tL% $xZHWO_~6/ģndsXAȗ^?,R{ 6X%uqIX0 @w#@AYw;Pdķ},UK'ɚzOy D Ily@fԮ}Yj׿2QK*Lb_otk1ꢿj>>t)>hΐ %۷]l]uW\ dbRW>}G*e @mm0ODŽ"BWi/ t-[.})a6$g$|$^tj\^:umuMuIl4G" E4]K9t-MzӵdH;RQF9b:i\hFח#4#P|g?X>_"2!+nI<@Z&őb'HH @\X]vV~ O$VT/OAY× FzIላ>ڊ=CXXY:kT$IKpT؞Ͳ.0|Fkye Ad jF|'={j`*q'cx{J$@$@$G BY@Ca>TRG]%%~YlČED&L *Ha wutN61BJKKcKhg~T=ԕ 3Fx)$r()1STkN{;W}/}T?Ė.Wdxf /b]=f71W_}%sFLQW_-7|tAz9WIHO`͚5yffB-{Qѣvk霜ugBN Y^W=.9m[aɀ~S$z$T<sH%v;Rr$kwh,fԇTL%#%z> >E)M{-r ػ)Ul =^~6?t%2sL̡2)B W $@$@$@$C2o<}A_JXA6mg.v$7.Z(5Ғ^2yd),̿w $ ڵKVZ%{ cǎn~8{@ ɪ^ޒz/4@-].OӱA678V̪8k33oک3+GfFegL'5~W-I Z4H_$_$<_̙3_7/^zM8QdIH/_n^[<Ç2C @vl|]j}FR 5 `tV/ls[}UT:a>1 *EKHlFYK^Hn)w&"҇_MbDxX)IņG'ؽnTuT=T`@:jRE%RrmRp±FsHHHϛ/qtB֌((ǖ{ѳAB5JMɓ{֙g*vɪdϞfHOe|@z˖ug%6SIe3f\#-EW_c2v-4QGmiC&֮YOJ'x[cB;)$iO/wb*/\nV,#{J$@~%K(D,.((bHH$SZ$ꍼve9VKtlƲ3iZVkʵ pOT|Ķ'իHr>w Č&PʮUдhԌ[eI$^+Iճ/Jr׵{iZ@Eq]~F`W| T~Z0o#\+ژ>HJHq㻺lHHH %%U[H$le6)n T+VHmLeXKIZcH{d^:SuWk$wj?X*бߺ$ej{*5c Ε@^yo]aw];PΔZ@yRKܢV*3P5鋵H1EhX&[`v~.JjLdUr,2$73g [X*- ^j,HR|'7oʙ?S55)^KRuQg޻ *&  pu{n}2gG'\lqpKQpO]Rq^PXJur<9& (+*u D8K{:Y;R[:3'oXWQ[ixg\ǭxh|ͥmKQXP85TT0@ :])r'֜=ےЙm_ie@|BzR;_xu`HW~_.:_ @#ܹK}Q|[RU q4/G%4jgk(57P i(i_-UȎwcXeEaqC*Wxߗ.[*?m޼Y /;S &+jq @#@AY;F /j*ZZ%OP*ULz j}_ePJJefNRwME)em/hAk$2xZrR ľZ$UO?+}瘞kR NWf F6<ȫin̂xV݁HXRxcLustd^HvҧƠRYa#rma?S"eSЅ>:2&S/zTA~SqĢj~f6t۴KTqE%|~FަDE $@$@$@$§KFQGi&YKH){ŋJ:iWiL8Q]96U$@>!ɦUV g23f'=d7HkIլ'*Q* Z+ӗ?ueZȣAַvXN\h}^kR5yIءcxi'LIhw$2ybV݄kg}X'[|?c?r)RRRҵd$@$@ݖc_^mTNa2~xo;MAߎCEbMREY Thkzco0 }\BY,m!NꗻiDfC\lMvۻKN9'yȱlӆri= fzBʸlq7ԪZG[Ny4M) N7`$%TL6F\^)lj<<}¹2j0,g-+* Z4Ӗjzܷ,N^rYm5ll(~L[Z-fп e)_[ȣ*& 𼳤ҋ%8xPV$   lyz"{֗MFA{F9 @p"5pV5GNO\D*J/u.3AW7)H7-BMpreP4-P"Ov9mʡNMC]F:myiyWζ]z2t 5eH_H1$@$@$@yD?9 `,,Gueyt UBQbI'j x@oe %c0_v$,Ue'seN׫z8yOA 9S# 6_K|F[:HJhRr-r/i&= )gx@ͣzm99ow^9ԥ֥R1)QIR82 lq0-Rww$f /8pڦ{g4\vi+62l=定&zF7kgJ9_6li"y ux˙:ټf5B8$m}3u^O[l}D![x*$H >ҘUpI$@$@$@B VW^_^P8sJC@Z6l( ` o?Øe m6k̘CT8P.'}vٹs=d-۝3s޽[C Q_ؒXtw5A#XKouiA #¦)G>SێlV= lRrJh()Vqx8GzOd?: ^9eƌric{@f$@$@Mغu7X[J}yРA:5wMv/#-e d$ULVMm{_]#gj8%eW+gG\4uGe~mLzo 3 FuPGMr{c3҇޺r RףKK,)ttRKlByuK}pWWfϞ"szQf-xY!9mms yҢ/S}<m$r~)Tihut=ԉ-gKƹMzV[6G>ou'4j"tY $@$@$@G؀Ah4?&m$3Q dF@ -((@5 @ndA ㈎7zK ;seݥ4`a9餓㎓s@~zb*?sԪ,`,[9[n³.޶CzZ1`|0cLkj)eo7,UOQ eu2SkX,&1p3q߆{? xT',S+eHlߤv\uӶ'0Х]5}Æ} &ʦH{m5O]XC-gn+ ķ-&6 3gi6jl <^`Q% L'TLnߡ/%5(񯗪ht0؈sPMH溂uGu!žIH2XAtFgV,f(ۜr&NKۖn ngKM drB[rBv%XkqaaY׿U>f;ԅcl\a"?;`e .9oÇu7;_pmrJ#~/.LqԹ@IDATo7&].ϗ{O6ol,u]2zk{Tjejvg:nne:N5=#װb:V:͎ b2X{G䫯2psyw\ a5qpL$@$p[[ 3GHD1@A D$@$@$@$@$@$@$@]Io/YDtFJ5da\Tue6 @njO<7r(3f5rc, ޽{eM*o^ك\JJJYGׯ|Px [n7;m6?a\5bK DŽjԨQź6~ݎ>F!ڵkMgyF9w6BD?kvRͧ }奵P%lrך?+cf4;CVYͮɌYc_~/ic /_7ʆ;B/<Ѓ`?\nv ̵E1s>HHs ^y֭z[ 0HK3e{n5       =)9w\[ri|m PAYmL{G P/~!'xbNQu7)0`qFc `)믿~XKK+A5yADLKv?OsB ʬj'X(+SA-JiZkPYڪY6Ns77_=Q emAsyFPvT繼\>C}.5׻wy|A}9ia` @7"|rYvCAc=y'L˿MuB$@$@$@$@$@$@$@A R*(KAP`ï-cY tGiAYmLw/%z9'҂lXP}v={<rꩧO~9rdcߨe˖K?\o\x2cƌi vء֕^'|RXbԩ9y^p WկUkFn1b/')3,YA$cP5jj0%΍luZ:\`B]Z:wTҌt;ț׌z͒PVZ(}nHX(dADӟP1ٿ:Pn6#T2d/43 t{FP/V RP9wHHHHHHH0quC=!'K|-Z(yp_[PPCp7I -}{ugRVKF>@|sxbmL?}E~X&j[l12aa ` @ݻ LhNHX~u9sȔ)SoZo}*Rw̮+wzUSv4]nF4rِnyfnڶڣ 6^*(+s\^BLoߑy Ǐ/z\~]0~kHHH+ R7l0]1BYW)lHHHHHHH|H-nX:4pbH1$TTT/H߾}UƸ1D.ka+An &+O aDP?cK?f?]V~yWRsRSScСC( .8v > o*@L w{%KU;NP+(sEO*64ngjllҭrB seT ow :nKCs]f2NPs2!s\ƍrW//  .&G]߿# |{B? xT'       ba~-`t-Є5./'MkK$:؋/(5|;͆]eJ?O#~ARZZ*cƌ1KeR+Ufs#!~>'Wuu/_正~>ojCuu/_-]?7Lj e-zCZ-jxqyʪw5b>Ȉ8[Ço=s tWK|n~g vD           3pYcSO=%sۿ 2{eDB/_./@86j(3Yl2c /W]up 2bĈgYfa&?堃JO<,FnݺU}Q#H&O>Y.3ӌlĸZj'(C˹Lݣv:Mo'[g]KZPL̛R26yp1}~h, >\O.^{9ҸmfY ̝$       0}b޽{ Vp;;97HH@EEAEt*4 r@a d/Ԭ@R1%?bzI}KoFbaܥQiYVݻqXZZ /R[͛'3f2AA -|Thgݺu2{l_*r\iw PԩSlʔ) _[oeA Aj5 \>##9cx≾XAYlg"[fZ(kZuV;Qsv e1Um't5./j?ƿg{߽.wcx7ds,"K @ |i&sO$e9f̘&7[bKRPzv,I$@$@$@$@$@$@$@ݒ&`͝'N^ui|5-sH @Tp´e#P&O>DlλHصk\҈S}qco; AA]w%2ܻ$UH)1X.(3x` ,AkI>zFeApdy{~2B6 +(?ca./AH kMs̑joD]}]Cmvv΅KۤTK|ŷ(gV*kӓYgmv&ʑQYF3J-ธteIBm9}eΝkę}v8`\ve2}t9+   X|y! J<Ç1tkY;z((h¬HHHHHHHe͗N D)(˳AYL]pii/|$),($ 3e˖!Y5'zMLwW҂2uy0B WRe,a;miZ:8+(K@./ajNo=#;SK\^v.]ԸK.2d]^xB.A~O11뭷c]Nh4ȷxb#h2Ʈ%2 puVӯn!ݷ`#CPVB#Dr\^v,>#tu;~,2QNh? e8a巿K}v;7kFHHH TUU ^@߸}XҏG}"           <"|nɈʚr=W^1g̘!^+_޼~ZD7|ce}|7­nB4w>,YD.R9/0/a裏LsMA?uQױgr͚5O١*7xY͂ {wyX.vKBG em3z©%-c ʌ^ͤbǶ9h"#|ŗb\ vqƚ`[, @nX            fشiq3?B"V?<@ V h(QSckNI4 \ X,WؼOE "njJ-oQ >giՅʀD{X#}ƺeTc PCPGZM F咯T|˖-Ƃ.\cSLg=u @O'@AYO?$@$@$@$@$@$@$@$EjDULD"͞T˪$@]D{- ǵ@$?K\BUs.@A+c2nܸ1Dd˖-3ywe3e&,q2`#`=zhK ? x5k9>gypFKd l{SN9ň`憼nyƍ N?tZl;A]F7@י/MoXP+//OGbXRύ a 6+Cs'|qٿtYo[-]ae}7e+˛)-ZPVU=+Dp4#ɓeر}Z'ߧbZPN؆[ %-(ł2mx^4I/Beԩ5|HB$@$cVIH AP]APE못**" W] E!{L2H$.d{߼;ͻߜDhӻ @ísڃ-b \|3. B ''G-Z iVau)Ca Z[l+WHvvmD \)V 1:,t=\vm~ŬB_}Yִ֯_o` "XN?tKŬ|'f͒ &-[8 5nݺ0͛7[&0W^Í?Oͳ>ۄg7!>a]V9s +eņk>L/ʠA䪫2 cPB,l! V` xC^!S[3ƔiV8AHWp KY?4 ؠ,|% Q +q'N4Ay']vx\sΕVVz5_m`['(ӓAY%jӇ^奓,y6'?v~:bFS)WON?Owp v [ȍv|A׊KB |qvBYPVvA2s=g.Zq^y&{)+64 @5 ^8,AP!eU}       3Xԝ:u.hlr}1㬻 @ T0c fB[C-A|@$P=@Xk=6n2Ff1A Zvxq+PnfM4kzT=[xk̘1f?AKpy!Ĵ(Ö́%+BeTP&)zmrZ'sy٠AI@?O"ƒ @IZD-%&h$'Ɛ !Xsug!QrkַfH͕e~P4[l%ZJI$Pe͚5,]5i$J;bz\?^zrǭE}|vcذar衇V{5jH.+}w裏ڢe]&m۶r9 e̷Vd$ ʆIJPf NzGd&&s%0"SO޽{Kf%^Y+{̷yjo[oUG-_d_uTVBZi'${ R̷P2H+$=O2&).([d<~oZ:;%ųa2$@$@U̝8eji.c݃U%)Z(JlHHHHHHH)׽4- @5!P|.5\Gj$]N[]Ah)Sp{ "#F :s{Ǐ=X|t޽fu{ƍfkĉҾ}{͊DKs ٦M:t`;{lS\BBٱcG׹sgot';?gl}BeS (1B,e/\nu}@ .+O:$ŷ>}KҺ,q#c[n2j(9+r\iǴrPAbyv\^);׫u]'i,pHHּ( T>X]_Ռ33ΰ?ZM[0a`9_~B;py9k,4hnZ{; .aw5xgux& \^L-9!RZA1*^aM7$GuTY.+r ˀ3g4qo!999n3!L-|BaGANX" ;*Ȭf+5ѯ,y"Q;Lg;իW%9pBķUÁJÆ K6   ]F] @ 3XȀ%IHH4W3fz $PXݼy$Q/]#$aEnݺ&G?``SOw]ԭC$sAo˯j#8B^2 W_  \E✃iբE O޽Yf:y2./M@Pv <2v͛'~˒k!2d\{6URAk{>te;0yHmP]Peꎱ B~F9J\v}'} F $@$@$P ()J2XQPVTY' Tc۶m_~E epԫW/P{ʮNxP e:ꦧK.]dk'Fދ/[F^zҶ 4eTi8Depaiժ4o޼HeCuA\uaaV*[L@xk,M>]lbTZZ}&$ິ=!(˼oTP (3QeO>1Ag}ե*xMr챃Bɬ-ϒV)U,~';M mڍ9R?|EF(je==zW,~6^,2jJ\"w䷃jeea2a ,;ܫBwp HHH+$)1~c:(K vˑ @ %oƳjA))ҿ.ê6mdmy,C({2@5GF5un 7|>#33S:wTB0Y>U %T%#gBp ",A{\EQAZ(SV'&(˔B&=dML;묳o=z+M0B=fM6/5_;]meWP}+c91~qkw T%]-.{D{6r[n;tR㠠 ~       f"ewX3. (OP`NCQO-]Yjj T!AF@Se7 lCbqdڴiҩS'uWH em^T@PShfyd̓cdu6߆)xfx.G@,YğvirțEPA5l';A;qW-uΐ ʒCEY(} ܫ3F~GUdܗ9iӦCqHHjX2 UPֆr$$@$@$@$@$@$@$@$P `q~"Qkz)0^{BY~9H`-۬lVgfY"H `5  Kd $ח?̛7ܕ?ꞩB (./S!(Je UP6$(&-7r?ԨAr5_n֢Dh!rqr-11ﻟ*rG" ]l-[A;h'3!Ao̚vt<};IYۮ|3{?>l9*gƐ V~]zEw  Kx Z٢e+ءC\i,^HHHHHHH\9w>\7jT# rv*HARs!IšpWW @VJq@.k7'?k$%5YeS#@aV⠟B$Z V*bmybl./MP拞2,RэEɍrĉ͛[E]TUtBgvV~ &MDvQX*,KR]Wwmxb@xa߲E~XR:9/'HrgoPϝ]:qMwyGPs ڵ+- 8믗uG׈ïv_˰iuHrlN @p\/*z- @\\v]AmT@PZ(KIb2_N 7 /ru2j(9s%===5SSy뭷L<.Ws +#NWwm ,/ijZ>B 'o<ѬVa -j~5%%x,Ax;A{oy^剈wu1Zj'ZوvAцN=4uDww6^QPvrHHHHHHHHHHHHH`-,ʕ+edԩO`ec` 2C Aa!({j)7t\xRL? +rww}MP6`,c ݩ6wPA7S7^_e^I j O~F ʪKAYuzW       E "Z.DDH r8 @p[X.[֋W+O= 8?dӦMBE<[t^DdC N:I{'g,O-%@Pn6!I#2Q7\uHμdaҤI2=˸qd2gJ[oU:蠘"a9v`v6./-WAY'zeF'OU  D!{UV_PAS5TP5D_< ]aHHHHHHHH @LB!*)1IZޭ*.&A+WOTĚ7o&hCn:3QJZZ4jHe "E-[ڵke͚5b?ٳg NbAxof מ>Z$@PRglEsY44W\!^{nۯ$J?crE'xӧop\VVZ-/U+W͛%Ur uf6mnݺV&M[|l޲YpݢE 54`NUTTך7\f6-Knn,k֬A7w\{RSS:Hƍ%QeٲezLߛuf;va-'#v`,{)XB"e^r=SOϲ ;$@$@$FO?aζؚl O7n{B7hP_u4x]KA.HHHHHHHH =w}gDouao߾[@,boM(z*##]v}w]#d6Ȕ*({V} @_G}dn,!&h *ďX Žd!D]\p"MSA'D V33%}-˝ r{g䡇j wxMҭ[W ߃_fi $2_/۷",̙=Ǹ@1Ddm۶5kf{dkEs/O>EN9diڴi` <>aeS4ߩ"̜!/Lx\4g۰aC9kɇ~dBv߼ys9eaYd>Br%ycFBm$ᒲOjyD$@$@a&N(CO?C]^>U3]^:뭸NHZI'RPvBpHHHHHHHH > `p7SBg2X. C ?Y.Aի'zVk-Uw= P;olܰID-eJΝMRpUCb?V_Y*^xpy1ȑ#e} LMP6f},L&̂ r wq|WARk7ɑGYcmeeut vL4ƋHXK/5֦͛dɶ?U6cpOFs9rd̘1f4ttz0B[h [n1;cf͚%￿ݫΕD~S-O&&}X8JZYBPe:HU)j,][ɸree<$@$P <2|L]^>]C]^¢…hz ֵkĵ?^NZ(w        8!eXCHI,NvE UPME&(KԽ @ e6}_/(DAYxjd/T,rJ%\nopxZ*SE.ʾUAe-\]n̙r^u]ͷjoĈrih"iӦ5DV}z2wߕ;So~oZӧ˽+oN~ӄcpyQGl&plɒ%f-o;N=i.4?x~曂Y:ʿm:fZjeOQ'|Vc..! ?0`„K+ٺu[o>}˴PLO@oʮT eBY`2 R%eg5)[Ӑ@PH&&%J^+[iKAYM{9       6Ku1kݻw75u Dp5W !uJJVVDSjp9& lcgn0шT#A=,X <X "ݺIZX6uTs= שj0X _7|c/SN1#o)=[+_h ?{G5+fÆ 뮻N-'l3fFrZ=:tH[τp{Y:.8!"{Wԁt*&"s./ /\^œ"NLx@$@$@ AY vytRYj?{&LSP뙳E       kX$ lP p+As$P tvvN0X@\7͓@9` pF7`ȬC?@/.§hZ'ˆJqWdle4eE6ai?wiԨ >4~ҳgs?6An V={m~'s;[/w{j9%CN0IÆ O]DZp QDx+V0MT-}.-gA6j(4T!T;묳sC2swG/^le!g}'ۍf:;݇zH=X\m2{YvBY82 flfZS]^޻o\dc,HHHHHHHv(MQYv@Ee{Xv@Ecsyg /+X{뭷`*Z+ӟTBo=kBŒ6H[X6}%,[zx Yx 7O8ⶽS"6?8O+U@`ȰgbOza ʃ>(&L0Kf׮]{!˄l:u*Cj&uA]w%gy^|E,,ν$P6Zr1Ml; ^C]e>}BF.>ܬ FB۸=]t\}I&ѣ͝'½Q \0AZMxUo,OPv ¿eYae $]OPOXO$@$PK̚5Ӱy\F+M-˛WC؍"V7Bn(| 6ϊZEin8WvAUb[*c%˖JՅql:2/HBK-M6:hܒ.$A'.rC?v&vQ$K[X_9BPhkN\zi(uQ[&*gkT0wl԰2l06 SA{/\el#eGBAY)D$@yLkY ^ag ?^u. ƆPokKޯC%Hݥֻ&.H)*PPVU. T!<53fB nyO";=,L_=ג >~N E}XyP}E<=~ܩSGs ]FdM,X 6l:]gܵڛ.H2՗,R[Q9W_U2 ¹ֻWo93͒ &‚yg:wY'(˛2MRwa,yW5~|;E|Iyl~!^?MHHh-fcPE31!M uE_U+WʪU7-Z$G VN>ds5`~]nQ7ސ:o#>"]=X8YB./Ukj `IȆ dAY{DAa OkKvvvp=:G竀nђ%:]ԡE7bˣ!lڱc*QP:;G$@$@$@$@$@$@$@@Z =g `~Cں[V-ͺ]A. Tl]c\V5tw,992/$PsXTNjyH-e. be1c9@}An,XӟdF`i .Mfmtȑr'h͙lXf$WK}jlPU7'R;Vs(.Gppk˛o)sU 2H7񖹉Bpyzj5 2 +ݻw<lV9.ە¶/~nfvx#N}xN0$4+}w1hKMM={ ܇We*m       B"g?W{0Ϻ<1K'zRN3_&!5kȼ$GfkhN{6aƑ>Ȩ']tաqj'wM?ZY٬aARC|gq^믿nǦO.>A\`) Ï'7AW_-!`['(`uHkNb\~7ڿmxbj1V3t:Umpۿ꼄KJD>:dĈEuĉGKZ9CWh'!"ý~'GUz'O~C^3~Va}сkjI/=Kqy &2 t eM([ J}go.znkw`2\4\r]6mjVRC@Pq?4Xh'pj ;tP?{WJ$@$@$@$@$@$@$@8\ CP !PsCVZ:$g,bc{0s1An嬬`:H .'`V-bX)+,؝RR:Y۶mcZ]SH 6,M#\Xvm6ZrʩrgJ^{Z`/4>SyeTP&)[O]HM4e-m V.96WؿSWTW 7ofLimTqu׿-[:uIҋ/3pVB^z 7 'p >C;/P+cp_GgK݉/L~ˬ >tA]PpOW`M/BkK.A^2ty,MPz+믗!CJf͂z~'iC[&j1 eBe佑d]ϸR-/h;$@$@Ӹ]=~#OJcʖ ewHH<xC3cUd L;O:$yTB7o޼5*Vx=#Rc=Ҡ/&K(lk4q-ZxpIAYnH n@j.,f3:p?,3 c\1쮾%z$ibګq'qH` [NeZ ?~uQ2l0Gk֬G}T&pȐ!re_> iӺtHs>•܆e=$ސq0Iه"Hj7Jֻ~RcFHsgyI4hPL1{<ӄ}o_ntCPV'Mu&5%TeUM @<C+,­~)2Jqٚٳ"IHׇ[ݥ[>@p+e9:iLJΝi, H \J.Be i׮Y@*ë$PEW^սϿlM4Vdy+dЫB ML]%uJ_t$f6! e;ӦV]w,A̕{S3,`n޼Y,X`HVM6 mT\koֻ ,E pAy7X,5-MF!# Utϲ6a K׮f@-\Q EکP.3W\a=eV\e2T(h2, C! FϞ`Y-[&{+b>Myj{k?ThͳTf?ܴ}}X&xNs639^       B c,C^W8mu.H@<^d7tCNH 8+eT $cb㲌p 7} $3 \\Wd d۶mv~ #o9َ>l͍eE^U0@P e)p탄./}>V}.S?3۷|q%7pN:U>ӧj#<}Q nuYviKw|ϋsJwk(;|j,B /xy'       b0[E(py=í;Y- .!5[//Vۃ&'H-}VJ``Y r"SscJd ;B׉w}W^z%o*\B1af-,f*g' (˼o nA"(!51ZjިQ#&`驧21Ξ=[V^-YYYrț4uU^ Dҋ5ňPBD,$ʲBYeH2GnO>'|,^z饲>ɚ!U3\ݻwYrĸy衇d֬Yrgʉ'H^%&`L),eﮰOKuNxV~U+e*3U^p[udw ܻ- r" lc!;!_&\uV-8|J,n͛7Wrsra5D/uܙs9*9F@5yz;j&.RQhu?k_Op~JƤIW_}E~WF4o\ ${RViKX(ê*n?MP)C/uʪ4oL8܌BNŢx`!]tX(*:Y . 1>?s3GٺuҸq b낛6m2_|Y\p駟njG)x`x۫$P}+{݋x7K.Ds +e/Eyz2Y*,+*,6mڪO!en/$@$@$@$@$@$@$@$P+9j-bruw[,nj@.y 2ńj`Ŋޏ599IhfF aP/^,ЄdNk m۶uZyVq7S]7N^ ^s3ΐ2Y׮]w!B2]pM  iLٻEN)bV3!.C;[n^{]>3]P.j}wҿiݺu A;h7xGDi'$(S+ɡVh,Ģ5رc^;΄mڴ)}9p ,y#X)vԨQҳgRh\0a ȅH .9}gd̘1r衇_j!  22t|eަMˀfTVf̘iV )iiңGϸe58HHHHHHHHaЅ|}VѣҭTT@Y O [k׮QYs%OUzN\ahf(mҸIZVkpgahʔ)ʻ+V2{a..O:$*UTxAuy A*eCbY(j*ޱYbD/!w,1SB"s5oy'͋T ~ LDf ʖ{2kJ)ȗĶmU%e~Aܩpr}IFo}7oV @~7֭<ү_s=`˖-? ~asWn2q|702ƌ$P} P>ܫ6ob s:zX}i=+V+'(kּtM5a8'eqF$@$@$@$@$@$@$@$/+yR+embႇHɑ?Jr]JV+wk-m۵eBC=%%y +e˖-5wNxi,. ,]D#B\6h@;0|ҬY]zg./+ (TT٠KS)i'5eK۱*Eoc픫X%vv(C)Keb=y}?A "SE*(KVAYƕ*(ۗ ;k2|pK|~D &MG}T.]r[ kue}vb-bC1Fԩ+]u,(OAYePe$@$@$@$@$@$@$@$P 8$o"{Nddk/JZ;wڹK.&D8r~pM^vC1۵kg5RC{WWqA\ t/6O893O>jŲ.XY(B=2fϜ)V*ʨDKȸ]N eN2LeIBYV}\{{5aj,/4KJvO=`: -ȑ#m%\VCΝ-}:X.WA歷j,c." \p x +es3K-Z4Ν:ǥu2qe&       ]` xx׾=\:Y:8ښBXC岚PSp$P B3mڴ>$,=L\< AŅ'(ۦ2IIU/5+ P0&Q T!w?[.*`7ꈃ <#2e|eMP eO}vjcEw53Oݴ/~Ʉe'xb\A?ryg ٰa}n۶uYroԩS:E>ò{pfyw7Q7nXnl^_5g=z0k;}5ha#ֆs?JJ-{{NAY1 s},K^^lRN=T9sd{HX ʦL-+AeZ(z <Ï|ۓiO/~\TKD$P\]^&%OR۵Q2Y> .NUT1AV^|Euud4T~}Yh̟?^#G^z51={3ʅ3EI^} (+ JHHHHHHHH`q% _ 󥠨P Z7.Ym@w]ۺxlfk;\;[/WW9> h9MҿĄ$INğ.`/H 蹪s(_O?c㒽qge>} (1cY/ѣNX\Cʽ+rJ` &a "1XCF|/{챇.IQ#݌/Ɠ(kBCqA"j٫oI_JR$'Į lHHHHHHHϓu9dCFYe޲F笗y[%;?[@8A'23ln>im}dOO-ums'? X!8];K(J\=Q2.J ٵTڱ:EL 氏hBuNRS%=ddH: iziD2dq#IM$ TmRrWKQ*)[z"[Ug”E&29ڄ_YxS';KܾDB۱C$4gw^DQox{ޫG֎k ['x,Eudj"$ԗFP$i₆ii^|%$PۢhZ)ڴJ 7.-({-"rtkD}YlGẃhu%Orqe,y, s8lC8mrYuOT$7-$!S_CM[BV$[,cǎ>L֮]+iuҤo߾rȠAJsVmL]BYLK:3LP~݁: "2ueQXBٮyv]+>Y&;\]9VVVV 25jd+4јs;l2v ֭3+"_~A |wK d+P6eA+e( !{>v1p}Ɠ@EظU}mɓ5dlY1Go&s%;7_r #KbBXf8.C,'}?)؄#CYϮW/{-K ?Bv\=[͆CǼg_ &KSYZjdIiR?MZ4+-֑XQY * -+&      o^.3V͒ʒ eղeV܂m > p- o^*lu,BC<-鉮2 勴kǵ.W4V;ȇ4` (q#J;hWD(n8}X&eiIiR/4h*m3JFe]YF3EnI| wQ0S 7ϓ-0GolSYa>l?sք֢D>+»3s~n7r:_; vP h#1Y]3.݊x`u!hW4߷gLjH`,AE)uOE)uUXFwj"sٰ߯R)ܰLEeHɢokrQ` VqW\p v1N=Kq FBaeXbh'|Fg,H4$m ZHbvԲ$-2Qnwŋ孷27}Ypa1圳ϑ/nݝʦ2w^F noe lǹ,X\A_9,~+wu?w}rGM7$YYYBE `1'',툕jXpLJJtۖu*|GyGavZ!̙3_:Ku5epky 7 Z2`/xc1KgnRDk{vm?7Qـl|e\tp[Y"7皈,7ЬRY>i^T׉"ܼ6.zϿ"}7vi&4VZ"}rO6a1)~W[vv^^h@(Ij,Ie6-%Q$uռtۭDe Ց V]⏯e?k쵒+Z EʎLwh,s֙K{,3zמi'*G:ZҍWW$hbv81[KZ$+V;aׯjGk C@4ocR$1eݚtH6H]f@e#__J 6RJZc"29gg?0O? /kh ou۱~W3xgKР$SR:'vj3k,0ak2w\͕֭[',{;]̝'[JOi&()fy v3h2䉚%<2|g/K;.oPwޓg'HjsA+%&}\^-Y1Ւ@< 䂕Q ,sLxQGկu]q&8q va=lRo}]_b)ׯ_egϖqIZZ\|^| :'p*/W]uUg (6翮i%dS6+Ojvݮ1|wu%{MLoyk EX;dWxߧvk߽߯ƬEתl4"q|xwC8iP B3&K&orPfWZ F(( HHHHHHH Ժsù˴?Ț5'*}J>C90I5l]E>U2E=@3o^F+fOv=g# ׎P"/r*ܼ ܘP"-4x<~;g2zyU>tΚn+-)-HR,M@C^ .m3ߗms5 M29N|jg硟T GP{nX+*_C14٦ Y]LX˯.tEQ޵Kh(=y<0 'kˤ3_4}O!e1hEƃ]xU+b80&C@`,D}aD죜 ? kzҵI9Q&.KMV]NNmKߑzrlPp\f ⱇ[?'r%*P;^$G,֡,"'4tKX?q?ayy`AWK ŕԭ9lܰ:Z8~zԭtҙ*®]KXb9saOϋcW;WW؏(Vwyv\]aekץ߆E]+"#m<CW 氕+~Z$]R{+)]6ט^"_B`ƍŗ_8}Gk9ܮ ]jT"{0Aٓȶ2 zҘHev~9ʺU&V<---VĊvbkWdCPd/~ew]S ({ͲWU,skѢE1w$#,iƄe]Oꫯ6!/Dc pf3dy2x`iРtႲ?߄jpyX#F :SOɆ n1as:cXc6;/7-Ek6{wvW3܋Dwvmv4fwşGyQ)hGt {%hxk.k AT"/k߾zuqr"ŃvxA(/ 8Ǔ2R倮MdWFmj:{]HHHHHHHH<k|$,߼QY)}'0#٫$˞*yZ{TB!JyOx%.ց{Ԥ«<|BZ;T͇ZVj4a׎&֎*VocG\- )!~wa8nczu6fsbbl+Gv:Bp49Hm$+?%KzxSvTT!Zy'890s ;۱B^yV;DKwuxu&"%2׎]l5=(䎋<^$pQ.͕m\=Ft{V]ت,)v$7?XSUL({J~.6SNO<*~3w<8aavY^)jiiɩ.-TQS3iP'S2JZJ&H.%&$yu/ObxOt=L6ێ46~9s2W[=KžaDٰv 9j&Q)+T`Y In~lٶE6E[W+hn~f5}?~A&C@i\׹r`-u/@QA̝Z&1_A3(AcIrԝXꢫ$ԗ$4%+Ux -Q:Pݷ)z^z͕B^ޫk'mTd ډ?BhgE yu>b0Oxgy-jMjЪ{^/&M(( *{7 &j4IhbңM AAE, '{73sΞsϹ>x+sݝ=mHVfW#?NF(OhFb[`ˑX&ukqw͂PDY1NjtOƍE %M)m3Džyx/FZ eH[| %<=Bړrsm*b䉌 ~m)~;ى'-[L+X|w}7{,.to0gq\tE-M%lٲCҽ\Na{yE0K7/VUX ߡ1ݳ)xwJK /׸rc"־:.6%Т8=gB>{#O.yAqgsX㸛-_6Mk:Ҏ"3H#OG8G^;)=zLt ’T34RY^5nS%,[VnjÑr;#aOp屻Cڳ-AYH)"("("("(!欞 7,X xVhQ $.TkǁW!л]/h]Ԛ ˊУA/’-)0Ի46jm|\}6z\y[=lOʓaY UUme0ݷ0klj7q6Z`=-tR :KG\u{ΣyP1^4*S=YNP^/>۲F]Dy-І , ؠVtiٓvNh9]*"$4C>y + d($wy$ֻ2>*}Qm..7Ceiw.ƔډFe)2FcoMk!KH,)#0uy݇@~CAnּ> LC qYTT Ç 0,QGFu ֐@M,Y [|x giQ %g`i|[(ӭnXǎClB=?>uA_JPhHVz8(}PZO8/׿5,](eI Gc62Z"C7ԩS琌W]u 8[vڕȸn~ȿ/paNaɻٳ ;Y߾}᷿- 0 /luwȑ#.F„կ~Ş(fx#Ot($'3??AFƁ'thB)@ Oxs>L|k>4U._-6~=;)=wit^Z@(-WAa~C2SqSk ed{FVFEw P5XV!* =(ejE׈kFxJwjX>f-v-,ZjU b,2;rh71BvQM +"("("("@lBXw7c>r HТ._];;WBU /2Q[c"_]$rqX/~i+2,y%T KJABzH$U+% ߃eKp$Z!y} \Ptk~*B@g'.{LJѾdgi tJIH\Ci& s!8Yɰiw-34ɲ dCzhH~E ̪bWu/E xď&9hTvo/07FRj3PDXd0Ml~L< 8F>ۢ=~ahHnv;Jv@`,m <;tCJ2{'`v2֧OO G}?π𠐙8[j׿O>$x㍰zb#H~?0خ 00Z hl3f̀ /=e:"WKɳ`ʍxi7o|<$X FG uo]ۖ!1sq27yT ˕ƃlߩEt K꩘ƃlHdHEG7lM40[/| ޚVWU|~ҏ\Zwp9{-3R۫AYv8)"("("("(dᾏ'@yM75\!C2 EAdJC//KB;mzJ T_I9DK~Qkjr7HV).zzQc>a՚oo^~RQcVIl޾a߃QZFB-֬*nB,!98iYnGC^V<4Qg"so8ê2e.N֒ځYYnqlL5W_0q$GyDgdax<rðapxvO92O{o~ݻXDdWVVhd(6F~1#96(2ڜ9sCrOf os,|ϓyIx+l+ gy4&SK()jsf6r:zrˬPk+\yѴia*3\/)u?zMߢ0zXz-k [>{m,Z[ֽ[@]Z-^x격AY]R^E@PE@PE@PE@P囖ߦ Ub#C6Ơ]FCN^mz0gb$Wu*UڕT=J.c JR=FF(D &zh*Q_?{CeR"-i Z}(b%A. T Mb!zEY$1BFhFWc(]1^1ׄ>oŜ)pscJ\2%e{!JQdOa)cNJ8JFa& NCC5( *=5kqA-NAo'Gf2ɍj:zQǃ(tRةA"E#Dc}!u&"[Q7u$F6RTtm=) CXT}T ~*pB<(䑡|^|EXf ^s`crK E&FbP:x= ON2Lb28-9΀]MH<#*9xQsZ=Y7$zH{jհtbj6 D*ŧ]:j"@G/\}ЩS'H(S;8EUR6ӽ6*,KGRzjֺu4-]ڽi&6"16s{믿dLFFz$;mڴipW~;6Fsۮ_=Q 0T2yJ2HOgb+xoWish4xpª21ae^ߧto_?4lw@ jYzf'gg=DKZ$'L@F mienBÿWfa3@uу1֝ 2("("("("#@K2}'*qy&Ј i(_!п}_B 8vùRQ @$qղy"Wa3*d=38vUx dFՃ԰$D-3e bfLZ60ns𾇲5PaϽ*GhҢ>Ǐ(~D[7]7ߑQjb~*..#8 H= NMu;CzRr4&*Lwspd'?hah>AAC|%4f|쿐0z!FBvyBx6 s h̛[qTϜe8?i= τck-bd3g΄?pG)I_mMinK٘hY ӳo>.ⴐoc=y:t@I? |nd駟18?J;`ȑЦMFqIUl?j,{5"9\Ġ31hTuozz,zIy^ƫmۮ5FcGJ+"J ~?0..~E"ߤNT T Ea4)%q”aƊqä́7$< =7еeנ-5A/EdwǫBO޺0 ] 9-zsN&T}N{[KqyS=^/3~H D!uZQB[څGVۦpƯn%F&0<ڀCnFw#ܓG2^}Uxd`VUU>PxbΓW2_ .]N*}^`OFpg} =+Fo>LŇJ8rw 7Ͳ͆eɖe"ج' :PN-Ժe$|uHa g UZzPZ$iucCKw9gc 351}%a<}x.!?ϟ?aŊp۞o[o]w59EƔ}: C)SpNvAB녯jz<[ 4Escw0eI!=gg9L6ŘX%}s0DDY%M'pcwDI3x<8|aO+'0ޘЁMxo>id!`XneA<("("("(@,pkE2cʀ jbru)hlt&l>/Ql&QOzZ5-xNna%eLOⵍB^VoDM3׻'uhHU۶MUnhMy!|.xV6?(_an;l"< < vZc@鄦 22zWبjac=`51|}gO?}եOH| `ô]v3#9dPFjӦMP{7Pxٳgώ+Wd3KFex`0~pUW=oRh.]K/^x!\ݚw<2/%5vm wлsK i ~MnnZDnEB{TX~3x 8 ԢG7$aHeYq;M*?_#$#h$c]:\6JoWV(e!@("("("(@IԜghDtKX/J=_[z_L-z:,\>:>[ }Xy cȭ)C*e*@ˍTjV [O<yN!CqWh1wf0MP@^R7IQsJ4ԭ㼭HBۆq#n/H46A<hժ׿#8Mȳy,#eaKp7Р6H-3Oi4pţA4 @}jbp_i $@^ WSX}=I_f 8q" #pI2"b쨣;#AQ}p)@NG]q~ s&$}4ֽ{w\x}ё94I*$  Ql6ἃ˳u/sԐ0))ʃ/ui]Th\("("("(@hrቹOCq^SOaF< ~u 5jcxq\c#HQ1 ODU* 4!Fjyb`=Ƙ,Ƕ0ͤ#RT7Vn?7d,\K#;@Sw;z e&@f#T.y*=G'?q0y]IqJ #u 3z #3sm<-|]lI4#8=vMBWwa E6P(y2@^ wԩSrd0v!x>y3_/K/A4PxCSexAHmYerMIK B&^v( \OrRĐU?0dWb(r4样-]!sPs9Cגhsj:Lq9A]  o~]i{ehs=1pV8<~㮳_F69O1 u-$-'ބ [H`aPzِۮ5Z8Xd QSO=]5.G~4c ? m۶n=E=;[2#̣( .?_7L琗LΐFiG2Sw73<<@SKgO2tk:|;=}|cVI7/8/=/$tfq1 **@ zD:0lMkaaņ |MBoC!]VéѲ"("("("(1U~7s}4:EV\LK7l@sƐr =db x[ ?)bC5J534=TOG m66-xo]`m, c!NB"hS!axgȖ=h٨eAK#HMd: T/{N9P30y5lәf1'Q9]aۄqzG^ל.[='YC^>U˦ujBAá[t)lg}v3<=\)$ݧE-\ț\I$M=M-3GCr N4 yPw?4(r!C]7wuldep٪iFv n>lزɠDVN Oc2:h X<ǐe`m"M}uu5̜9&M`,X!(Yg'|2#omKUVO@A ! ;8kN6P8jCr3cMZ<ٴHMlx%)Ȉ!"m)YF6޲r;Z|p8z-[B٧Amv8 Z /X˖-o ȳjs4v^t_hoaV؀+[Yn!/2$b7o Nn=PFaÆAk0(%=RL n:>tQGsƦ)ߜ t{;O$RСeAp]0_~ԁ(`}{zpn5Hfdd}f/m=`ܻduh؁EgeY\?yL#3T\:*}\TAanwFhL/F^|E6|]wP軂? *ꫯfGj,dgrB|oT͞_pj,%,7[V\ԘfbL@H4521{u^oW\V"b hNUmO[ i [ e1?{57{7z?ӹ7~?8 kPN!xRt^K e x5( \42 2:mYM׬4z(ZHJ,,dڴg U 3?pwq2R Bo蝬`A,b.;mJ 2k󢼊enu[lՌnB/3 W[bNՠ,E@PE@PE@PE@A`Up+ؠy-],E#bM+gKUF ӊp0*tx,Y4$ЇAgQ-&dh=$=Չjxk;wn5 j#!0c_kCi{逦Mdr(& 1&!ќY w>dR\3L^&6u:wLo/jmJ34jN6_!8¸!  _P{zS,$$U_Ucskp?ܒnnz;=؃?k׮ɓ'sḪ] 7cƌi^K*߾缊SyDZAYN'45ç ܺmɇYΪIVLe%"+4=)'WT4LATy*Dp7mc#,_LžCQh>Ǝ۵k 0RzL(S9 PTݺB!= zq9hA!۝M_46I$6oo,sH,Y K>> @ %cF0"3=mㄉ'eii)˽zb@iA^x8c^y饗[nJ &Nz{/ac9zWפpYCoVC=[㦹]6u".Jm;(57Fu' ^Rm4Qo:;^yk()h=ћ1{w?6;1e:E@PE@PE@PE@PȐ範 ep݆hؽ7^bolK/9L&8,a_ŗ9L&8',QUy|W]r}1m% i2({w5pydLF"$PvVbx.iyS #΄1?F#%4$-jVhNYsm'[0o&apilu%eUy*^2{&ÔAP0萺i?z@-[ƆVO? G oN+ŗ٠<9̓#ݿ̆*G" S]\Fd {2"#:=$⽞ oɝEQ_c$\Dz,mϕ~!6ܪy`$pLy|$24*N8UȈzS6BBQC^wJ@7E@h $C" ȣ?6m?sҳi6mgM0 \Iކ㥯Au|Ez(Kž]Cx ۋeqeMS0X=pexj\mz\izS)bMxs>ϠE}W`s,Uze(EPE@PE@PE@PH-).@|Y!whݝ, Z/DuLŝ,yMض6x"3ʔ6.-BqU`UzxFI 44+ W}dLb#2,e% ][u&@rb<Hn^ߘ#3te%Ƙ4m{Did/$iI˸TҼj/c+L"TI 8m۷/ݛѲy&mp40lRwjXWvh4ڔmϹ +$IVzd{ ݒʔ6Q4G/Z0ES^\2y[4 nx|6Deh|@Ԡ,E@PE@PE@PE@A`Qb3?e,E?ѻkfJXI]K=RK.O֟I$NS#\>?"RחT檭,|>ɥB ^ |*׶Wp7ADS2$oB_T;re]u#sͭ140 s^%')qPzÅpv_$92!r\h4X!?Ee7A@nWAYӲ2xo wEѣz୷ނ~\c^F֮]g͚ 0ƍ`~~>o?{aB5-S6D4D*4ݧSǝ[F ECn^wUs_WCo}2c z24(|D-8 ?'g#͛e$#;w_k9Hx.'0e[Qz*[xТ`%J$,fS`("("("(@Ee`ӗB>ɣe5kSC' ;h/9X m'~zͤ.٭ ul.VmF)ZG+3P b eFn>\^R $Z;jI"` ʮB"kC^$¶hPv5teO#,KARCں9 Z/˔MFRS,zgr~%>H X>L2]oB= 5>BР =F!yCERSXwaElɒ%hp^{%%%c}χSٳR޽٨ H̙3xpꩧB˖-c5ĊĒhtT/AuǗeA1j%7AG3ס/ V4N_)eBݒO,SJ;2e>τ"H;K& 1PW"OаiF pcT*0uBteK`p3!!=-Z@ (> r;q2z~MPE#g啕t{)>};A2KwK|;;e<ݺI7yкB"Pyq"eI W> IE_m2ֶGn2IpKO~4(G݋ ʆb҇+"("("("PA% 2RFeO:v0YɑP$gB<6fSČ!ax•ᔥMVLۋHL?_.}pF - []GeHn^> FJ\0 FരvgwQ6gN;*F]IțHf="_R۽Ph k FVҐ:Vu3`Af{Y.JkC`"jAgcӧCyy9С5 N:$:t(vG~>8CN:Փ!{snnF4hP̆XAe/ 5lPf=<`2 yIeb׵Os_7!/Ѡ 0tʩiB^9i0lz%{ꩧ`8ЧO8묳Og׆9٫zyK,\|Uh\VԦf<|8lF? s! mn'& 5"t摓Җl9<_m$Ćb YXV9m@pX˂{C} _4<ҥ"(@cG)o-h&FoUI7mGR;p);Zm.keppjQ|=WpHz۲F7dPV?Ey(pϞma/FguVettSE@PE@PE@PE nXc s . .BL.L<~P- y]zd%Ƌyb$uŸyu0Ex2X ݼ$K`e zȠ ᒩ1,-,;too&@ 6|%Р=Ԧhd<]e`\gSFB\XL)s"RR NOPDx܎ԒZA`I8iK ʮehaCР1Px ~qH^zAn8VZvŊn7߄<=$cDSX &o\r qhعYP }ʜПxsJِs*֕?Q<;JO26({ C^x(SjkPv 4p^z%0~RY HFstvڵQ_= E^Me d$]5_~ 5_σB[&Yw'Woq֥y dG)} t.,~@Q6!= /tECf mק7 C!][5X銀"4Zn~sxhNޭŸFw0eSX'⃄C]rz[&=2lPPfG'SG5( DeRE@PE@PE@PE.AO_yhDKg+M^2hNz:Ao21_;TnkɁnC1!y]!+iE,(,ԛg,FY,JX0u{CaDވ*.;zH}-cxdPF=ȖHKԠ?0M8e3Ѡr=9f<~ t@2";5gm@HBМ)2N !\ ySC cFS/Aٖס d79!/@)䡌;owوVRJ`dTOJmCy ;=z/zَ=sG?B= *2Y)z(=_A7qɂ6*RoF~SY%y(ÐA4 ~eGGoDDOy&t^i:( `}0zԭH$ЀCanՐ\+WCb*H)f5.UUF53 d7v\MJE&?Zœ'!(̲L\yj26H1)y#FFGc#>+H≠2 R-3ŤsZBNۦ-vh۹umb} gѺSE@hr4z({[|[x{ ހ*A yi(a|ܻ| ܭD+C„-JaJ\E1vǓo[G 뒨{:py٠n/BS.+'} -NzFeѠQP&h("("("(@ eO] EhP&FHF2.ΠI⡌Vmg=]4꼌ȹw6&nw=Ć UiuyX`mҫL<u"ӥyOAe,ذ.K\5oria=ΦRrP懼4JKRo36YΑ|_ 2:N&F&śy{W8\ZZ^z^7g]k LRElP69)n:x_N; N8Xfeee;uT \W'sAM!P!L3y;BͷV4^ !ؐA+dP6 ZР~cv6 Ϡ,FM_5L8ϣ Ag8φg Osx-t} oИ/UQУ5O)|4[%MO8:虘桁Y>-srJr(dg覎OPMO1exͷgG R0{PF%x|w=T=H;(&~ 6f0ݝ9v>24aIHĂ{uDKKϠ߄ UVHmРlL@MktL("("("(@$CD2YɕU2;B%B1cV00d]h`!GZM0l#Tx31HC/gYG=f@!yI!/Cyo؂ON%hPvd fz( C^Ee珷%=mv{ezC{s9D\i8<>DSv3(ӰiYsfLJf-v ?ij8ZVE@PE@PE@PE`eEƋ-GlZ#0eF)p_XWټ$ɛT$y&̯A>E٘"԰ iE] AhemG=P$7#jPfpjCc“ FVrk3( 1]79Lr?\@ Kif[d}~86ah5Kૅ$&?j<)\}Y7g_Р 03(l^#<=xpq%Kॗ^r  .]O~:t(\pQoycPv+}a؊Na({6z(͎C0E<lӀH=Ơ yi_졬=z(;ax(ky|aҤI0gزe k87n5 ZlMhjcE@PE@PƠl>/9iDpl!/&r31Ϟτ.I(u2K29LM/ TImG db92ؼ',A%z E K^fy1dPF㧐l˖ˠB͞=ƏҲ[nyf'A߾}裏P; 5(ce201(; طnMkn[.vmx{vs_׬AY.1װTx(#~d@CSO= .d=zgy&̃[3"("4b0I|:ri如 :LSoFh 5λ.yBp[`]gŜm2GR=>g\]*is@#H9Fe=lPТ/~QᐗjPFh("("("(@" y8Ciq3(+q ʌE CýF!^dʔ{Yhzs5m*1Fc2.sZ3(㐗4ΌGqխ:нu7]Dyi<ɂ+Z& ̬s˛b^'ͯsNSY JI2G䥁i稰IB\E:="I ]E\gMiQ4z(2Hgr[A532B >SJ6c X|9ͅ5kְc9aKYNiܐFAm1(/8h׆V%FGX%lS〸/߀Woygl*++a̙pÔ)Sp '@Ϟ=!?>("(@@ `PFK'񯲚< ƼD"sRGu( BzBM(%EI&2Пp\9Ԗ^q:ҐiX*APE@PE@PE@Pz@5(vdV*FPaPPؼİEʁv\1N=gm!_qGM}[x^hbS%nIGe?E\wJ K#oѐ& MK: Q ۢ!ҵPaZ9j-m̅%m‘iNBINLN8X0 1M'Sv #e-bPq ( FBa}2iժh򮇲:S 7V\lEdKSѵ#ߠl>ڰhkvh]Ig2Iu#ߩ="2E3?CC{ 1ۢDGEH5zawwcPF!/T=ޞ;l&K -)"("("("|1rR@3%QKYeQH|-BԩA=X8F6^#IM_z8r{z 3ZȢxAل'!6GDz-Qh3M9zC^_?zi'T= tM:Ml^?RdPFsh% A lo ʶfm͜N<9h'SȹR2HDdC55>{2( [f_ #gu Ԡ,xl蘒 6];WRdjD%PʭP!q8q;CYyy9|p߽ /ab`РAOnݺA~5|k.Mǩ("(!/eO97 XHu;VhP5'פSפ1D4KN|yץ7׭ywOJĔ\=^wwx(kYljPfE@PE@PE@PE@G<2 yKFv 9@JB^I]]_|pV`I!`hNSe ݒg=On*Qeܼ萝lLK6(㐗&j""״AYs AcPI(<Mm!CTi"DIJ_'Mq@Kx(x/y- y?5(KI|xB8 ƠLB^zR2lE;4M?L"ŀ,HI+x kl'Tje"CՓV2޸}!)=y(C24 T23n3C} IrJѠl_4(lq\?#*R|N@6>TYc+|PP1cӠA6< e|5L8 x 믡:w '<{СТEJE@PE@PbPF?#2zj4( ʆ;!/&{hjJ'9V)42?E$J&mHlbd'O:hHiM,CO'3"֣ R2_NFً)4*=gC6gdT[w *RB5(KAL΁\4(+wPaDژejyBk29/ZlՊXjѓ֎!Ub& ʢjȕ穳5F.!/CeP咇22(ksx'R3p@8묳O}BQ̗q0Z("(@Aধ?ǐ س1(3NUU ا,n(I{=~[8=Y턐FnB^b UV'0 U2ozhFPE@PE@PE@PzA@B^Zyk 79!#1( V#/TaG4 .نayِWSW͘ ,C=I[>IGbH5fڄR2Za\<2\T8xLH6慰y敐X;GhPBB^Z̡8^R7IY: JsI:ۊ,m8m" Ȝm 1xԦ\~&le ҆L)Hg>jPaoEe yٻ+]&I* I9 T `|&̞ s `8TrꩀP W53eat^ϼo odvFPُ_HO( 2TA>e˖;dW_jԨAo=zt{'kڴ)Tئ0 C0 :1 .:VPM޷/.XPM0>Pu{*lhs!JuN?Q\zm6V]=㐗f=RF(Smk!`!`!`@! >g W%kb0iR HQM[P Q^5. `P+FI֨6lq\9aubXqrUfs#sEr0JSq>P]۱wŅEtL܀?P6草(e{({(%ߠ!ʊZ[UrT5hQ&֓Q)s|:OQtީV ' : $kNWrڰ[#Lx@@<]f7lPVȄ2 iv"ڭ۲DD$\YZ!f/VUA-0}* x^X59*|4N}HIb:\Ⱦ/ʃl/HkTD Ią8=pCȋ!3\SX̄[-䥠~!/C;,x/䐗A(%^(!Zkhs2ո4@*+c ٻNS;>v7C }:"RdDP|h6$屇2I|@V VVM\x R뼂A Re}\u9 2*GaB+qKI/rӣ>*իWSͩO>tRǎXga[C0 C0~8~&y+~_ m ePVZ>O6zAbH%  FNA_PuW;+uD͘^kd*RqPEcʀ%C0 C0 C0 C0ZR\ 1$2y B$g9y^12N kוۈ0Dc1<(6,YBs… niذ{hBm۶][lAuI +d*mN Kք-^=9?mT'BU̅O4e0DLзIBXl'5>*a>\Af\#Z5**t6RPGee_1>`2}h"Zt7j5mҔfy睅$QTT'Q#?"|tTgA@FZfqDkD_y,㐗Q_cl~6=m d !!/g!/J B94hyΠS! @o)y9n$`h >EQ[y-;nCTZ>ÇfŞ eOsRaP6 eS(PF CY~2E( "@I3-uTo&G>q Z2q\IJf͚ qCN:QzɘVTKTcmTTI(~= y U3%o2~C#rAD K!`!`DaKǶ%2!%uMעߪHf7L 7^|'3i>_{rME3֥ӛ~{yp0բ:R= vx/mRq%թ P֢>v7Be[C0 C0 C0 C0 yY+=y4 G:Bbq9̕3!m q"q E> M8L&$ؒXd`jذ!cqKGћrKMqX^2ߏlufƸe7ŝ}0-9{{(xn4_J(F(sXl -v Xr@qȆTC^yD%cyt9\度3eB>3zo3O?#^u@`dQ_o`7:AxF5N>(l\!(5O(Nǭ]ʞCY=P>!/ }K4aq\䥮!GεHkS+5q8˗/7;LB|"_z2yAg.w48n.7'7)htYSG/y-Pq2e2P=Qي\CY6=, 6|L ͫe>֯ޫx;+}]XVdԵH yiO;v%8.YO?NAve @[ۊO_2/ ?=c31w%{gl(z|~ԡ}{y[=1yC0 C06\+G( 7|p;B^ q{P-&C& vtӍ79Jxv/x eʖB*Kw A  +ŪO$chw_:IECمc?\RU BYR!`!`!`!`ՆY&=ycljA^JbAKBzfoZPaT+V^te-ݺR֭L͛˞Vf q%V\nk7#e 8an:'YI2L?V6*NVł0el¹la;9beEtèYnBԋl< q^ y50ihPea%A+L5F\A&{יzCߧ+q,FԼys֭ 8^8-&M2EB|NjF h/\IC ehfV-]8pXEUQjΠgy29 ᝇ6l,UHj@ L(K\W[rÆdF)Q1"(BNO>CDJ><쳨{]oo ()-0G(C8q̍l؂j: ;UV񳤤DU9^|E '@GulRΥUTib!`!`=n»V.TC)F~\gŦjQetOTm)M0vuH{[ s4m4W5!B]{m| O*IL+K4DG=R#ʠ:ԩB0ۣ(ePviT=z]L( `!`!`!`"Zx1¸ec<Ȅ06"7Fmra2q[pbK~0}6kHnxv:өYfT=rC Ҋ+!Vo4aolFw/[$Lt9]VJ5"FKnJKb9i9P/HNNRlA@x9JCB^2=@PVBP+GM>fpukZ'|B/^cR*A֭K5k2Xcy>c;^~e!^>4iBNG]z13$וcNG״&Q8;Ee˧ B^ ?yɄ2 y[kz8B0*3je>g7Zr@5T\Go3\^=F3Π!C+{Wg+<N"KIsq <]Ą: I 9Bthا!`!`!`!`Ո@PVaˇ"e:llAM,6y&+ڨn*@IDATwejk3FQQ":t1S;`^oVZ^T>Z  @{.h"e򘳢+WoE7p#{3 x曩O>{ '-!eܻu"PkY{wPVV '(-bm!`!`!`!`#B(?jפrMjF4Hdejd`| HbaHF ` eІD5<_ɷ~.??CivʩԊ\F)8%c1bx+S .4j_}Cy%^{%a)u~ -e:k}Q~͆T2*l%pִ ]phnx<餓e˖lg"Xzۓ΅^p&'nM?vYe|k]R"e'ai0q8$eN&ߜ.2~p\wq4p@jݪ{r>O.YDq/C.a0Kp.[CDd! *u$@߇~&NH_}`x /:u*O C0 C=#pO葷g}u]\uCY⡌C^rvAs,JM{HTh!^Ë%/d24)8^㩴8v=Slao9m2Hqt|}h7+ǏOtYC7e0 C0 C0 C0 jFQ1'B0y>CYdIM Ϛ+#WJI\I K7Ѝ7QW!ވҪUrd3Ϡ#zAs̉%\䞡BPT%+Hpc3c+"9'% .CByɄ2!Ș(;<ZXxZ~xܳϊuFcѳgOxmSʖ1BC^bm[Q= Ɲq9kneD!:Y_9tݭcR'{)!{I#n!]%Rq*ޢ3<>sׅnf /BkO $K(K gJL]NL(cLir*`eEPf_;6W^y~l-ݻyXەL:A(2¼FP֐=Z D7koFBy r>#WS\)^xkiڴiQs9 Z'$z֝עCe;ZE1=C'QEeG)a~GMСߟ?p6Nا!`!`;PV zWA;C{L GuĒR$2ܨv"x'M4JJ@COً[o%%SJjKt'<)+9nÏ=JTFDR(de?Zu*uUCY fر=k5 C0 C0 C0 C`p ,ܪx!PVVOtHӂlܻZ$ք )FsQQ\h-2Rq&jСMF;l6_a' )DkçɢLe4q/%djtx82l U0j#i?MOE>Ұa A-yd9>`Z󍞡oc䡬CF:eB(+ﱠy( Ư쪫q(;P!VStZ'S"2!/{PVE@^{59H gVgm=_͞=aAO5kaF\sC,.%Ds&cT˹HVҔU_1M(.e!;ŋ%D""faM!(>t7&MTJ:o4 C0 Cw#e yɀ=x(㐗 琗rtHrDžlN"t5kB"~͸5z45jpΜęZO,aHxetu׉eFLz=h}чv*|&=uH!q"eq|r9eʄ[~6X0 C0 C0 C0 C CY-P$$'L>|Ѕ?9.o4ڢL,ȅ풏+f İ\;#=3V[El:zm:>`HONyi&ۨgx6O.K;4d IT\q k$2xځAv…Bdĥ=C fSO=-:]t[nv @{^z%t /'ڵk'F#8UJI굑6AKUk y6pFަǁ~M2Q \1C^ }w.ך;L!-lcBx^*єA,k۶-Ջ: nqc]IJ(e Cʲy(e&!L1cK/Yd@Jz[~5^e n"X.簗qsNvav[;i4^Ae?~ʼg6@(;w`8 NB>c垽 XW C0 C0䐗L(kTe ת y( y׼]*L7H!o4t}сHwux?;*s=G o߁_h{Rq""M-F2 z=BB})juex(,' ypOC0 C0 C0 C0l/d#39 J4H,ꤦ ]/gX,:]~?@L;n~[8ƺL$;"=ԩSn US[B~"ɘT18NZzQɛ06[ 8 6%޺EyZbL yl,mԨ< {~CYz>0nFԲeKe]h}=ܳR2#]Ąy@ CYP֤_5~-1h"5d! ŐB7_BshKء67wqt-8/HJMT)zw9dz駣&9K, ([0N?8(Ǟ't9rӇq9WMbBQ~6L(㐗,VeCfNN[ 4V[A\2rΙByjRRgfGF\$9*Oq)uZ*~bB_[iRI?O^Vo߾Իwoj߾=zŒ!`!`!eIZ^pϷ e6\aYj{\k+<^pkZۇS=ao K6H:u0ZjѓO>I %u]UAqd*rTcJH!4>-e\'Fuj26~9WPXN[XKm C0 C0 C0 C>BeU,21YB(+Ґn&p65'ȳ(z6 9C9Duk $Fp/QǓ?@TC<(t_yՕTVmmx8-BN4}6nf8YkLKqZpw%qCٹH`N)$mUdž}̛7n_*\2 똄TvH%K x |mR9>0͛Sww dt$y7<l!/RaP&K"e5L5 >.~MkEAW_z0_|1eHgT)<o:|mLV1.r[o5o]@7QhKO,y -gB<N>v1l(N>KkL -ܒvc_xo{q4 e< %PΞA(v"{(`,2e>C&xoמ'JGݯcLa Ȣׯ/mvw{T{}['3Z#TuvP,CO"2~m 믋8\_]ZYfY2 C0 CXgPPo(V1[t{ ! -5\{53q .u_MGyNSvo;_@V8xzq /z/{jhArڼNWorf6yN&u\BW~nY"2 y`!`!`!`@u j2^f'q#k}&b>Ҽۺ3{fꫯ> m ? 3EQEA]X|)@<8p $S?x) 6jr*Ķ?3e5?mҴ)m$]vڙڝq3sc\\d C D kr ,I7-JJ(kZ k:7IdgPmq. (=rqY58[$%XoӾ tS¦KȔSyv=yW<︟keВ,'?ꖔbYncN;D 6Iˋb|dfy-{(eQ7Q*λ\\F8{L__@I'tR0ӄ 5ǚQ}|,?Ĵ ()#aBG!aBAcgtQZJB,mߡLwT_ .Rw[-$qBR),f 귡 >nQ!w,suDƌ4uXJ\q'9s3ti18!=[.9F /~ח,Yks!y-]amqL#!#&;e*{(U9>0O~wߍzk e%y fbЧO {p՛@ڭ.6=Rr0WDЂFͩv3ph]~qZd){͡G{駟Nᄏ`0 C0 C`pE|K4\.-.L(ѿ3+rl#AUR$cXyݢ3nbrJS5=SԣG{ep2ԩO>}Q*)H%:eXk*([Қ5iw1a̷|#U؇v۴no_DQ#6lNT-]LBb=D}O[Gh~=$J!Rۗ>l***&35h-DYΤkNQ$8B2Ps`"JTcK蹗??&j̯@X9 ]k]qP^}jݦx, thˎPF=e8BY?cY[/2]xE4cHH z;R8G+ |iKֹ+hvHȯ!LG딐yBY><5PQqC&r2΀Go @z*uY'0 C0 C FИg|un8*Vw.m5^5!o#:5Po={[iϰ /)RȧX񢕄7w}ݑ /ƍG^X"5Af͚r]~=:%l]V PB a.nXƾͷ~vaejK/$իW>=ڋF͙G2j(BxBmy3Ԝzfor/}xӳʐ]gP{d('dK@6{QC52p %eutz(Ӌ: y=AV A)S'/TNqUVB؊$Ԑk^tWzOraҨ<GIL,WM7ٔvqGm#b^rMɹ%PVloR&nۢ=~n 5F>;kU!`!`!`!`xA 2G0pM03l$UWl܆7 Cd :Hm۶a/DKJl٦4bpnWTu0{ae }ToaB9<&0b'~d2x=3dMx_ 4ydzhCw DW1)򔞡/F n/-Vy(cBs-oY~8&yF Yh}FN|~AT{M]raJ2Q/#`\ 0ƣ ݂H=ti*uP?IۤT#bq=:'vy.RU1 # " )ʦyeε*eF)e2fy) ^ƷGbQFB}h߾=oK!~z-,]P Ih|B_"Ak?~i™?w&C{(P[u(!\ Ⴕ;W_s {8MWe e .<-Z$]@oLܙYAX!2O8hPVs'BB^CYkg&!j۶x=E(n#90 C0 @&P<}V|ZAJCV_EW{z]F53Ϡ]ez} O>,kNauU FKV s4w}졬5؈C˖-Nz}S -$|7ĎkV.Sx\4JlIlTS'ŝ`)4BY++!`!`!`!P-L(;^ڔL(sf5cTbS TbiQ(-yoe ɺ wΆfXrq\d1< {S #pcŊtyL0 RfБKH nxXx(c3xHx|6G7Qe!4W0`94he( ITn*!/ux]"BNJCP9[a^1yg]m::c3Ƒ~#5j4Os%&O2CHc =H c$3k]r&ETn}'XFǬeWa@dźCYz(zCUj-)/9`, ~ZeWǚNM3 M?~\D>s$d?[hA{キV H C"~3VLfeNp?΄ yfA\28jȐ!tqf;sɒ%FgȐ_\1{a;i 4Y}Ùrz7J>{VC^&e%TШB^߼y8߃ N:$F:K!`!`@H(soPvEiBށJ7zkR5a,+=_履~*q=(י|?{zZyÛ>F[{wx3fت^po()6bҥx]+$}]~9\dM@o}ձí܌gΎ&G(FuC",oʆ!`!`!`!`TꡬfByb F1}CYqҨy239gQgG"--^iJ_yUbʺ9K# hm5h!יg)BPd}+B !rȡOCp@@&8#䞋٫fqekpX$t PG&\r,YDw0\ K;L4۷#E,^#^ve4p@(޺yhx]? zI~Î Iԙ3l| L8̓CqK"-3/1ZƢ@Ă ófltƱt";؋|!³*G} ~ӄ]{*d3xܹ(d${}Җ ,* < qBT3*ۖQ~֞hyns} ͞>=CB w+cBيCeqSޓ_~97 />lSNu99 n)ҋ޶*;$"aB&N^4(҅ p^<~@V D aRB8G$<iܹߊ&Mr{VUPh|Pϫe2&w4Coca$"n=* [ !`!`cl^/ez=wcB2$i{|T产T̚5=9s\Ai:u${G uPǎ◺&MDeǐHW_}܇,ݻӸq5?ѩb2ꪫĞy;?kTch]!Q#V*eG(=9D0~ b#z3`k!/0,k!`!`!`@e({p08Ìʢ%Gj[)JhsWsNdc;?5Uj2qbG 9jƒÇC[йO#٥lQEﰽtǩ`jzoٶnKᄏ$Z o%Ѹ Or2྄B&ea %_|xyiÄst%UTCW1 !/LуdN 0X=_yQ2Oxd!`!n4~&*A(&x(Uceey9/تOE[{Ƌdlp|kr޲^_ˏr~:8V<_׸׿'5@ʣP֍jsM7q6hx{أ.^ 4A(u7l.rb2 ;u*1n j¬vIz(Z搗F( !`!`!`!`Մ@L(lUbrnUL(sy A/=)o<",&K((}16l]vgC^a1̶mV<:A?>sy(H0|s k{ط-_FgLͮ(“B@Æ6< @Z|REݲ`n59'Alъ~po]Ry ejzQĉ}(In&FopJ2XtY_T2N[,iϟCٲ׶RdPq!B,s#篍@.BT c2R(%$5c*ꫯҥ^J|VIKԝpB?ˣ3MDHf?A<muڕ۟ kÐC\viZ<|}r W1umȃEJ1Ylf#.o|G֙XR!/CG x`تU C0 C0#+RP9wp!/PvG,onmG曼$aa1bxKO<ۮ)x~k[ؽ:t *>+[X7~xan;7iB^ FA[?<7o0;@a*HܮUB\4-±Өn-np0Bbd[C0 C0 C0 C0!D5 j :j⚱G>D,D*ke JH!ei>pK,mBh+x;}kPdx/k]m8m'WfƧNuqώ-[ʬ$Cnӊ!.+[rzLSf`ʨUyfV} l4hybK\BVV; !<|w,~ @T-4 u>vi'U"x(B<^OXm!QP!/xXQg aX=0㭷 6XQ q?d鲥K/wmgy{{Z<3Øg~H deHs6c,1'sB~؂tBE "Hr~\]YYqb1'8`*-1Ys·PQ1}i鷁@PR6'X:kպ{>0qW-{eKZnMvaBHk? ;ws,?P~=PI  ωy%ԱY5e[M.Z+a! b0WDCM}]^{UW^Eu&2[E[0!X68=1`slZvxa \Ĝ0gB^v衇Ƕ+ۺO_琗L( eN\SEY 8e%2 =uT!ŃT&o0 C0 Cj4y9[<;_e9P2+l?) p}4;r -<'nk]S܋$/` L:ٞ}x)_++`+gΜI$^@$ Ԭ4!/CY3(G(ce_AUx iSKx&xv Kkcg1'Bd&:m䝯뇂졬Wneဋ-7xCAC8d|?v>7 C0 CȎ@L(u)ߐoVd˄}:r$m-D50` }O>ˏچ5\}le<x߾qKxKr^h߾(7!&{ n/wb_cؕǽ: uuun#qm~v| 3%㐗 oJھcsvRây( Ѱ!`!`!`!`  ~/߷u@IDAT[y!/gSlnbDK"/ %gux! [j%919mBr{t]wIh nL(j>ptJ$7=>!>F?"U="RHln,P$[ ^pr>!&nB﷿x+78|o C0 C0#p4<|AW3^a <]ŷC&xN:h2oqk-؂`Gu$LmqX sX;uO?. ;8~j3:0Qr\je˖ >_qP>ųYo{G%%n60'oHđXn@y衑6"1|֣m6[2N\7\OhqU'6hʂ9ϟ>t,1&CYGPV<%ހ B({6*= e8dC: V~L(P=kK ` %~Ao6۴㴁'xoԩS$ v],޳@ G3DM111})DXNK/$yrCGC^Y_rw1pؠ OzL!px Tf5Udz(^.YXT\c9}ZjxS޽;^qM2%C0 C0 Ln yg6WApB^vݪ Pe21KWz חx*|ЄGš,[R٦QV-ivmF U^|_|>*kEP@%j8{݅S¾:Bᅸ[SOW?9LB "CI'Dwg,1fR@i#й@:w5! .;CzC^6dBYP+,1 C0 C0 C0 C +=؃w!=څ22iʦJ,Dܠ[/QtobTc6_Є ظv} )J֭/iŊFl Sb [MSOѥ:Ff6q' Ee㩗.#݆'xB;f>ʣ3=0B'E\$shФAed$2N`?␗xA^!d"R2Z\,kQ(!Xk^5 ޴F{f5jpCH(<+/UW1LQEa4C{Pc]iwHxZ#U}$/Ty-8^lʦ>6CY[]j!/ qeØP6Be즀$%vLͤ/%;`mR[2 C0 CH"tP%E)5a^~Sy q {}/I v/x59^ˎM~3;$u֝,mrͬs[@" /:מ6~"=ubɂǵ.˟)[:(Nm= FyP֢>v'Ug+,*Vg!`!`!`@!/!OFōU'LTˆjIztˍA6UKT?ߥQG~ȼlٲF mz`+8\ADsegK=|W7Ės<\o߾Ҟ?tŌyxT]5L l9=M:Wu<~jc;LJ!KH+u:τ\Ԡ#M:9J˩c x(1 C0 C0 C0 C:AT3y(`OeB(;r$5.bBYhI wDL_$ mGi]lJe"ފD(7xC yy(%2^Qk+5|M80LJ?3)eZp ~g}|뭷hIdio!3e"YgatJguʠ/z- b믿N_=;x6HTY, pnk8\k.4fpT5<9 l$Hc뭷;O<|@>r!]UPPuUWPN HF3g NN,!`!`2x})(J9e8e~\{>u([{jX|9͚5K^vĵ?^&&//vk]㨴TDq-}G˩e˖=nH(ý2Zwu]=x) o7KzNSqoW8* [-Dhr e5.F.a` Q#`Y0 C0 C0 C0 @@C^֬p0 9chl%LIJbAKybq*ۤ?0u h0`}ͷп8&,X $!fm*oJ[;H[oD}{t= &xm;vDwBBi;JN xofx 4i҄76dhkPME{55# l0*2y@@(+;Fo!@F ѐG85xʦ^LeɺRcK*O[!{#, :BuGpe%8@BHسso{ݝ4tJVթST}.u;US-/[^X BWDA"2k ^'9VZ%eǼzF !ؓ JzC9&N(|,Z[]#+zπ7NEbPv9lbĈ~a!!aqr1{*bof̐! Õ7vAkhQEf@nR ʤA,13Aٽߧ2PdePe-/`"x^/!k>|饗]kĞBy^Ҙ1ں7h%o|_~-h{V;x;DMڠI .ߗZ=v\_`V70 [iPƊ~ _sY9 / 'o:XC:2/òtB>GrQ# R~*۔!F؛_;81*{;cۤ*!`!opeK(Ǐ;h: ʮ<ʰb=?}fG=Q($ri~wWVB,'C˗3?b`\1@~X[ګ352yEg?nC٭x#Qc}8v g?+?r~>gDpHQQ{e¬'ipc<-/Cp2e C0 C0 C0 CԠ!</nϸFKP(E-|X8V8@7/8HFtLC,ǖV{H]6XH5vR?p>*&s {B5jx6K$bӵ]OkfeޠaLO2>GΠ,NP٠my#|L)%kpu7g,)J9sX :0?8E\FeEUW]%~cHÆ 6\ 2s`y,n}3% >WNKS]?A֧.X[tՠ<9o3(7(Öx*U<[^CG6y;dd[V:lD3yبo?62:묳yp<}y(c4ίYFfO|R:s1GQ'rrel21(-ƢR̞+}/}n|t|g?^>z} .]ՠl$ ʎ2n'>?=熽6lk0 C0 M-/?V{oS8ؽ N̡#*a#?ow]8<37.?=hɏ33,y~PfF Bl%`̓n'ш{G֢n8fZqZW\OS[^=+s lK C0 C0 C0 C#Ԡ=aw; lLA%pd9xD?hٲe¯xьz>@hފ?V!h<'9W*Q /6-/?el&DfP6A@ nj}^VClh&F٥Wg[3r4BXVKHWBӛWìRdr3/ 1Gz@gNkoRƍ7TGSW5^GBh[LP͵W A-.pX`e@rPVSæ72و e˸(;OfPh"v':670 ,IoB6Gٍ8ð%#O3q)qkuٺ'ܖEq={[^  ʆ2N;&7ß CCQ3IU )أˆ؃-!(v_Ġ_؍=ܓ&9 s[uXUW?/s `ьW.E>b[U \ e}LesvwMWcK`s.b/귴!`!`;2߹}!Ry>'YPmyل-/?r=JԐ%44ewP*([[cf|c~fE6KϚ~^:{9?s̵^U/Ssc/o~5d&"a"C0 C0 C0 C0 6(;K>SaLbxaKl Ti!=3+Qѯ0q(&Lky,ʋ=}V鶶6P*S,Ǽ~,OH륞d†TM<-/aPV C" Au㓯=u~|d">c u myղZ`PVj{<x ࡌ\/ k=k,s=\X(H%eeyl~=/~ 3g1QG%D[r !`!` ԠL6kK3ûɣ!Mx Lg01%\(zTA5)91?#s_}.BRi-7y3QxUYa}0 Ԉ |z 2ڬ ef>~;oh. C! Z,cIO(R2 "2Uӓ4yaI= S(>OȯNQTAYtLe[ [^A!x0(QGJ372<:ɱ`'<Ǽq'c:=̥vKAŝA*ٟ# 0av[^6<ON2OQSaT2s࡮eGC1p ʾ/V9lnVR)*+LiRK)?}i&1&6ϖFǎ}1 C0 bb޼%?Kx(eC̕$U z?d$(5cJK]Or=|VO]0Q!\?ʢqȦ餞T<5݁`eņ!`!`!`!`1A{(s+5L࡬LoER3X8JBšxsG՞ۑZJQ#28gR jmqeA?Q6^I)"26&3V7ٰ[^{CY0q"͞=[6(k*{e2aTC鱖;w1*XPU=ܦ2ݡd3*ǡ̸M:Cٝƶ 50+!6(GCY /m˖PvPWOPpc)a)2sG$"N'c:v"61T=G&pI?Q'Y){e_Ö6O&3aP4=]f"_"6({(5PvǨ|ǣs #4%D itiSOͣŋӰaiErod i2Deo@/kEAY2lT׏u}O]{-=lȐ!fΜI>bxX҆!`!`+dȺIM-{'b6(;j(yGPhPƏ@. y7*Q̜x\D;Bg!G^͑T}'_UW)!֌B[e==2} ࡌ!~e`!`!`!`@#z(sHX b&ˠ̵BV}$/u51[D IvJX WK^ђ^\b[y-NǮXA`+&ds6Rq>YJ'D -ݰ.3u_UC;du薗e u0(+` ?ep$Ŭ!5qڥ<׈sS̀5A K⠆.dƹXzbJ!s8Z挥guCbk.֟՟ 럠Vx(+%aEfP?ΠPPɆ}⡬[D+a㦎x(Vz-k%&".e%_ VgP#lyjĠ[^Ėo2m+__Гs/K;ȬLBgu}ӂ!`!`gPe0@uZQ0(yGҐ|R4X30$i:;gϰvv8ϲ\,=NY3,Û;}A ʴ8]E:hy(sgŎ!`!`!`!`!2^J3&ʜALy(cRTG1ʜqMM1/ju{+qWJ8Ԩ:8p#(2-/C5 kƖWCǖo6"7o͘1AYe[0(ˏBQGV4ĢD0$8T1ǃ;dHkisG4NpRA9Y _U\gM'iY 2lybP[^<Of!uN, UWUF(Bϸ{c <ýAPݷ? \+KGUevZd yt7҂ Ġo̘1t'Ovдņ!`!`sB顥j, l4])ʳτxCe=f\~qa{8T핞UASEyweÖr,~tvlޖ1 C0 C0 C0 C=c=& cXu50(kDa1QLbL 2Ԏ#J:*Lx@P=/B߻ $ze2xtre9Ҷ[2p87( <2xt8a"͞=۩P6Dk06/ΠLFcLW\X$q=e9ZP$EX)=+f0:RP$ZU^P)x(A^'D<ƖfP8򲦮1c PjYg\eB$dseS}|k=/zV*vRnjJ"x/웫$Lrz2z)>$"T6Lo )'zRDaQLN/r#4-1!`!`!`!0Hx(‹#Z],Z)I>?LTrxBP.I"y^8JKSSdOeE A ӣ n'[z>y(A];r-AY@5(e䡬Uu穎2C#򃪧cͳgD~( ,=@*hueG$KtQbB`&1e"Vr.̿p >9PA_bP6[^.}Aޠ[eێL4 YD"2jhxF6f|~j/`,lPv[gPmOh6l|LLrwytiѣ!`!S#=K߅!M<>O{stBJ #~C.rݝ_عk#8 ` A ha2| ҷ=2}4I<@Y0 C0 C0 C0 B@=#c2穬FRn>my'Ժ5 o JU")Pkp+Yp0R VWjN_,,"1HAj]皥ZVQ10T-/;`ؠ[^ࡌ7H<x`dត5_1͒2ʺHq4wTru-V*Y?;en ܐ\nHqd /?Em~ $pkSۅ8Yߕq-Sݷ7NZ\#NL,N{(2(Q*Sk0zߩE#W=#[^z2@++PYl!`!`!`@ ޠ BX 4 x(kP-'|aYb@ ^M=H$ܶ艪G(U&@e'U3!:I1YeS=\P?6(t60[^wny9=AY7{2!5bPv9GɃ#3ZM:BLvY6eQ8ubR9%.RtQ rVX9cDu@TpʜAY`je`Xfe*鶼26(àGM V0(ƓNJ*NvkɇUz3AY(kr=a-/uttŋi֬Yt7)ˉ!>VvPm~oyC0 C0vA ʰF[< [^[^eZ1ƉwwHhjeYC{h?!Zuu?YQiZGoT CYk[^8a ʎ+/\Ƀmyr!`!`!`!`TD@ rK+/̈AY% Sn!G`1K|r (h%#:Az<ĕ)qLh>+ xҫh* 2惘p𑖔:6=-/ѥ0(UǼ5ٖ4yr7esᡬ tqE5#2MGccǚcZG%Q)VqT%JӲK\⺜b:Qk֕|8Ƽq*}pº e8_052>ufP?ee졌MClyYG@T5g^zS7Uڒʢb eP۟yŰ`P[^Aoy92.a\^hΜ9pW#F1C3gΤw]4xtU!`!S ۟Z0(ㆳFJ1 u( ~DCc}3Z9P-/͠,!`!`!`!`AY=|]a]Gvܖx5B16(s5q[ׂ.[B0QN<}DWZqjyHT?b"Ta2t$E˧J;5(ȶ zBذ;לǖ'-/2gx6Bu)eZr0<M0y|-DrM*/'u\z[vJp2)sP2rx2jgP751,+QA2?ɖx(HT6b =` yPY,e;2=MMGZ6oLtA\@iHִO|/:7J\jkow!_Gp;/CFNE KW˪ jڎGe([P%}}{|3멦jACT>G6ʤ0 C! ʖ="rly +e|?n zKBzAäHsE!d6̅逑3icOC0"9TӓTG6(??IPVQ C0 C0 C0 C ĠK>, :kh֙(PD4ĕ³eTgTg!0(y/-O /?Em-/Rf"lyy9py}AGmL+K zWRSٸVłj*U?Z{(S:{(9~2ݙVZp!o^zݰ~{#qK|o| ֯5P&*z͉aV eU⺦bnm҃* Zluٌ-/͠,%CSac0vGE42;SƬt^H@*,zB@&J*ɫDE'RݲwːW1ӭn* :[^ l-iA<~2l?;aK/ѯ~4k,Zxg]wSO=.B6mu- iyVL]+AYM<2yE3diy AxX@t';>8-N(9H0(GiN':5Jph'f b>'QnT3t9dh@B;/ĖKe=::C/C#8nURXQIg׊ceMGcoC5ze4;axЄa0(;HMA"a!`!`!`!` |r:Kȯ)[^^MGGk^Z,r߈)+99Q}(JRH!X} ʖ.X8c2!,9"P6ʾKc|肇yь3icPضnI272 =ӎ= K#RB1bȨ:q8F9f$7g88jt,a.wA_-/cQ%ʚ̠,«?&V̧{ՠ tɖcJOJL;=1Qvz2 Іh`Pvo`Ft+Y}t5?,fÇ: [`^Hy?РAFY/ߒؐN0*f@>G3-2F.*™:O\BJbh5bޘq" *i6h[D:QcPO$0JֆzDX`ﳚF1O=!PdՉk[0 C`A;wA6(Ý1rf@nMyǐ(KRy=J` 2>:(2H AeCnq[^{Ɓ-~Dg2Pr!`!`!`!`l'7L3oC xQH}Mv G]q9r$W"X,4(&$T֒49@ABVRT&AғxTppIWPAWc'~Y-9J1(]4ChPʠl9"[Wc.C7>DֽxKh22(swWs*;qʎea,/-JIeQܩ,=ΧUwI (Ae8 q;_39ḲA xf{ZTʒeqU 3椔U+@N N*q䪅)AttkTS.2|>R6$t(7 e'|ԝ"nkk~n[iժUT__/Їl/]'Xr|ze*ua`@XHuŒwrpGG+?R7XnJRMOXJ).NO^Ԑ2r=RޠN_M>G)?`ʍm!`;/W.w6$#I?>H?w"8D7 tLI%2ʯI|@U1ad7QVywLd r/)j`Y, +9IOy(Bh!`!`!`!`d ʦt]Y:p)?I'Hگ?cዳ٩%c,zEer] ғҚ.K+'%F  ^y>wWZ1+cˠχmPZ,za٠_)UO eqnWh9'2\"Tn'2,8+ o&J0( ʾlc2Щu*l~'m}*=RӔOS~LC屶 cVY+2PVzth, r*TTФĚI`DVX >_Uuzj(7|暝o~tz)ueC~?R#v=pC5C`D^TĐ!5a=`>px*O{%lZܺqŖ-b [_WH㹪n^TȑضvV`0 C`gA/5$[\'XNlyyЄaC:K%x $%'x='[͒}+(µ|8 He{Gi, Nǵ-cx(sg!|H;"~Lr G3(˄ň!`!`!`!`#z˫ֲr59YTc$Kh5/ :)1d1bWGޔlZF-%$eꊈA$`q\rwztR)t sO,Mht_AY)&LHgϦɓ'.G*օߢƧA AS~PA cy8bLbj91R9l#DP.|ezҢ\&P^AW .%Թ>j}J\B6׍<46Q.(W_^EozO5 U# [TfH8ܓ;#*n\x3bnl];@j|T7mSj^xnfկ~E y7nytҔ)S(mr``yTڲ9MF?܇r#Gc7:odY}VB9rK& e]Sa)ռT9LH`+ԃvФ\!`bv1|M8eQݤqIJ Ćdz+]wusc_FE'x"]|tGS=̟9 IZ2WCTz1)99Xj{V1(uQM]#w{'5=[ Y!P u̹'#ldF5>aTbTeGRY'8RJtqlvUf,A\=Uʊ,Z&UfMiqŶMoo7Pu#jtuL6jx 9 c$s:|ȂtÐ5 ^$t2DIyNqx*!뷴7iwjx9v}ѻ&%ݾ++3( +6 C0 C0 C0 C@ڹsPz5 .rELnl:QJֱ}arqªm[# ZZ }'蹕:׽w[Dže3(˄ň!`!`!`!`#O8v Ԑot;~i{DW|k/ըWd2y"Q.tch1%,[M3Ky,W\_Q'PY_ y6RϺ {.V)8r j>F4olvAYZ!_Xб'55 T~qiiohº,PDDȗzF\ȡz"YzqrJz"kضԵ4q GaҏQV(dBԱ:)yDnŃjGMedA  +t2xˆ)lV,Zf^^fUnR="L暆f? jxyT<yX饗^[nf͚E˗c;ul Ǹ=SN3gҴi`<]uK#Y§I*mE<~wC1y[@)Km*7 /,"81^V^k9cKfG!`N[鋳7H{u`˳6WˢSWEIj%Wr^WdOwϋf{C95z7K =1?zpF.ZG_(utԨ/.N3fPbC0 C0 C0 C0A !ߢ{(c#g^kJx)ْ+LDċ?B(&LGIb21 ً'DFҨzrS͝[+o& c?GGfA\PyD]g4`d?A1'FFJXUa*Dc)KdRZHWғ!|ҏ4=%bRnId.C[%O/uR皇şQ^Qx.q/cڦqԸ?S~e7RAo F\AŵK0 r2ΤjA!ەZ66S5P}b5=(Ʌ%s/`E͠Nv.Yrn* zj;[1K4l0:餓K/ӧ{/ϡ:(..Ƽq3!06^Pz3fG[GJecSa ܂Qa,Mڛùv C0v 0D_Y#&ы1mE:zQMK0O '\(zTBX"UWMp"5D&b EImI%Q}9sĠzݿO#] ڨ=`!`!`!`!}yK[[yex%O9g*ع~Q-Z*KKM\7ꝡ Uk aڜ"i;-Z!Ly3dJٳ/I>xwAWMWܔ~eEjYB I][q %OMaƚxxJ0pG7NuMKm^\o*vU@ $dRzJ]MԱsFEWЩ4S+j-#еj¢GTZMmSNw~jG[|c0]"Z*_ g:_ܺ:-u̹[n?]e25weaH?G%^6d:c .O<g~ ˗b [lwjWo"|c.OFJED+JDED O&KH ө&DٞD/c%M+usYCnŵ{ x6>M+Y0 C`@?>O= wJyM ;={4ՉRK| oQcә^U(e %YE@вD}&@z(QTKI4gz-/ozxgGOϟAd},22H`!`!`!`@e6o z'~aXX7dwmZ $^a, Gr%DwVl1g9ơ;=Yu]M=qJ˪Id.^e%8]+_G2̽=xkq,'-0범0 C`Eїe~mlwd~Z k_}^ W~WpHAX2̙ ٓNjA)qIDI=qyu5Rיa6NJRVv'0,PWە~ԩtR UȆ!`!`!`!`d!k%3 KXhp` DM8>}'ihÐr~K|C1|M38+1!CNKt'E@jyq)oe=6xe џӜO/4LM L'!u'JhPU좉AY:_{Z>Q2a9 CET7 *5:$2$,8o4We>â8JBɧaEEsAA/ۇ/(OM ;(Q9 p.m&~#  w>j*nXb$ryv㉇YcD|H2Yz|ӻ#7«qm՟4.r DsIhoO/_tM7ѢE`SGqtEs}+uvR§0R[+͍ܮAo{tk\U2Eh\s{Jbqj{u_7[O65[Zq>Al_f ؈\mF6JF5 C`C@zu\so8>uҾؚ:KvD|\vr2i-/Uib漢DS k\7Zg&䘠X&q\r"QA(K('5>}Kn9#mqL#>BQ}ݰ-*W6Y0vx'O6]k5Թ|?X9â[_O o;jwsLQK;#wP$r2ӥz"" 9{vH@ ==m\NY+U{Z;ÆksݸKnȅ'y͚5쪫 FAz׻Ĩce6"x |i*uzOz{S!Gbqwe wO~ I^?j}Sw|N¹W'n3>us]PJ:}C+hUYst9CO\aۥ5B$-&Wn+~}(5&l]Eg3픩4!e(>AY6.F5 C0 C0 C0 C"v_8(%o?gӰa&4 d颔ET $MX%+%,fTA1EلX%DmPZ }ֆlطu==twðls0}6tꔓ㇜-@DNx2M-Ա^օxpd~6Y!~qڥ<׌sHS 1k.栟q.\c\3.w%K놤.\=[WR+F6?epbqSäB2 Y!Phg~J%+Q->xFeG`۵#G{fah2 z l-JḸAFlYJpuQ8?:j,`~ٸq#{Fe?0itI'$Ff;;,܋|L .OCvР<ވ9*Ρmף7EvnUR6sbGN AuCg${* C0RVJ_A2,`p+xPxcpD=SngrtE( UW="2͝=S؟RVziIŏPi+>HH䋗/5C(͍>H^{ezi֬Yt뭷ҪUk/:cM2epqFjw*,z"1ri^Kz04?gOjiv<=u|ܖPޟN?:~ۖns\;o.cd!`N'J۞M[;d˽u޽L'6N=| >^~? Q=u;q*Yq}i%j,NUs=a=MT+ʉ-y+`kaE$ 8ǜss憺X@RfP0 C0 C0 C0 4]3{9vTA&K8X)oyǐtӌ=F)rƇyݴx^+0֮6zi"zhflA-)ooND#.O< u  'NHgϦɓ{%\юV˜){Z_xw#f6(5T۴;Ս8FCuCb]30F孴(#ַ-s JksԹQ*lx[_m\y"5q|bN3fCBUcJ v1TMWǨ\ eGy24g;Z&$׋a_W O:[Kíanhj!lM~x{RzxϙWz2?x“&y e5Cvl)7b<һ`>x܀yE1ϜOK1up(/qZxc4,/֓͟M}>(`bDVlD-k5Zyix$+unju CiYT;bX{5k讻k|I* 4l0:袋/~<57|3]F]$EVHE[g0W[>O z:OO> ͸B8Ԏ Gua Cxw?KO,Y/s|˖|t;"0 ޔif ; f 4sԀDk^Xe\.qʵ9Biܾ8K+ 3\9#oc]Ej,oi5ik[hZj/y%g«,C@:aT`eE C0 C0 C0 C-GVf{"G{FA}_ŮCf46cd~.2@0$ ʀ@P&cov+nwN7@I<0wh1 g36Ř'$&S<] ExrG#_nXM٢i˃\ݽy>Lpփpk4GnZc8?s 02㹌z\}Z|^LM >BH "<7;i#`qMeqM/XKĘ29#C_uRviX#E2#es_O db#3T< FiMTaٔ^2Y(C{6mD_誫d#C=fΜIzx.+lPTXc \aPp(?e2/;a9)_CZ//R:-x>9b+iڑ)/-!`ac/9zn&q,~K۷*Fbupke<9~ߕ9y`B ԕwN_1GBWS(zR.2Nb/K;)썿ͻ%J^f@IDATPPb@ŝ fxg g9b#((JKXvUWO7WUU=ѦD?\qZ^Яܿ 7X/Pbc2cqخd w+:*ېBAنP       EK߽"7u TvHEI}{D nqndvjJ¬*wmlc}/E2?j`i 01;`?n}X?2tNnv>4hI~*8-+ *w 1ޏuEf=nly16SE~xp9K('_ 9dY*&|(H(pj_z BiwõazAa=ص u_l^lP0Z Qo:ԏ͏:I͋[%ǭBsq#Dje66m7S}1nưGhr%ա M?6rOeLTVu^hkOj8\6"v{Co)?>޿},6.F'Uyݤ~4j7^zdw?ԣ(tJeΜ9eڴi=yradw,bt<'(9]?n#ϒ4zMֽ1';^IÙްvtm)'pkfv3weKSYZD%KϑNM;";.9 |lbՋ4W)Y:UЋ ).qiqoP{n;q5`VspݺX6 d-~.݉7~`k.hR?Xcn*?x7͢c:#s).$#d9Rw(eubrP>.[U)&h u;^d2\t&tkƮ;{qo(8\+bwM]l~jf? >~.ѷ{{49&ZŚR Qd~lp~tx?(JȥeJFNPf/IE(S(O ,7|Sx/B H^dW^9jB}Q^@ZE(mU }Tʘ3\pJe#oR"5l$=VAYJ$@$P Wʳ"~3G,^ei35""-4*Tt/UƾbFu92&vJ+7cn'9?F}aAh73Jy sYlxEA2"@ڗz7cƴylvDNk+Ԫl +TF u        $x^6G^|$L蕮6aYFZPK'"5qOT,[_pᮕZ1jqs He~n.{?Zd3~, vukqs'Es)x?[xlEn";iV/Q1}h#:/-7\]1 e]zvM)>e͊YچȃzTfI[Ƚ`oJ{k~׺qЏ~\nqkncB?p[_q<m e֑:$Iڢ-S2&PV*>J鼟lbX#!{o%κ"}؇-n/~k?2<DƢH;y޸=b9ϥ]Q?6cD?qhGJ?0/{W{X $w$s%>֒b'-/O`ٲe2fT6j(YdI׮]rJ&M*aHF(K # E(Bu å]j>0aw~ auf ce}عpΰ"^PVZT5'C',DVIHvÅE/ɷ.*,eo/%>%ǽL~%łߑTi;quX ja%YЌ(c<Жď(ef8.Qd*$:_ھy "?O23">m {løq $X92u?ΕHZKvOX=97(+Y,KP`(d#h nHvqw1udjv8/^ Fـ~p~ p<&z7-՛h/+=SZo%4(mۭe07_yyxAYkW xݱcL}\VDJWHe˚%SdMR|> -RKpM5\'^\on(^q573jc-fb~]nn{W%xg |&c80yQGGuKX۽meHz^kɨQ2Iz6JGg8 ʊ tY3[ó5skGA{2jQmkݽw":|67[;/^h <_;c$~|M଒~6]+޽nL щZiD2}^2ZwFm%-eV\)?<oIVVlrGK߾}sgeA٪d挘 Cr2az}E{8ѫ±)u7N V΃ G߃ h:eIS5Be8(w`&(o$9lG @$x,*\-~_&g,t?^&󖮲'j?]Qgk ^Ab HgΜ)/1B{Ј_NvʠAdv̚E(~ @GHE(Lq j]ڕ> NʎDCOR6~` I֖ru;NPi2 eS^HX! ?#%RXT"󖬒9 ?_!,Y)ɒŲhJ,XL|Ӷϰ`MCȷrk63K8U,P8mNU8Ffs#Nkv4YYz+Äb fI3>ֺqkZW#JFyR7'SOe **$        E"}@ZT*)"MWR3LYC|I+n.dW[a7X׏ ক%w3n}Xt~Ml29X[U:/,Sz-]%1qYDz3%CV1y PoGAYrPqzMLǢPUAHȂ]V$~'ٴ{5n[Qn9bMKWQJ2t*&"c6-ζ{2?l2K1Dd'JqKϷ6[%9|{qus$Ao6~NgAf{8C9,r:Mf X*K.\PFV=w<lYђHHHHHHHH((SF $%PTT$S~/><32}tΖ6m.W֭> U&dtpi:ӣdm AY\븍P(o*~U~|/:Gyhozlc}kbueǏ±evLPXrz-mڭ-HH6{sΕMZTF @AY 8 \ T% ʪ6} @())ٳg˫*Æ o6jHo?9sgϞiIe3TPlR ,/neGD[th}Sηi,, ʼ !iTXP= T@Pz|$UXNK$@$@$@$@$@$@$@$@5e5p]$@$@$gG=#Gb[:,Aze3gR^ɥ‚Ite]cTS*ji0"Ugg K鲥K]*F(ۇ}$''JV fNה1&( R^v†DeSرv7tM4Mϙ`7YNa3meZKP֋rHH … .'xB OKKݻ3<(eq~gN$@$@$@$@$@$@$@$@$P((VtN$@$@F)0,Y"}[J:u;,:K;pϯ5e,##/mګS̱+ )/RgKσ[   t8po)t"fgg'J'@AY#        Y((Y烫!  &|r0a<2rHAtD&ر:䓥M6h'R< ʼ`I&jzK6e?^~dAqiP&iZ-44 ʖPM#BS^ @ ˖-/,ūW.0s=-Uw-jY)\((DHHHHHHHHj" jYHHHj ɴizJfΜ)ҪU+9coΝ+!n,BR^"B2*(۶eXWM?|NP.,*$@$P ;&d;wE'Mnn߻NF):eUǚHHHHHHHHHFJv2j(JR#E T C\|xdر@AҧO9m,eɩLA&Q8_~JdѶruߠ[̢@#9AZeR^[2۴8bHHD-Q򲸸8%}'y饗Ei=| Ue         D *(+]F ڵ.HH@ ?{G>CYrԩSGvqG0puҨQM2} AY,HyL변TcRcRN5&Uj]koVhW_s|[|_lS'*D,\"Hs0R (dPPHH $ /ȹ+ Ťd,++[nCjn%@AY7        vQAٚ5Үj?)\ T3&M$>2|K1V[I'd)ڷoVY:DgFS^IO˅R?/q{ۦnmjˍm|ǖ)޴ hcJ- R^.-cVHH"-Z$gyzj\'LXTY he]gЄ'@AY3        Qe#ըŐ luŊeDӨ\T)~gy?O5mrqYg%m&yP6#NdrSexDQx̌X&W$~5AKՎŭ?m(^\JJmτehZG g}־#1JcUUe         Dt2  ͒"A#Mնm[߿viҴijRB33+C_DSCdTs1*ڢ:g͚e3K)+CA٬fB$/Ӈ9Hy[S^v.7{mc`:ewk#egɌ3dѢRTT$*nBA8Cfͤcǎ{!"HYybj+ȗg>XeHAKiR;6{KfvqHHx73ΐsƢy%mN,XY~vwm鷳kQ%SPV;WM$@$@$@$@$@$@$@$@L NPV)/ Y\F)rdS^̜ &(KXm,y^.]LJT`<Nu 5R #RU"Q2pmHvaeKLeMcRP%: ҥKeРAZוE}{->o~ގ`=9 ʒsa+ i A+" eS#  *C,<\6lq(eC;,iU ·'xBz!1cJ[4>Z  ݺuؽKrmԩG!_~Jv 1At%KyKI9i$KkYdm2~Y=.q?ASؽ7O0:D+At)X'6Q)/UP J MyӋ%HHOOY뢓AƌϞx6XU_ɝw%}QBhZRrr        y((y+" | @x\s .K)YN·{'tV[I'di& ʊ5BYZ4BH˭(奛 k8qy睚5YxX_K:Kǭ;JF5ZY/~8m /Xs9ҩS'ߕt /xm;7OhPy OuvDZ}Ky9V. RFe2PcH6_4zI' ;DH'*bg*]vW^yEr#O?C;ec         @Az) Ti*p,m㩧*_|=,·+Vȸq~ˢZ /RXXhsH9DCM,IѸOd ZG&(ۭF(8,o~҇b}(Zw㏳h͛7<]_?3F}YAt3 *Ú:묵D*DՕ/W]$Kٲѣ4BYCPdiWpq$@$@O/J,\a;WO.eف&M$S< ̌D7 gceSlS\$@$@$@$@$@$@$@$@$P PPV NH$@$Pk RuaA8,Yb$}+B8ҩHSZNhd#瞳UcxaN."WR=Pc=>BYF(s^,B6ye*^zarwY3{0+Guwy&&Cz,<|PA>@Y}Y)ǁdv1Xz-7P_\% +aWPqkhgr SEx!ichR^t=nG(cː!+$@$9XDPYg#Gʿ/k69u wӦMHe(#        N~>  B` /_.;w&-ZWT[N dQ]&G5!ܯt^q?iѢEk D mt\NPBP;_5? Lש[G?p LȆiD[=zeʕfQ)"\zl2/Fh emAn2|1\tm8.KR@2Qf2򒂲x# ͔DQyÓO>)g}}B_r >Lի5:>+ͻIHHHHHHH6Cm'L$@$I @_c=&}=E2DzA'+w\ 1c BOdSN^T^ںJ#+y`ꤝ1y ,gh)7D ?va2̀p2?]e*(`(UIHD+..6[p.'Yq;)&LsXYd°V0ۉkS[_&کFOE~AKW5>YDPV;CĮR4s)CK= ʌ_HH*&((;QS^eS^ *1= @"@AY:\ @-!PqYd]QG%YYY 2DHHˈj*OUH륗^{LO.K.mF*GqD(XK5*gϞ-#GcDHO*kk,JYTPS^zRz((OyO?kkgիUFLwYg R_9d*~U؋ \ҌsrrK. .P5kV~c$d SĈiq0u+ BӠO(} Oe lJD(e,;wHHe5B~0BY9D@AY`S        >U{z&  Bt;SzeövBkV~7շo_mU -2e-gp(e?Di殌6Ě/_.˖-s皠l̙2m4eԩ2o=8 Q (Ct8JffqF?=Iǎ- fGIxt-m!D`*=틖_ۨ]Pt&тǏ8A5AYc ʢX' HJ ʖ i'pF.Kjƪ!@AYp        1((1 ! E -b\p -/EEEsɿoAԬJ<@m4뢋.Z>yꩧd]v1Z޽ֈ}Dm ʂ (sdҤI2e?C5xzAY,epH$9-7*(C8}8ǿN;Yۡ-.4XN˭-bB8 AT?^,>;h}--gP.Dg%#;kZlW (CK3Ti'赑e!_VHHRwD-,\FePUPPVHHHHHHHHe  G뮻Nkag4"T{Eӧ ʺt@Z?DXxzGKFFJӀ!#!C|Qۈ<r7ʌ3;==M?p{ ٸu[Wyq귁1HWy:bV;|ն~ 0A- e~5vy&6]ܒ @kn߱VXa'p 1ʢNAY5@K        NQAYi)(h'F0SuIHH&~]vV(fH%%e KѸJ*rIPznj#CUP{콧 w_͜DPDTC$:D(;#eȕCd'/[$ H[,KRѝhK5s6`[㗙/A22M9 In21=WnyI8~[  # ,lɥ~ FPPǨ:v((I$@$@$@$@$@$@$@$@H *(C)(B$@$@~+׿dԩr˱+ٶB*vmYW\a RZz7QRL>\909cǾ&CIϞ=+-DN<01S^h2Ɉ? BYWQX[a{׮]MPvQGϝ3BEa*~,ŋmtIsٹ[GYB)+?*ՈXm̹Z*!} T˹TAE(RkZ>/IoSƨE\HjfoX383}M$Œcq~\~MiK'l `Hy<9:,+[??.lNveUMHHHHHHHHH PPV'IHj%~An2p@iҤ0D "$Dt=zȹ+[0mذal= .@u"~!i'|4hР;ƍ'?qҽ{w}ݥE5N\e3[Kq Ǜ\PvHo+XjMhۦ\9J968-RrW0M{(6p@e-6^QQ,Y" ZÆ zhkk>o0?M6s' -nd@PZ {k0v*Ժ[v]" ҵ6mT4͋9Y-Z,ח&zabFo\=^S^.հnq(eA`!  8MT_^X2 PPVt97 @% x!bQli,Sn]g}Lht^x"٬Y{^?LO?kF>sK Q[oA^z%M ԡC !bք~i߾((*1A Ke$k.a3*}'B:[d;3Z/b![jYX;O~wywdȑ&9ƹ9l߾praV[meB.?bo^?XfϞm 5o {4;]C'NTQ3wSԏY@IDATEmy?## &/lµNDFm|c]܎=.~7Ed0_ 9~7Ra|=w: Lm H{~_fl ~z!/kC=>}PPV}HHHHHHHHeՂNIHj9D6m<#/Zt*p CJDȐW_>DB D2+(((R| B#8„`@Hf>lR.29M{D%0mɲ^{ɾkvX>7rjuYQ-h+?O}"Ś2-LyOlޒM|K 6֍Y}pQ]cB+ | L}PZj%7x BiO&|Q &%Kkr:u "]{1 Ǝ3F{9)h[`m Z0+PW_"B\{ZIz Λki0s/ڭEù}dҤIv~!4h]ӧO{yk}}`V hC$:D]ի^-H:bp[uٹ c^{E?eСN;?,-D첋 o-Q5kJτ!(8g!\rtA]5e.e?e$ޒѦLYHHHj jRIHHHHHHHH`Sj5j> )$@$@$&HeH_qYZZ A)߇Zpcц>`>=tHtԛ ):L"g}-_U2P" e,T(Ahb(9 n h-o[o!I'$ TkL셨sW\ TA ym۶-wFPifkA*ND駟Fܾ_A6Xr~Ih^eѾp:/-O>MW_miN!N@wtJ5 ։_poiĈrl/xv>#}1 uf] ( )Zjkvw?.q)/q=돉:PAYN%2.  U((U%        'v((xHHRs= {8Zt ,4wYZDvuhw֝ )/W*HL#Y eTS͕4ҥ T11{!w!Wޓi?Ms5pw!*CMS孷޶ha5"?vP1~T0 u- ;N b b4ڴicDZF0 kk߾ns^/,M*Dj^ziG4W]%o4mԄhaM;dF7CT2D7fHӢ Ln5@t.Xرc-y-NJY;>[F(ʢX'  CsR        $5]e,'!  * Heh]tRꫯ,*F\NE5Ο'E㜠,MŻRk0qE{-U iA#!_Z_C-[&iiWVZ)%%6=0E;r-M\D0 Ȳ%GVmҥxbO&C6tb(^/Q!{e0l޼ʄa%/O&~e鐆.Þ~ikQ mHӰ[+HÉ(k}lvvAH-aeKŝGIYi#EAN$@$@eq$@$@$@$@$@$@$@$@$ (bwQJ-.[oO$@$@$P~F˅^(4%c>khX'|2Lf[me3T1I#cFR^-NhY؄[S!]/m۩WN< _?. iAU>{H-;C3 y@Dy\ qي+,-E( "zKSPG|4 Rob 1AvKT6S_5_8>D=;묳LPxM7 ՝RPP`7'(eӧg!W\qE AR>3nALy ,$@$@$PPPVNK$@$@$@$@$@$@$@$@Kj.߶xZʧIHH*Br.b֭|KÆ -zU&MLH[ C:wF۪hX2[.e Pi %D`t+Da-[=zZHo A=Y#_}R9b|bKU@uFW~\7D[0#7jQ0'RfBĵ\||ǖVʆ ;<˵oʔ)f]M܏(6gHc vsذa&"_ B3̿)_vy ?!(CT5Dp馛LxVGyM_|a)6?T۩ R[h5,*(ek229$|%  ZEZuX        4(Q4RNNNzȼi @aa Yj]w5A٤Ib#De],|`B~Y*HjR eTPf|\,MʘdN`V³y!졇(]{cB4_n=m"+W "\\`<ܶnڢ|E RYBt5n8!ء&5+De! ٭j1'(bB3?"!dYTcƌ|g}<׿9s-,`ر&"9E$oَꫯmH񉔕^"!3TcֱcՂ)g?>BYۍ,OETPeḣ?eK5WP]3acPFAY$@$@$P[PPV[I$@$@$@$@$@$@$@$@$@$@$@$_^xA|MKiT,jJm  "O z>eѥ+sB1Mz) bH;ϛoD{D@q΢v#Yۂ2pY-KJJ,*R>.\PN>Dzm$[E|Ri"RԩS ʶ~{K9gK}Bj[0_HÉhbvs=g9Ð9oVVH[MF]hb2 %PMy9#*(hx%D( eHyA*(s8"M+e˖H ®2MyOAY  u((u &           ؜ ҥKeڴi ˧ND+9}嫯e{챇j3'()/g,3y9WFn[uʜ,~ "1DmwߕW5%RRBTUQiժ瞲!O?51ZzFlR:( p 5Uu]'=K< T` 7{"]tW^yE;_쳏o4E?G4&"t/]a}(G4̐t-fϞm=zKl(LpH#ue*3uӔɇeEL#,M{z`i* o$LyiB$@$@eq$@$@$@$@$@$@$@$@$@$@$@$@$"g!5GHg?X ?py-"VMbe30BPHyqغ+k"Ev]M0Q\?n&e˖ L=iӦ&C1Ґ¬vID[eٲeF O>F16aŁ(HI aYCO?TZhtOC± &Rn]!*曲|rkG3Wv!ȑ#M<fUys-?M8юCn-#M]j1ʰV=_~!2kPL]bN;=NP6~x]!G7|pḐTX5SXPko E- "բť @E*pUe,-#S][\+ۤ.F(AzlYd1D4zuIFa.p]QƎg1'ոqc^V[ɓrO,YD9Z?O"A֤qe],@d4 l|F3/]tmF{tZDݻKϞ="5_p}}5; YY\lΐ[l!`~0¥B3'6+e4Be9$@$@$PPPVJ$@$@$@$@$@$@$@$@$@$@$@$@>eF(K "}LJ.BYAY J<,ig1VK5>c""@hpi텅A MYOߔ^j+VDDCd2?ZSO=eQŦL˵^krru٫a}=͡kYB LLa[SF )<\T_ּULv;Ltlz~c HHj! jIIHHHHHHHHHHHH6@UcG[˘LHUQ1AY|*+`_i[/7oܤ)'xqYtr!rUWˮ̥DA xwٶژ'cu][T@EG(+eiP5D| D;wGƍ3!宻* 6vN$@ 6̃$            C rF$BUeTAYTqV~'F%~hhI5 u?CRF{NkdҤI&,kѢ\~riICMiŎMOHpCnR^jPöT#i˞Ly N,K^W_}UBj[+'x4k,gnwYK6H+B$@ 6ͣ%            j'!UKhJ$I.IY)0Oa94u 92%VdQ/qQJy-E&D1ԗN؄e6z㭊or:t=؃f6+g   A *(K*A2y^T̑ӣdmS^n̒#꧍fc \%.Y J6m]9pҘ,O6axL"S^. eXld2DŽUN`ĉdҰark/6;(Ǐ38CN:$iԨQ9{6 BL8IHHHHHHH`3%A>H^} *C2~|TimIQ)33S   BA٬._~e5X [آ$ΡMq؈} gJ,sdvKt'ZV);D6j=\H=O>5~`0BYz }T}{Ҫe+9%++R ͟?_y4i\d͛n&{f͚Gj*m=zȶn+_;VLbsvբm6+R}weƌZu5iDcVZyS[?,|tUvi']v&L0K:vh"_"}W| jUŜ9sl^D(;#~_׬Y[4wbb3!kݺCu!}7[a [t|j@@ݺuKi{w}Wԩc0p-+>f}qK$@$@$i xAYIͮ_LPD(D1_Y=V}^eўh}=z+AsdoaFh QS#b~m)a+eL :bV)/3Gm%i>lg\zҿ^Tcυ @%rj        #d0`*Z.'!U Lttm@ O;4iÇO?m,Ao%~LV1j.5SMv 7H۶NpB LtEIƍ媫`ZfEa i m\ƍcZje}+ڶm@~Y PV2giKW 3PV~5: ^ϛBgki c97U(ݭ |^U8VB8+-z=aL?tяX@,@>}@@@?>sfR8a)zH :;`O>zbBQ7t}ֿ+)駟e 1)ftR0`[{޶dj|j6uTV+t1F[0dF>@W#6m{s{f=VHs^z%;4> \+>̦]Dc?CM66o<{mkG}' Z[ƍ|8O3Uoǿ[ݬԾk{wpye1‡T/=c]@ɓ ++/3N?^ ӗ;r-TMU.T6ZhCtPpm >v BnnU";=ڱێ6o<_Ln }ZAA)He:/ . @>P %%FWR%6:IZjh[r)_*ў*>tDstVzq?j{o13i)p}xsNΝr NeթM_    &q6d_QFcT-7-19>}ؙgY~Q'x?_ؼX,U>|K:j[ALZWHSL^}Uq#/Ҵ v1(Ԥt +\Vh媫CiGyԗ SKפ 7+i ({=;Vm D (SĔi9e&EJ}ܡ^K}HRM']>땲Nj{R)^8/($( U(sLe)ٔC[4ե>[U>[}VO8WTu#ݻ? ]@@@@PpK;>>,V*}>).UuK_#0֘1c|L`F_x?{`D^wTL!)MUTRj欙vq aCnb 2UҗZ Ǝk3f *ilRC9OTK)P9nw-g*]2svک6klS.Pvى@l9ϱ˖i=N xbg6tƅvjԢjS2E_̝;+jq@YPLS4%u=\=mQIZ)Mu]wi45gԽݻTU6@edLTЕ{/ eLS|qmw&UMKYW'1! Pq#@@@@ )TS+X24բ ;F@_.<?h~)PひoۅqUiK~Oc7l_0{pTIO7UP8Ҕp`Y(i%(T__(Х_{~ߦ ufyk?>|wꩧ0iaԾ*)h';^0a Uമst2XsR/}~n;v .%,Ǒ#GzmƇ5ݧ(=}3UW / ֝|\9TayYE~s}mu[qO>hOǹW<[~w!xu0?*t*sB-IS^Zb7)/gː2i(ϋ\r-ZncA yŊrqLbs>c~0s_~eqJ֭j 6݊#@@@@j@({G_BY[;mkT)}_ڔ)Slڴi~~* pmS*@M}_B曮~KMP+>p65^zu!/4d۶m#8ݧG PvؤI|M~ƧT&tCn 'Jgs=Mݷm.PJRa1]wy.4_v(ibn;&RtÇ?OUz[o`EǍ{c te/ye z;Seg'tefA@_V (s e.@e;D;8/m:j{CFԣc#!h-`_`Yl18'y_tWPӖXsl'-y_￱I-z4쉸 eYnK*"<~pƪ*v7Z.]R6=j(㝠Y>ghя^f͚Ȥ! se`ZRü@\@Y     e@#.P*Th78xSE_O6b_L!'U/Z4-^{J *{=SP7׃@Bj󪫮5EX_lڌ6g[fEXBTa裎(k&_8P+Pc engMy;֩s'_ELTuUTeMcGgW쬳U By ӝ3|3jԘS~6i.SWm.o*<쪢Zl`E??n6@Yԟwٱp#P @~1Dledevp% My@q {Gl9z~J,~?: (-hJr,Gv+޴~F"h^KE~JƊ>Wt1+6Jvy2󣁲l3~?*X/nDUUaYa*Hw}JM7ĝVe1n@@@@Me<9H{S^r. VIӗ~a>ɧ|5"eb)(m~ZʊB*ywᥠ9+Էzi,yi}`M!84]j"2Pv =UV(۴@P7eB{.P e.]jƩ͟?߾[8qD)%Uy-X8SE7suAʞ{9?}*苜'U(Ӵ]Ul:;#a,k hL]v~\%3UhS}Op(ӎI(BY3 @%V4C+eREez Vl]* @&e2bYX)tf\m0k<*zbmsY&ZīDm:%Qme],S!q2(+nثԄ*2!0G96m~\tto*ft? 9:vر@Y޽}%!VUZ?.R%jM>[ "@,]@@@@Uxҗ<*Q i1cT0vx[rr~)NTJmqt(@BUwyglY2*hԗ[G!nɝvfO?Z2PqߦR/U;wnzƨebD(u!1*@s8.UX/]8裏#GjgrSL^~e_L<3.l6[l7Ŧ᜺u\NW"cea@uʗ)PΞJ e/ e[EvEGM~LrW#iODT+b^~3c۫Q5ޒƯ&h?x־RyWOD?c~J|*M5A,ڇ+Qf-ZY^ HxJ?}Kmƌ6l0ٳgR1}~ϮZqr…>c׿h\WT1;0_:ձlCjB@YM'    @ KURU>)|뭷|(UL!?? 믿nA* {+i:LMseN_Zh <}֧O_-,TmZ#t rI\"Pnl&>h<曭uV6TA.Y9)_zU6:w즫|ȏ=|w~*_ApLW1d+,$0)n \Pmqnʑ>Pۚ e5@^eKxe]6I!D*#vua3M^*ġ* Dk- ƺƂ 5/8!x HZUgW][U^\򲠵5pvV胗G}d_|NJ׮]|rC?я:uꔴ?BU;~TբL6asϵV  .N0@@@@_E@믿sӏ^n~-Z)E@{ac^c۷C2(ɱnW4(~e O/"ƽ9ڷk(ؔ e V[]JWaRBVMlrӦ<kԸQ .&M({=(;5MyXd _qF.4 eݗBweo|ֽR+  e JgMԾ*n R rvrPR6J.E}"+lؔ~zVj#Αh8Z] BsXf.tTP UVV駼+YGjR@YM7    .BdW^q;Kx~ێ9 BNд_:W=E}0Mh"_/TT}Ok]xԺ+]k)/OqQץ]jg϶OҸIc+).4 Q׹7B\A2U.>|m6ޟh'O>P]4U(,Brg/L4~רQ|K!vʺZ^^qӦԩS38?ĩBaR4Eͷ~c=|m} Pvɧe#i!Cs?nM1ڷum ͜9Ӈԍ,?}Sx72]'i,  (O??U\`)Us_(ɭ㊎B\DJ5TvwbF"b?/8shѕ`stU=]+sbd ƞ#=TǵSd+S([eY׋;VfYmZ޾XyF c/.眊!0}~PE#z#8IDATFnt鳘~rJg-ds?wSWjjLUn֭}Ѿ*<8c0 Pի"   O@U4߆7 t 6{]Ų};Slw+g}ևJRWr_(D646l0{MЙcr¥)kw_qQ/M?_Zv}ߏ'qoUs5jduY UKShW^?qM,"D_zuO?m3X<}[ۑn:g/7uf˖-3MDOpAC@}Qu1c^'G?CdrP[͚7{sa&.EOw4ᶣ: ?jt]w5Uӗ=,  ZaE[X #9ia=Wbq;Sk OT1Q60J%عcmZG}TD$Eׂ#|?jBDZD\YɗY}ݺ,G/jx_jUj\@A?x*ȥ<>'Oa0}%HC%U=ZeR-O?я_Ϫώƍ?O3‚t @@@@WPpI ןH 1n\ӗRXVvvvTK!&-oN_(,*`\+Mq}m+((ԮP 1?ˋWmlJR)֪UJס/>TAM׮KQ8)\ԮƯZz|9+,,7o;MOecuu),,uRE)gsb _i4ݟYfyN:kx Sx K_\Y# (_OX÷)+qwsA*ZXΎXn{Zf?Y I>Tn+HSUT KULr=D}hLo\{1UtWass W>'hts$=G\x+ 'wwK*2[ 3N@ʪ) !Io}3߿ԙEᇦ1>`g2U7=z]vevꩧC<#5)@&@@@@􅀖p0)նTSI+- =)d,jC!0m Ҵ=Wp|𼱾էV_oi_U6:..zdVj_0:oK g@|uV[LLrkĽWs$rDz Zo~8#" =+%I4=0WbuCsp^95?ڶ~cCSnZ[O[Z*szp2rvrm@mU$ >̘1WSVjG?p;*^h iMUtIΦM+j  @,c@@@@@@@ D\/IY筷2sUm;{vW)4k F%@nO@@@@@@Z!P⦻,l\+Zq*6ie9Rz&n ӳKZb(d;ozWM'8,q[~'WAqע*dsgYф|݃ۗuta ͟?5jdm۶0ٲeL /`'t/>%?~]{9c=z2UfAjR@YM7      TtL(`e8šIY^ѸItז>F`T CTtUaxM/iCA3y 4.7p`W1)'|_wc h-R>6 :9- ePL^"Pwz *D++.L0W^mz]~徢tCwyǷӺuk8pqִiӊVeMg       VD+{QR]~rv~.ۥ}%} oO?Z+Z͹bPݔbGpH]MZ'^n=ؔYsnMܘ8`COKz̷]ucUa.~ٲ@[Y6{l+uSjQHC֠A3Ul͚5>PPZܴ, @M (I}F@@@@@@ DʬdʗV$]]W̒hee)w{Xf~˨R(UۆrQ:'Vӊ=?Vyrk%T+DmGG v蕖OB!hKc:z4ի|tV^RxvO>타9;ꧾ z&T0ӳYxZ2A-1 < 5 @@@@@@@TOl &)|d9#즾t+?l|#npbA)4pE5Bh4:^iIoYDOqޏ(ޞ;(K\kIǸU\u2_Yn^ն^y@ς -@,C@@@@@@ D\>oS%Qi7agh$DU|oP1S"A+%BWZeYQ05-'G_Xc/C0wX ^'Y25)7sS쾷e*Ȃ R@Ym @@@@@@!PhOJ/ hв;mg9v|pis>Iw1Z)*}UiɁ5wx(HinKl cA6l \n%?NqYMyXbf:"N֪seogݣD! @M (I}F@@@@@@ DJKtT+< 4Vi]Z*3ۅ ,kNn9U)`%#nnL:eM:ӿ~*(qc+-[be.W:g/]lJwă-ޮN>@6" @ PV+nD@@@@@@ D֭bM}WqS+f|I%'ײ6f٢2Z 7bbgm_raњaTx=h&T䀘XV蟿e?حh=VUJ\X|:+_""Yya/_fe+ ':u=Ķ:oMI۞Ͽ,D@ PV7@@@@@@R*+7ECIT- eRYh 9?=\u-ֆ^VX⇹ >)]cGŞ4 e㢯bgꠠ>%-zdlK)я$ :^%_۲">\VjRW,ŗЈtĭ8oMGޖUК.^  P{{@@@@ɵkڪU,77Zl  @@:{27bן)0)3DQ-Ep6o Ԧ1yvFMס%vZѷ?:?jʷ:>?,zщ5JQQ߶Pѩ:Çד6sɲd[U : Fe1f@@@@j5k_^zvak|]CE@Pl7V6cEǂ`SF620\6D7x!3%EOm==6GtR,y m=68&7oQA~1 6Ğ}L鼽캧eRe2W!@:q@@@@W`wn={cZÆ w @jV"kX仯|X+0p BfA+?/t/Aەό'86K38='Ήuzxރ zU(W&>{KuE,i3agͯ[j@:s+@@@@S@xn6իVeT  . ))%)V:g_rM.pQ%=`ωXJտr(e쀠yA`O\KGUɩOݏZJ^r?і3inUפ)3X6,g,KS\m^ @jZw0    @](wU9.]j+VuYFlM/]Ǭ\W+,,kҤ /++ JKKmZ^r0UV7o+MS1}}6e"u]O>ַo_SM6}t:uhw_kެc]_L0 U Yą5eVt^iWJK_E{{OC^`o3UE*U+8ӟ{H>7*8ⶊudr?#RF{Jn!fu u=|O:+\)YWy,ׅZfQU#s!fъdD@xW&@@@@Z'P\\l}N;G[fu͆jp_^{5;s-߅ݻwu:*]CWcǎVTTdz_gm?mRwT˦`W_mZje ,0Sg}]wu>Ħ6Fe>ಳ W^i??^,i@@R XSx}4P**pq3f&(s xm \EkKכF F[71x|g!3(tUf],C\P2XlG  PƻƘ@@@@ꔀR K.7|˭SN~ 9sأ>j/blQ֥KW_3AK/n$.R_ɬ_~f̘Ca_|}6x`?UR]we&M#<҆ f۷%K_{|1."ۧGWW,1bu۩=Myd?RU4֦M1@,KijbCZFY|jN@@  a8    O@Ǝkjc]t,U#ˊM'Tmr|֮ ?=j5i*)3:,V9r7˗@=kÇ˂i'Ul„ v@#<⫒)t*stHZW_}[b=ȣvGjgjgv[Ϟ=]e,i+SU L[.:kt s7;e={]|6qDλYn~r~=uB   P_^I arǹN@j}=    @-(//7MA9h }1ME3fj4}m6~x ;)~خj?@H1,姷/3?CٶbJbfm})OԦM;餓|%xj(|Á2*O  P/,,i׭]g;umR^S# 1B@@@@:,@袋wp ؅#/btI/+O%yM7p|;[ff}v)؊+|eC=4e_Sa,T@UW eoBͮBB)/P  P=g-XJܔ-SNJY:x\ euNr    V@a-&ׯt=Ӊۻ)%oSVkfC9ԮZwsu̞~iym͟?M0.N|gle͚5_~W;܆v>6f?mgSV@@:(P~0sL>,z.U'ܹV_KB@ @.E@@@@V (0i+?3UP;/6BlvŕWX3ΰݻvmL$/@@: @̙l͚ѫ0{lmGkۮmur@CR@@@@j@YY͚5^{Wa++--vW ;c-U2 /EEE[oi.ޭwWڵk0LbC 7xt\?U|eee٢E쪫m*4v5ArT/Əl]tQ_LSlN?WLkݺ{K @@;ӽ[`齕{_uԑqV@@ `,    Z@MؤI3M!tRkպu~}"\tk;ڱ.x0XE_l.[&Lek͚5֦Me]|ŲvڙԲn:裏t mZ{=7ov}i9?3[uᄊ{R,   ,[vmKvUʶv[-  $@,cA@@@ XPLA `]UsU C4cZԟTL}K͠bYp~pƥ1%%%TפZcxF@jޏ L{1{hٲRɚ5kV[/q# @ PVGo,    P7R::>@@(,,3fت+-R!:*emSkb H@       ͙3~rJ]\L2c𒟟䀹5oPfwd\/2bSJY;:  PjB>@@@@@@@NPYa2]|HN:ZӦM  W@Yw@@@@@@@`6k,[zuh2|2= ." %fRc:t6mX[gA@jR@YM7      jU'[`-],#")XQqڗWijKm۶ָqZ@@ (+@@@@@@@(//ӳa@}B=77:v`-[Lɲ@ne-N       P/(9s-S]qnnԩԋ"@@v (Q#      @ jٺu\b?,kذDCgx  Pϥ#      +,KxJv@@t P.wq         5,@o#      @BYݽ\ uU@Y]\      Ԩ@ii-]֭YkaYֲeKkԨQ@@ (ې@@@@@@@)n::u-]Եa Y׮]u?ENC@~}e1=       @=(k "PVi@=jϽb       P(mɒ%4۞ e2T@x׹f@@@@@@l޼yrJWnnk@~!      (//H$?*33U+sX@@4 P7a!        -@@@@@@@@@HSeizc      nMuYRRbR1M{ɂ t3 @@@@@@j@QQ͛7VX#77ڷoo< meuru       PC֭SҥK4h`ujZ-  qe7@@@@@@@`(T[6.P֚@f[r T곦'@@@@@@G>P6mP,ìAe]UVHKE@&@1Ƌ      B M2-YY"5jԨVA" @ PV?;W       DLZ22\г  f0@@@@@@@@@Ք<"        i&@,nA@@@@@@@@jJ@YM/         f0@@@@@@@@@Ք<"        i&@,nA@@@@@@@@jJ@YM/         f0@@@@@@;W XQQmVֲeKʪ;ȕ  @ PVn)       P\\lgҲRk޼uax@H)@,% @@@@@@@-X~M6-^lH7nd]v-k@@_Q@ٯK       Plᢅ6o<+).S^k5jTQr@H{ei       VrS2kРKa  POՓe"         P1!#        D@Y=\&         1eb?         POՓe"         P1!#        D@Y=\&         1eb?         POՓe"      @ ZϟoEEE֦M+((=" (@l8 @@@@@@b9s-XˬyֹKgߜf8@VeMg       P_֯_oӦMEE"ָqcڵRV_ N@}j=c       P mٲe6w\+rں)/lrrk" Wes       (T/kٿzt l-\@@@@@@@@@ (C7KA@@@@@@@@D@ٖq.         Pաɥ         ["@lK8@@@@@@@@CR@@@@@@@@@- P%z        !eufr)       ~H222o`@H!@, @@@@@@@-PlժU6w\+**6mZV,;;{K|@@W P0      gb9c-\˭iӦ֥KgkѢE}f@@  bx       P;֯_oӧOE[_ƍkVPPP;/Q# @ PV/n3      -Pڜ9sں)/zkͭ  6@@@@@@@D"VRRb XVV5  @5 (fpC@@@@@@@@U@Yƅ        Tj;@@@@@@@@@ ]a\         @5 (fpC@@@@@@@@U@Yƅ        Tj;@@@@@@@@@ ]a\         @5 ?M?ИIENDB`seirsplus-1.1.0/images/D_bar_char.png000066400000000000000000000316011375244156600175370ustar00rootroot00000000000000PNG  IHDR=vԂ HiCCPICC ProfileHWXS[R!RBo"U *! $YTp- ]Qt-{Y{_,(+6Tޤ}sϙ3){D'.ƅ1ƥ2H.p'bc#:@׏Ut$ >bDZ S $ DTD3TJidžxdM.WV33 yYG&ĮbH 6bˇ8ayy C778bSCŹёj}F(1\!TQ'A=w@欑 L)**OsYjBgM0!b*P  fU$dGHqm f aA*~,-SJ"NWU nY<ٸȁ\UX@/)Sƪq 7LDV. RŏGJ bTq1xB 0 R., .jd>A" R @!Ԫ. S9Z@"@.-WzKFw56؏:D5^%1L 'q#367{D՞NxHF ܚ$*~K3x!3n|geV7yfMvW JB 8|?SIcEQo룊5c3[b iv;5vk.`xp =Voqxr \OE%e]c@0Uq>vdT%,`/`pļnn(#c~-`_uQ{طn_uqp 3xriJ+xhe ́5pO Ab@Hap=K0,+lN48΃KO'xz[Ї  !t@lg a"H!)H:92#d#R@!gvB^#Q DQ32Q&,t2Z*݁65}b 1Kcbl,K21)6 +*Zk>D3pDOg56?_=`Jp&8q,B)pN["hH'zݘB&N'."%"%{I$1əG!qIRjeR'=YlAv#Sbr1||GѡR|(1>ee e3rIR~j6u.@=IK[CCJ[cHcFn34>hi:i54嚋5jռ7FRiŴ:q}{-p-_kVVem[mD"Ju(:v:l,j:7tzu#ucttn=Lg+ۤw\[t}}3$So/ߩߦcg0 `A!CΐckpuÏC̆,0wFCFeF}4f/3n2g85bIPCyCˆz5u23niYlqnsC@lͻ,"G,3 ,F.qcijn)hfgeohUl5՚iiºպ&fMm[-Vh;;{dvMv9Ewhj:9k/9NNBjΨys00aanh\ ]] 79xx#lFX6/]9fdȖݜxnnWiݛ_r%nMG|VϞ^R./tL}f,s7;{A>>>{|ulhͣYq6u37wXpjZ>e9Y;X/\Aޱ}3GĐ5!CBBC{<¦ 'G/ 18u1^cf9&aS4% cO8yTY;s{oqaolku/\>v%ʩE_kx捴77ʽv;sӹWy~8 <=zXSgړʧO랹=;u/$/K}ug\O+׋6{QoZ{c{{mNLo'ҧώ[D|۟/JO 643[@ {RTªR<hs}ݰBn>!M-Lw7V=$P`{TK`] ;eXIfMM*>F(iNxASCIIScreenshot:^\ pHYs%%IR$iTXtXML:com.adobe.xmp 170 Screenshot 170 )iiDOTU(UU^~UIDATxkGFc2*u}c(ɢW~(4@⇠$ YMD]4~1TթW\oS 3]u_>U@yPSC~TB&fNzP=Pn;A dBj&3 <&T@&fNڵkٽ{ X\ 1\ 7 '1#`>a"hY%Q_[[/^{q.={D"_N:v2޲8s.'O,Xy|e׿~V}A ĺ  FC${\F9RMqnhS*!ͅJ9yZj嬛OA1ć Ԟ5w42Ӻ:6f@ګ (j;<pd<3lLu1Of?GP]OHóya{>!UtQ#EYϣ7j j^ 0B "]dY>Syj}*$7>ۗHypy,{)0Ue)?jOS.`6.C ^Դ\w۾~1+5;SӦMc5sv"~07h Xn F*ƂV(6D+E~1ձP;}WK xPX"DYW"!ϒ55@@]d }6c~ ӦS!b͕fK>JegZ1D=ܦ|ҟvUS5\ݙuؑUWWN:~Ӈ׏ߟۗuЁ@@wصk q` RE+0M>Fm4KYmU2/m:r ֟c={ 419RuڕM7zD.hAV9F!,T,/+y,T՟ʱI̙/_κw!O|ovvM>ߕ+yvw*N\!B],(c0yY/ѣڙllرTZD@-$ŋ7|>awʋo1aI],A0 .\|Mֻw悔~Hdr{n0wÑ^mKnFDg/y%5+o.9}:{;t҅577i ^;w[n[oS9O|NMhVgI4;e̘l͚Yvf Q_ -WΑlwgvw1cFpȑ~+,0~E>oxp -7]QF/>XĉUǹevjpaN*;&w}?䶁968Cj {饗g&Ҏ8*P׭[ǿ㰓#::Fǃ͛н`8̟?? Dq9Y}߹s`Æ Z4&V [n HuLǏ̙3G>GǷF'O,kZ[yŀk׮pg°;р&,9>'mq٣Rt{ khٲejkE3~ L 'u]/UۆKUfg2*G_R5T ǤPw3l0mUa#uxIگ 'R̃z9ELu(xp (<<Pn 4u-Np=H Og4at:[n;(O?4ۧbMG+ qbvy2^EVa9OJs-, mlY/NΟ?_F^q5B`-B$(O?8jػ~1CKo饴‹v oeԣG8yxݱS… ouTkOHcA+>xw@u͚5zxSÖ&\l`cP[[[@l& +::#4iRل4&L࠺"ܨ8ew:ujF`V8`^nX"h+$0CÙ9JeT9];ԡPMٸ9ֿRUMq}]z޽ ؊Urh ц~ƏUڂjۇݽ _&;hl;\I)m90 Xb+ 1U_)+^T_ {3^^Xi4&zr<١l(zN%>vBT@@) G&JIACC3Wv;"mΝżee Tv .l`Tj:CҴ^h'tw+S¯E G+p3X}DNS%Ǐ/) @:.\H3s l0͉D- = (2~ܟ~GgpJZ#0 A. uuuu'tLLk%d˖- GޡI{TI{o_G`WĥKn4=R:.:ז4HSySBI,g aIxcB;J^reڦ !u0҉ 5ړJ{|?0Ç۟5""+V9W_2xEL?b^ڋ rx N&ds"|2elnӿdIDAT EދEEQaK /cEEg3Iƅ'/bxq waF0# . `X}WU}{tw]sz_R |yq'β~8m5q~R={Tk׮U]vGzCCھmңEb~II$2>5x`8#r 7 W+9+uޤ5᧜rJ6oެif| SL~￟9{BvGI@V{ ]5kVYܠ%!n`` \kz+Ɲz7|{omhr_ ܺʕ+jȷj*5hcԤV+mE&59οŅj„ ͑(ԐsF4m ~ j*!!g5s KXZzݵDm'3?.24v!xQƸ)Sd4,^~7l!΅3wv} ,ի3F8H-_NSaBq|o›wH:-YU2;x]w5Ss!b]7KFENi/eѢ7\&V2K^x{J{2iJѤIrAP}Q+T"NJ8$^~Ę1 e k± 3g%A .iq"Yo\@~Kn'[3X\U?Z 0@v CbD! ϥ$1cƸkU}!xIݞbЌwUdjQF: h3ơz>-fTV^f*4a PTz&G\\vrwlgDs) i{;s;p7)I0eNR33}|b Zp}f/XP˭ -h S=C @SԲu:!dq& o=l%T݄n!%`6W}qBb3BEQO`}Q#^x!7AQ!NnxD; ?yD[ >`(mݺUG/Eqh6y\ϿVo.KnU=f xq~uukw$Z-ʭUyz꩹ >|2 ~6f/QtUWΕ9]J4mrLo~ݖhz_7 tuk)zᵶJ"WaA6])k4A X?r~zJ, jQ`xDRC.vi1Opډzwdy9Nb0MyC߿5a $P^E:AxѳtQ3gNxhaڳEli1h(zZ\HpЗVxlb&xxH-7o$ܫFy睊yŀ883ь =b^Ʈ iO:B`z3D#qAp A4V~+Xf!kӱS⋅d5{8-8O2Mh2o<+ 5OWYĔkQF…\E V[Q \[Tg666$'xH.qɓ'[YAzZs8vX8zvI ꧟~*t宁M)jsnώT'3u=cz8ps_PgϞMP~ g@{뮻:cQ?``YA-*"|+a Һ??F{쾻&LcױGyr+:m۶EиMǕswe+*+Awԩ1Nfƕ]#̔&_?쳃DaBMLӝ !~ciyh'kwE^[%-}WEd' o-@JY4 ؄x㍩K/T7FpgV16<w}A+LG}铊fHL@xںKL9 _oy#YQ^:ۤ7X6A)dtU +H"s6<>Zd3P8@8y|]ѧ7~1b,yDwgkwy;^<;-\c1/v[h٤)ǡx*&N J/J غKl 6Zn!~i,[P9rNӦMi>Wnٲ%'+T *nҰw`IȐ FoܸhE9B[Ar d7GN{gP~5`#BD@PEaq9=Â])Zs1굝\L"Xib%yyƮr AVVj#%?#睍t\1v‹[{X)ht5`>C3;}9,?oC+ j{m0_'d"4Wuu;0f}.N[r:ꨣ(2`]!A`=zYĝŽ)w֔/XK,~ id9pݐ!Cʳq]Pl'ցک? [ E`> kZeˢAٛek \ggXP | L>&!Z6qq4~-ZT憾˿c‰yiuvb!"Tzl"++B oBQ4#8uU(̍/m9c5~͹Jh*W*ᢀ_;Z ˃<^2|bgZriM #[PkBsif͚3`/~P+?U$Zͨ ,rsDeU8 u͉8`B4ˁm@ ZiӦ^YNܬsWZLluPz%gUOB2eJ@]6 (r~jK/u055b~-wY.q\L,N->)F '8ʁh+hZlAx_&ҕyW;z*2}BŶMw/Nyڵ_:jڐ΢B4iRʒP(H鮀LAynM%81FE}y;U}[.3 p}`'6* m-J8'\@ӽ

      9]/={DrK LӧO"ⴅ]B~ w PC| m룹sFGysz^A]qt L26[ vXѺi8΢-;C8` >?sؓ?#πvq )ê _@;slɂbWQG])dS:s\͘1#qZ:K9?pBa={GBM'%~f>3gF8cH!|G5~b~\?d"?gT_6{5j·/ Y(ST(-`R܊ +&@p6QX> ^P$n+6l`p`ZjؿkOUB˥Qz5wS&NP]v:&Hjc!8_߯jk,*RݴDuZDz(R\:>.v>lٗަuw0o޼N]ǔQU00D@OEP[aHmS(iqks~:n fT'NTݺu3/ .¨s<{O-]TmܴQ6Q,yl]ykGC64m4oI틯 7РAjر ?G^o֙펹*=Ӎ,hWxi(UG;`vy#.-nup+A#>[%*`R9J?˄m^` Ԥ)lUm=zg]fE]B{?O}FjbM2 J~@W;r֥.Ff]o)|WE sۛaI5mVMwfիWO5`BS .1*~E]Bmמ2$Pjp뻮PDz ԅ!G.걬)Cuf_IENDB`seirsplus-1.1.0/images/ExtSEIRS_compartments.png000066400000000000000000007205551375244156600217120ustar00rootroot00000000000000PNG  IHDR9%? HiCCPICC ProfileHWXS[R!RBo"U *! $YTp- ]Qt-{Y{_,(+6Tޤ}sϙ3){D'.ƅ1ƥ2H.p'bc#:@׏Ut$ >bDZ S $ DTD3TJidžxdM.WV33 yYG&ĮbH 6bˇ8ayy C778bSCŹёj}F(1\!TQ'A=w@欑 L)**OsYjBgM0!b*P  fU$dGHqm f aA*~,-SJ"NWU nY<ٸȁ\UX@/)Sƪq 7LDV. RŏGJ bTq1xB 0 R., .jd>A" R @!Ԫ. S9Z@"@.-WzKFw56؏:D5^%1L 'q#367{D՞NxHF ܚ$*~K3x!3n|geV7yfMvW JB 8|?SIcEQo룊5c3[b iv;5vk.`xp =Voqxr \OE%e]c@0Uq>vdT%,`/`pļnn(#c~-`_uQ{طn_uqp 3xriJ+xhe ́5pO Ab@Hap=K0,+lN48΃KO'xz[Ї  !t@lg a"H!)H:92#d#R@!gvB^#Q DQ32Q&,t2Z*݁65}b 1Kcbl,K21)6 +*Zk>D3pDOg56?_=`Jp&8q,B)pN["hH'zݘB&N'."%"%{I$1əG!qIRjeR'=YlAv#Sbr1||GѡR|(1>ee e3rIR~j6u.@=IK[CCJ[cHcFn34>hi:i54嚋5jռ7FRiŴ:q}{-p-_kVVem[mD"Ju(:v:l,j:7tzu#ucttn=Lg+ۤw\[t}}3$So/ߩߦcg0 `A!CΐckpuÏC̆,0wFCFeF}4f/3n2g85bIPCyCˆz5u23niYlqnsC@lͻ,"G,3 ,F.qcijn)hfgeohUl5՚iiºպ&fMm[-Vh;;{dvMv9Ewhj:9k/9NNBjΨys00aanh\ ]] 79xx#lFX6/]9fdȖݜxnnWiݛ_r%nMG|VϞ^R./tL}f,s7;{A>>>{|ulhͣYq6u37wXpjZ>e9Y;X/\Aޱ}3GĐ5!CBBC{<¦ 'G/ 18u1^cf9&aS4% cO8yTY;s{oqaolku/\>v%ʩE_kx捴77ʽv;sӹWy~8 <=zXSgړʧO랹=;u/$/K}ug\O+׋6{QoZ{c{{mNLo'ҧώ[D|۟/JO 643[@ {RTªR<hs}ݰBn>!M-Lw7V=$P`{TK`] ;eXIfMM*>F(iNxʠASCIIScreenshoth pHYs%%IR$iTXtXML:com.adobe.xmp 1738 Screenshot 720 LPiDOTh(hhvŸd<@IDATx $k]Uo=sf>xA4^x5$x DpP PPQ1%nh`\/ J3rf?tWdVUWWϚK7ϙun5kzz&&&L3uttiնu   @ qj   0Uƍv1+yHVgYf첮ZZGGԙy   vemפ  $PTlVTʪ:hvQNϺm5ֻ7M-   @MS"   p/O+#~E%c՘Laxݟӓz}iOܵf4    ([ b"  @1:ⱣGmll,bIyXJi'T~lra   @{G;   p ._Fl|w&xDZeVN]ԩoݴ۷'Siڞ{>jcR@@@*@P6_[B@@YLAYaCƵͶnfVj5!  ,0`,.  ̍#Gt}}}lٲYjE@@(TPN C@@v8q]n{3z^   b ([Lͺ"   f˗; fB@@eMX"@@e[K^k֭_gݵ%T*vI>j}tk   ,l~,=  <d˶~zk\ [nmܴ!kcv@@@$@P6ZeA@@Y5]T=)Ңիl֭lT   h/#  <CYZLYJ"0+l-fy,   =   @[ ܸqFF.u଻V\mk׮ZWV@@@.@PV` @@jO=@@@_ۘ5D@@@@@h!@P@@@@@@_ۘ5D@@@@@h!@P@@@@@@_ۘ5D@@@@@h!@P@@@@@@_ۘ5D@@@@@h!@P@@@@@@_ۘ5D@@@@@h!@P@@@@@@_ۘ5D@@@@@h!@P@@@@@@_ۘ5D@@@@@h!@P@@@@@@_ۘ5D@@@@@h!@P@@@@@@_ۘ5D@@@@@h!@P@@@@@@zݦ  "me66j J%H71m /`/? 7/_gΦ)}gn'kv·]vcEVeyi+'Ȉ>}F \͵{n[dֆׯlj9;vڊ4]<կ l)V*{n)7msϙ4\=8|萍+UM+zW26cZcd=mSN+W~fo߾iӞ?w.^WB|rz]t>aLj{mkJWӾ}uْKLmc>I~ma+{{L;>>nR/m޲ִh^oÆ a)mRo͚նn>ј&ܷ;w6Ojg>[Ϡ6ryV^ϴ}h…>KjφŋvZo}0ٵW?T\_-mvm "_GC۷MWri&[vm1>A }^sy8U7,_jmݶyRNm/bWl;=vM&۞naϤӄ~aO <6޼..?*|w,. Aۗqa'j￝-G}a?*y6oUSnbbU\׸1jcuiA?͈d6e6s6G`M,m1;4mu $ Է?G?HzP9 (_;L?l [tϏŠ TݞqCU+W۶#(9NV-)(vG3 3gey^>"SHv iŴ>o[e:`VdpePvݸKWE_xs꤇-WSآ2Ո 9m,Sy)ƣ-bvC΋~1Es9s+u>Xv{8E VpbԠlCCr6֯غՃUvkE7h79=(4O5kZG1~_ oVAQo7cU)CdQ0z4d*(;mqY!gV5__y8X–'k<^VmwX~}vm[cj" 9PgoZ{oeÆaޣj[SyPH~kO^S w<'F[gٳgڴ],_tv/x9_j|'._A!xߥ}rVAe /~Of77䨿?o"(Se͛6 %_k4SPa9ajJGMoX-/S¥v}-'Xկfa\B.^]=Lc{8\P|8oؑGbu?P:x0?_Ħ-ۮaϰeuo-9H? }<~8ϖ;?ew?8[n|h ?$v>x&r#渿?~C: EDؒK`^>q58ju(qş7{'EC=~qkeyk.J:?nB/iq| /x;q-!?TiӯO_gD^I,_#3^8_{%)dhԣLUnCd{:`/ܚXtދKa .yow0{ikAݾ4EՉǢDmu=z5eQv؃թb nrd yoazU=lkZ:|ׯߌ=ʎ{rGpK=N!ǕkWbU{7缇˗j'ֽ#lޙyy9zE⽒bm !o?/–S{CjjMA!reP–v04~7C|P깨y8mwC?/\h) ֠({;?^I.nqe=(;m{ ʚ{%{lOQϓv}g,–TߦͭzUM=Z;pCNe>MWأ̓ o2 轮_Zկ_Ӣf)뗉Bǽl{y/1}3s,?zEP?hkroBbsPa7`?W:+z}ˠ1?f6o?~9^>4:vf#Y̟g`?ҏM|8GɂmBǮHAYo~ac0e6C~8`~J?88={ń>V9bcIŗx/e9^po;OdT?짭)6uFӴGF.)_Zh[tQWJj#G+O8,7/o6V=tz%e5gbc\!g^f\MAYS/zϏ~%?RVnj촙^\S!vt8گU ~8/DFlP;3_hA:@Gg֣4֯osؒUyV7xo~ !v~@Ye-.?`[iգN!S,O{i3r8mEo٢^IZ9ՠZ|N!g^xoǧԩ=}-Oߧeki3N>Bμ~Z-jaY+3_4}5Mhv鴙BӧlzÇ'6Y~)/e3zʈzrW2-?S)(hW@ݪGY?({rF⟃Z^v DO5#V^wӴ^N)|vr6ԯu:s 'Pg^nmr9^{4y]-zũFK+O^lc3~W<(OktG?V1մ.{Nz鴙^nzP^Ih_9i3ƋZ͛6Ə8ׯnj?zkנwgS{E;RѲG;5&w\dk֯+G`C;?߯8ۄtUGYL?%_Jxu U6bk٣TMN|z]FSryЁ5eq5K5ԣLCVLw9w]ҩυmuQiA@~j齒.^v^k|:9(SآZr] HmWK gtżWR^׷8s~p_$ӐY맀ku2|&n{ϖ~6ccX͠Cqө@S2?+\yjyEo;}; 9;jk$)d%gzѧVܱ=NgI:aNQv(2nٲmZ2'Szj~VSiTq>Y_'Jq(Ӂ~Z{4̓2ԋѣL!gV:Uc}5-e͟?yhuPEbI-qחөcpln~AZj ͧk5n2GN86?hx`vkހkkgԩ~}9(˷⊟zi3uͱq2/0{#i[(5zOmӭz5Bԋ[] ʎN_ݷV^Tc7Ts\~Uί}er3^LA k|X!.U;ePQ?bIwS=/{o~mI Y5[gANI|{Ś}ms3erjh|E?| CμGYe~jc^3dq~_S?S=vA?8?`CEs~fV(Sv?R?98G|Oemz_eڨUSiGSǰg: <A)dG(d?i3)WOJj,dkk~>_}{OW0$[z1],r,_iQ8ce@z1?H~E2נͧJ=L_nS4p̓N: e:W-z%irnor`M?}pjz'nuWԝPjκBN |w?mf&氥ԋii}-wvvz)jymQ_HSGږQiu>_+GAZ]lzPvhF$_կN+)Q ;uگ/73կ_g–m__yok H Ck7S 9D?p1cvQo;_~ؾE2uũ0:7ԯz9[eNV&>*=(Sv*(;;7F}? [^Fڀ~tx}zy^~T-!NͦOǩ_J6rEM{ߐ!x^I [ACSvyo姞/E狫ߪU+[#?2ue̖#کejo8}Αo7L;OJ:?]mހ$?t˛N9 ڎd[*P'{G3G1uoNN?f'@E[\ߖ?v2fݺF,`7n4~Xx?Pl`#md#9ppe       Tl6      pe       Tl6      pe      @+YjV-Z}/ 3b8` 6[L     m/0<4 *3f`ɶ_^AŇn7Wm-;X`-     ,0yCJA ? 7ejUD{Az7^fBQ      CޣLC.U=o (+ o)ፘ,^BLQ     @(h,z(1f'(+д~дͪo]NX 2E!     NiL',m۶|W@ӧN[Z.zH߀us0nۺZ( @@@@@@")@@@@@@` -&c@@@@@@ (+B2@@@@@@Aقk2@@@@@@")@@@@@(HѣQRժfՒ?p[AYafGrd/3Y~5†[ 2E!     CCVRFY*ZF008k>GPVаoX}WWmpk(@@@@@hgᡡ,e2*S0HPVxH:JާL]!}$ n@@@@@@e.S u^&?Jx5gl      C#>9Ȳ!(8KS/F8WhzLQ     cR@N^kFvh~q/Ohfuq=LQ      @AeAR        ([X"     $@PV$      ,,^,-      @AeAR       P??jjRv1y<AJ8IV+VY+?6#      pᡡXӆjӆR2'/߯Aabdx6;     LHAY<j9u (U"< V|7 IG@@@@@(044򆲺x2zs' /=L(MV[~G@@@@@A``g ꛣ!9I[,mywH7g%(+И@@@@@hwC*FHyzix➛ʊÇz' U.vxn     #@PV#      ,0`,.      @1e8R        ([` "     #@PV#      =sƪM%Jf7oiz+@P [jZ%O/n†(     A`xhجQYߧTP;K"@P j3̣ e iaF@@@@@ 532z@P6U=a!>DdmF@@@@@@; DƢW:@Pv'{Z5 o~Pm oK/D@@@@@E@P6a!({X#(otl䜡9      p{.θrѯPfjůQƥBw/73hU?2m"*V 6@@@@@Oe5X@@@@@@Y (5j*B@@@@@Oe5X@@@@@@Y (5j*B@@@@@Oe5X@@@@@X.\0VJVV*lަhEcUyMlUp7 @@@@@@CC)jےjǪ688xySoh5'pNj      P U 2@@@@@,P?rE = {2XK2F3Q6O#     43g`G4~ ד1Ee鎮u@@@@@@_SUwN]̟Y|=$#@Pv?ZwƍVzlwe@@@`~et*W.Vi[V0LZ˚vڏST*H(R1JqJ~Qb,v$eͧl8Գk ywTNR KV(x]VRO{-]GVXǪ5ֱvWu)1   penŔ   m Pd'OX* Sg,JX <pkiz=JϤ r30ͦ8gFn!_-ֹuuٚ@@; I@@@B&~&<S,)JaZ4@+ze,>P.Jsz)>M{E0W/?y`FڿsfzKojɸC@@QQq@@@}䀍?V떅YYXq\i\YZK ,^ΞxVFc>< L/QLQ*IQc*ҿז1   $@PC@@@5VՓCȫj ;џH^S,x*K4I4i^ŵ<S5QA7Y ܿm/zE3o 8 AkQ_ ̃kE (+=tbU,B@@IZحkSPVx.?PJ"ҍ^l0qycuݨ˚YiF|g?BKĀ Kg}}lJ JP|sh:44 /Ix D(@@@`&IWa<ϳGaE/͘G6 <3zYM!J'5]w(_Oi3XwmK__٩f@@P1G 6}GQVtC(:oB}Kt,@@@fWlaZynu!],_t"Mu F}eGj@IDAT#)"*U׮~[ꜙ   PP2? &KBPV`Cnٰ@dB@@ZO[lxMm6bԿ~<514Iw4cCOEqKG $?=e`s5ǿɖ|;aL" |z/]oJ{zHP| hk_/V\@fB@@OC"i/ ƿ.1M,ywY}  BlQ43+  _jY#%\+U<E]7[ك2Z.e<\q-0%YG,7\+Zt6]LW 䚍Ǩϩ 5O ,&JETOmDmMo^[?A@@ڿYC@@@&xo4xQRHE\SFb(jJg~<ҫ׌Y򵔽yo74!cY\dy)TKj:UfЯ^+:wMp ̑䴚e(T@Ή9hx(   \/YE&CG^bzYzձ|uy&KR3$ I^Hӽb/Y}t8*J]cn'.I̲8ގ~0ܴŖ}4mVM{:bTU:CtEo0)3I4M#lĴ -Y/7]_wrGhz+-qoVZ>c   2j@zmaeQ {›W 4(@@@W 2=FYǺV^֛~[RXD8lм0?gDSMiTCVFcozz ͖mrQبݾp"5b%klI?.Y|KmA@f[`;hX}:e7?%G}f-@@@` /[qg{oőt8ܽ{jI/ `CL%D̟=4]㐿Sy)Hknߪ^4mv}A@f[`{3V7le7AYJxc=H_r) @@@bVkD7~39_|V+-_z5faMD޹(][,=_PUո&S_:h!]_"P?/&I?̟~p>bKg㡷8lGi=Uˀ ̾.!*e7K7er֮QI\@dB@@E-P|FjdջL4Խ1@:T+:1)],='ǢOSjAKO:gzԟpoпZmW IRa 4y&fycoT`^SwAQ(q $'̢Ĺ#6yVm[H>-aZ-ﲮO-  @ mӲb   @ 36+T6D>Sq>_ҕֵn{a?]c<rxSeV-W#kŵdҵHUԳˍlW&?~Uo^M]zG*,f=@@ڻ}Y;@@@n_uR}b4R`U듭d~Z|2~gyUS&h.S{ Vj4KVc+L"8Ӌ|x\wy?yM&6ҩ<Nߩ|I[%/ڿۿٱcl¯Eo/zыlӦMl5<3o|ve/{ˬ7}ִ@h!@P@@@6~gY@ENs6+/[$$4iqKKE*6yJ4{>Ij>OȿrM\:]~_Z`XgK_=iEG*066f_3?]~=~e__Wlٲ)˱~{׻e_ggMozmذl@&@Pv7!^G@@77K68bO⯴xXEb=tM9&zBSUQo4Dz/el\LJd` x>a|>[7l, *{,Yŵeunl˾Z P>:d_i}4|F>Owwۊ+j}ʕ+D(Sƀ ݏ"  ̩6yBqluocX@heT%~gy4I^J3Uk)j8׳kVV96.LOKLas_=ngGPk酒{WCt oooկ~>??YR76ol/b??iǏd{lrÌаIv# ʊo`Mk7K64 #  #pk7z8"/QNڲ:К.וgc~=4Mkw1K*9Fӌz<)R a@A:ǜ[en9N?p~皞,klR[#oȗ{(X??"zgG~GxGk+_J\}~k*{'_b"{^f+2SO3@]}FFFlƍuvvXǡC"({+^e˖8//  U3cJ㕪m޲yҼ]nFnڣv}M~Q@@@PPVNz", Rѵ=RQE"ze/GV^i>=_ OO bHOPH˜W<(z TkQޟx[ko{菬l|^v6ܶ# [laK  ,*k uKeWYYu{2IOh{2^/T9"ω,&'ai6QbuY~lV(ۊ5)̱@߷o}[ڵkg:]//ix@` -d@@@$px#(e>H#+RN`]:R|BMq`,ݟOd*Nef\k썖*Kŧ?k(G?~^j㴄X365VF`Okrv:6uRיSi),s4XN)?A7Nv4;{%A ,ˀ x   bُG&V[t!2$J/êQ#1t11%4'T| "]cz2+3T_ T^.U6/Fԍ?vmD[B.Njl}Q@`򠬯>яO<X/_/ʕ+mX`@}/3#1dylozmaeQ_'ZхH YTr)ʊ]^EVB9֟ch%=APC6U#>5(vGYPpЩգ웿ܹkrr~~կ׿bŊ*@G)044T+>e3: 9.\W)lp @fB@@E,pͯQ':cGٟ7\{ Do, R0=eI}ClǪ'Vd[zO]z^ԋ=k|hwY =j 0'ُF`nݺZ/Oۑ#G5y}7>PȲ9{'c@Q ==ʴcҰ ūh: o{پ /|zp@fB@@E,0^)K3ҷt^6ۃ)Cv!Ƿzϱ(Sf:(Qx~Ji ʊpEӫ86ר_zgi{7J@;oH5!# 0w_#(~}S~ĉ?{1s$(MEN֞S>hO3giCFoْHLQ   )(wZazR鑧b6??נJC`z6=;͓,jGŐ]>Fcr4f4E$0(l.u2o?650Q>7% n[qŗ%qwץҏ>ٗ%{ly{"4[|t :y2)cwz>+/J l퓾ߣd۷]C@@\@A-}X/-k]կOϑOs뜋yadriܧ5teIT~V='ZdyR ?'˚"kZ˨u#}=AYFs&p8]z~0f< /٫^*|#owr{. @KړA@@Z@AYc\JF֧,Tֽ} ^{~~(P,]k,E4y}<^i+1aZVY{!MnY>NeBHVk 썦FU; O5Exg㴋<7 v{^D/m۶OO}_Wۇ>!۲eK|fsL 6emӔ   >=K ԉyS>fG^\Kҿ~2o 5UoŒclSz1pA`>я)ׯ_o[[)gߚNxE۴iS̗F3}hh(WesT̵A\#  ܳz`# 8"ǐRnQ#^VZn8keVzM1Wb9coO~7MbŊ ?~wew~ЕgfmKEeG-ߓ3    M#KH/vmOT[L>}L]/ϫLPq"^&'oa&y7S;8F4T)Q,E`}Y]vYOOό }\>N[[ӂk׮׾5?s?.{_n/yK/}-]tzx-H@Cǒ60gN`(T@apu_/VM @dB@@E-pͯQó'_7/=!?]_J/=a$_χ* br0{.gr<4﹖ϖס>Lcx4ϧOѴY=ٷy5sŬC`o}}_K.Dkԧm嵵8y=3666f1>{_Oϲ# 0C73esXmY7AYͪ7v&}J9$(+@@@`Q \թZ}RG,t{2=Q?PgKk47/GC|'R1T8M{HeOf4X=o|ֆZ6fQMvT Gާ8bl! 9bϟfqg6l:p\L.۽{_>M 0GYثLBP|h 7v{ ]! T(@@X ky:rPqpCOl)iK+];a@MAI(qڦrNΙ*zE9m)ծ@ (.Irle7AYy[rek@dB@@E-pGY pC jh۲k7D4;SUC|HTn Z>yh*0/Le0%x$5oo1揆̶ z15  0ǎj'=ogO.$(+y;;t{4}9ҎY?n  Y@^,w.4_fD>>с=>ޛUT:['$$HB aW(΀fp@FDVqaQ *1 # lI:1d!;[ΩNHz˩֫߭* %,AS847ڲC$im98 0DE-*ctX0zEqE" XzNQ9#8#+NkzGpGpGCn"qV#a <V4+B4ug肷 '\G&)BӚIg 4!1?ϭ;&WY=#Ef^e,8#8@"DY֬pGpGp:D`%dՏPJ( e :2X4 ,zpor%FiXDrS5SI`\/`HKE9[WVQ+bS#8#8eZ^.GpGpGp6lV/H +] T֋+\ȪdkEbV!-1F`eR뺺,&N\LT2kŤ5 Oi'YkaEr,,e3dٲ [/~>o#8#8eZ^.GpGpGpVnHKY.XiR%E7X3Jbv^=s6VzsPKmP*T gdkf߱`&3h TLP'GpGp'zp#8#8#XQVYE=$Ax-p~ܤu W'i<M$Œp"SRMQqW;4}$YnjY11쾩 ԣwĿ[/MȚbL`~F):#8@#҂8FX%Ha3flg5:QV ^вaNƌSC-.pGpGp-6( BM2XIRN¹Y*k Y$G $e/*B`u(+$l pogC)'3Sx=r ?,4s9#8@/#0s&VGX9!l 'MԿ:'jXdzf *ZL 0(GpGpG؂3X~2CJF/(:$,+QN$pZG YG/NPbRy ~*a2,t;_heG5֤!&ԡoژGpGe2ܣvdj^NRcxt1ܶ6do5E9#8#8@\Q+@'ahc[/a/Db+L4.v6mb@jEk[/vbŘ^ɗ@fǍO)7sKW j6alK cQ橾,bwGpG]f x[*cƈ011I\?Jz î2Mc`*:ϛ_GpGe0'G=ouU8QVCDg͜ia(cK{e8#8#/ .[nEfϞ-bQvew}娣Ao7d$ 5V<M$76noGdBT"^.%&Y Ϡ0)%\e3g[Oi_fP&HW Q).IbuNt_QpGpz9s@'ǫY\Iq&NԻB'jX/r`L8Ƥe7GpGpE|3-Y/g-+QF,!5tڥ+ҔQDP`DabVBɍ<1$L4 B (`dYQXa/:2k!5\]=8ꊘDp(e6qGpGpK8#8#81/nM|Iy駅n,?~?)SH.یKY2RȦ+bAPg#"(IqUVBl[[r.j:&3ķaE^dx6W1 d7 Jr..Ɏ U&z_Q7deIr#8#8ueuZ^,GpGpG< 1?*JOJ|k_:k_UzuJ`VhUNlnHJ%FΆ4yklc7R%$LÅ$WGr+gqU1ġj͕h#8#8@"DYVpGpGp6֮]+rn \r|!Cl2%a|Fٝ$WrcwU 14Q*A;%%p.U&ùVaAn팲;M'^,ĊͼZKFHѥ:4S1g' 8_h02|+-0^I2/#8#,Z PRv>M}tƢ70P:=e[C]#8#8#!pUW]%+V:Jn&?~;[,n(Sf[02gxYWM{_R%D΢'^>Vhuuۊ2B VጲaŘZODe Cjԑ&׿֋Z([mAi+88#8wH2eOI&MޭW%(sLI'PrGpGp- ӧq'/=Zo˱+ ؒ`H6eFjk79=*brI)&\c"/ne #}֋H^Ċ2;,$D'!,X U|F1î?"^2VlS:Է^$nGpGuq |C+Éb: MWt6/0<ɉGpGp~ʕ+q{N5jnV[IP` K+6ĬYF>Oo[)JrW S/qWbESd/8B)၉AUAuVY9rH@dŸksiUz)B8+B:%/WʀM_fxwVo h:oy[JԳ*K[U iSnҊgIĒ t?>cG!aPpVV\j8ctKXoU~5w_Ylh G'ON'j$D6.35E9#8#8 ^nFyGc?^f̘!<s12uT9r_/^z,_\9us˶4F Pf^&D/33!`58g3XNtj #Tv`Rb/~MxSk?e5rfk< (/L>|F5Q$`R?m]_vcsҥ*-7ɏ0!MNv_* Xo`U񯀦$ѿS_ jCX-UpWLQ³S۟*TR|b y ige;5F(9NR]Q&L^h$~uGpGp 6O~"ӦMd\)c\vZ]9,>7na5kngϖmF.9SԶ4C,1"@YDY|" +"@j0 ~?:eIθ¹e\Wk3fek_hM DHd]EIidJ+hDA1mFY1o1?>iPOػ=qϟ?@teROTbm艻?+IV٘_<2&+j]NQeiZ/'ɥRQݓ&yí!.pGpGs7,7p,^Xo?>',X@~_ȝw)K,Rꖉ_WdmSE;;餓T#6X枀D_`eEQ+aMYʏyX\y6g+?bv֗t0a{Oq4 I^TpAR)`Et5QNo~Ֆ\^iY9?}中pv#8#8#PW 2V qҥri);$j/| r]w G.H>OɰaÒxR,nmoL2E~ĉ7̳wkex/Yh^}ߛ,c'붋FEc%e+aDѣ .!xpU//5Mx`~~̯#@ȯ{;Š2֙V=&vɂD#gKKOů0 lz ;RԂMJ]!1K:z @%vϟ?B/BQFx /f:QV]rk8#8#8=?.;vae]&{キ466V~&̝;WsO]vJ.n(9眑(;#%ϿM̳SO>)Ї{+^2*Q"aZh'WVXâ#$FaH:ѿ2*F谈pҌ5 .M[CVj BYsYp e`-?"C^LTkuzwGf*/acxK4PS{ {\_u*m}-'x/̟?7#xL]Cy๾ y(~NozGpGpGܩo}[~WSjU8կ~%_җ(G>"\s..R7[bE+yjx?/O?<3zVÇ˼ydȐ!U2c"v(y3W | ^9屢IJt*1 SZ-!6ARf (L3QF[/z$ѼVWPSܮ߶|'d@"V*Rئ\Y&ʴ8#8u4\}uF(]#8#8#s-z!%"յh$Ը"J|7|/˲vunIr$khhK %nx'_.g$wCLOb$ \d/z]n.c/2*QIXQ3ʔl5VcdYu&XQƙ*12`-bEYQdg~Sk 6Zļ Y!ZDԜaCWV%r8#8ueN-j#c^("DGpGpGp%\e˖- /P8 5j:;::$vꫯO|묎Z'anII+iD,n~k+ĸZYlȿիנ$֥D2wn%QFB E( ρ(K KkNHD*IYy(S ~2JWxP ?4@ۏ*l%JkJy*)-\(eף_)Utt@IDATMd-Ye@֟v)Y+%cW\'S+v f禅r SiH$Ӷ mdGT44kVK-zDy3#KvJf 򷤄g r`Hf%Y8@ (Ο2u(5+Hp;#u;Z0n kryj匲7GpGS(lUcn{k鲥:`㟘n8QVCo[UWW]uyUe^{^ZI>[ %}䊱|_m ?*6nHCgu0?7떌$ڐ$g#sniϐ! r„ !e[/L+I#Ji'M_25MN4pMtVJV&lK7l5L߷dJ1-[S>S s_[H2tlCgF<M :yb%ʢ"d4!峒[aXᩧ Wbw>[[ujn/(j]Hd~GA: yohpGl}afoѱl0[7(,58QVC8p9d-RNe8#8# JsΑx@80.7?+VV\ݥ+Ÿe1#W^yL4IW1>HqO}ەmiV$y*EV8h 7Z{ZX;eǝdaB94jYOuV0$2&)w 1qı8ŖaduNsOFn_m"!ilV[aKm!IDNW|5MG/~Fr%MciB)aL.'2# 13,H*l{ ;kaEZbMh?JF*#Xnal*̀xW=([)RVi")\p7pk.[1Ng Qʱ[9buYvR7I3iUU*!K}o+ M:"Aeō#8#e hwSԪqb7=eGǿtfd(9N 8 !.pGpG+^u%%ʖ,YkBzJ^]}L3jR_|QXӟ$\AP>-۱uW]r%B"+֮~H;۬Yd+Wv /%&Ex<{'A]-lE|?ȍ`W1agʦ8ݜjNG x3F0LH(D*"pUVٖX UӇj)~Pt/JE6qHgz{SW[~ꔑA5}pQ<c`:-FV{2t{E . ryċ9imi0#B"V>ز c.*[/d3HjzId`΄BA:PArwN0y-tJ<\Sڬz^Й N2+Q0qշ^TH8#lU\Q]Yl+R"3g(XIG3We5tL~A!5Gպo-׷^T 8#8#lU2/.^zI$ve2nMmc+jy M7ݤ $$M7|j z[.2G?t1l-&wy4G ֋ӥ?M[/&PpG{wT]zYFǤ{87ߛ:(!<S|p (GpGpGXj\xrZ ~V>vm'y DSWSGpGpGc|A'ԗtL0A^{5ygM?pYhXP$r,]TW~V[iI'\yxb]Mo}KWwwt{7u{Gvi .qq o\pX^ᶔdڰ" ?%uB":(4Gg!3U)!ɍt}Uj9D^qJ 8CqVqsHNe d| 2 cE<,1lMK)tHe ϖIP@puWw]vN2UF߿O-_d31AS86)<BK3B9](;ڈƘ+3xZ%0pg|[>7#7=Bް]%\7d/#8#y#vqGMKJiʄL%6D-uV 8OUrwe)~ɇkqLшa YYĵIpL@7#8#8#֋wիW'j1ggyr7V\ê~rUW^{%+Hw}Wnσy3c ]v ZW 8Rl0O6AU^2ث{$'&MG w^+^Dn$͈QJc\٢ ^1Xeq2H U)(aXpPkƉ 0V2quK 2fuJ?dkC1Q2W?۔abA+C,n%ve RZ$ɹb4Њ\S!M(?ܛ«ChgxW8HKTx r~6D }X./:ⶋVQLgde6;#8=_|~hnA_ay,'c'eq?9s+>~ffs>( \N[TadN;M\*LpGpGp---sɂrsQF{-&LHrҧ~Z?vmqJ1/HhodC.`z~GGyb+o%~̚2N:UowA9vm}d6V(#X؞/!$?n:R!+ tDCkxl€Ʌ32rֲ6} pGpGpʕ+ӟ}26{',{ph8M~ݮލi㊲`T˔r^fS1TnٙFty+s8@W$@KctC̏NKEQŕQ$r{! ok%s9c[ W˯_GpG.+,6.k{z5wF{pqa~t( uU, i#Gc !]xAk\DoWz;,nGpGpGx饗c8-m89ņP#GyDݼ\{/})qE(c$cc02B&Zqe /NRiEE'pL^d.% 4!0! {VH }L?F}o8Yn}f(N|^JK!gZ~/3FDXǤqU$q[x׈8j|EgYD)aEYe: љmH,]p;le\DY՜tAFcB (S阣GUAo#8#P'|wQ '¨ aA$E xjzx5,/F)!O'ON D+ 8&gӥBaә=d#e6pGpGp_rꩧJkW[_~rS&Ա/}e޼y Nn<2]ķ0 Gz1[HlU$&V)trBn[ 8Lcy)< 5&SӇs[In}&@P=#|lugiq%5Bnʵԝs^(ɯlըeQv VJ\I Aʤ/+`Eρ(˒` A V.ݓoҵ?E!5'[/bƆLT_Q#8#P/$g_]{lcɓwwo"Nm eLJXU( F~໺3,1}٦&dGwGpGp~I*䫗`^ęQ4~3Mz n;C.[2N@j_)L ~ܭ>5 J6<8ěDS/%"݊2%QVQɕd\QMX>\g5콗4bD5A?Ҙ|I,sܶR O`xbsO??!nk+SVlo6,YyYjnX;Q,j [/jyXsλښx[ԏ8Ӹ?@`EY4\Q&zD[6ο?],K[hu,Y mI}UѨ͆yKWGpGl„ Ҋ &U\mǸ:& eܹ=~6L(~kä[Uwl0Nm0d"KcUҸ 8zƃBvW-.k?飡搭&=#8#8#)or)?ݗV}p=w#;;oc9fE$8bnE:A  a^V.a% %,5Hf{?0z[+p׋RƝIdV{߃Ŷb6`,.sښ?b+G4rt D)O7QJ)=b٦.xpu~܊D! j[/j(PǟRf@ 65!_2uſ`Q֌3"V+VoO_X _#L+#Dk>W~uGp pVٕ<,1Ǚ: # `:Ԅ qƠG?L7ηMD}`'|W/uhS򙡱NJ+\CI6YdDʍ#8#8#l.L>]yd/SN2hɍ3zF~tyW)<2%v!NȐD AmEk1 uGg ,oŭ+r aq„$&(!9ttH SF3UsCݤUTO<ʆqcq7|A5v֬Lc#r ψtvΜem7U_&ҒRs-fhzr+VeP,a-; q߄UnbD*/_rX8LsUj:nnVw(S8#zV>.Z+?Pf`UMzM1qRPNm$W鲥 0 Cjt3fm\n[jޓ9#8#8@ pwiV$F3\s{W(ӗAZ )38Aese/D(.ޡI^z58x {ޒzhF8Va Ƹ&!@?ʤƉ; 3RE2/z!g2NQM: RIA0]Jo,"T~ʟ6TrMeOi܈&rխ+:!4z0isz1ی3`'tɴ~-+ q_G?BA0Ͼ$unX /W [/t8#ɪ2, VD0蝳"k8+1V_ݦMMpl#,aՎ3:<y7á6WPv6vO8#8#8i[|H4!2zh뮻C*gq%zzu]Nx 8zTo$\{0I#zF${K!B20f{i=XA6 l )/K:_#UuX~$;._hI}l u+vGp*#VWqذq~6GpGpG ˃OF&1uq'CL!@)RD-7S9-t%>s 牥Sʟ9eci >+bJ*Ɩ_!iFѧZ'ʪq#8#PoT* X1GF:(0;^~yϟMVooqlj_V2e)1aF&<5bm2ۄ xRGpGpGpz{N;87w.36|4馛$mv]Kɱ12d4x(+9'cZ*#LeF1,>#L>Uv*ngV\OIyEkv2m\0;k-shVJO?p#8#˗/8m%>N duj:,ge7Ye˒iΥ0LlzD#?l䎀#8#8#~r濝)kI%r#4$ƾԩSͣ< zPfw\Yˍݵ*4ɪMڒ02g$|##5H.|tfT̙I*Ncl]v,*gd'Zfj56(nꙵHCW)~qGp/X ?p X .qNNmbrUsHgtd]3L|KBa5ĉ~6&GpGpG;O1'-{G'6Q/nnWq}U݉GpG*gaUC_#Jޅ`2[ccQP I]vNlե6'jXe^Z9Fd5E9#8#8@Mhii?^z)䎙#É2p7#8*㼹sV1c1^?T gyWNոfyV2UYH>j65GpGpG8n(u'rqU[/bůk#Gpw4$qRR,*2 W$1⌄a o2`QAL/ 'p_9 )31MЈ_ZrN=3Ҙilrkˀ&$ee䠑}2~2~8kpSŕKi\Hi)/LJ)Թ}H>vD߆r'gs`Z/> ɒɽeLe!=E'cGe1+("7 ɠdr Ln0)q QHp8Θ).yHi<7ضTd )VI}L}p؎7F]No vA6Ʋ1YL9'`/.L" :Jj>UW$f?˗߲RFH#l@ e#$3ͣaҰNax((~+^z%9ce.ʡO<G?oe^9z:e3ώ!Dlj;Wg3ؓЩvHplT;TJ:.T(Wur-5``}jZ8QpG7ddղ5u픕k:9ЉbI:;1k0~+bR?a,zt?1-NdckPpj$g f(]ST欟ctؘՏ;p 2d@CdVd2q2a/Z[eWS g[,$kkfFTmPvP'2m6JgB\?!dב#Wvq(+KeH dҡ~-tpI}=cNq?P_/\YE_ǻ:.=xa,=`_wgAeNKnԁbq,JK_Η«OK/"߬~FB'_S4Z|Qq 8ׁ5 VT CDS'@ɍKrH _6~)"V|6`037:V选= e08]#-\#$zU.]eЋ4 qC?ÿeV$: ?a[/ZpGOxqbyekoZa|ϓY[*|^yC qࡿ1Pe3?aUbhк[ɔGʡnlH@o8zNx|r(9 aRp坓بaYEֆM;@FC2V]h#䖎aOAZ;'m3I>?v8H7@"`(J }]a.Tj=`|6>vRPy!bXم۷\C74 ms*J+t[!PjJ3?)tijA?z.yL,G+ԇvz_4(ɴC|7"0N"rK 1p@5/Ҹtm&ܶ e]&^v)VrӒd}#qn֋YEWcvESz_`_nnb11[jb!DEd~X0[[PVcC5ڳ"0 2 #8#)8w^]ayOm7hvq|8$ } Tb!cO r=^I#;,VI=Bqc2e8Hă6BmPj^zAإa1T |C2ZN{ߩr8u@ڗm@BV ?[[V!mP1~MӘL`Kp&?ꮿ7 FoAVG}z|-ts񚎹Q:_0W'RB}Zxa Ypaʀ#>/GU¬XBW,/ }G#?~|]vVA(3aӸ,DG$M%FF 7:+G5Ʀg;6Gcd߯֋߬TwB?,-#8@!p 3[Z/ tp۽qs16\tM06HƗ6xA; "\dL6/|dW9z ֔(b|dbl=f:⌁ 8`#JLhlLo/M( :n%2J=\ O|sd1_z^G?Op۱C4ipĭ1>ÿa2hW%ͼe{|uYKdB`4Y=:~!Y"*$gg?F\uF?i^u)ko %ؒqGV~㎓9s欓SO=Unf8ՙY9lۊ/yh]NB8"$(U?S&Ei64we՚r\ܯ/Kev~:fMwt_QfWGpGx}*-{j!3w;u.йfjy*~k\mkrK4kFOO%h=i=6DN0@ YcMnB\{iF Oޓ$ƢPnPtX=oj gwNe2k@+/~]W>MLw,,?ǍDGe4C#ia BWAחƫ l loX~w6; JMBݑ?n1r:!ZiC!rliԐ>q}?pslE3N9e媕U9rr5*zrM2v%`&f,'a:x#yhgԍa\Fz*Le1i_"nᏊk3wvIN[(#8@"p2 ~0$EVrtǁ@%(Ĵpz[Jj?og??w8R&en߾t5.kiI#Ӧ _󬥅r[&PZ+M^6Q,BʥCiv8-Bp&Q3nf,:s?)ԄL Qs<@tѿxalRTeU4RPR5KDY`m}ndq_LcSf,[L_E|u8e_ʘ1yۏn)F?%&?vW g2m~d _ΥkWpY0;ibI{ yaae Ug\M+g1srWnG3!1c}CFШGQp)H(97#8#\ƹd|zS ןnыO %.`a_Gq $~Sv=mQ?8Z$l48CK d`n hKIr;/jV"H uX#WZQaR}Z̜%mu46,ʠ,EuP l+K\"4ὣ)ئU5^lߤ?wYrNGp/:'g&AOڡ a?A~ ;fsЗCf.aet5?49DNFS u3>\!KgG옗 } UMG_^Z~ʨ{X+q""~ pHl3nDԂ [v?p%̍#(y"~uGpz'7UjƼO~i=ܐFo\cV5=_ezڶꍓ(N*/ q X833W Ǝ~f7NP+;%'õwtʚviv/m_݅m`lr|Q p[凌%($4lhփFЦfiqsbbi(텈FH&FhRӨ .:`ۘVy8{ӳv?^֬Rt`S?47=EN գ쪍!&wul6=+z,U+ hblЯeL*J?:@@`Z#fwz \Rj\\&e.zE޾ ?i2%3YϘ_GpGGxmJ+a ; YYk'5tl5('19h'S0{7g:KI?p+(Aժ6wE{kuAFS_+J45/9DƏ\ m0QvSf-yI+^'&b%Ⱥ>xiaV˒6ɘyP=4206°qYd#dZmf?#\$1* T&FZ>ؕ c t+WʂcSzLqb$H|V>s[g"+Ų?b_Cg\1#fc5Z"T@d'? 0!*_Jk0:E<[ZgN)4^HD!.o?8S\\vF &?4im F#XOKg ЋTEo&ShJVcS3UZ:uE!*= nZELbacHƏjQ se/~KJoH *i "#<8 u.묳ϒ~x7[YuI7uUؤcC^ӧq{l!e柡bx'unOT}KD\\?Q~;@¶cA=ԓ5TebGpG!I^\9:ŸwvqtF5 &ġlq^\ @mOP6 JIM Il˗isBZ+[Wwʼeʌ&w欝@O: 7D=21؎L'F3k #d{d ,QcC$DcP !$o @kHg&Аp17hT*^b2/r,[L"v n wN/ryr8}@d.G>Ն,qqVsڶY?e "hįRLnʻH!? s㎶N0f Մ^DBvN bɍ`7G(Lϖ/i'k1GWe} L֒>/l_wG6Tn(Ee%dLG>x9gDW,XyHq=?룼bZ"*X 0k'.ɾSC9쳥P(`>N[nSN9 7Ci}X}fߚmlqx?ή5%$$$0DBAVpVišUhwlˤ(c;2I@II*cUjZ{^@V^=>{}>o}9s ?7 2"~Sx*T:FAL`j_U$qkQY6ŜD HD A%},4UL/ާ*'Nk}Rc8ny; ?G?oS,M}>HĔ:yz_ğǰLs \^AskQsWӹlBY?qaY*G5s T)ꬉl da}X~ng/@J)/?QfvL>˕0,2C u%Œ?FSj'lg_?K:SQyIF 'WqTCw06я:[?- "O9/A)0NqWDʣn:dR^Hÿo>eHe_ȇ~J7!ހjeE ⷛ%QNGwnȦP֩;^C]"!n PGdUUd%.QhJ,=좤\$Bo$QVy;:7HD HF ~ ~j/Y?_eHaq5e\Qs<˅-mA?O}.%^dB*~y6ïЧdم4[ߢ?ZV:>9̵P* Br < ^(LX P긖wM?ͩ@Zu9U؊#R$ˬ9J/KδRUy(Kq-ҵ#+ ^ј@pqD( b?ء["0:_tl,jhIJ:FZC]d>Zd\b/p;Wz2Yl֜8%VX4+, gJ] ᤼F~*bYU'QBE>I6p%;hfrj_ȟ ! 'bWG!"_?O6pVˑ/;.R:u_Y?{- Fz6iM=c4 O/FL0Ş7c3*`R~Lq=ؠ yk^6#꥜D HD !ފOqt 孴K1S]R7_ꏱW?0Wq|ZǿDZ⌺ Wz)uʖ!gtX0D]鋹Iqj7>3>X#QHF߫2K .ۆЇ\cB~(GiN|ֶnTg}s ]'N_u{^=,>@ںQJ=i][G.ñ ztY+Z>hטƿ*I_s +¨&ÿoeϝ#LKccz @"$@"0boܺ]Ri%#Kl"6UQ"2*\ zwWF<X\}l.2]"Xz gCAt -Sݭed,fxp1E;ge(!81uvCVnɂR xh \W^}W/G;ȽА'i:'opuN;.b)=wk{f,^qq(F,k㏎ȁo hdЯ0%=lY%y<Ì8ؕEm`B⛳+Q 3ylf^:kvZ%$@"$ pOhv9ѦLOUih*|r坉N2ĀqƿZcغgdDw q-'G?yeHߍӝxU^&4|៏٥oB~em3I/p1vs%c2%ebO[A1I++>hAg:ZF<G=`=}krĝj5k_I-h,kn~/9کG59V&C,{V ~h3o0{ui}5ٹ_Qxy4|Yk*:_u41%ۼ$D`El`K¨d25qO/بҴ3f$`" "YQã㼬(mb?0 -֯-ATz )>/ēNn*\Ww} m%)Cxi}԰P/SdS}u A_w745aeHn*=z+ɟ5׮eJ{тK?%DD HD o[v8ƇW)ιy =/d#*WtP)SD٥'zt<@s#y%0>ۚ^AH0ޛ&h -LJ6B'CNkTT 1qmQGj)0xreq]ct0\% GRUOxF|l.g6?.&^:Jy~#{k_ku_@}>яⱁ$k~t"а'licfή \خ'id((عxы*Jt/u߅VoXd!3W1PT(wG$@"$!Џ\|Gwτ&o&v646h\8pg OSFcrS@j ZT`$f^[MŦ)wNW:Ǵ?2kM.=l5QQ%57)^3om-8ւd(Ǚy"/ 7 QTcK BAǦc}PߡJ`6QC惾 /VX2\'җj=̃z1Ne (IΓt$9 "[iw&6sO"pYg&۔)S좋.c=IfX?&/$psT;Zk'>:l Z?W?O<|sK<"_ <*/okWY6+yT#cza"@"$@"ܷh3?WHd<w)Z(-^þqa"ptE?ǟ@'U+剝( 4yZSpCE 9/=fan e7ϸD]*@fl{AJ1-ԩRrTXXYVcA"Axw UW;j'/&fށ!\p" ٙvn-h }uw; xʜ84B-X(ñT_m1iêc,Yk^FlCvߥ u?iyXt<փ9I7ʥUY6:Ho"eXǵ gBE6 }Y{ޱ%W ). R@a0e_ʗ uFY0ɿznĎDEp:^p4SmիWF+j,^|Ǟ\|G+B`p2[sŅInx;\i[;:mnI58SZP8=H╇zG$֗8]( F>mT-+Q׋Ox8sW4@"$@"0bo֎!:WU{̾^Zj/q[ǜ ]iϣjT5:F(H?9R2~UQS!7w-춞kꖂ|BAɅKn}Kd3m_+ێb;MޱM+HmDڇrU*jJ8QL5ƲZ'3J K\_Aiv/4(GyB6  {v8]^!3acnA] mfcta.nu;JWl.B+%*xX>Fmyd8¿{gW2ڰBl+Y+U:w Urz-@Ͽj=?ٓzn"uv:mWX`G+]|ꏕ8P)= 3aaWdډ/6|.okIRyuxC*e8sGv}]: .?!-#6W_fKGǑF }Tk۶`h&F/r1Ά9"|(烂>PgpMBxWǸԅ+rdZ}FeMk/HD 9ѽ*t<"r6cmj3te>, 0VxֿyBvt2AOtūB_4.YmF o˚(K#ylr?EAPs Dk6}v`*㻻bF'*) \YfQ,M [z^T2@z0G%EKFG4؊úGڻǠ["M672Qױ O6'Օtc,pٿ0W*U÷*p䑷b0c_2UC)rGԘ폵q{tByWTlOn]]OcI[mWAoC6u8Y{7SLbd::!~H81\B3-)ʀ3^HE(C݋lp#'U"ՔQPRطOqn{[\Hx𵵵9crw=sCqB7mgYm]ԴcձRhɪ~YRTfQвkV4uRNaJ ſ6cPޞMuvu;=ED HD`-VXq85e'.;^ᦅ$I٧>"ǣCNl|݆E#+pSQ^u.^ћnr#7m}T#?̩HpZ#Bvnm;o##LĨ_TFi$'CZ[#e)sJ+U@Ro('F6Z;LMnSC.'\!A;}R!ֳ_`QMa4mICԥqdmE+kxIȈ.rB0F$Р6n?3`c"Xɟ!L{С۸}?tO-b_~7?i<.1cƦ"5z 3քm2~JD/2sPc깬].h2j' LONɿy\̆.{!fXFd/ 'E9>fg 6m}ߴ#ȣx \ l[]Sk̝tL։SA?ϚXjve~SM|=7Y1tLc ¯gpɿqald?GAP3%3q-lcOLKD HFK/5˚SAOIq>enj3Ysqtcͪ}G"3ED>_ถHH]'6.I5}b 2uoe=gBtSM.ow/Z}gC{ζڄΉ0X Jh|Lcq5~* 5W<[c/OJ/䑟>M3d{M}s]~yM߿tn#Dc3fk媰KˆX/*38S,E`, W hܺXy1xOIj#FAY,Ţ 8ѱN,Ȅ?ػΠB.Cdc7~=uVXazk[=￿]uU;G/D{'кpX̞hhhc0kBYaNz=2 U#Jnlbr]ԐBO[mKٛwDk"$@"<yZ^k9/[yohYlҸԟ?QCF}.LE?biNR,T\AfUO*IS'(Cy[f&&3l8PaVR'Mc6EB 0TJE4X\q ̂U\(;rwG&1z[k-6 uѣt Pf/06]"0VV2(m 10w._ 5LdQe`2YJIgE=(add)UVܛ!]s% d߶ͮ6%[A`͚5/};<[d3Ǝ:(e]ԧxo-@=O;1\rWSGG&Νl)7fj\MԕYϷ1wD6L4N1d azqaX W`` ^ޥ'֯EwIfYÖGb(˶ϱoLrw '`#@H[7nܸ-ŋ%.n1( aL1Z'MqTFuE ՝PZ0a}b5yiEqogﶆf}'q_:Ϛ\E|^jSy6Pƫn^䓶TEyYSyX V_P&&^X$L70h=;%mTwU-\(Nk7|pxSM.[ -ozKqʅrعRp:(T4(pQYVXF]ZWQ6^"$Co!"}vג?L$t 8򿻘K4 ?=x(m,ɰmoh5XGC$YyakF+^{Qc|[4B/L>eCOywlcۼjI3/f\'>aGlv9;΍BfoQڌ!}Xť}sƉdia_P^vb~.~z\blQ0|hh*~]Pd! ~&oF Xx+9@)HR}N|;7n5K)b_~3eu_a;찃G!p,J T~LE)&ɑ=5ҕ4rc$`TR!?z*D:'͊,u襒d^D HD`"[ISל]]6vh@,dW_,[Jgs4dg Ja?Y);$ZX y^F!u2eE"܏qMM.SlOP\, ̊P݆3ַA\\HrբQ/ 7 VVSGοVneo^NM?˼c]ҔLtB޼oJ4 _n-quiG`C<B B]4Б( ![AL^To*Pb^ZCC,%%H*u ۿj7l't-X3>N/~VHP5rk[nyx8HeH U䤉:E?IudU :agݪB@IDAThd!N\Oy߾Κ,)yJa{EyO@x`oЬР٩Vb㺰PVlepLN-p[ehU*~1f=MsUB(7+,ɵZMl)!2yq3/]egy擢xbk/mwRLp?1^WohW|g@[AzbDz, E6,Ar/`ҫjxOvx+P S.tD!.&ݠP ?xiҿ[;[ rcǎ/ҍ" 詁ԝb(23)X1n\JQkAjYVh[U4_9p!4γmN$@"$ A8:O_J9Mո=,;h k?MU+mk}1ηy|CdBn2ې$C!Ʊ?.ɽ\({ů~M]b^ufh vqtFJ+ݕc)e&&[J26Fq@RaՅwg4S(QMHnz5^QD!t_A77TJ6nBp0 &r k%V9%6>d=oG׈c4sGW Wddҭ> .'|]~6k, #|+?l{vm#*AlzP9h`G  VG;Gau[B{__= TdqquϨ7=T\XK{dwrzMȰx旡#@:BMqChYnP*XxɿaxQA%, 7} /EmB/:SȡR'U\9hؾ3_i"yE'X~j"HTu}XK-2Mrcҳ|SB%'Q*BfePنIk^ $D`"eEEIQ e7 w )k ,Iՠݔ=dF:ƻpe߶3fTii[cwm9(4)\ºO#Eh]cn#"߆]ႿbXώ<_V"4v[A/6~,]"$@"41e>d]j},WLZMNe2c}3@;ؗ+_ m%R}"%אh)78qoN!/7)O}OyBE$ N!+E͂cRQ x:Ft%\S%-L/RɄ`7uc-[UD'X…eωyQʘAvO_U-=@#BmְYTG/Uure(54@3N,d2(kё=n;8[r\~>afw}/&Mc9t2P;IWܐ :**hB+ .bطt׷4}CgSvj*Nf߿QFT)JH!,= W;]g^~9~qi{Jlޛ[zWaj˖F?S01Fejh_ٟp?ɿN>OKF$@"$@ceVb_i1.W9?:tq̩<*HCztd2x|ǿAW/e1?`joz`92+<ԃ;>iSBUj6NF֢^v= :hSAB@ÎP|HO*).Lׄ2J1U^}( 't[|%lܡ!4*sGHH?LMQD+L]m)⨽6R[ 蘅N4LTi1ؔY8҆*媘RQ]sxZG4OP!aF(P^Е"j-ыQG^/pLwވoy͢n[$y+ ו=?şN BI͋mnY%d'N2|SsG0KXqKCt>0,׈03EEAW[c'xiWoY&;6 EnȟeT/$n{sA CNn%L$~R… GyD*klĉ`dk;S't}k_ɓ'#2#2y`ẃZ߇29Ue#gӎ2ڜWUV#K.ĦNZg˗6bZWu32+0?|f+~fػsOG^^+y ~.AKobAzO~bwgK, wO~wTK3آಥ6cxƵklZַކ _[~ő'zgҍfǑu\L>mL=3F&El74m ڵ+lZ;XNkmO6|se4kjz%@"$@S"/WE̝^JS)쇩ߠA? ̏?]Ph~װ9jQU/8|%o]oz"aI}le{˹# e(* E7\]ȵBӵ#zw%4㙯:j'a+/!?H?o (#/J/Duy"U9]7˜IQKEMBvP8],,gNEŝ}(S|) }dV9E#pE6͂?QVL DZdFK/qO"Y.0xB(ԓ={?c pVcU%Ka=wUJt rH(zU@E1T}gw L#Yi i|iw9]4R? rT(b(-Qvo^-]I 3QFmO@oxtRư1xeueNB[Wh[Ky  eNχH;@X]wT_sQTd9q %P$2W뮻Nnvw>~138CO X#r>iV#tMí8-;H?{.r 3eeD HD HE e*̡(}j5O|\9l_8X8?W_q?>]yse(/$?xIcdR(ɿ4䮉NP4NM2u.:Kj Nŝ e1 JOebȵ+j8~dW%YHMj1⿕ea1^ %/ YDž'9_wwK"( TR4V7;(9Ȩz6F1T]s{44oEʕ70rKs6zBcrR7v#n%/Eide4hSԔ}ƨѷ T?lJ!rhT_]J!J͋۠S_z9>ĝgOkYX嘢<-6ed袋c}i"$@"$@" B`38"JJgN/2v[p:H]}ZjL+2Ɲr'ƿKe #*7'7W( .K,t:z|R8zg Q6sC]ʆ *$JA+=e^bKyhR|)VdE%ĚuDQHLLHva8rm.I87ܒլ(b99թ7`=pF2TUrPnT@SmiwD uX( In" ]פod(]"VBS4(+Ҿ\tR 63Ma}mvM/9}THƋy|"+c 7-F8Z_DcAϔUVFΕ߁.O+a+==أ.!@"$@"$@"0erWp|>c(piU,͡q qyAɈocg-,9ҴF6}ՏD+cho~`O΃P{ s%za2"_pKLSÎ2 bXвܦ熲4Dyzߋx?iR-C" }WJ9C'7Q"eI)aX.<6̐ubGY)nr_ ԑ _^^Q _ T.]d,uQ gw[PF}ʢE@ B2Huy"pI02%!RV$^;2>SPGZy.ea^i|~mY}4bu)7f=xӰ"3+3b{N8n*0w'׿u0a° $@"$@"$"2XIà]jhXh9?<jqla$>%]DZ$B1Ɵ^^Es|t(t L c,Ʀ.W3~~bd^qRCTǝ5wE]BDVRR 4{l'b*=*3h0T^/1N1/L$%e4$UI8FU^DaE2LKRYDAG(-Pw6nXDOJ;;D4ߣ~_W/"U'fQ BQQK8zKB-@9/UFM-F3,C}mBՔ zJKX0.z.aBǝ4ewY<⣗O)c87%}7BP?ZJޓ?;$\}SOWF9oJgD HD Hg!sp; 50 cB$2,\)/h kLC1-Y$x*J>&,n6ݝ{Z1(8Q]vULf$|/:TQC`BFQuPZfu…r:`RЊ)7e#Q "&zHyIÄ 5y?Ȫ|. 6yo+cGzn/2Wh2!RE/TFy*NU{lOi/U߳([[qWAUQH o@LFhh{ڱP8-QZmơOvM8fA,!Nn"rI((GEJ~.Ad޼@E7A> L:m}߲#8$@"$@"$[9gыCH}9Z5Bpp4r(|L(WtG%P/r qPr7ʫY5y K* ٭#u֕_[$c)+m/BQA*V ITD:̅0}T?ʏ2Y,B#zzɿwNէȅjOa Qמ;ʤyi?ыl0$p-ܸ.,]rSۥ!]"=Rڤ1홢Ȯ1兕E rVfJ!~O_;(&@; yыMȉv' **۱ h(E4zfpCH["#͓[C077/q-(Da쇚oGيvNk~7VնGH?Gu]%@"$@"$@G/|gtuԣ\G;{*B19D֏7˚9LMxX`/#O9k5߄kG$TV“D^M]62:Oi_M2 ߌp!B1L +T@Au/$H'+?x3?"Htlo_| 멉Cve% CBa\0G;^ꄏKWHZ3Iurfe&2JۤFH4MBG/z{1{JыPt C`sX] m$M14P>\4 ۬ǓͪbՕ okGwa'xl%@"$@"$@Cы\pPƐTCN4 kaudtVzw .9{ġf!UtdE034ղ֗+_h&z e0[ő[(;D 'NroQd*J\ 9 %iAS,:G~$?At>>K͋ٔ#n(% A`9s٤Q [uʣ\w ́]JKug";i|=7{jz\۰[:u `^VKtQ/mR(o~YFȕKGG}ӟw]%*@"$@"$@"``G8t5`e|]Xƣ#)&7?qcKG#_kTi>Q ԴbL1Y n2܊ Xe?W*(wrCzkg~q$Y򸚗} lXh?o!IH $Cp]G/J8V^X(hDT#M[s?[\f$%@\3(|vG͊uuu9䐺Z7HD HD HeO5cչ92$hKhe|꿀qԢq }ZM9 bHP?K.Ǫ4aWhK 'k YTBJ7=Mخ ~Zd$@"$@"$OD@G/b`4ฐa\cB|,Vbd H|Y0.B_BBESN8b2/`IU&7 'v (M?4P 'TKTRbnoOM r,ĻT@-L(dGx,4RFU0YyLKbeJ/(;*uWW&7/Yɸҧ!,s̟6V韌|10֧ZltLi5sLţļc~8w_"#bgfz* Ñ84=Z(p`H)`e#/ B eOp/??;vHX>%:es@A)0R9¥Ɨe'QȞXH$w\pv'/ͅo^uI`CWTG:վ/ؘ1c<.@"$@"$@"09;8,Nsbe}*Y8f$P^b<)ՠ1B~9?SPS?$՜e-Z?h ?7,2r;j e!} B^J_ c qW&}k*ɑ$ &_䩔'YO/|bW<<^{&E`(WJLk:FYt4f15M4ܥB7Dn LzNȫb.B+H q SnQO$2Uɠb=BU(bn<~wyhώWSv%9(m;X=.&eo%)$/6!0x^| 7QVɖrN_QSFe7x }:ǎ/|.>@"$@"$@"0e1+TqQSb *p0?K8>զDzŒ{ F  E2-E{;2@B}o~pVB ?B1?NqbPEE$gߙ/kAU d҂nEaij,d9a=e勖:S aB Y;#л?ډ"2 -%f[ .~RR Ò0#2YcܢE'l_Nfv衇e]f3fhLeK"$@"$@"<-ы9R}yͩ`8B!t> 8X51 8:kIe\-RDYΆe>Q!uu%M}pvH(M^p0LiHS"n?,iNe"KXe!eK._ܡRJEv<Ry$߶;$, &8+uJ )2jo"}a5n'Wfgg>kooo@ME"$@"$@"970Va"/tcfOSen]?4@Q ǡ1hO,@b}ፄӅ1ǶX+G7HWTe>e!量`)^ʭ#Pv |l]aV  o_2*LhmT"ʅ2*S"25d.Em ZgRY5LRY s&y3x,p("R}2g/a?Y~o^2U"/ q2#AΨ^'COu lezwG$JC]ը;[VJʂ+}Jp[&&#>%ſ!.NJ@2.3Q/ycpǏ|+׽#$@"$@"$M/z>2R?m;3? ǫw:i}BT3ר]XǿɟP=oŽ2Tŝ&ejYA׎\(; eI[8QB$!}B٘.i:阤H~#~i/eAh#t@&}segٍ]]^d{L}uvoS]jfk֯GW=j?Y w^g:ÎVQ!sI `Xӝ5FY?XZ7nV,U3u,ƀbjaN&7<*S*XB;v|xV=3^W|.j3d~V  __:Z }j-ыIk=h~CaD`#^Rd`CZ?Qk΅.I&A:^0s-!D!X8ߑ4ɃG[_{T ^ SK![;`KWz[_kkD뿺9S(K?E(2wu]-KntU= jLXTD}9 ~0K x#1^FIJB^F ƛe#/ .%b;M٩N5Km A `Xz?>Ϝ_~wQ["e&(?ы#]#aV@3AaybiJc0%xew5UpU<wQU]ʯ(u!)6ϰ!liS~5"lXa", FrFYn7ʈm!}6XS [Wcdcmg<цG$ULj]Eɲ ž)3 -<~ cX7/R3nA Cu }%?o=(-u… NwQGe\rM:D=HD HD Hr}t 41bm[)s4 y9fZƼgCLbY^Q)ky|\l9z2*#_N_s<Cw.ۛ9gOs1:1(+N%7d2Qݱ>$<$9EI0vg9ZiO q's@}Dm5o?j_ 1+]TU:}s3V.* \"H>a!!+yo[nc*^i`9O. 搈Y:Z.7ge%?m1Q'ʼ4B8r3لˮ׿^sE+՟9=lzE+f=2+|泟 +W] / HDŽ@B !H$ @B`w@VARZ&OBe^V@T,z"c4?CFMc'um:J?+)!׿bI u. _[2H>Cg%o@ .ЛYpgWڊ2lH[.X&8`cE^dEYfs%lj35FG³=hhisq{kȿ)\0pC @*LR)\]Y֍D2j,P?[/B13h*H$q!()R>1NS[9XdAZQVE9k>{1Цٿ9c RSToْ=( Z}]le",U. y-yUu?5._d : 8iQC֋[DJ֋fxJ[ߠ3Iv+IՋ+ /dA{3>6UIDATq?*zK{|ҍ t!fP|ωк5O{RzkK5;̊h(Wbk׿i[o*%R @B !H$ .B``_Jq74ypȝ(SDbA:1UYY+Cְ3/Q(1]>eՄ916qz듄(Kުx,ūÍv-z1fY_ 4eOe#MYʫ/<Ƣߩq GmǼ0@ .&'k}"~oPN7L]']i5!Xl`wꝄ'.CeuYB*6_݌v´Xܧ[* YYI>4fʓj2iWQ:*/L>75t^Wۘ(5,zdiEYYXMЊ*םCc#7e|.oo:HY2!ԑ&n4TXYc&e$vA$,<76?>{Zz߶ [/:hz45M)+ʖ.]>O烪Sf'.܊dC4H$ @B !H؊2ȎW~=8rt6:Ñ!%O`q[&2[iGErq$&`(I>ctDx[/~FZ֖ꚍ'I%Oԙ~qF2BS2) / 9Fq]ᰩ=|kdZӿ,s^D2l.vO\UDizQ1AFR[O֋lƷ b ?y~M$7DŽAp˹bH+tmXCp9uʼn~}*O|}߉SC> 5K$/saK!~=YsEڈ-Q _Jͱ3gO?= >0$S֧\izX3 ߢ@|WtD:j"OGHw@㌨RbRƟ4Ve;n_HCZW܀{GML @}FԟLI@H[V+.%84o)eإމ3gQrEo/dOݑ4WN5iJ,\$m޺fpfzKczM2G|sTonllF¿e{GwwE}>υ5kPu3-#72|l*"]$ @B !H$2yx?}g*E#taA } ǿ8V++4}As (؎8W:C?ڒSVgTR"fWEGK^(R3zjUw!}H1Ҍg>tMgBd55m%}Cpi^[/A9*4ǙPh, Pr/ê,*k#JgYʘg$)ZvqN[!Dڿ~gޅ?o'|>6\C1T6p饗lPy;Ǯ&pcNoF-lNZ_fz@3naڶ=s[F̡ 1C2݈.k ˯j/[h0l q{6?䔇+Lއǣo[XrEY|aQ|Zӄe7^4ի)4݂;X ߿PQdǺ8Ac>KF"3,,.DY3=26V2xiC ?W\v#+C^̙3\N!!H$ @B !38YϐhVq^}j__Q31& KTrp2,OH\ e:zzU%;cNdKv:7l _i>[O_9z1GsǼҶ^Ċ2z[҇oxB?l Ea1|%HkK,:|)Y}*n;a;Ŀ/V|= 6Z;·~hmoUZ=诶FY|?iM-”)Sc=&$ZZZ0a6&f8 /9 ~7pv 3WbŲ4ͱ7G4F&͆Ef5Q"tb^L]L=P>W." Lԫ(={LcmY[/FgQSZgh:VTG? 셬B^A,QG$֣6oRuIDQYX=ozxD~e LR0i260"Cweofn(Ykqƅ;3r!`BB !H$ @B ! `[/#a&.gW*W#1IӼ^;.wS 9\i<-Îѧ9\d'r,ʄe([ = }ßϿ޻%?:bLɟaf?0=4BP/~ؾl33!}en e0+_Ji+2hclg?z`h9ž ,@9`PfT,*hWكP䌀"\+Fwo{B_ Z'Կ ohZWm'XqV^;W`0dȐp寞DY̪iQ0ONy:ڰMZ@DvHmںdCy?cR|,ՙrbmMI*L[ yoO_/,ڔ? oG^\hQ8#{g4Eg}vO~-= @B !H$ =lE9zv#1 q~#*C07UɎp??\?ڤ_eEgWZߔ{GMωGFC7OEĵЉvޅ"%툡…" TZCi(;e$m `EQֈ2Ti^&1T(Xs (L/9ZdQ$^i]qp8M4 #$[4r žbLAPtaCoGV7 S֯_7.455}{.3H$ @B !Hqh ϐ)|C#HLq>L)hNHK 1K]r:(E/)MqB `3zqiqG4" m u֒賫eg_C%7ʤƍEP7qU%L0FׅNIvc q4icahlq4Vi-ȳA"Ai[3-FXF*`pk?|0a£!FUmHאcOu#o|ou9?g Q7^ՠ} enu8E5̶h5 a<&ʘo+ʸ_ ܢqPJE!Cu2XlH@yA i8=| 5/SL*L#kx6]jيM[/F(yްaC8wew,~g3fAmV=gQkՕؒ[2bPK. #F62b?t2TDpcevbs=nMiG;e cƌUB !H$ @B !G"peww(U/>'d~B8e)Ϩ:>AE@q $3}JcP< U*cr.ƙ<22p#'+\|eG>~e]ѿ.9K_VDAPN eD`'OnENЩ2qW" 3!iVYr6"C:RS#˯9LzʄR1e3Z2D!pÓR^,=YXֳަjbfh۸hoo/gzLXJ;)hQp&n-J52%L6mVa7au1 g0ObK}"V?OU(Uw&YT2'Կ oTi޶֋DwmϞ-PGf5̰o0a6}ێ~1Ngcw IyÉ2݅{h@gٹE>Zk]+cz1(~r ; 'ʌ eϢ,%$ 6Nb919FyŅ O{d/vn=fhH$ @B !HtW?G Hc&cAa1w%xbز+{)VQDGUEVFI}mx65_7]x%@YOc-tpM(}™ YE` ЧֹMRB_pE#ћ*'5QfE8s"r>g80& DJb3! 2k},D eDY^I/e?rikP!A(_Y<<svs$5& V=i eK[/ʜyoZZ;nqyuOmCwGd\`<oZg(b+biQr[SqV-?P#zQcgh_}oh5nX;?xe&.젋jlg=iE)O ~ 6b@1(`4?D+m,ϭ3sD|[OM7ְZXuWSN7]J\E,P֓WI۟$WXQFɼV7d$W J es0Q㨵l5 s[[/ [7U ꫵj(cB !H$ @B !7lNqga[W!"D9yKI[>}d qS\H494b0d'7(bo2sbaEN= Y#s*A6a;)/[/5X2I78p !p[/h␇- 1HJ8 Ll@pڌYn*c?:y'zf/o<y9wr.ON N>q{2w1,#$'+,NjX M༝N*(v2--X1Wa}$c̲hcjk%8Qf@`*@}\'~1~ $la7X6ݩX/?z4*cLP^ÿ\QV9xM^k +o#Eg*GṚ ЎWYDqc "[_O#г R:o6+eG8wtBRMڤ@, OٹiVlWŪ>sŒ; uߙ}PG+ʔ^݄.1/m 2|)ն>/2vHKAy D eȯ =ZuJѿ^sۏbf9CKEKd_~yayFn-p uR$!H$ @B !DY6#OCa80M>x٪3>ZᐏJ6n28s(e4F5f|*M YȅR}lEpQM7uYxAlXl-*'et!7Pp@b@6 M{&l4a6[D(@npjf\k2!ZEDZ#a2<,h*J&8#ōo=+L=D3Y*-u.ä|lIxe+ (.+}k \d>1 {~βeAjr?X:I ]FoXتR/_Ql#4߱!.-obaVDxzũan?6[2~% ^u~ a-`M.keR}e GVg΀OYrW֊b@٨@L#ӽ]coC,/ӑ9O&*nrIH1 LŲ`a)+}[ O|!ZhpY|%QX5-[vosYn(MὈɡ_t&:dխ46Ya hj1mE xX+"T%`#m WX+lM+׮Կ^/kÎ)~V2<믇~d !%-wqooLJ@B !H$ @B!0᲻G?!_!s 2?o '4 ߂w5 u仩dSRǏ?גѠSӗ0Qy+5hE (3k7|)%2쟱/6uY;Q%=OaI[/oYN-S|lY$bUgUjp4e>,,#^p)5Qۉzu򑬊Ո?ɞ~?lqˢH&o*uDmj;,^4}u^xjӆnwR[/32S۩Q(VGfGu}- ώ'}gj_J骼¿e0~aذaj2kK*^T̎yy9Tu[f7OYiD ĞrbJ2$ U=(߱ݤ3 L D1ɯ)HJB N՟4jmLyIon$)rbgC@)Bc zQ/`꠭]oTocU^=῭-bEMhxc~mz70 /jx qZkO;5g]$d]k4Y>HrEJ@B >Q6LGP˟đJoW_/2y3pCy'NK#9!2.(\wu_~Y^H$ @B !H$zF trI;t|\"uC华e ntXH >+c5dnc}u)/{K ;@CoMM>ļo+ n/ KVU?dO\uF;\aD6|e2 G٤FnFF#1 \a^7'ˑ&xRF1c;2|S-VJ+cFUE;ÊV_x(,䄙P(ԡ;U*܀u#ީwF Q , EDA@[!H-_QIb'sE٫uI b/6QO4Ӂ+;`C&zW-n;$*x I`qdCLFc7EGW&meu {ǥRIL(? cm%دC( C%Nձmv|8GF%ڟ4l7"ZW݃ T<hSjy~g6Q-O?p߽Y>m_Q9@B !H$ @B7#2  qkҁ5?"M{4?2:.٘ʱb>ifD/j35}f|̶$o U"Uo<*%+ ?~`qx}& uY]"~k(erE2?KxMm+\Cb&g 3hМh+`Vlf+FRA]idHՊ[ d __~aQ), MIu"|gg6ˬswF+ l y [MctpNjk5vUcp1,WթLEx17w9F֋Sl2<>/Q涨gTbnqOV<A[2CN{4h-Ł|E<$/U #pg3!_[c˅r)=Fϔ|EJᡅ+_ڙ^g2eq#k|Kpg~X ?vR&=NrOzdۉ²*Fjl丽2h1x Q^ 89302àRL hl޿b5jTo/ V,4tGhULDV[/Mp BYE3T$Ē8cBLJ?MAd6z_Qfv53.q\Qً&piʹ5Q~W_ Zt7nY_?8Z/NUK\HQYBxsm+9'>u.*M+2؈ 8 (@*k<:!q6cZrL".KCyxЍw:k_Zlt7a/zqrly^ixDKulzmfTRCrS_FItYP-w^,֋W,YWv{ZzƉ2n74cfAue 6 '/8&wIg @B !H$ @E`e"py<3#b8%r{jINtG~6 Vb- 4 e]EF1N5臑>Qחx;` JBylCvP8xAⱁ ܈%!af4ț3keQorV5@7xo~a9,ӲH kg|lg۲UO;lqbm{^5k pW.q`*$`+20}!2eʔcITjE=ٍ ћ[.1:`SGX u\qk2ҷ?,D& Apn {w{Z2o֋nJzKe]{;"q9J~XI`2P? fOؚFQ`P>Vd/mo1d4L a@5 "ʼn<ڞo eO ݟCWI?tx~i14"Kj|pIH$ @B !H"'.>NM~sgV{8R22atŠD7cENX1P ak¼X+eM;08tߖܿ@HBdʷn[^]|a!oeQ_,?X2(RZ.6!8'm92tIKcyI9~sH3Ueo($bl2hYeom$'z=Z*k{ # }DйzYh}zO98q1'-Kb5CO}?tйamupF }Bdžաcж AQAj{ ۋ 02QϿ!e*êU9f͚?p/o GEB !H$ @B !#0+/ѥpIg9z1Crσ~g3b*TN;+/Gsx{U]pK$4qyމ? }§_s.~F Ww9K2+214Ry۹<@IDAT} ^E}ޝaFP $+˰9ʦ *Ȩ##wg@GQfd7 #$@’B,@sou'r~^խUnիzu}p܁HQHc]¹A 5m)7kạ>"E[="?tuuy(AB&7o{: Vڲ,i79uvw*5 ֯]5bx5kHo]_NO~X'?|'566"^{%͍ ?7.p OL&MO;ȫ7: J$Ly]_jjOaQppYWzH#FU׋\MGw=t/U+KUN Cx.Uzl Ѯ5/\IZ|ʠ #^onS*s4 /UC1eϢ@Q+O>蔆g/Հ1t2Q:f5X[=?0 |Nv9F1Y?ݖV}ӏSҘ?OoT9gR#Ni2BvgS+.<.Տ$ϩ~j_V\zRY<=ic岫߽2uǩ{l#aPYs{.NJ+Sg===ӟtrqQ˔6lte=39@ @ ^_@3ú6K3hcd GTDR>ٟ6"B`U,Kc?$"#aJcIo}pak O̹ؖ.# _4 W ُ=$)N+.x͆wYp$ePęQ، :!|ƻ蚹  >X&@%DQ cy(9y=WĶ i-_Uņ#{Ea׆fL6 OjYj?o'r xI;* ={v:w ԥcPԧ>fמV ('tAd3ZOehݸ)9,sCd[7mS) ւMWaQZ<+xySeZ? :*v&"1Qe̲>*O1; ׿a Ygu~7p1K ɸqBɓ'3hү*. $RxΔ&L@3L.SПc?Щ(_ivhhG<γyym Kȿn)i_b/5lѹYA<(_sS?1TֿeϤ;V\qJj=s~\!r'}]Ԍ Ʃ7e]_:X]RVrE?me_>v\)NM~G?*8@ @ k]Ol@T6Mdn{ݤS!f1ڟfK S*NN4 ep;L/y yJoJ>(]pk]7Oc+ K7?LQfn4_-9Qkڪy.^^D!3\" Va_<%qz UdG:1sHA6Ky^ (ק>;kkcvJxϫ2].zPЍV,O.;,?.Đ+zv*^o;n/dKoܻ??x :(k1Ŵ9ooeNZz)9 A]' 2*{65~&8Qֽe˟Sx^ W&Pf=8 sޜ⼞"PNL]`O't:OWº e,8>oߒ+\a"gp(nC~SJ$u){Xy ?rEԍew_he_$(zIN)2]8>`~T߶&4eHWk[*(eM#wƿy+yzS_KϢui)p~ZSƯK [J "·Ԯ+ֵ`(OE3dތGƯiaq~&8a\`@ @ @ x!xI4`[T_~:iwmNqN'Riytaȷe1QڿER]}+*lA֗Ř({ 46o~p& e ~;&Vُ=Oɰ[fZi ފrLm&B"fLEu,U!r)I5" 0s)n 5x /C,| RFbˁojhJ_-+v~Gӹ\(+kՆ[O\ *.}.`U Y]ٞ몟ɓi*lxLlX!RFJ\D6 } [,tgĉkUu @wL&{AVl릭v[@SIU 'l9OzNV/W:]F[/'Xeb8a5/(`C7bu(#㴾"OXNMIUv1QVʟ!frٗ]܊/35 d9%9dΨi yfL[l%)D @,c|E@0O(Ha} &1aA]ְc"l%B͐b~ [Z'fPO\֯a; {{ߐ^|b#wrMvvH-o-WGu?|zj}GS]+3&V\uZ{~9Ɗ2V[m YKB&ʕgkv?|zߟU7+."mE@ @ @ 6s(3l V+cVat<PHN z.ҡ}? r*&А$n(S1?7[ VAO8p4}뉪 qXW#ohd]Gُ>͚-}h@Tάڊ2nHa0!)9Q z#ްF壐r`gv@p+dvț(/AQU4yB`)( m<7z]b*[s~# fUZbEs/+ڵڵG֋ԠO<xmrpEdͺoKK 0QFGxrՠ,7N㍔d~wٙ73+K(/jwɵFwb}Qp)Y>W0eb>P=ZAVc_ e٦mf:-9j^a2Yg V>3Z0:ZQ p:*(ɣ;)=La z%Q .6c">|#Vʰc?'ʸbOOϳ7b/9׿5r:esu'WH{|Ȼ] Zxt`̚OmAy0+ʬaMo򑏤^xAQ$UjlhHwLs @ @ 6؍[/qRfT`h 쏙(hYԅmO[U"_r$ ÐkBZ}&,YeFY\yt۶-pѝO~_quGa }Št}"(Vљ Hf:-G LѠƅ9KqMc0+GH> P8fW Yip$*aGg[ T=ֿ sғ0|ˆ{}*mV;7/~0 G,O߿+ܪX`fYŊ2>$WL_84o.xIN , QfѮZ+FJT!Q^7S3Et !߼s֋d+z_ +wh@=LN۟ݜs 0hES R8N<,8vQ(֕['* VAMzjO3IoF`$Ļ.xdl أ~斓㊲<ȄhsE|꿀}mߴyć:\^ԿeSæG>oϓ*Y]IeqozE-mIpvYhۿ(C(/eAOŷ=CCM~Vg>t9礱c}?@ @ @m!`(f>@MF^a3B^q E?7Th5h?j!l?rW޺8H*?cXQJt-70%R:ܻUѮe9YL˰ڬ,/?^?"]J(&/֔[/vcLzaW~ 1f8,@8oq}VgWS\< "HRSW4eO^}2ᷬ˘Q~P4%b?:c9~!iY0;1QuE٪<`0Q_%ȿ~iuOyR|߹ĭbqթg/Wrq^&fJu5Sf2)֎iFC+Tk!>'rN͹6+ʔ˗c9&]} 20ئϘʴf8@ @ (Cl <cYNYh/ТuEp؟FAZo-<@͔2pؑ4ڿ9 Z[^.1\Zx*7^_Y/IW`GQƊ2@dN{3iM:8Qv 'h( n46F`jy86’’'Ęa,)iӱ}+_,9fgn[ u[3c1Mm(!K\y=]vqiR5nYֶbETU;[/fJޤixpE`)QEKc%cKqBmez2yh+=@E!avi2ߜ_IZ%g !X[-;R%3̛ގqe*z kg%eaܟf}KoH=Rk/{yRj+߾:痬E8aߛrqn'Vk2޳txX_gNtq o\qe<~({jiՙlQѨxVDZ ºvd{m[7zn/CzzIT6إe94dJš1dX^C.=<t%ot< {l-9mr2*;%K4ѵ}YjoJLL&877~h`D?te/\\(c} eDcR[-]I~ 솽%M[/VTȵ)x,1o9p"7B#%<8-P\wM#-R. <9xeMֿ[ *pP3<, Ve9o?-e(x o(TKO&Aצ}s1mcxEi>&|6kAvj02͚?KR-yX Ȩ2U>MtݨˊJ8blq zzW ^|~}撢6u_ +LүQ7K7|p `[/ν}ŬMװ^D 5Nr9>e<^#^3Ħ ņ{DY.X nLɉ2יQ֋2Vt1T[ f6|',K+oAQʭL=ʼnɳ-N%Ą+zyDy/n5/QG_@:l>0Veۊ2Gy$~i޼ytGiܸqI@ @ lE n>(qmFM7hw$ 6:I ^UZ g(hFMcP2ie10?B[-ݭ-ŠQ?D6hN8::_xtd)fo/ή;{p$& lvEڊ2lH[.JX/,0}z/L2MH'DkGyhv0ey{N:?N+H;X"*@ @ ]?ݞ4[pmf~0z'$/fW2Hf2MҺL/e3[԰?o֜G6)Q(Jl׿>}ûiUXU OVM1gُq @*G?{V5^R .z4m]X\I4)l(aC|kR2sdiT #ۯf]ֿaiuq̦- B)~J(g 6>Ì?DϓÆe^J(!EY9+w ֋zQ?~_ (3P?jH/5Y(/q5hEםC2Mf)q8gg 3QuJ7r)▇Li/3@R=x9\WFʻ/Z)ia_9 ^ɞ9$U15nػ|QZqƑ2(7ʌ&zimT?y"ώ;UewͳHM;XrRsA;w/m* zn=FXU{EYΚo1uQg9⿧N; +_L@ @ @ %lEJK}*6bG+-o@ag:TfhOm<E`:]Å[-@$ߺ?[/Vb[g{q>r!?0]r|Ue_-g?25+(?w*Me3g1 a3606[946k-?`8y i -Nf 86h+˦&MJ?m7H/t/IK;izKL+{-Hs3 mĖSSTYmm#&2C9S8!ՕCd=]~SS$YHtڶM[ X{WzJ:td)ćw48ɧ HPanTD6_z]9PCZ5&hÍW ?#;kWz T$?e 6~Ɠ@@(ǾEf&S1!S:[y֞1Q[ ſkScw SjlJo ]8]JIy*k'zoaa%/߸eI ϷnkhvI;`;#(Vf}M3 {$#!eEX.w?õ,[`[6gΜPb:Ӌ&LPą'@ @ jF, adдvB4BoM**P"|qJ} 6NRQ8ctUɏɀ)^3FDC/g?<]FO QKWݭ3v ٘L!.MG%b%#E F@9ψ7 P/0,ZtrphbÈ ZzDR*8E7bE2$W<Kot 6iƛTh7YkXYP̛OJFKsN>k}}~?_'N0 D@O+֞MYmec/f,>M]iĊ2pHֶ/LT?CY & oeL'|rK 1cƤ#$ @ @ 6iE[t_E~/b cyG]  O9fn SÑgf:=2d;[ ȗ8kُ-AY*|Lebx!aVeF `y;+0hAB^!*Ժkx (3L,n榬<_S7ؘl_56μGүeehN,~SetEy\FLl_jچ}m!fG)uX* :&  4Z2#ʿ3, Vv' sS+?E6f"VV *?)Ooxց|D+ta…vvv0{0)IGx$![zQewzC`cSˌwmߔZǑ ݕzz?u>M{&m+/́Jlywzשg:s^RýW#ߗ=ȥJrJW@ @ @M PlHH!%v(l LEm|gPqƲ4iPD~#\۟?lso+kE\PцNj]QMf! ֋Y{izi&٢gH7M&mG(O?j͋)ȳ+'ʘKKϧ(+#ᣓߍM}=UA©awC]L7lY":.LIVcC7+ʬ@)=S}o뮻r΄r}M\rI2eJ@ @ E@e4`&>C"f$ddJc,Y`S b(,:Z `h$E!XDs H#/F$T?pᾳfӯa$=C!0. dm? P`86c*^kfiBYJ SU|ʪK@&$&D/Y/<D?oh5JL1e9 ZV$Y-]A^"eT7#[x0m&$2e(_ee82a+=?Y$}%Swjo_-ӯU]&+j@`R.?JXqe_.,3Da}8a Ɵ(s͂E//~^[z0lhK}XQ~GnNӢsV>ƟjG?tyq뭶NW\yE9 @ @ 5^=A+>]vJgؙMBgR6۔̮,+3ٟ?sd> A cF|hmު} eBbE֋(Vcw6+= qP銭Ƙa6?fJa-W6?U.DMo~i-b Š|; =4=QD b;1S{HE:I*[QСP(k~+̂iqރ'szramS+elK6IQ^7ʀCC oȾ[aEpӸ,!"|AeY1S+?ERmǀrOH[T85\po0[/!Q~)#ƿ6Pߋo^9 3꿑zBH+hʵs97{, @ @ @ 0vdKEQۜ+hp%ۢL#eT]sabiWپKZ3&<W{~0l_o9hSE_eD`LA@iLI@$-# !*(G@ Ipf)W8n?_8s>&j,OlH)˃PdPsYeՏ8mVaKJ@)$2pj: /f@$ME֋lBJݼE%q!D >X]J( 'ʤ(_H>]c:h ?CH?|EHb8]39fiօ^+&(!VѫpD1s%Ow_PRp fjjj*@ @ #W iv3S 1fkravͶD\az':5,XV 8:(SIv)Ӻ-\WLY9(HF {dqoTiEMq6b(k&l*Y/F^L4@<[J,$StbbAħxh4 փ0p3^c&&J,[v>&I 2rioi2 mSI=;nA4?(sF9#o?ѩ-W<ݡSK-pBSNJ2C[/HY|S,V#O2'];9=ƛu,Li-*h%~rsu_7+Ê2+N/ƣX߽`vn!dh'f|֋*Da#Lzɂ𶷼5KԩS+R7@ @ F~Y0 WYV eI6@A'v w1Yeb2pR*?s,ap"?s>D;Asѯ' ΅ӹz! c[sX`w6Ҕ ? G} bzH* k SAvSD^w̕ 7?Txpq#] ұr$Sn9Qh I.mt\^BrqwbΨpz)/CΓz.@G}"[_O#4Uޝ(HF eϔjc#d>PhEq@K/yHb{qm\k+Ex8m-m59)Slnߗ nNNcgٰ%l8GşeyCo1zjuww|3g6lt)&k(l"@ @ XDY1%{GCs3[F\VZLP٧fyY8WOtE~*Hkُ/AkmP:jM]t2$Ck 6ce6˒pR(L WIbLd)XGR ʼ0r0o9R/!EVȧK*'1S;_wU֖q4H[A:ݸt u0j'޺Զ VޣQOR܀#匜á<^ `?Iʙi< -i5pDR"<qkGh,&DU<G=ծxT<-w}޾,d9_C? @k;@IDAT @ A`4{v""_QF.1OZ!4aN1+?s+B T k؊`ن]?7"so) l܇qά֋e a4&t7f(*KH`L]x$Y1_0k4Nɞ}ΖT6-I! `pNmFe\_6&(CrĊ%+!o&+(B}uj@8_R?LOBT}f[U2(/Wo((cnzΩ-={3E \ 0",֋&Ԃ/,,HV3Q@K+1\Џ__^rN,WdYq?wQ&/DSQ0pʼn2Ovhz|||z{՞@ @ ËQ&q1clݷlf/-oCJSɜ9#fǔ>$E'M1M+Tocϋ ڇcU{zWE㽼c%t_LɈuӬ-SPfLFZв}C]\5P,"ЀhK *A:ʐ{;үopK>+$B8]y-+*Oj"j&ǃ}Ax1@'!g7]V>jODYiT/d/֋p#QFD5DSK2jR4eF)k1Y*FS (LBZ/U F?Mc=kʚ(CiӒ%KQGz^so|W\b~q@ @ Ã'hK} ;(fT2b7!i8ev͆ٱ$;19ЋˡA XN8(2clXR[/f!1T,z(ݺQI"Gq˞RG"y^_AEtVo7ʬBlخl8 9"΁#+C EG-Z)2 u܎t"H[$:832G/OruW2k/5-瓂|k⍖ϟrJ:09(FSK/, o @ @  bEs e M Q+If|a~2CZɯyq SouT_Ɗ2S`F7 fsz[/^t(e)ˣdl{Dg&;@ }OJx0w)ĉXx+%`2$!e#%P_k]ڧ+Ֆl{d%.&!lI0s6&B L'ee&\GGZĿcQdžvUAьEOׁ!oIN :zq)rPlُ`X>?1*6|Y\bJ a5']%<[|)?@!9Q&ǛK M8Q&pc /t&[V:@ @ @ &[/"S77qE:[/ICVN2G=BٱPrxAp,@-6AQ-ojُ-)[Ί0"t_^?$.-T,#07ofboPd~0ry3m]{ l86?џkOe~t!?OT͒c'~֖@ @ UD`7l-[o3+ZBrN>|7󜁝9L]XX`'8;(ۿo4Z7WM -UWT: ,@-?`Ůooe9հofRɷglQeB  a 5i4X\qbKxm b@&0x~J*ΣE-ؖh i26:lvn(H x. 7Xݸ" nNgd$duj+||`h:tbL& w\$󄤗]'5<[/|sB[/BÍKOO~۰L}=ŦtԜ{],i){ԓG֖O=g+y6bN00zK5 ԇSYĿ{~ڊ'57m*ZQJx///QU7'O~?L@ @ @ bEBٟșO=ٍbGWWgg#r.3M?y-.g?f(; H=Hbf"ڈ?q|L(FT(ۮzeF`0a` ViXQp J7r #|41:8Cs)${ m@w].~[&T{Lq5]ץbE C9P @KPXi߸(1"񤮡ZKm\QF'0(pYWzHW%- 6I&Tg߸9|߾p%Ey1хK;aߛ-8 t| RdIUyEC[)-%dlG3ǢpYAֳAÉFD%iwj '6CKc -j[Q/yM:CGKVC|gN>dEE @ @ ~(?mF9Ugn7 .1*%wZdЧI 䝞Cy#]ڪFa4y%_kcϡ͌7ˡvGñU$B3eDk8rEkt 8*SP2F3XgIBׇ2ր&1WĚQ2oFcڍaAiY7}-?+LUlOkW9x"ӽU$C'nGjȆVAA%rmݔ*G: ^,TC#xl'\0-?+ti@rJOL<)O#"L[ o 6~MKoz )&lh eƀ1`:]S:9v4Ke1 B?p ѩԈyi+D:<#K<]e<ӏ~8@ @ Z"aQМl څQ)o2?A8UDȄ  vM6Bv>7<. ފeK(TJM7@ 0 Va8"Wk sc*ґRauV| Yp*)2eLIćt"pyf( 7]ȟKV0̂EaEYx-1u1ƽi)$DG5N,vd{(s442,D*.%O[&BUd[HUD&P(}<)o|^v4GE^&Z 0)Zp×ϿWDe|ŊH~F! 3&7 +L;1@ @  ]OƊ2ӘX68'iSߝ2cv 8@-O]TtL~oab_aA/?-q2j6 M6Z݀gRފrLv12כ@&LgL݅)ip$a<*L!xUe%_A@_8Z)ef/u抆 'Q=I#]B5-#9BRP׵n }kh`Oj yz̓n18$ ;rQ$̡eTCa@`X2^N!jƭw&g -rKЊȀQ4s٨5X8RM<$>HcGN'`QwcEڋm YKBئ^(<|֙gK===ee^pAz!½=O<zTYL} AM}xwvՕ! Jt̴)Ld5i<#B2Wx-0Y*~-k#, !ρW=PT߀G}CJ76TښnjIu7Lu&7Onp@ @ Pe ـtfaEYO %WC)tGJs*&Аs#Th?\BIX6 m|0?W~mf$VB(/AQZ.^4CCs-7k7P}ihx tex^8-^] eJ *!әC Wl@qED2f^FqPĘ4{q<|C;/h4Zn|FcEpH!P|DƖcT"MJ=2&21jWyI `7:AƖtxkRL>0 FO2Ax-(oLGuTzg0z{W/wiRi2LJOjP\BKz{a0Ik6  e7T1ԸNi殩y7;[p@ @ PCU?,w^ݤSWj>SQ?aOhr}w1 Ҫo'JlFollP]\?gk[u!qd{lTm LS}=TEA3֋8 |+`/"7,P%>b?9 dFa[K[4 G]nW+8h(11Q6hD}qTB'EݩoFN@ @`t؍[/ǿԣb߈}(v e%K ґF-ٝR(gD25lvi(0@86=b2edJpձ*(;#0-0(Ytx |, e$ YP(pK.YWI86萔`R+!5?rB(cs@ϓ E*_}J^! @9կfn;Yܷ蕈 ,x~f;V1Hl;Fr߼u#Ȕ7y0F~L8Bj6mγO1 ¸b.U' LЌlyTQLZhOvsCsZY8hjV=D 7^JT(r=mezyh+1Zp1 3(4_v4lASprF (Ő~Mg]{6 =1OلQ<C9[Y/>`NQ02WLǣ>B:(4_S2['>ߥ&|-M=&u'6񵯥2u\s]z{禺9h)-uیg]DE!gϚ/Jwϐ,:O7<7U[Z<.@Z@ @ iץn؏}^ُ +&jC/Ɠ^#}3tY6͎>ڟ$sSzKky0?jqk"gk}FGmXoo֦_\o+RGO;dGG2u}̢'.})p.V@#yZ^Cq|\fHǃIqY_7(9j9z\.\~GᆀJDe@_貚q([/~cd%t )&'C]6@2ԼˣJGU"|L첑R1W_ߊeז@`X~[S_W$,韆-g$ؐ/v\b}\)n$RS$viz6׈ٳrGdw,k z/ ً-?Mi~[ҽ}O=T:#w߽J-wt%)S#P~?:V}1ʭ?UHRZ/~T$:u 3I w_ {q%w'|c @  穿N]^5c ځLT"sIdVs[v>݄x^؟eMgSNc7ˊ,~p_Σ?>g0( J25ukcCfneҋ+,'ۿ  6z}jĊܹUT =< byT $Aà2 4'ČBσH~L3!;_euC)ۈm .m.nGM0=[ߍ/Q,&p7sj+"gsbS t6 fzӞah%i8&GqzF%`LIp^J~ﲠZi\՚qFexGJ+rolUӰ4 6b Qof:>%$yyA^T ņ5I2' 9P(:=ݩ/AЎu#L-҆L|:$jtYfvv_Zw(! ]V0eOLa9 ATPIY{,+^Џ,7 sA'"1kHxJJMx @ A_MZ]I;rm&adOJ'Ӫ4,>cHMxlVi!uuk}E[ILL o\kcKnneҒK4XLh eMd1ʄ,ɤʩ{&W}4AH72ӷt/*hz2JL9]Go.y8 .˙2,|/ۏ@P3uQlf $V?:7]=1 ^"Ϡ_t!sDA3(,EgE"bqwXF~}Q-| @yR-, wO/>' $T e?[LÂ2 N(v6r!iK6#3qe> ?\YNH hzkmAe A cN [}r?5aсTR][[[c=v£&* /|%uޅLrR3n>tqG=ϢFCNoioN|XY&C @ 0{ 3*/ 9c]*LؖGYYޜ٫w'?`gzAEZ5;Kxd\}u_I 5N{qiK A?Ct2PvCj $ (*DIYNX (a> W8 D٘c~̐T2sIZ);}?<-+m4XUiq`S;ߟ:R5ែIbެ`)EMdBɕJ-d^:t3ɡ'cQrEpk >[Q6cY3='[7Nrg@ߝz>%?rp^aӝS]c+J%r2XVpV].Ld,O]-#h1_kylmm~HtdgҸhֳ{mOLT6Jp_wk=P>pOQdG](ZMTH OR^e?bo8oӘ9@ @ V>vSvrBjn.%ƾ/>Rg]2IfZ߬BtTyL^9\p{\egwz/Kh3Klb[){WFeO`) D'(p2>pI}C $k%w&l[r4e;׍AkӨ,wQSwoxH?$~6i?fD@`Dx#SϳS0tѩoH-c\qBY¬g rq;-1Dk Jaasf/}{N;g3slD cSY~SҪ,x# wRqłHrNY< ,l߹\pW+^\].,YR9c}dTD $vϥu`>D #/Cѱ% GZ-OcY2s%H՜(l4+h4+EXtX a (ضC& ѲJd!? 9~"]> 1 n}9W.Wig/#OY,+N:l16po@#䑳r+.$ٝz ᥊fUeB0zER7"ea6b-2>;ttGpGh~>]yMr(iyh@+7ql@0:~(vKf˷%8.m`l ^ep7Ss}5Fkb3!}hNy׉B8#9aNJARE1]ca vǑT)Zʒ*Z\zR&?w)rC9-@WH{O.ΠMjdMv~uDbu%#\־&ب[pv:cj$e'KHwg|xUuof!&M="DWخ?vL4I>`:uj J'tr-$ai&/GA}. *4Fa1Y=zHN?lc-'1eC1.tm| iqHy7reĸG,T5 XW=;WApt ϝ._)G1GpGl‡2Qj?QS.Q$töpɘSu&z?Ϭڟ[-y9年cCWiÕ}7S$ЪCsuf9 2*SJ|#/2^)eH eO>t.L%CjF+mgs /3} Mn 3gnϸ~N?#;M_yN]|n͛'GuIXl62a߿ {9U |;;Q&t *Ч+Y={%)CT0A'MTd4e8e*0`52>ye M?;}E Š{S_3g. f3SC7AolK?xHN!5#p+Nʤ[nReݵ,5Е@pBիtڵe+6/M[_/%էCޤ@럩w.=;/ؔqtԭ}@G3gie[kM- S6q7~?BM^ue2CXNs#F֭PiN/HH$,Η)=#jꦩ1~;;4VѡD C9s~AQǾKMXN?X U^Dc:Z9sGv01q3pT|~|%2DLj`B 䂞oȓW\/O]L2ڑ32f2KKcBo+38@ ʬ Dg<;Imz#4;=/K.]_%S<UDQcT[QyTLI0aLn+@0~ Yii[YKM%ҋXA|ok'.3F]ewg>Iza5 M2ɡRD e?v34=6`b^LZ0 ,Tȏo0a<CǷ6$s5m5ڽ%Vf%,WE@FD\xү_?e4h|'䬳ΒvMƍ'lAKW9_ޟ)cD FӝBYUT#uCqsN[ѧ;E4E1ХLC,)WLDFɌERVQ -tø}Tu5M?MN#ifvd-=H^V\jJBYV,WT!GzZ>"&6|4,>0 ]jٟi7j nYwez\́P(')RuNXPnlI0X'߶׉LSfYekxE9YjO ?Y7(&96,sͅ?WN_:3% }#T7EJ8RۨDe 9KVn!"CMt.˕a|LuU1Qk+0<l32xV%%~_' ' %%a}{$77WZL\SuMFTDžAshYnq~)q<4?* M S%E #$70Xgy/N13ن]r QxfaCpVٵK8m{1ݻwK?bY%KHyyy\Nv(-z***eoY\b<#"ox)uܨ8cU$Sڋ"I/$,Yi}},/{gZ0LYvy>0jO6/D9~k ke9}x&j e0tRI4k[bV[/v+ƅf-z跉c3l(e#K~4lG" 1?e؊6)+[ 3"c5m7~r evW/'3QTJh߉kkd+CgȄTc"WDvɑژcF*fخ ddWo!ߒgx5CkuZXĥh=Ϙ":Pc.h(~7X?g)WԱ! ꌭB?LDnHJ!RWR>TA˴Uq&ƔkҌN%sjWƹAX[me٧AewN羪_vF}y>S9e,y4h:tX.V@eӴU!ep`RWfYyxvQ$ʗ}r@#MvjB[1eHmf\Ik:cR`}d]N]_Y@=I;G d9sfK]ghv%ֻaѢE?Iz-)St0flS١3OQ~٨BD54i @ u a;kB鴲_pE|4sٜ [xX-^V/wK1m=kH/(Ȕxbe$ɫ(l#,]TN95J>}]ey~SO1}8/R?x5h|p z!݂b?^9eJC|k\9Aˠ+,ϑu cL#Q3T5U1xNg9-ޮ M$Ydz!fIl9V ZpաyMzOFkrY#C?)wwoZyրXn#Gf~ҥк8U>Tί4  >>b>4tWO@Hi9ڹxoش*ɴ_?QiQ/e-Ñg[ mW:l٩ O`yZ{W@W)wh6ŃSUL&u!CXj9[;}1/*CY0M0 0eR>5 MQɢ Oϝ#>)FJ9}6" @5:yޅP?.!Gkw^ٮL1@+ҭ͒Ri[P#dp=~.;`iZ_\ver΍.8[eqBm~_#} L-Qvxb;F f:OahL,)ن]ֹJLuՔ/D`XP#uZ\ޖKߏ@!~gM6Dz)xc{ t}裏Ep{p3p~!|na9{l6lҳg-:eZ6?q8"KϠd߲P?Sq!11Ub$;}bҲ/XR!_|X:o#.Z3F gOi%SyF]/oE¶,eV X }쏃 ~;Fb4]$t(Z6x p?4eR^-հ%]>YgZ[p>zz!iBˏ%_ᜲ 9g$rrg~Fw-m}o2Ӫ^}?SaЇDSVfڠ>Kp-? &vQu>0lt(sJɭ9fW*%waYl1V J/NJ{tlj@e XYaxJ)Q-"vf'"Uؚ̘qT;7|.,˚#q+,D&nئ磌_y+%%F9Ŀf.9KD_ dxatqj'j)!׿U~W_}%\swy C~n1F1ϰ<O[P?UW53{Ɂ(?4:ߗ߿8Pi5C?zW vѦye*+#5d9+WPLK?6R5.LNZxv-*%*sJJտp T~O YƋ4MJƊ22tủEr[d)D{TO݈T-Sx롃N$REUTGL&,Z |B! LWElpW17`'zĥn5Xqc~ZA&eLrL:oK?mN]Tf8.UN(yvƆW.^68klFܲ6T._ңChUL: OII[>Nt29Db1yI1,fҹ͢o.SOƝy;+RRkB߾"K?"HklyQ&w e |۠“ giY0ʧce-"-ZT\1<ت.yKu"3"$#T|=9&YP+?lKvk;o_8p>r)8m ._}MqBE"R?,dW߂ז̖ӭOk@dяaX*> JG{ Z 2A[h5*m*[˯JɕDiPȠHj8ǟlHL$'t0 %5E<^DZ 2+>d+!OA֏50K:_?Gį@!0sL97ߔ?\&㪨U9ʹ_~Y=\y;wVNaaW^ ezN>ӺGWvUq*! .пU8G Yr64,ӣ Y;JﮅkB٬ƌ,^A!]Z?&P `p dg/5fX_V9rí Ki2{6Z!h}8u;+=;# аlKB#LTB& `CEX&կIbNEW6Of.Ƹ_6$WǞ2$7}}_Ԏ8{VIɛIMw֩Ap[CͦOcUYv 5̻Dc򇂐!煕-&D$z5U<$)">_2Vև ffZ*ViHb}`トka[k!P[ ǃz,kJmkxqTh=H6VQШΥ^x`ח k JWg5xPt&VmteӟUP_`T³<>[MIZ䟉1MSG|tD)Sʙy qh2#ISc~q2 }u饗Z+h䉓kYYcZtԩr 'ԩSۭ_&M$\-)$p/a[9KgɭnpG`mB cpeRv//?0N{i$׽HVdn$} uDtm$ؠYz%>pk^&Ic3ﷷt:u@& @cqgh 'hT`_^\p= CFd߰}.UVi 2&qy8 Vp,K9cr U-Kcڲ$e[eE's61\V jRkkb1 ŗN+?9@~Ɔv90鴍MlC`ɽjPC6d+IVL@窅Ѥ*?v&hHYeE>S@TC4:SDg,,J[-795KHR[Uf Bql'%j%p827!_}y޿J^~C5٤]maJ[{v A3dn:FʱApa)Q<JQ6?2C>aEGWϛ/_amtdu00mɝ#YpWnV1wCj;g=r1Ǩ޼yatҳgOt iCcV!*sUVV js%YU  IǎW@U6-SS--k7OW-ϒztnTwwڕ`? Je:VWbǍ:/)1AgY%YzΪO_8CzWRV]2w+x _I1-YrsPG45\BP֙ bm(Y968CrIYL_E2tV-JX6Q5l!{Anܲ^~Ldm'ʉ_7vft)yLBe&mO ϖ)b%l-%$yQn| swӵw Q_.IfR ؋d7bN0*zeCj'nj3?)[0 BaՇiR5s;2SZikGMhw؊C7$fBK #o#-& kg@baEneJ%}dRo9F8kK Z*$xe'Yy%x k8w)ܟn[lOÓYsOp-]4U\^Y1A^C`~I$m *KIdYRI02ƲX>ͣykKG*łs &k?z;A!&0',|p 3٪~B{7͝;W.BۤX&N(C~[&L }3>`mte T_|!L2embyf/\EHC6lց[g.X׫Z?^wX#<Du)Q$x2j :zl^1DŹexzVb0R?FIe:~E3I+ \J1'g,\5ɩ,Φ ; @ކ26禼(xVC[YJaXˋ8BB2+ y'9Y؉gt.*]{B e0D#'L$VK/ 2\8huco*D1tƯJxPVT۟!n䝵6F^*fxGtBy\2om{?VM:Ddall++ޫ39J;w; g PސLX(RYb2-dN k(X҇iI$1>ʻIB[0=BD_X#(e>jRن[- RDj+!m=C{uH˯͊e:s_HuABuIKT{M=+g % _[+'NE@3T/C; k:<+äYy %Ћ6Q˥G tj @UGRLCEyҡ G S^.J_.`>J$lwF`ܤPG&G3X^EE2o=9$♄I_ǿQ c hasy\?Ɲ4a NJ`s2)< Ňl&#e4 C L&9D 0 ?O`Y5-uJ1'-Z35Ɛ1#?Ζ[Xqxܥ^+Q\( MА6IgWs#y4hD*.KLD~+_ D+'a1E2E2>#SC=C1?fz!MQtsm"Yw;L[UΓqƵs=ZuԿT@P@gHm?V;A#NHL>q e͘AA2\3D&;ÿB?R[AZ{dd:}CC+#9i7oTڻ^sB,Xr{Dn]N;.nc|뮻䨣Z614~q_,nn6NtBF+::9oMwL p#\>#רEˬB:줞=J176v 7 i~.:qn4PV]S-}5ݴǖF&g^bd4}S1S*`г\# :2N.ot/F cA)u {2^,7hW0c, <\8Qp-MAh\DfxEE.:AA ?NR4re_B:\I_< rDuf*B/ʡsuY ^& a ?H?ݤmvϳf͒C=T|bxF_vTc27lITq.'-?d %"L?io޶2f&irdlK[/6LJ?BfaE+ZnTտPտݹtQ2ϝ#1̙3G7ސ]wUW۷Qkφ2y}ݧr.L_6?O㖆kMW>zܘ1ctn-V :8pK1<_l+PC8{-uh3<1et)=Pu1oC?2qxʚI??c9^u8;})Scm6ɮƸFH_֭/jKV;Ł5LL`# 8l,qlqӇ0F'/@(ERDgni,&A|O0JwM@-* R>b gM ?tAYmTr")4YHC_8kX_Op_d;G /W6*{QAȟ[S1dտizH{=嘜2TK;}AoyWpX F_sAyyHXYp](~8' _ꄚbk+3J#E(@e!Tʁ2 h'ȭ(HK ,yKUg 8rGچ؎TM4""Ƹs2QR_ʚ+4~g?XWq:묳\<ʭ?ҵkҭ,矗}Wc;3uvMҥKztEkW}tpl:ȊHH Va(j5D|U, 1R>2k:(&RRNg 9Rwq?%/Nj+pAй(TlE1E]/ t&?, 2[)%|z߲K^  w699c^΅r/3M\y<l{DFB;VGMy%W26 hׅO(RĂBAƘ4M,)o}*rßWM$td >wQ/ȓyud Fshi +jFp999]!,))6HSj1baܢ'|+JL1!;vl_6l@t;;.[x m[n<e4䱞ݻw_6?;m0OZuC{dqC]ǰ v-^ߴN4 i[X guo$v(\2K+Ll/x`F0 36Jt0fO$ЈQx#9ge.y4*en(kYje'WK͢O! nTPd;!L3%8vKlI&STy[nä_Kv형~qZ9ӤJA DUE+xTT_&BaG%JAi]s9+?wͤ觗Jv;e~l'N;$O< ϴSP=/Jxar7 н~br`6yBo>:LL&*U}FG ShK2~@^[vm- WGs޼yz׃>(=zP#?8Ycޏ=XH+ [leyVG{-4mj$1bѫWepG"#c'aiiq9﫲?h4[ׁ(r|D?c^+7=v/E\ ,27~S +\Lc~B[h-Z$[gl< a:i%p, ,5QX_ƇhtilYr&v\H epw-d\ץl^bV7GJBv(vc/!K wpA6靗(2%j9?R`+&\Ƶ[$Z lGURR5Cd?*X1O.G_# !LfD9ȄjS Yh2[ee(ӯ?96m!{ZR۹>Cr'ҥK+NP3I]oXQ2k~ڒѐ駟ES8\W" 9# 6@/2drք 裏\UPƭi(6mtMq+WXXXjyZG P3F_;?䯱LCA*TාT3mJCo7My1|"?4: }3LwfKޟ5Y>дi@uG7*y| 1J)q…MP3ͷ8}Xs exe~[ˀ[K;F^OzWR5M/\1hQ.E$22? 2Mi ˜V u-bt \6%a1_Yeo#=w K:9SjR%d܌8Ǭ,%ʟH'Ap" 7 ~"&6lAVRZ.'F2k,(9}ryX.cy(9$9"0i$[6RK}rI'ɭcpI =:^}*=AfadJW ݎQc :D>nM U#}6oPP@t:}k1ޛDG<9bg3{~3+eg_=S+ӟT}Q)**Z7?6|`i㞲>2woףE e9hj2m2k,~W:_/0VJEuTpJ-jtuxjG݋+p3/AgtXue/YPȯu d/T/dȢ BVV-5[ͳ$>#y9˓")dJׂңw3ʠnd (6ܵ.lߩaC+j~-%_JM,--srV/m),LU2A^(Tj=?:Q76ȢW2).Ou`.!QgؤGV@f", Yy]%+d™c$`!+w#`Ylȶ9_Hܯq^"%qel j oYo*אgf<'IJ)8f6]QeLJ!oZD?@gU/*es^dCcPQU;ν%Gd9.%p:J^|Ŵ_6[Kҿa=W>]_jr@ y[`EQSQXEbJg+72bzW XJ)-KǞ.Fg"UXQCm ,忤qԽ@#e?O@↲󣲲Rn/+x 7ܰ?s9CdrGV묳pU… XW0sZ`Sʖ,Y"\r\{Jt!{@5/[,_|["_]"-,[XZ)U w`cb\F@Wm?6 * RQj A4=t-葪.2mY8^SeM9V!SlfIa^.Sat/ŝ dnE^"h.~NHp1Z↲eNh',7|#8#8~sرcLt޽{ܦ;_9*\$wMi҉  ΜiζC11lIZM`53) ,,4Y[!"цq6#\{2ȯ@EEvi2~x}݅[hkɨQdԩr'^mC5.^XR|g?ܟg9C1^ƵSO=(e/?dѺlEyɈ#tțoY 񗗗oy& / [ne}𴎀#8i, :mdsϑ;GpGpQ=DYxYuPEf^׿j◸яߙ:6K6T XfIâ4f85!e8j$VOraԢdJŒ>ONxf̤1z12 .@*4h<2tFU=ʦL";̞=[j+뮻Vhhk\u=Ⱥ+4m6 k1c<_뮓7=<ШmꫯK/T<@yWmq@{D`ܹG-Νkkn 2ͫ#+p#8#8O)mf-6;f+kh¿ZZ7hJsE VC9VX`-\nXizi,r935*❾WLJ3:ˎ\@+DQ8LB󭸪+wFUߖc9F jnQ嵅XWneVm9stK/$?瞓A駟.wq?cUlo!nss e]t\ve -9 1cPnWҎ9Ph -["=7Ey4 ve ;#8#ОWw<Ӵ뤭կ؟m"[Qje f}j`S$W!:35l܅9 թd\y>5j4cbJ eے4W~CY0ҾiHoenUQ4|*֤ܺgΜyrp)?)e]tKAO[l&ŷ4B[rEVAAuYr5׬C>9t^>}sΑ݂s•a;j d=ߊ/W6BN_~{VG ҇iӦ2=\4m~Y-n([-Dlt*rGpGp @+.Rˣ[U{ĝ+X:U}aqKmc͆ Ό!0gяܼN ̌Wx3pFChMFҞcK(e]!{Yb&MM?tuC9D^03.]nnn1~$ lN:$e֓?+:<#z4,7ɢQqUR.y)O@IDAT;7W@~(f͚_|Qg[pjx.YAlEyi$***38C>%ia4.yzfȑ#ȕe+s;o&=[(n喺k6[Y>5jtEJ93KSW_}Uo?7޸>=#? 0@WsEԩSٱ ifPVo<#Yd-+GpGpeu{>جiөR>H8ILwsUΫwrCVQ%bŗ.b.sG5hizlYQҰ i,<(Z< g,UzQ?9 ՆdܤbZvoF!p%XNgĉrYM-jM>qW^)Es E-&8\zsG* ["o \mr>;ڭ[ 4,"ʸlqBR3eW77z~Gu2GpGp dݮX5wС:& geԀiԠZ<0jR?$D eҏi&6GÐM2]7 epV a( */TFEZ.dC𯜄OٖX'kA$,"W G_R~߯+GmK1b w'V\>țogG`ijɸ"TUt@쫯؎W 4(YMw*k.Xgs2q 8e#8#8'?|]Q \53[<<(SW eȡp4^X4~ُ1B͠ #hczh L }F:v4C7;ڌQںP;_d+'΢ьͫ+ϲ s2c9Fϧ|ͅ[dqvGdtX~7Qf<>n 4~_=yryF~tؒ|E E੧UBghzZ[-`9蠃W^Qy֩SF2a9'xBzFd5w檲:/( wC=z,h3 emU^QG`SIgPGpGpG@*~:i6v}WW*d 9XQFgԘk-644\ L'HtDtE¹@m'('R렢DHMplԪ\,Vƿb(#шJhj<n"˾,Ղݗi *d-~XsU^w뭷 ޽{˟'axܯkke2vڨ2=#6#+b5uᧆ?ܚkeW,n,Gcm巹pwCJ`GpGp!PVV&~{u9_ 'Ç׉k͇y#OO'e3!9z+ln\JK̐UwFn9*fB% SfFh elGRCg.UzF d:?,6g&<_gȑ2$G%wygfVꭷޒN8AL"^x\veFB~o8J9;o 8XJJd!siYcUW 4PJlNW-N+>wҎ@S ( R6dSe8#8#nfկ~%Uf,r :v(w}qJ`J ҥh|:m,c_L_2ʚ?r '{w/gy<.G'ōTyy7s=Q4y@#]cq6YWT<5㮍,%fּq~WņG?wV_5vAo!&8)<(G}aD˂g$c5У͸eF-gs&3cJ(#) asjأ|FXUϥwm5~[_3ʌ/f!iA+~/#8#d,lVXۙ&>.{j_~y Z靴^uUz˧BL|\3+">pCY $D # ?,"wGpGh )O+N}eܸq1e{5G;O^z%93o߾ .r5p+՚+ .hYһw/yGevɓ,o,WybEt3% Q57qD0MCbAe4C-.9+lHZFymq-rgu\T=>A6'}՟J-Я֋6^/&J2/#8@#Wt-Ɗ.эϮzGV|\օ\մV,E{1JIQ1߲ϑWCs2uT)Q3pCY3;͍@BA{sSGpG`mG`rwql6RcPM l1P\|2i$K[ѣ^0_R&OaÆ6XL_Fo9qD5j,.$A;pj E^s5J;VxvɔWͷޔ&N(hh9  IsEbBÿY4&1q 46tZ\ӰiHV^;NLӉ$G ;R CYs׺ntDէ%~[_^4qA?lo#8#] NUfg;RDˮ_!R6TZei""EEP}J(iA![TR1=wXf杙{߹swDOO#^qѢEfgEmXA&s|vׇkRƏO#G”\kNEP!;h"UvQt(QviUE bq#נ("( Xs̡>}իu-O>\dk׮iӦ 'H&Ml= g *ȱUVB>μ2йsgzzn.Eκu}"ԅ1cƈ3fdrW'my ;ZY2M 6s3$qQLUBK>h&[܈mဏѤN={0,&Qϱi,ˁ(C~HH[D'8||!0E]4ͻ8"APE@(#%>T‚)h4DJE\hOCB7[nq?j%E@PE@(`-k 4>Cj׮ġuװw^oE#mʔ)bPW]uU^r!Իwo1cmV%ԩS'RSSiٲe2hm۶_]| x#)!!LaÆb_&k׬SN9%[^hL/f q/X  2iX5{;#2IH-l`Bc6.JalCʜ} 0.µ.H] ^fSd9GB>:ɛ/0_䧭`Ӌ,kɔ󏫡\QX"("PI۫ Q SvQeS07ۂ!hs"("A";N)`r֭[ իd@M/h6o7,Y3kW֜ eʞ:8-2&\:iV,cHF})Q&3٫0pYr1XijɅ?"(@F@\ׄYCC"D>h"%"g.'!!e&w}ZIPE@PDhB+WN|z뭹"lK/&%%gMgq͝;WL֯__\Q{&|i۴i+Sʕ+!\RrrH \1’5jp>HCgZn>ʤl6:C˭c& 2@7_Li(HH4CHAk[,t|&~LKlz5IAiX_L/|@/i+9bw=\)Sf6B;w$hƊ9۷sLxL0իDQ[hueSO=%>ಽ90Ҩk׮H_СmO)ATlY?+Cb~es e8chR ?Cyt&`Qr8+~%)hѶ1chvʳEnX4k~RX,}|yG'(d xEA~*L:5D{2ׅe_E@PEh#}lWs߱e y൥A@ș "pHfZЛ!E@PE@v͛7Oȓ]vQn?dS|Y6d8q"Fّ@j 4^y!$_xjݺ!i͜9Slt)ѣE0..ug>WROJ ^ `hpYe v9 {ql0"d9b(0c A-WUdn4)1Q&dodfQŔ,DMJ!M7ւQe\2ޕB*ME@P"^4O1Z' di(Qv4[t6KИ"("{WE f{Mwyg)DYϠia;Cj,-__^dTB.܂YիW 6x`馛(111ZyOͥR:hX.L<ͣ:J|e&XrU 5$f 8Nc"Gk`4xpF  glÇ2h Jz1wj+(>פ S/ Aaz,jOF,QH4("(EYkۥ,t! B%rGsG37[84W݈2"("4rH>|5jhjg(3A;￧%KIt^:s9Tn]?ڵkӱ+ځ0_hh/BTZU˖z骫_e Jek&tӎ;,pG ;Xxy' f ;[5/,6q^ <Eq[UGl6bqY̴ $P&|@r H|6׶4e |tR_-_&FT& de*GY()"(E3k"7ςGK DYd]KJE|hoF roM! "("_~a={80x126%(! x 1?e!_5k"5kЃ>H={$T 7oΝ;.J'|AĺqԩԣGF!/ /ԍA{y|2,> \kVZ4B( ,aD$ M@iP[T58F!֢+3lkѐffD6_E4kR̯185C Tt5;8Fԕ>LbK{TD>5("EÓ@ĬS{I3f̠ZjQv+:uMӧO"$z뮓xNT%/R5\YgEqqqHB_HmkFG}Byn(L={з~KK.,ŋE"'*/1]˗/84Vĸ.->]rsB),@w 6|p1B(tS?)_C)LwNKL6 rݕPY5E"(@F H̍?C%1F{D١c5@ pw/x נ("(@A2m4߿?a3ՒJ,"ɓ'׀YfA Ԉ#h֭tg!hذaBA[ M7D*TdLw۷o2o„ ԴiÚC_~ۖicf( jv6k]r.[;Z ]a(G 3WžPK/DjF# L0$ [}hB*UFE;v$ "Omf4ϖвeҾ},:Zh!}cG붒' I;Y Zc 7☲XKPaA1{Ds8` .-\@ed,d. 0_䧳ELl#* r3 $Õ2GnZ҄ WE(Q\[a`㦀i;ۯ+P^p'Mqdߟ<-ʬ!}o-Q%"` s.GE@PE@Pe(2%@[?~ƏO>XFI.?N_fz+ lkDzſ\J  Zp!.]4 ./9Ƙ֮]+5B&&]eBb,͎}G2osF1X؉O\%4+(ΫWƟܠ~ Qƙu9L:k{gZw4lO jEA~J6c\B*5>o^ 2ߨœXs?g|97$2$:տ? @!Ѡ[NIHzO (`o:!;_C@ph"P^&[&O("DE(zj8q"X" ub  /PU^7rO>!Zu xfkW_}U/b",@"VVa|PRx;kv&s+ؕH@*Qƍ{W´bh I9#m2lzq~@Y2aPQ>Ƒ%4Yጿ(O] e\@ Q9>ųٕ4Cg6ܕ᣷\W&\DUBN\IgCo&iL+'kvaDa%_ZWOv_t1XMV E@PE@8XQvc+nͣmOR;[ 09JR̶L ^C>HvĐZ54)\֖L/i;RRJL*?lHӋLw 4 kEA~(㹑Kg^ nccuPyQeԨQԳ睸pp*cƍo٦APE@P޺&a]0e0 E0n.7S*"(%('O@@)66hȐ!K~_~!DY6mD,Q.D|s9C`8({2FիsRͅ2h̞=ZnM]t>:r KLL [,0|޽;A /^xj׮-Ⱥ &ѯ?>+_XGeA,X[, P 8ؔ%ʂ,0L.ri{.hTi|0܈j83 )iSfS+_ bQʴ\GJ(QI!+ɇyZjC &S dkҤI&H3gΤf͚ 9״iS*dɒ%t7uPJ4A:DyuX̮ i =ys=j?8q mlj<^TPNQ¦3 bԥĮքI_26D::_#emt*{EU`s%?SRڢ LTV&~o2Hqg1 .e6d((FU?bs3AQXC5{7}6m"rdϰ)sV\50|f01\81ቘ9 9 WF"}veG?"hcjPE@P#>W2Fd(y^(n"hoJ2ZQPE@(+vDjDV^>@4`RLޔ䈳2ePBo3)#`fŐ/qÑ#Gwc>zTߺu+M2 eu饗)Ɯ 9۷o{Gǜ>"zGD3&4曩bŊbaQV`y{ LQ&_=Û Xƒ7b5Ĕ0dY+lV0i!YX#685@i"c7A e‰ a+cQMF/RWclNZ0R>"sϡR@pN;Rf~̭aTJ)M,md(K[^rB}4Q3bGqa 6+͛[ڼ= [l@@"("\zҏ(>ǏHǕ(+9(nxw^nɼVZYPE@PJ 5yd1|A1(v٫b)96kNILLZd D!Mt%&u֥-ZP謳 ~m!wMW\qY^] –2tS \9?bJsƌb![ۮ{Ç2hqYWP[3va00ch>.r ~H"Gl񑃤(b}~QYk<(KIc2j!Me%yNjJQ5ͷ"k<6o>MY?OWt*% Z\C(C_DS x0Eb{`3=dZh񗹧<FA 䗾:;1'DPʜy2S F]FB|#6̘Wh|_N6^N*218o<1QPE@PJn-:jom煂e UQA4("("p`o&)@IDATݻL^y啢a3} bZT)))S=,؁9|eT(üm#81^;k xAjժBEc 8w֍@5j) 7+WL*Uy i0ӎ|嵽#YnG+ ,|KEGO58(b=20h2kg& $ XJ;Z!RV0=4=o(ۘ38=W])e(d?`)(V-+|0Ra`U G0im;2T!X%LZs/݉ɯ3sٴ%(aOhќsȭQ <̿(AQٱȕx(C1xҴN}gT^="("P⏲֔\Lp#2P,C{4|uaժ#ȃP+("(EƌCO?4r)4tP1Egv2h4RJtz5$`B!>5d F)g$lZqfe,bw!Di#!\,JpÆӜm $6]{r}-zcLeg?_~̭1Z2f.3OĎ׈ dlB{l`xؔI*uɅ ѕg612BEۥ)}ʰK)¤Z*;J_Ðd)_dA⏏ eC*XZCȖ\8W @0_J={v`<Š5B޽(横\OB3럠'J1Q&s}P . LN3[+-DgQ6 eGʁ" 6x\%'F˓s+!|%b̴?.LyqG_~%լYKֈ"("d2L9T!B>U'@+"("( O>4k,K7Ul~MC#g=zO?ڴi#j*~tvb2.aFØ[dJCC --l@İvO4U\(+ "T|A;8C6\dT0$FivVB&ޛ^~t 5?JjIQeX)hVRLV(k/DT{U֘(KǟueW i+}ɷo;f6TN t׃ Y׃K.D1ZjfqOָ"("cZʭ-0T*Q$"'(Q9s=QE@PE@P lΜ9z-}y]B\ |3q9a$q ٴp\שqg@nH"H`eG Yh k\g/P)u)N-fvk+Xe+1X/?VM*swwO:vyNƟ&.heM<]J[L;XD4.756nqeN?/ ?|MCn8mlzlPo?L/ ?Gy4czQڱ?{%,V`9O&P=5("(/+ ,h(Ў("("(|k4d_> 4.\ EoݺuBbqTr(}Gt`L°p>4$ D$]HOl6mf8]1ha! E%f#RWv>lcC|Y1uBQDY@-(Ě{I{Zcc>Zo>Rt*{YU8xĩig3i׍( hB,5TТ? ReCҝ(de/7~9"M 6NLxPedܙfk.jٲ%X̙E:JCP("(EP,:z?2On^ef*u "("(A ##֮]KO>$}GԮ];UVn##@[9(6o,d)Sm۶ԯ_?J9vKFm &LQ,2fcZb DLjw*ĕ R'`QM'Աl1挓˱E1Q6eeѮ\ Ҹ+Tߢi?}OZ|ߺ%jsׅϿ+wqMS7u)ToCՓo_DƾQQ:L/?4G-*DY ^ 왬Q&>LR( v@'P1~LE8n(C?X2T."C1h3;v-ZК5kLvb&ŏYŊ5("( Yg]C5"k(("("(~6` e~wPp@iĈbr񨣎yG eTRL/ ҄AÒ(Hm@4D#KˆrD"N@p\$ȱQsCA% }Gµ2.}>DTܻv\ɇ2+@ k?-cYYI܀>y e)e kz2V7f ȦNG20%FyePHa ܙQvW6mRJ4Ed)эLXN󟶂M/2܃Q?CȲ~`}ᬳIIIT*"(@qB@0EC DY̅DPE@PE@(cg֬YY`K(>>>Y\;.2e^ ;Za"?n}W\& f8Z~*^{a]bL!X'F3!?rh KL\/R,  ʌ\'l߇Lb%S}2֬-PquOnyeS CA ︅b jgQTl 2ACp/æcNe^/2o Q2@Ώe]-Q6(57pXk@.:rS7v> lB͚5M6I2i֬9kΦoЏE@P⊀&?Vf]Z\G]ƥDYћ3"("("P`ݻVZE˖-O<9*_|/ɂvM_<3qTt h&*p#aӋ2fA.@ f١:fVh m0t.h: 왫#̀x+;|27Vd͛߶lVr߷J"(@1BeKnUC DY̅DPE@PE@Xib1=dGVKʕ[!<qפ/ω\ ĖxcB/&*J2Av$$!@g eeOB3<_3iTbnʖ2ʕme錐_fPRR),kưVm6/R豔?|G)L":ўgqYk-:,ږGu$+˲K8]y;E+G~m0?1l15%W_N睃*^y\ǟ}E'(kO2n;7XF kzK&gӋa/> Q-m)kM|Jv<ʕ"Ig溈:D&aڵ쳬9m߾CrL:tɓ'8GPE@(А9(Q9s=QE@PE@PE@8Qf2f8u !tqlC b2D lZ E䠖'\^MgHqcdX=1jь&MFm0#wYK( LƁtRc?ﻋ{zC2Jjٴ}mOQ'0Jh\(ݩn Χm'I/[ID1QK.\f-?5ʀ&OI?3U9Ӌ@YD]˖-'SNi U4("(@GevKh!"DY!E@PE@PE@Pe&l8@L4e%a}fi`lTZE#rbmіV(@ˠaI#(7"("("( `4Pсܸƍ%b^ ly!m- A" $pDm4tqd&ָ,+H1U*S쩧Ƙ)yUwԄ=/4x+ O`̒I&Sl[fsJTy^(ss⎳f͢Sjj$+G'xӣ"("11WJe0 E@PE@PE@P_hTv|yZlIGMSeQ"("("e MOSKu2y?}jE2 l(s8q"pL.]u9l0)F "("PЬDY0}DYa@1?sLڶmz^u܉&MUVRwC$ ))C8~HEPE@PEѺ-2@B&փ 8&G7sƗ( GCu&! 1#6$_a+ȣlI9Gʘ-!! X~ S;I8oJi . y?M/br/\h)N/(Ӌ"tmx#GR=s("(@#`>ⅅ][kV|ȥ!bP,buΣ *W.`茨S'&&(#n*D={3QKW{("("2U 5<4;/88efG%1A\>^h%!Qv3r93hN4H7nR̐d5Ф,2dSGDz Ϝ!K/Qˁ%J*?22sH3\J͔RK60 5("(@#փf=#%J.([ppڥDYπJTE@PE@Pbzѱjq>L/6W|rK 2fðy- I ڷG:V66@Xd6Y) \_L3غͳe͐ Q\IQ&穧G}TzKoӣ"("D(b[1^[x2%"l( )N4xPbӋbq_"("("Plg2Vi#q})8@l"cbrޅG+v,Af7a4s'D֘~v&C@pͫ|ƤO] efN1C石+-<2 Յn"K/5 ("(Y^F % (z1nݻ*J7O?ʔ)#/"5jԠc=VlݺU|PaÆ({?Ք)ShƍT~}ر?͛-[~P5iܔ."9wm۶я?zN|S ~p:SBe׬_LqqtGӉ'Hm۶ҥKmbݴzjf͚RK|'%%9:Α˖-q5Ss*iÛkLqF9s?,s 3S˖-SN tP0?>X~ݐT|KRFF5iğ-Fk֬˗U+R&&TJl ?矂gA1115"R ?~TVMu+"(";[R޸'3 尽1TB ^*AEFHHB V )\֖抨ch>)&,# 6w?]|r GL11l^(.| irJ^BLjݺuPY=QE@PA[w.'9"%"g.EO.r^(/r7Aq2dGPiԨi#{H$.zy'xe)kc2˰pH*WNѣ"*uM^/0ԬY3 jn^z\A#FߘC]=Wz="偔K/DwXz!sW4x 1rݺ+o|e?i$"җM?wˋ}E EBLhuq؀h\R.ey̥JʸHRٲB`i Oy?>@&:~7oNoV~غvJcƌq۷OMuv ƾ7_9i"("(GX^ì-ʢFAc#ndiֹȒFp`8%S fq)Evʏ, Q&SϳBV8'Jhɵ?x_9r9%ǦE@PE ӋfԹеbP8J8[ ("~ QGʋ2O#Yٓ@F!lڴOf*WLBIAҭ{$Q֝2|/cƎ}׻]Uaͩ;vBB@@{-4<4`/JJڹsꮷwفD%NxW?&6&Xl~;e]Lh!Ax&Dd&PКsaÆ t>kmݲp!xcqc-u-`:u$9e@eP2L~+/J''ő5/+V`y׋x;BqSduk+~s oNKjJdy0G SE@PE@P lzQvxqu18/ba^G>8!\Rؤ``8<ws ".'dԠI cҬ~@ZEPL/b2e׊s*e^90+e7vޞ0Q`OځLכVWPE@P  h((v=Iï|%/[*4 aOG99T"O^#G8:0 X\4Z0qrep|ol"/5v)W#w˙{w+C!YmC>zSw.4]l"7ECVf rMԢy 9ss q88ڳo?@5m_L&MΝ:EƩ 2X;2hA m L`s Q@G!fo|3d7M07yrP+ ^בMAN */"v lz_`JK.i?v7L's=5 *֕1cq-piӦOG~Ei+i"("(Lqe5/b*Ԥ!Ř^4%@!L99΄)G殤08dIs' Q Ċ=2>9*?Ow!bG9A΃be!ݮ::utW@Sl>'("9m>X5)Xt?OT` I%<9$7xem_[1♆8 <A"':fǠ g9ǚ&::RcyO4W3µNBBkag!rP,rsϥ ʸr"ʜE{nހ0ʾ=ϞSꪫh %CuG!h'tlQ^|b׋/(]Çknr{lݠA}=U^D^ll,YN>d/k{ѣ^ped#^ЫW?E_0DdJlxh 1v|.<4k&̢WlIBh1۾C{$ W_ABc }^\Y(c~2,*MCBرc[ouղAtIB!sʔ)kQm~z?N6:\l毣qE@PE@P#1h6 5Q‘ G6a(uX&lzw\!PK><Ĺ^( |.R3U>a03V}'lH~sA>ʤC#S|h G~9Wи"(@#f{y`V" 4'Md'.票I&[)ZF,[Ϻ_L"iV,ojTI4Se<" DYLBqyG .YL1:Ӌa6X 'sLXm'䁄Um7o#ʺoTn!..3Ҩީh5WK/}l|9cǎ.;OGgzi9656n8[Aqhaџiq"zڟǔ%& X /QE#_LpDL)̡ -s=(6X֬^s 2`ߝ߳wߟCǷa4,%Ⱥ~t<+|c㒡AhG nxnX^RBz?|q&Lh((~ӋlZ76F+e}i۶m?tYu ڵko@XSʅpeݻuӃY;RQ Q /=克QeC@Sʕ4a>}:a0yhBӃVl JF{Fn"ʠI_騣^ %ܘ֭['& g͚%zt3jDY&xlĜkPE@PE@(xv^xWn} L@v`ىXeUvSB6-PC pqx11iX 탢h Y$#uyJ70uǦ/$(c̪5p5EQO#"\pAkZly`(<$?+GE@Ph>^Ǟ޽{ ##F{ b)=a&_Lcׂ,,$Knc @ j'\aEv%͓$CFYd]JE|4ce_Y3wv1Q~B({뭷n-❯X`%F?͛ZT.@f(c[w& $ 6L/:Y#4/^L KO)==k?d1|Ce+o.(~kӋ`l^^5ʎbӋ#>&OD+/ i欙n΅iԪU+8(" ڀrPWOL/ _  u @rlݺ;8,!~7ho1L!(kDI2D("("P츈52}l(=6bc2ʘP4N'+DTA3ص&:DSWN"n_Ӟiے\kTõϢt6(y|B$PO o"7>]V\Oac޼yqKӣ"(G"R9w03x={=#g.]hᄑ}6&!!(6.V4dyޑHIT?D iM]ɐL#u>9 +߬c@@ --]פ=?# }4m')Ko{җb# ?[ e3Ů'N F=Wo6)@6%d2|oQګjy"ʘJaL4| Mۼyq0g9s&iF Q֜}}eG-P(cp>:6L/ԞKOOOc=FE ~̼5x 1iF^ (t!`zxQwطZgFԩ#9Pד-[bxiU41QW.bNh"("(KQoƈF39侲Eװ(sŰ'+f#l`# l.=!;4lpH]>$.tK+# &ʾ[-s) O1DfT|U};E_=?3 ޵4("p|R{W^-4'&&R)jG1Sޝ牬fb|R9rfR'p> "g Eyɔ=SZow4Br75WCwQB~(S%qT,2Xe\Ne #x. s|l1>.Jٲe4# HB5^{2QE/"Tn( %`F*Scέ=drh}k!@ wxnH |ykqa= }r (3DkqC}կ__Yt| .֭+~~']da0s v);3G"|p=kB(ce/_NM6~ m` B޽g"YԽ9+޵kW;f'26PM/z0jDPE@PEˮdv )%{1#߰si%R,J8`#C6-%l4&V CF3H,gU?9z1 Qg*tUpdXxo3ן4ޡX"P8ۗ*^z% d~>^ L%-߿_ý{sߙn_ؘXȖDk 0Ē!p#G&) -Va4v^azzLoCK}w}׳ o2ilh((l Dy0a|Dڵk,!p֯_#b7n$Kg,]>N QvAFYm bxd ntmBsv>|8~yAkРAR3ȍtc.7ӋB"e;XsQp>˜^1c]q<( C%{`r [zO j10eZ΢n0a#jԨdzO?@A)66?C dYg|q[}%<5("(@#wk)k7oBN|N{I=ΉbE^)/,$lpbXBJF.\ǛReT1&?Ok2'1hS+?άduyԼEsh16jՒ`$nb*|a_7`상@s&*UHҤq奞'0>G}DI [Tfl%vHY/\0ewi4J%# >pkFzjPTjN 'Qv^d0 y(V^k̬TVJUaͤ㾟iӦQ$K,]-;hf ־lV+[:dFQR-oDYJ5G y"TPLi3.((kӦ|W͕IypҿuSȅ " ӻ@]Zl"#2GYiն~ˢE QJBlԨɓ?ũ/ H aGYM/6YҲÁꫯtR5¸3ݹKim9s24f{e567h94AGRXnVzՖ*Q\~6-K,/)ݻKWh2}0`L~m_]}VrwF<4eΆ!`p;SB4[q;kV)4د_?)((P5k&999emHs\Y."hRqn$ C8)hMj u&9jCL 59`ύLQ|cZCQ!gXswظr-2>|$j9PW}OE^L7,U桇ǟxB^G8:|Ћdjom(L|=u?@}j0{Jz(Zl."iCWE.^Dy@ެQFӋwD간 aÆ)>HͶi&g~vmbrD]x<#oʲGY&0 ϳf͊F1.MSO?->M=ԃT"GqjqP" 12dP/`Ը#t 0yȂ`K/Pݟ~[ߧo!4XFL쐐<&2KlQcnL7eO_.a{!b!`!`$0OP[yA2^fU\8X@S`a9Fơ)P ]HF3˓5V~/o_~C Fl+=qm.Rw=l plpbc|!x0=G+yϐ0gqaP>Ms,J`϶-ȑ#Yp(CōlKAi IS$cΝH-tp. PKjZ 6o&ӧO ˖jJJj2իUSӑҠAIse1a[bӦMe]vI^iH} i%05k&i^!`!`">9 Ndg[ DA9Ey<XQ5~hI4Gi Ky6Q;sJ,V~*_8Q {={kJpBM.z\tii<1?2 C ZS:u!45Ǹ.nWBqpklqw@[d[aѺ|pCKp%O)iGRZrHtҤQ7p~ C wtA_FM",. Q5\DM%lR8GU^S39QQkFdgd̥FN[XM C0 C0 C0ց7Ʃ'0ׯ,ȋn)[5u+Gy1v!Wps A(J(˥% L)@L?HPPVU2xLg+Ĉ_2/̟-}\ëVI}.wmXIPӒsm{*\%i*{ C eK[&?vm?Y˖-uxuHzIVvUwn1B ؇}Kb}ƼǏSoNduj(Qy"`)Hy#x9S D'=. uc*}" Wbf4^ʇ+9#;;iFYG BIOF% y+0 C0 C0 C~E5ËTxQfݶ*hR* Wi, ȉ4xAÅ. IK!`NP;NAD\)!Ɋg ۇmBT3*iZ$:]jyj|V1cƨ_wuҷoJ!yyl׮n)!%є\ ^u9fE E'x{sTs~~nL?M[n[0 pAn~.w Q4i 97J6$Ip(O9gv>KbmUu[op`BsmcDdoe!`!`!` L}B2 $U*-.83.DyQ0 N-:^fVZ nQqe7?XMIۉgnfu}?a[53(x&G_e׆!`D >\M KϞ=u(|}/&O,gqxv)ԩS'arqK9,K1ɞy:`(qQ$5ƴ-L$24Z#9b䊏䜟p߫Xd?kV&=тN:J4jL0R9(KƱ!`!`!`G`4YpnOUQ⢂!B$d/pNQUKlVVZfhB#—~._ c*ӈh byE9]I,"1WIG, ZjYQki3 7n}!JvͣlC|ɵ'_Sמ06g}<:~;VE!nȑJ͘1C:,yGԴc{1kdʚ:S|Ǘq^"Ҹq"BkFv sLG\Y8pD97s0 |ʗQC">4nUL.Ҧs88ؾ=+9( e4 C0 C0 Ce^hrݠĩuۊcFyJ˹ G Y;b-(ǖQA>NB ?4HNb[ƿ`<)czRB+jdV&[~Oƴ򺧞zJ9 r%;!DY&4㺡Dٵ^+$Wc AoT ƍ'yyy)y t??Hb2W S@y>)sa9φ+ua]Ye=a|:i #9Q2Ma1 C0 C0 CX]}sHT*N*Bj/0gF꒵ӎ޼"sv%b/p٨F8 pRSJ*A  A XnJVOWc_˜Γ7@!fH}:NqEs {م!`7?{Gn&wa2xbf=z46w__Kf6e9O?_yٖ`RuE:[7ҤIS754#KM"Tbpn^X蜕Lg.HHY>g:ZDϟ ^L2&ߵavd(KrX!`!`!`eC`وdCb% ('"%%=T+Cl|f>B.=rɥ bXLVރ'%|fɫ5BP\+?,Z(0鄍h;63k]CtA*{޽{Gx [*rJ0։+\pBvLW2Ÿ)]tS֪U+XfJF_|Q.2ah|'JTN=e-ES^tq|MW:2dt1HĞy #xI5,q2˟=GFϵS0, `!`!`!` gC&^By 9 0 zY; Y qB)FsZP{*G uJ:PhPWg$Ts O2g{ȊL6UT&c=VΝ+W\q۷T_M4>3riEHFX58`!0HB @bQL܇d`N Ly31J3ЎRCBls0j10IbgSǍ&E)=y`K(K!`!`!`' /# (}Z܁%]E %kf_PbQ6D N.oBERǕAa N5˰i1[/>S I6 ȵgVJ&M7(F/t95 \ybCjv޽}Ŋ,~+I'$V%jժ#nҥr 'z-9u qHأL?)U",`s \iXg?>> .Ț?~=' 8gv{kӰ͔ -kd#`DY[7 C0 C0 C(3+~Oo'=r/d!^@jd5neFq3:n3ѓ'zPSW&I/dPFи<jZ!p!TdpΕ:]-k+~'jpPxW}^xo6 4A2lhP0j_q2j}jv駟+a'NTmVjx?Yhg2k,u]]v &3CF8A 8/e:ڨg\/@"' ȇι{yk?<bjZ$h>%|a3QŨ=X]CֳS0,-`!`!`!`իeI_!ph+s#a@HC$VѨ'#E$\->(p&?< PC?Q`Ժ0E3&AmXBnVIXO>Y $o߾|6p5&C5ʴp.TI&ѷStAdDu\`$$5O|%r#ϖ!-¼F+Q ']a>Էn82:Q:ma51 C0 C0 C(*[z*"PC " i3[o{)"1m.qUzGb0Њ+ ?\ WH!`%kpV *b7@~`n-%ņl[}7[pT=Ĉ w 2Da/aS?o`v4 @`ԩҥKziӦe~~[N9 '|R=5!)iSO=%gq;rQGIƍtᇯ+W˗Gc4iYXQF CEEqxիWOh 2)܁Hc|iӇFsbM.PȇCx;&)9?XD"ɇ\;bvݰYx&Ÿ5/eZ> ^{a"ɇHvp!vLF%u+0 C0 C0 C` *eF 5p^#eT&4#("HzH5p= %zyJjJ5';찃jt=zO6Æ 뮓>:dE$hzQ]o0p% GpWu_g:-F/JwIs9:.򍋇˵@s+gԹk ,q2s\->̮#s+0 C0 C0 C`#Dǩ`F0*kH}EAhK!8eIRB)֠9"FhO4[D<|lO}w9RjVu"PR0{'Lk Cb"@2$hB5L[lY懡F)F_j?^IVQߛY Yy|!f6GrꫯVK.$at}JdСJ%4ȹN05ΪQO'ܢ# sXXsլ浛f艊s0hQ& ^]m`sg+|4(s CڿdAi !PxiK2|pE9C0 C0 Caʏ> Tn#H,&"'ʈXL9hD\;D`&M/Y 0!(c9ݑ7jRC Q `u0* ꇟ9C0 C0 C<)%%>/Ap9)MIy{. §X]!Ѹ> i p?C/+ KE쿟ԹZɀ9Tp46dOT|Ԍ@Iryכ;$NW` [w]wm ͲQFX0$iڐyL>awq>Je ~a4=^ynʜ$ 4vXݛRF?%|=5vi'mc;%8q751Hԑ13˙[ /ޜv ބڵzcAl@?D>$7uđ@ZM>GLɟpa#3GYiŵ x05:Q:ma51*<C(h`!`@e@`cBN~$LbQ81>]f>:#9!F =p'RA7JQFR QGR)q1`?eҥȴidwԽ( dW|Μ9rء|,/lR~dW7 2"@b^7xjy6 ?_ !ÿ i׮pA^xAn&m^>5ŨK-1s\x-i[.Be?TR%>JGsc4A #$OJ45:*xdA4D{ig(cI,g|}h?G[ז φE]>*d袐2\A$>Aj5eVCB#4a@d7 C0 C1]}{e ]|Ɲ(M'J(b 0f Lݬ+Af+H(>WB@ȃGO!j}⟽k }u/vr3f5:~W+モCAHYnnnJy֬YҾ}{!{w @a0*4wy)ԤIy7,!"96bM6lO1/=e;Q|.:8壏>'xBt(Js'c$t {Ӌn‚gվC iiw:X:2ꔃDEISN+WأlQLT66WѼGn]E jp@Q/^O#Ӌ&;ŋBΈj JC/M|:VZJ]DᏝ|}P]5>,Z~DH/Z"FGq [9Tu$UvmJS~i-[{y} ?ST(U!`!`@#dOI1 bJj؉A; t(RKo)TV& `fBR!|\^{yτHCpPwM,Y"}nIԩr1c|p{%r|xjVZ)Wg!`$F< zjR= -"_|q+RI+t߿YHSNZh!cƌD!'|7N  .'=,A@t+6CT \7}P| 4?W%U5ʺK YI :yCVs] Zl'uZ ?p&E#!2LIe)Vʕ+kx@ d~LZF]KZ瞇E1qnvxnnf{d )騾N[?CT킕3]uN s=~0dmF뺊10‹Tw]X8]v3 C0 C0Y1Y>UY^Nęy\:t iKe~prb&i o Dy.|WmWvRv"L@!5Mq_ y*dyȃ:HMi8_m4a_{]W(@!@7|=Z1JM0j]wur饗npmϟr+ֺuk5^{mp~J8qD5H5˗vٳeԨQZD!ct>SEmTZ܃ !JvBs@n%D8hiNGn<)r$:?*l-8QS={5-Fht"şӈo ^!Owm\K5غ?tժU㑺C=p`8Wo)5Jsw}\}:sコ'>}ݧ$ː 5?m۶j1k@'{=-cx=>⍶h(à iԂOvT#u"w" |j} o5 C0 C0@?d'N~+ 0Z+T<.q*j!\g>C.,f'+Ϩ^CwETڮi3j j)䥗^)Twr`xcG)/fX!y 9F$ƅHJ9R8vI?.a` 8P*}UKK3Z]q5.F駟*R۶m1,tXLOYYY _:tиq_6-W`H#}CQ%7`*Ps(^<%.KQ?Tסu1k=CUgJ1.]߯>$KͥFN[XM*$`?IΝ[o-䦟q@^) WJUyQ09z:@D.M+nݷh8@k)QvU_i^ot.[?r ':ZI& Wf JvuWi޼bH `gC0 C0 J.S3+ ΓEh"URjdQ36)ʼn91W~# RYtDM54Ňf*B9h|p+<8 *U&AhHaZZfPQ6X(XYd֭'[ԓL m%I6rޔp_C3쳏+k]`F%{CjhĻc=VH/vmI+V~g9s#owQGikV5(7.|a㏗nM9~G^۽X~Es|n\XL/@?9:׎Bw{MY;rе[0?Eo,;WZv*TƔVX'g(T|QDšNH#2% ;QHeV ϫ~U_~ kNӅ]Է~ţjqǎ\=SXT OHcp >'p;Im[+'|RMv})3*IvI~Qjjt$ /!`!`!n_O?]P\wM!tuw޼yRF0jdPL5h`}M2C>ԏ )8d UGFP / s e9dBYHV-Y BUER52nh/,umr ep)wNbtx CaP^R| z#3Rdf!YXZZLEh)ն.L`˖-SiQ32a0>sq;{S3sgSO>E׿3ӃؕW\ ֫+Ul&'*(UVH|'HFGsFY>uGS'mJs!O>d(И!`!`!`DZ_"-[opj|w&&t2eW^yN y1j=CB4EֳgO{p4hB07}~Y0IXd~@-EEÏ{&B`eO2{r,ᅯ^(wɩٕu/f:\xV'QA^y#C5D*Theț _߉j}siȱFʘ7ƨ)Lj4(dwvD'JG7 e 鴂] w3F?e/ҢUDK5@x.cs*c=;_}elo4hD$ R#R-&)؋즛oWL䮻}a+~m3ܹ^%;ﲋjdGa\h'Yf:{2hР(![dn'D8GL'#v˸qNSCEҪU+5W-X.OdBM/.hl %^T*^3@X:V"SȴeM]T?$В%- Q@L8n&xX&%^F%|+b!F0?^h=ޑ Ot67] ¹K/w}Wi~Mrssmz0wީC]ZOid/su<7"]:)Ƈ"Q6@M/,gs_T?Z{wp(9ΰrJ;#( ĚݷKs0,M`(oL.* H:P'J\gc2VZGyD.bM@?ӻOvaɻ0]2Ę>hzaT[爲a "sNTQdc=/(EB:XX0 C0 C0 CT8 0@pE>I߲ .]ȴiӄbJ?#0. ٮCiڴBd؀o?|m0}[_X(4d5}ݵ?F|QEjl2LC)A.jz԰G|>|܃qD8f-?T 5g`Cn2}4^{ >l9.XXR#R)"|I>nU_sЁ,ڶmvj-e~ et Wcu_/}%͝;WWяf1HѭNSLW2 DڈoE@bDBlC0 C0 C0 'Frf5_H,8~e4kH#;vT2Z2 q9řG^p[(2=ۉ /j>SNy<=WtMl%~=>G A {% h{}eᄏ|7܈D(!`!`!`o½[͛'$]FN:P$ؙg)+Zb+~1ơF$øo M,r1ƥ0oVfb3_%wmU5"SO=V̐gXl:Zj__]% $ UNbzA.p742kN(/ElsB 坕0#H-)GWlm*;Tr%cWp >ܣL BseFCI$Uc3!&^'hfq{SfF]!& }Wdsr\G<2u(1IM{wAe#`DYjPA ΰAw^9Ҫl27`>׈J] "诛,w:py+i>iѾ}{Dhe*Q54&Ni9=2 YEݣ*(GRL/ `6ᵵ!`!`!POFStxHlѢEhjYFӉz*d5;AS.p1 LtLɨߵw}7~.mY.XZjqnK7*Y3t 3ܭ0 ]ӌRRp|p$O2:oȲciZ5jhXn$/#. he_lq(C/}}f˦MH' @qys!:9| xKjve=ӄrkDY>@b˟t|bA8楋c{;N#R) 3F/V[mUjF!ݻw;SW-\G}GƌyR{k{'d G-u{J@Yk֬hE= r?x}*v6 C0 C0 C`p rKzLMDZ\:餓t0X7H߾Iy4lP*y(]֭[d [AAE Ng}.ۣ,?(S*U5(g}aS͟B4he!`!`!`VH(8ɑ#GD}ҥj0fX"i.\(`]5o\I0j%r4H\lIW^QnwMAZ%m;Ύ? ͶҦU>v)H$ rhQ񦸿hdfgH~gVX[!:آꉶ` b16؊kS.s`Exv&E,Br۟BQVC/y Hڶm+cǎ"{nEӋ%6necD(=5Ҹ6 }c1.2Bn9@ C2ʧr@.42([8Qe(KTHP$a`G{вeK0ߛBTEinʔ)' Y1#/riIj<;#b-LFGGS D?Ӄ@CJtXr%VVGPOzib!"իW׺є9C0 C0 C0 5)pPouʭ*smB^k$=P׉1@kNun& Jv5j5O )Y{ +u`w"#Hɐ1FǣKcdqFJZ8a~1"L913CrYRݴ7gDV-yxz^[T(iגY^dq=az A߼Q\!(dL!8`P:7 O?qE>8(2)Q08.9眣S6r %ʮYL/Q͙Y? +" C0 C0 C0 ܻ+=8 4haI`ŷ~[vuW>|.BIlx0RSZ-Z7+"կ_?Y|<Xv1ƅP_.=UرcJVʒpS&aB"JTŸXJnLA|D" /Qt2ƃ $A4bVcY_\d<` k9A2D2%BUC/Bf˩`C $#^xM:uGE3:?̚4i껜o b\D$|lTA엚{}4.+Qmr)??v3A=ONM/&ߵaZ@P!҈ LVTDࡇ mG Ơ6-"G}d}oU9}|gڕW^!~0 &sϕ]wV2}Y4M/Ǟ2559$̨Q?8W$3 C0 C0 C(G]~#EW}g&M$;wֽr{ 3iŃ?idǛbdO?߆4H&%]aac=řkg|r)~+>gvB]Zjo!|N eꫫ~;T&NY"B@j=)paNm4 V ؙ6ë*Ap-]K NiExbz%[ɲK=MpOm͒%[ub1Fׇo׮3FJdZ\J$S2FR˟!Ma*/{KAP"t/j/]vŃK\d?{sJo2 \ `DY괅դ"@o_~UzKqZIRf֬YBSwaMIj!`!`!N >@Kz~F: hr;TS`\=w9߯X*1jQK ~{5خ]5oM(8E'|R[&<\ /2so2 +'Plpp8*^; 2(#NX2^D 96 jyG͕;)Ȍ48R/LOW/_W.- ̰lHWxmmj2UeP:/Bd>G0};7#se&eG^$)#?, RSmC˵̃Ԗ#}T?͠k~ H3i3ЏX~^+=9M?'w{\Ai !`!`!`!`4յkW%h~ĉ 5h㨣R4HVZСC/ֽX-@믿\BI3܄(ln0|5IMҴ*fd۰aÐCLXW&϶YWd/ac2HD锤C漦Z}dS~ W/STePXb(0bnwtY3fr(_\,| tg=:[HoHl>$=ɨ߼y ʴ4=",!\vk+6'Ǐ?bA, ٩~s2˟  vn2^Cm(\* `DY*0 C0 C0 C0?jzq…6rȄ8(ҥ7N5j$ P.M5~7rwĒ&y9S?Oݟ4A02^xZ>ս{{%Fz'$/bxװaCywev?bo3(]BtJy' \qUjTo@? qF [ATR|;D"ˊi˃X| w8! Tov%ޕ+`9p Gږm#+h(OWi1uDA0qO2.>[?~^<.wM͛eV6%QmNPK)ykh"gZo%qE!{&||# kfQ5IBNG䷁0 C0 C0 C0}7߬D]dk>(RW\!guT*{99%;;[~a?Je˖ B­1yW!68f(G:1;v_6HЩ!' n^(t(ɪ!5@XN&ēg$Nx,5( Ko';p!%+_qM(x_0GEDW m^E$>\$έ*?'nYrarZ=vkt#R(K!`!`!`@!3k޼#[O>](~f+V1dߖ^zkFZn0OFԪe999 nNO>G-ob(Vݺjaew>-(tn[eRQd "YI-ZIUy ##/ ԟ~$Zi.'@ptD2WZV$+fڔkF3C9$[^'Yǎy2w.H28o^iZi=#@`dF|'4μ`Wt~l 9/3( B-jPnΏS[^Ϛuk@?͝ݓQZoeVC0 C0 C0 CH#h믿M."Un!${x 5Js ,jPl喲vIFdgqֻwo馛6 YBӓZr܏m{H(`.'Gɲmv=s~JN&Kez 'ޙxUjoE8QpX0M!#ʐ́]0B`X(pmœqT_RFBmk=%=]CI ҿ7ڠonpv Wvk>+)G Y5#C?2۱0 ykd~8ikC诩4/sC(-2XQG⣤SbMڣgZ`iDY*0 C0 C0 C0*=49HӈN~e$͘&Œ90~VVVSX:tP9u2dkdd%K@|'qU` #芠12 :|PU$*l}&E*^tU6dsQbl!v^Ӳ0&RFKDˀ?WLF(7,W.)؆jX5Bl^M%?'hn7IF:IU?vF]cC?!#*r'/sv0O敉E\/sP/QA>vvVϡs¡As0,M`0 C0 C0 C0 C y,^XnV0`6l$K^\Ԇ >XUZj)V,,ټZ"n)XVKVk78\ʟU!4$%Xc"Fa=i1N/wGpMx"Y2Jz&<؄xjyNјKב$m9sWܦ4Z׮]7䞏$|sB={7h6׵\V \2Bدa.sd(_~!Ȼ9أ,}]5eѬqZ85VFF3 C0 C0 C0 C 6muYLC=$999)Qùs!"~M11c6mw}R/WAMas$2!-ͪ*Rs+}CNA4+wC; BH5w?bLLY.#h걫EnyMn»!k4hQy2dyyeH=-U{ş.=RU-&j-W$tMln1{67OhI ${O)q:B\ jDX{v"Uc90ڢ,isxW^%-j?ܜ4xPY?.[D~KUx k֬%FicWܯ ԜZFAU(Z/SօY!Ӄ=N܇BH@P qf*59gB+^C ݵOR eOdjR VΒCT*W$nNMܵ^+NT{KzuF?fGʋzBc_c5pf$f¾ᮤXZ|C~'x.^Ldf(KkLAF6"Ij.u0,ujb!`!`!`@"b ׯp j"lԨQrkַ0<蠃?P$|ȡ믿.5j@]/P(q'A&%V Ι.1zмABL, P4Liע܁g$&[>wW vȔS%r$s$o۶dn1AXdܳõ;0g*R^}?*e/q` 4}4>䆷0;A~i,mdϘʵ?˯ ˴Lhz.`iĵ>3ۊjs)e)VC0 C0 C0 C0e"{]vҿiРAV J_*8yWjUlUݏVʒ$""m.S)RufO$S=(RQO\Y2xQ9czلi@Z b$Bx,|+/X!,6kl/`ΐ]N㪗G%J<'q)ԏpMF% z+0 C0 C0 C0 "@+&o%''GZhBjҾ}{={v{Q;vss&}QyaH NdeKu%;|0^]I@i+$BsF\Ͼ̈@c87k 6]1,\X Wk޿"vb7袋wZIo8WV"3-iDYh'!`!`!`!`@~uEd8 >l2d g9NyhR*G;MۀФ\b 2"f\{*|f%LHudC;E5YTTe%H0N_8U5kՔ<=8ir7U'|L#R!`!`!`!`Nd p(S4{ ;*r )XgI;vkoC:wrJ_ӉGȠ p\dDZjD*qyDŽHo$$I^wx pk|hlU4wf KQcGOڂ$;v$$Cz-wv# ϵ?jDWr}a?B5-Ln$/zU55D}3ʿk^QržD$+ͥFN[XM C0 C0 C0 C0ʈ;#;w7P,q^{yT/[)+)0bpU^ Ed=x]py1-ShΘ8 [$EF 8LZn>gW&ƿH6gcқm-gjxΙ[̃Eh%b"(/r0şkO._! #hhc ճdi/w r)Qm{tQ#(KV:!`!`!`!`l0cǎc9FV\<;@A5^+wq[ 'X.E_,}GP:0VDyDCr$|~orJ~9/'GIS-I1f,q{&sUPl4W1V~$%;2D ۋUq< dj(sdnO2>]*d 3:#<"^Dgor 1%: GHxΖȚ+n-0W˞O8ٳh ꮹAi !`!`!`!`"@ nݺI^ [ol5ݗ`z !CU*pzQ@l{ O+2_Ο sYVA8EyX9I!LK(p/ ^F{M8fɞWU,L5I674\_iAhęu$%sD4 S+w`" y2\hۖB~ѣ4,n_vM+#+]Fd'(eFLj=eVC0 C0 C0 C0 D`#SOgL, [jZ IzJSR24Rn(BvN "U$ w]; 3ޗ rc袋rr}Ǎ+ha[jw\JH~â y_^e\^R7|tǏ隇\T\Zp׈4,Ϭsݢ,z0dw9~jcOs琴^Q$['RFdS|&P+XB~o剩OȪt#0s ą-&%m<+i墑m~mkpO>d0`f֣Cӱom0-XP(K~p6$@$@$@$@$@$@$@$@] pw駟.p= 7|{ٌƪ'_5b}^9D #9* .l ؇Y/VU CZ x=mLiβ2ӧ m/|'> ի{#&_ԩӤ @=^x=O׋1 eNHHHHHHHHn& sR@{^9Sr`6T1*UI0rC B#-3c,Үn ,\ֲ?smUYq^n5pŎUd1>ݮ_~e3fIuN*d[pL_=;hPLHHHHHHHH H믗~A(KJ/| 0]UOjTE#zwu*A*Lкne&dE6- %ANCHckPysIeߡ|<+*8KLٓ 1<e" wO>TVV"@݂@Gyo !@,5[ W\!W]uU^裏ȸq򋝘1 PfӦ_&v@ЂԡWU?ԤZٴMo{zG{ӳBX5X.}zm7H-ZpYhU[yhh2㧂ݼݥVk뜈Z+}"1cÙd$;HNo @l5}C]̐R 0a4u_K&O~\G3sYa5h6 eQdcb{HG4RMFwy݅m2N2)* eEIHHHHHHH6;O~~s2۷L2E;1d  |̈́Pf @ PLe6No*J֪,mҖwDC^4#3sʮXyl2 ?S;j\ߔQ܃KO<&i:rH,3 dH"w e΂HHHHHHHH`G3:KnuS^YO?Ɂ G߰gLR׋&dQ* nV_*NUP Uf3Q k2clk4b~m fYqPi_;{ž+0{mxY10sfxOIF,[Itt߫~P)M] N;4{> ~Z#RB{ʃ@((zK,5>k|5 yhAMB1ۡ9`Ub60O)Q=]Şj#&b%I6 y''+ tS*?^F,]J,]ِ lB---r'?Whllu^iR.oGUXHUp.*B sr_|xu7_|*ua_ju7tC ai񵾍-ː_!_&0,'d1/"FLb.,{' ˹Q(*A'       VOɏ?a4h/e=(z'5 lYWzO\V;i *W&VfYXFu6 C]j@#]S;Ę'YgV! h &Aր`iyv|Mȿn>TMvخ"RQ#eԩRUUei^HXâ,,BYvBY!        䳟O5 N;t,e]7,򇘡ek$KVL,v3ʆ P\}"-g<2kZUUVZ]\^J޺?O<-[ou^H̘g"t7r0D2|pk< ZjѬ\kE=?Q [zYs?jMg@aM G6P3Ɏ,ɪ, ljuR(KnS(K~p6$@$@$@$@$@$@$@$@E"pB9dQ/OorpWxAИ~VKaqjA[]x*Z&!7D6U1ƨL{ aӆ10 %45/9dRĿ^-lKaLSDFl&\wx>-R$Æ0l"7wᝊ(CjP(KVp"$@$@$@$@$@$@$@$@&wC9sMeԨ'I~ V2jP A8M@(,4mpAR>FGX@hTVCKS||DCU_W{Tٶkbsenqҥ@9RN&M ye7ߟ#-{iuʺnq$@$@$@$@$@$@$@$@@MMr!2~M"a#8Bx ӧ&QKS Kǀe7jXRQ?Z%mgeQ 34+"oQ^V? =yj" oV &GDmnO?@Ԯ!{[\dO-^z ]8,4(a8        T׿%zԊ˝aG}]/BXUIȭμ2m- @l@^VOe%OPӛR(swced#ԩ$3zQkh!.^uːҳ @2e-2tf㎓~H :zD(ZtŒyâ ]I +;\w5pb&aH||T 0Q6mͿN(`?Z>c#&jI&2R-NBcf݀wiB3{!=(g/8        5k\ M|O_JBIڿ :HM/m9rp`/.a$V@IDATV_}8 [H{S4j\fHcS)M3 YZ8ti==£`>nmy"GK2<' =@/^3w)CZP(KNp$@$@$@$@$@$@$@$@$Sƌ#yW"wu"+\zj(CGĮث^DH,я&D1("Ȁ{P֪eN ,4 X5k|>)_77˄WW,li^c#[\dR(#FtX{027CZES(K6p$@$@$@$@$@$@$@$@i&M>飤~e2M|<3[oM:ZJ^{5;*N"d @z12j"~lg~sx3 .YcͰ`AJ}& .M1E,D< B|!ϳ*hPbPFp Q02Q.427}1Kȳ_^a|67y0E*d-{?,5BܭL#0fGySereT||xm]Տ+w6bǎ%[$,I d%8eҵҵ @ L*ֺIjQfRXu9UkQ5TE+ !ϴ,@Aq(n(!~-G[~iof"5UE&i=TG/B(>/ܐ^R,S.?`lwnsƙ7YV`[!/5GiŪmmZ{Ul̗#KlGldUUUz<\WjNRCBYj!       .|A9SgAy_KկX,cBi&wuWHy3׋ڇ}>U fQ5ro|x$)M!.]jEcۦc>hc*a>9}C?ڬP";- gEٛytvEYڦ 1o1wJ4w_exZ](R}wE(%رA$ST$:uP$Ó@N j/dRJ  ei ΃HHHHHHHH[{L%,`РAE+l6pB=6cfQRYtA#*#CPj!T/G Š!A` S bڭG(E}X(Ӷ&V&e{F'J2(QuA։QmSq/A뷵項;.j|As,,Xudn0Bk0_IP(K6p$@$@$@$@$@$@$@$@ݑm&guVzkڧE}Y9;\jQf1XwtBQ(yL,oW;Ke3˳\QIG[-ZA4W77S*ElzY4E]/<!!lw~ZyC[O"eS}ˤZ#/vf enIgwdޝ462l'B$@$@$@$@$@$@$@$ _`S $BDowtM.sժaGUP.ʝf"GW xZ[1WM8:EpL%wq^zQ]#br—e:h{< z l\W <,Dl-X2$dKhIG `/Y>~~N$R i @, 9 t[gϖ8@jj]h%*R:k!2w܎jȌI %TMЪAPFzF eK!{GYPF4̒&^Ep׈4,sOAK!htPUrli:geT(&emufY/4:uv;"@7bF f-ɖhmrI6gm9VLp+UߡgOZ멠PlHHHHHHHHW^yEƎ=R-|եbƌ~Q>C]/F4. C#½r,4KPzieGf^0y<'e _0E83ˈPGWe2 a? n1f6lwe^4 ay`]ۺ 8~ݼ?.WחZ7T(3lXYd჻iӦIed X+{owPBE* eE!IHHHHHHH?^Gu[I$g6!]Z]/Xlw3CA@J=Z,kz?jf` 651 )6ȈVj# L mM+r\/&S™b7l8\;,; eE\-5B d:G#EuC\/vn"$>B:Yﮯ17 e 5"       R r1Ȋ+%AJ ڋݓhiP>}CP6 jKaZ$, زHPn-䌇q/H(B(zlU:. g7a!^e*%!KnޔFi3"bkkt X=%KUMG:k̚5KFmgQ,SN%ڀ1pL=ɿzw6 !@,={ tӧOqI}}}!nP$urKz-e]rzR*Q{<źK e6U}D8gɘ>Z譐F ۡ C O? 5h&!ڽ3 5~zY20K3Ə0׋B eZi2k_?_9y|Q%-',ɞ|IׯqH`?*ȫ'L;RCBYj!       ˝w)?Yژhe*N},}57p|;ɫgLdV?mjeb uHIj+c_kU ] cfL>11N+Z]moʊԶ%*E#]<]+*3r[:6Q3ZբgP..Hs6Ir(mn^ zKHX-UKuoGLm\_$˨%H:eTUU4 :^Vw !@,5[ t'MMM{L>Qw!_򗘴{FmMi64ľp—=P}&EmoкbP#$0ʢFM\8 q*e˱p{)e^\^p8E' B󯟯ϑ4I0okZ%XQ#G $>cMpHQ P(+*~N$@$@$@$@$@$@$@$%?r}457C tii.VX冤)Šʬ#F &]e6Nq j! ̊-{16gGK8tRfnƯ?lzq e](C:oq]ܩT| H=,u5Qk$ e[Hg:G 75- eD:ұ B`…hv⋉R_L9ӓUϘԠQK\ CQw:R!r0>槐yn|UGvdGڧMx.:>Z"ۃW1%kי+ep.aY4|Bwf4)X^[97Ԉϛ$ x ƿv 4{1V|f|YpѢDV׋n*8!_WM]+啹 gW?l T8J+B_C- i[7^A1A_ǰeJdq>>n6Y^n^YS͝,+tqE\-׫`"Lװ|jz*VJ? :QB<1˞*|5 -; -@@f܎ufOچZV(?2Q{w~zkpq. JeJ3SPmjV˫2z,Fы X_ *bKjb޴fiX~~ִ̩ҭ_e`{g!ܢV7/=UC&}:eI:xmOQ(} ?N{ TOT(@rMb[|y磍럌vY>:.z2FBL$D9/œvP۷;ZJyGR^E~jQ;v~=ӏ}4/Z[eڧ5IѻElao NN)'<x#ъѪw- Zsn7\Ύ?pR ?bMޞ$M8 HR v~ {1) hzs$@$@$@$@$@$@$@$@i!0C]/BW.w&eVAnfe>L2)%18[\C}&p8 uMÐ*XaT h=mT+PVmwu2U0s\/c)&s_gYCԦ؈ B9o$@$s P({ϕ @FjS#ӦO&m9r JnV^f e]$8 $4Lh쨥E ="3_@mr|s=C̺1,߈)/,ʆ%^bNtyZgq6__b{nԄhֻK*/$@$Г P(ɻϵ @P4\FJ,L\/"$"bH4"V/^֪ec a+TBfRbj<# 5~^"d[R,S׋9YI eۏhocUZ8/46fYR |#v @&@o>N$@$@$@$@$@$@$@$z2ZA/2LӪiC#20k,Pɳ202ScheBƯ; CAًD׋[EvN}ܩҸ@~_mƯS{ؤ5e pz LX$HXqD 3JW &%z12CG1b\F4? bwl4m&hʌ Wty^|Tͷ?pX`.H"FiZ%E\?B__?,W͕'vQ]e PgHHHHHHHHR@BYЮLαs 蘰a<EkP.&mYfQL9QjS֏),]Yi7܄2=,YጲeohZ'V8@>oj^}hp3P3;%Y 8#$@$S P(;u @$( 1%>ݪ*ZA ye2"}~E2AD˨YYu㘠> i>P_ѰWeb2dm*EYW[F߿ ! yӚaV2mې&h[mBgeNW NBYO~        T0׋*嘨k$PjHv Z+c򺸢 /2׿]Fc!@燡9&h΍k@(izzqٛ`Hۢ,ۯpXZEWXsź⮿Ԣ OR\ta;exxHz: e= IHHHHHHHRA, $Q,CK+BTzq/G h^4: 5%:rhV Q[9~aCmս kyJbW&E5\#O=|_K.DMfLsr9… x˶+P#&       HIhDuC~TL*LBӺטl2碗z+Qå0 C* 1 na! @hhs:XeGJyL9-)'t3V\)^z?:HNG>1@cc̛7O_#ү_?ie>e' @ݑk3 G(ajeb-HbL!&}8+jnWS5_8moJ_UVyxhO~0,=ͱjuNDZbo/HInV d{Wsύ5YjTUUI DM<2i$ip:e„ 2&nv9drM7I'Ծ $-P(I l'6_f* wT qʅ/hP) .]q B\AAA=1w*eT(neRM046Ľw㧏|}gAijA V(wiӦəg)F;jjjG?o{K//_1C qkX-]T (;'sڻ ec8K        -,rC5\! R.Xxew:фZHCBcI`COWX`'r<V./J3{WO_4 To'G$@$@$@$@$@$@$@$S̘r\*_QwRr0(O!# j\hMSNE B=["d7-@2m&@}qÞt4qL4b|1VMկlmF{1>|:'b >},YD***^G}T̙#8k~`~#/_.]wZ曍СC;#GwG>5px9Ȏ;(=|Sʯ oG$@$@$@$@$@$@$@$3TP`kք53L[bQ*s9Yy h#D3`Ez¬H/60O)w&ٮ<2 v8|9cVKz]0w\+Ap.,BBY;xo}KNsg?Q>ho9e: BB(_n[߾}ۍ$ gF$@$@$@$@$@$@$@$ЃTE2,hh 4r5S+j !R$ 眡X+`"e+h <8ַe_4W׋Qsbjz{:WeDr;_ gh/@(+jk/e- .\P?xyem_֝,~رc?u7b) mB$@$@$@$@$@$@$@$s TOjC.S#J2;iLE0WpreF&XwQl3Pe~>ԓyb٬3r|`4)_7NId6?'Oe˖əg)?'v}ɰaðuիW ,fbvm'/X~_Т~[N+O gH$@$@$@$@$@$@$@$P2V.bx$1FђPbO&3N:Cmު*YkECW~2%z)e(A6XJ#kkZlom_uw4^|d&xq&rٙrJp- }f2~xk/S ,c=V^~eW"7t 8p YR@BY 6S         jQ͸lhISLHACrƄh%f_^hJh.۲ ]H36MBCZ+Ք{wخ*[qAiZUO~b~ɹ['ʲ;Źm`n+L2ayrcN8A~[o->|c,0&浾-7v=\5 @̘Z TȀE,n7ʆdaHf"f她^ۚŴx~_+Њ8 ډ]קi}(68t-KdM8 [g BYss\s5vհa;; STPV[[k<-Zd,{99c|z{H޽娣O}S}{ߓoфorȜ9s|^{1p8|p9o߾7v\Adny />}l0}M9c3}1c\q3ȪU[}ꩧZ H̞=[?xyeʔ)2rȤ, e%v$@$@$@$@$@$@$@$@$P@qFO14YwDqjA m ^ fxMSM?Xu xw2m.a08~:׫Eڰ{&zW{dDJ-ym/^lC8;+BY|`O>Yϖ&w kc-?iy3ϔgҫW:_WI;V4hɛoi s=^\_WrEG?Q?]c$I: HHHHHHHHHբdLY֦JĎ~C AZ՞ g$٘I!Q{bfkYRIMD K6MU_Wӌ w=,l)QvMU({s58.wJcp: bd=g 6\f:4o믿Ξ뮓SN9E汬̬Uaq n 6}tfm䭷2 Cj;~ $UʺJIHHHHHHHH2 S&e@Ҏa7TEdl(\4Zd̊YƵukP~m›qTI?\/V^6v"V׋쌪޽{w]qBٚjkk媫oQn;΂eWW,:(zk.[%%|ry'Kc\89eSO=%z6=SpN]"@KؘHHHHHHHH C]/BW%*h4rT;k,+:" :Ķ؏~C[ #afz(ڧU[Fku\34j[|mÓaWMU([>B醆inn"_>`E_~_; O?^]!W(؋/'=#F᜴f:KnO?=ok))΁CBYkHHHHHHHH fE6e\-eI,S2fQbKa.bAUZGe3A CB4CRO+i#nuzFR6q55lgiĄQI(swog ~{ r ; ,`~?,K_P}3ΐo|ҷoߵ'pYtIo}K>Ⱦ+=NkmX6 & P=1QfgEArVRK(.AA !CA}LbBһ mZ|*`DZ+Oz+s{FtR~ݤU$=r *See4+,} ` ]xgu%O(ݪUW^vںxJ.[oU &Gy~v٥^ڕi- ABHA$@$@$@$@$@$@$@$@@P4 /H`bU1Q$2Z~yY77. /PYXZ_W4Tt2? Ӣ,>Ν3<#555*oV[m%G}ۗw5ϚP{e]fgkC[P!}ֹ+0amРAl2z!VcLBY        :7ނ^Xs ĎD(Cj]ApdZ n!;#3xCB:2JlyG?_iZ}pמ%zF1IիWˏc΂8s ȭkCZ(;/s~_IyyLuH` P(`TH$@$@$@$@$@$@$@$@U U1J,^*]жpGEv!S5+3dh|t:3l4nմx_pF nTvRwQofeVIE/z,.Ldʕ&@d~83]mm㪫'ڔ)Sr2=أΝ;WƎ+olvvڡؐFB0HHHHHHHH6#?i&\Z GA=Z fU(D3GIp4cfcfUҦ.d7k4m6ga-lLc3;Q~NP,>oj:sPOm޼yrYgɓO>)GnMvuJH{c̘1sG!=l6ɛ'?I={~2}t9j n(mő t3 - :QzUD_I`CyeK#& +^iU``2jd|/z3nVFqT0D6@}#6;6'V+Wl&6 ^%+ e_: Y`2iҤ.͐BY>W^yE;8g-]w 80R'R-~_|E9̽cEE1\,nF9sM؄IB:HHHHHHHH6Y?oU@J$P*]"‡ 3h:MeZ*X_XA<53DwFqHSÿU-ޅԭu]hi|S-IDATM A Ow# .4nyb>OISSҿuNm{w>as=͕'d֬YIXn"②P+&       H!w[4,&RYteWv:e, TAA+"%8،!CMɠGk&i(2"Ѥ!:VֆKS|^v/uclkآSU"N׋pK{\EJjjj իWsyGL.W~ w޲vIԱ,~򓟘;˲2c2nܸ7 K,xĸɰl2;K!Xay9eΜ9qH6l0{ ?~}݂笥4Ojgk m(mU t3 M .CCe<+p|ܣ+S_Z߮Mu\1j5+ SѼR^'8hj,8c-&FUvB+vF6tZAiwoYN8b­*B < i'쳏 X *A@я~$^{H'Os 1o~#y7!vqW_^x\vr! g7jW\qjrmȐ!ۮkm(me t/o$u¢ .e Ggی<2_\h^qD4C][5jwg֟!De4 7>B*z G}uӺgebF>iٺ34q!|mh;L yz]vK{JnOӧ{-ʰG l_җ: kD+1Pc %       H3yӚd+pohz/Qs ~SE*׳F [aY瑙 ^y4^ch^xEve>H7gaYxtGe3fl2 epxWʤIgKA(;r@F7LB Wb(ҍ*>7o_ķ#8Yy57<3ľo q.87$r'sc_~PC&@g?WO$@$@$@$@$@$@$@$[z):)hRYs8Ve&o>!@ӗC[iCW"L$V/ D4З8%mҼRq?a8Tv5 /H<@hv饗5\ G^z?4YRva]^8\\5&\$]bW.b6l١*-gс}=RYY)`г P(Փ [dpW"OG]XzAUR&;|Q%(hֵ3 z~qPeڿ\hXy*h:njc>OPdIAunaUV{rd93vmS`!ӳb L3Smoʊ[Ak5pYh ǏSMV/ ݱjEIEF>qA$WXkVFmK;sz'"#C ٳg ~4}l{1ZZZy]ߦO.g>m<}]ݻuwnoV8qz e=kZ        MmT2yAz UI hP?nELCx>'i{sǨԢFg>F㧌Zb4~b̢  wyG&L ~W f^)>CvnomvtʕW^)zfΜij? .0]q'+BX`f͒C9tN<9vwvK/$p=yQG33 P(U " S2 ApE+uSl_"exebz6\'|!vyo9MD cZlֵ7؂! PKȪQƴ=mg |#d'Kmȗ%hrI'm;nM0Q !`5J?`u=M7${WAl![_fo4K믿<D9sA$#F)SXY!=눗nKBY:NHHHHHHHH`K#zSv{nUq#B˥R53D?C2!Vt6򉕙0bn1[:W[؂l^huW[Մdz&}zɶ.vpwe]&MMM8E!{{>0! .1?p[#HU[[+jzjyG#<"?|_#8D8/sęgsεw_6l\@EPEo/G$@$@$@$@$@$@$@$q_/(FйpFISƂL =,˵"f;G-.L| RfHSK1mBP=i=x(Bk6#e"uli {湶[vcFW_-|/Uf FX~fWpTPm$HHHHHHHHH ,}ENnVy*&ZU_{=Oӽʘ`AB]u}MxH!EzEȴ)/6%"ь4/k].-s@ݟĮ&Eq*n.]T`2!BPSP([υ @[_Ia>ꪨ0YТaDZʽպ!L "D¹cy"#N@PD7, i_Xq|E 7ga)6q'{la[ ;kJ$@$@ ٭2grS7Apr):aS`=5 |H)-C1LH/.`HfR̓%mBzoS5\ 16%}ò6iZ<KDO3`E_d{` $@$@ HHHHHHHHH =f(2x˄/sMR JHIyFzXVOŐ1nF͋`?f5{rą4_ b>V33:3ʿuHr~ 4? <p黩W쇦d) $(%(!        S$m*thaҔC"J!.WYNEJ+¬2#e}ڬT۪X hW֯)>Z-g +i>x1j_DPZ"ZN ٦^9wa٢P eFZ!E' @> e<"        X4YjjQ TPQ?L IiEFJ,SKbQo0BV]&bg![̬0VԽ4ͳE$Cдϲ(T*[qFDQ4:lUU*R6ҩ6~7C*m?j ($@$@$@$@$@$@$@$@$5O6ˢY-Qo2%ɴ%JLA{BR.X;M>ta2 ,cbAb.POHH= e0M$@$@$@$@$@$@$@$@)"k,oUQNC s[fYA}a]Q%CEbZ/.HǾUP-4-OȮ璅=3 Pσ)        HK5gr_k\j?QLRQ.hE|[[ng*+Z>6kg>8r)>.ǕK m2 a ?n_3T@:` ,-`!bzIh7KřZCiGS14'&K!S<[ep"p$J\2uEg@$@$1 esa. b=gZ^*RlH$2XeBXUTPZ@J y2\S Bb\_|4Lp. PaXHHHHHHHHRC%2oZ|Ax7WTbY0Lky%ϴ0hQ;CZD( -icY8P l@3vLc0 l( eJHHHHHHHHH enw7KÊD"ȂxApKkP/vP ҥڽp!.tUEmgw-d&9>Kjl廴jUSwk0.֬lo!xV3/uqr"A, (2 @ @nf=כ8yM kePVìpT巚Xm[1.%HkINXjU;,_/q;if#@ .+ @ @._ :V=fgԬ3j5}6)f%kOSl}.;åE M9Kh{mO jF}o?/]}qdO8 @ O @ @ !~|8=!~~*4"{V v>aYZ5$YmñmVNtj,ecx>1[mscd_sT׷!?޲n/ؿA; u}'@eY @ @ @`F,K%@ @ @N@P6 @ @ @f$ (ͲT @ @ @eY @ @ @`F,K%@ @ @N@P6 @ @ @f$ (ͲT @ @ @eY @ @ @`F,K%@ @ @N@P6 @ @ @f$ (ͲT @ @ @~o۴¢ IENDB`seirsplus-1.1.0/images/ExtSEIRS_compartments_quarantine.png000066400000000000000000014062541375244156600241370ustar00rootroot00000000000000PNG  IHDRv60 HiCCPICC ProfileHWXS[R!RBo"U *! $YTp- ]Qt-{Y{_,(+6Tޤ}sϙ3){D'.ƅ1ƥ2H.p'bc#:@׏Ut$ >bDZ S $ DTD3TJidžxdM.WV33 yYG&ĮbH 6bˇ8ayy C778bSCŹёj}F(1\!TQ'A=w@欑 L)**OsYjBgM0!b*P  fU$dGHqm f aA*~,-SJ"NWU nY<ٸȁ\UX@/)Sƪq 7LDV. RŏGJ bTq1xB 0 R., .jd>A" R @!Ԫ. S9Z@"@.-WzKFw56؏:D5^%1L 'q#367{D՞NxHF ܚ$*~K3x!3n|geV7yfMvW JB 8|?SIcEQo룊5c3[b iv;5vk.`xp =Voqxr \OE%e]c@0Uq>vdT%,`/`pļnn(#c~-`_uQ{طn_uqp 3xriJ+xhe ́5pO Ab@Hap=K0,+lN48΃KO'xz[Ї  !t@lg a"H!)H:92#d#R@!gvB^#Q DQ32Q&,t2Z*݁65}b 1Kcbl,K21)6 +*Zk>D3pDOg56?_=`Jp&8q,B)pN["hH'zݘB&N'."%"%{I$1əG!qIRjeR'=YlAv#Sbr1||GѡR|(1>ee e3rIR~j6u.@=IK[CCJ[cHcFn34>hi:i54嚋5jռ7FRiŴ:q}{-p-_kVVem[mD"Ju(:v:l,j:7tzu#ucttn=Lg+ۤw\[t}}3$So/ߩߦcg0 `A!CΐckpuÏC̆,0wFCFeF}4f/3n2g85bIPCyCˆz5u23niYlqnsC@lͻ,"G,3 ,F.qcijn)hfgeohUl5՚iiºպ&fMm[-Vh;;{dvMv9Ewhj:9k/9NNBjΨys00aanh\ ]] 79xx#lFX6/]9fdȖݜxnnWiݛ_r%nMG|VϞ^R./tL}f,s7;{A>>>{|ulhͣYq6u37wXpjZ>e9Y;X/\Aޱ}3GĐ5!CBBC{<¦ 'G/ 18u1^cf9&aS4% cO8yTY;s{oqaolku/\>v%ʩE_kx捴77ʽv;sӹWy~8 <=zXSgړʧO랹=;u/$/K}ug\O+׋6{QoZ{c{{mNLo'ҧώ[D|۟/JO 643[@ {RTªR<hs}ݰBn>!M-Lw7V=$P`{TK`] ;eXIfMM*>F(iNxvASCIIScreenshotSF, pHYs%%IR$iTXtXML:com.adobe.xmp 1686 Screenshot 1142 ciDOT;(;;(O5@IDATxT3^UzfG b?5&M D11ƘĮIb5F Htvٝ9wvfٕY}kf{'I@@@@@@X@`i=BlF@@@@@p%~@@@@@@%@T-&!     ,3      P-j1@@@@@@`@@@@@@j ,UF      K      TK`ZL4B@@@@@ Xg@@@@@@ZKb      ?       X@@@@@@@@@@@@Rh      @      @D#@@@@@@%~@@@@@@%@T-&!     ,3      P-j1@@@(..>HI-wRPPqc/@@~@@@v ?}YMnJ~23  R>=-@@@ ƍ/ ꔤR"dRw#  `K    Po,[TDCD2!͚5w޹ȡ@@9   ʕ+eƌ| iڤO7n   y)@F@@7kJ^@@8X@@@@@@J`*#     d ,eq      PRU2G@@@@@ X`@@@@@@*dX      %@      @UKUɰ@@@@@@ K`)@@@@@@a=      @R    lZk,EEEҼysիlړp4@@6f4   uS`d׋)iצ0nbp  y/@@@@e *e)$%e^{%sm  T)@T% @@@S%˗/iSӦMe>   &@oOE@@++V˪+Q&2`@iܸq^  @,@K   @ HAAA C#  PK5o@@@@@@Z!@T+#7     ԼRs@@@@@@V,ՊM      5/@TƜ@@@@@K1r      @ ,ռ1g@@@@@@jRx      PK5o@@@@@@Z!@T+#7     ԼRs@@@:,vZOdiQhRz!ׯ":  @> ,@@@r^`hl۶ ?   $@OOkE@@;GלTJ$'Cw#  `K    PS%˗/P)LH&Me]j@@ X9[   Jź[z4j@ M6E@@ XE#  @J+..BI$t\+  YKY,      T%@T @@@@@@8X@@@@@@J`*#     d ,eq      PRU2G@@@@@ X`@@@@@@*dX      %@      @UKUɰ@@@@@@ K`)@@@@@@a=   @iDR)=RB/%I}v@@/@9#   @?nXdR"?uH[E@MKir/   9'0N0yÆ ˹@@Ruh   F vJ%}yd7@@-.@   PƍnO3O<6j3@@,@T.   f͚KTɯo߾[@@6F`ic@@@@@Kus      ,m      uP`>tn@@@@@Qc@@@)JS"DŽ  @> ,S@@@F`JL"Æ ˛B@@ X`@@@M,0n8-PJ$] {!  y63gA@@b)qR*NKX? 6  P jC@@@rW+dIK,bX'ƕ! |w @@@)% hIi  [N`isf@@@: _]jŒJ۶m[[D@KrO      @ ,*D@@@@@jRm|      PK5!@@@@@@(@T*   3-kI$DRe:ڵ˙B@@ Ѣ-   (0~xI|PIR 6l < @@ x\   @-?~4LJ%)Ӓ%-]6lX-[n @@ ,'!  Ԙ d'4=JIfGI ߻,Zв$)pޭx]}l&uMIH6mCYmX@@@ r)p    y)j*2yFIYEE!*E,]ɶۋ>V F&@@rJ`)   o3gΔ FaG%<1 #+$ˍ|AM~) ɂ&OtU*7^@@:"@TG4   P3V4ɡ(D H C(yBPHjB=vjFT+  [`{r@@@.`UK_-X(8,IT tGx]:HڥMӱ}GVv@@ X%!  ʕ+ekIYJ$58w B%Rt/Qow6RaIgtg LR  @n ,s@@@L`֬YW PIi;)l)t;tj>T+cr@@:'@T97   P6қ:R\F$ 4Bʙlm)OA[)  Kt66yFK[Sߒmn3lnv< 2dƞ  l!kia%K,I)Iң-%cҧoЖW@@rX`)Nm4 C6Z^ˉ'(G7?\kVFc+u   PmZ2EeRfJgBr%aҲ%\ ELV*6yh   XRu켝F}_>Aܹ] `ɾ~҅,ٵ3F8܁J@@3BՒF՝Gaxg3Zii  %~:wNd< > XRWzyҸq-u)w2~x_LtNV   V4yJ*$f lX%B.h4r  A`"y2`6mf9''A@@Yd.W)y/ZL,uбVRO" lƨ l]}i]׮X`?v@@@UKoXJ;% :3hWVjJtZ@@n ,_wwӭ5{%˗/֭[qΫ߫.RiӦ/u֬Y#{챇?u&MoJn7.ZH.ye8;g,X@7j,m۶a{-G}Y |Y[V "Gu,[Lʄ ߫\';찃\p|}xyꩧ>ŋKvC>Ve,Y"W\q<#dذa>O7ޔ͛Incc9Fիn<%d_ꪫYfo)w賳2;GaatQp rJ2L8cǿ;wߓٟϖgbc<tA/O?gulk׮:uL}kեKWyd]v?\ڷo_~\veᄇpBygW_ Mm,0yTw+@@rV`LZ(6hPK0)QJCҷO~. @@J, 8v`_y]ݴIo!(fnTFʏߵ_s~BÆ M"c .]}ݲ5:_+>nܸT-*\Gm yRw_~駟oL͜93չscosg1^NYn7իWs> vhYۭ[2oNi-tlhMjkرl:ט>^|˜J;wnz믿>5gΜTϞ={_yvL$[b%  ЪԸ}?Jj.\r}`;  9'@Œf8 Oɇ~(ViҠAѣWs?'4oܫF.;s꬚GUXKYܹW&YuUҋԷ|瞓}F ij9?}ݥO>h"y' ?ۧK.'HCx%^{ j,[i>^e0/0F14_<^æN:IUa7Cy%I.rzea{]v&M˻ȯkѰ*͘ѣ}W_}!!ݪy_nѲüjTkUsiz载f5=PӧvQ&3fjuUKs0[3fWh_'|t)UiC";VV}&M|͟?LUJ.CK韷V}GE=; dΜ/eEKP2tP:   TS@xLZZh_ tJ%{ӪYJ  o9uqAR6x5ʀMw:(ռYs"I9䐔vS@'aRJ*G]tώ]٭&T,IJ5kӠ!]eJw6/ugmsU.W^yeֶxA kH5XJ_m G}4駝ngL[CvJSUK%WUٱ*nR{N_ât`*(,mVq5o޼xƪދ75\mK*V,zK}YkpnRIoW_t<6Kڝ_AanHqdߵ[7?=~2a@@*z9+^J%*b  @h55/iNKzʓ5m% 77\i߷[x' K֑B:R:S8Fu+μkvsNfnJ__|-sa@ޮuY!Kvvz{ony :,hC[n%⌎ Dzbu'pBئӊZ:,V[oMo~O>3=X֕aT,:u߿V;edd9ǎ\rIy wyg  ?z%L6  *@Wxcԩh8"LM5ڽM y=_i7xC>rI'ˠ*mkN[#)SdkuO?Tw=^ߚ4iyǛda_ /Lo˜k<GRXX蛭 nݻYݰY;5=ߪU+)n,YHWes$[Qi]m6f,<`,3³~S]iuMXq2юY6OV[ut 1k%:nhR5\~#}Y+dOozen3yde]*޶϶_/m7`ɻ4oּvs8ϟmcزV;vo磄˄  ɓAvnn̡@@-.@Aݸi &ci2d8];5^?D~[zc}dAPII'66P<q|,#~r:To]ͪ|׊%c,YXtqzSUc qf>[:m)"ǜ;wNVtttהddRBKYо](?4|hz*t,ԋ'cIF?0Q Z5O=Mw.{htz/J׮T2YqY [ͿK0DaZ֭[z{̵\Kcfĉ}P;ꨟ?}4sJ1|?/B.RoR~{16 ,Hwqf͛y;w{ he^JxwKi8jժeAOKM0!k?[jѣG_|:UBK9l:4WW_ISO +@@ŋoHs"  T,oj^3o_³k*l̠+WZ]ު8_mG{キWXk}%46m7nwgm}y'òsϕnCWxZUv}>_ًWu曨XLu     P'r2j@\@*Y^ݮU6 R_}5V)bI%VBFb xRVc4k̉' % ~w)z>gAJ|*?Bn`)kw-h) .7TG-*To޼EJǭJ1zK>Hjgϻ:}6[ӻhvkXŒZK @@@@Kcq~[6]c,Y>UT5{f;[o]iS -Dt5u]&kFH[Ѯ273_Xc,{Ud}kp$Lxz!8^:C{[fVTbsXڶ̚1FKTbi֬Ydo>攽W6=@1co~}̧^c v֠A},;S ^4R+t3v>4nD+H6m/>ƾ?\z)DƎ+7ͬX4bcwuc*wygmـ    } U^-dҥޥuVٴZ †nݺkWrV>ou9] n^ѮkҊ# JD+䥨+< Zj%m,e[U=$:t{>o]ˋ8 yېF;JvFn4${wDNjV{Ƿ[ E]$_}o!.U5򗿔[o7 ru]'\p[|qd+t,:毸 KmI!{7?fqfZz*1`Ō1vm7ySjب:U5>|#<"sſtgK:mc*zmKXO>:ƒ~^`o7YuZc_jTYՒhVuU|۸Rr裏~Xd|;huV%DW,c,6 k5km|86eMyaiE4_O,u1FU?v=1XL  5#PARH9Rp;!$?&A'4HO"t'@! ך # Wڲ8}t^^ w6]k$  I`6=aZoX0daK3 ltg6^)cIk֬3guUw 7ʪU+V)-ZOnZheMbXK/zb_W*;ydq䵉M~`Ua6s.l_;_."_2^߾Z04foo/qdbpUU7g}XwV]e?~\q^5.N-uY6;*+]عm[Ƭ/$I',Ј' k~W 4KZ4êX:SdԨQ~9sObIlW˃%>iא< מu$֍]˖-C{5d!XZ)kBYn:5^#З-olLpW˕^VN)}phѺγ,˜]i ;ss| #Xʢa@k?XV9A/l=VhKdY (lGFQ7EKv(Nקlh? vtNp~gI#Hnb]@@X`)^>]zn<ۊOϺ8ٳJeeV|4qD^~e?99Vͺ1|*X=Ku&,,YSqK~}_Kn-bS=鬳Z',.zaߋtcc)NwGUK^4^?feK tWKE>[~j*#VjN8ѫ8%E߆3P-g)36^{c,^nnj۲hi// ≮yֻU,uT+X[qV,qgֱX@@pe˻agK, % }Ek|}>M;EOѼ(1Ocϧ3?ãfmY$4Ą  Ky `U=X?^z3ϪU4 fl{ecm*O^nv'7Ovzk޽mq̪,PƱ{1L$s[Cc}mO};ӥs>uYȄ  _|&Ə~Lg?z(d*ib^mGqd͗OEk91ݝ[a|¬p~3|pH.O@@ Xʯ"  y'PRxoÞoAUGGoFSֱl'KH*hoZQe]]ʎƜ =f=;4  @ ,r@@@|X3 )~[te^Y.[xawWr%mɎ@>>>ܒAbk}cv ].}bɷvGh``C @@ _Iq   @ hUGA]bBLQ5kfF7x!R|\&鶰c$a߀l-͑ [ S  @~,s*@@@Xr5ʰr!4R$TzdYՑ$I+l$:xT RZ_<# oO:6}ql&;~XV[CDovieOu??s{U?-g*-TZIYF7(,7uU<=f((ߑ9@@ X!  'PbRzU:)8 kA3M^VlX$ 4Ј[#BUrd *,Bm6[;6h0e,unSsbX8$f-_"Wxs/ kxɆOD&͘C@Y}4\   ̝E >U/DX`o:oZ(h"[uaSGxمُgSf-{SkJQѶX;CUqɼl|Ӗi9L%K)^+TQ?[UN ugit" RN?.@@/?UcL:x(|<ܱ< ~-;Ji+Z"D'3Ld %JѾ1*ix[]!2y2.[,KhWǁ)itv׭g%'d  @. ,Z@@@|(+反",4 !/)L [֮ vD![: Ez5C!lY;`4Yew]<̊kƿL+[/`َ-|k_+J͖V/? "<%{?zmۇv" R=.@@?5o!%oM2 j!UƂ t)x tQ/Bi :KlcaDX梘)j.״d,VY=ɞT]vG@y\    +~LJ~~{ OQSߦv/xhPH~vS<>UX/!Ϗ/ۣcq_I^O!~၇6븕4>g  "@+O@@@T v,}$ hwN)hY,\8YSAh 2I¨8;JgSv,_㆙7Jk 6jˬt'Z3$Q~'"  @.,S@@@<(]0_V_pGXcmG>x/Qd]~a#j1,(\RNUn 9[Zf_KɼYbgIDm< }u m;k+,ǯ0YKomtP: V9lK0:6AV%٤IDOvaɃh9$a'E>ޤ!xʫcs~p@aæh6M_l}FS -gUgiAV@{Ȍ3_)SLg:uʏci*94o\{ǣwt=s3 uX`?|nM%X,m*U g/zJj0W+E~zm:KQ2+'M6J!w!%t[eёWK:>qŶb?z,BO?%,Mgi|GX`L<{yĖ=cY%RnsΑ_^L..G}p Yv#Mܹk6@y󿔎dws0@@ V<-Z<~T)>KA(!W'6 ,,_FGQtBKR?HtdNbEl`bSūxXp!3yWlN B^@`VZ%vظo(Rف@IDATWoѢԯ__leҥҽ{w㏗ fϞ-rQ~g?۸`/@Z)@T++7[NzjܩtAri[ou)~|-.%;wY+._/;찃 >b/aGL_ΗNl#&gyc+{9g_׿JÆ Ǿ8VƏU{8ɑ?;,8VBO꺄;]oO.M4G}Y  PV<6Zʖ~9XP)Nt lS<л_y=a}䴠>~8Rk1ŕGʳ"=H8Vy|^۱CDJ[=ܒMI_ϐpŋ.K/yWv6FR߾}Bx/䦛n!2rH=7,ӦM|xGb s=GnoGӦMe}ʠ-&Nw{ǿV.YW@6Ue^yY6h!/xLV%I6leΒ/gSW^ѐ"S/?0ڗnM~_z5d^ۋ r>O8OA&3.>SڣBNo cƌ:JN;Uz?PN9=PyꩧdOoF:u0lذx:apg Kzd%kl_Ï<,;ﴳXɻ}u3M1DKjۘA@UdZQ:pN='Y`G&o/!R% lmyd Buf t G}9Ј+6KfðP\̣oO~4;)  !w}\r%rg{7ns]>W_->R{1k;@ ,GύoZlC>PU<^f7v7|MqN>`v+ }]w4_fc-{n„We=*ߖvM >h쌧/B+.E+>}+ޜ ۸ i1eNK# uO`( {tJLAъN}uF 0E!m# 2BSqv娉ESqJqw.S&XUtVf)%eJ&',*`{K{2p>o_e8dme˖ }D۶m}%ptCi M$SOGؿZ?6fU}8׿̚ è5\#]t{UQ:3M y]v>٘L6YZvaQz猙8hܹXktKN>3v˚~ ,-ݻwO>Y~]y_Γ:k;   [`٨hcuf$q``8S05+slyh.]gU369:-Zv#T6ecͭ2m[_I AO`LlY+Κx- I 3lYwx6b!{'ɯk2=X POAK/}}]opgz}1JJέ{u$H.-ݦ7xCՔ,@@:'/05X M"ӓXxG?F!F6&uҟ(`DyC=vh,Poe'kn9%_3o:a=w  ?;A25%`yiܸqZi j8. @n ,rLcq֭[9f6~?l8C{λÛ7KB7baMSL0Ozń^5jT<Ȧ.-TpɾKZ_d]yvRULG@{n*'@,”Gy.xSΕDVU\lgQ|듇JsZ(Xc:Ο %sgeOlF,.#PEEE{ToU*6mZ' y+@ L}k_be s y ߲GaQz衇ʳ>]YSwKl5 ɪlP+>u}yϬXz7eРAYmX`@s`I'LRW@%k(aAEc86k)*h+tkaS{=sƿX%2ucrLhRS6 @ ^wurKV'aڻ @*SaUXZed_~l| f\ޝG%~{nzjA0-{q6K!Ci͚b˟ /(\}yҫWq~k;/~aN!XBx'd,]]Wh?.7WXښ1@@,KnGoʓs~8Ygϸ6Y@d&;F̗ms):\ya=tڌ=zٗ|ڂk4XlXU?<͆W=m3 j77x9R?pToVjZxM-p 7ܨM̙3O>votK֓9sxc"wUٳgXL'yȑGĿu]2bĈ՞%67InUofҤI== ̘@@@^w@ Rɔ$@8 x4ذu( !m`Ie>vJ;e+'x_3G{f ί'c@em9)c'ʐ!C|-"g}qO~'/bF0kV~?}Jrݵ׭&sŢEdڴi_~ұcGX__WxWzƄV,M1:<w@@,[+ltwfa$x;_!\ ٌUz#[ڊDTUfN񕢆^l_ς qxr~{~f-XS3w},:@=֦# ϑxA+<KSli-[&SN8 =@D`)Olg[)n,(@&hʔtyyRV>#k9f]vbw}r'Vl.ҿE駟J֭io~%l9Ϧ`)Q4XN>Y+z:)1! uK cb-QҏAXIq`Fqk,J(rw8{-}-bO?K'G12~E[>|ؘ 6]}]O*vnah 'Kyy-7ds!  V`V,i$o~%[4Uq8+},%km(tiWG -<Ѽz\mā-G{U6:]fK[Wx起&Yw)/WwЋbI [nni+)S=vi'[k׮OK6m6PEL~˜bо9MҥK7aUP=w/7+WʱH=WP1ջWoPy]ϟ/+?%s'+?~GŒmL /0oСb1! newH!Dȱn,@³`)3laCC"hka)8ħhpV]cdz7 JpsϝI !,9H]ُ(5*`]{;>Z 2zw6޲}ᇋ>(vw [F`i˸s<>p{- k_]w5Yߕ/: ,Y6S}.VU9]~erŕWww٥ɕ m+ciҤI2D2/~;4 @@v K^fYq0#")W?yzJI*ɌB5 ULzNc_}O-*PSe_"WJ/;þh= 5'XM)`"Xƍ?V$+VUZc9Əg{<@I`)ךS6E]ݟ>[Bh}[_|ti=rI'z[uys+M?u2c Y}O 9C]Sl̨&|WK1lQF-"gϖ"c;]N;z@@Z"daw#d{xŒ)ݺ?Kh7u!ca+l[C,d!~[}qN]*+<ʟY0H_6~jN~`j7,'pBOf]+r{8eCw!2~Ux4DyV\i F68}޽C4hYx͚52}t//c͛okd  uS%$\*Bn/0ӃBVy6e 2DUHd+ &7ovFv18[¿xNTdIO{]G=$@D`)O  @XPӛX8~tCA~ۼ=Va& tΖ3ähۼI\c *猿? MD?ЊslԐ@i/'6n ?=lBC9D~{6u7x`yƓfB]Kyr7   f%BGtK;{(/sM+bjK("+?\lgߺWzOdOt? Pc֥+-{G{jkΜ9>r۶mO )oz,~2uT;v 0Zǥ @,ϳJ@@@XvQcAh>gu! 8މycu'&Wimt9Yn B=[?+)kI+lLNe%"*N:$iڴig***?\,z'raeS\\,wgaըQ_~6P% Kz@@@` 2$GhZOf:ŝ%V,Y5NDvgU*)H/TyC{C{ᢣDHBWyd ݗ&Ο;%sgg?43ɣH{hztg?LԜqܹҺu }]VzuޙguK,/\&L ӦM6mȯ~+c=`@ q   @ ,fee $Br[c,EA[qƮ<[($njᓯW-q7S>Qe 8/7]K)'V_lK 9 ʝw)WPb;@@ tRXUHVݜv*cɚycɎF(LZ5rҦ}V_IG{ί2Ͽxt=_:ݳ'Bf=-@`K XwU9%T' ZhuioRovܾe˖RPPՖ@ XgǕ#  9!XC ;6 Re}]ZoAaِasr_#XxG@rI`)ׂ  nLb7Rn B u0)]; *9Rh(6j !B$-n+%qWx`_x,:RO4K  @n,s*@@@%jȪ^O1K)8pȫl[*[{z }]]l/BIC(Ǝo,[][a M?8kDO6;oƱdusp0QX2C&@@ rpI   @> ,G%K_*@\JS b) h͇}l.dq~B_,HjYT^dc;پ6Y%Kjn!3,͛z$a]_(9Y)$`zY+bܴ'3  #@;ς+A@@R`vAbA'.hPEX*Ӑ0V{cDB+tE9@W=,Dçů!l7=AwݔU'+C1[+ c,hKqxK   sK9H @@@ }f' Σ!)HHZ#RةDXH).ʘ< "2KEAMETpаZjv,XJ%;n;)=vQâpB߅0,_lK")=tS&@@ rpAT_߿ݿ^@@|u% BO4 !豅FEgm:c -½+(u6bIj3=d@HYx*G@Pѧs*"" (ɾ&–Y2=9UoO&!f̜J޺UΩnU{-6>ƘY`(<gzW:'W\UjZ,5pVh@zƖ"ȷK{GpG1\TcqNPS \ý#8#2gYlr6l1BƎJ^AŒjJ2-`_AAIP3袒~sh0Z!^llخ]fXzOHą$䧕HQDfra{o@D fʨ0Tg3GpGpj W,Tuxf!I'q슥Ԏ#8#t%K׿uyU2~x2e{챲jXwyK/0%DAq3s(5M6`@JWAKݷ#&GpG5\Tk5q~ٗsOB9#8#͓YfR[[y95D4lYC /C0aGUT)YRHUBx.*G*)pRSTl%eQ|Ur]~,v.hta W+A}+GpG5\Tk5qj$pGpG{ y衇GgyF?x#GnA81 /)Fq;hVfiHg,%XQ9&q<Ӿ LV.fbfu+$1|iŒ2TFmɷ|24 JYV*i7tmgRߤ.-.b)"9#8#PSb3tj%̬{lpGpG`=X|nwE ^:3?!:5_vtT1GQY@ F'A)D !!dKCJ=,Ȗtm ORT,)O3;Պ wKP,|)|TAg,WRADr Xo,W\q|# ԈK dIWxnVxf cVRAD #)K%}h)Ҋtbe*54 IH%*XHS]1e|.0,C"d E~8cigpGpG&pRMTgX?ܒSU 犥S9#8#8묳ӱg>,㆗rX,Q9S'ٲdqg,1VIJnX6*fDː!okdr"_5ftY\>? 3@3IK<-8#8#Psb3;]6~GpGpExxj}`_"Gu,^XvekevZVl`D)1N3P\˒)NLcz%gYLR`HM[,Yr2xCRn~:{QAj=[hmEخVJQJ4. K kZBP֦|+</#8#X 8ABD 8QuGpG` .K.տB455yH l2Ea6,qK,| N\4I8=("EWQ&Ktc]~8qlxB*yX^?kKwW, pW{qG$8#8v7|s9zѴiӄT ͙3G^yGM4I~ߩQuaɝw)CꪫCzݕ[+zƒ G\ J"Z?~,:&XLN;~1/9XXJR~`HRu8n.Aѓ+J.|L% 3H|/Λi%Ïi;V,HC9W+i"y%B%b*pU\!!aJH^ qi, ǿW}hyom3\D:(k|[#<~qTg@CKF< OiTuGp -nF Or)ĉ%vxT,z/+>X.rx¹Rg+}_ż,uXn(lX +qwnq-iQA,qL~T;>g,~J 4N1v!{[o hs MŗFU`sKu\KSW~O*F:BS񥩫FoiQU8RW@Ö;*U@}r@Y/נ@&W6)O~wGpG`0#+|#Qmݶ Deӵ^w$WѭVe~i]MPZgm&UYb6 KΨ$H~(#W.D ƦxƒUR,ƒI [!k*VO1zg(+22|C=V`_G")FY+we Ygu Uՙ&!.~3M!=tJNS>0 7wķG'p҆^A@X2\4pGp/7eru^{,.6\kk|k_s=Wǻ+CIQw´^xj*Tb#XMq**Jyy衇'xQ){wUb).`TE%WOqZeBR&1ZRtiOtVxIDу6J! i%3S%m Iԉv';|IpGpj_ !F>Xu%T:o+wh#8#̞=[>O}'~\]uD%Z(g?vI~_}pٲejmxvӔ)S*/ȷ-6lXwXyʣ %Z'hE\;X6ەAi,.$t: ù SxT L:/9c+Ko5 e>c'btE/`"waLZʑh VLSg,(;#8@ 1[1WVxS?W,&eЃbw#8#A @Eїeiii;O>u Gvajq4v.i lkkoY/MT$n}Yy{ޣʪI&u_6qT Ӻ$AϿuk$2xHW35jSU]B3),]fP`/ T,5x9V񬯗LcdbCl%-'`epx6)@6U$K&qnd`': 0L4-eG R(啫$êhSkN)&Ppƒ|Ը[<8#8@M!)9sRMUQeK3vzN8ۍd]#8#85@ ᧝vZ!R;ZthysҥKyR(x~׿uy嬳R'*`e(W\qPifׅm̘1C-v/ a@ID$&|;NQ~iU4hTr!bZcg-k‹QBYLa-#3 }Ҋ U၇`VU:i%.C:k]JPs'dm</A--{K:^|IJKjvKgm%7fc#xPy)Xڟ{^JW0=*֡z;)HJF?\L=T,fq\x=b1KpGpj ]%_}tX/@@D,Ly(pGp.IL:U?˸qVg+!R0ۿʓĀ"9x W">|C &^{jļyrYO1}ܩP6(:.bXx,W^uqn[!P*alDRm@R~,x5QyLTvQ F< 6\g(Yd\v"-AdԬ {M2yFLG;1Ǟ%ʫw, 3KZ@?"] O2p?t༮5Q~cLi3O>A((ʫ}W)+.pPd\),M7u3= yOY~SxdO<(HL'u ?)xVx+ßGpBcg op=_[X T#G$ 19sS>8#8@"-ި zd}/gW:c[os?e07\-:c4;#8Bn矗2 MMMN>&/~!'4X_oW\J³’I/=J[V(eƴJx k*㢵MncIcڨYE$NRK0**&Vx4ԀѪ~P*A vP<rYԙf8ė;J`~y$SӺ &E ӳxu;l'[)"Kg.?C^VQ7&- $P&ZaNbmESH+P.3ҌEP|IK&EUyUdL'T gm\ + \?Cʪ3L3^%XFǟGpB6GKŒZw#8# fN/{キ*{rQG"Գ,YGT:~;vJ%+g?Yew?_MVEGKO~r 7}٪x"쇇SN9E hS M&@-'?r:XJPVH\[K$Bǯ|`nTiaɐr@KNvT,-#MAr[N0"*-}Kڹ- WZ0l3Hg=/JHPBiUΠPZȑR%3M̸\˯*,\{~Zl=).Tʟn#}ESG;E$l,ρoQC3OwMa&u@k'@nRx,2ެ(;⍰G 󸍟fD O>QGpGFبΈ gW, zR :wqb:#8H+x-]t/-ZH=\r tuO}J.Bӟ$'xtm.b:]z~W-hu`Go[V[tM2[+*eVq& Q*X;zh3g̪59;c)* '@Qq\K{T 2GkK1Ҡ^Vx1P}Fb\X`5j"]eVe%^ 7ޔODnL$?)Utc, d(*XtT|O}Ӱ5HjǶ{eRu[x@IDATu8[)XXҵ/zCe"b,H-^Bsl-u8OI{2X =#Y(Le+G33/ܒrk`@oa̤<1$aB&?^Gp8#.tv>슥Y^A@;AR^LGpGX#+qf 6u&MR|UVR׿ZQQDe}9嬳Β .@8[m8z+;O?/2CN:IdM^{i-X@wkdCԚG57MUĭ-͗CPBPGPɀms~ zb\ #$g bX)ڌ*ޯO-Jo5#Ĝ`50 y]RJ~Kh/Xa<ӚG|3rL&#IxuX6̓b$`ITd$DGפ롪#~ 4u{hلm?ngy뒥7fovWa[!y Z&O\Y8i#2CL.´Bu:K戍mMtvb#8#P%ɚ|}2d@{\4 7p@a/#8#tNdOSH63f̐|PM8 Xibirab駟֭;DbX\qr9>*MLBnҥ* *:[}+_QB).t޼y//2k,*"?6ͽB\˥@Y rGUpBAj꠰肓x}:D;&Wöb ɇ#'*C&VyjiӒ~{Rrt̝V=elH64XHipW]9M(D2H9b;lǭ # ^_&<_UՅ/ik ʜX.,9Vc\26Ы9rsugb Ԛ䊥GpFꫯ6 Q7x ~4G3H G1>8.pRD¬[/}8#8O.~쵶,_kW,z y rćn&bk(GpGp =\yjĭhu3eUtArˍ7(*-f=oJ n_,]v='?;[~y5-g}!ep3 J<KiD%~˷(=(DzZui2)B Muf17a\RKTuj2^zcT|q}%S~?l& @dDŒ>r{X efD}ѸLυ*>nK(VKP,u@|)1ssh{r5tr(d! @V J%L<KEED4OI?Uݕ򯊥VxFCfa+ ?*4o&aL=*X)8K:\[b EƒY2x?AlmR g0u*fxX2WhK? R[Vt+PU| $i,-u 罌0m1ݷKc~GpGR0+~T%?}!1.y|[+)4⊥Q^@6-:V\4X[pGpxCgmAtǑ_o}l;w 7ބ5. `a8O>:mG͗&6 ӅzTrFǮ$7$(Z$!TY-!vqdi3#FJ}{XT*IŗUSYUy/ [1Q~{R& 2GHVQDk$',^)_7yme<#*[TkHۦyJ˯оb [b3EvDԿ^bicUQX^iqnJ*S2so;riaYcWGpG7N8VK\7^SZt|+F=z))h~K!xGpG;C9hYtb+Z^ORwɿxMD$<˱TոP KIư7% qLxhgTci^dHǔ(xR 8cIZ+_,%DMNZt![Qdm(`X*>)kU&s-@󍳽wYL FB4O> 'o"⧽ L F -c⣰, ']#ah%o*R {%ud+b+t̄չ]7~_A@ %ˊչڍpK_Gp~E!ɜ=C!RHw9sqwW, J" ^t/ ^<䎀#8#8\/ˏ~#WV9qOlvyg馛dҤIAu` C۶[·\X@1*<㧨RGǬ$LБC񱄈\HW3T՗2kwb T,Vx0ᆱd7azi\g1c-oU{/)7+o VHQyfؼn$v1~Q:^|i秽[adv(rVt`)(1H?.XX~RfG Ҟj%lW|I{RUZ,3@g,:ԥk=@%9C"nk:ɷ38#/P%a):P|va Z,qR%!Cx8c%(1fT,̢?*%K#%?]wFGR)3)Z$XG^ۡGWV T~rHR|1)'t3[l&wVW]VTxkB$uP,ŭyŒb VPTu8c)Qls`vAy VZ,5!h@zSV[v#8#Tk?!{uJkgv\yuG@'h)\ý#8# 2fΚ%ݷSP8#Z:e X ] /q V3g𳕺Fju]}~ٗ 3t8#8#0X(2[:I߃Ƃ\zV[mp`+0`x vEMޙ_7i$#\b*P^cg̃\MJ.;<n`Ϸ $*&oˈO# "HmSW.pSw@T7_,h}ʟ9RC~ʫVBT~=c)X:S.g\{{Iٗ[E**VYLX [i=/̡WJxg / 7GpGfZ;CO8xʫj&CK=sr=85_yF\#8#8@#tR9co|v$a9%\"}SXTH(T,y9b U\ 3fIDhDFܤK%1F!5ǖxM6LChR6ˤNxhD]˯H / ?3jMJ2#FwIKR^B^VvR,j:emooA)\qK1ŵn睐G(JHoG@HDoM>;%%no,wv84xC6jz%mAP61;lOr%C߯#8@m `g-M!7/=clY^s?ĶÓ'O{.zW,([-8Tmn\#8#8@_!SO!8O饗^ps9Wl.7_vA&VrhVx6Z< \%NLeUnH`I+SRrPlLyJ>eSAfVa<'*7d*w2P[|He$e WʫZ{$?7/%["ѱn\q#8#P;ji8WAˏ?xꪫi S^'t3wp8#8F__/O.+WL4#op {Ǥ^÷K$ UqlTW8ո$hX1<_SRsq8׈ĥx?,3X2QBe`4UF7GpGX f4VK5Vuk 80\40K1HHoǮnw#8#8|E~ku{x2[k|h'zkVxfRضpxp˹U({;eu$MP*)-ijHP|I)(y mXbhY%%T韭'GpG 5\J!Kp,#w\ &wW, ܺ ܒG>W, Z":#8`D msQGw]5#'t\tEχaD^L]` (~eBTXb*6C-;eb|MO1}>,d0 i^&JjE~`Ue%3z#գy}Y S b@!Q1zƖN b)7GpGPZjX-sܚy2y8(K2(NKi48#8@GO 3wNUpJӧO `DZAD+h, ;"ApG\bpr( j,&eR-´؃/*bt?˯sɌew-fY|DJ˖i*ଦS %V$ ޯ#8@!O~P㪐EZ3JW_=#W,4CL)7'b'}8#8#{\qrꩧJkkkJHF&L~#ӦMK72s?2%AÖSYA1ՊYcyƺF\]G>W|4-,K V' ;p?XBPZ~ֿo%k~uGpjYKZZ+̀dV:8#8@/!P, _?U 1~+73fL/I>Xp20i?U?R,%RCH@]hP J,ȜA!4Qd+rk(t$?f$e$P(u RVxzX2%4WՆb۝#8#P r-R⸋έ pu`e/E {I;GpGp  a&R~iy'\˥8cICLik~K7 2*]T*t˄ ]RwUD V t|չ|Ẁ\-I AdZ[w#8@"0{laCr̚5K&MTX9,#pvnF#8#lxPt8J \2,:4.L9昚,f&^JSQԏJSElhi3+&GpGpz6̧?#W^uj8կ~%G^-X>@MRe3@a7h *Z.*ȓ:%QtGڂ<!>H|$Mb$uXWeX,b)6S;#8m&tP-gbuv@_"-L+{8#8@O 0g=Ou/}_Ii bDtE.fKjg dO?GpGpj W,Xxv K6dU_~v:#8#9w}uQhѢ45 Z9Txm{bjۈάx(K)I!TqgHuId{LRk&n G:bʃi>(aPOZcN+~R9#8#PCb*ótb)L]]pGpAϗ/| ёdCm'rLRQ$5iVx!FyY5QQ"u[8cI&>Ϸct8#8@!ګϑ#{I{|8#8#8@_!rJ>}\_W,nJ?J#FbkF'fDK:nh*x(imDO{Hb^ՔO #G0 <;X2{pE)YKTc 7d?cmם#8#8+jF[ cSA3_7lYT䰝D}]^uҘKci7FCFCF˸[VmGo#C#@~#*qp0Q#.&-c+R^5_JoJGa-"+E[Szɰ%<8l ~:NC;?Fi@˶Q@F΁9hk+nˆ$_ˁJh&'e=ܼNIq0 L~46ܰq6QrM$Cw`B*?'E/Ii\)5!ڌg*j240b_ÜP ˚_T3]T? ;FC6\X$Ǿ`PW/(S߈~jdЍ$;r3n4^rc5mOe˖;Ȩ/ytApD/=h:.1?.n8o@mhBrPʄ' c1&Ҹ!%6N[R£~ߗO;K^Xr46wGpz ܂fyd,j.Ȓ孲|U,okB;JRhzְ ϡޚ؊؎ p\8q`h8 Oc!g8;!抍 ɈuqS(6&ێmƍԈrāf?=,-|JW޸h@fOlAT&% J[LkEY\"G| \:? ʥ6E;~qSlscX,~9tj_y)q/~DJ˟2_|Į4)zGifFcD"`J$.grԍC7K@ڝ#0X0CgC_|@2FI' O]bUgK@Uİ߳"A1w:J?=1ɨ|SWry/5?#_j&6qf{wnI&MTx%K)d:K$0ćln=G4[$R2c|G./{)\?4'ѩpGpec"7充oْ8źm+OaXS5Wh;%L׽u]zJ@i.);uFV_+MDˣ?xndnWZA2u#Ƕ;Haisp *-`!_8h~^ >-?Ij70F#+Q oѹl"0hIuQ{\doyԏ ;G`F^wHCKk3#ѾI;tMzrЂs ݑ?'!H'L =*z+.=faђ@X;]""r-!pG/~ 6lX;3b'>#ݳT$p\K{TzZxWPxmx3xCH0,t}a.QpJβp%pGXoZr^WN|ɆZ;%h8+u^Lrp!tXdGx+!j.(E1q&9zwSZ2bk$*zZYں J- س!.,*=&IHZ6H?MJHHoD.ߠQ(zQ2]CLam&`銥5ͥ=ϥ5ŗ_s°OY:, J7!F3~ 73;x7z ܐ-qR~9wJ]?e1nB?m"-QZ).#)_S<鳪?&߫gGϐB瞓2ks- c.0}{/rγ|-h~.`p>!?bmw)6APb> W_0~ma3AH._G΃b)Z+*wH#GpG=+J9y=~86Rxea8Qe_Ec \~9_wG@7^bi~}gkKԥ mAb@!#ah%\AG#}TToL (?0NF\>3Kb$gLۯ=-W8'ϕP7dHǒ'B`K/K-I~(?z Jf?'NMR~g]bԷ6MU4l:@uYu7Gw_ =y< T_<uI";-bF\2 [ :&v!tǿ$EU, wMPˏXw0J~pn&CcڽK~rC?VhFTFfĄAX# QYllzqcQNimg%L ha5{T\ UE%إE\녺?4}& a-\>n e=xksȪ?|[ʫ>' pџ+vEjq` q,L$OVO7=[ᮿo}~ }<ڪ׫r[b ^dSK%/ڢ8bwc7%7Sl,`K"V*Gz1_q䭝;Y=E ~i$u8#8̓(t\cS I__qUj/BXj:>(7!%p Tg,4|;ziaK>Q,]u˧nHڤ58F6m4-Gc*K^gy|GGsyr.DŽZ;A@'š&G CO+7J'^w-X0*&/ݸ%g)!(gz8\~-/2dS%?0:5@ɪF fO!7 c'*QHlStIG_fa:ş)8Zc^-[&G}~`yd`t\r%ؘ 4+/ioOwGnE;lmsy Fbhb^E J!=^J,bi5źPWel9?_%}#8#V.r靳U'8^v)QX`}LfǠKL| ~S,]vz능gH&4{ c[#ӑ}lyJ* 6(0c #BB˵m.jo'\i犥4ξL^e%a3aw}!G9oҴC8_A j4:TZTd#{Vߟ7L0'^ӥყR>B੧qyM"~Bl ur9gG9?1W],bٗO/8bFJl<şLqqLJ p0J ?k"\\~(,K|qOj ?3!o#8#6{[55qcN_{؉QkZW:#ʉ4ğ*p3%\(>uTnm7-0~ )M'J#j2oyrwdX/]xE+Z@Xqұt~6a=۪}!cة6*~͛I|U@0IU:!Ww./k/i?fom޲#6pqZ~qGpxrCު|Q@eTeyijӏYa̦ϼDYX+ =n㬰\ɚmƑ s \loVBZ-Y@uu!\ٽeMZ}W,|O%/,Aa V4%E##d:զ"͒'_ F80_Dyr B4ԑiwB _Lش.ѓ'cTVV_ rm]XؙҾ 4OT팙~t#Wk#?N6Y"-b}WVV3KԚ&I'_~͟O!磊s];ǟVLf4ESZP7zWmAs)+vT;"xk3eѐ}ƉsT rbJ9"Z%ZOi6H?]u[MaL/=#<"z̛_Ccc\x2}രXu믥TZ+j~Ӊ8cO6lOUыvIUC]iؿCLQ0/jX`[˅U5eHٹ9ǿKl*C>*ԔGpG ]t<3gMalT[qMi䰼Lx4:sEds:]"';dICE$l4tT1NbA3)S5qxRi,/X,>ILĐ KV-- 1K[;]u҇ZpϺ!Fڥ'pw@{d3g#RU87%(tb?:RB,qgW3&+hKfgUj7qO i">cؠ`j)V $Cv:[773U=Zv֏hGϩ&;jd6EA~?gg0ZbC0"B10׍HSD%Ȇ./,yP ꟵAX]COqX9-@IDAT!ήW\qz8Jg 巿L6-:+oI:]±`,6 !Xm5?ʏ<;8DdgXG=3$I7ſY/VcdA_GpG+ߺ)0p֟8A dejLnt6 5*YGQ]x/UVE)TBA//ȜBcndkwCuN/=Xj9iYMO6Kӣc+اq&9J16`2$b-C0 *#ׇ0G4ҸJt r_Y\!//g2Ecۙ%h(?ƺƤ9#i ſO(^ p lڭ;Qu8_[-78_0`gNE:N(6"[.0\Ҷ*g_Juw C7ÖxWq;G/(HnMEnS 1JvȈ!i>HoGbXk1 . >-=U++]1'wSHgK2xe ΍AcR q ~M,d=.s\-جg+7pl)صg)Ξi48c/h3 KT&dLH胋t ʳ3]O. bmEpi;/efFiI?R.4{spGpR®+=f3U4/V^ᤱM2 vopk!$hz?ҠQU2L``C/o_[.^+ :RɈnN]*~mr×<5֢mǚ =Qpe m:vœ \I ɲ:4ii>%ǞB\8 ]~oʥ:>c:[i}ߴOG?H/놀nr§$=kFY5h/Ύ=N~;ucDz3K-j7à@G|d1 ,}I%vģձh6g93#ߔ#n"pB9הhϐ;Dy#K ۪3#ه XFmIajo;2W@}oKF6ڿA>ws?J-KkbDM` ˻abGpG ^ .}*ph#pRA/#)0A *6˘bn+)c%iRHe .?]>:|/_.Ͽ!VMC]~rȎrS,1i2Ȑ5@OZs[Mrx8JXHW44l.4ÅrzqKc !.O;R|K/YT5c[x& ?hR;hmݺ!OI{ I+۱y-awu*o[Bf:)qJ_RLH:#w Ukg/iZ"&%;]K_Zmx9+=ZiZyq-#?g}-S d$1q'C/}őE5R1aX Xz2˂7c 1 6AK3|^LCȥ^*s:YHU|:D2!RsNI4: Sn/Ї$}S'0 pLdXFĸ;*#K7^RqUk75P|HI;#8i=lW8ֱ!5q~0m<_Jǡ IpMɀK |)p1~w`/⽼hEhzp8 UzzarU:]{L̢;l h.Go#-Z6:&((Gʅ+ɟDA[wl*7Ш).Wy٫Ҍjt}#t( ԪC~|dMwT:=K `>頦h~N?|Jx3:?@l Gn}/`OB_R!g2%(sA{fq%UϤ3K4N,6M{’pUDP?Ze$7bPc~sz3dY(?5&'$ٱۡ5v )B߿~wftlX'A5A>iax}?2oUOx'^#ͧjK`tq_B(7|.I{>ho'A&QTΣ5mlgaߔwK0w}da,OVft<Џ.M7~wGp K{0̿ʙ9KoQMyvӦd5fOzYql_.< Κqf?M<'$\~z{rY;DYW)ݷTxzLtcWʍ3na43fʱ!B9~% [E0 K i !vE+~Q[eNa 7'I\~^?gՌfBa=bCݎ"ΙN=e~Y#/B^H:)ك4,WT\n"44XCC /a Xзeї!4_n8 KGtvb;ÿ^me=+,ۜ [^Co?__6Imhͧb}^q%ƈ N^M>Ez' Lٺ| Hrat,Veg&}>J>rZ[[SN+Rj9뮓ѣ$l-7ܨvY~&~U-{I H [BPVYeTQQy#q TQtc@D0sXF!c @Ȟt'}wvg%_C_[˩:usܪێ7` mD>·  ړыҩ@F K>?-d*Ur[aU'؂o